@nascentdigital/funnel-ui 4.5.2 → 4.5.4

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.
Files changed (132) hide show
  1. package/dist/Tailwind.d.ts +1 -1
  2. package/dist/Tailwind.js +70 -24
  3. package/dist/client/hooks/breakpoint/BreakpointContainer.d.ts +1 -1
  4. package/dist/client/hooks/breakpoint/BreakpointContainer.js +3 -1
  5. package/dist/client/interaction/Carousel.d.ts +1 -1
  6. package/dist/client/interaction/Carousel.js +28 -30
  7. package/dist/client/interaction/index.d.ts +0 -6
  8. package/dist/client/interaction/index.js +0 -6
  9. package/dist/server/Page.d.ts +15 -0
  10. package/dist/server/Page.js +70 -0
  11. package/dist/server/blocks/Block.d.ts +4 -2
  12. package/dist/server/blocks/Block.js +10 -3
  13. package/dist/server/blocks/Editorial.d.ts +2 -2
  14. package/dist/server/blocks/Editorial.js +4 -4
  15. package/dist/server/blocks/Form.d.ts +2 -2
  16. package/dist/server/blocks/Form.js +3 -3
  17. package/dist/server/blocks/Message.js +2 -1
  18. package/dist/server/blocks/Projects.d.ts +29 -37
  19. package/dist/server/blocks/Projects.js +13 -84
  20. package/dist/server/blocks/RelatedPages.d.ts +58 -0
  21. package/dist/server/blocks/RelatedPages.js +99 -0
  22. package/dist/server/blocks/Stats.d.ts +19 -31
  23. package/dist/server/blocks/Stats.js +13 -57
  24. package/dist/server/blocks/Testimonial.d.ts +2 -2
  25. package/dist/server/blocks/Testimonial.js +17 -14
  26. package/dist/server/blocks/Testimonials.d.ts +35 -35
  27. package/dist/server/blocks/Testimonials.js +21 -66
  28. package/dist/server/blocks/index.d.ts +2 -0
  29. package/dist/server/blocks/index.js +2 -0
  30. package/dist/server/entities/previews/MessagePreview.d.ts +2 -2
  31. package/dist/server/entities/previews/MessagePreview.js +1 -1
  32. package/dist/server/fields/CallToActions.d.ts +12 -0
  33. package/dist/server/fields/CallToActions.js +27 -0
  34. package/dist/server/fields/Caption.js +3 -2
  35. package/dist/server/fields/Description.js +1 -1
  36. package/dist/server/fields/FreeFormContent.js +1 -1
  37. package/dist/server/fields/Headline.js +1 -1
  38. package/dist/server/fields/Quote.js +1 -1
  39. package/dist/server/fields/RichText.js +1 -0
  40. package/dist/server/fields/index.d.ts +1 -0
  41. package/dist/server/fields/index.js +1 -0
  42. package/dist/server/index.d.ts +2 -0
  43. package/dist/server/index.js +2 -0
  44. package/dist/server/layouts/BentoLayout.d.ts +289 -0
  45. package/dist/server/layouts/BentoLayout.js +25 -0
  46. package/dist/server/layouts/index.d.ts +1 -0
  47. package/dist/server/layouts/index.js +1 -0
  48. package/dist/server/panels/BlockPanel.js +1 -3
  49. package/dist/server/panels/ListPanel.d.ts +4 -4
  50. package/dist/server/panels/ListPanel.js +13 -2
  51. package/dist/server/panels/MessagePanel.d.ts +2 -6
  52. package/dist/server/panels/MessagePanel.js +2 -12
  53. package/dist/server/panels/TestimonialPanel.d.ts +44 -18
  54. package/dist/server/panels/TestimonialPanel.js +44 -19
  55. package/dist/server/panels/VisualPanel.d.ts +1 -1
  56. package/dist/server/panels/VisualPanel.js +0 -2
  57. package/dist/server/schema/Anchor.d.ts +1 -1
  58. package/dist/server/schema/Anchor.js +2 -2
  59. package/dist/server/schema/BlockConfig.js +1 -1
  60. package/dist/server/schema/ListPanelLayout.d.ts +6 -0
  61. package/dist/server/schema/ListPanelLayout.js +3 -0
  62. package/dist/server/utils/ReactUtils.d.ts +6 -0
  63. package/dist/server/utils/ReactUtils.js +25 -0
  64. package/dist/server/utils/index.d.ts +1 -0
  65. package/dist/{client/interaction/modal → server/utils}/index.js +1 -2
  66. package/dist/styles/Page.css +5 -0
  67. package/dist/styles/Section.css +52 -0
  68. package/dist/styles/blocks/Block-spacing.css +31 -38
  69. package/dist/styles/blocks/Block-theming.css +2 -4
  70. package/dist/styles/blocks/MediaLayout.css +16 -0
  71. package/dist/styles/blocks/Projects.css +0 -9
  72. package/dist/styles/blocks/RelatedPages.css +13 -0
  73. package/dist/styles/blocks/Stats.css +1 -30
  74. package/dist/styles/components/Carousel.css +128 -0
  75. package/dist/styles/components/_index.css +2 -1
  76. package/dist/styles/entities/Person.css +4 -4
  77. package/dist/styles/entities/Project.css +8 -2
  78. package/dist/styles/entities/UniqueSellingPoint.css +3 -3
  79. package/dist/styles/fields/Caption.css +2 -2
  80. package/dist/styles/fields/Description.css +2 -2
  81. package/dist/styles/fields/Icon.css +1 -1
  82. package/dist/styles/fields/Link.css +1 -1
  83. package/dist/styles/fields/Quote.css +2 -2
  84. package/dist/styles/fields/Title.css +1 -1
  85. package/dist/styles/index.css +2 -0
  86. package/dist/styles/layouts/BentoLayout.css +41 -0
  87. package/dist/styles/layouts/_index.css +1 -0
  88. package/dist/styles/panels/TestimonialPanel.css +4 -0
  89. package/package.json +2 -3
  90. package/dist/client/interaction/Popup.d.ts +0 -36
  91. package/dist/client/interaction/Popup.js +0 -244
  92. package/dist/client/interaction/Tooltip.d.ts +0 -16
  93. package/dist/client/interaction/Tooltip.js +0 -122
  94. package/dist/client/interaction/UILevel.d.ts +0 -1
  95. package/dist/client/interaction/UILevel.js +0 -2
  96. package/dist/client/interaction/backdrop/BackdropContainer.d.ts +0 -5
  97. package/dist/client/interaction/backdrop/BackdropContainer.js +0 -114
  98. package/dist/client/interaction/backdrop/BackdropContext.d.ts +0 -8
  99. package/dist/client/interaction/backdrop/BackdropContext.js +0 -6
  100. package/dist/client/interaction/backdrop/BackdropEvent.d.ts +0 -64
  101. package/dist/client/interaction/backdrop/BackdropEvent.js +0 -92
  102. package/dist/client/interaction/backdrop/index.d.ts +0 -4
  103. package/dist/client/interaction/backdrop/index.js +0 -20
  104. package/dist/client/interaction/backdrop/useBackdrop.d.ts +0 -13
  105. package/dist/client/interaction/backdrop/useBackdrop.js +0 -58
  106. package/dist/client/interaction/backdrop/useBackdropClick.d.ts +0 -2
  107. package/dist/client/interaction/backdrop/useBackdropClick.js +0 -21
  108. package/dist/client/interaction/backdrop/useBackdropVisible.d.ts +0 -1
  109. package/dist/client/interaction/backdrop/useBackdropVisible.js +0 -30
  110. package/dist/client/interaction/focus/FocusArea.d.ts +0 -10
  111. package/dist/client/interaction/focus/FocusArea.js +0 -38
  112. package/dist/client/interaction/focus/FocusContext.d.ts +0 -7
  113. package/dist/client/interaction/focus/FocusContext.js +0 -7
  114. package/dist/client/interaction/focus/FocusController.d.ts +0 -9
  115. package/dist/client/interaction/focus/FocusController.js +0 -40
  116. package/dist/client/interaction/focus/FocusService.d.ts +0 -20
  117. package/dist/client/interaction/focus/FocusService.js +0 -204
  118. package/dist/client/interaction/focus/LinkedList.d.ts +0 -18
  119. package/dist/client/interaction/focus/LinkedList.js +0 -122
  120. package/dist/client/interaction/focus/index.d.ts +0 -2
  121. package/dist/client/interaction/focus/index.js +0 -18
  122. package/dist/client/interaction/focus/useFocusService.d.ts +0 -2
  123. package/dist/client/interaction/focus/useFocusService.js +0 -14
  124. package/dist/client/interaction/modal/Modal.d.ts +0 -29
  125. package/dist/client/interaction/modal/Modal.js +0 -136
  126. package/dist/client/interaction/modal/ModalContainer.d.ts +0 -5
  127. package/dist/client/interaction/modal/ModalContainer.js +0 -104
  128. package/dist/client/interaction/modal/ModalContext.d.ts +0 -8
  129. package/dist/client/interaction/modal/ModalContext.js +0 -6
  130. package/dist/client/interaction/modal/ModalEvent.d.ts +0 -39
  131. package/dist/client/interaction/modal/ModalEvent.js +0 -53
  132. package/dist/client/interaction/modal/index.d.ts +0 -2
@@ -0,0 +1,289 @@
1
+ import { HTMLAttributes, ReactElement } from 'react';
2
+ import { HTMLElements } from '../../types';
3
+ export declare function BentoLayout<TTag extends HTMLElements.Standard.Container>({ as, className, children, ...props }: BentoLayout.Props<TTag>): ReactElement<{
4
+ prefix?: string | undefined | undefined;
5
+ content?: string | undefined | undefined;
6
+ translate?: "yes" | "no" | undefined | undefined;
7
+ color?: string | undefined | undefined;
8
+ id?: string | undefined | undefined;
9
+ onClick?: import("react").MouseEventHandler<TTag> | undefined;
10
+ slot?: string | undefined | undefined;
11
+ style?: import("react").CSSProperties | undefined;
12
+ title?: string | undefined | undefined;
13
+ onAnimationStart?: import("react").AnimationEventHandler<TTag> | undefined;
14
+ onDragStart?: import("react").DragEventHandler<TTag> | undefined;
15
+ onDragEnd?: import("react").DragEventHandler<TTag> | undefined;
16
+ onDrag?: import("react").DragEventHandler<TTag> | undefined;
17
+ defaultChecked?: boolean | undefined | undefined;
18
+ defaultValue?: string | number | readonly string[] | undefined;
19
+ suppressContentEditableWarning?: boolean | undefined | undefined;
20
+ suppressHydrationWarning?: boolean | undefined | undefined;
21
+ accessKey?: string | undefined | undefined;
22
+ autoCapitalize?: "off" | "none" | "on" | "sentences" | "words" | "characters" | undefined | (string & {}) | undefined;
23
+ autoFocus?: boolean | undefined | undefined;
24
+ contentEditable?: "inherit" | (boolean | "true" | "false") | "plaintext-only" | undefined;
25
+ contextMenu?: string | undefined | undefined;
26
+ dir?: string | undefined | undefined;
27
+ draggable?: (boolean | "true" | "false") | undefined;
28
+ enterKeyHint?: "enter" | "done" | "go" | "next" | "previous" | "search" | "send" | undefined | undefined;
29
+ hidden?: boolean | undefined | undefined;
30
+ lang?: string | undefined | undefined;
31
+ nonce?: string | undefined | undefined;
32
+ spellCheck?: (boolean | "true" | "false") | undefined;
33
+ tabIndex?: number | undefined | undefined;
34
+ radioGroup?: string | undefined | undefined;
35
+ role?: import("react").AriaRole | undefined;
36
+ about?: string | undefined | undefined;
37
+ datatype?: string | undefined | undefined;
38
+ inlist?: any;
39
+ property?: string | undefined | undefined;
40
+ rel?: string | undefined | undefined;
41
+ resource?: string | undefined | undefined;
42
+ rev?: string | undefined | undefined;
43
+ typeof?: string | undefined | undefined;
44
+ vocab?: string | undefined | undefined;
45
+ autoCorrect?: string | undefined | undefined;
46
+ autoSave?: string | undefined | undefined;
47
+ itemProp?: string | undefined | undefined;
48
+ itemScope?: boolean | undefined | undefined;
49
+ itemType?: string | undefined | undefined;
50
+ itemID?: string | undefined | undefined;
51
+ itemRef?: string | undefined | undefined;
52
+ results?: number | undefined | undefined;
53
+ security?: string | undefined | undefined;
54
+ unselectable?: "on" | "off" | undefined | undefined;
55
+ popover?: "" | "auto" | "manual" | "hint" | undefined | undefined;
56
+ popoverTargetAction?: "toggle" | "show" | "hide" | undefined | undefined;
57
+ popoverTarget?: string | undefined | undefined;
58
+ inert?: boolean | undefined | undefined;
59
+ inputMode?: "none" | "text" | "tel" | "url" | "email" | "numeric" | "decimal" | "search" | undefined | undefined;
60
+ is?: string | undefined | undefined;
61
+ exportparts?: string | undefined | undefined;
62
+ part?: string | undefined | undefined;
63
+ "aria-activedescendant"?: string | undefined | undefined;
64
+ "aria-atomic"?: (boolean | "true" | "false") | undefined;
65
+ "aria-autocomplete"?: "none" | "inline" | "list" | "both" | undefined | undefined;
66
+ "aria-braillelabel"?: string | undefined | undefined;
67
+ "aria-brailleroledescription"?: string | undefined | undefined;
68
+ "aria-busy"?: (boolean | "true" | "false") | undefined;
69
+ "aria-checked"?: boolean | "false" | "mixed" | "true" | undefined | undefined;
70
+ "aria-colcount"?: number | undefined | undefined;
71
+ "aria-colindex"?: number | undefined | undefined;
72
+ "aria-colindextext"?: string | undefined | undefined;
73
+ "aria-colspan"?: number | undefined | undefined;
74
+ "aria-controls"?: string | undefined | undefined;
75
+ "aria-current"?: boolean | "false" | "true" | "page" | "step" | "location" | "date" | "time" | undefined | undefined;
76
+ "aria-describedby"?: string | undefined | undefined;
77
+ "aria-description"?: string | undefined | undefined;
78
+ "aria-details"?: string | undefined | undefined;
79
+ "aria-disabled"?: (boolean | "true" | "false") | undefined;
80
+ "aria-dropeffect"?: "none" | "copy" | "execute" | "link" | "move" | "popup" | undefined | undefined;
81
+ "aria-errormessage"?: string | undefined | undefined;
82
+ "aria-expanded"?: (boolean | "true" | "false") | undefined;
83
+ "aria-flowto"?: string | undefined | undefined;
84
+ "aria-grabbed"?: (boolean | "true" | "false") | undefined;
85
+ "aria-haspopup"?: boolean | "false" | "true" | "menu" | "listbox" | "tree" | "grid" | "dialog" | undefined | undefined;
86
+ "aria-hidden"?: (boolean | "true" | "false") | undefined;
87
+ "aria-invalid"?: boolean | "false" | "true" | "grammar" | "spelling" | undefined | undefined;
88
+ "aria-keyshortcuts"?: string | undefined | undefined;
89
+ "aria-label"?: string | undefined | undefined;
90
+ "aria-labelledby"?: string | undefined | undefined;
91
+ "aria-level"?: number | undefined | undefined;
92
+ "aria-live"?: "off" | "assertive" | "polite" | undefined | undefined;
93
+ "aria-modal"?: (boolean | "true" | "false") | undefined;
94
+ "aria-multiline"?: (boolean | "true" | "false") | undefined;
95
+ "aria-multiselectable"?: (boolean | "true" | "false") | undefined;
96
+ "aria-orientation"?: "horizontal" | "vertical" | undefined | undefined;
97
+ "aria-owns"?: string | undefined | undefined;
98
+ "aria-placeholder"?: string | undefined | undefined;
99
+ "aria-posinset"?: number | undefined | undefined;
100
+ "aria-pressed"?: boolean | "false" | "mixed" | "true" | undefined | undefined;
101
+ "aria-readonly"?: (boolean | "true" | "false") | undefined;
102
+ "aria-relevant"?: "additions" | "additions removals" | "additions text" | "all" | "removals" | "removals additions" | "removals text" | "text" | "text additions" | "text removals" | undefined | undefined;
103
+ "aria-required"?: (boolean | "true" | "false") | undefined;
104
+ "aria-roledescription"?: string | undefined | undefined;
105
+ "aria-rowcount"?: number | undefined | undefined;
106
+ "aria-rowindex"?: number | undefined | undefined;
107
+ "aria-rowindextext"?: string | undefined | undefined;
108
+ "aria-rowspan"?: number | undefined | undefined;
109
+ "aria-selected"?: (boolean | "true" | "false") | undefined;
110
+ "aria-setsize"?: number | undefined | undefined;
111
+ "aria-sort"?: "none" | "ascending" | "descending" | "other" | undefined | undefined;
112
+ "aria-valuemax"?: number | undefined | undefined;
113
+ "aria-valuemin"?: number | undefined | undefined;
114
+ "aria-valuenow"?: number | undefined | undefined;
115
+ "aria-valuetext"?: string | undefined | undefined;
116
+ dangerouslySetInnerHTML?: {
117
+ __html: string | TrustedHTML;
118
+ } | undefined | undefined;
119
+ onCopy?: import("react").ClipboardEventHandler<TTag> | undefined;
120
+ onCopyCapture?: import("react").ClipboardEventHandler<TTag> | undefined;
121
+ onCut?: import("react").ClipboardEventHandler<TTag> | undefined;
122
+ onCutCapture?: import("react").ClipboardEventHandler<TTag> | undefined;
123
+ onPaste?: import("react").ClipboardEventHandler<TTag> | undefined;
124
+ onPasteCapture?: import("react").ClipboardEventHandler<TTag> | undefined;
125
+ onCompositionEnd?: import("react").CompositionEventHandler<TTag> | undefined;
126
+ onCompositionEndCapture?: import("react").CompositionEventHandler<TTag> | undefined;
127
+ onCompositionStart?: import("react").CompositionEventHandler<TTag> | undefined;
128
+ onCompositionStartCapture?: import("react").CompositionEventHandler<TTag> | undefined;
129
+ onCompositionUpdate?: import("react").CompositionEventHandler<TTag> | undefined;
130
+ onCompositionUpdateCapture?: import("react").CompositionEventHandler<TTag> | undefined;
131
+ onFocus?: import("react").FocusEventHandler<TTag> | undefined;
132
+ onFocusCapture?: import("react").FocusEventHandler<TTag> | undefined;
133
+ onBlur?: import("react").FocusEventHandler<TTag> | undefined;
134
+ onBlurCapture?: import("react").FocusEventHandler<TTag> | undefined;
135
+ onChange?: import("react").ChangeEventHandler<TTag, Element> | undefined;
136
+ onChangeCapture?: import("react").ChangeEventHandler<TTag, Element> | undefined;
137
+ onBeforeInput?: import("react").InputEventHandler<TTag> | undefined;
138
+ onBeforeInputCapture?: import("react").InputEventHandler<TTag> | undefined;
139
+ onInput?: import("react").InputEventHandler<TTag> | undefined;
140
+ onInputCapture?: import("react").InputEventHandler<TTag> | undefined;
141
+ onReset?: import("react").ReactEventHandler<TTag> | undefined;
142
+ onResetCapture?: import("react").ReactEventHandler<TTag> | undefined;
143
+ onSubmit?: import("react").SubmitEventHandler<TTag> | undefined;
144
+ onSubmitCapture?: import("react").SubmitEventHandler<TTag> | undefined;
145
+ onInvalid?: import("react").ReactEventHandler<TTag> | undefined;
146
+ onInvalidCapture?: import("react").ReactEventHandler<TTag> | undefined;
147
+ onLoad?: import("react").ReactEventHandler<TTag> | undefined;
148
+ onLoadCapture?: import("react").ReactEventHandler<TTag> | undefined;
149
+ onError?: import("react").ReactEventHandler<TTag> | undefined;
150
+ onErrorCapture?: import("react").ReactEventHandler<TTag> | undefined;
151
+ onKeyDown?: import("react").KeyboardEventHandler<TTag> | undefined;
152
+ onKeyDownCapture?: import("react").KeyboardEventHandler<TTag> | undefined;
153
+ onKeyPress?: import("react").KeyboardEventHandler<TTag> | undefined;
154
+ onKeyPressCapture?: import("react").KeyboardEventHandler<TTag> | undefined;
155
+ onKeyUp?: import("react").KeyboardEventHandler<TTag> | undefined;
156
+ onKeyUpCapture?: import("react").KeyboardEventHandler<TTag> | undefined;
157
+ onAbort?: import("react").ReactEventHandler<TTag> | undefined;
158
+ onAbortCapture?: import("react").ReactEventHandler<TTag> | undefined;
159
+ onCanPlay?: import("react").ReactEventHandler<TTag> | undefined;
160
+ onCanPlayCapture?: import("react").ReactEventHandler<TTag> | undefined;
161
+ onCanPlayThrough?: import("react").ReactEventHandler<TTag> | undefined;
162
+ onCanPlayThroughCapture?: import("react").ReactEventHandler<TTag> | undefined;
163
+ onDurationChange?: import("react").ReactEventHandler<TTag> | undefined;
164
+ onDurationChangeCapture?: import("react").ReactEventHandler<TTag> | undefined;
165
+ onEmptied?: import("react").ReactEventHandler<TTag> | undefined;
166
+ onEmptiedCapture?: import("react").ReactEventHandler<TTag> | undefined;
167
+ onEncrypted?: import("react").ReactEventHandler<TTag> | undefined;
168
+ onEncryptedCapture?: import("react").ReactEventHandler<TTag> | undefined;
169
+ onEnded?: import("react").ReactEventHandler<TTag> | undefined;
170
+ onEndedCapture?: import("react").ReactEventHandler<TTag> | undefined;
171
+ onLoadedData?: import("react").ReactEventHandler<TTag> | undefined;
172
+ onLoadedDataCapture?: import("react").ReactEventHandler<TTag> | undefined;
173
+ onLoadedMetadata?: import("react").ReactEventHandler<TTag> | undefined;
174
+ onLoadedMetadataCapture?: import("react").ReactEventHandler<TTag> | undefined;
175
+ onLoadStart?: import("react").ReactEventHandler<TTag> | undefined;
176
+ onLoadStartCapture?: import("react").ReactEventHandler<TTag> | undefined;
177
+ onPause?: import("react").ReactEventHandler<TTag> | undefined;
178
+ onPauseCapture?: import("react").ReactEventHandler<TTag> | undefined;
179
+ onPlay?: import("react").ReactEventHandler<TTag> | undefined;
180
+ onPlayCapture?: import("react").ReactEventHandler<TTag> | undefined;
181
+ onPlaying?: import("react").ReactEventHandler<TTag> | undefined;
182
+ onPlayingCapture?: import("react").ReactEventHandler<TTag> | undefined;
183
+ onProgress?: import("react").ReactEventHandler<TTag> | undefined;
184
+ onProgressCapture?: import("react").ReactEventHandler<TTag> | undefined;
185
+ onRateChange?: import("react").ReactEventHandler<TTag> | undefined;
186
+ onRateChangeCapture?: import("react").ReactEventHandler<TTag> | undefined;
187
+ onSeeked?: import("react").ReactEventHandler<TTag> | undefined;
188
+ onSeekedCapture?: import("react").ReactEventHandler<TTag> | undefined;
189
+ onSeeking?: import("react").ReactEventHandler<TTag> | undefined;
190
+ onSeekingCapture?: import("react").ReactEventHandler<TTag> | undefined;
191
+ onStalled?: import("react").ReactEventHandler<TTag> | undefined;
192
+ onStalledCapture?: import("react").ReactEventHandler<TTag> | undefined;
193
+ onSuspend?: import("react").ReactEventHandler<TTag> | undefined;
194
+ onSuspendCapture?: import("react").ReactEventHandler<TTag> | undefined;
195
+ onTimeUpdate?: import("react").ReactEventHandler<TTag> | undefined;
196
+ onTimeUpdateCapture?: import("react").ReactEventHandler<TTag> | undefined;
197
+ onVolumeChange?: import("react").ReactEventHandler<TTag> | undefined;
198
+ onVolumeChangeCapture?: import("react").ReactEventHandler<TTag> | undefined;
199
+ onWaiting?: import("react").ReactEventHandler<TTag> | undefined;
200
+ onWaitingCapture?: import("react").ReactEventHandler<TTag> | undefined;
201
+ onAuxClick?: import("react").MouseEventHandler<TTag> | undefined;
202
+ onAuxClickCapture?: import("react").MouseEventHandler<TTag> | undefined;
203
+ onClickCapture?: import("react").MouseEventHandler<TTag> | undefined;
204
+ onContextMenu?: import("react").MouseEventHandler<TTag> | undefined;
205
+ onContextMenuCapture?: import("react").MouseEventHandler<TTag> | undefined;
206
+ onDoubleClick?: import("react").MouseEventHandler<TTag> | undefined;
207
+ onDoubleClickCapture?: import("react").MouseEventHandler<TTag> | undefined;
208
+ onDragCapture?: import("react").DragEventHandler<TTag> | undefined;
209
+ onDragEndCapture?: import("react").DragEventHandler<TTag> | undefined;
210
+ onDragEnter?: import("react").DragEventHandler<TTag> | undefined;
211
+ onDragEnterCapture?: import("react").DragEventHandler<TTag> | undefined;
212
+ onDragExit?: import("react").DragEventHandler<TTag> | undefined;
213
+ onDragExitCapture?: import("react").DragEventHandler<TTag> | undefined;
214
+ onDragLeave?: import("react").DragEventHandler<TTag> | undefined;
215
+ onDragLeaveCapture?: import("react").DragEventHandler<TTag> | undefined;
216
+ onDragOver?: import("react").DragEventHandler<TTag> | undefined;
217
+ onDragOverCapture?: import("react").DragEventHandler<TTag> | undefined;
218
+ onDragStartCapture?: import("react").DragEventHandler<TTag> | undefined;
219
+ onDrop?: import("react").DragEventHandler<TTag> | undefined;
220
+ onDropCapture?: import("react").DragEventHandler<TTag> | undefined;
221
+ onMouseDown?: import("react").MouseEventHandler<TTag> | undefined;
222
+ onMouseDownCapture?: import("react").MouseEventHandler<TTag> | undefined;
223
+ onMouseEnter?: import("react").MouseEventHandler<TTag> | undefined;
224
+ onMouseLeave?: import("react").MouseEventHandler<TTag> | undefined;
225
+ onMouseMove?: import("react").MouseEventHandler<TTag> | undefined;
226
+ onMouseMoveCapture?: import("react").MouseEventHandler<TTag> | undefined;
227
+ onMouseOut?: import("react").MouseEventHandler<TTag> | undefined;
228
+ onMouseOutCapture?: import("react").MouseEventHandler<TTag> | undefined;
229
+ onMouseOver?: import("react").MouseEventHandler<TTag> | undefined;
230
+ onMouseOverCapture?: import("react").MouseEventHandler<TTag> | undefined;
231
+ onMouseUp?: import("react").MouseEventHandler<TTag> | undefined;
232
+ onMouseUpCapture?: import("react").MouseEventHandler<TTag> | undefined;
233
+ onSelect?: import("react").ReactEventHandler<TTag> | undefined;
234
+ onSelectCapture?: import("react").ReactEventHandler<TTag> | undefined;
235
+ onTouchCancel?: import("react").TouchEventHandler<TTag> | undefined;
236
+ onTouchCancelCapture?: import("react").TouchEventHandler<TTag> | undefined;
237
+ onTouchEnd?: import("react").TouchEventHandler<TTag> | undefined;
238
+ onTouchEndCapture?: import("react").TouchEventHandler<TTag> | undefined;
239
+ onTouchMove?: import("react").TouchEventHandler<TTag> | undefined;
240
+ onTouchMoveCapture?: import("react").TouchEventHandler<TTag> | undefined;
241
+ onTouchStart?: import("react").TouchEventHandler<TTag> | undefined;
242
+ onTouchStartCapture?: import("react").TouchEventHandler<TTag> | undefined;
243
+ onPointerDown?: import("react").PointerEventHandler<TTag> | undefined;
244
+ onPointerDownCapture?: import("react").PointerEventHandler<TTag> | undefined;
245
+ onPointerMove?: import("react").PointerEventHandler<TTag> | undefined;
246
+ onPointerMoveCapture?: import("react").PointerEventHandler<TTag> | undefined;
247
+ onPointerUp?: import("react").PointerEventHandler<TTag> | undefined;
248
+ onPointerUpCapture?: import("react").PointerEventHandler<TTag> | undefined;
249
+ onPointerCancel?: import("react").PointerEventHandler<TTag> | undefined;
250
+ onPointerCancelCapture?: import("react").PointerEventHandler<TTag> | undefined;
251
+ onPointerEnter?: import("react").PointerEventHandler<TTag> | undefined;
252
+ onPointerLeave?: import("react").PointerEventHandler<TTag> | undefined;
253
+ onPointerOver?: import("react").PointerEventHandler<TTag> | undefined;
254
+ onPointerOverCapture?: import("react").PointerEventHandler<TTag> | undefined;
255
+ onPointerOut?: import("react").PointerEventHandler<TTag> | undefined;
256
+ onPointerOutCapture?: import("react").PointerEventHandler<TTag> | undefined;
257
+ onGotPointerCapture?: import("react").PointerEventHandler<TTag> | undefined;
258
+ onGotPointerCaptureCapture?: import("react").PointerEventHandler<TTag> | undefined;
259
+ onLostPointerCapture?: import("react").PointerEventHandler<TTag> | undefined;
260
+ onLostPointerCaptureCapture?: import("react").PointerEventHandler<TTag> | undefined;
261
+ onScroll?: import("react").UIEventHandler<TTag> | undefined;
262
+ onScrollCapture?: import("react").UIEventHandler<TTag> | undefined;
263
+ onScrollEnd?: import("react").UIEventHandler<TTag> | undefined;
264
+ onScrollEndCapture?: import("react").UIEventHandler<TTag> | undefined;
265
+ onWheel?: import("react").WheelEventHandler<TTag> | undefined;
266
+ onWheelCapture?: import("react").WheelEventHandler<TTag> | undefined;
267
+ onAnimationStartCapture?: import("react").AnimationEventHandler<TTag> | undefined;
268
+ onAnimationEnd?: import("react").AnimationEventHandler<TTag> | undefined;
269
+ onAnimationEndCapture?: import("react").AnimationEventHandler<TTag> | undefined;
270
+ onAnimationIteration?: import("react").AnimationEventHandler<TTag> | undefined;
271
+ onAnimationIterationCapture?: import("react").AnimationEventHandler<TTag> | undefined;
272
+ onToggle?: import("react").ToggleEventHandler<TTag> | undefined;
273
+ onBeforeToggle?: import("react").ToggleEventHandler<TTag> | undefined;
274
+ onTransitionCancel?: import("react").TransitionEventHandler<TTag> | undefined;
275
+ onTransitionCancelCapture?: import("react").TransitionEventHandler<TTag> | undefined;
276
+ onTransitionEnd?: import("react").TransitionEventHandler<TTag> | undefined;
277
+ onTransitionEndCapture?: import("react").TransitionEventHandler<TTag> | undefined;
278
+ onTransitionRun?: import("react").TransitionEventHandler<TTag> | undefined;
279
+ onTransitionRunCapture?: import("react").TransitionEventHandler<TTag> | undefined;
280
+ onTransitionStart?: import("react").TransitionEventHandler<TTag> | undefined;
281
+ onTransitionStartCapture?: import("react").TransitionEventHandler<TTag> | undefined;
282
+ className: string;
283
+ }, string | import("react").JSXElementConstructor<any>>;
284
+ export declare namespace BentoLayout {
285
+ type Props<TTag extends HTMLElements.Standard.Container> = Omit<HTMLAttributes<TTag>, 'children'> & {
286
+ as: TTag;
287
+ children: ReadonlyArray<ReactElement>;
288
+ };
289
+ }
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ var __rest = (this && this.__rest) || function (s, e) {
3
+ var t = {};
4
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
5
+ t[p] = s[p];
6
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
7
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
8
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
9
+ t[p[i]] = s[p[i]];
10
+ }
11
+ return t;
12
+ };
13
+ var __importDefault = (this && this.__importDefault) || function (mod) {
14
+ return (mod && mod.__esModule) ? mod : { "default": mod };
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.BentoLayout = BentoLayout;
18
+ const classnames_1 = __importDefault(require("classnames"));
19
+ const react_1 = require("react");
20
+ // component
21
+ function BentoLayout(_a) {
22
+ var { as, className, children } = _a, props = __rest(_a, ["as", "className", "children"]);
23
+ // render
24
+ return (0, react_1.createElement)(as, Object.assign({ className: (0, classnames_1.default)(className, 'nd-BentoLayout') }, props), children);
25
+ }
@@ -1,3 +1,4 @@
1
+ export * from './BentoLayout';
1
2
  export * from './CardLayout';
2
3
  export * from './BrickLayout';
3
4
  export * from './FlexWrapLayout';
@@ -14,6 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./BentoLayout"), exports);
17
18
  __exportStar(require("./CardLayout"), exports);
18
19
  __exportStar(require("./BrickLayout"), exports);
19
20
  __exportStar(require("./FlexWrapLayout"), exports);
@@ -333,7 +333,6 @@ var BlockPanel;
333
333
  if (panelCount > 1) {
334
334
  configSchema['contentAlign'] = schema_1.ItemAlignment.Vertical.schema.rename('Content Alignment').optional();
335
335
  }
336
- console.debug('[BlockPanel/getConfigSchema] created schema', configSchema);
337
336
  // return
338
337
  return configSchema;
339
338
  }
@@ -435,9 +434,8 @@ var BlockPanel;
435
434
  if (panelCount < 2) {
436
435
  delete updatedConfigSchema.layout;
437
436
  }
438
- // FIXME: add missing layout config
439
437
  // create default config
440
- const defaultConfig = Object.assign(Object.assign(Object.assign({ theme: funnel_core_1.Schema.EnumField.Value.toData('default'), contentAlign: funnel_core_1.Schema.EnumField.Value.toData('start') }, messageConfig === null || messageConfig === void 0 ? void 0 : messageConfig.defaultConfig), visualConfig === null || visualConfig === void 0 ? void 0 : visualConfig.defaultConfig), listConfig === null || listConfig === void 0 ? void 0 : listConfig.defaultConfig);
438
+ const defaultConfig = Object.assign(Object.assign(Object.assign(Object.assign({ theme: funnel_core_1.Schema.EnumField.Value.toData('default'), contentAlign: funnel_core_1.Schema.EnumField.Value.toData('start') }, messageConfig === null || messageConfig === void 0 ? void 0 : messageConfig.defaultConfig), visualConfig === null || visualConfig === void 0 ? void 0 : visualConfig.defaultConfig), listConfig === null || listConfig === void 0 ? void 0 : listConfig.defaultConfig), { layout: layoutSchema.defaultOption, slotVariation: slotVariationSchema.defaultOption });
441
439
  // create new config
442
440
  const updatedConfig = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, config), messageConfig === null || messageConfig === void 0 ? void 0 : messageConfig.config), visualConfig === null || visualConfig === void 0 ? void 0 : visualConfig.config), listConfig === null || listConfig === void 0 ? void 0 : listConfig.config), { layout: funnel_core_1.Schema.EnumField.Value.toData(layout), slotVariation: funnel_core_1.Schema.EnumField.Value.toData(slotVariation) });
443
441
  // return config
@@ -3,7 +3,7 @@ import { ReactNode } from 'react';
3
3
  import { HTMLElements } from '../../types';
4
4
  import { ItemAlignment, ItemSize, ListPanelLayout } from '../schema';
5
5
  import { BlockPanel } from './BlockPanel';
6
- export declare function ListPanel<TItem extends ListPanel.Item>({ as, className, panel, layout, items, overrides, children }: ListPanel.Props<TItem>): import("react/jsx-runtime").JSX.Element;
6
+ export declare function ListPanel<TItem extends ListPanel.Item>({ as, className, panel, layout, items, layoutConfigs, children }: ListPanel.Props<TItem>): import("react/jsx-runtime").JSX.Element;
7
7
  export declare namespace ListPanel {
8
8
  namespace Config {
9
9
  type Key<TPrefix extends string = string> = Key.HorizontalAlign<TPrefix> | Key.VerticalAlign<TPrefix> | Key.Width<TPrefix>;
@@ -35,13 +35,13 @@ export declare namespace ListPanel {
35
35
  panel: BlockLayout.List;
36
36
  layout: ListPanelLayout;
37
37
  items: ReadonlyArray<TItem>;
38
- overrides?: Overrides;
38
+ layoutConfigs?: LayoutConfigs;
39
39
  children: Transform<TItem, ReactNode>;
40
40
  };
41
41
  namespace Props {
42
- type Configuration = Pick<Partial<Props<any>>, 'className' | 'layout' | 'overrides'>;
42
+ type Configuration = Pick<Partial<Props<any>>, 'className' | 'layout' | 'layoutConfigs'>;
43
43
  }
44
- type Overrides = {
44
+ type LayoutConfigs = {
45
45
  [TKey in keyof ListPanelLayout.Configs]?: Partial<ListPanelLayout.Configs[TKey]>;
46
46
  };
47
47
  namespace GetConfig {
@@ -8,11 +8,12 @@ const jsx_runtime_1 = require("react/jsx-runtime");
8
8
  const funnel_core_1 = require("@nascentdigital/funnel-core");
9
9
  const classnames_1 = __importDefault(require("classnames"));
10
10
  const react_1 = require("react");
11
+ const refs_1 = require("../../client/refs");
11
12
  const layouts_1 = require("../layouts");
12
13
  const schema_1 = require("../schema");
13
14
  const BlockPanel_1 = require("./BlockPanel");
14
15
  // component
15
- function ListPanel({ as = 'ul', className, panel, layout, items, overrides = {}, children }) {
16
+ function ListPanel({ as = 'ul', className, panel, layout, items, layoutConfigs = {}, children }) {
16
17
  // render items (or placeholder)
17
18
  const itemsComponent = items.length > 0
18
19
  ?
@@ -20,10 +21,13 @@ function ListPanel({ as = 'ul', className, panel, layout, items, overrides = {},
20
21
  :
21
22
  funnel_core_1.ArrayUtils.series(panel.itemCount.base - 1).map(num => (0, jsx_runtime_1.jsx)(ListPanel.ItemPlaceholder, {}, num));
22
23
  // build layout options
23
- const { brick, brickFlipped, card, flexWrap, grid, horizontalStack, verticalStack, } = overrides;
24
+ const { brick, brickFlipped, card, carousel, flexWrap, grid, horizontalStack, masonry, verticalStack } = layoutConfigs;
24
25
  // render layout
25
26
  let layoutComponent;
26
27
  switch (layout) {
28
+ case 'bento':
29
+ layoutComponent = ((0, jsx_runtime_1.jsx)(layouts_1.BentoLayout, { as: as, children: itemsComponent }));
30
+ break;
27
31
  case 'brick':
28
32
  layoutComponent = ((0, jsx_runtime_1.jsx)(layouts_1.BrickLayout, Object.assign({ as: as }, brick, { children: itemsComponent })));
29
33
  break;
@@ -33,6 +37,9 @@ function ListPanel({ as = 'ul', className, panel, layout, items, overrides = {},
33
37
  case 'card':
34
38
  layoutComponent = ((0, jsx_runtime_1.jsx)(layouts_1.CardLayout, Object.assign({ as: as }, card, { children: itemsComponent })));
35
39
  break;
40
+ case 'carousel':
41
+ layoutComponent = ((0, jsx_runtime_1.jsx)(refs_1.Carousel, Object.assign({ className: "nd-CarouselLayout" }, carousel, { children: itemsComponent })));
42
+ break;
36
43
  case 'flexWrap':
37
44
  layoutComponent = ((0, jsx_runtime_1.jsx)(layouts_1.FlexWrapLayout, Object.assign({ as: as }, flexWrap, { children: itemsComponent })));
38
45
  break;
@@ -42,8 +49,12 @@ function ListPanel({ as = 'ul', className, panel, layout, items, overrides = {},
42
49
  case 'horizontalStack':
43
50
  layoutComponent = ((0, jsx_runtime_1.jsx)(layouts_1.StackLayout, Object.assign({ as: as, direction: "horizontal" }, horizontalStack, { children: itemsComponent })));
44
51
  break;
52
+ case 'masonry':
53
+ layoutComponent = ((0, jsx_runtime_1.jsx)(refs_1.MasonryLayout, Object.assign({}, masonry, { children: itemsComponent })));
54
+ break;
45
55
  case 'verticalStack':
46
56
  layoutComponent = ((0, jsx_runtime_1.jsx)(layouts_1.StackLayout, Object.assign({ as: as, direction: "vertical" }, verticalStack, { children: itemsComponent })));
57
+ break;
47
58
  }
48
59
  // render
49
60
  return ((0, jsx_runtime_1.jsx)("div", { className: (0, classnames_1.default)(className, '@container nd-ListPanel',
@@ -1,6 +1,6 @@
1
1
  import { BlockLayout, Schema } from '@nascentdigital/funnel-core';
2
2
  import { ReactNode } from 'react';
3
- import { Caption, Headline, Title } from '../fields';
3
+ import { CallToActions, Caption, Headline, Title } from '../fields';
4
4
  import { ItemAlignment, ItemSize, TextAlignment } from '../schema';
5
5
  import { BlockPanel } from './BlockPanel';
6
6
  export declare function MessagePanel({ className, panel, titleTag, title, headlineTag, headline, captionTag, caption, ctas: ctasRaw, textAlign, alignX, alignY, size, fullbleed, mobileOrder, decorator }: MessagePanel.Props): import("react/jsx-runtime").JSX.Element;
@@ -14,7 +14,7 @@ export declare namespace MessagePanel {
14
14
  headline?: Headline.Value;
15
15
  caption?: Caption.Value;
16
16
  captionTag?: Caption.Tag;
17
- ctas?: Schema.LinkField.LinkedValue | Fields.ctas.Value;
17
+ ctas?: Schema.LinkField.LinkedValue | CallToActions.Value;
18
18
  textAlign?: TextAlignment;
19
19
  decorator?: ReactNode;
20
20
  };
@@ -48,13 +48,9 @@ export declare namespace MessagePanel {
48
48
  const title: Schema.Optional<Schema.TextField>;
49
49
  const headline: Schema.Optional<Schema.RichTextField>;
50
50
  const caption: Schema.Optional<Schema.RichTextField>;
51
- const cta: Schema.LinkField;
52
51
  const ctas: Schema.Optional<Schema.ListField<{
53
52
  cta: Schema.LinkField;
54
53
  }>>;
55
- namespace ctas {
56
- type Value = Schema.Field.LinkedValue.ForOptionalType<typeof ctas>;
57
- }
58
54
  const all: {
59
55
  readonly title: Schema.Optional<Schema.TextField>;
60
56
  readonly headline: Schema.Optional<Schema.RichTextField>;
@@ -60,7 +60,7 @@ function MessagePanel({ className, panel, titleTag = 'span', title, headlineTag
60
60
  (0, jsx_runtime_1.jsx)(fields_1.Title, { className: "nd-MessagePanel-title", as: titleTag, title: title }), headline &&
61
61
  (0, jsx_runtime_1.jsx)(fields_1.Headline, { className: "nd-MessagePanel-headline", as: headlineTag, headline: headline }), caption &&
62
62
  (0, jsx_runtime_1.jsx)(fields_1.Caption, { className: "nd-MessagePanel-caption", as: captionTag, caption: caption }), ctas.length > 0 &&
63
- (0, jsx_runtime_1.jsx)("div", { className: "nd-MessagePanel-ctas", children: ctas.map(cta => (0, jsx_runtime_1.jsx)(fields_1.Link, { className: "nd-MessagePanel-cta", link: cta.value }, cta.id)) }), decorator &&
63
+ (0, jsx_runtime_1.jsx)(fields_1.CallToActions, { className: "nd-MessagePanel-ctas", ctas: ctas }), decorator &&
64
64
  (0, jsx_runtime_1.jsx)("div", { className: "nd-MessagePanel-decorator", children: decorator })] }) }));
65
65
  }
66
66
  // extension
@@ -110,14 +110,7 @@ function MessagePanel({ className, panel, titleTag = 'span', title, headlineTag
110
110
  }).optional();
111
111
  Fields.headline = fields_1.Headline.schema.optional();
112
112
  Fields.caption = fields_1.Caption.schema.optional();
113
- Fields.cta = funnel_core_1.Schema.Field.link({ name: 'Call to Action' });
114
- Fields.ctas = funnel_core_1.Schema.Field.list({
115
- name: 'CTAs',
116
- description: 'Add your call-to-actions in the order you\'d like them to appear *(these are optional)*.',
117
- itemTypes: { cta: Fields.cta },
118
- min: 1,
119
- max: 2
120
- }).optional();
113
+ Fields.ctas = fields_1.CallToActions.schema.optional();
121
114
  Fields.all = {
122
115
  title: Fields.title,
123
116
  headline: Fields.headline,
@@ -188,7 +181,6 @@ function MessagePanel({ className, panel, titleTag = 'span', title, headlineTag
188
181
  delete configSchema[keys.verticalAlign];
189
182
  }
190
183
  else if (flexDirection === 'y') {
191
- delete configSchema[keys.textAlign];
192
184
  delete configSchema[keys.width];
193
185
  delete configSchema[keys.horizontalAlign];
194
186
  }
@@ -199,8 +191,6 @@ function MessagePanel({ className, panel, titleTag = 'span', title, headlineTag
199
191
  newWidthSchema.isValidOption(width);
200
192
  width = newWidthSchema.isValidOption(width) ? width : 'full';
201
193
  // drop unnecessary config
202
- // drop unnecessary config
203
- delete configSchema[keys.textAlign];
204
194
  delete configSchema[keys.horizontalAlign];
205
195
  delete configSchema[keys.verticalAlign];
206
196
  }
@@ -1,25 +1,15 @@
1
1
  import { BlockLayout, Schema } from '@nascentdigital/funnel-core';
2
2
  import { ReactNode } from 'react';
3
- import { Person } from '../entities';
4
- import { Quote, Title } from '../fields';
5
- export declare function TestimonialPanel({ className, panel, layout, title, titleTag, quote, quoteTag, author, authorTag, ctas, decorator }: TestimonialPanel.Props): import("react/jsx-runtime").JSX.Element;
3
+ import { Client, Person } from '../entities';
4
+ import { CallToActions, Quote, Title } from '../fields';
5
+ export declare function TestimonialPanel({ className, panel, ...testimonialProps }: TestimonialPanel.Props): import("react/jsx-runtime").JSX.Element;
6
6
  export declare namespace TestimonialPanel {
7
- type Layout = 'companyQuoteAuthor' | 'quoteAuthor';
8
- type Props = {
7
+ type Props = Testimonial.Props & {
9
8
  className?: string;
10
9
  panel: BlockLayout.Message;
11
- layout?: Layout;
12
- titleTag?: Title.Tag;
13
- title?: Title.Value;
14
- quoteTag?: Quote.Tag;
15
- quote: Quote.Value;
16
- authorTag?: Person.Tag;
17
- author: Person.Value;
18
- ctas?: Fields.ctas.Value;
19
- decorator?: ReactNode;
20
10
  };
21
11
  namespace Props {
22
- type Configuration = Pick<Props, 'className' | 'layout' | 'titleTag' | 'quoteTag' | 'authorTag' | 'decorator'>;
12
+ type Configuration = Testimonial.Props.Configuration;
23
13
  }
24
14
  namespace Fields {
25
15
  const title: Schema.Optional<Schema.TextField>;
@@ -36,12 +26,48 @@ export declare namespace TestimonialPanel {
36
26
  location: Schema.Optional<Schema.TextField>;
37
27
  picture: Schema.Optional<Schema.AssetField<Schema.AssetField.LinkedValue.Image>>;
38
28
  }>>;
39
- const cta: Schema.LinkField;
40
29
  const ctas: Schema.Optional<Schema.ListField<{
41
30
  cta: Schema.LinkField;
42
31
  }>>;
43
- namespace ctas {
44
- type Value = Schema.Field.LinkedValue.ForOptionalType<typeof ctas>;
32
+ const all: {
33
+ readonly title: Schema.Optional<Schema.TextField>;
34
+ readonly quote: Schema.RichTextField;
35
+ readonly author: Schema.CollectionField<Schema.Collection<{
36
+ title: Schema.Optional<Schema.TextField>;
37
+ company: Schema.Optional<Schema.CollectionField<Schema.Collection<{
38
+ division: Schema.Optional<Schema.TextField>;
39
+ location: Schema.Optional<Schema.TextField>;
40
+ logo: Schema.Optional<Schema.AssetField<Schema.AssetField.LinkedValue.Visual>>;
41
+ badge: Schema.Optional<Schema.AssetField<Schema.AssetField.LinkedValue.Image>>;
42
+ badgeText: Schema.Optional<Schema.TextField>;
43
+ }>>>;
44
+ location: Schema.Optional<Schema.TextField>;
45
+ picture: Schema.Optional<Schema.AssetField<Schema.AssetField.LinkedValue.Image>>;
46
+ }>>;
47
+ readonly ctas: Schema.Optional<Schema.ListField<{
48
+ cta: Schema.LinkField;
49
+ }>>;
50
+ };
51
+ }
52
+ function Testimonial({ className, layout, titleTag, title, quoteTag, quote, authorTag, author, ctas, companyDisplayFields, decorator }: Testimonial.Props): import("react/jsx-runtime").JSX.Element;
53
+ namespace Testimonial {
54
+ type Layout = 'companyQuoteAuthor' | 'quoteAuthor';
55
+ type Props = {
56
+ className?: string;
57
+ layout?: Layout;
58
+ titleTag?: Title.Tag;
59
+ title?: Title.Value;
60
+ quoteTag?: Quote.Tag;
61
+ quote: Quote.Value;
62
+ authorTag?: Person.Tag;
63
+ author: Person.Value;
64
+ ctas?: CallToActions.Value;
65
+ companyDisplayFields?: Client.DisplayFields.Id[];
66
+ decorator?: ReactNode;
67
+ };
68
+ namespace Props {
69
+ type Configuration = Pick<Props, 'className' | 'layout' | 'titleTag' | 'quoteTag' | 'authorTag' | 'companyDisplayFields' | 'decorator'>;
45
70
  }
71
+ function Placeholder(): import("react/jsx-runtime").JSX.Element;
46
72
  }
47
73
  }