@conduction/docusaurus-preset 3.17.0 → 3.18.0

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@conduction/docusaurus-preset",
3
- "version": "3.17.0",
3
+ "version": "3.18.0",
4
4
  "scripts": {
5
5
  "prepack": "node scripts/prepack-bundle-css.js"
6
6
  },
@@ -0,0 +1,55 @@
1
+ /**
2
+ * <PartnersFor />
3
+ *
4
+ * Section that lists the partners shipping a given app or solution.
5
+ * Reuses <PartnerCard/> (full variant) for each partner, with the
6
+ * <BecomePartner/> CTA as the trailing grid cell.
7
+ *
8
+ * Pure presentation: the consuming site resolves which partners ship
9
+ * the subject (via usePartnersByApp / usePartnersBySolution) and
10
+ * passes the locale-resolved copy in. When `partners` is empty, the
11
+ * grid contains only the BecomePartner cell so the section still
12
+ * recruits without looking broken.
13
+ *
14
+ * Usage in MDX:
15
+ *
16
+ * import {PartnersFor} from '@conduction/docusaurus-preset/components';
17
+ * import {usePartnersByApp, useBecomePartner} from '@site/src/data/partners-catalog';
18
+ *
19
+ * <PartnersFor
20
+ * eyebrow="Partners"
21
+ * title="Partners shipping OpenRegister"
22
+ * lede="Implementation, hosting, and integration partners that deliver OpenRegister to their customers."
23
+ * partners={usePartnersByApp('OpenRegister')}
24
+ * becomePartner={useBecomePartner()}
25
+ * />
26
+ */
27
+
28
+ import React from 'react';
29
+ import Section from '../primitives/Section';
30
+ import SectionHead from '../primitives/SectionHead';
31
+ import PartnerCard, {PartnerGrid, BecomePartner} from '../PartnerCard/PartnerCard';
32
+
33
+ export default function PartnersFor({
34
+ eyebrow = 'Partners',
35
+ title,
36
+ lede,
37
+ partners = [],
38
+ becomePartner,
39
+ gridColumns = 3,
40
+ background = 'default',
41
+ spacing = 'default',
42
+ className,
43
+ }) {
44
+ return (
45
+ <Section background={background} spacing={spacing} className={className}>
46
+ <SectionHead eyebrow={eyebrow} title={title} lede={lede} />
47
+ <PartnerGrid columns={gridColumns}>
48
+ {partners.map((p, i) => (
49
+ <PartnerCard key={p.href || p.name || i} {...p} />
50
+ ))}
51
+ {becomePartner && <BecomePartner {...becomePartner} />}
52
+ </PartnerGrid>
53
+ </Section>
54
+ );
55
+ }
@@ -41,6 +41,7 @@ export {default as SolutionCard, SolutionGrid} from './SolutionCard/SolutionCard
41
41
  export {default as PartnerCard, PartnerGrid, BecomePartner} from './PartnerCard/PartnerCard.jsx';
42
42
  export {default as PartnerDirectory} from './PartnerDirectory/PartnerDirectory.jsx';
43
43
  export {default as PartnerSidecard} from './PartnerSidecard/PartnerSidecard.jsx';
44
+ export {default as PartnersFor} from './PartnersFor/PartnersFor.jsx';
44
45
  export {default as ManagedCommonGround} from './ManagedCommonGround/ManagedCommonGround.jsx';
45
46
  export {default as Clients, DEFAULT_CLIENTS, DEFAULT_PARTNERS} from './Clients/Clients.jsx';
46
47
  export {default as ReferenceCard, ReferenceGrid} from './ReferenceCard/ReferenceCard.jsx';