@mieweb/ui 0.10.0-dev.23 → 0.10.0-dev.25
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/brands/bluehive.cjs +3 -3
- package/dist/brands/bluehive.css +3 -0
- package/dist/brands/bluehive.js +1 -1
- package/dist/brands/index.cjs +9 -9
- package/dist/brands/index.js +3 -3
- package/dist/{chunk-YQDA366U.js → chunk-33DEVA3P.js} +2 -2
- package/dist/{chunk-YQDA366U.js.map → chunk-33DEVA3P.js.map} +1 -1
- package/dist/{chunk-WNJRS7Y7.cjs → chunk-3ZWCIPFT.cjs} +4 -2
- package/dist/chunk-3ZWCIPFT.cjs.map +1 -0
- package/dist/{chunk-J5CSLNCN.cjs → chunk-6VFDHJSO.cjs} +2 -2
- package/dist/{chunk-J5CSLNCN.cjs.map → chunk-6VFDHJSO.cjs.map} +1 -1
- package/dist/{chunk-ZTW4KODY.js → chunk-6ZPTZTKN.js} +3 -3
- package/dist/{chunk-ZTW4KODY.js.map → chunk-6ZPTZTKN.js.map} +1 -1
- package/dist/{chunk-SQ2D7AON.cjs → chunk-AAYXCZMV.cjs} +6 -6
- package/dist/{chunk-SQ2D7AON.cjs.map → chunk-AAYXCZMV.cjs.map} +1 -1
- package/dist/{chunk-WCDJFMZO.cjs → chunk-ADW7ZYCY.cjs} +1235 -495
- package/dist/chunk-ADW7ZYCY.cjs.map +1 -0
- package/dist/{chunk-2G75X6TS.cjs → chunk-AHHFFXJR.cjs} +3 -3
- package/dist/{chunk-2G75X6TS.cjs.map → chunk-AHHFFXJR.cjs.map} +1 -1
- package/dist/{chunk-HQ4CGVWX.cjs → chunk-B2X732V3.cjs} +7 -7
- package/dist/{chunk-HQ4CGVWX.cjs.map → chunk-B2X732V3.cjs.map} +1 -1
- package/dist/{chunk-UAMXCMST.cjs → chunk-CFI3TQMA.cjs} +3 -3
- package/dist/{chunk-UAMXCMST.cjs.map → chunk-CFI3TQMA.cjs.map} +1 -1
- package/dist/{chunk-2ABWFQQH.js → chunk-CRS2CQWM.js} +4 -4
- package/dist/{chunk-2ABWFQQH.js.map → chunk-CRS2CQWM.js.map} +1 -1
- package/dist/{chunk-MZNCLXXU.js → chunk-D22GE27K.js} +3 -3
- package/dist/{chunk-MZNCLXXU.js.map → chunk-D22GE27K.js.map} +1 -1
- package/dist/{chunk-IH55BEB3.js → chunk-DZFGTWYF.js} +6 -6
- package/dist/{chunk-IH55BEB3.js.map → chunk-DZFGTWYF.js.map} +1 -1
- package/dist/{chunk-TF7YWJHU.js → chunk-E2PBPQGS.js} +3 -3
- package/dist/{chunk-TF7YWJHU.js.map → chunk-E2PBPQGS.js.map} +1 -1
- package/dist/chunk-FBCDYTWM.js +385 -0
- package/dist/chunk-FBCDYTWM.js.map +1 -0
- package/dist/{chunk-R2O72G6Z.cjs → chunk-HC3NAN55.cjs} +7 -7
- package/dist/{chunk-R2O72G6Z.cjs.map → chunk-HC3NAN55.cjs.map} +1 -1
- package/dist/{chunk-DSB4DKWG.js → chunk-K34DXMLZ.js} +2 -2
- package/dist/{chunk-DSB4DKWG.js.map → chunk-K34DXMLZ.js.map} +1 -1
- package/dist/{chunk-Z5V7SAZ4.js → chunk-KFEN2SRZ.js} +3 -3
- package/dist/{chunk-Z5V7SAZ4.js.map → chunk-KFEN2SRZ.js.map} +1 -1
- package/dist/{chunk-MQPG3KVK.cjs → chunk-KGKBZN3T.cjs} +2 -2
- package/dist/{chunk-MQPG3KVK.cjs.map → chunk-KGKBZN3T.cjs.map} +1 -1
- package/dist/{chunk-G45FBKKV.js → chunk-P4VGVJVI.js} +4 -4
- package/dist/{chunk-G45FBKKV.js.map → chunk-P4VGVJVI.js.map} +1 -1
- package/dist/{chunk-3T7QGLNB.js → chunk-PJEL5ZZV.js} +4 -2
- package/dist/chunk-PJEL5ZZV.js.map +1 -0
- package/dist/{chunk-LJZKEMAH.cjs → chunk-R5Z7AOVU.cjs} +10 -10
- package/dist/{chunk-LJZKEMAH.cjs.map → chunk-R5Z7AOVU.cjs.map} +1 -1
- package/dist/{chunk-RJ6NTJHC.js → chunk-SRMTRD7F.js} +3 -3
- package/dist/{chunk-RJ6NTJHC.js.map → chunk-SRMTRD7F.js.map} +1 -1
- package/dist/{chunk-KHSFJTEX.js → chunk-T4JYUICS.js} +1177 -444
- package/dist/chunk-T4JYUICS.js.map +1 -0
- package/dist/{chunk-NJ6MY6V5.js → chunk-T5BBZQ66.js} +3 -3
- package/dist/{chunk-NJ6MY6V5.js.map → chunk-T5BBZQ66.js.map} +1 -1
- package/dist/{chunk-VYPPQPSZ.cjs → chunk-TJCX4OML.cjs} +3 -3
- package/dist/{chunk-VYPPQPSZ.cjs.map → chunk-TJCX4OML.cjs.map} +1 -1
- package/dist/{chunk-TAXD5ADA.cjs → chunk-UEDTZYGI.cjs} +3 -3
- package/dist/{chunk-TAXD5ADA.cjs.map → chunk-UEDTZYGI.cjs.map} +1 -1
- package/dist/{chunk-UQ3VVR6A.cjs → chunk-UPWIJC6I.cjs} +3 -3
- package/dist/{chunk-UQ3VVR6A.cjs.map → chunk-UPWIJC6I.cjs.map} +1 -1
- package/dist/{chunk-QNDP6PE5.cjs → chunk-VCCGR4J3.cjs} +92 -3
- package/dist/chunk-VCCGR4J3.cjs.map +1 -0
- package/dist/{chunk-S7WCHDBO.js → chunk-VCI2Y7ST.js} +3 -3
- package/dist/{chunk-S7WCHDBO.js.map → chunk-VCI2Y7ST.js.map} +1 -1
- package/dist/{chunk-Z4JR23IB.cjs → chunk-VOQJHSXN.cjs} +9 -9
- package/dist/{chunk-Z4JR23IB.cjs.map → chunk-VOQJHSXN.cjs.map} +1 -1
- package/dist/{chunk-EK3BCET6.js → chunk-WFVE36PO.js} +92 -3
- package/dist/chunk-WFVE36PO.js.map +1 -0
- package/dist/chunk-XI74P5F2.cjs +424 -0
- package/dist/chunk-XI74P5F2.cjs.map +1 -0
- package/dist/components/BoardView/index.d.cts +2 -90
- package/dist/components/BoardView/index.d.ts +2 -90
- package/dist/components/CalendarView/index.d.cts +1 -1
- package/dist/components/CalendarView/index.d.ts +1 -1
- package/dist/components/CountryCodeDropdown/index.cjs +5 -5
- package/dist/components/CountryCodeDropdown/index.js +2 -2
- package/dist/components/Dropdown/index.cjs +9 -9
- package/dist/components/Dropdown/index.js +2 -2
- package/dist/components/GanttView/index.d.cts +1 -1
- package/dist/components/GanttView/index.d.ts +1 -1
- package/dist/components/GlossaryTooltip/index.cjs +3 -3
- package/dist/components/GlossaryTooltip/index.js +2 -2
- package/dist/components/Markdown/index.cjs +15 -15
- package/dist/components/Markdown/index.js +3 -3
- package/dist/components/MediaEditor/index.cjs +10 -10
- package/dist/components/MediaEditor/index.js +5 -5
- package/dist/components/RadialExplorer/index.cjs +1 -1
- package/dist/components/RadialExplorer/index.js +1 -1
- package/dist/components/RichTextEditor/index.cjs +6 -6
- package/dist/components/RichTextEditor/index.js +3 -3
- package/dist/components/Select/index.cjs +4 -4
- package/dist/components/Select/index.js +2 -2
- package/dist/components/SourceTip/index.cjs +3 -3
- package/dist/components/SourceTip/index.js +2 -2
- package/dist/components/SuperChat/index.cjs +11 -11
- package/dist/components/SuperChat/index.js +4 -4
- package/dist/components/SuperChat/plugins/index.cjs +5 -5
- package/dist/components/SuperChat/plugins/index.js +4 -4
- package/dist/components/ViewSet/index.d.cts +1 -101
- package/dist/components/ViewSet/index.d.ts +1 -101
- package/dist/components/ViewSwitcher/index.d.cts +4 -57
- package/dist/components/ViewSwitcher/index.d.ts +4 -57
- package/dist/datavis.cjs +1 -1
- package/dist/datavis.js +1 -1
- package/dist/deck.cjs +3360 -0
- package/dist/deck.cjs.map +1 -0
- package/dist/deck.d.cts +712 -0
- package/dist/deck.d.ts +712 -0
- package/dist/deck.js +3316 -0
- package/dist/deck.js.map +1 -0
- package/dist/esheet.cjs +10 -10
- package/dist/esheet.js +7 -7
- package/dist/hooks/index.cjs +15 -15
- package/dist/hooks/index.js +3 -3
- package/dist/icons-wBacj6BW.d.cts +142 -0
- package/dist/icons-wBacj6BW.d.ts +142 -0
- package/dist/index-DoYYWsNc.d.cts +127 -0
- package/dist/index-DoYYWsNc.d.ts +127 -0
- package/dist/index.cjs +604 -551
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +313 -4
- package/dist/index.d.ts +313 -4
- package/dist/index.js +60 -59
- package/dist/index.js.map +1 -1
- package/dist/maps.cjs +160 -0
- package/dist/maps.cjs.map +1 -0
- package/dist/maps.d.cts +42 -0
- package/dist/maps.d.ts +42 -0
- package/dist/maps.js +138 -0
- package/dist/maps.js.map +1 -0
- package/dist/styles/effects.css +100 -0
- package/dist/styles/init.css +3 -0
- package/dist/styles.css +1 -1
- package/dist/tailwind-preset.cjs +4 -4
- package/dist/tailwind-preset.js +1 -1
- package/dist/templates.cjs +82 -29
- package/dist/templates.d.cts +316 -142
- package/dist/templates.d.ts +316 -142
- package/dist/templates.js +2 -1
- package/dist/{types-C3HQe74F.d.cts → types-DsdZvEI1.d.cts} +7 -1
- package/dist/{types-C3HQe74F.d.ts → types-DsdZvEI1.d.ts} +7 -1
- package/package.json +27 -1
- package/dist/chunk-3T7QGLNB.js.map +0 -1
- package/dist/chunk-EK3BCET6.js.map +0 -1
- package/dist/chunk-KHSFJTEX.js.map +0 -1
- package/dist/chunk-QNDP6PE5.cjs.map +0 -1
- package/dist/chunk-WCDJFMZO.cjs.map +0 -1
- package/dist/chunk-WNJRS7Y7.cjs.map +0 -1
package/dist/templates.d.cts
CHANGED
|
@@ -1,65 +1,8 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
+
import { S as SectionBaseProps, T as TemplateLink, a as TemplateIconRegistry, b as TemplateImage, c as TemplateComponents, d as SectionAlign, e as SectionTone } from './icons-wBacj6BW.cjs';
|
|
3
|
+
export { f as TemplateIcon, g as TemplateIconComponent, h as TemplateIconName, i as TemplateIconProps, j as TemplateImageProps, k as TemplateLinkProps, t as templateIcons } from './icons-wBacj6BW.cjs';
|
|
2
4
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
3
|
-
import
|
|
4
|
-
|
|
5
|
-
/** A navigational call to action. Always rendered as a real anchor so it is crawlable. */
|
|
6
|
-
interface TemplateLink {
|
|
7
|
-
label: string;
|
|
8
|
-
href: string;
|
|
9
|
-
/** Rendered as `data-track` for the site's analytics to pick up. */
|
|
10
|
-
trackingId?: string;
|
|
11
|
-
}
|
|
12
|
-
interface TemplateImage {
|
|
13
|
-
src: string;
|
|
14
|
-
alt: string;
|
|
15
|
-
width?: number;
|
|
16
|
-
height?: number;
|
|
17
|
-
}
|
|
18
|
-
/**
|
|
19
|
-
* Surface a section sits on. `brand` is a saturated primary band with light
|
|
20
|
-
* text in both colour modes; the others follow the active theme.
|
|
21
|
-
*/
|
|
22
|
-
type SectionTone = 'default' | 'muted' | 'brand';
|
|
23
|
-
type SectionAlign = 'start' | 'center';
|
|
24
|
-
/** Props a site's image component receives, e.g. an adapter around `next/image`. */
|
|
25
|
-
interface TemplateImageProps extends TemplateImage {
|
|
26
|
-
className?: string;
|
|
27
|
-
/** True for the likely LCP image (the hero); load it eagerly at high priority. */
|
|
28
|
-
priority?: boolean;
|
|
29
|
-
}
|
|
30
|
-
/** Props a site's link component receives, e.g. `next/link`. */
|
|
31
|
-
interface TemplateLinkProps {
|
|
32
|
-
href: string;
|
|
33
|
-
className?: string;
|
|
34
|
-
children?: React.ReactNode;
|
|
35
|
-
tabIndex?: number;
|
|
36
|
-
'aria-current'?: 'page';
|
|
37
|
-
'data-slot'?: string;
|
|
38
|
-
'data-track'?: string;
|
|
39
|
-
}
|
|
40
|
-
/**
|
|
41
|
-
* Swap the plain `<img>` and `<a>` the sections render for the site's own,
|
|
42
|
-
* so pages get optimized images and client-side navigation.
|
|
43
|
-
*/
|
|
44
|
-
interface TemplateComponents {
|
|
45
|
-
Image?: React.ComponentType<TemplateImageProps>;
|
|
46
|
-
Link?: React.ComponentType<TemplateLinkProps>;
|
|
47
|
-
}
|
|
48
|
-
/** Fields every landing section shares. Everything except `components` is JSON-serializable. */
|
|
49
|
-
interface SectionBaseProps extends Omit<React.HTMLAttributes<HTMLElement>, 'title' | 'children'> {
|
|
50
|
-
/** Anchor id for in-page links (`#faq`). */
|
|
51
|
-
id?: string;
|
|
52
|
-
/** Short label above the heading. */
|
|
53
|
-
eyebrow?: string;
|
|
54
|
-
/** Section heading, rendered as an `<h2>`. */
|
|
55
|
-
title?: string;
|
|
56
|
-
/** Supporting paragraph under the heading. */
|
|
57
|
-
description?: string;
|
|
58
|
-
tone?: SectionTone;
|
|
59
|
-
align?: SectionAlign;
|
|
60
|
-
/** Site image and link components; `LandingPage` passes its own to every section. */
|
|
61
|
-
components?: TemplateComponents;
|
|
62
|
-
}
|
|
5
|
+
import 'lucide-react';
|
|
63
6
|
|
|
64
7
|
interface ComparisonRow {
|
|
65
8
|
feature: string;
|
|
@@ -107,84 +50,6 @@ interface FaqSectionProps extends SectionBaseProps {
|
|
|
107
50
|
}
|
|
108
51
|
declare const FaqSection: React.ForwardRefExoticComponent<FaqSectionProps & React.RefAttributes<HTMLElement>>;
|
|
109
52
|
|
|
110
|
-
type TemplateIconComponent = React.ComponentType<{
|
|
111
|
-
className?: string;
|
|
112
|
-
strokeWidth?: number;
|
|
113
|
-
'aria-hidden'?: boolean | 'true' | 'false';
|
|
114
|
-
}>;
|
|
115
|
-
/** Extra icon tokens a site maps to its own components; merged over the built-ins. */
|
|
116
|
-
type TemplateIconRegistry = Record<string, TemplateIconComponent>;
|
|
117
|
-
/**
|
|
118
|
-
* Built-in icon tokens. Page data names an icon by token (`"shield-check"`)
|
|
119
|
-
* rather than holding a component, so it stays JSON-serializable.
|
|
120
|
-
*/
|
|
121
|
-
declare const templateIcons: {
|
|
122
|
-
activity: React.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & React.RefAttributes<SVGSVGElement>>;
|
|
123
|
-
award: React.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & React.RefAttributes<SVGSVGElement>>;
|
|
124
|
-
'badge-check': React.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & React.RefAttributes<SVGSVGElement>>;
|
|
125
|
-
bell: React.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & React.RefAttributes<SVGSVGElement>>;
|
|
126
|
-
briefcase: React.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & React.RefAttributes<SVGSVGElement>>;
|
|
127
|
-
building: React.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & React.RefAttributes<SVGSVGElement>>;
|
|
128
|
-
calendar: React.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & React.RefAttributes<SVGSVGElement>>;
|
|
129
|
-
'calendar-check': React.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & React.RefAttributes<SVGSVGElement>>;
|
|
130
|
-
'chart-column': React.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & React.RefAttributes<SVGSVGElement>>;
|
|
131
|
-
'chart-line': React.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & React.RefAttributes<SVGSVGElement>>;
|
|
132
|
-
'circle-check': React.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & React.RefAttributes<SVGSVGElement>>;
|
|
133
|
-
'clipboard-check': React.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & React.RefAttributes<SVGSVGElement>>;
|
|
134
|
-
clock: React.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & React.RefAttributes<SVGSVGElement>>;
|
|
135
|
-
cloud: React.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & React.RefAttributes<SVGSVGElement>>;
|
|
136
|
-
database: React.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & React.RefAttributes<SVGSVGElement>>;
|
|
137
|
-
'dollar-sign': React.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & React.RefAttributes<SVGSVGElement>>;
|
|
138
|
-
factory: React.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & React.RefAttributes<SVGSVGElement>>;
|
|
139
|
-
'file-text': React.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & React.RefAttributes<SVGSVGElement>>;
|
|
140
|
-
flask: React.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & React.RefAttributes<SVGSVGElement>>;
|
|
141
|
-
globe: React.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & React.RefAttributes<SVGSVGElement>>;
|
|
142
|
-
'graduation-cap': React.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & React.RefAttributes<SVGSVGElement>>;
|
|
143
|
-
handshake: React.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & React.RefAttributes<SVGSVGElement>>;
|
|
144
|
-
'hard-hat': React.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & React.RefAttributes<SVGSVGElement>>;
|
|
145
|
-
headset: React.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & React.RefAttributes<SVGSVGElement>>;
|
|
146
|
-
'heart-pulse': React.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & React.RefAttributes<SVGSVGElement>>;
|
|
147
|
-
hospital: React.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & React.RefAttributes<SVGSVGElement>>;
|
|
148
|
-
layers: React.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & React.RefAttributes<SVGSVGElement>>;
|
|
149
|
-
leaf: React.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & React.RefAttributes<SVGSVGElement>>;
|
|
150
|
-
lightbulb: React.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & React.RefAttributes<SVGSVGElement>>;
|
|
151
|
-
lock: React.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & React.RefAttributes<SVGSVGElement>>;
|
|
152
|
-
mail: React.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & React.RefAttributes<SVGSVGElement>>;
|
|
153
|
-
'map-pin': React.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & React.RefAttributes<SVGSVGElement>>;
|
|
154
|
-
'message-square': React.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & React.RefAttributes<SVGSVGElement>>;
|
|
155
|
-
microscope: React.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & React.RefAttributes<SVGSVGElement>>;
|
|
156
|
-
phone: React.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & React.RefAttributes<SVGSVGElement>>;
|
|
157
|
-
plane: React.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & React.RefAttributes<SVGSVGElement>>;
|
|
158
|
-
plug: React.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & React.RefAttributes<SVGSVGElement>>;
|
|
159
|
-
rocket: React.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & React.RefAttributes<SVGSVGElement>>;
|
|
160
|
-
scale: React.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & React.RefAttributes<SVGSVGElement>>;
|
|
161
|
-
search: React.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & React.RefAttributes<SVGSVGElement>>;
|
|
162
|
-
settings: React.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & React.RefAttributes<SVGSVGElement>>;
|
|
163
|
-
shield: React.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & React.RefAttributes<SVGSVGElement>>;
|
|
164
|
-
'shield-check': React.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & React.RefAttributes<SVGSVGElement>>;
|
|
165
|
-
smartphone: React.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & React.RefAttributes<SVGSVGElement>>;
|
|
166
|
-
sparkles: React.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & React.RefAttributes<SVGSVGElement>>;
|
|
167
|
-
stethoscope: React.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & React.RefAttributes<SVGSVGElement>>;
|
|
168
|
-
syringe: React.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & React.RefAttributes<SVGSVGElement>>;
|
|
169
|
-
target: React.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & React.RefAttributes<SVGSVGElement>>;
|
|
170
|
-
timer: React.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & React.RefAttributes<SVGSVGElement>>;
|
|
171
|
-
'trending-up': React.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & React.RefAttributes<SVGSVGElement>>;
|
|
172
|
-
truck: React.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & React.RefAttributes<SVGSVGElement>>;
|
|
173
|
-
'user-check': React.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & React.RefAttributes<SVGSVGElement>>;
|
|
174
|
-
users: React.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & React.RefAttributes<SVGSVGElement>>;
|
|
175
|
-
workflow: React.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & React.RefAttributes<SVGSVGElement>>;
|
|
176
|
-
wrench: React.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & React.RefAttributes<SVGSVGElement>>;
|
|
177
|
-
zap: React.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & React.RefAttributes<SVGSVGElement>>;
|
|
178
|
-
};
|
|
179
|
-
type TemplateIconName = keyof typeof templateIcons;
|
|
180
|
-
interface TemplateIconProps {
|
|
181
|
-
/** A built-in token, a token from `icons`, or a lettermark of up to four characters. */
|
|
182
|
-
name: string;
|
|
183
|
-
icons?: TemplateIconRegistry;
|
|
184
|
-
className?: string;
|
|
185
|
-
}
|
|
186
|
-
declare function TemplateIcon({ name, icons, className }: TemplateIconProps): react_jsx_runtime.JSX.Element | null;
|
|
187
|
-
|
|
188
53
|
interface FeatureItem {
|
|
189
54
|
title: string;
|
|
190
55
|
description: string;
|
|
@@ -217,6 +82,10 @@ interface HeroSectionProps extends Omit<SectionBaseProps, 'align'> {
|
|
|
217
82
|
ctaNote?: string;
|
|
218
83
|
/** Short trust points rendered as a checked list. */
|
|
219
84
|
highlights?: string[];
|
|
85
|
+
/** Dateline items under the heading, e.g. `['Benchmark report', '2027 edition']`. */
|
|
86
|
+
meta?: string[];
|
|
87
|
+
/** Brand mark above the heading. */
|
|
88
|
+
logo?: TemplateImage;
|
|
220
89
|
image?: TemplateImage;
|
|
221
90
|
/** Trail ending in the current page, which renders unlinked. */
|
|
222
91
|
breadcrumbs?: TemplateLink[];
|
|
@@ -258,6 +127,8 @@ interface LeadFormSectionProps extends Omit<SectionBaseProps, 'align' | 'onSubmi
|
|
|
258
127
|
submitTrackingId?: string;
|
|
259
128
|
/** `split` puts the heading beside the form; `stacked` centres it above. */
|
|
260
129
|
layout?: 'split' | 'stacked';
|
|
130
|
+
/** What the visitor gets, as a checked list under the heading — e.g. a gated report's contents. */
|
|
131
|
+
highlights?: string[];
|
|
261
132
|
}
|
|
262
133
|
declare const defaultLeadFormFields: LeadFormField[];
|
|
263
134
|
declare const LeadFormSection: React.ForwardRefExoticComponent<LeadFormSectionProps & React.RefAttributes<HTMLElement>>;
|
|
@@ -342,6 +213,21 @@ interface SplitContentSectionProps extends Omit<SectionBaseProps, 'align'> {
|
|
|
342
213
|
}
|
|
343
214
|
declare const SplitContentSection: React.ForwardRefExoticComponent<SplitContentSectionProps & React.RefAttributes<HTMLElement>>;
|
|
344
215
|
|
|
216
|
+
/** Where a figure comes from: measured, estimated, or still being instrumented. */
|
|
217
|
+
type MetricStatus = 'live' | 'modeled' | 'maturing';
|
|
218
|
+
/** Translated badge text, per status. */
|
|
219
|
+
type MetricStatusLabels = Partial<Record<MetricStatus, string>>;
|
|
220
|
+
declare const defaultMetricStatusLabels: Record<MetricStatus, string>;
|
|
221
|
+
interface MetricStatusBadgeProps extends React.HTMLAttributes<HTMLSpanElement> {
|
|
222
|
+
status: MetricStatus;
|
|
223
|
+
/** Override the visible label, e.g. for translation. */
|
|
224
|
+
label?: string;
|
|
225
|
+
/** Set on dark or brand surfaces. */
|
|
226
|
+
onDark?: boolean;
|
|
227
|
+
}
|
|
228
|
+
/** Labels a figure by provenance so readers can tell measured data from estimates. */
|
|
229
|
+
declare const MetricStatusBadge: React.ForwardRefExoticComponent<MetricStatusBadgeProps & React.RefAttributes<HTMLSpanElement>>;
|
|
230
|
+
|
|
345
231
|
interface StatItem {
|
|
346
232
|
/** Numbers are locale-formatted; strings render as written. */
|
|
347
233
|
value: number | string;
|
|
@@ -354,9 +240,14 @@ interface StatItem {
|
|
|
354
240
|
}
|
|
355
241
|
interface StatsSectionProps extends SectionBaseProps {
|
|
356
242
|
stats: StatItem[];
|
|
357
|
-
|
|
243
|
+
/** `ruled` sets an accent rule beside each figure — a report's key-findings band. */
|
|
244
|
+
variant?: 'plain' | 'cards' | 'ruled';
|
|
358
245
|
/** BCP 47 locale for number formatting. */
|
|
359
246
|
locale?: string;
|
|
247
|
+
/** Provenance badge under the heading. */
|
|
248
|
+
status?: MetricStatus;
|
|
249
|
+
/** Translated text for the `status` badge. */
|
|
250
|
+
statusLabels?: MetricStatusLabels;
|
|
360
251
|
}
|
|
361
252
|
declare const StatsSection: React.ForwardRefExoticComponent<StatsSectionProps & React.RefAttributes<HTMLElement>>;
|
|
362
253
|
|
|
@@ -408,6 +299,261 @@ interface VideoSectionProps extends SectionBaseProps {
|
|
|
408
299
|
}
|
|
409
300
|
declare const VideoSection: React.ForwardRefExoticComponent<VideoSectionProps & React.RefAttributes<HTMLElement>>;
|
|
410
301
|
|
|
302
|
+
type BenchmarkValue = number | string | null;
|
|
303
|
+
interface BenchmarkColumn {
|
|
304
|
+
/** Key into each row's `values`. */
|
|
305
|
+
key: string;
|
|
306
|
+
label: string;
|
|
307
|
+
/** Number formatting, e.g. `{ style: 'currency', currency: 'USD', maximumFractionDigits: 0 }`. */
|
|
308
|
+
format?: Intl.NumberFormatOptions;
|
|
309
|
+
/** Draw a bar scaled to the column's largest value beside the number. */
|
|
310
|
+
bar?: boolean;
|
|
311
|
+
/** Tint the column \u2014 the figure readers should compare first. */
|
|
312
|
+
emphasis?: boolean;
|
|
313
|
+
}
|
|
314
|
+
interface BenchmarkRow {
|
|
315
|
+
label: string;
|
|
316
|
+
/** Second line under the label, e.g. a category. */
|
|
317
|
+
sublabel?: string;
|
|
318
|
+
href?: string;
|
|
319
|
+
/** Numbers are formatted by the column; strings render as written; `null` shows a dash. */
|
|
320
|
+
values: Record<string, BenchmarkValue>;
|
|
321
|
+
}
|
|
322
|
+
interface BenchmarkTableSectionProps extends Omit<SectionBaseProps, 'align'> {
|
|
323
|
+
columns: BenchmarkColumn[];
|
|
324
|
+
rows: BenchmarkRow[];
|
|
325
|
+
/** Header of the row-label column. */
|
|
326
|
+
rowHeader: string;
|
|
327
|
+
/** Visually hidden table caption; defaults to `title`. */
|
|
328
|
+
caption?: string;
|
|
329
|
+
/** Method note under the table. */
|
|
330
|
+
footnote?: string;
|
|
331
|
+
status?: MetricStatus;
|
|
332
|
+
/** Translated text for the `status` badge. */
|
|
333
|
+
statusLabels?: MetricStatusLabels;
|
|
334
|
+
/** BCP 47 locale for number formatting. */
|
|
335
|
+
locale?: string;
|
|
336
|
+
}
|
|
337
|
+
/**
|
|
338
|
+
* A benchmark table: labelled rows, formatted numeric columns, optional inline
|
|
339
|
+
* bars, and a sticky label column so wide tables scroll sideways on phones.
|
|
340
|
+
*/
|
|
341
|
+
declare const BenchmarkTableSection: React.ForwardRefExoticComponent<BenchmarkTableSectionProps & React.RefAttributes<HTMLElement>>;
|
|
342
|
+
|
|
343
|
+
interface LinkGroup {
|
|
344
|
+
title: string;
|
|
345
|
+
description?: string;
|
|
346
|
+
links: TemplateLink[];
|
|
347
|
+
}
|
|
348
|
+
interface LinkGroupsSectionProps extends SectionBaseProps {
|
|
349
|
+
groups: LinkGroup[];
|
|
350
|
+
columns?: 2 | 3;
|
|
351
|
+
}
|
|
352
|
+
/** Grouped lists of internal links — "explore the pages behind these numbers". */
|
|
353
|
+
declare const LinkGroupsSection: React.ForwardRefExoticComponent<LinkGroupsSectionProps & React.RefAttributes<HTMLElement>>;
|
|
354
|
+
|
|
355
|
+
interface MetricDefinition {
|
|
356
|
+
label: string;
|
|
357
|
+
/** Unit chip, e.g. `hours` or `%`. */
|
|
358
|
+
unit?: string;
|
|
359
|
+
/** How the figure is (or will be) measured. */
|
|
360
|
+
description: string;
|
|
361
|
+
/** Leave unset until the figure is measured; the section then reads as a roadmap preview. */
|
|
362
|
+
value?: string;
|
|
363
|
+
}
|
|
364
|
+
interface MetricListSectionLabels {
|
|
365
|
+
preview?: string;
|
|
366
|
+
}
|
|
367
|
+
interface MetricListSectionProps extends Omit<SectionBaseProps, 'align'> {
|
|
368
|
+
metrics: MetricDefinition[];
|
|
369
|
+
/** Plain-language headline for the result. */
|
|
370
|
+
takeaway?: string;
|
|
371
|
+
/** Mark measured values as good news with a success rule. */
|
|
372
|
+
positive?: boolean;
|
|
373
|
+
/** Translated text for the derived live / maturing badge. */
|
|
374
|
+
statusLabels?: MetricStatusLabels;
|
|
375
|
+
labels?: MetricListSectionLabels;
|
|
376
|
+
}
|
|
377
|
+
/**
|
|
378
|
+
* Metric definitions with or without values. Publishing the definitions before
|
|
379
|
+
* the data lands is honest about what isn't measured yet; values drop in later
|
|
380
|
+
* with no layout change, and the badge flips from "maturing" to "live".
|
|
381
|
+
*/
|
|
382
|
+
declare const MetricListSection: React.ForwardRefExoticComponent<MetricListSectionProps & React.RefAttributes<HTMLElement>>;
|
|
383
|
+
|
|
384
|
+
interface PdfEmbedSectionLabels {
|
|
385
|
+
download?: string;
|
|
386
|
+
open?: string;
|
|
387
|
+
/** Shown where the browser can't display PDFs inline. */
|
|
388
|
+
fallback?: string;
|
|
389
|
+
}
|
|
390
|
+
interface PdfEmbedSectionProps extends SectionBaseProps {
|
|
391
|
+
title: string;
|
|
392
|
+
/** Root-relative or absolute URL of the PDF. */
|
|
393
|
+
src: string;
|
|
394
|
+
/** Suggested filename for the download link. */
|
|
395
|
+
downloadAs?: string;
|
|
396
|
+
/** Viewer height ÷ width. US Letter portrait is ~1.29; 16:9 slides are 0.5625. */
|
|
397
|
+
aspectRatio?: number;
|
|
398
|
+
/** Callout above the viewer, e.g. "embedded videos only play in Acrobat". */
|
|
399
|
+
notice?: string;
|
|
400
|
+
labels?: PdfEmbedSectionLabels;
|
|
401
|
+
}
|
|
402
|
+
/**
|
|
403
|
+
* An inline PDF viewer with download and open-in-new-tab links. Uses
|
|
404
|
+
* `<object>`, whose fallback content (a link) shows where inline PDF isn't
|
|
405
|
+
* supported, so it needs no client JavaScript.
|
|
406
|
+
*/
|
|
407
|
+
declare const PdfEmbedSection: React.ForwardRefExoticComponent<PdfEmbedSectionProps & React.RefAttributes<HTMLElement>>;
|
|
408
|
+
|
|
409
|
+
interface RankedItem {
|
|
410
|
+
label: string;
|
|
411
|
+
/** Sets the bar length, relative to the list's largest value. */
|
|
412
|
+
value: number;
|
|
413
|
+
/** Text shown for the value; defaults to the locale-formatted number. */
|
|
414
|
+
display?: string;
|
|
415
|
+
href?: string;
|
|
416
|
+
/** Small context to the side, e.g. `12 industries`. */
|
|
417
|
+
note?: string;
|
|
418
|
+
}
|
|
419
|
+
interface RankedList {
|
|
420
|
+
title?: string;
|
|
421
|
+
items: RankedItem[];
|
|
422
|
+
}
|
|
423
|
+
interface RankedListSectionProps extends Omit<SectionBaseProps, 'align'> {
|
|
424
|
+
/** One list, or several side by side (e.g. best- and worst-served). */
|
|
425
|
+
lists: RankedList[];
|
|
426
|
+
/** Prefix each item with its rank. */
|
|
427
|
+
numbered?: boolean;
|
|
428
|
+
/** `stacked` gives each item a card with the bar underneath; `inline` puts label, bar and value on one row. */
|
|
429
|
+
layout?: 'stacked' | 'inline';
|
|
430
|
+
bar?: 'primary' | 'accent' | 'success';
|
|
431
|
+
status?: MetricStatus;
|
|
432
|
+
/** Translated text for the `status` badge. */
|
|
433
|
+
statusLabels?: MetricStatusLabels;
|
|
434
|
+
/** BCP 47 locale for number formatting. */
|
|
435
|
+
locale?: string;
|
|
436
|
+
}
|
|
437
|
+
/** Ranked horizontal bars \u2014 top services, most-searched terms, best- and worst-served regions. */
|
|
438
|
+
declare const RankedListSection: React.ForwardRefExoticComponent<RankedListSectionProps & React.RefAttributes<HTMLElement>>;
|
|
439
|
+
|
|
440
|
+
interface ReportAuthor {
|
|
441
|
+
name: string;
|
|
442
|
+
/** Job title or credentials. */
|
|
443
|
+
role?: string;
|
|
444
|
+
/** Author page; the name links here. */
|
|
445
|
+
href?: string;
|
|
446
|
+
avatar?: TemplateImage;
|
|
447
|
+
/** External profiles, e.g. `{ label: 'LinkedIn', href }`. */
|
|
448
|
+
profiles?: TemplateLink[];
|
|
449
|
+
}
|
|
450
|
+
interface ReportBylineLabels {
|
|
451
|
+
/** Visually hidden section heading. */
|
|
452
|
+
heading?: string;
|
|
453
|
+
by?: string;
|
|
454
|
+
published?: string;
|
|
455
|
+
updated?: string;
|
|
456
|
+
}
|
|
457
|
+
interface ReportBylineProps extends Omit<SectionBaseProps, 'title' | 'eyebrow' | 'description' | 'align'> {
|
|
458
|
+
authors: ReportAuthor[];
|
|
459
|
+
/** Display date, formatted by the site. */
|
|
460
|
+
published?: string;
|
|
461
|
+
updated?: string;
|
|
462
|
+
labels?: ReportBylineLabels;
|
|
463
|
+
}
|
|
464
|
+
/** Who wrote a report and when, with links to author pages and profiles. */
|
|
465
|
+
declare const ReportByline: React.ForwardRefExoticComponent<ReportBylineProps & React.RefAttributes<HTMLElement>>;
|
|
466
|
+
|
|
467
|
+
interface ReportLegendEntry {
|
|
468
|
+
status: MetricStatus;
|
|
469
|
+
/** What this label means in this report. */
|
|
470
|
+
description: string;
|
|
471
|
+
/** Override the badge text, e.g. for translation. */
|
|
472
|
+
label?: string;
|
|
473
|
+
}
|
|
474
|
+
interface ReportLegendProps extends SectionBaseProps {
|
|
475
|
+
entries: ReportLegendEntry[];
|
|
476
|
+
}
|
|
477
|
+
/** The key to a report's provenance badges, set near the top so readers know how to weigh every figure. */
|
|
478
|
+
declare const ReportLegend: React.ForwardRefExoticComponent<ReportLegendProps & React.RefAttributes<HTMLElement>>;
|
|
479
|
+
|
|
480
|
+
interface MethodologySource {
|
|
481
|
+
label: string;
|
|
482
|
+
description: string;
|
|
483
|
+
/** Link to the dataset or document itself. */
|
|
484
|
+
href?: string;
|
|
485
|
+
}
|
|
486
|
+
interface MethodologyNote {
|
|
487
|
+
title: string;
|
|
488
|
+
body: string;
|
|
489
|
+
}
|
|
490
|
+
interface ReportMethodologyLabels {
|
|
491
|
+
citation?: string;
|
|
492
|
+
sourceLink?: string;
|
|
493
|
+
}
|
|
494
|
+
interface ReportMethodologyProps extends SectionBaseProps {
|
|
495
|
+
sources: MethodologySource[];
|
|
496
|
+
/** Suggested citation, shown selectable in a monospace block. */
|
|
497
|
+
citation?: string;
|
|
498
|
+
/** Short notes such as the publishing cadence or known limitations. */
|
|
499
|
+
notes?: MethodologyNote[];
|
|
500
|
+
/** A closing panel of links, e.g. the API or dataset downloads. */
|
|
501
|
+
resources?: {
|
|
502
|
+
title: string;
|
|
503
|
+
description?: string;
|
|
504
|
+
links: TemplateLink[];
|
|
505
|
+
};
|
|
506
|
+
labels?: ReportMethodologyLabels;
|
|
507
|
+
}
|
|
508
|
+
/** Sources, how to cite, and caveats — the section that makes a report's figures checkable. */
|
|
509
|
+
declare const ReportMethodology: React.ForwardRefExoticComponent<ReportMethodologyProps & React.RefAttributes<HTMLElement>>;
|
|
510
|
+
|
|
511
|
+
interface TilePosition {
|
|
512
|
+
code: string;
|
|
513
|
+
name: string;
|
|
514
|
+
/** Zero-based grid row. */
|
|
515
|
+
row: number;
|
|
516
|
+
/** Zero-based grid column. */
|
|
517
|
+
col: number;
|
|
518
|
+
}
|
|
519
|
+
/** US states and DC on an 11-column tile grid, every state the same size. */
|
|
520
|
+
declare const usStateTiles: TilePosition[];
|
|
521
|
+
type TileBucket = 0 | 1 | 2 | 3 | 4;
|
|
522
|
+
/**
|
|
523
|
+
* Quartile buckets for a set of values: 1 (lowest) to 4 (highest), and 0 for
|
|
524
|
+
* a missing value. Run it in the data layer; pass the result to `TileCartogramSection`.
|
|
525
|
+
*/
|
|
526
|
+
declare function quartileBuckets(values: Record<string, number | null | undefined>): Record<string, TileBucket>;
|
|
527
|
+
|
|
528
|
+
interface TileValue {
|
|
529
|
+
bucket: TileBucket;
|
|
530
|
+
/** Read out with the tile's name, e.g. `12.4 providers per 100k`. */
|
|
531
|
+
detail?: string;
|
|
532
|
+
}
|
|
533
|
+
interface TileLegendEntry {
|
|
534
|
+
bucket: TileBucket;
|
|
535
|
+
label: string;
|
|
536
|
+
}
|
|
537
|
+
interface TileCartogramSectionProps extends Omit<SectionBaseProps, 'align'> {
|
|
538
|
+
/** Values keyed by tile code. Tiles with no entry render as bucket 0. */
|
|
539
|
+
values: Record<string, TileValue>;
|
|
540
|
+
legend: TileLegendEntry[];
|
|
541
|
+
/** Tile positions; defaults to `usStateTiles`. */
|
|
542
|
+
layout?: TilePosition[];
|
|
543
|
+
/** Heading of the map card. */
|
|
544
|
+
mapTitle?: string;
|
|
545
|
+
mapDescription?: string;
|
|
546
|
+
status?: MetricStatus;
|
|
547
|
+
/** Translated text for the `status` badge. */
|
|
548
|
+
statusLabels?: MetricStatusLabels;
|
|
549
|
+
}
|
|
550
|
+
/**
|
|
551
|
+
* A tile-grid map: every region the same size, shaded by bucket, so small
|
|
552
|
+
* states are as visible as large ones. Each tile is a list item that reads its
|
|
553
|
+
* full name and detail to screen readers.
|
|
554
|
+
*/
|
|
555
|
+
declare const TileCartogramSection: React.ForwardRefExoticComponent<TileCartogramSectionProps & React.RefAttributes<HTMLElement>>;
|
|
556
|
+
|
|
411
557
|
/** A section the site renders itself, looked up by name in `LandingPage`'s `custom` map. */
|
|
412
558
|
interface CustomBlock {
|
|
413
559
|
type: 'custom';
|
|
@@ -449,7 +595,25 @@ type LandingBlock = ({
|
|
|
449
595
|
action: string;
|
|
450
596
|
}) | ({
|
|
451
597
|
type: 'cta';
|
|
452
|
-
} & BlockData<CtaSectionProps>) |
|
|
598
|
+
} & BlockData<CtaSectionProps>) | ({
|
|
599
|
+
type: 'report-legend';
|
|
600
|
+
} & BlockData<ReportLegendProps>) | ({
|
|
601
|
+
type: 'benchmark-table';
|
|
602
|
+
} & BlockData<BenchmarkTableSectionProps>) | ({
|
|
603
|
+
type: 'ranked-list';
|
|
604
|
+
} & BlockData<RankedListSectionProps>) | ({
|
|
605
|
+
type: 'tile-cartogram';
|
|
606
|
+
} & BlockData<TileCartogramSectionProps>) | ({
|
|
607
|
+
type: 'metric-list';
|
|
608
|
+
} & BlockData<MetricListSectionProps>) | ({
|
|
609
|
+
type: 'methodology';
|
|
610
|
+
} & BlockData<ReportMethodologyProps>) | ({
|
|
611
|
+
type: 'byline';
|
|
612
|
+
} & BlockData<ReportBylineProps>) | ({
|
|
613
|
+
type: 'link-groups';
|
|
614
|
+
} & BlockData<LinkGroupsSectionProps>) | ({
|
|
615
|
+
type: 'pdf-embed';
|
|
616
|
+
} & BlockData<PdfEmbedSectionProps>) | CustomBlock;
|
|
453
617
|
type LandingBlockType = LandingBlock['type'];
|
|
454
618
|
interface LandingPageProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
455
619
|
/** The page, top to bottom. Plain data — import it from a content file or a CMS. */
|
|
@@ -478,7 +642,7 @@ declare const landingPresets: {
|
|
|
478
642
|
'vertical-hub': {
|
|
479
643
|
label: string;
|
|
480
644
|
description: string;
|
|
481
|
-
sequence: ("split" | "hero" | "features" | "logos" | "stats" | "testimonials" | "
|
|
645
|
+
sequence: ("split" | "hero" | "features" | "logos" | "stats" | "testimonials" | "resources" | "process" | "faq" | "cta")[];
|
|
482
646
|
required: ("hero" | "features" | "faq" | "cta")[];
|
|
483
647
|
};
|
|
484
648
|
'service-detail': {
|
|
@@ -511,6 +675,12 @@ declare const landingPresets: {
|
|
|
511
675
|
sequence: ("hero" | "stats" | "testimonials" | "comparison" | "pricing" | "faq" | "cta")[];
|
|
512
676
|
required: ("hero" | "pricing" | "faq")[];
|
|
513
677
|
};
|
|
678
|
+
'benchmark-report': {
|
|
679
|
+
label: string;
|
|
680
|
+
description: string;
|
|
681
|
+
sequence: ("hero" | "features" | "stats" | "report-legend" | "lead-form" | "cta" | "benchmark-table" | "ranked-list" | "tile-cartogram" | "metric-list" | "methodology" | "byline" | "link-groups" | "pdf-embed")[];
|
|
682
|
+
required: ("hero" | "methodology")[];
|
|
683
|
+
};
|
|
514
684
|
};
|
|
515
685
|
type LandingPresetId = keyof typeof landingPresets;
|
|
516
686
|
interface LandingPageIssue {
|
|
@@ -548,6 +718,10 @@ interface SectionShellProps extends Omit<React.HTMLAttributes<HTMLElement>, 'tit
|
|
|
548
718
|
align?: SectionAlign;
|
|
549
719
|
width?: 'wide' | 'narrow';
|
|
550
720
|
spacing?: 'default' | 'compact';
|
|
721
|
+
/** Provenance badge under the heading, for sections that report figures. */
|
|
722
|
+
status?: MetricStatus;
|
|
723
|
+
/** Translated text for the `status` badge. */
|
|
724
|
+
statusLabels?: MetricStatusLabels;
|
|
551
725
|
/** Accepted so sections can forward their props; the shell renders no links or images. */
|
|
552
726
|
components?: TemplateComponents;
|
|
553
727
|
}
|
|
@@ -557,4 +731,4 @@ interface SectionShellProps extends Omit<React.HTMLAttributes<HTMLElement>, 'tit
|
|
|
557
731
|
*/
|
|
558
732
|
declare const SectionShell: React.ForwardRefExoticComponent<SectionShellProps & React.RefAttributes<HTMLElement>>;
|
|
559
733
|
|
|
560
|
-
export { type ComparisonRow, ComparisonSection, type ComparisonSectionLabels, type ComparisonSectionProps, CtaSection, type CtaSectionProps, type CustomBlock, type FaqItem, FaqSection, type FaqSectionProps, FeatureGridSection, type FeatureGridSectionProps, type FeatureItem, HeroSection, type HeroSectionLabels, type HeroSectionProps, type LandingBlock, type LandingBlockType, LandingPage, type LandingPageIssue, type LandingPageProps, type LandingPreset, type LandingPresetId, type LeadFormField, LeadFormSection, type LeadFormSectionProps, LogoCloudSection, type LogoCloudSectionProps, type LogoItem, type PricingPlan, PricingSection, type PricingSectionProps, type ProcessStep, ProcessStepsSection, type ProcessStepsSectionProps, ResourceCardsSection, type ResourceCardsSectionProps, type ResourceItem,
|
|
734
|
+
export { type BenchmarkColumn, type BenchmarkRow, BenchmarkTableSection, type BenchmarkTableSectionProps, type BenchmarkValue, type ComparisonRow, ComparisonSection, type ComparisonSectionLabels, type ComparisonSectionProps, CtaSection, type CtaSectionProps, type CustomBlock, type FaqItem, FaqSection, type FaqSectionProps, FeatureGridSection, type FeatureGridSectionProps, type FeatureItem, HeroSection, type HeroSectionLabels, type HeroSectionProps, type LandingBlock, type LandingBlockType, LandingPage, type LandingPageIssue, type LandingPageProps, type LandingPreset, type LandingPresetId, type LeadFormField, LeadFormSection, type LeadFormSectionProps, type LinkGroup, LinkGroupsSection, type LinkGroupsSectionProps, LogoCloudSection, type LogoCloudSectionProps, type LogoItem, type MethodologyNote, type MethodologySource, type MetricDefinition, MetricListSection, type MetricListSectionLabels, type MetricListSectionProps, type MetricStatus, MetricStatusBadge, type MetricStatusBadgeProps, type MetricStatusLabels, PdfEmbedSection, type PdfEmbedSectionLabels, type PdfEmbedSectionProps, type PricingPlan, PricingSection, type PricingSectionProps, type ProcessStep, ProcessStepsSection, type ProcessStepsSectionProps, type RankedItem, type RankedList, RankedListSection, type RankedListSectionProps, type ReportAuthor, ReportByline, type ReportBylineLabels, type ReportBylineProps, ReportLegend, type ReportLegendEntry, type ReportLegendProps, ReportMethodology, type ReportMethodologyLabels, type ReportMethodologyProps, ResourceCardsSection, type ResourceCardsSectionProps, type ResourceItem, SectionAlign, SectionBaseProps, SectionHeading, type SectionHeadingProps, SectionShell, type SectionShellProps, SectionTone, SplitContentSection, type SplitContentSectionProps, type StatItem, StatsSection, type StatsSectionProps, TemplateComponents, TemplateIconRegistry, TemplateImage, TemplateLink, type TestimonialItem, TestimonialSection, type TestimonialSectionLabels, type TestimonialSectionProps, type TileBucket, TileCartogramSection, type TileCartogramSectionProps, type TileLegendEntry, type TilePosition, type TileValue, VideoSection, type VideoSectionProps, type VideoSource, defaultLeadFormFields, defaultMetricStatusLabels, landingPresets, quartileBuckets, usStateTiles, validateLandingPage };
|