@flamingo-stack/openframe-frontend-core 0.0.719 → 0.0.721
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/assets/index.cjs +6 -0
- package/dist/assets/index.d.ts +1 -0
- package/dist/assets/index.d.ts.map +1 -1
- package/dist/assets/index.js +5 -1
- package/dist/assets/mobile-app-qr.d.ts +17 -0
- package/dist/assets/mobile-app-qr.d.ts.map +1 -0
- package/dist/{chunk-2JLP2X2M.js → chunk-2P2M27EW.js} +2396 -2369
- package/dist/{chunk-IWCPXJEE.js → chunk-2TXGR7IK.js} +138 -63
- package/dist/{chunk-FVQJBII6.js → chunk-3LY7V3RF.js} +3 -3
- package/dist/{chunk-HCFNEKO3.cjs → chunk-3R32ZNA2.cjs} +46 -46
- package/dist/{chunk-WSDT7LYL.js → chunk-3UBWDR65.js} +1 -1
- package/dist/{chunk-NZ5BHDFZ.js → chunk-44Q6MV7C.js} +2 -2
- package/dist/{chunk-CMZ3QTFQ.js → chunk-4I3K6LEH.js} +24 -0
- package/dist/{chunk-ZXCZYMN4.cjs → chunk-4LY6R4TN.cjs} +137 -62
- package/dist/{chunk-EAHOB64X.js → chunk-57UTI7ZH.js} +106 -42
- package/dist/{chunk-XGHGGBM3.js → chunk-5QXE5HMV.js} +4 -4
- package/dist/{chunk-NYWESHOQ.cjs → chunk-6AJIOW3S.cjs} +57 -57
- package/dist/{chunk-4QFWGLZO.js → chunk-6YBUQAOH.js} +1 -1
- package/dist/{chunk-JHQ334WS.js → chunk-742BGXNX.js} +2 -0
- package/dist/{chunk-D6PMVWDI.js → chunk-74N742ZG.js} +6 -6
- package/dist/{chunk-AECTRMGQ.cjs → chunk-7GRPR7XA.cjs} +13 -1
- package/dist/{chunk-4HJRHEXD.cjs → chunk-7Z5FMQYR.cjs} +22 -22
- package/dist/chunk-AFTRPEXO.js +13 -0
- package/dist/{chunk-WBNAEYTQ.cjs → chunk-BYUIFT7Q.cjs} +6 -6
- package/dist/{chunk-LCLDFMDF.cjs → chunk-BYVVE7HP.cjs} +58 -58
- package/dist/{chunk-JPD4NXH6.js → chunk-CO3FOZIH.js} +1 -1
- package/dist/{chunk-E7YCPY7K.cjs → chunk-D2DH6VZL.cjs} +3 -3
- package/dist/{chunk-HWVUR735.cjs → chunk-DFM572VH.cjs} +2 -2
- package/dist/{chunk-YDPKUAP4.js → chunk-DJ4IFQNQ.js} +2 -0
- package/dist/{chunk-5U3KWQXP.js → chunk-E6SMMMKV.js} +13 -13
- package/dist/chunk-EWPR7662.cjs +13 -0
- package/dist/{chunk-SWAVO7BB.cjs → chunk-F7ORKKEF.cjs} +108 -108
- package/dist/{chunk-AGVXKD4K.js → chunk-FSQQZFVG.js} +12 -0
- package/dist/{chunk-ETYLOZOB.cjs → chunk-GCK75D7F.cjs} +109 -22
- package/dist/{chunk-ZKNZ2CXW.cjs → chunk-GGBYZKMS.cjs} +11 -11
- package/dist/{chunk-Y4MB25KW.js → chunk-GYAXV3MZ.js} +3 -3
- package/dist/{chunk-UWQWMGJ7.cjs → chunk-HJMSNOBT.cjs} +1040 -696
- package/dist/{chunk-DFQYAYBH.cjs → chunk-HQIOMFJH.cjs} +2 -0
- package/dist/{chunk-JH2SIWPQ.js → chunk-HXB7SEYG.js} +1611 -1267
- package/dist/{chunk-LE5WKGJV.cjs → chunk-I2254QN6.cjs} +16 -16
- package/dist/{chunk-PSVSEN4J.cjs → chunk-IMTY3GRR.cjs} +2 -0
- package/dist/{chunk-ILNN6QRW.js → chunk-JDBZ4ZHU.js} +3 -3
- package/dist/{chunk-GQ7JJUIT.cjs → chunk-K2JUJ37D.cjs} +25 -1
- package/dist/{chunk-6YPTUHM7.js → chunk-K76ACBR3.js} +3 -3
- package/dist/{chunk-2NASBO7O.js → chunk-KFOAV77K.js} +2 -2
- package/dist/{chunk-CU6NWO2M.js → chunk-LAXKEBDD.js} +14 -18
- package/dist/{chunk-5YAGX5DY.js → chunk-LGKMR7NZ.js} +7 -7
- package/dist/{chunk-E2V2EH2G.cjs → chunk-LODMNSQY.cjs} +16 -16
- package/dist/{chunk-4D6NMPOO.js → chunk-NJ5TBTJG.js} +7 -7
- package/dist/{chunk-TDZ76NCB.cjs → chunk-NMPVK53I.cjs} +29 -29
- package/dist/{chunk-TTVOLEUS.js → chunk-NPSJE7J3.js} +90 -3
- package/dist/{chunk-H5VIMBRN.cjs → chunk-O5EHOJZD.cjs} +4 -4
- package/dist/{chunk-KT3U3ZRP.cjs → chunk-OKE5BIQH.cjs} +8 -8
- package/dist/{chunk-DC4RTYWK.cjs → chunk-QLTXT562.cjs} +5 -5
- package/dist/{chunk-H5V7GRN5.js → chunk-QQCFPMAA.js} +5 -7
- package/dist/{chunk-7BREFV7G.cjs → chunk-QYS4YVEP.cjs} +34 -36
- package/dist/{chunk-7BCY77W6.js → chunk-RCI3PALX.js} +8 -10
- package/dist/{chunk-P3JMAMHP.js → chunk-REETLEL5.js} +1 -1
- package/dist/{chunk-4JIGEK7C.cjs → chunk-RJMWJAJO.cjs} +97 -33
- package/dist/{chunk-WS7WRR5Z.cjs → chunk-RQZQHLNS.cjs} +86 -90
- package/dist/{chunk-FFT56TYB.cjs → chunk-RUZIICXT.cjs} +2 -2
- package/dist/{chunk-AJHSQ5XK.js → chunk-S63QBBT7.js} +6 -6
- package/dist/{chunk-TELAANY6.js → chunk-UXU7Y5BH.js} +2 -2
- package/dist/{chunk-NQVS4G7G.cjs → chunk-UZTOI6FJ.cjs} +773 -746
- package/dist/{chunk-DFEPUYTF.cjs → chunk-VFICDEYJ.cjs} +45 -47
- package/dist/{chunk-LOZLHG2U.cjs → chunk-XE2K53GH.cjs} +20 -20
- package/dist/{chunk-QBCDSTLE.cjs → chunk-XXO52RZR.cjs} +26 -26
- package/dist/{chunk-TTEFN6VO.js → chunk-ZLUFEWZZ.js} +10 -10
- package/dist/{chunk-MA4Q5RBP.cjs → chunk-ZSOFLPQN.cjs} +9 -9
- package/dist/{chunk-KBJJQFYU.js → chunk-ZZEKXGFS.js} +2 -2
- package/dist/{cloud-tenants-FBUO66GW.cjs → cloud-tenants-HZHKRUIW.cjs} +16 -16
- package/dist/{cloud-tenants-DNBPNQNP.js → cloud-tenants-Q4TCJS5Y.js} +15 -15
- package/dist/components/calendar.cjs +4 -4
- package/dist/components/calendar.js +1 -1
- package/dist/components/case-studies/index.cjs +30 -30
- package/dist/components/case-studies/index.js +16 -16
- 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 +27 -10
- 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 +26 -9
- package/dist/components/chat/utils/icon-library.d.ts.map +1 -1
- package/dist/components/contact/index.cjs +17 -17
- package/dist/components/contact/index.js +16 -16
- package/dist/components/docs/index.cjs +20 -20
- package/dist/components/docs/index.js +19 -19
- package/dist/components/embeds/index.cjs +17 -17
- package/dist/components/embeds/index.js +16 -16
- 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 +19 -18
- 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 +18 -17
- package/dist/components/features/auth/auth-benefits-panel.d.ts.map +1 -1
- package/dist/components/features/index.cjs +16 -16
- package/dist/components/features/index.js +15 -15
- package/dist/components/help-center-pages/download-apps-page.d.ts +55 -0
- package/dist/components/help-center-pages/download-apps-page.d.ts.map +1 -0
- package/dist/components/help-center-pages/index.cjs +333 -119
- package/dist/components/help-center-pages/index.d.ts +1 -0
- package/dist/components/help-center-pages/index.d.ts.map +1 -1
- package/dist/components/help-center-pages/index.js +251 -37
- 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 +131 -217
- package/dist/components/index.js +236 -322
- package/dist/components/meeting-scheduler/index.cjs +61 -62
- package/dist/components/meeting-scheduler/index.js +18 -19
- package/dist/components/navigation/index.cjs +19 -19
- package/dist/components/navigation/index.js +18 -18
- 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 +19 -20
- package/dist/components/onboarding-guides/index.js +18 -19
- package/dist/components/product-demo/index.cjs +8 -8
- package/dist/components/product-demo/index.js +8 -8
- package/dist/components/related-content/index.cjs +7 -9
- package/dist/components/related-content/index.js +6 -8
- package/dist/components/tickets/index.cjs +21 -21
- package/dist/components/tickets/index.js +20 -20
- package/dist/components/ui/button/button.d.ts.map +1 -1
- package/dist/components/ui/file-manager/index.cjs +11 -11
- package/dist/components/ui/file-manager/index.js +1 -1
- package/dist/components/ui/index.cjs +34 -16
- package/dist/components/ui/index.d.ts +1 -0
- package/dist/components/ui/index.d.ts.map +1 -1
- package/dist/components/ui/index.js +33 -15
- package/dist/components/ui/mobile-app-qr.d.ts +23 -0
- package/dist/components/ui/mobile-app-qr.d.ts.map +1 -0
- package/dist/components/ui/store-badges.d.ts +7 -4
- package/dist/components/ui/store-badges.d.ts.map +1 -1
- 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-5A5TY4JD.cjs → devices-6XHUFIC6.cjs} +17 -17
- package/dist/{devices-PLDAEUSL.js → devices-NOUGVTES.js} +15 -15
- package/dist/hooks/index.cjs +10 -5
- package/dist/hooks/index.d.ts +1 -0
- package/dist/hooks/index.d.ts.map +1 -1
- package/dist/hooks/index.js +9 -4
- package/dist/hooks/use-downloads.d.ts +41 -0
- package/dist/hooks/use-downloads.d.ts.map +1 -0
- package/dist/index.cjs +80 -20
- package/dist/index.js +79 -19
- package/dist/{knowledge-G6Q5KRWV.js → knowledge-2YTUXQ2Z.js} +15 -15
- package/dist/{knowledge-FKTJ723Z.cjs → knowledge-ANEKPMO2.cjs} +17 -17
- package/dist/{logs-CJCXUBU6.cjs → logs-U3IB3HUM.cjs} +25 -25
- package/dist/{logs-QMV6XIC4.js → logs-WVQIONUT.js} +15 -15
- package/dist/{policies-G6D7AX6F.js → policies-66EGDW2H.js} +15 -15
- package/dist/{policies-QMRTK3CY.cjs → policies-UFRN2EQF.cjs} +20 -20
- package/dist/{remote-session-DBD6OSTX.js → remote-session-6WEUJZDC.js} +5 -5
- package/dist/{remote-session-2JVI7RVA.cjs → remote-session-A75X5NPC.cjs} +7 -7
- package/dist/{software-update-PNZMRDBT.cjs → software-update-2MHKL76D.cjs} +20 -20
- package/dist/{software-update-6BQM6BKH.js → software-update-3ZD3MXF3.js} +15 -15
- package/dist/{tickets-board-BHLPAVNJ.cjs → tickets-board-IFWMIZ35.cjs} +9 -9
- package/dist/{tickets-board-PYDNELSK.js → tickets-board-MYXG3V72.js} +4 -4
- package/dist/types/downloads.d.ts +67 -0
- package/dist/types/downloads.d.ts.map +1 -0
- package/dist/types/index.cjs +24 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +16 -1
- package/dist/utils/index.cjs +46 -2
- package/dist/utils/index.d.ts +2 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +40 -3
- package/dist/utils/list-url.d.ts.map +1 -1
- package/dist/utils/mobile-app.cjs +46 -0
- package/dist/utils/mobile-app.d.ts +40 -0
- package/dist/utils/mobile-app.d.ts.map +1 -0
- package/dist/utils/mobile-app.js +40 -0
- 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 +7 -1
- package/src/assets/index.ts +1 -0
- package/src/assets/mobile-app-qr.ts +19 -0
- 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/help-center-pages/download-apps-page.tsx +364 -0
- package/src/components/help-center-pages/index.ts +1 -0
- 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/ui/button/button.tsx +3 -0
- package/src/components/ui/index.ts +1 -0
- package/src/components/ui/mobile-app-qr.tsx +40 -0
- package/src/components/ui/store-badges.tsx +17 -9
- package/src/contexts/assistant-runtime-context.tsx +84 -0
- package/src/contexts/index.ts +9 -0
- package/src/hooks/index.ts +1 -0
- package/src/hooks/use-downloads.ts +138 -0
- package/src/types/downloads.ts +82 -0
- package/src/types/index.ts +1 -0
- package/src/utils/index.ts +3 -0
- package/src/utils/list-url.ts +4 -0
- package/src/utils/mobile-app.ts +57 -0
- package/src/utils/source-icons.ts +10 -2
- package/src/utils/trial.ts +19 -0
- package/dist/chunk-6X3O67OL.cjs +0 -89
- package/dist/chunk-AUMKE74M.cjs +0 -16
- package/dist/chunk-G3GRYDMS.js +0 -16
- package/dist/chunk-RR6PY34K.js +0 -89
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-LAXKEBDD.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-ZLUFEWZZ.js";
|
|
31
31
|
import {
|
|
32
32
|
FileDownloadCard,
|
|
33
33
|
GoogleSheetsViewer,
|
|
34
34
|
PdfViewer
|
|
35
|
-
} from "../chunk-
|
|
35
|
+
} from "../chunk-3LY7V3RF.js";
|
|
36
36
|
import {
|
|
37
37
|
PersistentPagination,
|
|
38
38
|
PersistentPaginationWrapper,
|
|
39
39
|
usePaginationLoading
|
|
40
|
-
} from "../chunk-
|
|
40
|
+
} from "../chunk-6YBUQAOH.js";
|
|
41
41
|
import {
|
|
42
42
|
FaqAccordion,
|
|
43
|
+
FaqAskCard,
|
|
43
44
|
FaqDocumentPage,
|
|
44
45
|
FaqSection
|
|
45
|
-
} from "../chunk-
|
|
46
|
+
} from "../chunk-57UTI7ZH.js";
|
|
46
47
|
import {
|
|
47
48
|
GROUP_PAGE_SIZE,
|
|
48
49
|
RelatedContentSection
|
|
49
|
-
} from "../chunk-
|
|
50
|
+
} from "../chunk-QQCFPMAA.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-5QXE5HMV.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-NJ5TBTJG.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-44Q6MV7C.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-S63QBBT7.js";
|
|
101
102
|
import {
|
|
102
103
|
EmptyState,
|
|
103
104
|
UnifiedPagination
|
|
104
|
-
} from "../chunk-
|
|
105
|
-
import "../chunk-
|
|
105
|
+
} from "../chunk-K76ACBR3.js";
|
|
106
|
+
import "../chunk-CO3FOZIH.js";
|
|
106
107
|
import {
|
|
107
108
|
ArticleAuthorByline,
|
|
108
109
|
DetailPageSkeleton
|
|
109
|
-
} from "../chunk-
|
|
110
|
+
} from "../chunk-UXU7Y5BH.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-RR6PY34K.js";
|
|
118
|
+
} from "../chunk-LGKMR7NZ.js";
|
|
121
119
|
import {
|
|
122
120
|
AIEnrichButton,
|
|
123
121
|
AIEnrichSection,
|
|
@@ -388,6 +386,7 @@ import {
|
|
|
388
386
|
MenubarSubTrigger,
|
|
389
387
|
MenubarTrigger,
|
|
390
388
|
MinusIcon,
|
|
389
|
+
MobileAppQr,
|
|
391
390
|
MoreAboutButton,
|
|
392
391
|
MoreActionsMenu,
|
|
393
392
|
MspProfileFormSkeleton,
|
|
@@ -704,7 +703,7 @@ import {
|
|
|
704
703
|
useTrackerClock,
|
|
705
704
|
useWalkthroughVideo,
|
|
706
705
|
usersCountLabel
|
|
707
|
-
} from "../chunk-
|
|
706
|
+
} from "../chunk-2P2M27EW.js";
|
|
708
707
|
import {
|
|
709
708
|
Board,
|
|
710
709
|
BoardColumn,
|
|
@@ -720,7 +719,7 @@ import {
|
|
|
720
719
|
groupTicketsByStatus,
|
|
721
720
|
tintOnDark,
|
|
722
721
|
useBoardCollapse
|
|
723
|
-
} from "../chunk-
|
|
722
|
+
} from "../chunk-JDBZ4ZHU.js";
|
|
724
723
|
import "../chunk-LQYXMEYF.js";
|
|
725
724
|
import "../chunk-4JPLYOS6.js";
|
|
726
725
|
import {
|
|
@@ -779,7 +778,7 @@ import {
|
|
|
779
778
|
formatRemoteSessionOffset,
|
|
780
779
|
usePageActionsBottomPadding,
|
|
781
780
|
useRemoteSessionTimer
|
|
782
|
-
} from "../chunk-
|
|
781
|
+
} from "../chunk-GYAXV3MZ.js";
|
|
783
782
|
import {
|
|
784
783
|
CommandApprovalToast,
|
|
785
784
|
ToastCard,
|
|
@@ -791,7 +790,7 @@ import {
|
|
|
791
790
|
useOnboardingState,
|
|
792
791
|
useStickyToolbar,
|
|
793
792
|
useToast
|
|
794
|
-
} from "../chunk-
|
|
793
|
+
} from "../chunk-2TXGR7IK.js";
|
|
795
794
|
import "../chunk-3K5ZLZE7.js";
|
|
796
795
|
import {
|
|
797
796
|
useEndpointsRuntime
|
|
@@ -805,8 +804,7 @@ import {
|
|
|
805
804
|
PaginationLink,
|
|
806
805
|
PaginationNext,
|
|
807
806
|
PaginationPrevious
|
|
808
|
-
} from "../chunk-
|
|
809
|
-
import "../chunk-G3GRYDMS.js";
|
|
807
|
+
} from "../chunk-3UBWDR65.js";
|
|
810
808
|
import {
|
|
811
809
|
Checkbox
|
|
812
810
|
} from "../chunk-PLWMIU72.js";
|
|
@@ -814,6 +812,7 @@ import {
|
|
|
814
812
|
ANNOUNCEMENT_CTA_DEFAULTS,
|
|
815
813
|
ANTHROPIC_SUPPORTED_IMAGE_MIME,
|
|
816
814
|
ASK_AI_OPEN_EVENT,
|
|
815
|
+
ASK_PROMPTS_DEFAULT_COUNT,
|
|
817
816
|
AUTO_CONTINUATION_DIRECTIVE_PREFIX,
|
|
818
817
|
AiAssistantInfo,
|
|
819
818
|
ApprovalRequestMessage,
|
|
@@ -821,6 +820,7 @@ import {
|
|
|
821
820
|
AskCard,
|
|
822
821
|
AskDisplay,
|
|
823
822
|
AskPrompts,
|
|
823
|
+
AssistantAskPrompts,
|
|
824
824
|
BlockCard,
|
|
825
825
|
CHAT_ATTACHMENT_CONCURRENT_UPLOADS_PER_USER,
|
|
826
826
|
CHAT_ATTACHMENT_MARKDOWN_PATTERN,
|
|
@@ -986,6 +986,7 @@ import {
|
|
|
986
986
|
UnarchiveChatModal,
|
|
987
987
|
UnifiedSkeleton,
|
|
988
988
|
UserDisplay,
|
|
989
|
+
VendorIcon,
|
|
989
990
|
VideoBiteCard,
|
|
990
991
|
VideoBitesStrip,
|
|
991
992
|
WALL_SKELETON_LABEL_CH,
|
|
@@ -993,6 +994,8 @@ import {
|
|
|
993
994
|
appendToTrailingAssistant,
|
|
994
995
|
applyToolExecutionToMessages,
|
|
995
996
|
approvalDisplaysInline,
|
|
997
|
+
assistantAvailable,
|
|
998
|
+
buildAskPromptsUrl,
|
|
996
999
|
buildAutoContinuationDirective,
|
|
997
1000
|
buildCaptionsUrl,
|
|
998
1001
|
buildChatAttachmentViewUrl,
|
|
@@ -1048,6 +1051,7 @@ import {
|
|
|
1048
1051
|
getPlatformUrl,
|
|
1049
1052
|
getSourceIconName,
|
|
1050
1053
|
getSourceLabel,
|
|
1054
|
+
getVendorLogo,
|
|
1051
1055
|
groupByAspectRatio,
|
|
1052
1056
|
handleChatNavClick,
|
|
1053
1057
|
historicalToUnified,
|
|
@@ -1086,6 +1090,8 @@ import {
|
|
|
1086
1090
|
stripChatAttachmentMarkdown,
|
|
1087
1091
|
stripSameOriginToPath,
|
|
1088
1092
|
upsertTrailingCompaction,
|
|
1093
|
+
useAskPrompts,
|
|
1094
|
+
useAssistantOpen,
|
|
1089
1095
|
useCaptions,
|
|
1090
1096
|
useChat,
|
|
1091
1097
|
useChatAppearance,
|
|
@@ -1109,12 +1115,14 @@ import {
|
|
|
1109
1115
|
useSSE,
|
|
1110
1116
|
useScriptedStream,
|
|
1111
1117
|
useScrollFade,
|
|
1118
|
+
useShownAskPromptIds,
|
|
1119
|
+
useShownAskPrompts,
|
|
1112
1120
|
useSlashCommandRegistry,
|
|
1113
1121
|
useSlashCommands,
|
|
1114
1122
|
useSseChatAdapter,
|
|
1115
1123
|
useStableShallow,
|
|
1116
1124
|
useUnifiedChat
|
|
1117
|
-
} from "../chunk-
|
|
1125
|
+
} from "../chunk-HXB7SEYG.js";
|
|
1118
1126
|
import {
|
|
1119
1127
|
ApprovalBatchMessage,
|
|
1120
1128
|
ApprovalStatusTag,
|
|
@@ -1136,7 +1144,8 @@ import {
|
|
|
1136
1144
|
resolveTicketStatus,
|
|
1137
1145
|
useCollapsible,
|
|
1138
1146
|
usesCanonicalStatusStyle
|
|
1139
|
-
} from "../chunk-
|
|
1147
|
+
} from "../chunk-KFOAV77K.js";
|
|
1148
|
+
import "../chunk-AFTRPEXO.js";
|
|
1140
1149
|
import {
|
|
1141
1150
|
APPROVAL_BLOCK_VARIANT,
|
|
1142
1151
|
APPROVAL_STATUS,
|
|
@@ -1159,7 +1168,7 @@ import {
|
|
|
1159
1168
|
SlashCommandSuggestions,
|
|
1160
1169
|
isStructuredContent,
|
|
1161
1170
|
normalizeContent
|
|
1162
|
-
} from "../chunk-
|
|
1171
|
+
} from "../chunk-ZZEKXGFS.js";
|
|
1163
1172
|
import {
|
|
1164
1173
|
ActionsMenu,
|
|
1165
1174
|
ActionsMenuDropdown,
|
|
@@ -1167,10 +1176,10 @@ import {
|
|
|
1167
1176
|
TooltipContent,
|
|
1168
1177
|
TooltipProvider,
|
|
1169
1178
|
TooltipTrigger
|
|
1170
|
-
} from "../chunk-
|
|
1179
|
+
} from "../chunk-REETLEL5.js";
|
|
1171
1180
|
import {
|
|
1172
1181
|
scrollElementIntoView
|
|
1173
|
-
} from "../chunk-
|
|
1182
|
+
} from "../chunk-4I3K6LEH.js";
|
|
1174
1183
|
import {
|
|
1175
1184
|
errorMessage
|
|
1176
1185
|
} from "../chunk-34I6XI3N.js";
|
|
@@ -1295,9 +1304,10 @@ import {
|
|
|
1295
1304
|
statusBadgeVariants,
|
|
1296
1305
|
toStripProfile,
|
|
1297
1306
|
useCoverImageFallback,
|
|
1307
|
+
useSelfFetch,
|
|
1298
1308
|
useVideoOriginPreconnect,
|
|
1299
1309
|
useVideoWarmup
|
|
1300
|
-
} from "../chunk-
|
|
1310
|
+
} from "../chunk-NPSJE7J3.js";
|
|
1301
1311
|
import {
|
|
1302
1312
|
AgentMark
|
|
1303
1313
|
} from "../chunk-H3PKYE4N.js";
|
|
@@ -1310,7 +1320,7 @@ import {
|
|
|
1310
1320
|
getIconComponent,
|
|
1311
1321
|
normalizeIconKey,
|
|
1312
1322
|
resolveIcon
|
|
1313
|
-
} from "../chunk-
|
|
1323
|
+
} from "../chunk-742BGXNX.js";
|
|
1314
1324
|
import {
|
|
1315
1325
|
FloatingTooltip,
|
|
1316
1326
|
OPENFRAME_CLASSIFICATIONS,
|
|
@@ -1325,7 +1335,7 @@ import {
|
|
|
1325
1335
|
} from "../chunk-FBZMAPWO.js";
|
|
1326
1336
|
import {
|
|
1327
1337
|
positiveInt
|
|
1328
|
-
} from "../chunk-
|
|
1338
|
+
} from "../chunk-FSQQZFVG.js";
|
|
1329
1339
|
import {
|
|
1330
1340
|
useChatRuntime
|
|
1331
1341
|
} from "../chunk-E4ABZWTJ.js";
|
|
@@ -1518,7 +1528,7 @@ import {
|
|
|
1518
1528
|
Button,
|
|
1519
1529
|
SplitButton,
|
|
1520
1530
|
buttonVariants
|
|
1521
|
-
} from "../chunk-
|
|
1531
|
+
} from "../chunk-DJ4IFQNQ.js";
|
|
1522
1532
|
import {
|
|
1523
1533
|
next_link_default
|
|
1524
1534
|
} from "../chunk-DAAVMYUT.js";
|
|
@@ -1741,113 +1751,7 @@ function AnnouncementBar({
|
|
|
1741
1751
|
|
|
1742
1752
|
// src/components/categories-cart.tsx
|
|
1743
1753
|
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";
|
|
1754
|
+
import { jsx as jsx2, jsxs as jsxs2 } from "react/jsx-runtime";
|
|
1851
1755
|
function CategoriesCart({
|
|
1852
1756
|
category,
|
|
1853
1757
|
vendors = [],
|
|
@@ -1856,23 +1760,23 @@ function CategoriesCart({
|
|
|
1856
1760
|
isLoading = false,
|
|
1857
1761
|
className = ""
|
|
1858
1762
|
}) {
|
|
1859
|
-
return /* @__PURE__ */
|
|
1763
|
+
return /* @__PURE__ */ jsx2(
|
|
1860
1764
|
next_link_default,
|
|
1861
1765
|
{
|
|
1862
1766
|
href: `/vendors?category=${category.slug}`,
|
|
1863
1767
|
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
1768
|
children: /* @__PURE__ */ jsxs2("div", { className: "flex flex-col gap-4 md:gap-6", children: [
|
|
1865
1769
|
/* @__PURE__ */ jsxs2("div", { className: "relative h-8 w-full overflow-hidden md:h-10", children: [
|
|
1866
|
-
/* @__PURE__ */
|
|
1770
|
+
/* @__PURE__ */ jsx2("div", { className: "flex w-full gap-2 md:gap-3", children: isLoading ? (
|
|
1867
1771
|
// Skeleton loading for vendor icons
|
|
1868
|
-
Array.from({ length: 20 }).map((_, index) => /* @__PURE__ */
|
|
1772
|
+
Array.from({ length: 20 }).map((_, index) => /* @__PURE__ */ jsx2(
|
|
1869
1773
|
"div",
|
|
1870
1774
|
{
|
|
1871
1775
|
className: "h-8 w-8 flex-shrink-0 animate-pulse rounded bg-ods-border md:h-10 md:w-10"
|
|
1872
1776
|
},
|
|
1873
1777
|
index
|
|
1874
1778
|
))
|
|
1875
|
-
) : vendors && vendors.length > 0 ? vendors.map((vendor) => /* @__PURE__ */
|
|
1779
|
+
) : vendors && vendors.length > 0 ? vendors.map((vendor) => /* @__PURE__ */ jsx2(
|
|
1876
1780
|
VendorIcon,
|
|
1877
1781
|
{
|
|
1878
1782
|
vendor,
|
|
@@ -1882,21 +1786,21 @@ function CategoriesCart({
|
|
|
1882
1786
|
vendor.id
|
|
1883
1787
|
)) : (
|
|
1884
1788
|
// No vendors found - show placeholder icons
|
|
1885
|
-
Array.from({ length: 6 }).map((_, index) => /* @__PURE__ */
|
|
1789
|
+
Array.from({ length: 6 }).map((_, index) => /* @__PURE__ */ jsx2(
|
|
1886
1790
|
"div",
|
|
1887
1791
|
{
|
|
1888
1792
|
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__ */
|
|
1793
|
+
children: /* @__PURE__ */ jsx2("div", { className: "h-4 w-4 rounded-sm bg-ods-skeleton md:h-6 md:w-6" })
|
|
1890
1794
|
},
|
|
1891
1795
|
index
|
|
1892
1796
|
))
|
|
1893
1797
|
) }),
|
|
1894
|
-
/* @__PURE__ */
|
|
1895
|
-
/* @__PURE__ */
|
|
1798
|
+
/* @__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" }),
|
|
1799
|
+
/* @__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
1800
|
] }),
|
|
1897
1801
|
/* @__PURE__ */ jsxs2("div", { className: "flex flex-col gap-2", children: [
|
|
1898
1802
|
/* @__PURE__ */ jsxs2("div", { className: "flex flex-col gap-1", children: [
|
|
1899
|
-
/* @__PURE__ */
|
|
1803
|
+
/* @__PURE__ */ jsx2("h3", { className: "text-ods-text-primary transition-colors text-h3 group-hover:text-ods-accent", children: category.name }),
|
|
1900
1804
|
/* @__PURE__ */ jsxs2("p", { className: "text-ods-text-secondary text-h6", children: [
|
|
1901
1805
|
subcategoryCount || 0,
|
|
1902
1806
|
" Subcategories \u2022 ",
|
|
@@ -1905,13 +1809,13 @@ function CategoriesCart({
|
|
|
1905
1809
|
] })
|
|
1906
1810
|
] }),
|
|
1907
1811
|
/* @__PURE__ */ jsxs2("div", { className: "flex items-start justify-between gap-4 md:items-end md:gap-6", children: [
|
|
1908
|
-
/* @__PURE__ */
|
|
1909
|
-
/* @__PURE__ */
|
|
1812
|
+
/* @__PURE__ */ jsx2("p", { className: "flex-1 text-ods-text-primary text-h4", children: category.description }),
|
|
1813
|
+
/* @__PURE__ */ jsx2(
|
|
1910
1814
|
"div",
|
|
1911
1815
|
{
|
|
1912
1816
|
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
1817
|
"aria-label": `View ${category.name} category`,
|
|
1914
|
-
children: /* @__PURE__ */
|
|
1818
|
+
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
1819
|
}
|
|
1916
1820
|
)
|
|
1917
1821
|
] })
|
|
@@ -1922,12 +1826,12 @@ function CategoriesCart({
|
|
|
1922
1826
|
}
|
|
1923
1827
|
|
|
1924
1828
|
// src/components/category-card.tsx
|
|
1925
|
-
import { jsx as
|
|
1829
|
+
import { jsx as jsx3, jsxs as jsxs3 } from "react/jsx-runtime";
|
|
1926
1830
|
function CategoryCard({ name, description, categoryCount, productCount, icons = [] }) {
|
|
1927
1831
|
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__ */
|
|
1832
|
+
/* @__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
1833
|
/* @__PURE__ */ jsxs3("div", { className: "flex flex-1 flex-col", children: [
|
|
1930
|
-
/* @__PURE__ */
|
|
1834
|
+
/* @__PURE__ */ jsx3("h2", { className: "mb-2 text-left text-ods-text-primary text-h2", children: name }),
|
|
1931
1835
|
/* @__PURE__ */ jsxs3("div", { className: "mb-4 text-left text-ods-text-secondary text-h6", children: [
|
|
1932
1836
|
categoryCount,
|
|
1933
1837
|
" Categories \u2022 ",
|
|
@@ -1935,14 +1839,14 @@ function CategoryCard({ name, description, categoryCount, productCount, icons =
|
|
|
1935
1839
|
" Products"
|
|
1936
1840
|
] }),
|
|
1937
1841
|
/* @__PURE__ */ jsxs3("div", { className: "flex flex-row items-start", children: [
|
|
1938
|
-
/* @__PURE__ */
|
|
1939
|
-
/* @__PURE__ */
|
|
1842
|
+
/* @__PURE__ */ jsx3("p", { className: "flex-1 text-left text-ods-text-primary text-h6", children: description }),
|
|
1843
|
+
/* @__PURE__ */ jsx3(
|
|
1940
1844
|
"button",
|
|
1941
1845
|
{
|
|
1942
1846
|
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
1847
|
style: { minWidth: 48, minHeight: 48 },
|
|
1944
1848
|
"aria-label": `View ${name}`,
|
|
1945
|
-
children: /* @__PURE__ */
|
|
1849
|
+
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
1850
|
}
|
|
1947
1851
|
)
|
|
1948
1852
|
] })
|
|
@@ -1952,7 +1856,7 @@ function CategoryCard({ name, description, categoryCount, productCount, icons =
|
|
|
1952
1856
|
|
|
1953
1857
|
// src/components/auth-stub.tsx
|
|
1954
1858
|
import { createContext } from "react";
|
|
1955
|
-
import { jsx as
|
|
1859
|
+
import { jsx as jsx4 } from "react/jsx-runtime";
|
|
1956
1860
|
var AuthContext = createContext({
|
|
1957
1861
|
user: null,
|
|
1958
1862
|
isLoading: false
|
|
@@ -1977,24 +1881,24 @@ function useAuth() {
|
|
|
1977
1881
|
};
|
|
1978
1882
|
}
|
|
1979
1883
|
function AuthProvider({ children }) {
|
|
1980
|
-
return /* @__PURE__ */
|
|
1884
|
+
return /* @__PURE__ */ jsx4(AuthContext.Provider, { value: { user: { id: "mock-user-id", name: "Mock User" }, isLoading: false }, children });
|
|
1981
1885
|
}
|
|
1982
1886
|
|
|
1983
1887
|
// src/components/user-summary-stub.tsx
|
|
1984
|
-
import { jsx as
|
|
1888
|
+
import { jsx as jsx5, jsxs as jsxs4 } from "react/jsx-runtime";
|
|
1985
1889
|
var getAuthProviderIcon = (provider) => {
|
|
1986
1890
|
const p = provider.toLowerCase();
|
|
1987
1891
|
switch (p) {
|
|
1988
1892
|
case "google":
|
|
1989
|
-
return /* @__PURE__ */
|
|
1893
|
+
return /* @__PURE__ */ jsx5(next_image_default, { src: "/icons/google-logo.svg", alt: "Google", width: 16, height: 16, className: "h-4 w-4" });
|
|
1990
1894
|
case "microsoft":
|
|
1991
1895
|
case "azure":
|
|
1992
|
-
return /* @__PURE__ */
|
|
1896
|
+
return /* @__PURE__ */ jsx5(next_image_default, { src: "/icons/microsoft-logo.svg", alt: "Microsoft", width: 16, height: 16, className: "h-4 w-4" });
|
|
1993
1897
|
case "slack":
|
|
1994
1898
|
case "slack_oidc":
|
|
1995
|
-
return /* @__PURE__ */
|
|
1899
|
+
return /* @__PURE__ */ jsx5("div", { className: "h-4 w-4 rounded-full bg-ods-text-secondary" });
|
|
1996
1900
|
default:
|
|
1997
|
-
return /* @__PURE__ */
|
|
1901
|
+
return /* @__PURE__ */ jsx5("div", { className: "h-4 w-4 rounded-full bg-ods-text-secondary" });
|
|
1998
1902
|
}
|
|
1999
1903
|
};
|
|
2000
1904
|
var formatNumber = (n) => {
|
|
@@ -2025,7 +1929,7 @@ function UserSummary({
|
|
|
2025
1929
|
if (compact) {
|
|
2026
1930
|
return /* @__PURE__ */ jsxs4("div", { className: "flex min-w-0 items-center gap-3", children: [
|
|
2027
1931
|
/* @__PURE__ */ jsxs4("div", { className: "relative shrink-0", children: [
|
|
2028
|
-
avatarUrl ? /* @__PURE__ */
|
|
1932
|
+
avatarUrl ? /* @__PURE__ */ jsx5(
|
|
2029
1933
|
next_image_default,
|
|
2030
1934
|
{
|
|
2031
1935
|
src: getProxiedImageUrl2(avatarUrl) ?? avatarUrl,
|
|
@@ -2034,7 +1938,7 @@ function UserSummary({
|
|
|
2034
1938
|
height: avatarSize,
|
|
2035
1939
|
className: "rounded-lg object-cover"
|
|
2036
1940
|
}
|
|
2037
|
-
) : /* @__PURE__ */
|
|
1941
|
+
) : /* @__PURE__ */ jsx5(
|
|
2038
1942
|
"div",
|
|
2039
1943
|
{
|
|
2040
1944
|
className: "flex items-center justify-center rounded-lg bg-ods-accent font-heading font-bold text-ods-text-on-accent",
|
|
@@ -2042,7 +1946,7 @@ function UserSummary({
|
|
|
2042
1946
|
children: name.split(" ").map((n) => n.charAt(0)).join("").slice(0, 2)
|
|
2043
1947
|
}
|
|
2044
1948
|
),
|
|
2045
|
-
mspPreview && mspPreview.logoUrl && /* @__PURE__ */
|
|
1949
|
+
mspPreview && mspPreview.logoUrl && /* @__PURE__ */ jsx5(
|
|
2046
1950
|
next_image_default,
|
|
2047
1951
|
{
|
|
2048
1952
|
src: getProxiedImageUrl2(mspPreview.logoUrl) ?? mspPreview.logoUrl,
|
|
@@ -2068,7 +1972,7 @@ function UserSummary({
|
|
|
2068
1972
|
]
|
|
2069
1973
|
}
|
|
2070
1974
|
),
|
|
2071
|
-
/* @__PURE__ */
|
|
1975
|
+
/* @__PURE__ */ jsx5(
|
|
2072
1976
|
"p",
|
|
2073
1977
|
{
|
|
2074
1978
|
className: "truncate text-ods-text-secondary text-h6",
|
|
@@ -2082,7 +1986,7 @@ function UserSummary({
|
|
|
2082
1986
|
return /* @__PURE__ */ jsxs4("div", { className: "flex w-full flex-col gap-4", children: [
|
|
2083
1987
|
/* @__PURE__ */ jsxs4("div", { className: "flex w-full items-start gap-6", children: [
|
|
2084
1988
|
/* @__PURE__ */ jsxs4("div", { className: "relative h-24 w-24 shrink-0 overflow-visible", children: [
|
|
2085
|
-
avatarUrl ? /* @__PURE__ */
|
|
1989
|
+
avatarUrl ? /* @__PURE__ */ jsx5(
|
|
2086
1990
|
next_image_default,
|
|
2087
1991
|
{
|
|
2088
1992
|
src: getProxiedImageUrl2(avatarUrl) ?? avatarUrl,
|
|
@@ -2091,8 +1995,8 @@ function UserSummary({
|
|
|
2091
1995
|
height: 96,
|
|
2092
1996
|
className: "rounded-full object-cover"
|
|
2093
1997
|
}
|
|
2094
|
-
) : /* @__PURE__ */
|
|
2095
|
-
mspPreview && /* @__PURE__ */
|
|
1998
|
+
) : /* @__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() }),
|
|
1999
|
+
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
2000
|
next_image_default,
|
|
2097
2001
|
{
|
|
2098
2002
|
src: getProxiedImageUrl2(mspPreview.logoUrl) ?? mspPreview.logoUrl,
|
|
@@ -2101,12 +2005,12 @@ function UserSummary({
|
|
|
2101
2005
|
height: 40,
|
|
2102
2006
|
className: "object-cover"
|
|
2103
2007
|
}
|
|
2104
|
-
) : /* @__PURE__ */
|
|
2008
|
+
) : /* @__PURE__ */ jsx5("span", { className: "font-heading text-sm font-bold text-ods-text-primary", children: mspPreview.name?.charAt(0).toUpperCase() || "?" }) })
|
|
2105
2009
|
] }),
|
|
2106
2010
|
/* @__PURE__ */ jsxs4("div", { className: "grid flex-1 grid-cols-[1fr_auto] gap-4", children: [
|
|
2107
2011
|
/* @__PURE__ */ jsxs4("div", { className: "flex min-h-[6rem] flex-col justify-center space-y-3 truncate", children: [
|
|
2108
|
-
/* @__PURE__ */
|
|
2109
|
-
/* @__PURE__ */
|
|
2012
|
+
/* @__PURE__ */ jsx5("p", { className: "truncate leading-none text-ods-text-primary text-h2", title: name, children: name }),
|
|
2013
|
+
/* @__PURE__ */ jsx5(
|
|
2110
2014
|
"p",
|
|
2111
2015
|
{
|
|
2112
2016
|
className: "truncate break-all text-ods-text-secondary text-h4",
|
|
@@ -2122,30 +2026,30 @@ function UserSummary({
|
|
|
2122
2026
|
typeof mspPreview.annualRevenue === "number" ? `$${formatNumber(mspPreview.annualRevenue)}` : null
|
|
2123
2027
|
].filter(Boolean);
|
|
2124
2028
|
const mspTitle = mspSegments.join(" \u2022 ");
|
|
2125
|
-
return /* @__PURE__ */
|
|
2029
|
+
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
2030
|
})()
|
|
2127
2031
|
] }),
|
|
2128
2032
|
(authProviders?.length || showEditButton) && /* @__PURE__ */ jsxs4("div", { className: "hidden min-h-[6rem] flex-shrink-0 flex-col items-end justify-between md:flex", children: [
|
|
2129
2033
|
authProviders && authProviders.length > 0 && /* @__PURE__ */ jsxs4("div", { className: "flex items-center gap-2", children: [
|
|
2130
|
-
/* @__PURE__ */
|
|
2131
|
-
/* @__PURE__ */
|
|
2034
|
+
/* @__PURE__ */ jsx5("span", { className: "select-none whitespace-nowrap text-ods-text-secondary text-h6", children: "Authorized by" }),
|
|
2035
|
+
/* @__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
2036
|
] }),
|
|
2133
|
-
showEditButton && /* @__PURE__ */
|
|
2037
|
+
showEditButton && /* @__PURE__ */ jsx5("div", { className: "text-ods-text-secondary text-h6", children: "Edit Profile" })
|
|
2134
2038
|
] })
|
|
2135
2039
|
] })
|
|
2136
2040
|
] }),
|
|
2137
2041
|
(authProviders?.length || showEditButton) && /* @__PURE__ */ jsxs4("div", { className: "flex w-full items-center justify-between gap-4 md:hidden", children: [
|
|
2138
2042
|
authProviders && authProviders.length > 0 && /* @__PURE__ */ jsxs4("div", { className: "flex items-center gap-2", children: [
|
|
2139
|
-
/* @__PURE__ */
|
|
2140
|
-
/* @__PURE__ */
|
|
2043
|
+
/* @__PURE__ */ jsx5("span", { className: "select-none whitespace-nowrap text-ods-text-secondary text-h6", children: "Authorized by" }),
|
|
2044
|
+
/* @__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
2045
|
] }),
|
|
2142
|
-
showEditButton && /* @__PURE__ */
|
|
2046
|
+
showEditButton && /* @__PURE__ */ jsx5("div", { className: "text-ods-text-secondary text-h6", children: "Edit Profile" })
|
|
2143
2047
|
] })
|
|
2144
2048
|
] });
|
|
2145
2049
|
}
|
|
2146
2050
|
|
|
2147
2051
|
// src/components/vendor-display-button.tsx
|
|
2148
|
-
import { jsx as
|
|
2052
|
+
import { jsx as jsx6, jsxs as jsxs5 } from "react/jsx-runtime";
|
|
2149
2053
|
function VendorDisplayButton({ vendor, onClick, variant = "default", externalUrl }) {
|
|
2150
2054
|
const handleClick = () => {
|
|
2151
2055
|
if (externalUrl && vendor.slug) {
|
|
@@ -2162,7 +2066,7 @@ function VendorDisplayButton({ vendor, onClick, variant = "default", externalUrl
|
|
|
2162
2066
|
onClick: handleClick,
|
|
2163
2067
|
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
2068
|
children: [
|
|
2165
|
-
logoUrl ? /* @__PURE__ */
|
|
2069
|
+
logoUrl ? /* @__PURE__ */ jsx6("div", { className: "h-5 w-5 flex-shrink-0 overflow-hidden rounded", children: /* @__PURE__ */ jsx6(
|
|
2166
2070
|
next_image_default,
|
|
2167
2071
|
{
|
|
2168
2072
|
src: getProxiedImageUrl2(logoUrl) || logoUrl,
|
|
@@ -2171,8 +2075,8 @@ function VendorDisplayButton({ vendor, onClick, variant = "default", externalUrl
|
|
|
2171
2075
|
height: 20,
|
|
2172
2076
|
className: "h-full w-full object-cover"
|
|
2173
2077
|
}
|
|
2174
|
-
) }) : /* @__PURE__ */
|
|
2175
|
-
/* @__PURE__ */
|
|
2078
|
+
) }) : /* @__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() }) }),
|
|
2079
|
+
/* @__PURE__ */ jsx6("span", { className: "text-ods-text-primary text-h6", children: vendor.title })
|
|
2176
2080
|
]
|
|
2177
2081
|
}
|
|
2178
2082
|
);
|
|
@@ -2183,7 +2087,7 @@ function VendorDisplayButton({ vendor, onClick, variant = "default", externalUrl
|
|
|
2183
2087
|
onClick: handleClick,
|
|
2184
2088
|
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
2089
|
children: [
|
|
2186
|
-
logoUrl ? /* @__PURE__ */
|
|
2090
|
+
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
2091
|
next_image_default,
|
|
2188
2092
|
{
|
|
2189
2093
|
src: getProxiedImageUrl2(logoUrl) || logoUrl,
|
|
@@ -2192,15 +2096,15 @@ function VendorDisplayButton({ vendor, onClick, variant = "default", externalUrl
|
|
|
2192
2096
|
height: 24,
|
|
2193
2097
|
className: "rounded object-cover"
|
|
2194
2098
|
}
|
|
2195
|
-
) }) : /* @__PURE__ */
|
|
2196
|
-
/* @__PURE__ */
|
|
2099
|
+
) }) : /* @__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) }) }),
|
|
2100
|
+
/* @__PURE__ */ jsx6("span", { className: "min-w-0 truncate text-ods-text-primary text-h4", title: vendor.title, children: vendor.title })
|
|
2197
2101
|
]
|
|
2198
2102
|
}
|
|
2199
2103
|
);
|
|
2200
2104
|
}
|
|
2201
2105
|
|
|
2202
2106
|
// src/components/comment-card.tsx
|
|
2203
|
-
import { Fragment, jsx as
|
|
2107
|
+
import { Fragment, jsx as jsx7, jsxs as jsxs6 } from "react/jsx-runtime";
|
|
2204
2108
|
function CommentCard({
|
|
2205
2109
|
comment,
|
|
2206
2110
|
onViewProduct,
|
|
@@ -2229,11 +2133,11 @@ function CommentCard({
|
|
|
2229
2133
|
style: { maxWidth: "100%", wordBreak: "break-word" },
|
|
2230
2134
|
children: [
|
|
2231
2135
|
/* @__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__ */
|
|
2136
|
+
/* @__PURE__ */ jsx7("div", { className: "flex min-w-0 flex-1 items-center gap-2", children: leadWith === "vendor" && comment.vendor ? /* @__PURE__ */ jsxs6(Fragment, { children: [
|
|
2137
|
+
/* @__PURE__ */ jsx7(VendorDisplayButton, { vendor: comment.vendor, onClick: onViewProduct || (() => {
|
|
2234
2138
|
}) }),
|
|
2235
|
-
/* @__PURE__ */
|
|
2236
|
-
] }) : comment.user ? /* @__PURE__ */
|
|
2139
|
+
/* @__PURE__ */ jsx7("span", { className: "flex-shrink-0 whitespace-nowrap text-ods-text-secondary text-h6", children: formatActivityTime(comment.createdAt) })
|
|
2140
|
+
] }) : comment.user ? /* @__PURE__ */ jsx7(
|
|
2237
2141
|
UserSummary,
|
|
2238
2142
|
{
|
|
2239
2143
|
name: comment.user.name,
|
|
@@ -2253,7 +2157,7 @@ function CommentCard({
|
|
|
2253
2157
|
authProviders: []
|
|
2254
2158
|
}
|
|
2255
2159
|
) : null }),
|
|
2256
|
-
/* @__PURE__ */
|
|
2160
|
+
/* @__PURE__ */ jsx7("div", { className: "flex justify-start gap-2 min-[420px]:justify-end", children: showDeleteButton && onDeleteComment && /* @__PURE__ */ jsx7(
|
|
2257
2161
|
Button,
|
|
2258
2162
|
{
|
|
2259
2163
|
onClick: () => onDeleteComment(comment.id),
|
|
@@ -2270,14 +2174,14 @@ function CommentCard({
|
|
|
2270
2174
|
xmlns: "http://www.w3.org/2000/svg",
|
|
2271
2175
|
className: "text-ods-text-primary",
|
|
2272
2176
|
children: [
|
|
2273
|
-
/* @__PURE__ */
|
|
2177
|
+
/* @__PURE__ */ jsx7(
|
|
2274
2178
|
"path",
|
|
2275
2179
|
{
|
|
2276
2180
|
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
2181
|
fill: "currentColor"
|
|
2278
2182
|
}
|
|
2279
2183
|
),
|
|
2280
|
-
/* @__PURE__ */
|
|
2184
|
+
/* @__PURE__ */ jsx7(
|
|
2281
2185
|
"path",
|
|
2282
2186
|
{
|
|
2283
2187
|
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 +2200,7 @@ function CommentCard({
|
|
|
2296
2200
|
className: "w-full max-w-full space-y-2 overflow-hidden",
|
|
2297
2201
|
style: { maxWidth: "100%", wordBreak: "break-word" },
|
|
2298
2202
|
children: [
|
|
2299
|
-
comment.title && /* @__PURE__ */
|
|
2203
|
+
comment.title && /* @__PURE__ */ jsx7("div", { className: compact ? "flex h-[20px] items-center" : "flex h-[24px] items-center", children: /* @__PURE__ */ jsx7(
|
|
2300
2204
|
"h4",
|
|
2301
2205
|
{
|
|
2302
2206
|
className: "line-clamp-1 tracking-[-0.02em] text-ods-text-primary transition-colors text-h3 group-hover:text-ods-accent",
|
|
@@ -2315,7 +2219,7 @@ function CommentCard({
|
|
|
2315
2219
|
) }),
|
|
2316
2220
|
fullBody ? (
|
|
2317
2221
|
// Thread bodies are read in full — no fixed height, no clamp.
|
|
2318
|
-
/* @__PURE__ */
|
|
2222
|
+
/* @__PURE__ */ jsx7(
|
|
2319
2223
|
"p",
|
|
2320
2224
|
{
|
|
2321
2225
|
className: "whitespace-pre-wrap text-ods-text-primary text-h4",
|
|
@@ -2323,7 +2227,7 @@ function CommentCard({
|
|
|
2323
2227
|
children: comment.content
|
|
2324
2228
|
}
|
|
2325
2229
|
)
|
|
2326
|
-
) : /* @__PURE__ */
|
|
2230
|
+
) : /* @__PURE__ */ jsx7("div", { className: compact ? "flex h-[60px] items-center" : "flex h-[72px] items-center", children: /* @__PURE__ */ jsx7(
|
|
2327
2231
|
"p",
|
|
2328
2232
|
{
|
|
2329
2233
|
className: "line-clamp-3 text-ods-text-primary text-h4",
|
|
@@ -2340,7 +2244,7 @@ function CommentCard({
|
|
|
2340
2244
|
children: comment.content
|
|
2341
2245
|
}
|
|
2342
2246
|
) }),
|
|
2343
|
-
footer ? /* @__PURE__ */
|
|
2247
|
+
footer ? /* @__PURE__ */ jsx7("div", { className: "flex flex-wrap items-center gap-2 pt-2", children: footer }) : null
|
|
2344
2248
|
]
|
|
2345
2249
|
}
|
|
2346
2250
|
)
|
|
@@ -2353,7 +2257,7 @@ function CommentCard({
|
|
|
2353
2257
|
|
|
2354
2258
|
// src/components/comment-composer.tsx
|
|
2355
2259
|
import { useState as useState2 } from "react";
|
|
2356
|
-
import { jsx as
|
|
2260
|
+
import { jsx as jsx8, jsxs as jsxs7 } from "react/jsx-runtime";
|
|
2357
2261
|
function CommentComposer({
|
|
2358
2262
|
withTitle = false,
|
|
2359
2263
|
titleLabel = "Title",
|
|
@@ -2383,8 +2287,8 @@ function CommentComposer({
|
|
|
2383
2287
|
/* @__PURE__ */ jsxs7("div", { className: "flex flex-col gap-[var(--spacing-system-sf)] md:flex-row", children: [
|
|
2384
2288
|
/* @__PURE__ */ jsxs7("div", { className: "flex-1 overflow-hidden rounded-lg border border-ods-border bg-ods-bg", children: [
|
|
2385
2289
|
withTitle ? /* @__PURE__ */ jsxs7("div", { className: "border-b border-ods-border", children: [
|
|
2386
|
-
/* @__PURE__ */
|
|
2387
|
-
/* @__PURE__ */
|
|
2290
|
+
/* @__PURE__ */ jsx8(Label, { className: "px-3 pb-1 pt-2 text-ods-text-secondary text-badge", children: titleLabel }),
|
|
2291
|
+
/* @__PURE__ */ jsx8(
|
|
2388
2292
|
Input,
|
|
2389
2293
|
{
|
|
2390
2294
|
ref: titleRef,
|
|
@@ -2396,8 +2300,8 @@ function CommentComposer({
|
|
|
2396
2300
|
}
|
|
2397
2301
|
)
|
|
2398
2302
|
] }) : null,
|
|
2399
|
-
withTitle ? /* @__PURE__ */
|
|
2400
|
-
/* @__PURE__ */
|
|
2303
|
+
withTitle ? /* @__PURE__ */ jsx8(Label, { className: "px-3 pb-1 pt-2 text-ods-text-secondary text-badge", children: bodyLabel }) : null,
|
|
2304
|
+
/* @__PURE__ */ jsx8(
|
|
2401
2305
|
Textarea,
|
|
2402
2306
|
{
|
|
2403
2307
|
value: body,
|
|
@@ -2410,8 +2314,8 @@ function CommentComposer({
|
|
|
2410
2314
|
)
|
|
2411
2315
|
] }),
|
|
2412
2316
|
/* @__PURE__ */ jsxs7("div", { className: "flex items-start gap-[var(--spacing-system-xsf)]", children: [
|
|
2413
|
-
onCancel ? /* @__PURE__ */
|
|
2414
|
-
/* @__PURE__ */
|
|
2317
|
+
onCancel ? /* @__PURE__ */ jsx8(Button, { type: "button", variant: "outline", size: "small-legacy", onClick: onCancel, disabled: pending, children: cancelLabel }) : null,
|
|
2318
|
+
/* @__PURE__ */ jsx8(
|
|
2415
2319
|
Button,
|
|
2416
2320
|
{
|
|
2417
2321
|
type: "button",
|
|
@@ -2425,14 +2329,14 @@ function CommentComposer({
|
|
|
2425
2329
|
)
|
|
2426
2330
|
] })
|
|
2427
2331
|
] }),
|
|
2428
|
-
extras ? /* @__PURE__ */
|
|
2332
|
+
extras ? /* @__PURE__ */ jsx8("div", { className: "flex flex-wrap items-center gap-[var(--spacing-system-xsf)]", children: extras }) : null
|
|
2429
2333
|
] });
|
|
2430
2334
|
}
|
|
2431
2335
|
|
|
2432
2336
|
// src/components/comment-thread.tsx
|
|
2433
2337
|
import { ChevronDown } from "lucide-react";
|
|
2434
2338
|
import { useState as useState3 } from "react";
|
|
2435
|
-
import { Fragment as Fragment2, jsx as
|
|
2339
|
+
import { Fragment as Fragment2, jsx as jsx9, jsxs as jsxs8 } from "react/jsx-runtime";
|
|
2436
2340
|
function CommentThread({
|
|
2437
2341
|
comments,
|
|
2438
2342
|
emptyLabel,
|
|
@@ -2446,9 +2350,9 @@ function CommentThread({
|
|
|
2446
2350
|
onViewProduct
|
|
2447
2351
|
}) {
|
|
2448
2352
|
if (comments.length === 0) {
|
|
2449
|
-
return emptyLabel ? /* @__PURE__ */
|
|
2353
|
+
return emptyLabel ? /* @__PURE__ */ jsx9("p", { className: "text-ods-text-secondary text-h6", children: emptyLabel }) : null;
|
|
2450
2354
|
}
|
|
2451
|
-
return /* @__PURE__ */
|
|
2355
|
+
return /* @__PURE__ */ jsx9("div", { className: "flex flex-col gap-[var(--spacing-system-sf)]", children: comments.map((comment) => /* @__PURE__ */ jsx9(
|
|
2452
2356
|
CommentThreadRow,
|
|
2453
2357
|
{
|
|
2454
2358
|
comment,
|
|
@@ -2486,7 +2390,7 @@ function CommentThreadRow({
|
|
|
2486
2390
|
replies.length === 1 ? "reply" : "replies"
|
|
2487
2391
|
] }) : null,
|
|
2488
2392
|
onReply || actions ? /* @__PURE__ */ jsxs8("span", { className: "ml-auto flex flex-wrap gap-[var(--spacing-system-xsf)]", children: [
|
|
2489
|
-
onReply ? /* @__PURE__ */
|
|
2393
|
+
onReply ? /* @__PURE__ */ jsx9(
|
|
2490
2394
|
Button,
|
|
2491
2395
|
{
|
|
2492
2396
|
type: "button",
|
|
@@ -2500,7 +2404,7 @@ function CommentThreadRow({
|
|
|
2500
2404
|
actions
|
|
2501
2405
|
] }) : null
|
|
2502
2406
|
] });
|
|
2503
|
-
return /* @__PURE__ */
|
|
2407
|
+
return /* @__PURE__ */ jsx9(
|
|
2504
2408
|
CommentCard,
|
|
2505
2409
|
{
|
|
2506
2410
|
fullBody: true,
|
|
@@ -2510,7 +2414,7 @@ function CommentThreadRow({
|
|
|
2510
2414
|
onDeleteComment: onDelete ? (id) => void onDelete(id) : void 0,
|
|
2511
2415
|
footer,
|
|
2512
2416
|
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__ */
|
|
2417
|
+
replies.map((reply) => /* @__PURE__ */ jsx9(
|
|
2514
2418
|
CommentCard,
|
|
2515
2419
|
{
|
|
2516
2420
|
fullBody: true,
|
|
@@ -2520,7 +2424,7 @@ function CommentThreadRow({
|
|
|
2520
2424
|
},
|
|
2521
2425
|
reply.id
|
|
2522
2426
|
)),
|
|
2523
|
-
replyOpen && onReply ? /* @__PURE__ */
|
|
2427
|
+
replyOpen && onReply ? /* @__PURE__ */ jsx9(
|
|
2524
2428
|
CommentComposer,
|
|
2525
2429
|
{
|
|
2526
2430
|
pending,
|
|
@@ -2548,7 +2452,7 @@ function CommentsBlock({ title, summary, defaultOpen = false, children, composer
|
|
|
2548
2452
|
if (defaultOpen) setOpen(true);
|
|
2549
2453
|
}
|
|
2550
2454
|
return /* @__PURE__ */ jsxs8("div", { className: "space-y-[var(--spacing-system-sf)]", children: [
|
|
2551
|
-
/* @__PURE__ */
|
|
2455
|
+
/* @__PURE__ */ jsx9(
|
|
2552
2456
|
Button,
|
|
2553
2457
|
{
|
|
2554
2458
|
type: "button",
|
|
@@ -2556,7 +2460,7 @@ function CommentsBlock({ title, summary, defaultOpen = false, children, composer
|
|
|
2556
2460
|
size: "small-legacy",
|
|
2557
2461
|
className: "px-0 text-ods-text-secondary hover:text-ods-text-primary",
|
|
2558
2462
|
onClick: () => setOpen((value) => !value),
|
|
2559
|
-
rightIcon: /* @__PURE__ */
|
|
2463
|
+
rightIcon: /* @__PURE__ */ jsx9(ChevronDown, { className: `h-4 w-4 transition-transform ${open ? "rotate-180" : ""}` }),
|
|
2560
2464
|
children: `${title} \xB7 ${summary}`
|
|
2561
2465
|
}
|
|
2562
2466
|
),
|
|
@@ -2569,7 +2473,7 @@ function CommentsBlock({ title, summary, defaultOpen = false, children, composer
|
|
|
2569
2473
|
|
|
2570
2474
|
// src/components/filter-chip.tsx
|
|
2571
2475
|
import { X as X2 } from "lucide-react";
|
|
2572
|
-
import { jsx as
|
|
2476
|
+
import { jsx as jsx10, jsxs as jsxs9 } from "react/jsx-runtime";
|
|
2573
2477
|
function FilterChip({
|
|
2574
2478
|
label,
|
|
2575
2479
|
variant = "unselected",
|
|
@@ -2615,7 +2519,7 @@ function FilterChip({
|
|
|
2615
2519
|
"aria-pressed": onClick && variant === "selected" ? true : void 0,
|
|
2616
2520
|
"aria-disabled": disabled,
|
|
2617
2521
|
children: [
|
|
2618
|
-
/* @__PURE__ */
|
|
2522
|
+
/* @__PURE__ */ jsx10(
|
|
2619
2523
|
"span",
|
|
2620
2524
|
{
|
|
2621
2525
|
className: cn(
|
|
@@ -2626,7 +2530,7 @@ function FilterChip({
|
|
|
2626
2530
|
children: label
|
|
2627
2531
|
}
|
|
2628
2532
|
),
|
|
2629
|
-
removable && onRemove && /* @__PURE__ */
|
|
2533
|
+
removable && onRemove && /* @__PURE__ */ jsx10(
|
|
2630
2534
|
"button",
|
|
2631
2535
|
{
|
|
2632
2536
|
type: "button",
|
|
@@ -2645,7 +2549,7 @@ function FilterChip({
|
|
|
2645
2549
|
),
|
|
2646
2550
|
"aria-label": `Remove ${label} filter`,
|
|
2647
2551
|
tabIndex: disabled ? -1 : 0,
|
|
2648
|
-
children: /* @__PURE__ */
|
|
2552
|
+
children: /* @__PURE__ */ jsx10(X2, { className: "h-2 w-2 md:h-2 md:w-2" })
|
|
2649
2553
|
}
|
|
2650
2554
|
)
|
|
2651
2555
|
]
|
|
@@ -2962,7 +2866,7 @@ var blogFilterConfig = {
|
|
|
2962
2866
|
// src/components/hero-image-uploader.tsx
|
|
2963
2867
|
import { Loader2, Image as ImageIcon2, Upload, X as X3 } from "lucide-react";
|
|
2964
2868
|
import { useRef, useState as useState4 } from "react";
|
|
2965
|
-
import { Fragment as Fragment3, jsx as
|
|
2869
|
+
import { Fragment as Fragment3, jsx as jsx11, jsxs as jsxs10 } from "react/jsx-runtime";
|
|
2966
2870
|
function readUploadedUrl(payload) {
|
|
2967
2871
|
if (typeof payload !== "object" || payload === null) return null;
|
|
2968
2872
|
if ("data" in payload) {
|
|
@@ -3072,46 +2976,46 @@ function HeroImageUploader({
|
|
|
3072
2976
|
className: "group relative flex aspect-square h-auto w-full items-center justify-center overflow-hidden md:aspect-auto md:h-full",
|
|
3073
2977
|
style: { height: heightStyle },
|
|
3074
2978
|
children: [
|
|
3075
|
-
/* @__PURE__ */
|
|
2979
|
+
/* @__PURE__ */ jsx11(next_image_default, { src: imageUrl, className: `object-${objectFit}`, alt: "Cover", fill: true, sizes: "100vw", unoptimized: true }),
|
|
3076
2980
|
/* @__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__ */
|
|
2981
|
+
showReplaceButton && /* @__PURE__ */ jsx11(
|
|
3078
2982
|
Button,
|
|
3079
2983
|
{
|
|
3080
2984
|
variant: "outline",
|
|
3081
2985
|
size: "icon",
|
|
3082
2986
|
onClick: openDialog,
|
|
3083
2987
|
className: "h-12 w-12 rounded-full bg-white text-black hover:bg-gray-100",
|
|
3084
|
-
children: /* @__PURE__ */
|
|
2988
|
+
children: /* @__PURE__ */ jsx11(Upload, { className: "h-5 w-5" })
|
|
3085
2989
|
}
|
|
3086
2990
|
),
|
|
3087
|
-
/* @__PURE__ */
|
|
2991
|
+
/* @__PURE__ */ jsx11(
|
|
3088
2992
|
Button,
|
|
3089
2993
|
{
|
|
3090
2994
|
variant: "outline",
|
|
3091
2995
|
size: "icon",
|
|
3092
2996
|
onClick: () => handleRemove(),
|
|
3093
2997
|
className: "h-12 w-12 rounded-full bg-white text-black hover:bg-gray-100",
|
|
3094
|
-
children: /* @__PURE__ */
|
|
2998
|
+
children: /* @__PURE__ */ jsx11(X3, { className: "h-5 w-5" })
|
|
3095
2999
|
}
|
|
3096
3000
|
)
|
|
3097
3001
|
] })
|
|
3098
3002
|
]
|
|
3099
3003
|
}
|
|
3100
|
-
) : /* @__PURE__ */
|
|
3004
|
+
) : /* @__PURE__ */ jsx11(
|
|
3101
3005
|
"div",
|
|
3102
3006
|
{
|
|
3103
3007
|
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
3008
|
style: { height: heightStyle },
|
|
3105
3009
|
onClick: openDialog,
|
|
3106
|
-
children: uploading ? /* @__PURE__ */
|
|
3107
|
-
/* @__PURE__ */
|
|
3108
|
-
/* @__PURE__ */
|
|
3109
|
-
/* @__PURE__ */
|
|
3110
|
-
/* @__PURE__ */
|
|
3010
|
+
children: uploading ? /* @__PURE__ */ jsx11(Loader2, { className: "h-8 w-8 animate-spin text-ods-accent" }) : /* @__PURE__ */ jsxs10(Fragment3, { children: [
|
|
3011
|
+
/* @__PURE__ */ jsx11(ImageIcon2, { className: "h-12 w-12 text-ods-text-secondary" }),
|
|
3012
|
+
/* @__PURE__ */ jsx11("span", { className: "mt-2 text-ods-text-primary text-h6", children: "Upload cover image" }),
|
|
3013
|
+
/* @__PURE__ */ jsx11("span", { className: "mt-1 text-ods-text-secondary text-h6", children: "Click to upload or drag and drop" }),
|
|
3014
|
+
/* @__PURE__ */ jsx11("span", { className: "text-ods-text-secondary text-h6", children: "PNG, JPEG, WebP, GIF up to 5MB" })
|
|
3111
3015
|
] })
|
|
3112
3016
|
}
|
|
3113
3017
|
),
|
|
3114
|
-
/* @__PURE__ */
|
|
3018
|
+
/* @__PURE__ */ jsx11("input", { ref: inputRef, type: "file", accept: IMAGE_FILE_ACCEPT, onChange: handleSelect, className: "hidden" })
|
|
3115
3019
|
] });
|
|
3116
3020
|
}
|
|
3117
3021
|
|
|
@@ -3130,13 +3034,13 @@ var CommunityIcon2 = MessageSquare;
|
|
|
3130
3034
|
var CompareIcon2 = GitCompare;
|
|
3131
3035
|
|
|
3132
3036
|
// src/components/icons-block.tsx
|
|
3133
|
-
import { jsx as
|
|
3037
|
+
import { jsx as jsx12, jsxs as jsxs11 } from "react/jsx-runtime";
|
|
3134
3038
|
var SunIcon2 = Sun;
|
|
3135
3039
|
var MoonIcon2 = Moon;
|
|
3136
3040
|
var CheckCircleIcon3 = CheckCircle;
|
|
3137
3041
|
var GitHubIcon2 = Github;
|
|
3138
3042
|
var PlusCircleIcon2 = PlusCircle;
|
|
3139
|
-
var OpenmspLogo2 = () => /* @__PURE__ */
|
|
3043
|
+
var OpenmspLogo2 = () => /* @__PURE__ */ jsx12("div", { children: "Logo" });
|
|
3140
3044
|
var availableIcons = [
|
|
3141
3045
|
VendorDirectoryIcon2,
|
|
3142
3046
|
OpenSourceIcon2,
|
|
@@ -3199,13 +3103,13 @@ function ResponsiveIconsBlock({ loading = false }) {
|
|
|
3199
3103
|
return iconGrid[row]?.[col] || availableIcons[0];
|
|
3200
3104
|
};
|
|
3201
3105
|
if (loading || iconGrid.length === 0) {
|
|
3202
|
-
return /* @__PURE__ */
|
|
3106
|
+
return /* @__PURE__ */ jsx12(
|
|
3203
3107
|
"div",
|
|
3204
3108
|
{
|
|
3205
3109
|
className: "relative h-[80px] w-full overflow-hidden bg-[#1A1A1A] md:h-[112px]",
|
|
3206
3110
|
role: "presentation",
|
|
3207
3111
|
"aria-hidden": "true",
|
|
3208
|
-
children: /* @__PURE__ */
|
|
3112
|
+
children: /* @__PURE__ */ jsx12("div", { className: "absolute inset-0 animate-pulse bg-[#2A2A2A]/60" })
|
|
3209
3113
|
}
|
|
3210
3114
|
);
|
|
3211
3115
|
}
|
|
@@ -3217,14 +3121,14 @@ function ResponsiveIconsBlock({ loading = false }) {
|
|
|
3217
3121
|
role: "presentation",
|
|
3218
3122
|
"aria-hidden": "true",
|
|
3219
3123
|
children: [
|
|
3220
|
-
/* @__PURE__ */
|
|
3124
|
+
/* @__PURE__ */ jsx12("style", { children: `
|
|
3221
3125
|
.icons-block svg,
|
|
3222
3126
|
.icons-block svg * {
|
|
3223
3127
|
filter: grayscale(100%) brightness(0) invert(1) brightness(0.4) !important;
|
|
3224
3128
|
fill: currentColor !important;
|
|
3225
3129
|
}
|
|
3226
3130
|
` }),
|
|
3227
|
-
/* @__PURE__ */
|
|
3131
|
+
/* @__PURE__ */ jsx12(
|
|
3228
3132
|
"div",
|
|
3229
3133
|
{
|
|
3230
3134
|
className: "icons-block grid h-full w-full",
|
|
@@ -3236,7 +3140,7 @@ function ResponsiveIconsBlock({ loading = false }) {
|
|
|
3236
3140
|
const col = idx % displayColumns;
|
|
3237
3141
|
const row = Math.floor(idx / displayColumns);
|
|
3238
3142
|
const IconComponent = getIconForIndex(idx);
|
|
3239
|
-
return /* @__PURE__ */
|
|
3143
|
+
return /* @__PURE__ */ jsx12(
|
|
3240
3144
|
"div",
|
|
3241
3145
|
{
|
|
3242
3146
|
className: "flex h-full w-full items-center justify-center",
|
|
@@ -3249,7 +3153,7 @@ function ResponsiveIconsBlock({ loading = false }) {
|
|
|
3249
3153
|
boxSizing: "border-box"
|
|
3250
3154
|
},
|
|
3251
3155
|
role: "presentation",
|
|
3252
|
-
children: /* @__PURE__ */
|
|
3156
|
+
children: /* @__PURE__ */ jsx12(IconComponent, { width: 16, height: 16, className: "text-[#666666] md:h-5 md:w-5", "aria-hidden": "true" })
|
|
3253
3157
|
},
|
|
3254
3158
|
idx
|
|
3255
3159
|
);
|
|
@@ -3265,7 +3169,7 @@ function ResponsiveIconsBlock({ loading = false }) {
|
|
|
3265
3169
|
import { Check, RotateCcw } from "lucide-react";
|
|
3266
3170
|
import { useCallback, useState as useState6 } from "react";
|
|
3267
3171
|
import Cropper from "react-easy-crop";
|
|
3268
|
-
import { jsx as
|
|
3172
|
+
import { jsx as jsx13, jsxs as jsxs12 } from "react/jsx-runtime";
|
|
3269
3173
|
function loadImage(src) {
|
|
3270
3174
|
return new Promise((resolve, reject) => {
|
|
3271
3175
|
const img = new Image();
|
|
@@ -3360,7 +3264,7 @@ var ImageCropper = ({
|
|
|
3360
3264
|
tabIndex: 0,
|
|
3361
3265
|
"aria-label": "Image cropper",
|
|
3362
3266
|
children: [
|
|
3363
|
-
/* @__PURE__ */
|
|
3267
|
+
/* @__PURE__ */ jsx13("div", { className: cn("relative aspect-square w-full overflow-hidden rounded-md md:aspect-video", checkerBg), children: /* @__PURE__ */ jsx13(
|
|
3364
3268
|
Cropper,
|
|
3365
3269
|
{
|
|
3366
3270
|
image: src,
|
|
@@ -3379,8 +3283,8 @@ var ImageCropper = ({
|
|
|
3379
3283
|
) }),
|
|
3380
3284
|
/* @__PURE__ */ jsxs12("div", { className: "flex flex-col gap-4", children: [
|
|
3381
3285
|
/* @__PURE__ */ jsxs12("div", { className: "flex items-center gap-3", children: [
|
|
3382
|
-
/* @__PURE__ */
|
|
3383
|
-
/* @__PURE__ */
|
|
3286
|
+
/* @__PURE__ */ jsx13("span", { className: "min-w-[60px] text-h6", children: "Zoom" }),
|
|
3287
|
+
/* @__PURE__ */ jsx13(
|
|
3384
3288
|
Slider,
|
|
3385
3289
|
{
|
|
3386
3290
|
min: 1,
|
|
@@ -3394,8 +3298,8 @@ var ImageCropper = ({
|
|
|
3394
3298
|
)
|
|
3395
3299
|
] }),
|
|
3396
3300
|
/* @__PURE__ */ jsxs12("div", { className: "flex items-center gap-3", children: [
|
|
3397
|
-
/* @__PURE__ */
|
|
3398
|
-
/* @__PURE__ */
|
|
3301
|
+
/* @__PURE__ */ jsx13("span", { className: "min-w-[60px] text-h6", children: "Rotate" }),
|
|
3302
|
+
/* @__PURE__ */ jsx13(
|
|
3399
3303
|
Slider,
|
|
3400
3304
|
{
|
|
3401
3305
|
min: 0,
|
|
@@ -3407,12 +3311,12 @@ var ImageCropper = ({
|
|
|
3407
3311
|
className: "flex-1"
|
|
3408
3312
|
}
|
|
3409
3313
|
),
|
|
3410
|
-
/* @__PURE__ */
|
|
3314
|
+
/* @__PURE__ */ jsx13(Button, { variant: "outline", size: "icon", onClick: () => setRotation(0), "aria-label": "Reset rotation", children: /* @__PURE__ */ jsx13(RotateCcw, { className: "h-4 w-4" }) })
|
|
3411
3315
|
] })
|
|
3412
3316
|
] }),
|
|
3413
3317
|
/* @__PURE__ */ jsxs12("div", { className: "mt-2 flex justify-end gap-2", children: [
|
|
3414
|
-
onCancel && /* @__PURE__ */
|
|
3415
|
-
/* @__PURE__ */
|
|
3318
|
+
onCancel && /* @__PURE__ */ jsx13(Button, { variant: "outline", onClick: onCancel, "aria-label": "Cancel crop", children: "Cancel" }),
|
|
3319
|
+
/* @__PURE__ */ jsx13(
|
|
3416
3320
|
Button,
|
|
3417
3321
|
{
|
|
3418
3322
|
variant: "accent",
|
|
@@ -3420,7 +3324,7 @@ var ImageCropper = ({
|
|
|
3420
3324
|
const result = await exportCrop();
|
|
3421
3325
|
if (result) onComplete(result);
|
|
3422
3326
|
},
|
|
3423
|
-
leftIcon: /* @__PURE__ */
|
|
3327
|
+
leftIcon: /* @__PURE__ */ jsx13(Check, { className: "h-4 w-4" }),
|
|
3424
3328
|
"aria-label": "Apply crop",
|
|
3425
3329
|
children: "Apply"
|
|
3426
3330
|
}
|
|
@@ -3432,19 +3336,19 @@ var ImageCropper = ({
|
|
|
3432
3336
|
};
|
|
3433
3337
|
|
|
3434
3338
|
// src/components/metric-value.tsx
|
|
3435
|
-
import { jsx as
|
|
3339
|
+
import { jsx as jsx14, jsxs as jsxs13 } from "react/jsx-runtime";
|
|
3436
3340
|
function MetricValue({ value, label, className }) {
|
|
3437
3341
|
return /* @__PURE__ */ jsxs13("div", { className: cn("flex items-end gap-2 whitespace-nowrap text-ods-text-primary text-h4", className), children: [
|
|
3438
3342
|
value,
|
|
3439
|
-
/* @__PURE__ */
|
|
3343
|
+
/* @__PURE__ */ jsx14("span", { className: "text-ods-text-secondary text-h6", children: label })
|
|
3440
3344
|
] });
|
|
3441
3345
|
}
|
|
3442
3346
|
|
|
3443
3347
|
// src/components/msp-display.tsx
|
|
3444
|
-
import { jsx as
|
|
3348
|
+
import { jsx as jsx15, jsxs as jsxs14 } from "react/jsx-runtime";
|
|
3445
3349
|
function MSPDisplay({ name, logoUrl, size = 40, className }) {
|
|
3446
3350
|
return /* @__PURE__ */ jsxs14("div", { className: cn("flex min-w-0 items-center gap-2", className), children: [
|
|
3447
|
-
/* @__PURE__ */
|
|
3351
|
+
/* @__PURE__ */ jsx15(
|
|
3448
3352
|
SquareAvatar,
|
|
3449
3353
|
{
|
|
3450
3354
|
src: logoUrl ? getProxiedImageUrl(logoUrl) || logoUrl : void 0,
|
|
@@ -3453,16 +3357,16 @@ function MSPDisplay({ name, logoUrl, size = 40, className }) {
|
|
|
3453
3357
|
sizePx: size
|
|
3454
3358
|
}
|
|
3455
3359
|
),
|
|
3456
|
-
/* @__PURE__ */
|
|
3360
|
+
/* @__PURE__ */ jsx15("h2", { className: "truncate pl-2", children: name })
|
|
3457
3361
|
] });
|
|
3458
3362
|
}
|
|
3459
3363
|
|
|
3460
3364
|
// src/components/open-source-features.tsx
|
|
3461
3365
|
import { Terminal, DollarSign as DollarSign2, Network, Users as Users2 } from "lucide-react";
|
|
3462
|
-
import { jsx as
|
|
3366
|
+
import { jsx as jsx16, jsxs as jsxs15 } from "react/jsx-runtime";
|
|
3463
3367
|
|
|
3464
3368
|
// src/components/pricing-display.tsx
|
|
3465
|
-
import { jsx as
|
|
3369
|
+
import { jsx as jsx17, jsxs as jsxs16 } from "react/jsx-runtime";
|
|
3466
3370
|
var PRICING_STYLES = {
|
|
3467
3371
|
// Comparison table style (current default)
|
|
3468
3372
|
comparison: {
|
|
@@ -3498,11 +3402,11 @@ function PricingDisplay({
|
|
|
3498
3402
|
styleConfig = PRICING_STYLES.comparison
|
|
3499
3403
|
}) {
|
|
3500
3404
|
if (typeof pricing === "string") {
|
|
3501
|
-
return /* @__PURE__ */
|
|
3405
|
+
return /* @__PURE__ */ jsx17(LegacyPricingDisplay, { pricing, className, styleConfig });
|
|
3502
3406
|
}
|
|
3503
3407
|
const pricingArray = Array.isArray(pricing) ? pricing : [pricing];
|
|
3504
3408
|
if (!pricingArray || pricingArray.length === 0) {
|
|
3505
|
-
return /* @__PURE__ */
|
|
3409
|
+
return /* @__PURE__ */ jsx17(
|
|
3506
3410
|
"span",
|
|
3507
3411
|
{
|
|
3508
3412
|
className: `${styleConfig.priceTextColor} ${styleConfig.priceTextSize} ${styleConfig.fontFamily} ${className}`,
|
|
@@ -3515,7 +3419,7 @@ function PricingDisplay({
|
|
|
3515
3419
|
const price = item.ranges?.[0]?.min || 0;
|
|
3516
3420
|
const unit = item.ranges?.[0]?.unit;
|
|
3517
3421
|
return /* @__PURE__ */ jsxs16("span", { className: `${styleConfig.fontFamily} ${className}`, children: [
|
|
3518
|
-
/* @__PURE__ */
|
|
3422
|
+
/* @__PURE__ */ jsx17("span", { className: `${styleConfig.priceTextColor} ${styleConfig.priceTextSize}`, children: formatPriceValue(price, styleConfig.showTildePrefix) }),
|
|
3519
3423
|
unit && /* @__PURE__ */ jsxs16("span", { className: `${styleConfig.secondaryTextColor} ${styleConfig.secondaryTextSize}`, children: [
|
|
3520
3424
|
"/",
|
|
3521
3425
|
unit
|
|
@@ -3527,7 +3431,7 @@ function PricingDisplay({
|
|
|
3527
3431
|
);
|
|
3528
3432
|
const itemWithUnit = pricingArray.find((item) => item.ranges?.[0]?.unit);
|
|
3529
3433
|
return /* @__PURE__ */ jsxs16("span", { className: `${styleConfig.fontFamily} ${className}`, children: [
|
|
3530
|
-
/* @__PURE__ */
|
|
3434
|
+
/* @__PURE__ */ jsx17("span", { className: `${styleConfig.priceTextColor} ${styleConfig.priceTextSize}`, children: priceValues.join(" | ") }),
|
|
3531
3435
|
itemWithUnit && itemWithUnit.ranges?.[0]?.unit && /* @__PURE__ */ jsxs16("span", { className: `${styleConfig.secondaryTextColor} ${styleConfig.secondaryTextSize}`, children: [
|
|
3532
3436
|
"/",
|
|
3533
3437
|
itemWithUnit.ranges[0].unit
|
|
@@ -3549,7 +3453,7 @@ function LegacyPricingDisplay({
|
|
|
3549
3453
|
styleConfig = PRICING_STYLES.comparison
|
|
3550
3454
|
}) {
|
|
3551
3455
|
if (pricing === "Free" || pricing === "No pricing data") {
|
|
3552
|
-
return /* @__PURE__ */
|
|
3456
|
+
return /* @__PURE__ */ jsx17(
|
|
3553
3457
|
"span",
|
|
3554
3458
|
{
|
|
3555
3459
|
className: `${styleConfig.priceTextColor} ${styleConfig.priceTextSize} ${styleConfig.fontFamily} ${className}`,
|
|
@@ -3612,8 +3516,8 @@ function LegacyPricingDisplay({
|
|
|
3612
3516
|
};
|
|
3613
3517
|
const { mainValue, secondaryInfo } = parsePricing(pricing);
|
|
3614
3518
|
return /* @__PURE__ */ jsxs16("span", { className: `${styleConfig.fontFamily} ${className}`, children: [
|
|
3615
|
-
/* @__PURE__ */
|
|
3616
|
-
secondaryInfo && /* @__PURE__ */
|
|
3519
|
+
/* @__PURE__ */ jsx17("span", { className: `${styleConfig.priceTextColor} ${styleConfig.priceTextSize}`, children: mainValue }),
|
|
3520
|
+
secondaryInfo && /* @__PURE__ */ jsx17("span", { className: `${styleConfig.secondaryTextColor} ${styleConfig.secondaryTextSize}`, children: secondaryInfo })
|
|
3617
3521
|
] });
|
|
3618
3522
|
}
|
|
3619
3523
|
function formatPricingForDisplay(pricing) {
|
|
@@ -3621,7 +3525,7 @@ function formatPricingForDisplay(pricing) {
|
|
|
3621
3525
|
}
|
|
3622
3526
|
|
|
3623
3527
|
// src/components/results-count.tsx
|
|
3624
|
-
import { Fragment as Fragment4, jsx as
|
|
3528
|
+
import { Fragment as Fragment4, jsx as jsx18, jsxs as jsxs17 } from "react/jsx-runtime";
|
|
3625
3529
|
function ResultsCount({ currentPage, pageSize, totalResults, resultType, sortingMessage }) {
|
|
3626
3530
|
if (totalResults === 0) {
|
|
3627
3531
|
return null;
|
|
@@ -3631,7 +3535,7 @@ function ResultsCount({ currentPage, pageSize, totalResults, resultType, sorting
|
|
|
3631
3535
|
const plural = resultType === "vendors" ? "vendors" : "posts";
|
|
3632
3536
|
const singular = resultType === "vendors" ? "vendor" : "post";
|
|
3633
3537
|
const displayType = totalResults === 1 ? singular : plural;
|
|
3634
|
-
return /* @__PURE__ */
|
|
3538
|
+
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
3539
|
"Showing ",
|
|
3636
3540
|
startIndex,
|
|
3637
3541
|
"-",
|
|
@@ -3651,14 +3555,14 @@ function ResultsCount({ currentPage, pageSize, totalResults, resultType, sorting
|
|
|
3651
3555
|
import { Boxes, Database, Hand, Plug, ShieldCheck, Sparkles } from "lucide-react";
|
|
3652
3556
|
|
|
3653
3557
|
// src/components/openframe-logo.tsx
|
|
3654
|
-
import { jsx as
|
|
3558
|
+
import { jsx as jsx19, jsxs as jsxs18 } from "react/jsx-runtime";
|
|
3655
3559
|
var OpenFrameLogo2 = ({
|
|
3656
3560
|
className,
|
|
3657
3561
|
lowerPathColor,
|
|
3658
3562
|
upperPathColor,
|
|
3659
3563
|
...props
|
|
3660
3564
|
}) => {
|
|
3661
|
-
return /* @__PURE__ */
|
|
3565
|
+
return /* @__PURE__ */ jsx19(
|
|
3662
3566
|
"svg",
|
|
3663
3567
|
{
|
|
3664
3568
|
...props,
|
|
@@ -3674,28 +3578,28 @@ var OpenFrameLogo2 = ({
|
|
|
3674
3578
|
},
|
|
3675
3579
|
children: /* @__PURE__ */ jsxs18("g", { children: [
|
|
3676
3580
|
/* @__PURE__ */ jsxs18("g", { children: [
|
|
3677
|
-
/* @__PURE__ */
|
|
3581
|
+
/* @__PURE__ */ jsx19(
|
|
3678
3582
|
"path",
|
|
3679
3583
|
{
|
|
3680
3584
|
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
3585
|
fill: lowerPathColor ?? "#ffffff"
|
|
3682
3586
|
}
|
|
3683
3587
|
),
|
|
3684
|
-
/* @__PURE__ */
|
|
3588
|
+
/* @__PURE__ */ jsx19(
|
|
3685
3589
|
"path",
|
|
3686
3590
|
{
|
|
3687
3591
|
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
3592
|
fill: lowerPathColor ?? "#ffffff"
|
|
3689
3593
|
}
|
|
3690
3594
|
),
|
|
3691
|
-
/* @__PURE__ */
|
|
3595
|
+
/* @__PURE__ */ jsx19(
|
|
3692
3596
|
"path",
|
|
3693
3597
|
{
|
|
3694
3598
|
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
3599
|
fill: lowerPathColor ?? "#ffffff"
|
|
3696
3600
|
}
|
|
3697
3601
|
),
|
|
3698
|
-
/* @__PURE__ */
|
|
3602
|
+
/* @__PURE__ */ jsx19(
|
|
3699
3603
|
"path",
|
|
3700
3604
|
{
|
|
3701
3605
|
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 +3607,7 @@ var OpenFrameLogo2 = ({
|
|
|
3703
3607
|
}
|
|
3704
3608
|
)
|
|
3705
3609
|
] }),
|
|
3706
|
-
/* @__PURE__ */
|
|
3610
|
+
/* @__PURE__ */ jsx19(
|
|
3707
3611
|
"path",
|
|
3708
3612
|
{
|
|
3709
3613
|
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 +3620,12 @@ var OpenFrameLogo2 = ({
|
|
|
3716
3620
|
};
|
|
3717
3621
|
|
|
3718
3622
|
// src/components/vendor-tag.tsx
|
|
3719
|
-
import { jsx as
|
|
3623
|
+
import { jsx as jsx20, jsxs as jsxs19 } from "react/jsx-runtime";
|
|
3720
3624
|
function openFrameTag(classification, text) {
|
|
3721
3625
|
return {
|
|
3722
3626
|
text: text || OPENFRAME_CLASSIFICATIONS[classification].word,
|
|
3723
3627
|
textColor: void 0,
|
|
3724
|
-
icon: /* @__PURE__ */
|
|
3628
|
+
icon: /* @__PURE__ */ jsx20(OpenFrameLogo2, { lowerPathColor: "currentColor", upperPathColor: "currentColor", className: "h-4 w-4 text-ods-accent" })
|
|
3725
3629
|
};
|
|
3726
3630
|
}
|
|
3727
3631
|
function VendorTag({ type, text, className = "", hidden = false, size = "md", accentColor }) {
|
|
@@ -3735,101 +3639,101 @@ function VendorTag({ type, text, className = "", hidden = false, size = "md", ac
|
|
|
3735
3639
|
return {
|
|
3736
3640
|
text: "Placeholder",
|
|
3737
3641
|
textColor: "text-ods-text-primary",
|
|
3738
|
-
icon: /* @__PURE__ */
|
|
3642
|
+
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
3643
|
};
|
|
3740
3644
|
case "ai":
|
|
3741
3645
|
return {
|
|
3742
3646
|
text: "AI Selected",
|
|
3743
3647
|
textColor: "text-ods-text-primary",
|
|
3744
|
-
icon: /* @__PURE__ */
|
|
3648
|
+
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
3649
|
};
|
|
3746
3650
|
case "manual":
|
|
3747
3651
|
return {
|
|
3748
3652
|
text: "Manually Selected",
|
|
3749
3653
|
textColor: "text-ods-text-secondary",
|
|
3750
|
-
icon: /* @__PURE__ */
|
|
3654
|
+
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
3655
|
};
|
|
3752
3656
|
case "open-source":
|
|
3753
3657
|
return {
|
|
3754
3658
|
text: text || "Open Source",
|
|
3755
|
-
icon: /* @__PURE__ */
|
|
3659
|
+
icon: /* @__PURE__ */ jsx20(
|
|
3756
3660
|
"div",
|
|
3757
3661
|
{
|
|
3758
3662
|
className: "flex h-4 w-4 flex-shrink-0 items-center justify-center rounded-sm bg-ods-accent",
|
|
3759
3663
|
style: accentColor ? { backgroundColor: accentColor } : void 0,
|
|
3760
|
-
children: /* @__PURE__ */
|
|
3664
|
+
children: /* @__PURE__ */ jsx20(OpenSourceIcon2, { width: 10, height: 10, className: "text-ods-text-on-accent" })
|
|
3761
3665
|
}
|
|
3762
3666
|
)
|
|
3763
3667
|
};
|
|
3764
3668
|
case "commercial":
|
|
3765
3669
|
return {
|
|
3766
3670
|
text: text || "Commercial Vendor",
|
|
3767
|
-
icon: /* @__PURE__ */
|
|
3671
|
+
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
3672
|
};
|
|
3769
3673
|
// platform-capability tags — same neutral icon-box chrome as 'commercial'
|
|
3770
3674
|
case "api":
|
|
3771
3675
|
return {
|
|
3772
3676
|
text: text || "API",
|
|
3773
|
-
icon: /* @__PURE__ */
|
|
3677
|
+
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
3678
|
};
|
|
3775
3679
|
case "data":
|
|
3776
3680
|
return {
|
|
3777
3681
|
text: text || "Data",
|
|
3778
|
-
icon: /* @__PURE__ */
|
|
3682
|
+
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
3683
|
};
|
|
3780
3684
|
case "k8s":
|
|
3781
3685
|
return {
|
|
3782
3686
|
text: text || "K8s",
|
|
3783
|
-
icon: /* @__PURE__ */
|
|
3687
|
+
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
3688
|
};
|
|
3785
3689
|
case "secured":
|
|
3786
3690
|
return {
|
|
3787
3691
|
text: text || "Secured",
|
|
3788
|
-
icon: /* @__PURE__ */
|
|
3692
|
+
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
3693
|
};
|
|
3790
3694
|
case "free":
|
|
3791
3695
|
return {
|
|
3792
3696
|
text: text || "Free",
|
|
3793
|
-
icon: /* @__PURE__ */
|
|
3697
|
+
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
3698
|
};
|
|
3795
3699
|
case "freemium":
|
|
3796
3700
|
return {
|
|
3797
3701
|
text: text || "Freemium",
|
|
3798
|
-
icon: /* @__PURE__ */
|
|
3702
|
+
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
3703
|
};
|
|
3800
3704
|
case "paid":
|
|
3801
3705
|
return {
|
|
3802
3706
|
text: text || "Paid",
|
|
3803
|
-
icon: /* @__PURE__ */
|
|
3707
|
+
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
3708
|
};
|
|
3805
3709
|
case "enterprise":
|
|
3806
3710
|
return {
|
|
3807
3711
|
text: text || "Enterprise",
|
|
3808
|
-
icon: /* @__PURE__ */
|
|
3712
|
+
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
3713
|
};
|
|
3810
3714
|
case "recommended":
|
|
3811
3715
|
return {
|
|
3812
3716
|
text: text || "Recommended",
|
|
3813
|
-
icon: /* @__PURE__ */
|
|
3717
|
+
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
3718
|
};
|
|
3815
3719
|
case "classification": {
|
|
3816
3720
|
const classificationType = text?.toLowerCase();
|
|
3817
3721
|
if (classificationType === "open_source") {
|
|
3818
3722
|
return {
|
|
3819
3723
|
text: "Open Source",
|
|
3820
|
-
icon: /* @__PURE__ */
|
|
3724
|
+
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
3725
|
};
|
|
3822
3726
|
} else if (classificationType === "commercial") {
|
|
3823
3727
|
return {
|
|
3824
3728
|
text: "Commercial Vendor",
|
|
3825
|
-
icon: /* @__PURE__ */
|
|
3729
|
+
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
3730
|
};
|
|
3827
3731
|
} else if (isOpenFrameClassification(classificationType)) {
|
|
3828
3732
|
return openFrameTag(classificationType);
|
|
3829
3733
|
} else {
|
|
3830
3734
|
return {
|
|
3831
3735
|
text: text || "Classification",
|
|
3832
|
-
icon: /* @__PURE__ */
|
|
3736
|
+
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
3737
|
};
|
|
3834
3738
|
}
|
|
3835
3739
|
}
|
|
@@ -3847,17 +3751,17 @@ function VendorTag({ type, text, className = "", hidden = false, size = "md", ac
|
|
|
3847
3751
|
const { text: displayText, icon, textColor } = getTagContent();
|
|
3848
3752
|
return /* @__PURE__ */ jsxs19("div", { className: cn(baseClasses, className, hidden && "invisible"), children: [
|
|
3849
3753
|
icon,
|
|
3850
|
-
/* @__PURE__ */
|
|
3754
|
+
/* @__PURE__ */ jsx20("span", { className: cn("font-semibold text-h5", textColor ? textColor : "text-ods-text-primary"), children: displayText })
|
|
3851
3755
|
] });
|
|
3852
3756
|
}
|
|
3853
3757
|
|
|
3854
3758
|
// src/components/selection-source-badge.tsx
|
|
3855
|
-
import { jsx as
|
|
3759
|
+
import { jsx as jsx21 } from "react/jsx-runtime";
|
|
3856
3760
|
function SelectionSourceBadge({ source, hidden = false }) {
|
|
3857
3761
|
if (!source) {
|
|
3858
3762
|
return null;
|
|
3859
3763
|
}
|
|
3860
|
-
return /* @__PURE__ */
|
|
3764
|
+
return /* @__PURE__ */ jsx21(
|
|
3861
3765
|
VendorTag,
|
|
3862
3766
|
{
|
|
3863
3767
|
type: source?.toLowerCase(),
|
|
@@ -3869,32 +3773,32 @@ function SelectionSourceBadge({ source, hidden = false }) {
|
|
|
3869
3773
|
}
|
|
3870
3774
|
|
|
3871
3775
|
// src/components/vendor-page-skeleton.tsx
|
|
3872
|
-
import { jsx as
|
|
3776
|
+
import { jsx as jsx22 } from "react/jsx-runtime";
|
|
3873
3777
|
function VendorPageSkeleton() {
|
|
3874
|
-
return /* @__PURE__ */
|
|
3778
|
+
return /* @__PURE__ */ jsx22(VendorDetailLayoutSkeleton, {});
|
|
3875
3779
|
}
|
|
3876
3780
|
|
|
3877
3781
|
// src/components/why-it-matters.tsx
|
|
3878
|
-
import { jsx as
|
|
3782
|
+
import { jsx as jsx23, jsxs as jsxs20 } from "react/jsx-runtime";
|
|
3879
3783
|
|
|
3880
3784
|
// src/components/yes-no-display.tsx
|
|
3881
|
-
import { jsx as
|
|
3785
|
+
import { jsx as jsx24, jsxs as jsxs21 } from "react/jsx-runtime";
|
|
3882
3786
|
function YesNoDisplay({ value, yesText = "Yes", noText = "No", customText, className = "" }) {
|
|
3883
3787
|
if (customText) {
|
|
3884
3788
|
return /* @__PURE__ */ jsxs21("div", { className: `flex items-center gap-2 ${className}`, children: [
|
|
3885
|
-
/* @__PURE__ */
|
|
3886
|
-
/* @__PURE__ */
|
|
3789
|
+
/* @__PURE__ */ jsx24(CheckCircleIcon2, { className: "h-6 w-6" }),
|
|
3790
|
+
/* @__PURE__ */ jsx24("span", { className: "text-ods-text-primary text-h6", children: customText })
|
|
3887
3791
|
] });
|
|
3888
3792
|
}
|
|
3889
3793
|
if (value) {
|
|
3890
3794
|
return /* @__PURE__ */ jsxs21("div", { className: `flex items-center gap-2 ${className}`, children: [
|
|
3891
|
-
/* @__PURE__ */
|
|
3892
|
-
/* @__PURE__ */
|
|
3795
|
+
/* @__PURE__ */ jsx24(CheckCircleIcon2, { className: "h-6 w-6" }),
|
|
3796
|
+
/* @__PURE__ */ jsx24("span", { className: "text-ods-text-primary text-h6", children: yesText })
|
|
3893
3797
|
] });
|
|
3894
3798
|
}
|
|
3895
3799
|
return /* @__PURE__ */ jsxs21("div", { className: `flex items-center gap-2 ${className}`, children: [
|
|
3896
|
-
/* @__PURE__ */
|
|
3897
|
-
/* @__PURE__ */
|
|
3800
|
+
/* @__PURE__ */ jsx24(XCircleIcon, { className: "h-6 w-6" }),
|
|
3801
|
+
/* @__PURE__ */ jsx24("span", { className: "text-ods-text-secondary text-h6", children: noText })
|
|
3898
3802
|
] });
|
|
3899
3803
|
}
|
|
3900
3804
|
function evaluateFeatureValue(value, dataType) {
|
|
@@ -3929,7 +3833,7 @@ function evaluateFeatureValue(value, dataType) {
|
|
|
3929
3833
|
|
|
3930
3834
|
// src/components/made-with-love.tsx
|
|
3931
3835
|
import { useState as useState7, useEffect as useEffect3 } from "react";
|
|
3932
|
-
import { jsx as
|
|
3836
|
+
import { jsx as jsx25, jsxs as jsxs22 } from "react/jsx-runtime";
|
|
3933
3837
|
function MadeWithLove({ className = "", size = "md", showOnMobile = true }) {
|
|
3934
3838
|
const [isMobile, setIsMobile] = useState7(false);
|
|
3935
3839
|
const [isHovered, setIsHovered] = useState7(false);
|
|
@@ -4011,14 +3915,14 @@ function MadeWithLove({ className = "", size = "md", showOnMobile = true }) {
|
|
|
4011
3915
|
onMouseEnter: () => setIsHovered(true),
|
|
4012
3916
|
onMouseLeave: () => setIsHovered(false),
|
|
4013
3917
|
children: [
|
|
4014
|
-
/* @__PURE__ */
|
|
3918
|
+
/* @__PURE__ */ jsx25("div", { style: logoStyle, children: /* @__PURE__ */ jsx25(
|
|
4015
3919
|
FlamingoLogo2,
|
|
4016
3920
|
{
|
|
4017
3921
|
size: config.logoSize,
|
|
4018
3922
|
color: "#f357bb"
|
|
4019
3923
|
}
|
|
4020
3924
|
) }),
|
|
4021
|
-
/* @__PURE__ */
|
|
3925
|
+
/* @__PURE__ */ jsx25("span", { style: textStyle, children: "Flamingo" })
|
|
4022
3926
|
]
|
|
4023
3927
|
}
|
|
4024
3928
|
)
|
|
@@ -4027,7 +3931,7 @@ function MadeWithLove({ className = "", size = "md", showOnMobile = true }) {
|
|
|
4027
3931
|
|
|
4028
3932
|
// src/components/date-time-picker.tsx
|
|
4029
3933
|
import DatePicker2 from "react-datepicker";
|
|
4030
|
-
import { jsx as
|
|
3934
|
+
import { jsx as jsx26, jsxs as jsxs23 } from "react/jsx-runtime";
|
|
4031
3935
|
var inputClassName = cn(
|
|
4032
3936
|
"flex h-10 w-full rounded-md border px-3 py-2 text-sm ring-offset-background",
|
|
4033
3937
|
"file:border-0 file:bg-transparent file:text-sm file:font-medium",
|
|
@@ -4052,8 +3956,8 @@ function DateTimePicker({
|
|
|
4052
3956
|
dateFormat = "MMMM d, yyyy h:mm aa"
|
|
4053
3957
|
}) {
|
|
4054
3958
|
return /* @__PURE__ */ jsxs23("div", { className: cn("space-y-2", className), children: [
|
|
4055
|
-
label && /* @__PURE__ */
|
|
4056
|
-
/* @__PURE__ */
|
|
3959
|
+
label && /* @__PURE__ */ jsx26(Label, { className: "font-semibold text-ods-text-secondary text-h5", children: label }),
|
|
3960
|
+
/* @__PURE__ */ jsx26("div", { className: "w-full", children: /* @__PURE__ */ jsx26(
|
|
4057
3961
|
DatePicker2,
|
|
4058
3962
|
{
|
|
4059
3963
|
selected: value,
|
|
@@ -4068,7 +3972,7 @@ function DateTimePicker({
|
|
|
4068
3972
|
className: inputClassName
|
|
4069
3973
|
}
|
|
4070
3974
|
) }),
|
|
4071
|
-
/* @__PURE__ */
|
|
3975
|
+
/* @__PURE__ */ jsx26(
|
|
4072
3976
|
"style",
|
|
4073
3977
|
{
|
|
4074
3978
|
dangerouslySetInnerHTML: {
|
|
@@ -4179,7 +4083,7 @@ function DateTimePicker({
|
|
|
4179
4083
|
}
|
|
4180
4084
|
|
|
4181
4085
|
// src/components/authors/author-detail-view.tsx
|
|
4182
|
-
import { jsx as
|
|
4086
|
+
import { jsx as jsx27, jsxs as jsxs24 } from "react/jsx-runtime";
|
|
4183
4087
|
function AuthorDetailView({ author, proxyImageUrl, children, className }) {
|
|
4184
4088
|
const runtime = useChatRuntime();
|
|
4185
4089
|
const proxiedAvatar = author.avatarUrl ? proxyImageUrl ? proxyImageUrl(author.avatarUrl) : getProxiedImageUrl(author.avatarUrl, {
|
|
@@ -4191,12 +4095,12 @@ function AuthorDetailView({ author, proxyImageUrl, children, className }) {
|
|
|
4191
4095
|
const bioText = formatBioText(author.about);
|
|
4192
4096
|
return /* @__PURE__ */ jsxs24("div", { className: cn("flex flex-col gap-5 md:gap-6", className), children: [
|
|
4193
4097
|
/* @__PURE__ */ jsxs24("div", { className: "flex w-full items-start gap-6", children: [
|
|
4194
|
-
/* @__PURE__ */
|
|
4098
|
+
/* @__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
4099
|
/* @__PURE__ */ jsxs24("div", { className: "flex min-w-0 flex-col justify-center gap-2", children: [
|
|
4196
|
-
/* @__PURE__ */
|
|
4197
|
-
subtitle && /* @__PURE__ */
|
|
4100
|
+
/* @__PURE__ */ jsx27("p", { className: "truncate leading-none text-ods-text-primary text-h2", children: author.fullName }),
|
|
4101
|
+
subtitle && /* @__PURE__ */ jsx27("p", { className: "truncate font-body text-lg leading-none text-ods-text-secondary", children: subtitle }),
|
|
4198
4102
|
author.socialLinks.length > 0 && // Ghost compact row (transparent 32px) — metadata, not CTAs.
|
|
4199
|
-
/* @__PURE__ */
|
|
4103
|
+
/* @__PURE__ */ jsx27(
|
|
4200
4104
|
SocialIconRow,
|
|
4201
4105
|
{
|
|
4202
4106
|
compact: true,
|
|
@@ -4209,8 +4113,8 @@ function AuthorDetailView({ author, proxyImageUrl, children, className }) {
|
|
|
4209
4113
|
)
|
|
4210
4114
|
] })
|
|
4211
4115
|
] }),
|
|
4212
|
-
bioText && /* @__PURE__ */
|
|
4213
|
-
author.knowsAbout.length > 0 && /* @__PURE__ */
|
|
4116
|
+
bioText && /* @__PURE__ */ jsx27("p", { className: "text-ods-text-secondary text-h6", children: bioText }),
|
|
4117
|
+
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
4118
|
children
|
|
4215
4119
|
] });
|
|
4216
4120
|
}
|
|
@@ -4228,6 +4132,7 @@ export {
|
|
|
4228
4132
|
APPROVAL_LEVEL_META,
|
|
4229
4133
|
APPROVAL_STATUS,
|
|
4230
4134
|
ASK_AI_OPEN_EVENT,
|
|
4135
|
+
ASK_PROMPTS_DEFAULT_COUNT,
|
|
4231
4136
|
ASSISTANT_TYPE,
|
|
4232
4137
|
AUTHOR_TYPE,
|
|
4233
4138
|
AUTO_CONTINUATION_DIRECTIVE_PREFIX,
|
|
@@ -4302,6 +4207,7 @@ export {
|
|
|
4302
4207
|
AspectRatio,
|
|
4303
4208
|
AssignTicketModal,
|
|
4304
4209
|
AssigneeDropdown,
|
|
4210
|
+
AssistantAskPrompts,
|
|
4305
4211
|
AuditLoggingIcon,
|
|
4306
4212
|
AuthBenefitsPanel,
|
|
4307
4213
|
AuthProvider,
|
|
@@ -4656,6 +4562,7 @@ export {
|
|
|
4656
4562
|
FacebookIcon,
|
|
4657
4563
|
FadePreview,
|
|
4658
4564
|
FaqAccordion,
|
|
4565
|
+
FaqAskCard,
|
|
4659
4566
|
FaqDocumentPage,
|
|
4660
4567
|
FaqSection,
|
|
4661
4568
|
FeatureCardGrid,
|
|
@@ -4863,6 +4770,7 @@ export {
|
|
|
4863
4770
|
MinusCircleIcon,
|
|
4864
4771
|
MinusIcon,
|
|
4865
4772
|
MlgLogo,
|
|
4773
|
+
MobileAppQr,
|
|
4866
4774
|
MobileBurgerMenu,
|
|
4867
4775
|
MobileNavSheet,
|
|
4868
4776
|
MobileNavigationDropdown,
|
|
@@ -5378,10 +5286,12 @@ export {
|
|
|
5378
5286
|
approvalDisplaysInline,
|
|
5379
5287
|
approvalMetaToBatchData,
|
|
5380
5288
|
arrangePhotoWall,
|
|
5289
|
+
assistantAvailable,
|
|
5381
5290
|
badgeVariants,
|
|
5382
5291
|
benefitCardBorderClass,
|
|
5383
5292
|
blogFilterConfig,
|
|
5384
5293
|
buildAnchorProps,
|
|
5294
|
+
buildAskPromptsUrl,
|
|
5385
5295
|
buildAutoContinuationDirective,
|
|
5386
5296
|
buildCaptionsUrl,
|
|
5387
5297
|
buildChatAttachmentViewUrl,
|
|
@@ -5587,6 +5497,8 @@ export {
|
|
|
5587
5497
|
toggleVariants,
|
|
5588
5498
|
upsertTrailingCompaction,
|
|
5589
5499
|
useAppLayoutDrawerContainer,
|
|
5500
|
+
useAskPrompts,
|
|
5501
|
+
useAssistantOpen,
|
|
5590
5502
|
useAuth,
|
|
5591
5503
|
useBetweenAnchors,
|
|
5592
5504
|
useBoardCollapse,
|
|
@@ -5641,6 +5553,8 @@ export {
|
|
|
5641
5553
|
useScrollFade,
|
|
5642
5554
|
useScrollSpy,
|
|
5643
5555
|
useSectionNavigation,
|
|
5556
|
+
useShownAskPromptIds,
|
|
5557
|
+
useShownAskPrompts,
|
|
5644
5558
|
useSlashCommandRegistry,
|
|
5645
5559
|
useSlashCommands,
|
|
5646
5560
|
useSortableItem,
|