@flamingo-stack/openframe-frontend-core 0.0.736 → 0.0.738
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.
- package/dist/build/export-map.json +1 -1
- package/dist/{chunk-AZL332TK.cjs → chunk-2QMBXGMQ.cjs} +15 -2
- package/dist/{chunk-7V2KP2TB.cjs → chunk-2SBHPHLS.cjs} +4 -4
- package/dist/{chunk-LIH5OQLY.cjs → chunk-2UZS3ZH7.cjs} +8 -8
- package/dist/{chunk-MGW5DO6P.cjs → chunk-3BBOAMWJ.cjs} +7 -7
- package/dist/{chunk-HZJRERJW.cjs → chunk-3RFQPQ7Z.cjs} +3 -3
- package/dist/{chunk-T27CVQBO.cjs → chunk-4T6ETBL4.cjs} +151 -83
- package/dist/{chunk-JM54CNZZ.cjs → chunk-4YQNJJWM.cjs} +95 -95
- package/dist/{chunk-UBQSOB3X.cjs → chunk-5BKAUXLR.cjs} +4 -4
- package/dist/{chunk-YADG5Q7C.cjs → chunk-63N4FN5V.cjs} +3 -3
- package/dist/{chunk-URX2YTCL.cjs → chunk-66R4NGGU.cjs} +77 -71
- package/dist/{chunk-EJOXXJJB.cjs → chunk-7F3V45AH.cjs} +29 -29
- package/dist/{chunk-BDF3FNOC.cjs → chunk-7GETNFZ5.cjs} +49 -49
- package/dist/{chunk-L4ZNR5V7.cjs → chunk-7LTG6CJ3.cjs} +67 -67
- package/dist/{chunk-MJGX357L.cjs → chunk-B27QEHYR.cjs} +2 -2
- package/dist/{chunk-OV6BGMEL.cjs → chunk-BRKTN6UR.cjs} +340 -328
- package/dist/{chunk-VRNNIV5Y.cjs → chunk-EG545WGV.cjs} +4 -4
- package/dist/{chunk-ZJNYWNCB.cjs → chunk-FG7HTGT3.cjs} +24 -24
- package/dist/{chunk-77SD7RXY.cjs → chunk-GAF4L3JW.cjs} +7 -7
- package/dist/{chunk-FTGVG6FW.cjs → chunk-GQZOUVXC.cjs} +34 -34
- package/dist/{chunk-ZEX5WU35.cjs → chunk-HNYLTEIS.cjs} +48 -69
- package/dist/{chunk-FCGLSWKR.cjs → chunk-IFS4AH77.cjs} +19 -1
- package/dist/{chunk-L535OD7V.cjs → chunk-JZNESLJX.cjs} +2 -2
- package/dist/{chunk-SZFA2LQR.cjs → chunk-KQ4IKALJ.cjs} +35 -35
- package/dist/{chunk-EX2GYIGW.cjs → chunk-LY5VOKV7.cjs} +6 -6
- package/dist/{chunk-XLSVQJBA.cjs → chunk-MLKL2YVE.cjs} +44 -44
- package/dist/{chunk-BL5GOCHP.cjs → chunk-MTNNYSP3.cjs} +26 -18
- package/dist/{chunk-ZRYKDN2J.cjs → chunk-N2CISBJJ.cjs} +15 -15
- package/dist/chunk-N5NDPULP.cjs +57 -0
- package/dist/{chunk-P6Z3EBPJ.cjs → chunk-R36NZTUJ.cjs} +26 -26
- package/dist/{chunk-OJUMVOMP.cjs → chunk-U5BRSRXA.cjs} +923 -759
- package/dist/{chunk-DUXLZPMJ.cjs → chunk-UMO55S55.cjs} +2 -2
- package/dist/{chunk-JGGSRCRD.cjs → chunk-XGHZIYQN.cjs} +24 -24
- package/dist/{chunk-NONQUGRP.cjs → chunk-XMNLPQ75.cjs} +12 -12
- package/dist/{cloud-tenants-M55HMW6F.cjs → cloud-tenants-FTQGWXHS.cjs} +16 -16
- package/dist/components/agent-identity.d.ts +8 -1
- package/dist/components/agent-identity.d.ts.map +1 -1
- package/dist/components/agent-identity.js +6 -1
- package/dist/components/calendar.cjs +4 -4
- package/dist/components/case-studies/index.cjs +28 -28
- package/dist/components/chat/chat-turn.d.ts +23 -0
- package/dist/components/chat/chat-turn.d.ts.map +1 -0
- package/dist/components/chat/chat-turn.js +30 -0
- package/dist/components/chat/entity-cards/index.d.ts +1 -0
- package/dist/components/chat/entity-cards/index.d.ts.map +1 -1
- package/dist/components/chat/entity-cards/index.js +2 -0
- package/dist/components/chat/hooks/use-ask-prompts.d.ts +1 -1
- package/dist/components/chat/hooks/use-ask-prompts.js +1 -1
- package/dist/components/chat/index.cjs +16 -12
- package/dist/components/chat/index.d.ts +1 -0
- package/dist/components/chat/index.d.ts.map +1 -1
- package/dist/components/chat/index.js +1 -0
- package/dist/components/chat/mingo-info-card.d.ts +17 -1
- package/dist/components/chat/mingo-info-card.d.ts.map +1 -1
- package/dist/components/chat/mingo-info-card.js +15 -3
- package/dist/components/contact/index.cjs +17 -17
- package/dist/components/docs/index.cjs +20 -20
- package/dist/components/embeds/index.cjs +17 -17
- package/dist/components/faq/faq-ask-card.d.ts +5 -4
- package/dist/components/faq/faq-ask-card.d.ts.map +1 -1
- package/dist/components/faq/faq-document-page.d.ts +3 -1
- package/dist/components/faq/faq-document-page.d.ts.map +1 -1
- package/dist/components/faq/faq-document-page.js +2 -0
- package/dist/components/faq/faq-section.d.ts +37 -5
- package/dist/components/faq/faq-section.d.ts.map +1 -1
- package/dist/components/faq/faq-section.js +36 -9
- package/dist/components/faq/index.cjs +23 -17
- package/dist/components/faq/index.d.ts +1 -1
- package/dist/components/faq/index.d.ts.map +1 -1
- package/dist/components/faq/index.js +4 -2
- package/dist/components/features/auth/auth-benefits-panel.d.ts +3 -5
- package/dist/components/features/auth/auth-benefits-panel.d.ts.map +1 -1
- package/dist/components/features/auth/auth-benefits-panel.js +3 -19
- package/dist/components/features/conversation-card.d.ts +12 -4
- package/dist/components/features/conversation-card.d.ts.map +1 -1
- package/dist/components/features/conversation-card.js +30 -38
- package/dist/components/features/index.cjs +16 -16
- package/dist/components/help-center-pages/delivery-page.d.ts +8 -1
- package/dist/components/help-center-pages/delivery-page.d.ts.map +1 -1
- package/dist/components/help-center-pages/delivery-page.js +16 -4
- package/dist/components/help-center-pages/download-apps-page.d.ts +8 -1
- package/dist/components/help-center-pages/download-apps-page.d.ts.map +1 -1
- package/dist/components/help-center-pages/download-apps-page.js +11 -6
- package/dist/components/help-center-pages/index.cjs +216 -161
- package/dist/components/help-center-pages/onboarding-guides-catalog-page.d.ts +8 -1
- package/dist/components/help-center-pages/onboarding-guides-catalog-page.d.ts.map +1 -1
- package/dist/components/help-center-pages/onboarding-guides-catalog-page.js +26 -14
- package/dist/components/help-center-pages/product-releases-list-page.d.ts +8 -1
- package/dist/components/help-center-pages/product-releases-list-page.d.ts.map +1 -1
- package/dist/components/help-center-pages/product-releases-list-page.js +24 -12
- package/dist/components/help-center-pages/roadmap-page.d.ts +8 -1
- package/dist/components/help-center-pages/roadmap-page.d.ts.map +1 -1
- package/dist/components/help-center-pages/roadmap-page.js +25 -13
- package/dist/components/index.cjs +103 -79
- package/dist/components/meeting-scheduler/index.cjs +49 -49
- package/dist/components/navigation/index.cjs +19 -19
- package/dist/components/onboarding-guides/index.cjs +19 -19
- package/dist/components/platform/ToolBadge.d.ts.map +1 -1
- package/dist/components/platform/ToolBadge.js +4 -3
- package/dist/components/product-demo/index.cjs +8 -8
- package/dist/components/related-content/index.cjs +8 -8
- package/dist/components/shared/dev-section/dev-section-page.d.ts +8 -1
- package/dist/components/shared/dev-section/dev-section-page.d.ts.map +1 -1
- package/dist/components/shared/dev-section/dev-section-page.js +8 -3
- package/dist/components/shared/legal-document/legal-document-page.d.ts +8 -1
- package/dist/components/shared/legal-document/legal-document-page.d.ts.map +1 -1
- package/dist/components/shared/legal-document/legal-document-page.js +4 -1
- package/dist/components/tickets/index.cjs +22 -21
- package/dist/components/ui/app-window-frame.d.ts +7 -1
- package/dist/components/ui/app-window-frame.d.ts.map +1 -1
- package/dist/components/ui/app-window-frame.js +10 -2
- package/dist/components/ui/benefit-list.d.ts +42 -0
- package/dist/components/ui/benefit-list.d.ts.map +1 -0
- package/dist/components/ui/benefit-list.js +62 -0
- package/dist/components/ui/button/button.d.ts +1 -0
- package/dist/components/ui/button/button.d.ts.map +1 -1
- package/dist/components/ui/button/button.js +15 -2
- package/dist/components/ui/dropdown-button.d.ts +20 -2
- package/dist/components/ui/dropdown-button.d.ts.map +1 -1
- package/dist/components/ui/dropdown-button.js +57 -1
- package/dist/components/ui/file-manager/index.cjs +11 -11
- package/dist/components/ui/index.cjs +32 -16
- package/dist/components/ui/index.d.ts +3 -0
- package/dist/components/ui/index.d.ts.map +1 -1
- package/dist/components/ui/index.js +3 -0
- package/dist/components/ui/leader-row.d.ts +17 -0
- package/dist/components/ui/leader-row.d.ts.map +1 -0
- package/dist/components/ui/leader-row.js +14 -0
- package/dist/components/ui/strip-card.d.ts +23 -0
- package/dist/components/ui/strip-card.d.ts.map +1 -0
- package/dist/components/ui/strip-card.js +56 -0
- package/dist/contexts/assistant-runtime-context.d.ts +5 -5
- package/dist/{devices-WWJZFG6E.cjs → devices-MPI5HUQS.cjs} +17 -17
- package/dist/{embeddable-chat-76IJ6TQZ.cjs → embeddable-chat-7WLUDBGK.cjs} +84 -84
- package/dist/index.cjs +46 -20
- package/dist/{knowledge-F4YFQT3G.cjs → knowledge-BS663XXL.cjs} +17 -17
- package/dist/{logs-GAYEGEZM.cjs → logs-KS2A2VN5.cjs} +25 -25
- package/dist/{policies-ZOVJCJWX.cjs → policies-H3OK6H4Q.cjs} +20 -20
- package/dist/{remote-session-Z4YZFG5E.cjs → remote-session-EHKXU4HI.cjs} +7 -7
- package/dist/{software-update-H4YE5GMJ.cjs → software-update-HMMMWIL3.cjs} +20 -20
- package/dist/{tickets-board-JOSYLOS7.cjs → tickets-board-3YJKOOZE.cjs} +10 -10
- package/dist/types/faq.d.ts +17 -0
- package/dist/types/faq.d.ts.map +1 -1
- package/dist/types/faq.js +4 -0
- package/dist/types/index.cjs +4 -0
- package/dist/utils/demo-clock.d.ts +22 -0
- package/dist/utils/demo-clock.d.ts.map +1 -0
- package/dist/utils/demo-clock.js +40 -0
- package/dist/utils/identity-tint.d.ts +13 -0
- package/dist/utils/identity-tint.d.ts.map +1 -0
- package/dist/utils/identity-tint.js +14 -0
- package/dist/utils/index.cjs +54 -0
- package/dist/utils/index.d.ts +2 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +2 -0
- package/dist/{video-file-player-6NWGXZ3W.cjs → video-file-player-ZH2ILAPO.cjs} +12 -12
- package/package.json +1 -1
- package/src/components/agent-identity.tsx +12 -1
- package/src/components/chat/chat-turn.tsx +52 -0
- package/src/components/chat/entity-cards/index.ts +1 -0
- package/src/components/chat/hooks/use-ask-prompts.ts +2 -2
- package/src/components/chat/index.ts +1 -0
- package/src/components/chat/mingo-info-card.tsx +39 -4
- package/src/components/faq/faq-ask-card.tsx +5 -4
- package/src/components/faq/faq-document-page.tsx +4 -0
- package/src/components/faq/faq-section.tsx +86 -14
- package/src/components/faq/index.ts +1 -1
- package/src/components/features/auth/auth-benefits-panel.tsx +5 -32
- package/src/components/features/conversation-card.tsx +48 -46
- package/src/components/help-center-pages/delivery-page.tsx +16 -1
- package/src/components/help-center-pages/download-apps-page.tsx +9 -0
- package/src/components/help-center-pages/onboarding-guides-catalog-page.tsx +16 -1
- package/src/components/help-center-pages/product-releases-list-page.tsx +16 -1
- package/src/components/help-center-pages/roadmap-page.tsx +16 -1
- package/src/components/platform/ToolBadge.tsx +4 -3
- package/src/components/shared/dev-section/dev-section-page.tsx +9 -0
- package/src/components/shared/legal-document/legal-document-page.tsx +9 -0
- package/src/components/ui/app-window-frame.tsx +18 -2
- package/src/components/ui/benefit-list.tsx +97 -0
- package/src/components/ui/button/button.tsx +14 -1
- package/src/components/ui/dropdown-button.tsx +73 -1
- package/src/components/ui/index.ts +3 -0
- package/src/components/ui/leader-row.tsx +28 -0
- package/src/components/ui/strip-card.tsx +68 -0
- package/src/contexts/assistant-runtime-context.tsx +5 -5
- package/src/types/faq.ts +18 -0
- package/src/utils/demo-clock.ts +62 -0
- package/src/utils/identity-tint.ts +23 -0
- package/src/utils/index.ts +2 -0
|
@@ -4,7 +4,7 @@ require('../../chunk-7SEARXQW.cjs');
|
|
|
4
4
|
|
|
5
5
|
|
|
6
6
|
|
|
7
|
-
var
|
|
7
|
+
var _chunk2UZS3ZH7cjs = require('../../chunk-2UZS3ZH7.cjs');
|
|
8
8
|
|
|
9
9
|
|
|
10
10
|
|
|
@@ -25,10 +25,10 @@ var _chunkLIH5OQLYcjs = require('../../chunk-LIH5OQLY.cjs');
|
|
|
25
25
|
|
|
26
26
|
|
|
27
27
|
|
|
28
|
-
var
|
|
29
|
-
require('../../chunk-
|
|
28
|
+
var _chunkU5BRSRXAcjs = require('../../chunk-U5BRSRXA.cjs');
|
|
29
|
+
require('../../chunk-FG7HTGT3.cjs');
|
|
30
30
|
require('../../chunk-3HPB4H4C.cjs');
|
|
31
|
-
require('../../chunk-
|
|
31
|
+
require('../../chunk-7LTG6CJ3.cjs');
|
|
32
32
|
require('../../chunk-HQQE74RO.cjs');
|
|
33
33
|
require('../../chunk-DEY6XXGO.cjs');
|
|
34
34
|
require('../../chunk-VA7OMDZO.cjs');
|
|
@@ -36,14 +36,14 @@ require('../../chunk-AAFW4STC.cjs');
|
|
|
36
36
|
require('../../chunk-24I6RFVU.cjs');
|
|
37
37
|
require('../../chunk-A6P6DHEZ.cjs');
|
|
38
38
|
require('../../chunk-MZ4KBSH7.cjs');
|
|
39
|
-
require('../../chunk-
|
|
39
|
+
require('../../chunk-3BBOAMWJ.cjs');
|
|
40
40
|
require('../../chunk-YUMFVQIN.cjs');
|
|
41
|
-
require('../../chunk-
|
|
42
|
-
require('../../chunk-
|
|
43
|
-
require('../../chunk-
|
|
44
|
-
require('../../chunk-
|
|
45
|
-
require('../../chunk-
|
|
46
|
-
require('../../chunk-
|
|
41
|
+
require('../../chunk-4T6ETBL4.cjs');
|
|
42
|
+
require('../../chunk-BRKTN6UR.cjs');
|
|
43
|
+
require('../../chunk-N2CISBJJ.cjs');
|
|
44
|
+
require('../../chunk-3RFQPQ7Z.cjs');
|
|
45
|
+
require('../../chunk-UMO55S55.cjs');
|
|
46
|
+
require('../../chunk-B27QEHYR.cjs');
|
|
47
47
|
require('../../chunk-ZOZR3QI2.cjs');
|
|
48
48
|
require('../../chunk-OMV5S5PI.cjs');
|
|
49
49
|
require('../../chunk-KHPX3KU4.cjs');
|
|
@@ -1840,10 +1840,10 @@ require('../../chunk-7DNL734S.cjs');
|
|
|
1840
1840
|
require('../../chunk-WWUSFOJ7.cjs');
|
|
1841
1841
|
require('../../chunk-SKI6NKOE.cjs');
|
|
1842
1842
|
require('../../chunk-EWPR7662.cjs');
|
|
1843
|
-
require('../../chunk-
|
|
1844
|
-
require('../../chunk-
|
|
1845
|
-
require('../../chunk-
|
|
1846
|
-
require('../../chunk-
|
|
1843
|
+
require('../../chunk-LY5VOKV7.cjs');
|
|
1844
|
+
require('../../chunk-7F3V45AH.cjs');
|
|
1845
|
+
require('../../chunk-IFS4AH77.cjs');
|
|
1846
|
+
require('../../chunk-63N4FN5V.cjs');
|
|
1847
1847
|
require('../../chunk-MYBTNOS6.cjs');
|
|
1848
1848
|
require('../../chunk-FTTLBMHU.cjs');
|
|
1849
1849
|
require('../../chunk-S5C3OZCO.cjs');
|
|
@@ -1867,7 +1867,7 @@ require('../../chunk-K6VWTUCH.cjs');
|
|
|
1867
1867
|
require('../../chunk-L2RMTGOK.cjs');
|
|
1868
1868
|
require('../../chunk-Z74QE57T.cjs');
|
|
1869
1869
|
require('../../chunk-XZJCBIYR.cjs');
|
|
1870
|
-
require('../../chunk-
|
|
1870
|
+
require('../../chunk-2QMBXGMQ.cjs');
|
|
1871
1871
|
require('../../chunk-V45KLJQP.cjs');
|
|
1872
1872
|
require('../../chunk-G7SBHMRR.cjs');
|
|
1873
1873
|
require('../../chunk-AKTPO2DN.cjs');
|
|
@@ -1898,4 +1898,4 @@ require('../../chunk-3ATAYP36.cjs');
|
|
|
1898
1898
|
|
|
1899
1899
|
|
|
1900
1900
|
|
|
1901
|
-
exports.ClaudeEmbed =
|
|
1901
|
+
exports.ClaudeEmbed = _chunkU5BRSRXAcjs.ClaudeEmbed; exports.EMBED_SIZES = _chunkU5BRSRXAcjs.EMBED_SIZES; exports.EmbedContainer = _chunkU5BRSRXAcjs.EmbedContainer; exports.EmbedIframe = _chunkU5BRSRXAcjs.EmbedIframe; exports.EmbedViewerFrame = _chunkU5BRSRXAcjs.EmbedViewerFrame; exports.FigmaEmbed = _chunkU5BRSRXAcjs.FigmaEmbed; exports.FileDownloadCard = _chunk2UZS3ZH7cjs.FileDownloadCard; exports.GoogleSheetsViewer = _chunk2UZS3ZH7cjs.GoogleSheetsViewer; exports.LinkPreviewContainer = _chunkU5BRSRXAcjs.LinkPreviewContainer; exports.LinkedInContainer = _chunkU5BRSRXAcjs.LinkedInContainer; exports.LinkedInEmbedClient = _chunkU5BRSRXAcjs.LinkedInEmbedClient; exports.MarkdownImage = _chunkU5BRSRXAcjs.MarkdownImage; exports.OGLinkErrorBoundary = _chunkU5BRSRXAcjs.OGLinkErrorBoundary; exports.OGLinkPreview = _chunkU5BRSRXAcjs.OGLinkPreview; exports.PdfViewer = _chunk2UZS3ZH7cjs.PdfViewer; exports.RedditContainer = _chunkU5BRSRXAcjs.RedditContainer; exports.RedditEmbedClient = _chunkU5BRSRXAcjs.RedditEmbedClient; exports.RichMarkdownRuntimeProvider = _chunkU5BRSRXAcjs.RichMarkdownRuntimeProvider; exports.TwitterContainer = _chunkU5BRSRXAcjs.TwitterContainer; exports.TwitterEmbedClient = _chunkU5BRSRXAcjs.TwitterEmbedClient; exports.YouTubeContainer = _chunkU5BRSRXAcjs.YouTubeContainer; exports.useRichMarkdownRuntime = _chunkU5BRSRXAcjs.useRichMarkdownRuntime;
|
|
@@ -3,10 +3,11 @@ import type { AssistantOpenRequest, AssistantRuntime } from '../../contexts/assi
|
|
|
3
3
|
export interface FaqAskOptions {
|
|
4
4
|
/**
|
|
5
5
|
* What this FAQ is about: ANY string the host's questions endpoint knows (it
|
|
6
|
-
* is sent as `
|
|
7
|
-
* for the topic are picked first.
|
|
8
|
-
* the entity the FAQ is attached to (
|
|
9
|
-
*
|
|
6
|
+
* is sent as `topic`, and reported with every click). Questions written
|
|
7
|
+
* for the topic are picked first. Absent: the FAQ's own topic
|
|
8
|
+
* (`FaqSection`'s `topic`), else the entity the FAQ is attached to (its
|
|
9
|
+
* `entityType`). With none, the FAQ has no card: the lib names no topic of
|
|
10
|
+
* its own.
|
|
10
11
|
*/
|
|
11
12
|
topic?: string;
|
|
12
13
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"faq-ask-card.d.ts","sourceRoot":"","sources":["../../../src/components/faq/faq-ask-card.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AAKvG,8EAA8E;AAC9E,MAAM,WAAW,aAAa;IAC5B
|
|
1
|
+
{"version":3,"file":"faq-ask-card.d.ts","sourceRoot":"","sources":["../../../src/components/faq/faq-ask-card.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AAKvG,8EAA8E;AAC9E,MAAM,WAAW,aAAa;IAC5B;;;;;;;OAOG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI,CAAC;IACnC,6EAA6E;IAC7E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,oHAAoH;IACpH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,oBAAoB,KAAK,IAAI,CAAC;CAClD;AAKD,0GAA0G;AAC1G,wBAAgB,eAAe,CAAC,SAAS,EAAE,gBAAgB,GAAG,IAAI,GAAG,SAAS,IAAI,gBAAgB,CAEjG;AAED;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,aAAa,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,+BAkBlH"}
|
|
@@ -27,6 +27,8 @@ export interface FaqDocumentPageProps {
|
|
|
27
27
|
jsonLd?: FaqSchemaOptions;
|
|
28
28
|
/** Base URL `FaqSection` appends `/api/faqs` to (reverse-proxy embedders). */
|
|
29
29
|
apiBaseUrl?: string;
|
|
30
|
+
/** What the page is about (forwarded to `FaqSection`): its FAQs and its ask card are the ones written for the topic. */
|
|
31
|
+
topic?: string;
|
|
30
32
|
/** Optional entity scoping forwarded to `FaqSection`. */
|
|
31
33
|
entityType?: string;
|
|
32
34
|
entityId?: number | string;
|
|
@@ -36,5 +38,5 @@ export interface FaqDocumentPageProps {
|
|
|
36
38
|
* object states its topic, wording and the chat it opens. */
|
|
37
39
|
ask?: FaqSectionProps['ask'];
|
|
38
40
|
}
|
|
39
|
-
export declare function FaqDocumentPage({ title, subtitle, backButton, initialFaqs, emitJsonLd, jsonLd, apiBaseUrl, entityType, entityId, minResults, ask, shell, }: FaqDocumentPageProps): import("react").JSX.Element;
|
|
41
|
+
export declare function FaqDocumentPage({ title, subtitle, backButton, initialFaqs, emitJsonLd, jsonLd, apiBaseUrl, entityType, entityId, minResults, topic, ask, shell, }: FaqDocumentPageProps): import("react").JSX.Element;
|
|
40
42
|
//# sourceMappingURL=faq-document-page.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"faq-document-page.d.ts","sourceRoot":"","sources":["../../../src/components/faq/faq-document-page.tsx"],"names":[],"mappings":"AAuBA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAE3C,OAAO,EAAc,KAAK,eAAe,EAAE,MAAM,eAAe,CAAC;AACjE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAElD,MAAM,WAAW,oBAAoB;IACnC,2FAA2F;IAC3F,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gCAAgC;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;gFAC4E;IAC5E,UAAU,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,KAAK,CAAC;IACvD;;;+CAG2C;IAC3C,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;4EACwE;IACxE,WAAW,CAAC,EAAE,GAAG,EAAE,CAAC;IACpB;yDACqD;IACrD,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,0EAA0E;IAC1E,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B,8EAA8E;IAC9E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,yDAAyD;IACzD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B,gFAAgF;IAChF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;kEAC8D;IAC9D,GAAG,CAAC,EAAE,eAAe,CAAC,KAAK,CAAC,CAAC;CAC9B;AAED,wBAAgB,eAAe,CAAC,EAC9B,KAAoC,EACpC,QAAQ,EACR,UAAU,EACV,WAAW,EACX,UAAU,EACV,MAAM,EACN,UAAU,EACV,UAAU,EACV,QAAQ,EACR,UAAU,EACV,GAAG,EACH,KAAY,GACb,EAAE,oBAAoB,+
|
|
1
|
+
{"version":3,"file":"faq-document-page.d.ts","sourceRoot":"","sources":["../../../src/components/faq/faq-document-page.tsx"],"names":[],"mappings":"AAuBA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAE3C,OAAO,EAAc,KAAK,eAAe,EAAE,MAAM,eAAe,CAAC;AACjE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAElD,MAAM,WAAW,oBAAoB;IACnC,2FAA2F;IAC3F,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gCAAgC;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;gFAC4E;IAC5E,UAAU,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,KAAK,CAAC;IACvD;;;+CAG2C;IAC3C,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;4EACwE;IACxE,WAAW,CAAC,EAAE,GAAG,EAAE,CAAC;IACpB;yDACqD;IACrD,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,0EAA0E;IAC1E,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B,8EAA8E;IAC9E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,wHAAwH;IACxH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,yDAAyD;IACzD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B,gFAAgF;IAChF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;kEAC8D;IAC9D,GAAG,CAAC,EAAE,eAAe,CAAC,KAAK,CAAC,CAAC;CAC9B;AAED,wBAAgB,eAAe,CAAC,EAC9B,KAAoC,EACpC,QAAQ,EACR,UAAU,EACV,WAAW,EACX,UAAU,EACV,MAAM,EACN,UAAU,EACV,UAAU,EACV,QAAQ,EACR,UAAU,EACV,KAAK,EACL,GAAG,EACH,KAAY,GACb,EAAE,oBAAoB,+BAgCtB"}
|
|
@@ -12,6 +12,15 @@ export interface FaqSectionProps {
|
|
|
12
12
|
/** Both required together for entity-attached FAQs; partial → bare /api/faqs. */
|
|
13
13
|
entityType?: string;
|
|
14
14
|
entityId?: number | string;
|
|
15
|
+
/**
|
|
16
|
+
* What the page this FAQ sits on is about: ANY string the host's FAQ
|
|
17
|
+
* endpoint knows. ONE topic for the whole block: the questions are the FAQs
|
|
18
|
+
* written for it (`/api/faqs?topic=`; `initialFaqs` are then the host's read
|
|
19
|
+
* of the same topic) and the "ask the assistant" card offers the questions
|
|
20
|
+
* written for it. Whoever renders the FAQ states it; the lib names none.
|
|
21
|
+
* Ignored for the questions when the FAQ is attached to an entity.
|
|
22
|
+
*/
|
|
23
|
+
topic?: string;
|
|
15
24
|
/**
|
|
16
25
|
* Heading node above the grouped list. `undefined` → default
|
|
17
26
|
* `<h2>`"Frequently Asked Questions". `null` → no heading (the host page
|
|
@@ -28,6 +37,14 @@ export interface FaqSectionProps {
|
|
|
28
37
|
/** Overrides for the JSON-LD's name/description/url. */
|
|
29
38
|
jsonLd?: FaqSchemaOptions;
|
|
30
39
|
className?: string;
|
|
40
|
+
/** The `id` of the rendered section: what an in-page link to the FAQ points at (`PAGE_FAQ_SECTION_ID` for a page's own block). */
|
|
41
|
+
id?: string;
|
|
42
|
+
/**
|
|
43
|
+
* Print the topic's bare name in small muted text under the heading
|
|
44
|
+
* (`pricing`), so whoever edits the FAQs can see which topic a page asks
|
|
45
|
+
* for. Default off. The section always carries it as `data-faq-topic` too.
|
|
46
|
+
*/
|
|
47
|
+
showTopic?: boolean;
|
|
31
48
|
/** Maps to /api/faqs `?count=` (the 5-tier fill target). Absent → param
|
|
32
49
|
* not sent (server default applies). */
|
|
33
50
|
minResults?: number;
|
|
@@ -45,15 +62,28 @@ export interface FaqSectionProps {
|
|
|
45
62
|
* The "ask the assistant" card beside the questions. Shown wherever the
|
|
46
63
|
* host's assistant runtime says a chat is there to open
|
|
47
64
|
* (`AssistantRuntimeContext`: its name, glyph, questions endpoint and
|
|
48
|
-
* opener) AND the FAQ has a topic: `
|
|
49
|
-
*
|
|
50
|
-
* No runtime or no topic: the FAQ is the single column it
|
|
51
|
-
* lib names no topic of its own. `false` switches the card off; the object
|
|
65
|
+
* opener) AND the FAQ has a topic: the block's `topic`, else the
|
|
66
|
+
* `entityType` the FAQ is attached to (`ask.topic` states another one for
|
|
67
|
+
* the card alone). No runtime or no topic: the FAQ is the single column it
|
|
68
|
+
* always was; the lib names no topic of its own. `false` switches the card off; the object
|
|
52
69
|
* also states the questions to leave out, the wording and the chat it opens
|
|
53
70
|
* (`onOpen`). An `aside` takes the card's place.
|
|
54
71
|
*/
|
|
55
72
|
ask?: false | FaqAskOptions;
|
|
56
73
|
}
|
|
74
|
+
/** The id of a page's own FAQ block: what a page's "FAQ" link or section nav points at. */
|
|
75
|
+
export declare const PAGE_FAQ_SECTION_ID = "faq";
|
|
76
|
+
/**
|
|
77
|
+
* What a shared page of the lib takes as its `faq` prop: the topic the page is
|
|
78
|
+
* about (REQUIRED, stated by the host, never read from the page's address) and
|
|
79
|
+
* where the host serves the FAQs. The page renders `FaqSection` with it, inside
|
|
80
|
+
* its own container, after its content (`pageFaqProps`).
|
|
81
|
+
*/
|
|
82
|
+
export type PageFaqSlot = Pick<FaqSectionProps, 'apiBaseUrl' | 'initialFaqs' | 'heading' | 'ask' | 'emitJsonLd' | 'jsonLd' | 'showTopic'> & {
|
|
83
|
+
topic: string;
|
|
84
|
+
};
|
|
85
|
+
/** The `FaqSection` props of a shared page's own FAQ block: the host's slot, as the page's `#faq` section. */
|
|
86
|
+
export declare function pageFaqProps(faq: PageFaqSlot): FaqSectionProps;
|
|
57
87
|
/**
|
|
58
88
|
* The FAQ display surface — ONE rendering on every host: the list grouped by
|
|
59
89
|
* `faq.section` (each category a heading + its own accordion, with a category
|
|
@@ -65,11 +95,13 @@ export interface FaqSectionProps {
|
|
|
65
95
|
* page owns the <h1>) + `emitJsonLd` with `jsonLd` overrides for SEO.
|
|
66
96
|
* - Per-entity embed: pass `entityType` + `entityId` (no `initialFaqs`); the
|
|
67
97
|
* hook self-fetches `GET /api/faqs`, and `heading` is this block's own <h2>.
|
|
98
|
+
* - A page's own FAQ: pass `topic` (what the page is about); the hook
|
|
99
|
+
* self-fetches `GET /api/faqs?topic=`, and the ask card takes the same topic.
|
|
68
100
|
*
|
|
69
101
|
* CONTRACT: the consuming app MUST implement `GET /api/faqs`. On a fetch error
|
|
70
102
|
* (or zero FAQs) the component renders nothing so the host page isn't
|
|
71
103
|
* disfigured. The host always supplies the page shell — this renders a bare
|
|
72
104
|
* <section>.
|
|
73
105
|
*/
|
|
74
|
-
export declare function FaqSection({ initialFaqs, entityType, entityId, heading, emitJsonLd, jsonLd, className, minResults, apiBaseUrl, aside: asideProp, ask, }: FaqSectionProps): React.JSX.Element | null;
|
|
106
|
+
export declare function FaqSection({ initialFaqs, entityType, entityId, topic, heading, emitJsonLd, jsonLd, className, id, showTopic, minResults, apiBaseUrl, aside: asideProp, ask, }: FaqSectionProps): React.JSX.Element | null;
|
|
75
107
|
//# sourceMappingURL=faq-section.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"faq-section.d.ts","sourceRoot":"","sources":["../../../src/components/faq/faq-section.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAM/B,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAQ3C,OAAO,EAA+B,KAAK,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACjF,OAAO,EAA0B,KAAK,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAE1E,MAAM,WAAW,eAAe;IAC9B;;;;OAIG;IACH,WAAW,CAAC,EAAE,GAAG,EAAE,CAAC;IACpB,iFAAiF;IACjF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B;;;;;;;;OAQG;IACH,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC;IACjC;uCACmC;IACnC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,wDAAwD;IACxD,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;6CACyC;IACzC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;uCACmC;IACnC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;;OAKG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB;;;;;;;;;;OAUG;IACH,GAAG,CAAC,EAAE,KAAK,GAAG,aAAa,CAAC;CAC7B;
|
|
1
|
+
{"version":3,"file":"faq-section.d.ts","sourceRoot":"","sources":["../../../src/components/faq/faq-section.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAM/B,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAQ3C,OAAO,EAA+B,KAAK,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACjF,OAAO,EAA0B,KAAK,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAE1E,MAAM,WAAW,eAAe;IAC9B;;;;OAIG;IACH,WAAW,CAAC,EAAE,GAAG,EAAE,CAAC;IACpB,iFAAiF;IACjF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B;;;;;;;OAOG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;;;;;OAQG;IACH,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC;IACjC;uCACmC;IACnC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,wDAAwD;IACxD,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kIAAkI;IAClI,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;6CACyC;IACzC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;uCACmC;IACnC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;;OAKG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB;;;;;;;;;;OAUG;IACH,GAAG,CAAC,EAAE,KAAK,GAAG,aAAa,CAAC;CAC7B;AAID,2FAA2F;AAC3F,eAAO,MAAM,mBAAmB,QAAQ,CAAC;AAKzC;;;;;GAKG;AACH,MAAM,MAAM,WAAW,GAAG,IAAI,CAC5B,eAAe,EACf,YAAY,GAAG,aAAa,GAAG,SAAS,GAAG,KAAK,GAAG,YAAY,GAAG,QAAQ,GAAG,WAAW,CACzF,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAEtB,8GAA8G;AAC9G,wBAAgB,YAAY,CAAC,GAAG,EAAE,WAAW,GAAG,eAAe,CAE9D;AAmUD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,UAAU,CAAC,EACzB,WAAW,EACX,UAAU,EACV,QAAQ,EACR,KAAK,EACL,OAAO,EACP,UAAkB,EAClB,MAAM,EACN,SAAS,EACT,EAAE,EACF,SAAiB,EACjB,UAAU,EACV,UAAe,EACf,KAAK,EAAE,SAAS,EAChB,GAAG,GACJ,EAAE,eAAe,4BA8EjB"}
|
|
@@ -15,8 +15,20 @@ import { SECTION_HEADING_CLASS } from "../layout/page-heading.js";
|
|
|
15
15
|
import { FaqAskCard, faqAskCardShown } from "./faq-ask-card.js";
|
|
16
16
|
import { buildFaqJsonLdFromFaqs } from "./json-ld.js";
|
|
17
17
|
const DEFAULT_HEADING_TEXT = "Frequently Asked Questions";
|
|
18
|
-
|
|
19
|
-
|
|
18
|
+
const PAGE_FAQ_SECTION_ID = "faq";
|
|
19
|
+
const PAGE_FAQ_IN_PAGE_CLASS = "space-y-10 pt-12 md:pt-20";
|
|
20
|
+
function pageFaqProps(faq) {
|
|
21
|
+
return { ...faq, id: PAGE_FAQ_SECTION_ID, className: PAGE_FAQ_IN_PAGE_CLASS };
|
|
22
|
+
}
|
|
23
|
+
function buildFaqsUrl(entityType, entityId, minResults, apiBaseUrl = "", topic) {
|
|
24
|
+
const entityScoped = !!entityType && entityId !== void 0 && entityId !== null && entityId !== "";
|
|
25
|
+
return buildSuggestionUrl("/api/faqs", {
|
|
26
|
+
apiBaseUrl,
|
|
27
|
+
entityType,
|
|
28
|
+
entityId,
|
|
29
|
+
count: minResults,
|
|
30
|
+
extraParams: entityScoped ? void 0 : { topic }
|
|
31
|
+
});
|
|
20
32
|
}
|
|
21
33
|
function groupFaqsBySection(faqs) {
|
|
22
34
|
const byName = /* @__PURE__ */ new Map();
|
|
@@ -175,27 +187,40 @@ function FaqSection({
|
|
|
175
187
|
initialFaqs,
|
|
176
188
|
entityType,
|
|
177
189
|
entityId,
|
|
190
|
+
topic,
|
|
178
191
|
heading,
|
|
179
192
|
emitJsonLd = false,
|
|
180
193
|
jsonLd,
|
|
181
194
|
className,
|
|
195
|
+
id,
|
|
196
|
+
showTopic = false,
|
|
182
197
|
minResults,
|
|
183
198
|
apiBaseUrl = "",
|
|
184
199
|
aside: asideProp,
|
|
185
200
|
ask
|
|
186
201
|
}) {
|
|
187
202
|
const assistant = useAssistantRuntime();
|
|
188
|
-
const askTopic = ask === false ? void 0 : ask?.topic || entityType;
|
|
203
|
+
const askTopic = ask === false ? void 0 : ask?.topic || topic || entityType;
|
|
189
204
|
const aside = asideProp ?? (ask !== false && askTopic && faqAskCardShown(assistant) ? /* @__PURE__ */ jsx(FaqAskCard, { ...ask, topic: askTopic }) : void 0);
|
|
190
|
-
const url = buildFaqsUrl(entityType, entityId, minResults, apiBaseUrl);
|
|
205
|
+
const url = buildFaqsUrl(entityType, entityId, minResults, apiBaseUrl, topic);
|
|
191
206
|
const initialData = useMemo(
|
|
192
207
|
() => initialFaqs ? { faqs: initialFaqs } : void 0,
|
|
193
208
|
[initialFaqs]
|
|
194
209
|
);
|
|
195
|
-
const { data, isLoading, error } = useSelfFetch(url, { initialData });
|
|
196
|
-
const
|
|
210
|
+
const { data, dataUrl, isLoading, error } = useSelfFetch(url, { initialData });
|
|
211
|
+
const held = dataUrl === url ? data?.faqs : void 0;
|
|
212
|
+
const faqs = useMemo(() => held ?? [], [held]);
|
|
197
213
|
const groups = useMemo(() => faqs.length > 0 ? groupFaqsBySection(faqs) : [], [faqs]);
|
|
198
|
-
const
|
|
214
|
+
const titleNode = heading === void 0 ? /* @__PURE__ */ jsx("h2", { className: SECTION_HEADING_CLASS, children: DEFAULT_HEADING_TEXT }) : heading;
|
|
215
|
+
const headingNode = showTopic && topic ? (
|
|
216
|
+
// The host's heading may arrive from a server component, still streaming: React cannot check such a
|
|
217
|
+
// node when it sits in a list of siblings and warns about a missing key. So it is the ONLY child of its
|
|
218
|
+
// own wrapper, and the two siblings here are this component's own elements.
|
|
219
|
+
/* @__PURE__ */ jsxs("div", { className: "space-y-1", children: [
|
|
220
|
+
/* @__PURE__ */ jsx("div", { children: titleNode }),
|
|
221
|
+
/* @__PURE__ */ jsx("p", { className: "text-ods-text-muted text-h6", children: topic })
|
|
222
|
+
] })
|
|
223
|
+
) : titleNode;
|
|
199
224
|
if (error) return null;
|
|
200
225
|
if (!isLoading && faqs.length === 0) return null;
|
|
201
226
|
if (isLoading && faqs.length === 0) {
|
|
@@ -203,7 +228,7 @@ function FaqSection({
|
|
|
203
228
|
}
|
|
204
229
|
const schema = emitJsonLd ? buildFaqJsonLdFromFaqs(faqs, jsonLd) : null;
|
|
205
230
|
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
206
|
-
/* @__PURE__ */ jsxs("section", { className: className ?? "space-y-10", children: [
|
|
231
|
+
/* @__PURE__ */ jsxs("section", { id, "data-faq-topic": topic, className: className ?? "space-y-10", children: [
|
|
207
232
|
!aside && headingNode,
|
|
208
233
|
/* @__PURE__ */ jsx(
|
|
209
234
|
GroupedFaqList,
|
|
@@ -225,5 +250,7 @@ function FaqSection({
|
|
|
225
250
|
] });
|
|
226
251
|
}
|
|
227
252
|
export {
|
|
228
|
-
FaqSection
|
|
253
|
+
FaqSection,
|
|
254
|
+
PAGE_FAQ_SECTION_ID,
|
|
255
|
+
pageFaqProps
|
|
229
256
|
};
|
|
@@ -1,13 +1,17 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true});"use client";
|
|
2
2
|
|
|
3
3
|
|
|
4
|
+
var _chunkN5NDPULPcjs = require('../../chunk-N5NDPULP.cjs');
|
|
4
5
|
|
|
5
6
|
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
var _chunkHNYLTEIScjs = require('../../chunk-HNYLTEIS.cjs');
|
|
11
|
+
require('../../chunk-U5BRSRXA.cjs');
|
|
12
|
+
require('../../chunk-FG7HTGT3.cjs');
|
|
9
13
|
require('../../chunk-3HPB4H4C.cjs');
|
|
10
|
-
require('../../chunk-
|
|
14
|
+
require('../../chunk-7LTG6CJ3.cjs');
|
|
11
15
|
require('../../chunk-HQQE74RO.cjs');
|
|
12
16
|
require('../../chunk-DEY6XXGO.cjs');
|
|
13
17
|
require('../../chunk-VA7OMDZO.cjs');
|
|
@@ -15,14 +19,14 @@ require('../../chunk-AAFW4STC.cjs');
|
|
|
15
19
|
require('../../chunk-24I6RFVU.cjs');
|
|
16
20
|
require('../../chunk-A6P6DHEZ.cjs');
|
|
17
21
|
require('../../chunk-MZ4KBSH7.cjs');
|
|
18
|
-
require('../../chunk-
|
|
22
|
+
require('../../chunk-3BBOAMWJ.cjs');
|
|
19
23
|
require('../../chunk-YUMFVQIN.cjs');
|
|
20
|
-
require('../../chunk-
|
|
21
|
-
require('../../chunk-
|
|
22
|
-
require('../../chunk-
|
|
23
|
-
require('../../chunk-
|
|
24
|
-
require('../../chunk-
|
|
25
|
-
require('../../chunk-
|
|
24
|
+
require('../../chunk-4T6ETBL4.cjs');
|
|
25
|
+
require('../../chunk-BRKTN6UR.cjs');
|
|
26
|
+
require('../../chunk-N2CISBJJ.cjs');
|
|
27
|
+
require('../../chunk-3RFQPQ7Z.cjs');
|
|
28
|
+
require('../../chunk-UMO55S55.cjs');
|
|
29
|
+
require('../../chunk-B27QEHYR.cjs');
|
|
26
30
|
require('../../chunk-ZOZR3QI2.cjs');
|
|
27
31
|
require('../../chunk-OMV5S5PI.cjs');
|
|
28
32
|
require('../../chunk-KHPX3KU4.cjs');
|
|
@@ -1819,10 +1823,10 @@ require('../../chunk-7DNL734S.cjs');
|
|
|
1819
1823
|
require('../../chunk-WWUSFOJ7.cjs');
|
|
1820
1824
|
require('../../chunk-SKI6NKOE.cjs');
|
|
1821
1825
|
require('../../chunk-EWPR7662.cjs');
|
|
1822
|
-
require('../../chunk-
|
|
1823
|
-
require('../../chunk-
|
|
1824
|
-
require('../../chunk-
|
|
1825
|
-
require('../../chunk-
|
|
1826
|
+
require('../../chunk-LY5VOKV7.cjs');
|
|
1827
|
+
require('../../chunk-7F3V45AH.cjs');
|
|
1828
|
+
require('../../chunk-IFS4AH77.cjs');
|
|
1829
|
+
require('../../chunk-63N4FN5V.cjs');
|
|
1826
1830
|
require('../../chunk-MYBTNOS6.cjs');
|
|
1827
1831
|
require('../../chunk-FTTLBMHU.cjs');
|
|
1828
1832
|
require('../../chunk-S5C3OZCO.cjs');
|
|
@@ -1846,7 +1850,7 @@ require('../../chunk-K6VWTUCH.cjs');
|
|
|
1846
1850
|
require('../../chunk-L2RMTGOK.cjs');
|
|
1847
1851
|
require('../../chunk-Z74QE57T.cjs');
|
|
1848
1852
|
require('../../chunk-XZJCBIYR.cjs');
|
|
1849
|
-
require('../../chunk-
|
|
1853
|
+
require('../../chunk-2QMBXGMQ.cjs');
|
|
1850
1854
|
require('../../chunk-V45KLJQP.cjs');
|
|
1851
1855
|
require('../../chunk-G7SBHMRR.cjs');
|
|
1852
1856
|
require('../../chunk-AKTPO2DN.cjs');
|
|
@@ -1858,4 +1862,6 @@ require('../../chunk-3ATAYP36.cjs');
|
|
|
1858
1862
|
|
|
1859
1863
|
|
|
1860
1864
|
|
|
1861
|
-
|
|
1865
|
+
|
|
1866
|
+
|
|
1867
|
+
exports.FaqAskCard = _chunkHNYLTEIScjs.FaqAskCard; exports.FaqDocumentPage = _chunkN5NDPULPcjs.FaqDocumentPage; exports.FaqSection = _chunkHNYLTEIScjs.FaqSection; exports.PAGE_FAQ_SECTION_ID = _chunkHNYLTEIScjs.PAGE_FAQ_SECTION_ID; exports.pageFaqProps = _chunkHNYLTEIScjs.pageFaqProps;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { FaqSection, type FaqSectionProps } from './faq-section';
|
|
1
|
+
export { FaqSection, PAGE_FAQ_SECTION_ID, pageFaqProps, type FaqSectionProps, type PageFaqSlot } from './faq-section';
|
|
2
2
|
export { FaqDocumentPage, type FaqDocumentPageProps } from './faq-document-page';
|
|
3
3
|
export { FaqAskCard, type FaqAskOptions } from './faq-ask-card';
|
|
4
4
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/faq/index.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/faq/index.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAE,YAAY,EAAE,KAAK,eAAe,EAAE,KAAK,WAAW,EAAE,MAAM,eAAe,CAAC;AACtH,OAAO,EAAE,eAAe,EAAE,KAAK,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AACjF,OAAO,EAAE,UAAU,EAAE,KAAK,aAAa,EAAE,MAAM,gBAAgB,CAAC"}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
|
-
import { FaqSection } from "./faq-section.js";
|
|
1
|
+
import { FaqSection, PAGE_FAQ_SECTION_ID, pageFaqProps } from "./faq-section.js";
|
|
2
2
|
import { FaqDocumentPage } from "./faq-document-page.js";
|
|
3
3
|
import { FaqAskCard } from "./faq-ask-card.js";
|
|
4
4
|
export {
|
|
5
5
|
FaqAskCard,
|
|
6
6
|
FaqDocumentPage,
|
|
7
|
-
FaqSection
|
|
7
|
+
FaqSection,
|
|
8
|
+
PAGE_FAQ_SECTION_ID,
|
|
9
|
+
pageFaqProps
|
|
8
10
|
};
|
|
@@ -1,8 +1,6 @@
|
|
|
1
|
-
import type
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
label: string;
|
|
5
|
-
}
|
|
1
|
+
import { type BenefitItem } from '../../ui/benefit-list';
|
|
2
|
+
/** One benefit of the panel: the lib's benefit item. */
|
|
3
|
+
export type AuthBenefit = BenefitItem;
|
|
6
4
|
export interface AuthBenefitsPanelProps {
|
|
7
5
|
title?: string;
|
|
8
6
|
description?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth-benefits-panel.d.ts","sourceRoot":"","sources":["../../../../src/components/features/auth/auth-benefits-panel.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"auth-benefits-panel.d.ts","sourceRoot":"","sources":["../../../../src/components/features/auth/auth-benefits-panel.tsx"],"names":[],"mappings":"AAIA,OAAO,EAA8B,KAAK,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAGrF,wDAAwD;AACxD,MAAM,MAAM,WAAW,GAAG,WAAW,CAAC;AAEtC,MAAM,WAAW,sBAAsB;IACrC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,WAAW,EAAE,CAAC;IACzB,uHAAuH;IACvH,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAOD;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,EAChC,KAAqB,EACrB,WAAiC,EACjC,SAAS,EACT,QAAmC,EACnC,cAA6C,EAC7C,YAA0C,EAC1C,SAAS,GACV,EAAE,sBAAsB,+BA8BxB"}
|
|
@@ -1,29 +1,16 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
3
3
|
import { cn } from "../../../utils/cn.js";
|
|
4
|
-
import { trialLabels } from "../../../utils/trial.js";
|
|
5
|
-
import { FileOffIcon } from "../../icons-v2-generated/documents/file-off-icon.js";
|
|
6
|
-
import { CreditCardXmarkIcon } from "../../icons-v2-generated/finance/credit-card-xmark-icon.js";
|
|
7
4
|
import { OpenframeLogoIcon } from "../../icons-v2-generated/logos/openframe-logo-icon.js";
|
|
8
|
-
import {
|
|
9
|
-
import { XmarkAltIcon } from "../../icons-v2-generated/signs-and-symbols/xmark-alt-icon.js";
|
|
5
|
+
import { BenefitList, trialBenefits } from "../../ui/benefit-list.js";
|
|
10
6
|
import { Button } from "../../ui/button/index.js";
|
|
11
7
|
const DEFAULT_TITLE = "The All-in-One Open Platform for MSPs";
|
|
12
8
|
const DEFAULT_DESCRIPTION = "All your core ops in one place - built for MSPs who are done duct-taping tools together. Unified stack, AI-ready, no vendor tax. Just solid software that lets you run lean and fast.";
|
|
13
|
-
function defaultBenefits(trialDays) {
|
|
14
|
-
const labels = trialLabels(trialDays);
|
|
15
|
-
return [
|
|
16
|
-
{ icon: /* @__PURE__ */ jsx(CreditCardXmarkIcon, {}), label: labels.noCard },
|
|
17
|
-
{ icon: /* @__PURE__ */ jsx(XmarkAltIcon, {}), label: labels.cancel },
|
|
18
|
-
...labels.length ? [{ icon: /* @__PURE__ */ jsx(FlaskVialIcon, {}), label: labels.length }] : [],
|
|
19
|
-
{ icon: /* @__PURE__ */ jsx(FileOffIcon, {}), label: labels.noContract }
|
|
20
|
-
];
|
|
21
|
-
}
|
|
22
9
|
function AuthBenefitsPanel({
|
|
23
10
|
title = DEFAULT_TITLE,
|
|
24
11
|
description = DEFAULT_DESCRIPTION,
|
|
25
12
|
trialDays,
|
|
26
|
-
benefits =
|
|
13
|
+
benefits = trialBenefits(trialDays),
|
|
27
14
|
learnMoreLabel = "Learn More About OpenFrame",
|
|
28
15
|
learnMoreUrl = "https://www.flamingo.run/",
|
|
29
16
|
className
|
|
@@ -38,10 +25,7 @@ function AuthBenefitsPanel({
|
|
|
38
25
|
children: [
|
|
39
26
|
/* @__PURE__ */ jsx("h2", { className: "tracking-[-0.64px] text-ods-text-primary text-h2", children: title }),
|
|
40
27
|
/* @__PURE__ */ jsx("p", { className: "text-ods-text-primary text-h4", children: description }),
|
|
41
|
-
/* @__PURE__ */ jsx(
|
|
42
|
-
/* @__PURE__ */ jsx("span", { className: "flex size-4 shrink-0 items-center justify-center text-ods-text-secondary [&_svg]:size-4", children: benefit.icon }),
|
|
43
|
-
/* @__PURE__ */ jsx("span", { className: "whitespace-nowrap text-ods-text-primary text-h4", children: benefit.label })
|
|
44
|
-
] }, benefit.label)) }),
|
|
28
|
+
/* @__PURE__ */ jsx(BenefitList, { items: benefits }),
|
|
45
29
|
/* @__PURE__ */ jsx(
|
|
46
30
|
Button,
|
|
47
31
|
{
|
|
@@ -5,10 +5,12 @@ export interface ConversationCardSpeaker {
|
|
|
5
5
|
name: string;
|
|
6
6
|
/** A quieter word after the name ("on her laptop", "this computer"). */
|
|
7
7
|
meta?: string;
|
|
8
|
+
/** When they spoke, as shown ("2:47 PM"). */
|
|
9
|
+
time?: string;
|
|
8
10
|
}
|
|
9
11
|
export interface ConversationCardProps {
|
|
10
12
|
requester: ConversationCardSpeaker;
|
|
11
|
-
/** What they said
|
|
13
|
+
/** What they said. */
|
|
12
14
|
request: string;
|
|
13
15
|
responder: ConversationCardSpeaker;
|
|
14
16
|
/** What was done about it. */
|
|
@@ -21,12 +23,18 @@ export interface ConversationCardProps {
|
|
|
21
23
|
footerValue: string;
|
|
22
24
|
/** `attention` paints the answer in the warning colour: it needs a person. */
|
|
23
25
|
footerTone?: 'default' | 'attention';
|
|
26
|
+
/**
|
|
27
|
+
* The slug of the agent that answered. The card takes that agent's tint from
|
|
28
|
+
* its identity, so it reads as that agent's at a glance. A card names its
|
|
29
|
+
* agent, never a colour.
|
|
30
|
+
*/
|
|
31
|
+
agent?: string | null;
|
|
24
32
|
className?: string;
|
|
25
33
|
}
|
|
26
34
|
/**
|
|
27
35
|
* A request and what was done about it, as two turns and a footer: who asked
|
|
28
|
-
* and what they said, who answered and the result
|
|
29
|
-
* the reader's own part in it.
|
|
36
|
+
* and what they said, who answered and the result (a command block with its
|
|
37
|
+
* check), then one line that sums up the reader's own part in it.
|
|
30
38
|
*/
|
|
31
|
-
export declare function ConversationCard({ requester, request, responder, outcome, outcomeAside, footerLabel, footerValue, footerTone, className, }: ConversationCardProps): import("react").JSX.Element;
|
|
39
|
+
export declare function ConversationCard({ requester, request, responder, outcome, outcomeAside, footerLabel, footerValue, footerTone, agent, className, }: ConversationCardProps): import("react").JSX.Element;
|
|
32
40
|
//# sourceMappingURL=conversation-card.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conversation-card.d.ts","sourceRoot":"","sources":["../../../src/components/features/conversation-card.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"conversation-card.d.ts","sourceRoot":"","sources":["../../../src/components/features/conversation-card.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAOvC,MAAM,WAAW,uBAAuB;IACtC,oDAAoD;IACpD,MAAM,EAAE,SAAS,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,wEAAwE;IACxE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,6CAA6C;IAC7C,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,uBAAuB,CAAC;IACnC,sBAAsB;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,uBAAuB,CAAC;IACnC,8BAA8B;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,uDAAuD;IACvD,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,2CAA2C;IAC3C,WAAW,EAAE,MAAM,CAAC;IACpB,kDAAkD;IAClD,WAAW,EAAE,MAAM,CAAC;IACpB,8EAA8E;IAC9E,UAAU,CAAC,EAAE,SAAS,GAAG,WAAW,CAAC;IACrC;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,EAC/B,SAAS,EACT,OAAO,EACP,SAAS,EACT,OAAO,EACP,YAAY,EACZ,WAAW,EACX,WAAW,EACX,UAAsB,EACtB,KAAK,EACL,SAAS,GACV,EAAE,qBAAqB,+BAwCvB"}
|
|
@@ -1,13 +1,10 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
3
3
|
import { cn } from "../../utils/cn.js";
|
|
4
|
+
import { useAgentTint } from "../agent-identity.js";
|
|
5
|
+
import { ChatTurn } from "../chat/chat-turn.js";
|
|
4
6
|
import { CheckCircleIcon } from "../icons-v2-generated/signs-and-symbols/check-circle-icon.js";
|
|
5
|
-
|
|
6
|
-
return /* @__PURE__ */ jsxs("div", { className: "flex items-baseline gap-2 text-ods-text-primary text-h4", children: [
|
|
7
|
-
speaker.name,
|
|
8
|
-
speaker.meta && /* @__PURE__ */ jsx("span", { className: "text-ods-text-secondary text-h6", children: speaker.meta })
|
|
9
|
-
] });
|
|
10
|
-
}
|
|
7
|
+
import { Tag } from "../ui/tag.js";
|
|
11
8
|
function ConversationCard({
|
|
12
9
|
requester,
|
|
13
10
|
request,
|
|
@@ -17,47 +14,42 @@ function ConversationCard({
|
|
|
17
14
|
footerLabel,
|
|
18
15
|
footerValue,
|
|
19
16
|
footerTone = "default",
|
|
17
|
+
agent,
|
|
20
18
|
className
|
|
21
19
|
}) {
|
|
20
|
+
const tint = useAgentTint(agent);
|
|
22
21
|
return /* @__PURE__ */ jsxs(
|
|
23
22
|
"div",
|
|
24
23
|
{
|
|
25
|
-
className: cn(
|
|
24
|
+
className: cn(
|
|
25
|
+
"flex h-full flex-col gap-[var(--spacing-system-mf)] overflow-hidden rounded-md border border-ods-border bg-ods-bg p-[var(--spacing-system-mf)]",
|
|
26
|
+
className
|
|
27
|
+
),
|
|
28
|
+
style: tint,
|
|
26
29
|
children: [
|
|
27
|
-
/* @__PURE__ */ jsxs("
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
/* @__PURE__ */ jsx(Who, { speaker: responder }),
|
|
42
|
-
/* @__PURE__ */ jsxs("div", { className: "mt-1 flex items-start gap-2 text-ods-text-secondary text-h4", children: [
|
|
43
|
-
/* @__PURE__ */ jsx(CheckCircleIcon, { size: 16, className: "mt-1 shrink-0 text-ods-success", "aria-hidden": true }),
|
|
30
|
+
/* @__PURE__ */ jsx(ChatTurn, { avatar: requester.avatar, name: requester.name, meta: requester.meta, time: requester.time, children: /* @__PURE__ */ jsxs("p", { className: "m-0 line-clamp-2 min-h-[2lh] text-ods-text-primary text-h3", title: request, children: [
|
|
31
|
+
"\u201C",
|
|
32
|
+
request,
|
|
33
|
+
"\u201D"
|
|
34
|
+
] }) }),
|
|
35
|
+
/* @__PURE__ */ jsx(
|
|
36
|
+
ChatTurn,
|
|
37
|
+
{
|
|
38
|
+
avatar: responder.avatar,
|
|
39
|
+
name: responder.name,
|
|
40
|
+
meta: responder.meta,
|
|
41
|
+
time: responder.time,
|
|
42
|
+
className: "rounded-md border border-ods-border bg-ods-card p-[var(--spacing-system-sf)]",
|
|
43
|
+
children: /* @__PURE__ */ jsxs("div", { className: "flex items-start gap-[var(--spacing-system-xsf)] text-ods-text-secondary text-h4", children: [
|
|
44
44
|
/* @__PURE__ */ jsx("span", { className: "line-clamp-3 min-h-[3lh] min-w-0 flex-1", title: outcome, children: outcome }),
|
|
45
|
-
outcomeAside
|
|
45
|
+
outcomeAside,
|
|
46
|
+
/* @__PURE__ */ jsx("span", { className: "flex h-[1lh] shrink-0 items-center", children: /* @__PURE__ */ jsx(CheckCircleIcon, { size: 16, className: "text-ods-success", "aria-hidden": true }) })
|
|
46
47
|
] })
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
/* @__PURE__ */ jsxs("div", { className: "mt-auto flex items-center justify-between gap-
|
|
48
|
+
}
|
|
49
|
+
),
|
|
50
|
+
/* @__PURE__ */ jsxs("div", { className: "mt-auto flex items-center justify-between gap-[var(--spacing-system-sf)] text-ods-text-secondary text-h6", children: [
|
|
50
51
|
/* @__PURE__ */ jsx("span", { children: footerLabel }),
|
|
51
|
-
/* @__PURE__ */ jsx(
|
|
52
|
-
"span",
|
|
53
|
-
{
|
|
54
|
-
className: cn(
|
|
55
|
-
"inline-flex whitespace-nowrap rounded-full border px-3 py-1",
|
|
56
|
-
footerTone === "attention" ? "border-ods-warning text-ods-warning" : "border-ods-border text-ods-text-secondary"
|
|
57
|
-
),
|
|
58
|
-
children: footerValue
|
|
59
|
-
}
|
|
60
|
-
)
|
|
52
|
+
/* @__PURE__ */ jsx(Tag, { as: "span", label: footerValue, variant: footerTone === "attention" ? "warning" : "badge" })
|
|
61
53
|
] })
|
|
62
54
|
]
|
|
63
55
|
}
|