@flamingo-stack/openframe-frontend-core 0.0.718 → 0.0.720
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/{chunk-MIQLUUVF.cjs → chunk-2C72EWQR.cjs} +93 -29
- package/dist/{chunk-IWCPXJEE.js → chunk-3HZ6XSZC.js} +2 -4
- package/dist/{chunk-ZXCZYMN4.cjs → chunk-4SIZCHVZ.cjs} +13 -15
- package/dist/{chunk-BOTM373R.cjs → chunk-5XDCCQ4A.cjs} +15 -15
- package/dist/{chunk-DXCBOZVT.cjs → chunk-6BLN5WDS.cjs} +41 -41
- package/dist/{chunk-DCD5WZUF.js → chunk-6W46LVK4.js} +5 -5
- package/dist/{chunk-JHQ334WS.js → chunk-742BGXNX.js} +2 -0
- package/dist/{chunk-AECTRMGQ.cjs → chunk-7GRPR7XA.cjs} +13 -1
- package/dist/{chunk-45F7PXUI.js → chunk-7HYEQKN6.js} +6 -6
- package/dist/{chunk-N2PF5CFX.js → chunk-7IOU6BJE.js} +12 -11
- package/dist/{chunk-BWIN42ZA.cjs → chunk-7LPR4RZ3.cjs} +34 -36
- package/dist/chunk-AFTRPEXO.js +13 -0
- package/dist/{chunk-JPD4NXH6.js → chunk-AZRI4XBP.js} +1 -1
- package/dist/{chunk-4QFWGLZO.js → chunk-B2N4YX66.js} +1 -1
- package/dist/{chunk-QXZCLQNV.js → chunk-B5LNX4GZ.js} +2 -2
- package/dist/{chunk-GN4A7PMB.cjs → chunk-DHNJSQGX.cjs} +91 -91
- package/dist/{chunk-NDZ5ZXOQ.cjs → chunk-DOPOHO6H.cjs} +20 -20
- package/dist/{chunk-Z3CVSPO3.cjs → chunk-DYDDAA6O.cjs} +519 -518
- package/dist/{chunk-2RKFMUNW.cjs → chunk-EVMM3JE6.cjs} +64 -63
- package/dist/chunk-EWPR7662.cjs +13 -0
- package/dist/{chunk-AGVXKD4K.js → chunk-FSQQZFVG.js} +12 -0
- package/dist/{chunk-TTVOLEUS.js → chunk-GANIUMRU.js} +89 -2
- package/dist/{chunk-S2FUFMLW.cjs → chunk-HFEYEPOG.cjs} +27 -27
- package/dist/{chunk-LE5WKGJV.cjs → chunk-HTS46FFY.cjs} +3 -3
- package/dist/{chunk-6A43ZDWV.cjs → chunk-IL3ZWNM2.cjs} +4 -4
- package/dist/{chunk-PSVSEN4J.cjs → chunk-IMTY3GRR.cjs} +2 -0
- package/dist/{chunk-YC5COB5V.cjs → chunk-ISCZ6UNF.cjs} +85 -89
- package/dist/{chunk-XGHGGBM3.js → chunk-K2BYVPGR.js} +3 -3
- package/dist/{chunk-HWVUR735.cjs → chunk-KSGMZHVV.cjs} +2 -2
- package/dist/{chunk-SGFTTJKO.js → chunk-LO3KCLEF.js} +1 -1
- package/dist/{chunk-MA4Q5RBP.cjs → chunk-NYSMDM4J.cjs} +2 -2
- package/dist/{chunk-67QBMN4R.js → chunk-O3MKJU6A.js} +6 -6
- package/dist/{chunk-APJZBDQN.js → chunk-PSMJYZMV.js} +27 -26
- package/dist/{chunk-JH2SIWPQ.js → chunk-PXAKSPLZ.js} +1586 -1263
- package/dist/{chunk-TBCZCRQ5.js → chunk-Q5327DXK.js} +13 -17
- package/dist/{chunk-EZC2F5OT.cjs → chunk-QF464PPL.cjs} +39 -39
- package/dist/{chunk-UWQWMGJ7.cjs → chunk-RDP5UZXQ.cjs} +888 -565
- package/dist/{chunk-ETYLOZOB.cjs → chunk-RFUOIQSG.cjs} +100 -13
- package/dist/{chunk-DC4RTYWK.cjs → chunk-RZQGIWK3.cjs} +3 -3
- package/dist/{chunk-PQ6HBLZ7.js → chunk-TORERAXD.js} +105 -41
- package/dist/{chunk-6YPTUHM7.js → chunk-URW23QUM.js} +1 -1
- package/dist/{chunk-QBCDSTLE.cjs → chunk-UWJMDFDO.cjs} +18 -18
- package/dist/{chunk-YEMCCYIF.js → chunk-V6B2FBZK.js} +5 -5
- package/dist/{chunk-JIWMBIVZ.js → chunk-VBHGJFA3.js} +10 -10
- package/dist/{chunk-Z5UWW3Z2.cjs → chunk-VF2CJXZ2.cjs} +81 -65
- package/dist/{chunk-DEZDMTBM.js → chunk-VYVPII4W.js} +8 -10
- package/dist/{chunk-MM7MCIXL.js → chunk-VYZCKY5K.js} +9 -9
- package/dist/{chunk-E7YCPY7K.cjs → chunk-XSM46FHD.cjs} +3 -3
- package/dist/{chunk-NZ5BHDFZ.js → chunk-XW3Q623Q.js} +1 -1
- package/dist/{chunk-LOYPRJWA.js → chunk-YK3X74SF.js} +67 -51
- package/dist/{chunk-WALCXC7J.cjs → chunk-ZHD3F2TH.cjs} +3 -3
- package/dist/{chunk-KBJJQFYU.js → chunk-ZPHOQDAE.js} +1 -1
- package/dist/{cloud-tenants-TAKOWXLD.js → cloud-tenants-RKQRSDNE.js} +9 -9
- package/dist/{cloud-tenants-PFDF7O5U.cjs → cloud-tenants-UQZASXUB.cjs} +10 -10
- package/dist/components/case-studies/index.cjs +23 -23
- package/dist/components/case-studies/index.js +10 -10
- package/dist/components/chat/ask-prompts.d.ts +10 -2
- package/dist/components/chat/ask-prompts.d.ts.map +1 -1
- package/dist/components/chat/assistant-ask-prompts.d.ts +27 -0
- package/dist/components/chat/assistant-ask-prompts.d.ts.map +1 -0
- package/dist/components/chat/entity-cards/dispatch.d.ts.map +1 -1
- package/dist/components/chat/hooks/index.d.ts +1 -0
- package/dist/components/chat/hooks/index.d.ts.map +1 -1
- package/dist/components/chat/hooks/use-ask-prompts.d.ts +63 -0
- package/dist/components/chat/hooks/use-ask-prompts.d.ts.map +1 -0
- package/dist/components/chat/index.cjs +23 -6
- 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 +22 -5
- package/dist/components/chat/utils/icon-library.d.ts.map +1 -1
- package/dist/components/contact/index.cjs +11 -11
- package/dist/components/contact/index.js +10 -10
- package/dist/components/docs/index.cjs +14 -14
- package/dist/components/docs/index.js +13 -13
- package/dist/components/embeds/index.cjs +11 -11
- package/dist/components/embeds/index.js +10 -10
- package/dist/components/faq/faq-ask-card.d.ts +44 -0
- package/dist/components/faq/faq-ask-card.d.ts.map +1 -0
- package/dist/components/faq/faq-document-page.d.ts +5 -1
- package/dist/components/faq/faq-document-page.d.ts.map +1 -1
- package/dist/components/faq/faq-section.d.ts +18 -5
- package/dist/components/faq/faq-section.d.ts.map +1 -1
- package/dist/components/faq/index.cjs +13 -12
- package/dist/components/faq/index.d.ts +1 -0
- package/dist/components/faq/index.d.ts.map +1 -1
- package/dist/components/faq/index.js +12 -11
- package/dist/components/features/auth/auth-benefits-panel.d.ts.map +1 -1
- package/dist/components/features/index.cjs +10 -10
- package/dist/components/features/index.js +9 -9
- package/dist/components/features/remote-session/remote-desktop-view.d.ts +6 -2
- package/dist/components/features/remote-session/remote-desktop-view.d.ts.map +1 -1
- package/dist/components/help-center-pages/index.cjs +104 -105
- package/dist/components/help-center-pages/index.js +28 -29
- package/dist/components/help-center-pages/trust-center-page.d.ts +4 -1
- package/dist/components/help-center-pages/trust-center-page.d.ts.map +1 -1
- package/dist/components/index.cjs +109 -197
- package/dist/components/index.js +228 -316
- package/dist/components/meeting-scheduler/index.cjs +50 -51
- package/dist/components/meeting-scheduler/index.js +12 -13
- package/dist/components/navigation/index.cjs +13 -13
- package/dist/components/navigation/index.js +12 -12
- package/dist/components/navigation/mingo-ai-button.d.ts +1 -1
- package/dist/components/navigation/mingo-ai-button.d.ts.map +1 -1
- package/dist/components/onboarding-guides/index.cjs +13 -14
- package/dist/components/onboarding-guides/index.js +12 -13
- package/dist/components/product-demo/index.cjs +7 -7
- package/dist/components/product-demo/index.js +7 -7
- package/dist/components/related-content/index.cjs +5 -7
- package/dist/components/related-content/index.js +4 -6
- package/dist/components/related-content/related-content-section.d.ts +6 -6
- package/dist/components/related-content/related-content-section.d.ts.map +1 -1
- package/dist/components/tickets/index.cjs +15 -15
- package/dist/components/tickets/index.js +14 -14
- package/dist/components/ui/index.cjs +26 -10
- package/dist/components/ui/index.js +25 -9
- package/dist/contexts/assistant-runtime-context.d.ts +74 -0
- package/dist/contexts/assistant-runtime-context.d.ts.map +1 -0
- package/dist/contexts/index.cjs +7 -1
- package/dist/contexts/index.d.ts +1 -0
- package/dist/contexts/index.d.ts.map +1 -1
- package/dist/contexts/index.js +6 -0
- package/dist/{devices-KRCGZMGA.cjs → devices-7Q2EUM7B.cjs} +11 -11
- package/dist/{devices-LHEX7O5T.js → devices-U3Y4IIW4.js} +9 -9
- package/dist/hooks/index.cjs +3 -4
- package/dist/hooks/index.js +2 -3
- package/dist/hooks/use-self-fetch.d.ts +3 -0
- package/dist/hooks/use-self-fetch.d.ts.map +1 -1
- package/dist/index.cjs +34 -14
- package/dist/index.js +33 -13
- package/dist/{knowledge-RZSFNR33.js → knowledge-NST53EXE.js} +9 -9
- package/dist/{knowledge-KLVPVEYZ.cjs → knowledge-UYIZ74MA.cjs} +11 -11
- package/dist/{logs-OX3XTVL2.cjs → logs-HTH7X7KV.cjs} +18 -18
- package/dist/{logs-E5DOV5JO.js → logs-JVTRG232.js} +9 -9
- package/dist/{policies-MC2S4S5G.js → policies-DTXTRK56.js} +9 -9
- package/dist/{policies-FOSCIZGK.cjs → policies-MXK2HB4W.cjs} +14 -14
- package/dist/{remote-session-JQ2BPIE3.js → remote-session-LAJZKQBN.js} +3 -3
- package/dist/{remote-session-DRFE5XZE.cjs → remote-session-SKKF4PBV.cjs} +5 -5
- package/dist/{software-update-D4OEIH65.js → software-update-6RHMPM3W.js} +9 -9
- package/dist/{software-update-HOBSTWVO.cjs → software-update-P6BSM6HX.cjs} +14 -14
- package/dist/utils/index.cjs +26 -2
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +25 -3
- package/dist/utils/list-url.d.ts.map +1 -1
- package/dist/utils/source-icons.d.ts.map +1 -1
- package/dist/utils/trial.d.ts +18 -0
- package/dist/utils/trial.d.ts.map +1 -0
- package/package.json +1 -1
- package/src/components/chat/ask-prompts.tsx +25 -3
- package/src/components/chat/assistant-ask-prompts.tsx +78 -0
- package/src/components/chat/entity-cards/dispatch.tsx +38 -4
- package/src/components/chat/hooks/index.ts +12 -0
- package/src/components/chat/hooks/use-ask-prompts.ts +188 -0
- package/src/components/chat/index.ts +1 -0
- package/src/components/chat/utils/icon-library.tsx +6 -0
- package/src/components/faq/faq-ask-card.tsx +115 -0
- package/src/components/faq/faq-document-page.tsx +6 -1
- package/src/components/faq/faq-section.tsx +27 -5
- package/src/components/faq/index.ts +1 -0
- package/src/components/features/auth/auth-benefits-panel.tsx +5 -4
- package/src/components/features/remote-session/remote-desktop-view.tsx +86 -63
- package/src/components/help-center-pages/trust-center-page.tsx +5 -2
- package/src/components/navigation/mingo-ai-button.tsx +27 -6
- package/src/components/related-content/related-content-section.tsx +46 -47
- package/src/contexts/assistant-runtime-context.tsx +84 -0
- package/src/contexts/index.ts +9 -0
- package/src/hooks/use-self-fetch.ts +7 -0
- package/src/utils/index.ts +1 -0
- package/src/utils/list-url.ts +4 -0
- package/src/utils/source-icons.ts +10 -2
- package/src/utils/trial.ts +19 -0
- package/dist/chunk-AUMKE74M.cjs +0 -16
- package/dist/chunk-G3GRYDMS.js +0 -16
- package/dist/chunk-GEDY7HQI.cjs +0 -85
- package/dist/chunk-YBQQNDC7.js +0 -85
package/dist/components/index.js
CHANGED
|
@@ -14,7 +14,7 @@ import {
|
|
|
14
14
|
RoadmapView,
|
|
15
15
|
useLegalDocs,
|
|
16
16
|
useRoadmapVoting
|
|
17
|
-
} from "../chunk-
|
|
17
|
+
} from "../chunk-Q5327DXK.js";
|
|
18
18
|
import {
|
|
19
19
|
DocNavigationProvider,
|
|
20
20
|
DocViewer,
|
|
@@ -27,26 +27,27 @@ import {
|
|
|
27
27
|
PersistentSidebar,
|
|
28
28
|
useDocNavigation,
|
|
29
29
|
useDocumentTree
|
|
30
|
-
} from "../chunk-
|
|
30
|
+
} from "../chunk-VYZCKY5K.js";
|
|
31
31
|
import {
|
|
32
32
|
FileDownloadCard,
|
|
33
33
|
GoogleSheetsViewer,
|
|
34
34
|
PdfViewer
|
|
35
|
-
} from "../chunk-
|
|
35
|
+
} from "../chunk-LO3KCLEF.js";
|
|
36
36
|
import {
|
|
37
37
|
PersistentPagination,
|
|
38
38
|
PersistentPaginationWrapper,
|
|
39
39
|
usePaginationLoading
|
|
40
|
-
} from "../chunk-
|
|
40
|
+
} from "../chunk-B2N4YX66.js";
|
|
41
41
|
import {
|
|
42
42
|
FaqAccordion,
|
|
43
|
+
FaqAskCard,
|
|
43
44
|
FaqDocumentPage,
|
|
44
45
|
FaqSection
|
|
45
|
-
} from "../chunk-
|
|
46
|
+
} from "../chunk-TORERAXD.js";
|
|
46
47
|
import {
|
|
47
48
|
GROUP_PAGE_SIZE,
|
|
48
49
|
RelatedContentSection
|
|
49
|
-
} from "../chunk-
|
|
50
|
+
} from "../chunk-PSMJYZMV.js";
|
|
50
51
|
import {
|
|
51
52
|
CveLink,
|
|
52
53
|
OnboardingStepCard,
|
|
@@ -56,7 +57,7 @@ import {
|
|
|
56
57
|
ShellTypeBadge,
|
|
57
58
|
SoftwareInfo,
|
|
58
59
|
SoftwareSourceBadge
|
|
59
|
-
} from "../chunk-
|
|
60
|
+
} from "../chunk-K2BYVPGR.js";
|
|
60
61
|
import {
|
|
61
62
|
AppHeader,
|
|
62
63
|
AppLayout,
|
|
@@ -81,14 +82,14 @@ import {
|
|
|
81
82
|
isMegaMenu,
|
|
82
83
|
navLinkLabel,
|
|
83
84
|
siteNavHasMobileMenus
|
|
84
|
-
} from "../chunk-
|
|
85
|
+
} from "../chunk-V6B2FBZK.js";
|
|
85
86
|
import {
|
|
86
87
|
MobileNavigationDropdown,
|
|
87
88
|
MultiLevelNavigation,
|
|
88
89
|
StickySectionNav,
|
|
89
90
|
useScrollSpy,
|
|
90
91
|
useSectionNavigation
|
|
91
|
-
} from "../chunk-
|
|
92
|
+
} from "../chunk-XW3Q623Q.js";
|
|
92
93
|
import {
|
|
93
94
|
DeliveryRow,
|
|
94
95
|
DevCardRowContent,
|
|
@@ -97,16 +98,16 @@ import {
|
|
|
97
98
|
DevSectionPage,
|
|
98
99
|
DevSectionView,
|
|
99
100
|
ListEmptyState
|
|
100
|
-
} from "../chunk-
|
|
101
|
+
} from "../chunk-7HYEQKN6.js";
|
|
101
102
|
import {
|
|
102
103
|
EmptyState,
|
|
103
104
|
UnifiedPagination
|
|
104
|
-
} from "../chunk-
|
|
105
|
-
import "../chunk-
|
|
105
|
+
} from "../chunk-URW23QUM.js";
|
|
106
|
+
import "../chunk-AZRI4XBP.js";
|
|
106
107
|
import {
|
|
107
108
|
ArticleAuthorByline,
|
|
108
109
|
DetailPageSkeleton
|
|
109
|
-
} from "../chunk-
|
|
110
|
+
} from "../chunk-B5LNX4GZ.js";
|
|
110
111
|
import {
|
|
111
112
|
DocSearchBar,
|
|
112
113
|
DocSearchResultRow,
|
|
@@ -114,10 +115,7 @@ import {
|
|
|
114
115
|
mapDocSearchResults,
|
|
115
116
|
resolveSearchResultAction,
|
|
116
117
|
useDocSearch
|
|
117
|
-
} from "../chunk-
|
|
118
|
-
import {
|
|
119
|
-
useSelfFetch
|
|
120
|
-
} from "../chunk-YBQQNDC7.js";
|
|
118
|
+
} from "../chunk-O3MKJU6A.js";
|
|
121
119
|
import {
|
|
122
120
|
AIEnrichButton,
|
|
123
121
|
AIEnrichSection,
|
|
@@ -704,7 +702,7 @@ import {
|
|
|
704
702
|
useTrackerClock,
|
|
705
703
|
useWalkthroughVideo,
|
|
706
704
|
usersCountLabel
|
|
707
|
-
} from "../chunk-
|
|
705
|
+
} from "../chunk-7IOU6BJE.js";
|
|
708
706
|
import {
|
|
709
707
|
Board,
|
|
710
708
|
BoardColumn,
|
|
@@ -779,7 +777,7 @@ import {
|
|
|
779
777
|
formatRemoteSessionOffset,
|
|
780
778
|
usePageActionsBottomPadding,
|
|
781
779
|
useRemoteSessionTimer
|
|
782
|
-
} from "../chunk-
|
|
780
|
+
} from "../chunk-YK3X74SF.js";
|
|
783
781
|
import {
|
|
784
782
|
CommandApprovalToast,
|
|
785
783
|
ToastCard,
|
|
@@ -791,7 +789,7 @@ import {
|
|
|
791
789
|
useOnboardingState,
|
|
792
790
|
useStickyToolbar,
|
|
793
791
|
useToast
|
|
794
|
-
} from "../chunk-
|
|
792
|
+
} from "../chunk-3HZ6XSZC.js";
|
|
795
793
|
import "../chunk-3K5ZLZE7.js";
|
|
796
794
|
import {
|
|
797
795
|
useEndpointsRuntime
|
|
@@ -806,7 +804,6 @@ import {
|
|
|
806
804
|
PaginationNext,
|
|
807
805
|
PaginationPrevious
|
|
808
806
|
} from "../chunk-WSDT7LYL.js";
|
|
809
|
-
import "../chunk-G3GRYDMS.js";
|
|
810
807
|
import {
|
|
811
808
|
Checkbox
|
|
812
809
|
} from "../chunk-PLWMIU72.js";
|
|
@@ -814,6 +811,7 @@ import {
|
|
|
814
811
|
ANNOUNCEMENT_CTA_DEFAULTS,
|
|
815
812
|
ANTHROPIC_SUPPORTED_IMAGE_MIME,
|
|
816
813
|
ASK_AI_OPEN_EVENT,
|
|
814
|
+
ASK_PROMPTS_DEFAULT_COUNT,
|
|
817
815
|
AUTO_CONTINUATION_DIRECTIVE_PREFIX,
|
|
818
816
|
AiAssistantInfo,
|
|
819
817
|
ApprovalRequestMessage,
|
|
@@ -821,6 +819,7 @@ import {
|
|
|
821
819
|
AskCard,
|
|
822
820
|
AskDisplay,
|
|
823
821
|
AskPrompts,
|
|
822
|
+
AssistantAskPrompts,
|
|
824
823
|
BlockCard,
|
|
825
824
|
CHAT_ATTACHMENT_CONCURRENT_UPLOADS_PER_USER,
|
|
826
825
|
CHAT_ATTACHMENT_MARKDOWN_PATTERN,
|
|
@@ -986,6 +985,7 @@ import {
|
|
|
986
985
|
UnarchiveChatModal,
|
|
987
986
|
UnifiedSkeleton,
|
|
988
987
|
UserDisplay,
|
|
988
|
+
VendorIcon,
|
|
989
989
|
VideoBiteCard,
|
|
990
990
|
VideoBitesStrip,
|
|
991
991
|
WALL_SKELETON_LABEL_CH,
|
|
@@ -993,6 +993,8 @@ import {
|
|
|
993
993
|
appendToTrailingAssistant,
|
|
994
994
|
applyToolExecutionToMessages,
|
|
995
995
|
approvalDisplaysInline,
|
|
996
|
+
assistantAvailable,
|
|
997
|
+
buildAskPromptsUrl,
|
|
996
998
|
buildAutoContinuationDirective,
|
|
997
999
|
buildCaptionsUrl,
|
|
998
1000
|
buildChatAttachmentViewUrl,
|
|
@@ -1048,6 +1050,7 @@ import {
|
|
|
1048
1050
|
getPlatformUrl,
|
|
1049
1051
|
getSourceIconName,
|
|
1050
1052
|
getSourceLabel,
|
|
1053
|
+
getVendorLogo,
|
|
1051
1054
|
groupByAspectRatio,
|
|
1052
1055
|
handleChatNavClick,
|
|
1053
1056
|
historicalToUnified,
|
|
@@ -1086,6 +1089,8 @@ import {
|
|
|
1086
1089
|
stripChatAttachmentMarkdown,
|
|
1087
1090
|
stripSameOriginToPath,
|
|
1088
1091
|
upsertTrailingCompaction,
|
|
1092
|
+
useAskPrompts,
|
|
1093
|
+
useAssistantOpen,
|
|
1089
1094
|
useCaptions,
|
|
1090
1095
|
useChat,
|
|
1091
1096
|
useChatAppearance,
|
|
@@ -1109,12 +1114,14 @@ import {
|
|
|
1109
1114
|
useSSE,
|
|
1110
1115
|
useScriptedStream,
|
|
1111
1116
|
useScrollFade,
|
|
1117
|
+
useShownAskPromptIds,
|
|
1118
|
+
useShownAskPrompts,
|
|
1112
1119
|
useSlashCommandRegistry,
|
|
1113
1120
|
useSlashCommands,
|
|
1114
1121
|
useSseChatAdapter,
|
|
1115
1122
|
useStableShallow,
|
|
1116
1123
|
useUnifiedChat
|
|
1117
|
-
} from "../chunk-
|
|
1124
|
+
} from "../chunk-PXAKSPLZ.js";
|
|
1118
1125
|
import {
|
|
1119
1126
|
ApprovalBatchMessage,
|
|
1120
1127
|
ApprovalStatusTag,
|
|
@@ -1137,6 +1144,7 @@ import {
|
|
|
1137
1144
|
useCollapsible,
|
|
1138
1145
|
usesCanonicalStatusStyle
|
|
1139
1146
|
} from "../chunk-2NASBO7O.js";
|
|
1147
|
+
import "../chunk-AFTRPEXO.js";
|
|
1140
1148
|
import {
|
|
1141
1149
|
APPROVAL_BLOCK_VARIANT,
|
|
1142
1150
|
APPROVAL_STATUS,
|
|
@@ -1159,7 +1167,7 @@ import {
|
|
|
1159
1167
|
SlashCommandSuggestions,
|
|
1160
1168
|
isStructuredContent,
|
|
1161
1169
|
normalizeContent
|
|
1162
|
-
} from "../chunk-
|
|
1170
|
+
} from "../chunk-ZPHOQDAE.js";
|
|
1163
1171
|
import {
|
|
1164
1172
|
ActionsMenu,
|
|
1165
1173
|
ActionsMenuDropdown,
|
|
@@ -1295,9 +1303,10 @@ import {
|
|
|
1295
1303
|
statusBadgeVariants,
|
|
1296
1304
|
toStripProfile,
|
|
1297
1305
|
useCoverImageFallback,
|
|
1306
|
+
useSelfFetch,
|
|
1298
1307
|
useVideoOriginPreconnect,
|
|
1299
1308
|
useVideoWarmup
|
|
1300
|
-
} from "../chunk-
|
|
1309
|
+
} from "../chunk-GANIUMRU.js";
|
|
1301
1310
|
import {
|
|
1302
1311
|
AgentMark
|
|
1303
1312
|
} from "../chunk-H3PKYE4N.js";
|
|
@@ -1310,7 +1319,7 @@ import {
|
|
|
1310
1319
|
getIconComponent,
|
|
1311
1320
|
normalizeIconKey,
|
|
1312
1321
|
resolveIcon
|
|
1313
|
-
} from "../chunk-
|
|
1322
|
+
} from "../chunk-742BGXNX.js";
|
|
1314
1323
|
import {
|
|
1315
1324
|
FloatingTooltip,
|
|
1316
1325
|
OPENFRAME_CLASSIFICATIONS,
|
|
@@ -1325,7 +1334,7 @@ import {
|
|
|
1325
1334
|
} from "../chunk-FBZMAPWO.js";
|
|
1326
1335
|
import {
|
|
1327
1336
|
positiveInt
|
|
1328
|
-
} from "../chunk-
|
|
1337
|
+
} from "../chunk-FSQQZFVG.js";
|
|
1329
1338
|
import {
|
|
1330
1339
|
useChatRuntime
|
|
1331
1340
|
} from "../chunk-E4ABZWTJ.js";
|
|
@@ -1741,113 +1750,7 @@ function AnnouncementBar({
|
|
|
1741
1750
|
|
|
1742
1751
|
// src/components/categories-cart.tsx
|
|
1743
1752
|
import { ChevronRight } from "lucide-react";
|
|
1744
|
-
|
|
1745
|
-
// src/utils/url-fix.ts
|
|
1746
|
-
function fixUrlDoubleSlashes(url) {
|
|
1747
|
-
if (!url) return url;
|
|
1748
|
-
const protocolMatch = url.match(/^(https?:\/\/)/);
|
|
1749
|
-
if (protocolMatch) {
|
|
1750
|
-
const protocol = protocolMatch[1];
|
|
1751
|
-
const rest = url.substring(protocol.length);
|
|
1752
|
-
const fixedRest = rest.replace(/\/+/g, "/");
|
|
1753
|
-
return protocol + fixedRest;
|
|
1754
|
-
}
|
|
1755
|
-
return url.replace(/\/+/g, "/");
|
|
1756
|
-
}
|
|
1757
|
-
function fixSupabaseStorageUrl(url) {
|
|
1758
|
-
if (!url) return url;
|
|
1759
|
-
const SUPABASE_STORAGE_SEGMENT = "/storage/v1/object/public/";
|
|
1760
|
-
if (url.includes(SUPABASE_STORAGE_SEGMENT)) {
|
|
1761
|
-
return fixUrlDoubleSlashes(url);
|
|
1762
|
-
}
|
|
1763
|
-
return url;
|
|
1764
|
-
}
|
|
1765
|
-
|
|
1766
|
-
// src/utils/vendor-media-stub.ts
|
|
1767
|
-
function getVendorLogo(vendor) {
|
|
1768
|
-
if (vendor.logo_url) {
|
|
1769
|
-
return fixSupabaseStorageUrl(vendor.logo_url);
|
|
1770
|
-
}
|
|
1771
|
-
if (vendor.logo) {
|
|
1772
|
-
return fixSupabaseStorageUrl(vendor.logo);
|
|
1773
|
-
}
|
|
1774
|
-
const logoMedia = vendor.vendor_media?.find((m) => m.media_type === "logo");
|
|
1775
|
-
if (logoMedia?.media_url) {
|
|
1776
|
-
return fixSupabaseStorageUrl(logoMedia.media_url);
|
|
1777
|
-
}
|
|
1778
|
-
return null;
|
|
1779
|
-
}
|
|
1780
|
-
|
|
1781
|
-
// src/components/vendor-icon.tsx
|
|
1782
|
-
import { jsx as jsx2 } from "react/jsx-runtime";
|
|
1783
|
-
var sizeClasses = {
|
|
1784
|
-
xs: "w-6 h-6",
|
|
1785
|
-
sm: "w-8 h-8",
|
|
1786
|
-
md: "w-10 h-10",
|
|
1787
|
-
lg: "w-12 h-12",
|
|
1788
|
-
l: "w-14 h-14",
|
|
1789
|
-
xl: "w-16 h-16"
|
|
1790
|
-
};
|
|
1791
|
-
var imageSizeMap = {
|
|
1792
|
-
xs: { width: 16, height: 16 },
|
|
1793
|
-
sm: { width: 20, height: 20 },
|
|
1794
|
-
md: { width: 32, height: 32 },
|
|
1795
|
-
lg: { width: 40, height: 40 },
|
|
1796
|
-
l: { width: 38, height: 38 },
|
|
1797
|
-
xl: { width: 40, height: 40 }
|
|
1798
|
-
};
|
|
1799
|
-
var tilePxMap = {
|
|
1800
|
-
xs: 24,
|
|
1801
|
-
sm: 32,
|
|
1802
|
-
md: 40,
|
|
1803
|
-
lg: 48,
|
|
1804
|
-
l: 56,
|
|
1805
|
-
xl: 64
|
|
1806
|
-
};
|
|
1807
|
-
var backgroundClasses = {
|
|
1808
|
-
dark: "bg-ods-bg border border-ods-border",
|
|
1809
|
-
light: "bg-ods-card border border-ods-border",
|
|
1810
|
-
white: "bg-white border border-[#E5E5E5]"
|
|
1811
|
-
};
|
|
1812
|
-
function VendorIcon({
|
|
1813
|
-
vendor,
|
|
1814
|
-
size = "md",
|
|
1815
|
-
className = "",
|
|
1816
|
-
showBackground = true,
|
|
1817
|
-
backgroundStyle = "dark"
|
|
1818
|
-
}) {
|
|
1819
|
-
const logoUrl = getVendorLogo(vendor);
|
|
1820
|
-
const { width, height } = showBackground ? imageSizeMap[size] : { width: tilePxMap[size], height: tilePxMap[size] };
|
|
1821
|
-
const containerClasses = cn(
|
|
1822
|
-
sizeClasses[size],
|
|
1823
|
-
"flex flex-shrink-0 items-center justify-center rounded-lg",
|
|
1824
|
-
showBackground && backgroundClasses[backgroundStyle],
|
|
1825
|
-
!showBackground && "overflow-hidden",
|
|
1826
|
-
className
|
|
1827
|
-
);
|
|
1828
|
-
return /* @__PURE__ */ jsx2("div", { className: containerClasses, children: logoUrl ? /* @__PURE__ */ jsx2(
|
|
1829
|
-
next_image_default,
|
|
1830
|
-
{
|
|
1831
|
-
src: getProxiedImageUrl2(logoUrl) || logoUrl,
|
|
1832
|
-
alt: `${vendor.title} logo`,
|
|
1833
|
-
width,
|
|
1834
|
-
height,
|
|
1835
|
-
className: cn("object-contain", showBackground ? "p-1" : "h-full w-full")
|
|
1836
|
-
}
|
|
1837
|
-
) : /* @__PURE__ */ jsx2(
|
|
1838
|
-
"div",
|
|
1839
|
-
{
|
|
1840
|
-
className: cn(
|
|
1841
|
-
"flex items-center justify-center uppercase text-h6",
|
|
1842
|
-
backgroundStyle === "white" ? "text-[#333333]" : "text-ods-text-secondary"
|
|
1843
|
-
),
|
|
1844
|
-
children: vendor.title?.substring(0, 2) || "??"
|
|
1845
|
-
}
|
|
1846
|
-
) });
|
|
1847
|
-
}
|
|
1848
|
-
|
|
1849
|
-
// src/components/categories-cart.tsx
|
|
1850
|
-
import { jsx as jsx3, jsxs as jsxs2 } from "react/jsx-runtime";
|
|
1753
|
+
import { jsx as jsx2, jsxs as jsxs2 } from "react/jsx-runtime";
|
|
1851
1754
|
function CategoriesCart({
|
|
1852
1755
|
category,
|
|
1853
1756
|
vendors = [],
|
|
@@ -1856,23 +1759,23 @@ function CategoriesCart({
|
|
|
1856
1759
|
isLoading = false,
|
|
1857
1760
|
className = ""
|
|
1858
1761
|
}) {
|
|
1859
|
-
return /* @__PURE__ */
|
|
1762
|
+
return /* @__PURE__ */ jsx2(
|
|
1860
1763
|
next_link_default,
|
|
1861
1764
|
{
|
|
1862
1765
|
href: `/vendors?category=${category.slug}`,
|
|
1863
1766
|
className: `group relative block rounded-lg border border-ods-border bg-ods-card p-3 pb-4 transition-colors hover:border-ods-accent md:p-4 md:pb-6 ${className}`,
|
|
1864
1767
|
children: /* @__PURE__ */ jsxs2("div", { className: "flex flex-col gap-4 md:gap-6", children: [
|
|
1865
1768
|
/* @__PURE__ */ jsxs2("div", { className: "relative h-8 w-full overflow-hidden md:h-10", children: [
|
|
1866
|
-
/* @__PURE__ */
|
|
1769
|
+
/* @__PURE__ */ jsx2("div", { className: "flex w-full gap-2 md:gap-3", children: isLoading ? (
|
|
1867
1770
|
// Skeleton loading for vendor icons
|
|
1868
|
-
Array.from({ length: 20 }).map((_, index) => /* @__PURE__ */
|
|
1771
|
+
Array.from({ length: 20 }).map((_, index) => /* @__PURE__ */ jsx2(
|
|
1869
1772
|
"div",
|
|
1870
1773
|
{
|
|
1871
1774
|
className: "h-8 w-8 flex-shrink-0 animate-pulse rounded bg-ods-border md:h-10 md:w-10"
|
|
1872
1775
|
},
|
|
1873
1776
|
index
|
|
1874
1777
|
))
|
|
1875
|
-
) : vendors && vendors.length > 0 ? vendors.map((vendor) => /* @__PURE__ */
|
|
1778
|
+
) : vendors && vendors.length > 0 ? vendors.map((vendor) => /* @__PURE__ */ jsx2(
|
|
1876
1779
|
VendorIcon,
|
|
1877
1780
|
{
|
|
1878
1781
|
vendor,
|
|
@@ -1882,21 +1785,21 @@ function CategoriesCart({
|
|
|
1882
1785
|
vendor.id
|
|
1883
1786
|
)) : (
|
|
1884
1787
|
// No vendors found - show placeholder icons
|
|
1885
|
-
Array.from({ length: 6 }).map((_, index) => /* @__PURE__ */
|
|
1788
|
+
Array.from({ length: 6 }).map((_, index) => /* @__PURE__ */ jsx2(
|
|
1886
1789
|
"div",
|
|
1887
1790
|
{
|
|
1888
1791
|
className: "flex h-8 w-8 flex-shrink-0 items-center justify-center rounded bg-ods-border opacity-30 md:h-10 md:w-10",
|
|
1889
|
-
children: /* @__PURE__ */
|
|
1792
|
+
children: /* @__PURE__ */ jsx2("div", { className: "h-4 w-4 rounded-sm bg-ods-skeleton md:h-6 md:w-6" })
|
|
1890
1793
|
},
|
|
1891
1794
|
index
|
|
1892
1795
|
))
|
|
1893
1796
|
) }),
|
|
1894
|
-
/* @__PURE__ */
|
|
1895
|
-
/* @__PURE__ */
|
|
1797
|
+
/* @__PURE__ */ jsx2("div", { className: "pointer-events-none absolute inset-y-0 left-0 w-4 bg-gradient-to-r from-[#212121] to-transparent md:w-6" }),
|
|
1798
|
+
/* @__PURE__ */ jsx2("div", { className: "pointer-events-none absolute inset-y-0 right-0 w-4 bg-gradient-to-l from-[#212121] to-transparent md:w-6" })
|
|
1896
1799
|
] }),
|
|
1897
1800
|
/* @__PURE__ */ jsxs2("div", { className: "flex flex-col gap-2", children: [
|
|
1898
1801
|
/* @__PURE__ */ jsxs2("div", { className: "flex flex-col gap-1", children: [
|
|
1899
|
-
/* @__PURE__ */
|
|
1802
|
+
/* @__PURE__ */ jsx2("h3", { className: "text-ods-text-primary transition-colors text-h3 group-hover:text-ods-accent", children: category.name }),
|
|
1900
1803
|
/* @__PURE__ */ jsxs2("p", { className: "text-ods-text-secondary text-h6", children: [
|
|
1901
1804
|
subcategoryCount || 0,
|
|
1902
1805
|
" Subcategories \u2022 ",
|
|
@@ -1905,13 +1808,13 @@ function CategoriesCart({
|
|
|
1905
1808
|
] })
|
|
1906
1809
|
] }),
|
|
1907
1810
|
/* @__PURE__ */ jsxs2("div", { className: "flex items-start justify-between gap-4 md:items-end md:gap-6", children: [
|
|
1908
|
-
/* @__PURE__ */
|
|
1909
|
-
/* @__PURE__ */
|
|
1811
|
+
/* @__PURE__ */ jsx2("p", { className: "flex-1 text-ods-text-primary text-h4", children: category.description }),
|
|
1812
|
+
/* @__PURE__ */ jsx2(
|
|
1910
1813
|
"div",
|
|
1911
1814
|
{
|
|
1912
1815
|
className: "flex h-10 w-10 flex-shrink-0 items-center justify-center rounded-md border border-ods-border bg-transparent transition-colors group-hover:bg-ods-accent md:h-12 md:w-12",
|
|
1913
1816
|
"aria-label": `View ${category.name} category`,
|
|
1914
|
-
children: /* @__PURE__ */
|
|
1817
|
+
children: /* @__PURE__ */ jsx2(ChevronRight, { className: "h-5 w-5 text-ods-text-primary transition-colors group-hover:text-ods-text-on-accent md:h-6 md:w-6" })
|
|
1915
1818
|
}
|
|
1916
1819
|
)
|
|
1917
1820
|
] })
|
|
@@ -1922,12 +1825,12 @@ function CategoriesCart({
|
|
|
1922
1825
|
}
|
|
1923
1826
|
|
|
1924
1827
|
// src/components/category-card.tsx
|
|
1925
|
-
import { jsx as
|
|
1828
|
+
import { jsx as jsx3, jsxs as jsxs3 } from "react/jsx-runtime";
|
|
1926
1829
|
function CategoryCard({ name, description, categoryCount, productCount, icons = [] }) {
|
|
1927
1830
|
return /* @__PURE__ */ jsxs3("article", { className: "box-border flex min-w-0 flex-col rounded-[12px] border border-ods-border bg-ods-card p-8", children: [
|
|
1928
|
-
/* @__PURE__ */
|
|
1831
|
+
/* @__PURE__ */ jsx3("div", { className: "mb-8 flex items-center justify-center gap-6", children: (icons.length > 0 ? icons : Array(10).fill(null)).map((icon, i) => /* @__PURE__ */ jsx3("div", { className: "flex h-10 w-10 items-center justify-center rounded bg-ods-skeleton", children: icon }, i)) }),
|
|
1929
1832
|
/* @__PURE__ */ jsxs3("div", { className: "flex flex-1 flex-col", children: [
|
|
1930
|
-
/* @__PURE__ */
|
|
1833
|
+
/* @__PURE__ */ jsx3("h2", { className: "mb-2 text-left text-ods-text-primary text-h2", children: name }),
|
|
1931
1834
|
/* @__PURE__ */ jsxs3("div", { className: "mb-4 text-left text-ods-text-secondary text-h6", children: [
|
|
1932
1835
|
categoryCount,
|
|
1933
1836
|
" Categories \u2022 ",
|
|
@@ -1935,14 +1838,14 @@ function CategoryCard({ name, description, categoryCount, productCount, icons =
|
|
|
1935
1838
|
" Products"
|
|
1936
1839
|
] }),
|
|
1937
1840
|
/* @__PURE__ */ jsxs3("div", { className: "flex flex-row items-start", children: [
|
|
1938
|
-
/* @__PURE__ */
|
|
1939
|
-
/* @__PURE__ */
|
|
1841
|
+
/* @__PURE__ */ jsx3("p", { className: "flex-1 text-left text-ods-text-primary text-h6", children: description }),
|
|
1842
|
+
/* @__PURE__ */ jsx3(
|
|
1940
1843
|
"button",
|
|
1941
1844
|
{
|
|
1942
1845
|
className: "ml-4 flex h-12 w-12 items-center justify-center rounded-[6px] border border-ods-border bg-transparent transition-colors hover:bg-ods-accent",
|
|
1943
1846
|
style: { minWidth: 48, minHeight: 48 },
|
|
1944
1847
|
"aria-label": `View ${name}`,
|
|
1945
|
-
children: /* @__PURE__ */
|
|
1848
|
+
children: /* @__PURE__ */ jsx3("svg", { width: "24", height: "24", fill: "none", stroke: "#FAFAFA", strokeWidth: "2", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx3("path", { d: "M9 18l6-6-6-6" }) })
|
|
1946
1849
|
}
|
|
1947
1850
|
)
|
|
1948
1851
|
] })
|
|
@@ -1952,7 +1855,7 @@ function CategoryCard({ name, description, categoryCount, productCount, icons =
|
|
|
1952
1855
|
|
|
1953
1856
|
// src/components/auth-stub.tsx
|
|
1954
1857
|
import { createContext } from "react";
|
|
1955
|
-
import { jsx as
|
|
1858
|
+
import { jsx as jsx4 } from "react/jsx-runtime";
|
|
1956
1859
|
var AuthContext = createContext({
|
|
1957
1860
|
user: null,
|
|
1958
1861
|
isLoading: false
|
|
@@ -1977,24 +1880,24 @@ function useAuth() {
|
|
|
1977
1880
|
};
|
|
1978
1881
|
}
|
|
1979
1882
|
function AuthProvider({ children }) {
|
|
1980
|
-
return /* @__PURE__ */
|
|
1883
|
+
return /* @__PURE__ */ jsx4(AuthContext.Provider, { value: { user: { id: "mock-user-id", name: "Mock User" }, isLoading: false }, children });
|
|
1981
1884
|
}
|
|
1982
1885
|
|
|
1983
1886
|
// src/components/user-summary-stub.tsx
|
|
1984
|
-
import { jsx as
|
|
1887
|
+
import { jsx as jsx5, jsxs as jsxs4 } from "react/jsx-runtime";
|
|
1985
1888
|
var getAuthProviderIcon = (provider) => {
|
|
1986
1889
|
const p = provider.toLowerCase();
|
|
1987
1890
|
switch (p) {
|
|
1988
1891
|
case "google":
|
|
1989
|
-
return /* @__PURE__ */
|
|
1892
|
+
return /* @__PURE__ */ jsx5(next_image_default, { src: "/icons/google-logo.svg", alt: "Google", width: 16, height: 16, className: "h-4 w-4" });
|
|
1990
1893
|
case "microsoft":
|
|
1991
1894
|
case "azure":
|
|
1992
|
-
return /* @__PURE__ */
|
|
1895
|
+
return /* @__PURE__ */ jsx5(next_image_default, { src: "/icons/microsoft-logo.svg", alt: "Microsoft", width: 16, height: 16, className: "h-4 w-4" });
|
|
1993
1896
|
case "slack":
|
|
1994
1897
|
case "slack_oidc":
|
|
1995
|
-
return /* @__PURE__ */
|
|
1898
|
+
return /* @__PURE__ */ jsx5("div", { className: "h-4 w-4 rounded-full bg-ods-text-secondary" });
|
|
1996
1899
|
default:
|
|
1997
|
-
return /* @__PURE__ */
|
|
1900
|
+
return /* @__PURE__ */ jsx5("div", { className: "h-4 w-4 rounded-full bg-ods-text-secondary" });
|
|
1998
1901
|
}
|
|
1999
1902
|
};
|
|
2000
1903
|
var formatNumber = (n) => {
|
|
@@ -2025,7 +1928,7 @@ function UserSummary({
|
|
|
2025
1928
|
if (compact) {
|
|
2026
1929
|
return /* @__PURE__ */ jsxs4("div", { className: "flex min-w-0 items-center gap-3", children: [
|
|
2027
1930
|
/* @__PURE__ */ jsxs4("div", { className: "relative shrink-0", children: [
|
|
2028
|
-
avatarUrl ? /* @__PURE__ */
|
|
1931
|
+
avatarUrl ? /* @__PURE__ */ jsx5(
|
|
2029
1932
|
next_image_default,
|
|
2030
1933
|
{
|
|
2031
1934
|
src: getProxiedImageUrl2(avatarUrl) ?? avatarUrl,
|
|
@@ -2034,7 +1937,7 @@ function UserSummary({
|
|
|
2034
1937
|
height: avatarSize,
|
|
2035
1938
|
className: "rounded-lg object-cover"
|
|
2036
1939
|
}
|
|
2037
|
-
) : /* @__PURE__ */
|
|
1940
|
+
) : /* @__PURE__ */ jsx5(
|
|
2038
1941
|
"div",
|
|
2039
1942
|
{
|
|
2040
1943
|
className: "flex items-center justify-center rounded-lg bg-ods-accent font-heading font-bold text-ods-text-on-accent",
|
|
@@ -2042,7 +1945,7 @@ function UserSummary({
|
|
|
2042
1945
|
children: name.split(" ").map((n) => n.charAt(0)).join("").slice(0, 2)
|
|
2043
1946
|
}
|
|
2044
1947
|
),
|
|
2045
|
-
mspPreview && mspPreview.logoUrl && /* @__PURE__ */
|
|
1948
|
+
mspPreview && mspPreview.logoUrl && /* @__PURE__ */ jsx5(
|
|
2046
1949
|
next_image_default,
|
|
2047
1950
|
{
|
|
2048
1951
|
src: getProxiedImageUrl2(mspPreview.logoUrl) ?? mspPreview.logoUrl,
|
|
@@ -2068,7 +1971,7 @@ function UserSummary({
|
|
|
2068
1971
|
]
|
|
2069
1972
|
}
|
|
2070
1973
|
),
|
|
2071
|
-
/* @__PURE__ */
|
|
1974
|
+
/* @__PURE__ */ jsx5(
|
|
2072
1975
|
"p",
|
|
2073
1976
|
{
|
|
2074
1977
|
className: "truncate text-ods-text-secondary text-h6",
|
|
@@ -2082,7 +1985,7 @@ function UserSummary({
|
|
|
2082
1985
|
return /* @__PURE__ */ jsxs4("div", { className: "flex w-full flex-col gap-4", children: [
|
|
2083
1986
|
/* @__PURE__ */ jsxs4("div", { className: "flex w-full items-start gap-6", children: [
|
|
2084
1987
|
/* @__PURE__ */ jsxs4("div", { className: "relative h-24 w-24 shrink-0 overflow-visible", children: [
|
|
2085
|
-
avatarUrl ? /* @__PURE__ */
|
|
1988
|
+
avatarUrl ? /* @__PURE__ */ jsx5(
|
|
2086
1989
|
next_image_default,
|
|
2087
1990
|
{
|
|
2088
1991
|
src: getProxiedImageUrl2(avatarUrl) ?? avatarUrl,
|
|
@@ -2091,8 +1994,8 @@ function UserSummary({
|
|
|
2091
1994
|
height: 96,
|
|
2092
1995
|
className: "rounded-full object-cover"
|
|
2093
1996
|
}
|
|
2094
|
-
) : /* @__PURE__ */
|
|
2095
|
-
mspPreview && /* @__PURE__ */
|
|
1997
|
+
) : /* @__PURE__ */ jsx5("div", { className: "flex h-full w-full items-center justify-center rounded-full border border-ods-border bg-ods-card font-heading text-3xl text-ods-text-secondary", children: name.charAt(0).toUpperCase() }),
|
|
1998
|
+
mspPreview && /* @__PURE__ */ jsx5("div", { className: "absolute -bottom-1 -right-1 flex size-10 select-none items-center justify-center overflow-hidden rounded-full bg-ods-bg ring-2 ring-ods-border", children: mspPreview.logoUrl ? /* @__PURE__ */ jsx5(
|
|
2096
1999
|
next_image_default,
|
|
2097
2000
|
{
|
|
2098
2001
|
src: getProxiedImageUrl2(mspPreview.logoUrl) ?? mspPreview.logoUrl,
|
|
@@ -2101,12 +2004,12 @@ function UserSummary({
|
|
|
2101
2004
|
height: 40,
|
|
2102
2005
|
className: "object-cover"
|
|
2103
2006
|
}
|
|
2104
|
-
) : /* @__PURE__ */
|
|
2007
|
+
) : /* @__PURE__ */ jsx5("span", { className: "font-heading text-sm font-bold text-ods-text-primary", children: mspPreview.name?.charAt(0).toUpperCase() || "?" }) })
|
|
2105
2008
|
] }),
|
|
2106
2009
|
/* @__PURE__ */ jsxs4("div", { className: "grid flex-1 grid-cols-[1fr_auto] gap-4", children: [
|
|
2107
2010
|
/* @__PURE__ */ jsxs4("div", { className: "flex min-h-[6rem] flex-col justify-center space-y-3 truncate", children: [
|
|
2108
|
-
/* @__PURE__ */
|
|
2109
|
-
/* @__PURE__ */
|
|
2011
|
+
/* @__PURE__ */ jsx5("p", { className: "truncate leading-none text-ods-text-primary text-h2", title: name, children: name }),
|
|
2012
|
+
/* @__PURE__ */ jsx5(
|
|
2110
2013
|
"p",
|
|
2111
2014
|
{
|
|
2112
2015
|
className: "truncate break-all text-ods-text-secondary text-h4",
|
|
@@ -2122,30 +2025,30 @@ function UserSummary({
|
|
|
2122
2025
|
typeof mspPreview.annualRevenue === "number" ? `$${formatNumber(mspPreview.annualRevenue)}` : null
|
|
2123
2026
|
].filter(Boolean);
|
|
2124
2027
|
const mspTitle = mspSegments.join(" \u2022 ");
|
|
2125
|
-
return /* @__PURE__ */
|
|
2028
|
+
return /* @__PURE__ */ jsx5("p", { className: "truncate text-ods-text-primary text-h6", title: mspTitle, children: mspSegments.flatMap((txt, idx) => idx === 0 ? [txt] : [" \u2022 ", txt]).map((seg, idx) => /* @__PURE__ */ jsx5("span", { className: seg === "\u2022" ? "text-ods-text-secondary" : "", children: seg }, idx)) });
|
|
2126
2029
|
})()
|
|
2127
2030
|
] }),
|
|
2128
2031
|
(authProviders?.length || showEditButton) && /* @__PURE__ */ jsxs4("div", { className: "hidden min-h-[6rem] flex-shrink-0 flex-col items-end justify-between md:flex", children: [
|
|
2129
2032
|
authProviders && authProviders.length > 0 && /* @__PURE__ */ jsxs4("div", { className: "flex items-center gap-2", children: [
|
|
2130
|
-
/* @__PURE__ */
|
|
2131
|
-
/* @__PURE__ */
|
|
2033
|
+
/* @__PURE__ */ jsx5("span", { className: "select-none whitespace-nowrap text-ods-text-secondary text-h6", children: "Authorized by" }),
|
|
2034
|
+
/* @__PURE__ */ jsx5("div", { className: "flex items-center gap-2", children: authProviders.map((p) => /* @__PURE__ */ jsx5("div", { className: "flex h-4 w-4 items-center justify-center", children: getAuthProviderIcon(p) }, p)) })
|
|
2132
2035
|
] }),
|
|
2133
|
-
showEditButton && /* @__PURE__ */
|
|
2036
|
+
showEditButton && /* @__PURE__ */ jsx5("div", { className: "text-ods-text-secondary text-h6", children: "Edit Profile" })
|
|
2134
2037
|
] })
|
|
2135
2038
|
] })
|
|
2136
2039
|
] }),
|
|
2137
2040
|
(authProviders?.length || showEditButton) && /* @__PURE__ */ jsxs4("div", { className: "flex w-full items-center justify-between gap-4 md:hidden", children: [
|
|
2138
2041
|
authProviders && authProviders.length > 0 && /* @__PURE__ */ jsxs4("div", { className: "flex items-center gap-2", children: [
|
|
2139
|
-
/* @__PURE__ */
|
|
2140
|
-
/* @__PURE__ */
|
|
2042
|
+
/* @__PURE__ */ jsx5("span", { className: "select-none whitespace-nowrap text-ods-text-secondary text-h6", children: "Authorized by" }),
|
|
2043
|
+
/* @__PURE__ */ jsx5("div", { className: "flex items-center gap-2", children: authProviders.map((p) => /* @__PURE__ */ jsx5("div", { className: "flex h-4 w-4 items-center justify-center", children: getAuthProviderIcon(p) }, p)) })
|
|
2141
2044
|
] }),
|
|
2142
|
-
showEditButton && /* @__PURE__ */
|
|
2045
|
+
showEditButton && /* @__PURE__ */ jsx5("div", { className: "text-ods-text-secondary text-h6", children: "Edit Profile" })
|
|
2143
2046
|
] })
|
|
2144
2047
|
] });
|
|
2145
2048
|
}
|
|
2146
2049
|
|
|
2147
2050
|
// src/components/vendor-display-button.tsx
|
|
2148
|
-
import { jsx as
|
|
2051
|
+
import { jsx as jsx6, jsxs as jsxs5 } from "react/jsx-runtime";
|
|
2149
2052
|
function VendorDisplayButton({ vendor, onClick, variant = "default", externalUrl }) {
|
|
2150
2053
|
const handleClick = () => {
|
|
2151
2054
|
if (externalUrl && vendor.slug) {
|
|
@@ -2162,7 +2065,7 @@ function VendorDisplayButton({ vendor, onClick, variant = "default", externalUrl
|
|
|
2162
2065
|
onClick: handleClick,
|
|
2163
2066
|
className: "inline-flex items-center gap-2 rounded-full border border-ods-border bg-ods-card px-3 py-1.5 transition-colors hover:border-ods-accent/50",
|
|
2164
2067
|
children: [
|
|
2165
|
-
logoUrl ? /* @__PURE__ */
|
|
2068
|
+
logoUrl ? /* @__PURE__ */ jsx6("div", { className: "h-5 w-5 flex-shrink-0 overflow-hidden rounded", children: /* @__PURE__ */ jsx6(
|
|
2166
2069
|
next_image_default,
|
|
2167
2070
|
{
|
|
2168
2071
|
src: getProxiedImageUrl2(logoUrl) || logoUrl,
|
|
@@ -2171,8 +2074,8 @@ function VendorDisplayButton({ vendor, onClick, variant = "default", externalUrl
|
|
|
2171
2074
|
height: 20,
|
|
2172
2075
|
className: "h-full w-full object-cover"
|
|
2173
2076
|
}
|
|
2174
|
-
) }) : /* @__PURE__ */
|
|
2175
|
-
/* @__PURE__ */
|
|
2077
|
+
) }) : /* @__PURE__ */ jsx6("div", { className: "flex h-5 w-5 flex-shrink-0 items-center justify-center rounded bg-ods-border", children: /* @__PURE__ */ jsx6("span", { className: "text-[10px] font-medium text-ods-text-secondary", children: vendor.title.charAt(0).toUpperCase() }) }),
|
|
2078
|
+
/* @__PURE__ */ jsx6("span", { className: "text-ods-text-primary text-h6", children: vendor.title })
|
|
2176
2079
|
]
|
|
2177
2080
|
}
|
|
2178
2081
|
);
|
|
@@ -2183,7 +2086,7 @@ function VendorDisplayButton({ vendor, onClick, variant = "default", externalUrl
|
|
|
2183
2086
|
onClick: handleClick,
|
|
2184
2087
|
className: "flex max-w-full items-center gap-2 overflow-hidden rounded-lg border border-ods-border bg-ods-card px-3 py-2 transition-colors hover:border-ods-accent",
|
|
2185
2088
|
children: [
|
|
2186
|
-
logoUrl ? /* @__PURE__ */
|
|
2089
|
+
logoUrl ? /* @__PURE__ */ jsx6("div", { className: "flex h-8 w-8 flex-shrink-0 items-center justify-center rounded-lg border border-ods-border bg-ods-card", children: /* @__PURE__ */ jsx6(
|
|
2187
2090
|
next_image_default,
|
|
2188
2091
|
{
|
|
2189
2092
|
src: getProxiedImageUrl2(logoUrl) || logoUrl,
|
|
@@ -2192,15 +2095,15 @@ function VendorDisplayButton({ vendor, onClick, variant = "default", externalUrl
|
|
|
2192
2095
|
height: 24,
|
|
2193
2096
|
className: "rounded object-cover"
|
|
2194
2097
|
}
|
|
2195
|
-
) }) : /* @__PURE__ */
|
|
2196
|
-
/* @__PURE__ */
|
|
2098
|
+
) }) : /* @__PURE__ */ jsx6("div", { className: "flex h-8 w-8 flex-shrink-0 items-center justify-center rounded-lg border border-ods-border bg-ods-border", children: /* @__PURE__ */ jsx6("span", { className: "text-ods-text-primary text-h6", children: vendor.title.charAt(0) }) }),
|
|
2099
|
+
/* @__PURE__ */ jsx6("span", { className: "min-w-0 truncate text-ods-text-primary text-h4", title: vendor.title, children: vendor.title })
|
|
2197
2100
|
]
|
|
2198
2101
|
}
|
|
2199
2102
|
);
|
|
2200
2103
|
}
|
|
2201
2104
|
|
|
2202
2105
|
// src/components/comment-card.tsx
|
|
2203
|
-
import { Fragment, jsx as
|
|
2106
|
+
import { Fragment, jsx as jsx7, jsxs as jsxs6 } from "react/jsx-runtime";
|
|
2204
2107
|
function CommentCard({
|
|
2205
2108
|
comment,
|
|
2206
2109
|
onViewProduct,
|
|
@@ -2229,11 +2132,11 @@ function CommentCard({
|
|
|
2229
2132
|
style: { maxWidth: "100%", wordBreak: "break-word" },
|
|
2230
2133
|
children: [
|
|
2231
2134
|
/* @__PURE__ */ jsxs6("div", { className: "mb-3 flex w-full flex-col gap-3 min-[420px]:flex-row min-[420px]:items-center min-[420px]:justify-between min-[420px]:gap-2", children: [
|
|
2232
|
-
/* @__PURE__ */
|
|
2233
|
-
/* @__PURE__ */
|
|
2135
|
+
/* @__PURE__ */ jsx7("div", { className: "flex min-w-0 flex-1 items-center gap-2", children: leadWith === "vendor" && comment.vendor ? /* @__PURE__ */ jsxs6(Fragment, { children: [
|
|
2136
|
+
/* @__PURE__ */ jsx7(VendorDisplayButton, { vendor: comment.vendor, onClick: onViewProduct || (() => {
|
|
2234
2137
|
}) }),
|
|
2235
|
-
/* @__PURE__ */
|
|
2236
|
-
] }) : comment.user ? /* @__PURE__ */
|
|
2138
|
+
/* @__PURE__ */ jsx7("span", { className: "flex-shrink-0 whitespace-nowrap text-ods-text-secondary text-h6", children: formatActivityTime(comment.createdAt) })
|
|
2139
|
+
] }) : comment.user ? /* @__PURE__ */ jsx7(
|
|
2237
2140
|
UserSummary,
|
|
2238
2141
|
{
|
|
2239
2142
|
name: comment.user.name,
|
|
@@ -2253,7 +2156,7 @@ function CommentCard({
|
|
|
2253
2156
|
authProviders: []
|
|
2254
2157
|
}
|
|
2255
2158
|
) : null }),
|
|
2256
|
-
/* @__PURE__ */
|
|
2159
|
+
/* @__PURE__ */ jsx7("div", { className: "flex justify-start gap-2 min-[420px]:justify-end", children: showDeleteButton && onDeleteComment && /* @__PURE__ */ jsx7(
|
|
2257
2160
|
Button,
|
|
2258
2161
|
{
|
|
2259
2162
|
onClick: () => onDeleteComment(comment.id),
|
|
@@ -2270,14 +2173,14 @@ function CommentCard({
|
|
|
2270
2173
|
xmlns: "http://www.w3.org/2000/svg",
|
|
2271
2174
|
className: "text-ods-text-primary",
|
|
2272
2175
|
children: [
|
|
2273
|
-
/* @__PURE__ */
|
|
2176
|
+
/* @__PURE__ */ jsx7(
|
|
2274
2177
|
"path",
|
|
2275
2178
|
{
|
|
2276
2179
|
d: "M18.6025 4.37939C19.221 4.43597 19.6768 4.98399 19.6206 5.60254L18.5176 17.7358C18.4492 18.4886 18.3924 19.1183 18.3052 19.6299C18.2155 20.1552 18.0809 20.6447 17.8101 21.1021C17.4444 21.7195 16.9245 22.2292 16.3042 22.583L16.0317 22.7251C15.5519 22.9533 15.0526 23.0438 14.5215 23.0854C14.0042 23.126 13.3727 23.125 12.6172 23.125H9.38281C8.62726 23.125 7.9958 23.126 7.47852 23.0854C7.01357 23.049 6.57289 22.975 6.14844 22.8042L5.96826 22.7251C5.32037 22.4169 4.76543 21.9454 4.35693 21.3599L4.18994 21.1021C3.91912 20.6447 3.78445 20.1552 3.69482 19.6299C3.65123 19.3743 3.61556 19.0894 3.58203 18.7744L3.48242 17.7358L2.37939 5.60254L2.375 5.48682C2.38099 4.91684 2.81768 4.43244 3.39746 4.37939C3.97776 4.32664 4.496 4.72462 4.60449 5.28467L4.62061 5.39746L5.72363 17.5322C5.79528 18.3203 5.84358 18.8475 5.9126 19.252C5.97923 19.6424 6.05232 19.8298 6.12646 19.9551L6.28467 20.1836C6.45963 20.3987 6.68118 20.5732 6.93359 20.6934L7.04639 20.7388C7.17478 20.7822 7.35781 20.8195 7.6543 20.8428C8.06325 20.8749 8.59186 20.875 9.38281 20.875H12.6172C13.4081 20.875 13.9367 20.8749 14.3457 20.8428C14.7409 20.8117 14.9349 20.7559 15.0664 20.6934L15.3066 20.5557C15.5369 20.4008 15.7309 20.1958 15.8735 19.9551C15.9477 19.8298 16.0208 19.6424 16.0874 19.252C16.1564 18.8475 16.2047 18.3203 16.2764 17.5322L17.3794 5.39746C17.436 4.77903 17.984 4.32316 18.6025 4.37939Z",
|
|
2277
2180
|
fill: "currentColor"
|
|
2278
2181
|
}
|
|
2279
2182
|
),
|
|
2280
|
-
/* @__PURE__ */
|
|
2183
|
+
/* @__PURE__ */ jsx7(
|
|
2281
2184
|
"path",
|
|
2282
2185
|
{
|
|
2283
2186
|
d: "M7.37451 15.9995V11C7.37451 10.3788 7.87842 9.87526 8.49951 9.875C9.12083 9.875 9.62451 10.3787 9.62451 11V15.9995C9.62451 16.6208 9.12083 17.1245 8.49951 17.1245C7.87842 17.1242 7.37451 16.6207 7.37451 15.9995ZM12.3755 15.9995V11C12.3755 10.3787 12.8792 9.875 13.5005 9.875C14.1216 9.87526 14.6255 10.3788 14.6255 11V15.9995C14.6255 16.6207 14.1216 17.1242 13.5005 17.1245C12.8792 17.1245 12.3755 16.6208 12.3755 15.9995ZM12.585 0.875C13.0174 0.879157 13.425 0.903301 13.8096 1.02881L14.1157 1.14746C14.4155 1.28159 14.6931 1.46221 14.9375 1.68359L15.0811 1.82568C15.4034 2.16872 15.6379 2.59872 15.8984 3.05469L16.6528 4.37451H20L20.1157 4.38037C20.6825 4.43826 21.1248 4.91747 21.125 5.49951C21.125 6.08174 20.6827 6.5607 20.1157 6.61865L20 6.62451H2C1.37868 6.62451 0.875 6.12083 0.875 5.49951C0.875264 4.87842 1.37884 4.37451 2 4.37451H5.34717L6.32129 2.6709C6.53952 2.29735 6.76267 1.95525 7.0625 1.68359L7.31738 1.47705C7.58262 1.28327 7.87687 1.1312 8.19043 1.02881L8.38525 0.974609C8.71199 0.896341 9.05467 0.878464 9.41504 0.875H12.585ZM9.85742 3.125C9.29191 3.125 9.08123 3.13201 8.97266 3.14844L8.88916 3.16748C8.83075 3.18655 8.77503 3.21301 8.72217 3.24365L8.57275 3.35205C8.53704 3.38448 8.50137 3.42629 8.42773 3.54102L8.05566 4.1709L7.93848 4.37451H14.0615L13.9443 4.1709C13.6645 3.68114 13.554 3.50141 13.4858 3.41504L13.4272 3.35205C13.3815 3.31062 13.3309 3.27443 13.2778 3.24365L13.1108 3.16748C13.019 3.13753 12.8946 3.125 12.1426 3.125H9.85742Z",
|
|
@@ -2296,7 +2199,7 @@ function CommentCard({
|
|
|
2296
2199
|
className: "w-full max-w-full space-y-2 overflow-hidden",
|
|
2297
2200
|
style: { maxWidth: "100%", wordBreak: "break-word" },
|
|
2298
2201
|
children: [
|
|
2299
|
-
comment.title && /* @__PURE__ */
|
|
2202
|
+
comment.title && /* @__PURE__ */ jsx7("div", { className: compact ? "flex h-[20px] items-center" : "flex h-[24px] items-center", children: /* @__PURE__ */ jsx7(
|
|
2300
2203
|
"h4",
|
|
2301
2204
|
{
|
|
2302
2205
|
className: "line-clamp-1 tracking-[-0.02em] text-ods-text-primary transition-colors text-h3 group-hover:text-ods-accent",
|
|
@@ -2315,7 +2218,7 @@ function CommentCard({
|
|
|
2315
2218
|
) }),
|
|
2316
2219
|
fullBody ? (
|
|
2317
2220
|
// Thread bodies are read in full — no fixed height, no clamp.
|
|
2318
|
-
/* @__PURE__ */
|
|
2221
|
+
/* @__PURE__ */ jsx7(
|
|
2319
2222
|
"p",
|
|
2320
2223
|
{
|
|
2321
2224
|
className: "whitespace-pre-wrap text-ods-text-primary text-h4",
|
|
@@ -2323,7 +2226,7 @@ function CommentCard({
|
|
|
2323
2226
|
children: comment.content
|
|
2324
2227
|
}
|
|
2325
2228
|
)
|
|
2326
|
-
) : /* @__PURE__ */
|
|
2229
|
+
) : /* @__PURE__ */ jsx7("div", { className: compact ? "flex h-[60px] items-center" : "flex h-[72px] items-center", children: /* @__PURE__ */ jsx7(
|
|
2327
2230
|
"p",
|
|
2328
2231
|
{
|
|
2329
2232
|
className: "line-clamp-3 text-ods-text-primary text-h4",
|
|
@@ -2340,7 +2243,7 @@ function CommentCard({
|
|
|
2340
2243
|
children: comment.content
|
|
2341
2244
|
}
|
|
2342
2245
|
) }),
|
|
2343
|
-
footer ? /* @__PURE__ */
|
|
2246
|
+
footer ? /* @__PURE__ */ jsx7("div", { className: "flex flex-wrap items-center gap-2 pt-2", children: footer }) : null
|
|
2344
2247
|
]
|
|
2345
2248
|
}
|
|
2346
2249
|
)
|
|
@@ -2353,7 +2256,7 @@ function CommentCard({
|
|
|
2353
2256
|
|
|
2354
2257
|
// src/components/comment-composer.tsx
|
|
2355
2258
|
import { useState as useState2 } from "react";
|
|
2356
|
-
import { jsx as
|
|
2259
|
+
import { jsx as jsx8, jsxs as jsxs7 } from "react/jsx-runtime";
|
|
2357
2260
|
function CommentComposer({
|
|
2358
2261
|
withTitle = false,
|
|
2359
2262
|
titleLabel = "Title",
|
|
@@ -2383,8 +2286,8 @@ function CommentComposer({
|
|
|
2383
2286
|
/* @__PURE__ */ jsxs7("div", { className: "flex flex-col gap-[var(--spacing-system-sf)] md:flex-row", children: [
|
|
2384
2287
|
/* @__PURE__ */ jsxs7("div", { className: "flex-1 overflow-hidden rounded-lg border border-ods-border bg-ods-bg", children: [
|
|
2385
2288
|
withTitle ? /* @__PURE__ */ jsxs7("div", { className: "border-b border-ods-border", children: [
|
|
2386
|
-
/* @__PURE__ */
|
|
2387
|
-
/* @__PURE__ */
|
|
2289
|
+
/* @__PURE__ */ jsx8(Label, { className: "px-3 pb-1 pt-2 text-ods-text-secondary text-badge", children: titleLabel }),
|
|
2290
|
+
/* @__PURE__ */ jsx8(
|
|
2388
2291
|
Input,
|
|
2389
2292
|
{
|
|
2390
2293
|
ref: titleRef,
|
|
@@ -2396,8 +2299,8 @@ function CommentComposer({
|
|
|
2396
2299
|
}
|
|
2397
2300
|
)
|
|
2398
2301
|
] }) : null,
|
|
2399
|
-
withTitle ? /* @__PURE__ */
|
|
2400
|
-
/* @__PURE__ */
|
|
2302
|
+
withTitle ? /* @__PURE__ */ jsx8(Label, { className: "px-3 pb-1 pt-2 text-ods-text-secondary text-badge", children: bodyLabel }) : null,
|
|
2303
|
+
/* @__PURE__ */ jsx8(
|
|
2401
2304
|
Textarea,
|
|
2402
2305
|
{
|
|
2403
2306
|
value: body,
|
|
@@ -2410,8 +2313,8 @@ function CommentComposer({
|
|
|
2410
2313
|
)
|
|
2411
2314
|
] }),
|
|
2412
2315
|
/* @__PURE__ */ jsxs7("div", { className: "flex items-start gap-[var(--spacing-system-xsf)]", children: [
|
|
2413
|
-
onCancel ? /* @__PURE__ */
|
|
2414
|
-
/* @__PURE__ */
|
|
2316
|
+
onCancel ? /* @__PURE__ */ jsx8(Button, { type: "button", variant: "outline", size: "small-legacy", onClick: onCancel, disabled: pending, children: cancelLabel }) : null,
|
|
2317
|
+
/* @__PURE__ */ jsx8(
|
|
2415
2318
|
Button,
|
|
2416
2319
|
{
|
|
2417
2320
|
type: "button",
|
|
@@ -2425,14 +2328,14 @@ function CommentComposer({
|
|
|
2425
2328
|
)
|
|
2426
2329
|
] })
|
|
2427
2330
|
] }),
|
|
2428
|
-
extras ? /* @__PURE__ */
|
|
2331
|
+
extras ? /* @__PURE__ */ jsx8("div", { className: "flex flex-wrap items-center gap-[var(--spacing-system-xsf)]", children: extras }) : null
|
|
2429
2332
|
] });
|
|
2430
2333
|
}
|
|
2431
2334
|
|
|
2432
2335
|
// src/components/comment-thread.tsx
|
|
2433
2336
|
import { ChevronDown } from "lucide-react";
|
|
2434
2337
|
import { useState as useState3 } from "react";
|
|
2435
|
-
import { Fragment as Fragment2, jsx as
|
|
2338
|
+
import { Fragment as Fragment2, jsx as jsx9, jsxs as jsxs8 } from "react/jsx-runtime";
|
|
2436
2339
|
function CommentThread({
|
|
2437
2340
|
comments,
|
|
2438
2341
|
emptyLabel,
|
|
@@ -2446,9 +2349,9 @@ function CommentThread({
|
|
|
2446
2349
|
onViewProduct
|
|
2447
2350
|
}) {
|
|
2448
2351
|
if (comments.length === 0) {
|
|
2449
|
-
return emptyLabel ? /* @__PURE__ */
|
|
2352
|
+
return emptyLabel ? /* @__PURE__ */ jsx9("p", { className: "text-ods-text-secondary text-h6", children: emptyLabel }) : null;
|
|
2450
2353
|
}
|
|
2451
|
-
return /* @__PURE__ */
|
|
2354
|
+
return /* @__PURE__ */ jsx9("div", { className: "flex flex-col gap-[var(--spacing-system-sf)]", children: comments.map((comment) => /* @__PURE__ */ jsx9(
|
|
2452
2355
|
CommentThreadRow,
|
|
2453
2356
|
{
|
|
2454
2357
|
comment,
|
|
@@ -2486,7 +2389,7 @@ function CommentThreadRow({
|
|
|
2486
2389
|
replies.length === 1 ? "reply" : "replies"
|
|
2487
2390
|
] }) : null,
|
|
2488
2391
|
onReply || actions ? /* @__PURE__ */ jsxs8("span", { className: "ml-auto flex flex-wrap gap-[var(--spacing-system-xsf)]", children: [
|
|
2489
|
-
onReply ? /* @__PURE__ */
|
|
2392
|
+
onReply ? /* @__PURE__ */ jsx9(
|
|
2490
2393
|
Button,
|
|
2491
2394
|
{
|
|
2492
2395
|
type: "button",
|
|
@@ -2500,7 +2403,7 @@ function CommentThreadRow({
|
|
|
2500
2403
|
actions
|
|
2501
2404
|
] }) : null
|
|
2502
2405
|
] });
|
|
2503
|
-
return /* @__PURE__ */
|
|
2406
|
+
return /* @__PURE__ */ jsx9(
|
|
2504
2407
|
CommentCard,
|
|
2505
2408
|
{
|
|
2506
2409
|
fullBody: true,
|
|
@@ -2510,7 +2413,7 @@ function CommentThreadRow({
|
|
|
2510
2413
|
onDeleteComment: onDelete ? (id) => void onDelete(id) : void 0,
|
|
2511
2414
|
footer,
|
|
2512
2415
|
children: replies.length > 0 || replyOpen ? /* @__PURE__ */ jsxs8("div", { className: "ml-[var(--spacing-system-lf)] mt-[var(--spacing-system-xsf)] flex flex-col gap-[var(--spacing-system-xsf)] border-l border-ods-border pl-[var(--spacing-system-sf)]", children: [
|
|
2513
|
-
replies.map((reply) => /* @__PURE__ */
|
|
2416
|
+
replies.map((reply) => /* @__PURE__ */ jsx9(
|
|
2514
2417
|
CommentCard,
|
|
2515
2418
|
{
|
|
2516
2419
|
fullBody: true,
|
|
@@ -2520,7 +2423,7 @@ function CommentThreadRow({
|
|
|
2520
2423
|
},
|
|
2521
2424
|
reply.id
|
|
2522
2425
|
)),
|
|
2523
|
-
replyOpen && onReply ? /* @__PURE__ */
|
|
2426
|
+
replyOpen && onReply ? /* @__PURE__ */ jsx9(
|
|
2524
2427
|
CommentComposer,
|
|
2525
2428
|
{
|
|
2526
2429
|
pending,
|
|
@@ -2548,7 +2451,7 @@ function CommentsBlock({ title, summary, defaultOpen = false, children, composer
|
|
|
2548
2451
|
if (defaultOpen) setOpen(true);
|
|
2549
2452
|
}
|
|
2550
2453
|
return /* @__PURE__ */ jsxs8("div", { className: "space-y-[var(--spacing-system-sf)]", children: [
|
|
2551
|
-
/* @__PURE__ */
|
|
2454
|
+
/* @__PURE__ */ jsx9(
|
|
2552
2455
|
Button,
|
|
2553
2456
|
{
|
|
2554
2457
|
type: "button",
|
|
@@ -2556,7 +2459,7 @@ function CommentsBlock({ title, summary, defaultOpen = false, children, composer
|
|
|
2556
2459
|
size: "small-legacy",
|
|
2557
2460
|
className: "px-0 text-ods-text-secondary hover:text-ods-text-primary",
|
|
2558
2461
|
onClick: () => setOpen((value) => !value),
|
|
2559
|
-
rightIcon: /* @__PURE__ */
|
|
2462
|
+
rightIcon: /* @__PURE__ */ jsx9(ChevronDown, { className: `h-4 w-4 transition-transform ${open ? "rotate-180" : ""}` }),
|
|
2560
2463
|
children: `${title} \xB7 ${summary}`
|
|
2561
2464
|
}
|
|
2562
2465
|
),
|
|
@@ -2569,7 +2472,7 @@ function CommentsBlock({ title, summary, defaultOpen = false, children, composer
|
|
|
2569
2472
|
|
|
2570
2473
|
// src/components/filter-chip.tsx
|
|
2571
2474
|
import { X as X2 } from "lucide-react";
|
|
2572
|
-
import { jsx as
|
|
2475
|
+
import { jsx as jsx10, jsxs as jsxs9 } from "react/jsx-runtime";
|
|
2573
2476
|
function FilterChip({
|
|
2574
2477
|
label,
|
|
2575
2478
|
variant = "unselected",
|
|
@@ -2615,7 +2518,7 @@ function FilterChip({
|
|
|
2615
2518
|
"aria-pressed": onClick && variant === "selected" ? true : void 0,
|
|
2616
2519
|
"aria-disabled": disabled,
|
|
2617
2520
|
children: [
|
|
2618
|
-
/* @__PURE__ */
|
|
2521
|
+
/* @__PURE__ */ jsx10(
|
|
2619
2522
|
"span",
|
|
2620
2523
|
{
|
|
2621
2524
|
className: cn(
|
|
@@ -2626,7 +2529,7 @@ function FilterChip({
|
|
|
2626
2529
|
children: label
|
|
2627
2530
|
}
|
|
2628
2531
|
),
|
|
2629
|
-
removable && onRemove && /* @__PURE__ */
|
|
2532
|
+
removable && onRemove && /* @__PURE__ */ jsx10(
|
|
2630
2533
|
"button",
|
|
2631
2534
|
{
|
|
2632
2535
|
type: "button",
|
|
@@ -2645,7 +2548,7 @@ function FilterChip({
|
|
|
2645
2548
|
),
|
|
2646
2549
|
"aria-label": `Remove ${label} filter`,
|
|
2647
2550
|
tabIndex: disabled ? -1 : 0,
|
|
2648
|
-
children: /* @__PURE__ */
|
|
2551
|
+
children: /* @__PURE__ */ jsx10(X2, { className: "h-2 w-2 md:h-2 md:w-2" })
|
|
2649
2552
|
}
|
|
2650
2553
|
)
|
|
2651
2554
|
]
|
|
@@ -2962,7 +2865,7 @@ var blogFilterConfig = {
|
|
|
2962
2865
|
// src/components/hero-image-uploader.tsx
|
|
2963
2866
|
import { Loader2, Image as ImageIcon2, Upload, X as X3 } from "lucide-react";
|
|
2964
2867
|
import { useRef, useState as useState4 } from "react";
|
|
2965
|
-
import { Fragment as Fragment3, jsx as
|
|
2868
|
+
import { Fragment as Fragment3, jsx as jsx11, jsxs as jsxs10 } from "react/jsx-runtime";
|
|
2966
2869
|
function readUploadedUrl(payload) {
|
|
2967
2870
|
if (typeof payload !== "object" || payload === null) return null;
|
|
2968
2871
|
if ("data" in payload) {
|
|
@@ -3072,46 +2975,46 @@ function HeroImageUploader({
|
|
|
3072
2975
|
className: "group relative flex aspect-square h-auto w-full items-center justify-center overflow-hidden md:aspect-auto md:h-full",
|
|
3073
2976
|
style: { height: heightStyle },
|
|
3074
2977
|
children: [
|
|
3075
|
-
/* @__PURE__ */
|
|
2978
|
+
/* @__PURE__ */ jsx11(next_image_default, { src: imageUrl, className: `object-${objectFit}`, alt: "Cover", fill: true, sizes: "100vw", unoptimized: true }),
|
|
3076
2979
|
/* @__PURE__ */ jsxs10("div", { className: "absolute inset-0 flex items-center justify-center gap-4 rounded-lg bg-black/40 opacity-0 transition-opacity group-hover:opacity-100", children: [
|
|
3077
|
-
showReplaceButton && /* @__PURE__ */
|
|
2980
|
+
showReplaceButton && /* @__PURE__ */ jsx11(
|
|
3078
2981
|
Button,
|
|
3079
2982
|
{
|
|
3080
2983
|
variant: "outline",
|
|
3081
2984
|
size: "icon",
|
|
3082
2985
|
onClick: openDialog,
|
|
3083
2986
|
className: "h-12 w-12 rounded-full bg-white text-black hover:bg-gray-100",
|
|
3084
|
-
children: /* @__PURE__ */
|
|
2987
|
+
children: /* @__PURE__ */ jsx11(Upload, { className: "h-5 w-5" })
|
|
3085
2988
|
}
|
|
3086
2989
|
),
|
|
3087
|
-
/* @__PURE__ */
|
|
2990
|
+
/* @__PURE__ */ jsx11(
|
|
3088
2991
|
Button,
|
|
3089
2992
|
{
|
|
3090
2993
|
variant: "outline",
|
|
3091
2994
|
size: "icon",
|
|
3092
2995
|
onClick: () => handleRemove(),
|
|
3093
2996
|
className: "h-12 w-12 rounded-full bg-white text-black hover:bg-gray-100",
|
|
3094
|
-
children: /* @__PURE__ */
|
|
2997
|
+
children: /* @__PURE__ */ jsx11(X3, { className: "h-5 w-5" })
|
|
3095
2998
|
}
|
|
3096
2999
|
)
|
|
3097
3000
|
] })
|
|
3098
3001
|
]
|
|
3099
3002
|
}
|
|
3100
|
-
) : /* @__PURE__ */
|
|
3003
|
+
) : /* @__PURE__ */ jsx11(
|
|
3101
3004
|
"div",
|
|
3102
3005
|
{
|
|
3103
3006
|
className: `h-full w-full border-2 border-dashed ${uploading ? "border-ods-accent" : "border-ods-border hover:border-ods-accent"} flex cursor-pointer flex-col items-center justify-center rounded-lg bg-ods-bg`,
|
|
3104
3007
|
style: { height: heightStyle },
|
|
3105
3008
|
onClick: openDialog,
|
|
3106
|
-
children: uploading ? /* @__PURE__ */
|
|
3107
|
-
/* @__PURE__ */
|
|
3108
|
-
/* @__PURE__ */
|
|
3109
|
-
/* @__PURE__ */
|
|
3110
|
-
/* @__PURE__ */
|
|
3009
|
+
children: uploading ? /* @__PURE__ */ jsx11(Loader2, { className: "h-8 w-8 animate-spin text-ods-accent" }) : /* @__PURE__ */ jsxs10(Fragment3, { children: [
|
|
3010
|
+
/* @__PURE__ */ jsx11(ImageIcon2, { className: "h-12 w-12 text-ods-text-secondary" }),
|
|
3011
|
+
/* @__PURE__ */ jsx11("span", { className: "mt-2 text-ods-text-primary text-h6", children: "Upload cover image" }),
|
|
3012
|
+
/* @__PURE__ */ jsx11("span", { className: "mt-1 text-ods-text-secondary text-h6", children: "Click to upload or drag and drop" }),
|
|
3013
|
+
/* @__PURE__ */ jsx11("span", { className: "text-ods-text-secondary text-h6", children: "PNG, JPEG, WebP, GIF up to 5MB" })
|
|
3111
3014
|
] })
|
|
3112
3015
|
}
|
|
3113
3016
|
),
|
|
3114
|
-
/* @__PURE__ */
|
|
3017
|
+
/* @__PURE__ */ jsx11("input", { ref: inputRef, type: "file", accept: IMAGE_FILE_ACCEPT, onChange: handleSelect, className: "hidden" })
|
|
3115
3018
|
] });
|
|
3116
3019
|
}
|
|
3117
3020
|
|
|
@@ -3130,13 +3033,13 @@ var CommunityIcon2 = MessageSquare;
|
|
|
3130
3033
|
var CompareIcon2 = GitCompare;
|
|
3131
3034
|
|
|
3132
3035
|
// src/components/icons-block.tsx
|
|
3133
|
-
import { jsx as
|
|
3036
|
+
import { jsx as jsx12, jsxs as jsxs11 } from "react/jsx-runtime";
|
|
3134
3037
|
var SunIcon2 = Sun;
|
|
3135
3038
|
var MoonIcon2 = Moon;
|
|
3136
3039
|
var CheckCircleIcon3 = CheckCircle;
|
|
3137
3040
|
var GitHubIcon2 = Github;
|
|
3138
3041
|
var PlusCircleIcon2 = PlusCircle;
|
|
3139
|
-
var OpenmspLogo2 = () => /* @__PURE__ */
|
|
3042
|
+
var OpenmspLogo2 = () => /* @__PURE__ */ jsx12("div", { children: "Logo" });
|
|
3140
3043
|
var availableIcons = [
|
|
3141
3044
|
VendorDirectoryIcon2,
|
|
3142
3045
|
OpenSourceIcon2,
|
|
@@ -3199,13 +3102,13 @@ function ResponsiveIconsBlock({ loading = false }) {
|
|
|
3199
3102
|
return iconGrid[row]?.[col] || availableIcons[0];
|
|
3200
3103
|
};
|
|
3201
3104
|
if (loading || iconGrid.length === 0) {
|
|
3202
|
-
return /* @__PURE__ */
|
|
3105
|
+
return /* @__PURE__ */ jsx12(
|
|
3203
3106
|
"div",
|
|
3204
3107
|
{
|
|
3205
3108
|
className: "relative h-[80px] w-full overflow-hidden bg-[#1A1A1A] md:h-[112px]",
|
|
3206
3109
|
role: "presentation",
|
|
3207
3110
|
"aria-hidden": "true",
|
|
3208
|
-
children: /* @__PURE__ */
|
|
3111
|
+
children: /* @__PURE__ */ jsx12("div", { className: "absolute inset-0 animate-pulse bg-[#2A2A2A]/60" })
|
|
3209
3112
|
}
|
|
3210
3113
|
);
|
|
3211
3114
|
}
|
|
@@ -3217,14 +3120,14 @@ function ResponsiveIconsBlock({ loading = false }) {
|
|
|
3217
3120
|
role: "presentation",
|
|
3218
3121
|
"aria-hidden": "true",
|
|
3219
3122
|
children: [
|
|
3220
|
-
/* @__PURE__ */
|
|
3123
|
+
/* @__PURE__ */ jsx12("style", { children: `
|
|
3221
3124
|
.icons-block svg,
|
|
3222
3125
|
.icons-block svg * {
|
|
3223
3126
|
filter: grayscale(100%) brightness(0) invert(1) brightness(0.4) !important;
|
|
3224
3127
|
fill: currentColor !important;
|
|
3225
3128
|
}
|
|
3226
3129
|
` }),
|
|
3227
|
-
/* @__PURE__ */
|
|
3130
|
+
/* @__PURE__ */ jsx12(
|
|
3228
3131
|
"div",
|
|
3229
3132
|
{
|
|
3230
3133
|
className: "icons-block grid h-full w-full",
|
|
@@ -3236,7 +3139,7 @@ function ResponsiveIconsBlock({ loading = false }) {
|
|
|
3236
3139
|
const col = idx % displayColumns;
|
|
3237
3140
|
const row = Math.floor(idx / displayColumns);
|
|
3238
3141
|
const IconComponent = getIconForIndex(idx);
|
|
3239
|
-
return /* @__PURE__ */
|
|
3142
|
+
return /* @__PURE__ */ jsx12(
|
|
3240
3143
|
"div",
|
|
3241
3144
|
{
|
|
3242
3145
|
className: "flex h-full w-full items-center justify-center",
|
|
@@ -3249,7 +3152,7 @@ function ResponsiveIconsBlock({ loading = false }) {
|
|
|
3249
3152
|
boxSizing: "border-box"
|
|
3250
3153
|
},
|
|
3251
3154
|
role: "presentation",
|
|
3252
|
-
children: /* @__PURE__ */
|
|
3155
|
+
children: /* @__PURE__ */ jsx12(IconComponent, { width: 16, height: 16, className: "text-[#666666] md:h-5 md:w-5", "aria-hidden": "true" })
|
|
3253
3156
|
},
|
|
3254
3157
|
idx
|
|
3255
3158
|
);
|
|
@@ -3265,7 +3168,7 @@ function ResponsiveIconsBlock({ loading = false }) {
|
|
|
3265
3168
|
import { Check, RotateCcw } from "lucide-react";
|
|
3266
3169
|
import { useCallback, useState as useState6 } from "react";
|
|
3267
3170
|
import Cropper from "react-easy-crop";
|
|
3268
|
-
import { jsx as
|
|
3171
|
+
import { jsx as jsx13, jsxs as jsxs12 } from "react/jsx-runtime";
|
|
3269
3172
|
function loadImage(src) {
|
|
3270
3173
|
return new Promise((resolve, reject) => {
|
|
3271
3174
|
const img = new Image();
|
|
@@ -3360,7 +3263,7 @@ var ImageCropper = ({
|
|
|
3360
3263
|
tabIndex: 0,
|
|
3361
3264
|
"aria-label": "Image cropper",
|
|
3362
3265
|
children: [
|
|
3363
|
-
/* @__PURE__ */
|
|
3266
|
+
/* @__PURE__ */ jsx13("div", { className: cn("relative aspect-square w-full overflow-hidden rounded-md md:aspect-video", checkerBg), children: /* @__PURE__ */ jsx13(
|
|
3364
3267
|
Cropper,
|
|
3365
3268
|
{
|
|
3366
3269
|
image: src,
|
|
@@ -3379,8 +3282,8 @@ var ImageCropper = ({
|
|
|
3379
3282
|
) }),
|
|
3380
3283
|
/* @__PURE__ */ jsxs12("div", { className: "flex flex-col gap-4", children: [
|
|
3381
3284
|
/* @__PURE__ */ jsxs12("div", { className: "flex items-center gap-3", children: [
|
|
3382
|
-
/* @__PURE__ */
|
|
3383
|
-
/* @__PURE__ */
|
|
3285
|
+
/* @__PURE__ */ jsx13("span", { className: "min-w-[60px] text-h6", children: "Zoom" }),
|
|
3286
|
+
/* @__PURE__ */ jsx13(
|
|
3384
3287
|
Slider,
|
|
3385
3288
|
{
|
|
3386
3289
|
min: 1,
|
|
@@ -3394,8 +3297,8 @@ var ImageCropper = ({
|
|
|
3394
3297
|
)
|
|
3395
3298
|
] }),
|
|
3396
3299
|
/* @__PURE__ */ jsxs12("div", { className: "flex items-center gap-3", children: [
|
|
3397
|
-
/* @__PURE__ */
|
|
3398
|
-
/* @__PURE__ */
|
|
3300
|
+
/* @__PURE__ */ jsx13("span", { className: "min-w-[60px] text-h6", children: "Rotate" }),
|
|
3301
|
+
/* @__PURE__ */ jsx13(
|
|
3399
3302
|
Slider,
|
|
3400
3303
|
{
|
|
3401
3304
|
min: 0,
|
|
@@ -3407,12 +3310,12 @@ var ImageCropper = ({
|
|
|
3407
3310
|
className: "flex-1"
|
|
3408
3311
|
}
|
|
3409
3312
|
),
|
|
3410
|
-
/* @__PURE__ */
|
|
3313
|
+
/* @__PURE__ */ jsx13(Button, { variant: "outline", size: "icon", onClick: () => setRotation(0), "aria-label": "Reset rotation", children: /* @__PURE__ */ jsx13(RotateCcw, { className: "h-4 w-4" }) })
|
|
3411
3314
|
] })
|
|
3412
3315
|
] }),
|
|
3413
3316
|
/* @__PURE__ */ jsxs12("div", { className: "mt-2 flex justify-end gap-2", children: [
|
|
3414
|
-
onCancel && /* @__PURE__ */
|
|
3415
|
-
/* @__PURE__ */
|
|
3317
|
+
onCancel && /* @__PURE__ */ jsx13(Button, { variant: "outline", onClick: onCancel, "aria-label": "Cancel crop", children: "Cancel" }),
|
|
3318
|
+
/* @__PURE__ */ jsx13(
|
|
3416
3319
|
Button,
|
|
3417
3320
|
{
|
|
3418
3321
|
variant: "accent",
|
|
@@ -3420,7 +3323,7 @@ var ImageCropper = ({
|
|
|
3420
3323
|
const result = await exportCrop();
|
|
3421
3324
|
if (result) onComplete(result);
|
|
3422
3325
|
},
|
|
3423
|
-
leftIcon: /* @__PURE__ */
|
|
3326
|
+
leftIcon: /* @__PURE__ */ jsx13(Check, { className: "h-4 w-4" }),
|
|
3424
3327
|
"aria-label": "Apply crop",
|
|
3425
3328
|
children: "Apply"
|
|
3426
3329
|
}
|
|
@@ -3432,19 +3335,19 @@ var ImageCropper = ({
|
|
|
3432
3335
|
};
|
|
3433
3336
|
|
|
3434
3337
|
// src/components/metric-value.tsx
|
|
3435
|
-
import { jsx as
|
|
3338
|
+
import { jsx as jsx14, jsxs as jsxs13 } from "react/jsx-runtime";
|
|
3436
3339
|
function MetricValue({ value, label, className }) {
|
|
3437
3340
|
return /* @__PURE__ */ jsxs13("div", { className: cn("flex items-end gap-2 whitespace-nowrap text-ods-text-primary text-h4", className), children: [
|
|
3438
3341
|
value,
|
|
3439
|
-
/* @__PURE__ */
|
|
3342
|
+
/* @__PURE__ */ jsx14("span", { className: "text-ods-text-secondary text-h6", children: label })
|
|
3440
3343
|
] });
|
|
3441
3344
|
}
|
|
3442
3345
|
|
|
3443
3346
|
// src/components/msp-display.tsx
|
|
3444
|
-
import { jsx as
|
|
3347
|
+
import { jsx as jsx15, jsxs as jsxs14 } from "react/jsx-runtime";
|
|
3445
3348
|
function MSPDisplay({ name, logoUrl, size = 40, className }) {
|
|
3446
3349
|
return /* @__PURE__ */ jsxs14("div", { className: cn("flex min-w-0 items-center gap-2", className), children: [
|
|
3447
|
-
/* @__PURE__ */
|
|
3350
|
+
/* @__PURE__ */ jsx15(
|
|
3448
3351
|
SquareAvatar,
|
|
3449
3352
|
{
|
|
3450
3353
|
src: logoUrl ? getProxiedImageUrl(logoUrl) || logoUrl : void 0,
|
|
@@ -3453,16 +3356,16 @@ function MSPDisplay({ name, logoUrl, size = 40, className }) {
|
|
|
3453
3356
|
sizePx: size
|
|
3454
3357
|
}
|
|
3455
3358
|
),
|
|
3456
|
-
/* @__PURE__ */
|
|
3359
|
+
/* @__PURE__ */ jsx15("h2", { className: "truncate pl-2", children: name })
|
|
3457
3360
|
] });
|
|
3458
3361
|
}
|
|
3459
3362
|
|
|
3460
3363
|
// src/components/open-source-features.tsx
|
|
3461
3364
|
import { Terminal, DollarSign as DollarSign2, Network, Users as Users2 } from "lucide-react";
|
|
3462
|
-
import { jsx as
|
|
3365
|
+
import { jsx as jsx16, jsxs as jsxs15 } from "react/jsx-runtime";
|
|
3463
3366
|
|
|
3464
3367
|
// src/components/pricing-display.tsx
|
|
3465
|
-
import { jsx as
|
|
3368
|
+
import { jsx as jsx17, jsxs as jsxs16 } from "react/jsx-runtime";
|
|
3466
3369
|
var PRICING_STYLES = {
|
|
3467
3370
|
// Comparison table style (current default)
|
|
3468
3371
|
comparison: {
|
|
@@ -3498,11 +3401,11 @@ function PricingDisplay({
|
|
|
3498
3401
|
styleConfig = PRICING_STYLES.comparison
|
|
3499
3402
|
}) {
|
|
3500
3403
|
if (typeof pricing === "string") {
|
|
3501
|
-
return /* @__PURE__ */
|
|
3404
|
+
return /* @__PURE__ */ jsx17(LegacyPricingDisplay, { pricing, className, styleConfig });
|
|
3502
3405
|
}
|
|
3503
3406
|
const pricingArray = Array.isArray(pricing) ? pricing : [pricing];
|
|
3504
3407
|
if (!pricingArray || pricingArray.length === 0) {
|
|
3505
|
-
return /* @__PURE__ */
|
|
3408
|
+
return /* @__PURE__ */ jsx17(
|
|
3506
3409
|
"span",
|
|
3507
3410
|
{
|
|
3508
3411
|
className: `${styleConfig.priceTextColor} ${styleConfig.priceTextSize} ${styleConfig.fontFamily} ${className}`,
|
|
@@ -3515,7 +3418,7 @@ function PricingDisplay({
|
|
|
3515
3418
|
const price = item.ranges?.[0]?.min || 0;
|
|
3516
3419
|
const unit = item.ranges?.[0]?.unit;
|
|
3517
3420
|
return /* @__PURE__ */ jsxs16("span", { className: `${styleConfig.fontFamily} ${className}`, children: [
|
|
3518
|
-
/* @__PURE__ */
|
|
3421
|
+
/* @__PURE__ */ jsx17("span", { className: `${styleConfig.priceTextColor} ${styleConfig.priceTextSize}`, children: formatPriceValue(price, styleConfig.showTildePrefix) }),
|
|
3519
3422
|
unit && /* @__PURE__ */ jsxs16("span", { className: `${styleConfig.secondaryTextColor} ${styleConfig.secondaryTextSize}`, children: [
|
|
3520
3423
|
"/",
|
|
3521
3424
|
unit
|
|
@@ -3527,7 +3430,7 @@ function PricingDisplay({
|
|
|
3527
3430
|
);
|
|
3528
3431
|
const itemWithUnit = pricingArray.find((item) => item.ranges?.[0]?.unit);
|
|
3529
3432
|
return /* @__PURE__ */ jsxs16("span", { className: `${styleConfig.fontFamily} ${className}`, children: [
|
|
3530
|
-
/* @__PURE__ */
|
|
3433
|
+
/* @__PURE__ */ jsx17("span", { className: `${styleConfig.priceTextColor} ${styleConfig.priceTextSize}`, children: priceValues.join(" | ") }),
|
|
3531
3434
|
itemWithUnit && itemWithUnit.ranges?.[0]?.unit && /* @__PURE__ */ jsxs16("span", { className: `${styleConfig.secondaryTextColor} ${styleConfig.secondaryTextSize}`, children: [
|
|
3532
3435
|
"/",
|
|
3533
3436
|
itemWithUnit.ranges[0].unit
|
|
@@ -3549,7 +3452,7 @@ function LegacyPricingDisplay({
|
|
|
3549
3452
|
styleConfig = PRICING_STYLES.comparison
|
|
3550
3453
|
}) {
|
|
3551
3454
|
if (pricing === "Free" || pricing === "No pricing data") {
|
|
3552
|
-
return /* @__PURE__ */
|
|
3455
|
+
return /* @__PURE__ */ jsx17(
|
|
3553
3456
|
"span",
|
|
3554
3457
|
{
|
|
3555
3458
|
className: `${styleConfig.priceTextColor} ${styleConfig.priceTextSize} ${styleConfig.fontFamily} ${className}`,
|
|
@@ -3612,8 +3515,8 @@ function LegacyPricingDisplay({
|
|
|
3612
3515
|
};
|
|
3613
3516
|
const { mainValue, secondaryInfo } = parsePricing(pricing);
|
|
3614
3517
|
return /* @__PURE__ */ jsxs16("span", { className: `${styleConfig.fontFamily} ${className}`, children: [
|
|
3615
|
-
/* @__PURE__ */
|
|
3616
|
-
secondaryInfo && /* @__PURE__ */
|
|
3518
|
+
/* @__PURE__ */ jsx17("span", { className: `${styleConfig.priceTextColor} ${styleConfig.priceTextSize}`, children: mainValue }),
|
|
3519
|
+
secondaryInfo && /* @__PURE__ */ jsx17("span", { className: `${styleConfig.secondaryTextColor} ${styleConfig.secondaryTextSize}`, children: secondaryInfo })
|
|
3617
3520
|
] });
|
|
3618
3521
|
}
|
|
3619
3522
|
function formatPricingForDisplay(pricing) {
|
|
@@ -3621,7 +3524,7 @@ function formatPricingForDisplay(pricing) {
|
|
|
3621
3524
|
}
|
|
3622
3525
|
|
|
3623
3526
|
// src/components/results-count.tsx
|
|
3624
|
-
import { Fragment as Fragment4, jsx as
|
|
3527
|
+
import { Fragment as Fragment4, jsx as jsx18, jsxs as jsxs17 } from "react/jsx-runtime";
|
|
3625
3528
|
function ResultsCount({ currentPage, pageSize, totalResults, resultType, sortingMessage }) {
|
|
3626
3529
|
if (totalResults === 0) {
|
|
3627
3530
|
return null;
|
|
@@ -3631,7 +3534,7 @@ function ResultsCount({ currentPage, pageSize, totalResults, resultType, sorting
|
|
|
3631
3534
|
const plural = resultType === "vendors" ? "vendors" : "posts";
|
|
3632
3535
|
const singular = resultType === "vendors" ? "vendor" : "post";
|
|
3633
3536
|
const displayType = totalResults === 1 ? singular : plural;
|
|
3634
|
-
return /* @__PURE__ */
|
|
3537
|
+
return /* @__PURE__ */ jsx18("div", { className: "mb-6", children: /* @__PURE__ */ jsx18("p", { className: "text-ods-text-secondary text-h6", children: totalResults > 0 && /* @__PURE__ */ jsxs17(Fragment4, { children: [
|
|
3635
3538
|
"Showing ",
|
|
3636
3539
|
startIndex,
|
|
3637
3540
|
"-",
|
|
@@ -3651,14 +3554,14 @@ function ResultsCount({ currentPage, pageSize, totalResults, resultType, sorting
|
|
|
3651
3554
|
import { Boxes, Database, Hand, Plug, ShieldCheck, Sparkles } from "lucide-react";
|
|
3652
3555
|
|
|
3653
3556
|
// src/components/openframe-logo.tsx
|
|
3654
|
-
import { jsx as
|
|
3557
|
+
import { jsx as jsx19, jsxs as jsxs18 } from "react/jsx-runtime";
|
|
3655
3558
|
var OpenFrameLogo2 = ({
|
|
3656
3559
|
className,
|
|
3657
3560
|
lowerPathColor,
|
|
3658
3561
|
upperPathColor,
|
|
3659
3562
|
...props
|
|
3660
3563
|
}) => {
|
|
3661
|
-
return /* @__PURE__ */
|
|
3564
|
+
return /* @__PURE__ */ jsx19(
|
|
3662
3565
|
"svg",
|
|
3663
3566
|
{
|
|
3664
3567
|
...props,
|
|
@@ -3674,28 +3577,28 @@ var OpenFrameLogo2 = ({
|
|
|
3674
3577
|
},
|
|
3675
3578
|
children: /* @__PURE__ */ jsxs18("g", { children: [
|
|
3676
3579
|
/* @__PURE__ */ jsxs18("g", { children: [
|
|
3677
|
-
/* @__PURE__ */
|
|
3580
|
+
/* @__PURE__ */ jsx19(
|
|
3678
3581
|
"path",
|
|
3679
3582
|
{
|
|
3680
3583
|
d: "M21.3333 16.5333C21.3333 16.2388 21.5721 16 21.8667 16H26.1333C26.4279 16 26.6667 16.2388 26.6667 16.5333V20.8C26.6667 21.0946 26.4279 21.3333 26.1333 21.3333H21.8667C21.5721 21.3333 21.3333 21.0946 21.3333 20.8V16.5333Z",
|
|
3681
3584
|
fill: lowerPathColor ?? "#ffffff"
|
|
3682
3585
|
}
|
|
3683
3586
|
),
|
|
3684
|
-
/* @__PURE__ */
|
|
3587
|
+
/* @__PURE__ */ jsx19(
|
|
3685
3588
|
"path",
|
|
3686
3589
|
{
|
|
3687
3590
|
d: "M16 21.8667C16 21.5721 16.2388 21.3333 16.5333 21.3333H20.8C21.0946 21.3333 21.3333 21.5721 21.3333 21.8667V26.1333C21.3333 26.4279 21.0946 26.6667 20.8 26.6667H16.5333C16.2388 26.6667 16 26.4279 16 26.1333V21.8667Z",
|
|
3688
3591
|
fill: lowerPathColor ?? "#ffffff"
|
|
3689
3592
|
}
|
|
3690
3593
|
),
|
|
3691
|
-
/* @__PURE__ */
|
|
3594
|
+
/* @__PURE__ */ jsx19(
|
|
3692
3595
|
"path",
|
|
3693
3596
|
{
|
|
3694
3597
|
d: "M26.6667 21.8667C26.6667 21.5721 26.9054 21.3333 27.2 21.3333H31.4667C31.7612 21.3333 32 21.5721 32 21.8667V26.1333C32 26.4279 31.7612 26.6667 31.4667 26.6667H27.2C26.9054 26.6667 26.6667 26.4279 26.6667 26.1333V21.8667Z",
|
|
3695
3598
|
fill: lowerPathColor ?? "#ffffff"
|
|
3696
3599
|
}
|
|
3697
3600
|
),
|
|
3698
|
-
/* @__PURE__ */
|
|
3601
|
+
/* @__PURE__ */ jsx19(
|
|
3699
3602
|
"path",
|
|
3700
3603
|
{
|
|
3701
3604
|
d: "M21.3333 27.2C21.3333 26.9054 21.5721 26.6667 21.8667 26.6667H26.1333C26.4279 26.6667 26.6667 26.9054 26.6667 27.2V31.4667C26.6667 31.7612 26.4279 32 26.1333 32H21.8667C21.5721 32 21.3333 31.7612 21.3333 31.4667V27.2Z",
|
|
@@ -3703,7 +3606,7 @@ var OpenFrameLogo2 = ({
|
|
|
3703
3606
|
}
|
|
3704
3607
|
)
|
|
3705
3608
|
] }),
|
|
3706
|
-
/* @__PURE__ */
|
|
3609
|
+
/* @__PURE__ */ jsx19(
|
|
3707
3610
|
"path",
|
|
3708
3611
|
{
|
|
3709
3612
|
d: "M30.9333 0H1.06667C0.477563 0 0 0.477564 0 1.06667V30.9333C0 31.5224 0.477563 32 1.06667 32H14.9333C15.5224 32 16 31.5224 16 30.9333V27.7333C16 27.1442 15.5224 26.6667 14.9333 26.6667H5.86667C5.57211 26.6667 5.33333 26.4279 5.33333 26.1333V5.86667C5.33333 5.57211 5.57211 5.33333 5.86667 5.33333H26.1333C26.4279 5.33333 26.6667 5.57212 26.6667 5.86667V14.9333C26.6667 15.5224 27.1442 16 27.7333 16H30.9333C31.5224 16 32 15.5224 32 14.9333V1.06667C32 0.477563 31.5224 0 30.9333 0Z",
|
|
@@ -3716,12 +3619,12 @@ var OpenFrameLogo2 = ({
|
|
|
3716
3619
|
};
|
|
3717
3620
|
|
|
3718
3621
|
// src/components/vendor-tag.tsx
|
|
3719
|
-
import { jsx as
|
|
3622
|
+
import { jsx as jsx20, jsxs as jsxs19 } from "react/jsx-runtime";
|
|
3720
3623
|
function openFrameTag(classification, text) {
|
|
3721
3624
|
return {
|
|
3722
3625
|
text: text || OPENFRAME_CLASSIFICATIONS[classification].word,
|
|
3723
3626
|
textColor: void 0,
|
|
3724
|
-
icon: /* @__PURE__ */
|
|
3627
|
+
icon: /* @__PURE__ */ jsx20(OpenFrameLogo2, { lowerPathColor: "currentColor", upperPathColor: "currentColor", className: "h-4 w-4 text-ods-accent" })
|
|
3725
3628
|
};
|
|
3726
3629
|
}
|
|
3727
3630
|
function VendorTag({ type, text, className = "", hidden = false, size = "md", accentColor }) {
|
|
@@ -3735,101 +3638,101 @@ function VendorTag({ type, text, className = "", hidden = false, size = "md", ac
|
|
|
3735
3638
|
return {
|
|
3736
3639
|
text: "Placeholder",
|
|
3737
3640
|
textColor: "text-ods-text-primary",
|
|
3738
|
-
icon: /* @__PURE__ */
|
|
3641
|
+
icon: /* @__PURE__ */ jsx20("div", { className: "flex h-4 w-4 flex-shrink-0 items-center justify-center rounded-sm", children: /* @__PURE__ */ jsx20(Sparkles, { width: 10, height: 10, className: "text-ods-text-primary" }) })
|
|
3739
3642
|
};
|
|
3740
3643
|
case "ai":
|
|
3741
3644
|
return {
|
|
3742
3645
|
text: "AI Selected",
|
|
3743
3646
|
textColor: "text-ods-text-primary",
|
|
3744
|
-
icon: /* @__PURE__ */
|
|
3647
|
+
icon: /* @__PURE__ */ jsx20("div", { className: "flex h-4 w-4 flex-shrink-0 items-center justify-center rounded-sm", children: /* @__PURE__ */ jsx20(Sparkles, { width: 10, height: 10, className: "text-ods-text-primary" }) })
|
|
3745
3648
|
};
|
|
3746
3649
|
case "manual":
|
|
3747
3650
|
return {
|
|
3748
3651
|
text: "Manually Selected",
|
|
3749
3652
|
textColor: "text-ods-text-secondary",
|
|
3750
|
-
icon: /* @__PURE__ */
|
|
3653
|
+
icon: /* @__PURE__ */ jsx20("div", { className: "flex h-4 w-4 flex-shrink-0 items-center justify-center rounded-sm", children: /* @__PURE__ */ jsx20(Hand, { width: 10, height: 10, className: "text-ods-text-secondary" }) })
|
|
3751
3654
|
};
|
|
3752
3655
|
case "open-source":
|
|
3753
3656
|
return {
|
|
3754
3657
|
text: text || "Open Source",
|
|
3755
|
-
icon: /* @__PURE__ */
|
|
3658
|
+
icon: /* @__PURE__ */ jsx20(
|
|
3756
3659
|
"div",
|
|
3757
3660
|
{
|
|
3758
3661
|
className: "flex h-4 w-4 flex-shrink-0 items-center justify-center rounded-sm bg-ods-accent",
|
|
3759
3662
|
style: accentColor ? { backgroundColor: accentColor } : void 0,
|
|
3760
|
-
children: /* @__PURE__ */
|
|
3663
|
+
children: /* @__PURE__ */ jsx20(OpenSourceIcon2, { width: 10, height: 10, className: "text-ods-text-on-accent" })
|
|
3761
3664
|
}
|
|
3762
3665
|
)
|
|
3763
3666
|
};
|
|
3764
3667
|
case "commercial":
|
|
3765
3668
|
return {
|
|
3766
3669
|
text: text || "Commercial Vendor",
|
|
3767
|
-
icon: /* @__PURE__ */
|
|
3670
|
+
icon: /* @__PURE__ */ jsx20("div", { className: "flex h-4 w-4 flex-shrink-0 items-center justify-center rounded-sm bg-ods-border", children: /* @__PURE__ */ jsx20(CoinsIcon2, { width: 10, height: 10, className: "text-ods-text-secondary" }) })
|
|
3768
3671
|
};
|
|
3769
3672
|
// platform-capability tags — same neutral icon-box chrome as 'commercial'
|
|
3770
3673
|
case "api":
|
|
3771
3674
|
return {
|
|
3772
3675
|
text: text || "API",
|
|
3773
|
-
icon: /* @__PURE__ */
|
|
3676
|
+
icon: /* @__PURE__ */ jsx20("div", { className: "flex h-4 w-4 flex-shrink-0 items-center justify-center rounded-sm bg-ods-border", children: /* @__PURE__ */ jsx20(Plug, { width: 10, height: 10, className: "text-ods-text-secondary" }) })
|
|
3774
3677
|
};
|
|
3775
3678
|
case "data":
|
|
3776
3679
|
return {
|
|
3777
3680
|
text: text || "Data",
|
|
3778
|
-
icon: /* @__PURE__ */
|
|
3681
|
+
icon: /* @__PURE__ */ jsx20("div", { className: "flex h-4 w-4 flex-shrink-0 items-center justify-center rounded-sm bg-ods-border", children: /* @__PURE__ */ jsx20(Database, { width: 10, height: 10, className: "text-ods-text-secondary" }) })
|
|
3779
3682
|
};
|
|
3780
3683
|
case "k8s":
|
|
3781
3684
|
return {
|
|
3782
3685
|
text: text || "K8s",
|
|
3783
|
-
icon: /* @__PURE__ */
|
|
3686
|
+
icon: /* @__PURE__ */ jsx20("div", { className: "flex h-4 w-4 flex-shrink-0 items-center justify-center rounded-sm bg-ods-border", children: /* @__PURE__ */ jsx20(Boxes, { width: 10, height: 10, className: "text-ods-text-secondary" }) })
|
|
3784
3687
|
};
|
|
3785
3688
|
case "secured":
|
|
3786
3689
|
return {
|
|
3787
3690
|
text: text || "Secured",
|
|
3788
|
-
icon: /* @__PURE__ */
|
|
3691
|
+
icon: /* @__PURE__ */ jsx20("div", { className: "flex h-4 w-4 flex-shrink-0 items-center justify-center rounded-sm bg-ods-border", children: /* @__PURE__ */ jsx20(ShieldCheck, { width: 10, height: 10, className: "text-ods-text-secondary" }) })
|
|
3789
3692
|
};
|
|
3790
3693
|
case "free":
|
|
3791
3694
|
return {
|
|
3792
3695
|
text: text || "Free",
|
|
3793
|
-
icon: /* @__PURE__ */
|
|
3696
|
+
icon: /* @__PURE__ */ jsx20("div", { className: "flex h-4 w-4 flex-shrink-0 items-center justify-center rounded-sm bg-ods-accent", children: /* @__PURE__ */ jsx20("span", { className: "text-[8px] font-bold text-ods-text-on-accent", children: "$" }) })
|
|
3794
3697
|
};
|
|
3795
3698
|
case "freemium":
|
|
3796
3699
|
return {
|
|
3797
3700
|
text: text || "Freemium",
|
|
3798
|
-
icon: /* @__PURE__ */
|
|
3701
|
+
icon: /* @__PURE__ */ jsx20("div", { className: "flex h-4 w-4 flex-shrink-0 items-center justify-center rounded-sm bg-ods-accent", children: /* @__PURE__ */ jsx20("span", { className: "text-[8px] font-bold text-ods-text-on-accent", children: "$" }) })
|
|
3799
3702
|
};
|
|
3800
3703
|
case "paid":
|
|
3801
3704
|
return {
|
|
3802
3705
|
text: text || "Paid",
|
|
3803
|
-
icon: /* @__PURE__ */
|
|
3706
|
+
icon: /* @__PURE__ */ jsx20("div", { className: "flex h-4 w-4 flex-shrink-0 items-center justify-center rounded-sm bg-ods-border", children: /* @__PURE__ */ jsx20(CoinsIcon2, { width: 10, height: 10, className: "text-ods-text-secondary" }) })
|
|
3804
3707
|
};
|
|
3805
3708
|
case "enterprise":
|
|
3806
3709
|
return {
|
|
3807
3710
|
text: text || "Enterprise",
|
|
3808
|
-
icon: /* @__PURE__ */
|
|
3711
|
+
icon: /* @__PURE__ */ jsx20("div", { className: "flex h-4 w-4 flex-shrink-0 items-center justify-center rounded-sm bg-ods-accent", children: /* @__PURE__ */ jsx20("span", { className: "text-[8px] font-bold text-ods-text-on-accent", children: "E" }) })
|
|
3809
3712
|
};
|
|
3810
3713
|
case "recommended":
|
|
3811
3714
|
return {
|
|
3812
3715
|
text: text || "Recommended",
|
|
3813
|
-
icon: /* @__PURE__ */
|
|
3716
|
+
icon: /* @__PURE__ */ jsx20("div", { className: "flex h-4 w-4 flex-shrink-0 items-center justify-center rounded-sm bg-ods-accent", children: /* @__PURE__ */ jsx20("span", { className: "text-[8px] font-bold text-ods-text-on-accent", children: "\u2605" }) })
|
|
3814
3717
|
};
|
|
3815
3718
|
case "classification": {
|
|
3816
3719
|
const classificationType = text?.toLowerCase();
|
|
3817
3720
|
if (classificationType === "open_source") {
|
|
3818
3721
|
return {
|
|
3819
3722
|
text: "Open Source",
|
|
3820
|
-
icon: /* @__PURE__ */
|
|
3723
|
+
icon: /* @__PURE__ */ jsx20("div", { className: "flex h-4 w-4 flex-shrink-0 items-center justify-center rounded-sm bg-ods-accent", children: /* @__PURE__ */ jsx20(OpenSourceIcon2, { width: 10, height: 10, className: "text-ods-text-on-accent" }) })
|
|
3821
3724
|
};
|
|
3822
3725
|
} else if (classificationType === "commercial") {
|
|
3823
3726
|
return {
|
|
3824
3727
|
text: "Commercial Vendor",
|
|
3825
|
-
icon: /* @__PURE__ */
|
|
3728
|
+
icon: /* @__PURE__ */ jsx20("div", { className: "flex h-4 w-4 flex-shrink-0 items-center justify-center rounded-sm bg-ods-border", children: /* @__PURE__ */ jsx20(CoinsIcon2, { width: 10, height: 10, className: "text-ods-text-secondary" }) })
|
|
3826
3729
|
};
|
|
3827
3730
|
} else if (isOpenFrameClassification(classificationType)) {
|
|
3828
3731
|
return openFrameTag(classificationType);
|
|
3829
3732
|
} else {
|
|
3830
3733
|
return {
|
|
3831
3734
|
text: text || "Classification",
|
|
3832
|
-
icon: /* @__PURE__ */
|
|
3735
|
+
icon: /* @__PURE__ */ jsx20("div", { className: "flex h-4 w-4 flex-shrink-0 items-center justify-center rounded-sm bg-ods-accent", children: /* @__PURE__ */ jsx20("span", { className: "text-[8px] font-bold text-ods-text-on-accent", children: "C" }) })
|
|
3833
3736
|
};
|
|
3834
3737
|
}
|
|
3835
3738
|
}
|
|
@@ -3847,17 +3750,17 @@ function VendorTag({ type, text, className = "", hidden = false, size = "md", ac
|
|
|
3847
3750
|
const { text: displayText, icon, textColor } = getTagContent();
|
|
3848
3751
|
return /* @__PURE__ */ jsxs19("div", { className: cn(baseClasses, className, hidden && "invisible"), children: [
|
|
3849
3752
|
icon,
|
|
3850
|
-
/* @__PURE__ */
|
|
3753
|
+
/* @__PURE__ */ jsx20("span", { className: cn("font-semibold text-h5", textColor ? textColor : "text-ods-text-primary"), children: displayText })
|
|
3851
3754
|
] });
|
|
3852
3755
|
}
|
|
3853
3756
|
|
|
3854
3757
|
// src/components/selection-source-badge.tsx
|
|
3855
|
-
import { jsx as
|
|
3758
|
+
import { jsx as jsx21 } from "react/jsx-runtime";
|
|
3856
3759
|
function SelectionSourceBadge({ source, hidden = false }) {
|
|
3857
3760
|
if (!source) {
|
|
3858
3761
|
return null;
|
|
3859
3762
|
}
|
|
3860
|
-
return /* @__PURE__ */
|
|
3763
|
+
return /* @__PURE__ */ jsx21(
|
|
3861
3764
|
VendorTag,
|
|
3862
3765
|
{
|
|
3863
3766
|
type: source?.toLowerCase(),
|
|
@@ -3869,32 +3772,32 @@ function SelectionSourceBadge({ source, hidden = false }) {
|
|
|
3869
3772
|
}
|
|
3870
3773
|
|
|
3871
3774
|
// src/components/vendor-page-skeleton.tsx
|
|
3872
|
-
import { jsx as
|
|
3775
|
+
import { jsx as jsx22 } from "react/jsx-runtime";
|
|
3873
3776
|
function VendorPageSkeleton() {
|
|
3874
|
-
return /* @__PURE__ */
|
|
3777
|
+
return /* @__PURE__ */ jsx22(VendorDetailLayoutSkeleton, {});
|
|
3875
3778
|
}
|
|
3876
3779
|
|
|
3877
3780
|
// src/components/why-it-matters.tsx
|
|
3878
|
-
import { jsx as
|
|
3781
|
+
import { jsx as jsx23, jsxs as jsxs20 } from "react/jsx-runtime";
|
|
3879
3782
|
|
|
3880
3783
|
// src/components/yes-no-display.tsx
|
|
3881
|
-
import { jsx as
|
|
3784
|
+
import { jsx as jsx24, jsxs as jsxs21 } from "react/jsx-runtime";
|
|
3882
3785
|
function YesNoDisplay({ value, yesText = "Yes", noText = "No", customText, className = "" }) {
|
|
3883
3786
|
if (customText) {
|
|
3884
3787
|
return /* @__PURE__ */ jsxs21("div", { className: `flex items-center gap-2 ${className}`, children: [
|
|
3885
|
-
/* @__PURE__ */
|
|
3886
|
-
/* @__PURE__ */
|
|
3788
|
+
/* @__PURE__ */ jsx24(CheckCircleIcon2, { className: "h-6 w-6" }),
|
|
3789
|
+
/* @__PURE__ */ jsx24("span", { className: "text-ods-text-primary text-h6", children: customText })
|
|
3887
3790
|
] });
|
|
3888
3791
|
}
|
|
3889
3792
|
if (value) {
|
|
3890
3793
|
return /* @__PURE__ */ jsxs21("div", { className: `flex items-center gap-2 ${className}`, children: [
|
|
3891
|
-
/* @__PURE__ */
|
|
3892
|
-
/* @__PURE__ */
|
|
3794
|
+
/* @__PURE__ */ jsx24(CheckCircleIcon2, { className: "h-6 w-6" }),
|
|
3795
|
+
/* @__PURE__ */ jsx24("span", { className: "text-ods-text-primary text-h6", children: yesText })
|
|
3893
3796
|
] });
|
|
3894
3797
|
}
|
|
3895
3798
|
return /* @__PURE__ */ jsxs21("div", { className: `flex items-center gap-2 ${className}`, children: [
|
|
3896
|
-
/* @__PURE__ */
|
|
3897
|
-
/* @__PURE__ */
|
|
3799
|
+
/* @__PURE__ */ jsx24(XCircleIcon, { className: "h-6 w-6" }),
|
|
3800
|
+
/* @__PURE__ */ jsx24("span", { className: "text-ods-text-secondary text-h6", children: noText })
|
|
3898
3801
|
] });
|
|
3899
3802
|
}
|
|
3900
3803
|
function evaluateFeatureValue(value, dataType) {
|
|
@@ -3929,7 +3832,7 @@ function evaluateFeatureValue(value, dataType) {
|
|
|
3929
3832
|
|
|
3930
3833
|
// src/components/made-with-love.tsx
|
|
3931
3834
|
import { useState as useState7, useEffect as useEffect3 } from "react";
|
|
3932
|
-
import { jsx as
|
|
3835
|
+
import { jsx as jsx25, jsxs as jsxs22 } from "react/jsx-runtime";
|
|
3933
3836
|
function MadeWithLove({ className = "", size = "md", showOnMobile = true }) {
|
|
3934
3837
|
const [isMobile, setIsMobile] = useState7(false);
|
|
3935
3838
|
const [isHovered, setIsHovered] = useState7(false);
|
|
@@ -4011,14 +3914,14 @@ function MadeWithLove({ className = "", size = "md", showOnMobile = true }) {
|
|
|
4011
3914
|
onMouseEnter: () => setIsHovered(true),
|
|
4012
3915
|
onMouseLeave: () => setIsHovered(false),
|
|
4013
3916
|
children: [
|
|
4014
|
-
/* @__PURE__ */
|
|
3917
|
+
/* @__PURE__ */ jsx25("div", { style: logoStyle, children: /* @__PURE__ */ jsx25(
|
|
4015
3918
|
FlamingoLogo2,
|
|
4016
3919
|
{
|
|
4017
3920
|
size: config.logoSize,
|
|
4018
3921
|
color: "#f357bb"
|
|
4019
3922
|
}
|
|
4020
3923
|
) }),
|
|
4021
|
-
/* @__PURE__ */
|
|
3924
|
+
/* @__PURE__ */ jsx25("span", { style: textStyle, children: "Flamingo" })
|
|
4022
3925
|
]
|
|
4023
3926
|
}
|
|
4024
3927
|
)
|
|
@@ -4027,7 +3930,7 @@ function MadeWithLove({ className = "", size = "md", showOnMobile = true }) {
|
|
|
4027
3930
|
|
|
4028
3931
|
// src/components/date-time-picker.tsx
|
|
4029
3932
|
import DatePicker2 from "react-datepicker";
|
|
4030
|
-
import { jsx as
|
|
3933
|
+
import { jsx as jsx26, jsxs as jsxs23 } from "react/jsx-runtime";
|
|
4031
3934
|
var inputClassName = cn(
|
|
4032
3935
|
"flex h-10 w-full rounded-md border px-3 py-2 text-sm ring-offset-background",
|
|
4033
3936
|
"file:border-0 file:bg-transparent file:text-sm file:font-medium",
|
|
@@ -4052,8 +3955,8 @@ function DateTimePicker({
|
|
|
4052
3955
|
dateFormat = "MMMM d, yyyy h:mm aa"
|
|
4053
3956
|
}) {
|
|
4054
3957
|
return /* @__PURE__ */ jsxs23("div", { className: cn("space-y-2", className), children: [
|
|
4055
|
-
label && /* @__PURE__ */
|
|
4056
|
-
/* @__PURE__ */
|
|
3958
|
+
label && /* @__PURE__ */ jsx26(Label, { className: "font-semibold text-ods-text-secondary text-h5", children: label }),
|
|
3959
|
+
/* @__PURE__ */ jsx26("div", { className: "w-full", children: /* @__PURE__ */ jsx26(
|
|
4057
3960
|
DatePicker2,
|
|
4058
3961
|
{
|
|
4059
3962
|
selected: value,
|
|
@@ -4068,7 +3971,7 @@ function DateTimePicker({
|
|
|
4068
3971
|
className: inputClassName
|
|
4069
3972
|
}
|
|
4070
3973
|
) }),
|
|
4071
|
-
/* @__PURE__ */
|
|
3974
|
+
/* @__PURE__ */ jsx26(
|
|
4072
3975
|
"style",
|
|
4073
3976
|
{
|
|
4074
3977
|
dangerouslySetInnerHTML: {
|
|
@@ -4179,7 +4082,7 @@ function DateTimePicker({
|
|
|
4179
4082
|
}
|
|
4180
4083
|
|
|
4181
4084
|
// src/components/authors/author-detail-view.tsx
|
|
4182
|
-
import { jsx as
|
|
4085
|
+
import { jsx as jsx27, jsxs as jsxs24 } from "react/jsx-runtime";
|
|
4183
4086
|
function AuthorDetailView({ author, proxyImageUrl, children, className }) {
|
|
4184
4087
|
const runtime = useChatRuntime();
|
|
4185
4088
|
const proxiedAvatar = author.avatarUrl ? proxyImageUrl ? proxyImageUrl(author.avatarUrl) : getProxiedImageUrl(author.avatarUrl, {
|
|
@@ -4191,12 +4094,12 @@ function AuthorDetailView({ author, proxyImageUrl, children, className }) {
|
|
|
4191
4094
|
const bioText = formatBioText(author.about);
|
|
4192
4095
|
return /* @__PURE__ */ jsxs24("div", { className: cn("flex flex-col gap-5 md:gap-6", className), children: [
|
|
4193
4096
|
/* @__PURE__ */ jsxs24("div", { className: "flex w-full items-start gap-6", children: [
|
|
4194
|
-
/* @__PURE__ */
|
|
4097
|
+
/* @__PURE__ */ jsx27("div", { className: "relative h-24 w-24 shrink-0", children: /* @__PURE__ */ jsx27("div", { className: "relative h-full w-full overflow-hidden rounded-full border border-ods-border bg-ods-bg-surface", children: proxiedAvatar ? /* @__PURE__ */ jsx27(next_image_default, { src: proxiedAvatar, alt: author.fullName, fill: true, className: "object-cover", unoptimized: true }) : /* @__PURE__ */ jsx27("div", { className: "flex h-full w-full items-center justify-center font-heading text-3xl text-ods-text-secondary", children: author.fullName.charAt(0).toUpperCase() }) }) }),
|
|
4195
4098
|
/* @__PURE__ */ jsxs24("div", { className: "flex min-w-0 flex-col justify-center gap-2", children: [
|
|
4196
|
-
/* @__PURE__ */
|
|
4197
|
-
subtitle && /* @__PURE__ */
|
|
4099
|
+
/* @__PURE__ */ jsx27("p", { className: "truncate leading-none text-ods-text-primary text-h2", children: author.fullName }),
|
|
4100
|
+
subtitle && /* @__PURE__ */ jsx27("p", { className: "truncate font-body text-lg leading-none text-ods-text-secondary", children: subtitle }),
|
|
4198
4101
|
author.socialLinks.length > 0 && // Ghost compact row (transparent 32px) — metadata, not CTAs.
|
|
4199
|
-
/* @__PURE__ */
|
|
4102
|
+
/* @__PURE__ */ jsx27(
|
|
4200
4103
|
SocialIconRow,
|
|
4201
4104
|
{
|
|
4202
4105
|
compact: true,
|
|
@@ -4209,8 +4112,8 @@ function AuthorDetailView({ author, proxyImageUrl, children, className }) {
|
|
|
4209
4112
|
)
|
|
4210
4113
|
] })
|
|
4211
4114
|
] }),
|
|
4212
|
-
bioText && /* @__PURE__ */
|
|
4213
|
-
author.knowsAbout.length > 0 && /* @__PURE__ */
|
|
4115
|
+
bioText && /* @__PURE__ */ jsx27("p", { className: "text-ods-text-secondary text-h6", children: bioText }),
|
|
4116
|
+
author.knowsAbout.length > 0 && /* @__PURE__ */ jsx27("div", { className: "flex flex-wrap gap-2", children: author.knowsAbout.map((topic) => /* @__PURE__ */ jsx27(StatusBadge, { text: topic, variant: "button", colorScheme: "cyan", singleLine: true }, topic)) }),
|
|
4214
4117
|
children
|
|
4215
4118
|
] });
|
|
4216
4119
|
}
|
|
@@ -4228,6 +4131,7 @@ export {
|
|
|
4228
4131
|
APPROVAL_LEVEL_META,
|
|
4229
4132
|
APPROVAL_STATUS,
|
|
4230
4133
|
ASK_AI_OPEN_EVENT,
|
|
4134
|
+
ASK_PROMPTS_DEFAULT_COUNT,
|
|
4231
4135
|
ASSISTANT_TYPE,
|
|
4232
4136
|
AUTHOR_TYPE,
|
|
4233
4137
|
AUTO_CONTINUATION_DIRECTIVE_PREFIX,
|
|
@@ -4302,6 +4206,7 @@ export {
|
|
|
4302
4206
|
AspectRatio,
|
|
4303
4207
|
AssignTicketModal,
|
|
4304
4208
|
AssigneeDropdown,
|
|
4209
|
+
AssistantAskPrompts,
|
|
4305
4210
|
AuditLoggingIcon,
|
|
4306
4211
|
AuthBenefitsPanel,
|
|
4307
4212
|
AuthProvider,
|
|
@@ -4656,6 +4561,7 @@ export {
|
|
|
4656
4561
|
FacebookIcon,
|
|
4657
4562
|
FadePreview,
|
|
4658
4563
|
FaqAccordion,
|
|
4564
|
+
FaqAskCard,
|
|
4659
4565
|
FaqDocumentPage,
|
|
4660
4566
|
FaqSection,
|
|
4661
4567
|
FeatureCardGrid,
|
|
@@ -5378,10 +5284,12 @@ export {
|
|
|
5378
5284
|
approvalDisplaysInline,
|
|
5379
5285
|
approvalMetaToBatchData,
|
|
5380
5286
|
arrangePhotoWall,
|
|
5287
|
+
assistantAvailable,
|
|
5381
5288
|
badgeVariants,
|
|
5382
5289
|
benefitCardBorderClass,
|
|
5383
5290
|
blogFilterConfig,
|
|
5384
5291
|
buildAnchorProps,
|
|
5292
|
+
buildAskPromptsUrl,
|
|
5385
5293
|
buildAutoContinuationDirective,
|
|
5386
5294
|
buildCaptionsUrl,
|
|
5387
5295
|
buildChatAttachmentViewUrl,
|
|
@@ -5587,6 +5495,8 @@ export {
|
|
|
5587
5495
|
toggleVariants,
|
|
5588
5496
|
upsertTrailingCompaction,
|
|
5589
5497
|
useAppLayoutDrawerContainer,
|
|
5498
|
+
useAskPrompts,
|
|
5499
|
+
useAssistantOpen,
|
|
5590
5500
|
useAuth,
|
|
5591
5501
|
useBetweenAnchors,
|
|
5592
5502
|
useBoardCollapse,
|
|
@@ -5641,6 +5551,8 @@ export {
|
|
|
5641
5551
|
useScrollFade,
|
|
5642
5552
|
useScrollSpy,
|
|
5643
5553
|
useSectionNavigation,
|
|
5554
|
+
useShownAskPromptIds,
|
|
5555
|
+
useShownAskPrompts,
|
|
5644
5556
|
useSlashCommandRegistry,
|
|
5645
5557
|
useSlashCommands,
|
|
5646
5558
|
useSortableItem,
|