@nascentdigital/funnel-ui 4.5.0 → 4.5.1
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/server/blocks/Block.d.ts +11 -11
- package/dist/server/blocks/Clients.d.ts +3 -2
- package/dist/server/blocks/MediaLayout.d.ts +11 -307
- package/dist/server/blocks/MediaLayout.js +30 -95
- package/dist/server/blocks/Message.d.ts +2 -2
- package/dist/server/blocks/Outcome.d.ts +3 -2
- package/dist/server/blocks/OutcomeDetail.d.ts +5 -2
- package/dist/server/blocks/ValueProp.d.ts +3 -2
- package/dist/server/blocks/summary/Statement.d.ts +1 -1
- package/dist/server/blocks/summary/Summary.d.ts +3 -2
- package/dist/server/entities/Client.d.ts +1 -1
- package/dist/server/entities/UniqueSellingPoint.d.ts +1 -1
- package/dist/server/panels/BlockPanel.d.ts +16 -0
- package/dist/server/panels/BlockPanel.js +67 -42
- package/dist/server/panels/ListPanel.d.ts +2 -1
- package/dist/server/panels/ListPanel.js +21 -11
- package/dist/server/panels/MessagePanel.d.ts +3 -1
- package/dist/server/panels/MessagePanel.js +40 -11
- package/dist/server/panels/VisualPanel.d.ts +1 -0
- package/dist/server/panels/VisualPanel.js +10 -1
- package/package.json +2 -2
|
@@ -14,10 +14,10 @@ export declare namespace Block {
|
|
|
14
14
|
className?: string;
|
|
15
15
|
panel: BlockLayout.Panel;
|
|
16
16
|
};
|
|
17
|
-
function create<TMessage extends boolean | undefined = undefined, TVisual extends boolean | undefined = undefined, TList extends Schema.ListField | undefined = undefined, TExtend extends Schema.Block.Config = Schema.Block.Config>(args: Create.Args<TMessage, TVisual, TList, TExtend>): Create.Result<TMessage, TVisual, TList, TExtend>;
|
|
17
|
+
function create<TBlockId extends string, TMessage extends boolean | undefined = undefined, TVisual extends boolean | undefined = undefined, TList extends Schema.ListField | undefined = undefined, TExtend extends Schema.Block.Config = Schema.Block.Config, TItemProps = any>(args: Create.Args<TBlockId, TMessage, TVisual, TList, TExtend, TItemProps>): Create.Result<TBlockId, TMessage, TVisual, TList, TExtend, TItemProps>;
|
|
18
18
|
namespace Create {
|
|
19
|
-
type Args<TMessage extends boolean | undefined, TVisual extends boolean | undefined, TList extends Schema.ListField | undefined, TExtend extends Schema.Block.Config> = {
|
|
20
|
-
id:
|
|
19
|
+
type Args<TBlockId extends string, TMessage extends boolean | undefined, TVisual extends boolean | undefined, TList extends Schema.ListField | undefined, TExtend extends Schema.Block.Config, TItemProps> = {
|
|
20
|
+
id: TBlockId;
|
|
21
21
|
name: string;
|
|
22
22
|
version: number;
|
|
23
23
|
className?: string;
|
|
@@ -25,30 +25,30 @@ export declare namespace Block {
|
|
|
25
25
|
visual?: TVisual;
|
|
26
26
|
list?: {
|
|
27
27
|
schema: TList;
|
|
28
|
-
itemRenderer: TList extends Schema.ListField<infer TContent> ? (item: Schema.ListField.LinkedValue.ForItem<TContent>, itemProps:
|
|
28
|
+
itemRenderer: TList extends Schema.ListField<infer TContent> ? (item: Schema.ListField.LinkedValue.ForItem<TContent>, itemProps: TItemProps) => ReactNode : never;
|
|
29
29
|
};
|
|
30
30
|
extendConfigSchema?: TExtend;
|
|
31
31
|
};
|
|
32
|
-
type Result<TMessage extends boolean | undefined, TVisual extends boolean | undefined, TList extends Schema.ListField | undefined, TExtend extends Schema.Block.Config> = {
|
|
33
|
-
Component: FunctionComponent<Result.Component<TMessage, TVisual, TList, TExtend>>;
|
|
34
|
-
schema: Result.Schema<TMessage, TVisual, TList, TExtend>;
|
|
32
|
+
type Result<TBlockId extends string, TMessage extends boolean | undefined, TVisual extends boolean | undefined, TList extends Schema.ListField | undefined, TExtend extends Schema.Block.Config, TItemProps> = {
|
|
33
|
+
Component: FunctionComponent<Result.Component<TBlockId, TMessage, TVisual, TList, TExtend, TItemProps>>;
|
|
34
|
+
schema: Result.Schema<TBlockId, TMessage, TVisual, TList, TExtend>;
|
|
35
35
|
};
|
|
36
36
|
namespace Result {
|
|
37
37
|
type FieldsSchema<TMessage extends boolean | undefined, TVisual extends boolean | undefined, TList extends Schema.ListField | undefined> = ((TMessage extends true ? typeof MessagePanel.Fields.all : {}) & (TVisual extends true ? typeof VisualPanel.Fields.all : {}) & (TList extends Schema.ListField ? {
|
|
38
38
|
list: TList;
|
|
39
39
|
} : {}));
|
|
40
40
|
type ConfigSchema<TMessage extends boolean | undefined, TVisual extends boolean | undefined, TList extends Schema.ListField | undefined, TExtend extends Schema.Block.Config, TFields extends FieldsSchema<TMessage, TVisual, TList> = FieldsSchema<TMessage, TVisual, TList>> = BlockPanel.GetConfigSchema.Result<TFields, TMessage extends true ? 'message' : undefined, TVisual extends true ? 'visual' extends Schema.Fields.AssetFields.Keys<TFields> ? 'visual' : undefined : undefined, TList extends Schema.ListField ? 'list' extends Schema.Fields.ListFields.Keys<TFields> ? 'list' : undefined : undefined, TExtend>;
|
|
41
|
-
type Schema<TMessage extends boolean | undefined, TVisual extends boolean | undefined, TList extends Schema.ListField | undefined, TExtend extends Schema.Block.Config> = Schema.Block<
|
|
42
|
-
type Component<TMessage extends boolean | undefined, TVisual extends boolean | undefined, TList extends Schema.ListField | undefined, TExtend extends Schema.Block.Config> = {
|
|
41
|
+
type Schema<TBlockId extends string, TMessage extends boolean | undefined, TVisual extends boolean | undefined, TList extends Schema.ListField | undefined, TExtend extends Schema.Block.Config> = Schema.Block<TBlockId, FieldsSchema<TMessage, TVisual, TList>, ConfigSchema<TMessage, TVisual, TList, TExtend>>;
|
|
42
|
+
type Component<TBlockId extends string, TMessage extends boolean | undefined, TVisual extends boolean | undefined, TList extends Schema.ListField | undefined, TExtend extends Schema.Block.Config, TItemProps> = {
|
|
43
43
|
className?: string;
|
|
44
|
-
model: Schema.Block.LinkedData<Schema<TMessage, TVisual, TList, TExtend>>;
|
|
44
|
+
model: Schema.Block.LinkedData<Schema<TBlockId, TMessage, TVisual, TList, TExtend>>;
|
|
45
45
|
} & ((TMessage extends true ? {
|
|
46
46
|
messagePanelProps?: MessagePanel.Props.Configuration;
|
|
47
47
|
} : {}) & (TVisual extends true ? {
|
|
48
48
|
visualPanelProps?: VisualPanel.Props.Configuration;
|
|
49
49
|
} : {}) & (TList extends Schema.ListField ? {
|
|
50
50
|
listPanelProps?: ListPanel.Props.Configuration & {
|
|
51
|
-
itemProps:
|
|
51
|
+
itemProps: TItemProps;
|
|
52
52
|
};
|
|
53
53
|
} : {}));
|
|
54
54
|
}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { Schema } from '@nascentdigital/funnel-core';
|
|
2
2
|
import { ComponentProps } from 'react';
|
|
3
|
+
import { Client } from '../entities';
|
|
3
4
|
import { Block } from './Block';
|
|
4
5
|
export declare function Clients(props: ComponentProps<typeof Clients.Component>): import("react/jsx-runtime").JSX.Element;
|
|
5
6
|
export declare namespace Clients {
|
|
6
|
-
const Component: import("react").FunctionComponent<Block.Create.Result.Component<true, undefined, Schema.ListField<{
|
|
7
|
+
const Component: import("react").FunctionComponent<Block.Create.Result.Component<"_nd-clients", true, undefined, Schema.ListField<{
|
|
7
8
|
item: Schema.CollectionField<Schema.Collection<{
|
|
8
9
|
division: Schema.Optional<Schema.TextField>;
|
|
9
10
|
location: Schema.Optional<Schema.TextField>;
|
|
@@ -11,7 +12,7 @@ export declare namespace Clients {
|
|
|
11
12
|
badge: Schema.Optional<Schema.AssetField<Schema.AssetField.LinkedValue.Image>>;
|
|
12
13
|
badgeText: Schema.Optional<Schema.TextField>;
|
|
13
14
|
}>>;
|
|
14
|
-
}>, Schema.Block.Config>>, schema: Block.Create.Result.Schema<true, undefined, Schema.ListField<{
|
|
15
|
+
}>, Schema.Block.Config, Client.Props.Configuration>>, schema: Block.Create.Result.Schema<"_nd-clients", true, undefined, Schema.ListField<{
|
|
15
16
|
item: Schema.CollectionField<Schema.Collection<{
|
|
16
17
|
division: Schema.Optional<Schema.TextField>;
|
|
17
18
|
location: Schema.Optional<Schema.TextField>;
|
|
@@ -1,314 +1,18 @@
|
|
|
1
1
|
import { Schema } from '@nascentdigital/funnel-core';
|
|
2
|
-
import {
|
|
2
|
+
import { ComponentProps, JSXElementConstructor } from 'react';
|
|
3
3
|
import { EmbeddedVideo } from '../../client/refs';
|
|
4
|
-
import {
|
|
5
|
-
|
|
6
|
-
export declare function MediaLayout<T extends MediaLayout.Tag>({ className, as, EmbeddedVideoElement, layout, ...props }: MediaLayout.Props<T>): import("react").DetailedReactHTMLElement<{
|
|
7
|
-
prefix?: string | undefined | undefined;
|
|
8
|
-
content?: string | undefined | undefined;
|
|
9
|
-
translate?: "yes" | "no" | undefined | undefined;
|
|
10
|
-
color?: string | undefined | undefined;
|
|
11
|
-
id?: string | undefined | undefined;
|
|
12
|
-
onClick?: import("react").MouseEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
13
|
-
slot?: string | undefined | undefined;
|
|
14
|
-
style?: import("react").CSSProperties | undefined;
|
|
15
|
-
title?: string | undefined | undefined;
|
|
16
|
-
onAnimationStart?: import("react").AnimationEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
17
|
-
onDragStart?: import("react").DragEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
18
|
-
onDragEnd?: import("react").DragEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
19
|
-
onDrag?: import("react").DragEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
20
|
-
defaultChecked?: boolean | undefined | undefined;
|
|
21
|
-
defaultValue?: string | number | readonly string[] | undefined;
|
|
22
|
-
suppressContentEditableWarning?: boolean | undefined | undefined;
|
|
23
|
-
suppressHydrationWarning?: boolean | undefined | undefined;
|
|
24
|
-
accessKey?: string | undefined | undefined;
|
|
25
|
-
autoCapitalize?: "off" | "none" | "on" | "sentences" | "words" | "characters" | undefined | (string & {}) | undefined;
|
|
26
|
-
autoFocus?: boolean | undefined | undefined;
|
|
27
|
-
contentEditable?: "inherit" | (boolean | "true" | "false") | "plaintext-only" | undefined;
|
|
28
|
-
contextMenu?: string | undefined | undefined;
|
|
29
|
-
dir?: string | undefined | undefined;
|
|
30
|
-
draggable?: (boolean | "true" | "false") | undefined;
|
|
31
|
-
enterKeyHint?: "enter" | "done" | "go" | "next" | "previous" | "search" | "send" | undefined | undefined;
|
|
32
|
-
hidden?: boolean | undefined | undefined;
|
|
33
|
-
lang?: string | undefined | undefined;
|
|
34
|
-
nonce?: string | undefined | undefined;
|
|
35
|
-
spellCheck?: (boolean | "true" | "false") | undefined;
|
|
36
|
-
tabIndex?: number | undefined | undefined;
|
|
37
|
-
radioGroup?: string | undefined | undefined;
|
|
38
|
-
role?: import("react").AriaRole | undefined;
|
|
39
|
-
about?: string | undefined | undefined;
|
|
40
|
-
datatype?: string | undefined | undefined;
|
|
41
|
-
inlist?: any;
|
|
42
|
-
property?: string | undefined | undefined;
|
|
43
|
-
rel?: string | undefined | undefined;
|
|
44
|
-
resource?: string | undefined | undefined;
|
|
45
|
-
rev?: string | undefined | undefined;
|
|
46
|
-
typeof?: string | undefined | undefined;
|
|
47
|
-
vocab?: string | undefined | undefined;
|
|
48
|
-
autoCorrect?: string | undefined | undefined;
|
|
49
|
-
autoSave?: string | undefined | undefined;
|
|
50
|
-
itemProp?: string | undefined | undefined;
|
|
51
|
-
itemScope?: boolean | undefined | undefined;
|
|
52
|
-
itemType?: string | undefined | undefined;
|
|
53
|
-
itemID?: string | undefined | undefined;
|
|
54
|
-
itemRef?: string | undefined | undefined;
|
|
55
|
-
results?: number | undefined | undefined;
|
|
56
|
-
security?: string | undefined | undefined;
|
|
57
|
-
unselectable?: "on" | "off" | undefined | undefined;
|
|
58
|
-
popover?: "" | "auto" | "manual" | "hint" | undefined | undefined;
|
|
59
|
-
popoverTargetAction?: "toggle" | "show" | "hide" | undefined | undefined;
|
|
60
|
-
popoverTarget?: string | undefined | undefined;
|
|
61
|
-
inert?: boolean | undefined | undefined;
|
|
62
|
-
inputMode?: "none" | "text" | "tel" | "url" | "email" | "numeric" | "decimal" | "search" | undefined | undefined;
|
|
63
|
-
is?: string | undefined | undefined;
|
|
64
|
-
exportparts?: string | undefined | undefined;
|
|
65
|
-
part?: string | undefined | undefined;
|
|
66
|
-
"aria-activedescendant"?: string | undefined | undefined;
|
|
67
|
-
"aria-atomic"?: (boolean | "true" | "false") | undefined;
|
|
68
|
-
"aria-autocomplete"?: "none" | "inline" | "list" | "both" | undefined | undefined;
|
|
69
|
-
"aria-braillelabel"?: string | undefined | undefined;
|
|
70
|
-
"aria-brailleroledescription"?: string | undefined | undefined;
|
|
71
|
-
"aria-busy"?: (boolean | "true" | "false") | undefined;
|
|
72
|
-
"aria-checked"?: boolean | "false" | "mixed" | "true" | undefined | undefined;
|
|
73
|
-
"aria-colcount"?: number | undefined | undefined;
|
|
74
|
-
"aria-colindex"?: number | undefined | undefined;
|
|
75
|
-
"aria-colindextext"?: string | undefined | undefined;
|
|
76
|
-
"aria-colspan"?: number | undefined | undefined;
|
|
77
|
-
"aria-controls"?: string | undefined | undefined;
|
|
78
|
-
"aria-current"?: boolean | "false" | "true" | "page" | "step" | "location" | "date" | "time" | undefined | undefined;
|
|
79
|
-
"aria-describedby"?: string | undefined | undefined;
|
|
80
|
-
"aria-description"?: string | undefined | undefined;
|
|
81
|
-
"aria-details"?: string | undefined | undefined;
|
|
82
|
-
"aria-disabled"?: (boolean | "true" | "false") | undefined;
|
|
83
|
-
"aria-dropeffect"?: "none" | "copy" | "execute" | "link" | "move" | "popup" | undefined | undefined;
|
|
84
|
-
"aria-errormessage"?: string | undefined | undefined;
|
|
85
|
-
"aria-expanded"?: (boolean | "true" | "false") | undefined;
|
|
86
|
-
"aria-flowto"?: string | undefined | undefined;
|
|
87
|
-
"aria-grabbed"?: (boolean | "true" | "false") | undefined;
|
|
88
|
-
"aria-haspopup"?: boolean | "false" | "true" | "menu" | "listbox" | "tree" | "grid" | "dialog" | undefined | undefined;
|
|
89
|
-
"aria-hidden"?: (boolean | "true" | "false") | undefined;
|
|
90
|
-
"aria-invalid"?: boolean | "false" | "true" | "grammar" | "spelling" | undefined | undefined;
|
|
91
|
-
"aria-keyshortcuts"?: string | undefined | undefined;
|
|
92
|
-
"aria-label"?: string | undefined | undefined;
|
|
93
|
-
"aria-labelledby"?: string | undefined | undefined;
|
|
94
|
-
"aria-level"?: number | undefined | undefined;
|
|
95
|
-
"aria-live"?: "off" | "assertive" | "polite" | undefined | undefined;
|
|
96
|
-
"aria-modal"?: (boolean | "true" | "false") | undefined;
|
|
97
|
-
"aria-multiline"?: (boolean | "true" | "false") | undefined;
|
|
98
|
-
"aria-multiselectable"?: (boolean | "true" | "false") | undefined;
|
|
99
|
-
"aria-orientation"?: "horizontal" | "vertical" | undefined | undefined;
|
|
100
|
-
"aria-owns"?: string | undefined | undefined;
|
|
101
|
-
"aria-placeholder"?: string | undefined | undefined;
|
|
102
|
-
"aria-posinset"?: number | undefined | undefined;
|
|
103
|
-
"aria-pressed"?: boolean | "false" | "mixed" | "true" | undefined | undefined;
|
|
104
|
-
"aria-readonly"?: (boolean | "true" | "false") | undefined;
|
|
105
|
-
"aria-relevant"?: "additions" | "additions removals" | "additions text" | "all" | "removals" | "removals additions" | "removals text" | "text" | "text additions" | "text removals" | undefined | undefined;
|
|
106
|
-
"aria-required"?: (boolean | "true" | "false") | undefined;
|
|
107
|
-
"aria-roledescription"?: string | undefined | undefined;
|
|
108
|
-
"aria-rowcount"?: number | undefined | undefined;
|
|
109
|
-
"aria-rowindex"?: number | undefined | undefined;
|
|
110
|
-
"aria-rowindextext"?: string | undefined | undefined;
|
|
111
|
-
"aria-rowspan"?: number | undefined | undefined;
|
|
112
|
-
"aria-selected"?: (boolean | "true" | "false") | undefined;
|
|
113
|
-
"aria-setsize"?: number | undefined | undefined;
|
|
114
|
-
"aria-sort"?: "none" | "ascending" | "descending" | "other" | undefined | undefined;
|
|
115
|
-
"aria-valuemax"?: number | undefined | undefined;
|
|
116
|
-
"aria-valuemin"?: number | undefined | undefined;
|
|
117
|
-
"aria-valuenow"?: number | undefined | undefined;
|
|
118
|
-
"aria-valuetext"?: string | undefined | undefined;
|
|
119
|
-
dangerouslySetInnerHTML?: {
|
|
120
|
-
__html: string | TrustedHTML;
|
|
121
|
-
} | undefined | undefined;
|
|
122
|
-
onCopy?: import("react").ClipboardEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
123
|
-
onCopyCapture?: import("react").ClipboardEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
124
|
-
onCut?: import("react").ClipboardEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
125
|
-
onCutCapture?: import("react").ClipboardEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
126
|
-
onPaste?: import("react").ClipboardEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
127
|
-
onPasteCapture?: import("react").ClipboardEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
128
|
-
onCompositionEnd?: import("react").CompositionEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
129
|
-
onCompositionEndCapture?: import("react").CompositionEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
130
|
-
onCompositionStart?: import("react").CompositionEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
131
|
-
onCompositionStartCapture?: import("react").CompositionEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
132
|
-
onCompositionUpdate?: import("react").CompositionEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
133
|
-
onCompositionUpdateCapture?: import("react").CompositionEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
134
|
-
onFocus?: import("react").FocusEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
135
|
-
onFocusCapture?: import("react").FocusEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
136
|
-
onBlur?: import("react").FocusEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
137
|
-
onBlurCapture?: import("react").FocusEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
138
|
-
onChange?: import("react").ChangeEventHandler<HTMLElements.Standard[T], Element> | undefined;
|
|
139
|
-
onChangeCapture?: import("react").ChangeEventHandler<HTMLElements.Standard[T], Element> | undefined;
|
|
140
|
-
onBeforeInput?: import("react").InputEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
141
|
-
onBeforeInputCapture?: import("react").InputEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
142
|
-
onInput?: import("react").InputEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
143
|
-
onInputCapture?: import("react").InputEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
144
|
-
onReset?: import("react").ReactEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
145
|
-
onResetCapture?: import("react").ReactEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
146
|
-
onSubmit?: import("react").SubmitEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
147
|
-
onSubmitCapture?: import("react").SubmitEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
148
|
-
onInvalid?: import("react").ReactEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
149
|
-
onInvalidCapture?: import("react").ReactEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
150
|
-
onLoad?: import("react").ReactEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
151
|
-
onLoadCapture?: import("react").ReactEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
152
|
-
onError?: import("react").ReactEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
153
|
-
onErrorCapture?: import("react").ReactEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
154
|
-
onKeyDown?: import("react").KeyboardEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
155
|
-
onKeyDownCapture?: import("react").KeyboardEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
156
|
-
onKeyPress?: import("react").KeyboardEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
157
|
-
onKeyPressCapture?: import("react").KeyboardEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
158
|
-
onKeyUp?: import("react").KeyboardEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
159
|
-
onKeyUpCapture?: import("react").KeyboardEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
160
|
-
onAbort?: import("react").ReactEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
161
|
-
onAbortCapture?: import("react").ReactEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
162
|
-
onCanPlay?: import("react").ReactEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
163
|
-
onCanPlayCapture?: import("react").ReactEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
164
|
-
onCanPlayThrough?: import("react").ReactEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
165
|
-
onCanPlayThroughCapture?: import("react").ReactEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
166
|
-
onDurationChange?: import("react").ReactEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
167
|
-
onDurationChangeCapture?: import("react").ReactEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
168
|
-
onEmptied?: import("react").ReactEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
169
|
-
onEmptiedCapture?: import("react").ReactEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
170
|
-
onEncrypted?: import("react").ReactEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
171
|
-
onEncryptedCapture?: import("react").ReactEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
172
|
-
onEnded?: import("react").ReactEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
173
|
-
onEndedCapture?: import("react").ReactEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
174
|
-
onLoadedData?: import("react").ReactEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
175
|
-
onLoadedDataCapture?: import("react").ReactEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
176
|
-
onLoadedMetadata?: import("react").ReactEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
177
|
-
onLoadedMetadataCapture?: import("react").ReactEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
178
|
-
onLoadStart?: import("react").ReactEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
179
|
-
onLoadStartCapture?: import("react").ReactEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
180
|
-
onPause?: import("react").ReactEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
181
|
-
onPauseCapture?: import("react").ReactEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
182
|
-
onPlay?: import("react").ReactEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
183
|
-
onPlayCapture?: import("react").ReactEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
184
|
-
onPlaying?: import("react").ReactEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
185
|
-
onPlayingCapture?: import("react").ReactEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
186
|
-
onProgress?: import("react").ReactEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
187
|
-
onProgressCapture?: import("react").ReactEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
188
|
-
onRateChange?: import("react").ReactEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
189
|
-
onRateChangeCapture?: import("react").ReactEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
190
|
-
onSeeked?: import("react").ReactEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
191
|
-
onSeekedCapture?: import("react").ReactEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
192
|
-
onSeeking?: import("react").ReactEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
193
|
-
onSeekingCapture?: import("react").ReactEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
194
|
-
onStalled?: import("react").ReactEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
195
|
-
onStalledCapture?: import("react").ReactEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
196
|
-
onSuspend?: import("react").ReactEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
197
|
-
onSuspendCapture?: import("react").ReactEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
198
|
-
onTimeUpdate?: import("react").ReactEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
199
|
-
onTimeUpdateCapture?: import("react").ReactEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
200
|
-
onVolumeChange?: import("react").ReactEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
201
|
-
onVolumeChangeCapture?: import("react").ReactEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
202
|
-
onWaiting?: import("react").ReactEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
203
|
-
onWaitingCapture?: import("react").ReactEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
204
|
-
onAuxClick?: import("react").MouseEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
205
|
-
onAuxClickCapture?: import("react").MouseEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
206
|
-
onClickCapture?: import("react").MouseEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
207
|
-
onContextMenu?: import("react").MouseEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
208
|
-
onContextMenuCapture?: import("react").MouseEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
209
|
-
onDoubleClick?: import("react").MouseEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
210
|
-
onDoubleClickCapture?: import("react").MouseEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
211
|
-
onDragCapture?: import("react").DragEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
212
|
-
onDragEndCapture?: import("react").DragEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
213
|
-
onDragEnter?: import("react").DragEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
214
|
-
onDragEnterCapture?: import("react").DragEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
215
|
-
onDragExit?: import("react").DragEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
216
|
-
onDragExitCapture?: import("react").DragEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
217
|
-
onDragLeave?: import("react").DragEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
218
|
-
onDragLeaveCapture?: import("react").DragEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
219
|
-
onDragOver?: import("react").DragEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
220
|
-
onDragOverCapture?: import("react").DragEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
221
|
-
onDragStartCapture?: import("react").DragEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
222
|
-
onDrop?: import("react").DragEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
223
|
-
onDropCapture?: import("react").DragEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
224
|
-
onMouseDown?: import("react").MouseEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
225
|
-
onMouseDownCapture?: import("react").MouseEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
226
|
-
onMouseEnter?: import("react").MouseEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
227
|
-
onMouseLeave?: import("react").MouseEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
228
|
-
onMouseMove?: import("react").MouseEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
229
|
-
onMouseMoveCapture?: import("react").MouseEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
230
|
-
onMouseOut?: import("react").MouseEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
231
|
-
onMouseOutCapture?: import("react").MouseEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
232
|
-
onMouseOver?: import("react").MouseEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
233
|
-
onMouseOverCapture?: import("react").MouseEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
234
|
-
onMouseUp?: import("react").MouseEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
235
|
-
onMouseUpCapture?: import("react").MouseEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
236
|
-
onSelect?: import("react").ReactEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
237
|
-
onSelectCapture?: import("react").ReactEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
238
|
-
onTouchCancel?: import("react").TouchEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
239
|
-
onTouchCancelCapture?: import("react").TouchEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
240
|
-
onTouchEnd?: import("react").TouchEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
241
|
-
onTouchEndCapture?: import("react").TouchEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
242
|
-
onTouchMove?: import("react").TouchEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
243
|
-
onTouchMoveCapture?: import("react").TouchEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
244
|
-
onTouchStart?: import("react").TouchEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
245
|
-
onTouchStartCapture?: import("react").TouchEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
246
|
-
onPointerDown?: import("react").PointerEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
247
|
-
onPointerDownCapture?: import("react").PointerEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
248
|
-
onPointerMove?: import("react").PointerEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
249
|
-
onPointerMoveCapture?: import("react").PointerEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
250
|
-
onPointerUp?: import("react").PointerEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
251
|
-
onPointerUpCapture?: import("react").PointerEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
252
|
-
onPointerCancel?: import("react").PointerEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
253
|
-
onPointerCancelCapture?: import("react").PointerEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
254
|
-
onPointerEnter?: import("react").PointerEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
255
|
-
onPointerLeave?: import("react").PointerEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
256
|
-
onPointerOver?: import("react").PointerEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
257
|
-
onPointerOverCapture?: import("react").PointerEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
258
|
-
onPointerOut?: import("react").PointerEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
259
|
-
onPointerOutCapture?: import("react").PointerEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
260
|
-
onGotPointerCapture?: import("react").PointerEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
261
|
-
onGotPointerCaptureCapture?: import("react").PointerEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
262
|
-
onLostPointerCapture?: import("react").PointerEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
263
|
-
onLostPointerCaptureCapture?: import("react").PointerEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
264
|
-
onScroll?: import("react").UIEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
265
|
-
onScrollCapture?: import("react").UIEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
266
|
-
onScrollEnd?: import("react").UIEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
267
|
-
onScrollEndCapture?: import("react").UIEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
268
|
-
onWheel?: import("react").WheelEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
269
|
-
onWheelCapture?: import("react").WheelEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
270
|
-
onAnimationStartCapture?: import("react").AnimationEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
271
|
-
onAnimationEnd?: import("react").AnimationEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
272
|
-
onAnimationEndCapture?: import("react").AnimationEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
273
|
-
onAnimationIteration?: import("react").AnimationEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
274
|
-
onAnimationIterationCapture?: import("react").AnimationEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
275
|
-
onToggle?: import("react").ToggleEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
276
|
-
onBeforeToggle?: import("react").ToggleEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
277
|
-
onTransitionCancel?: import("react").TransitionEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
278
|
-
onTransitionCancelCapture?: import("react").TransitionEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
279
|
-
onTransitionEnd?: import("react").TransitionEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
280
|
-
onTransitionEndCapture?: import("react").TransitionEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
281
|
-
onTransitionRun?: import("react").TransitionEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
282
|
-
onTransitionRunCapture?: import("react").TransitionEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
283
|
-
onTransitionStart?: import("react").TransitionEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
284
|
-
onTransitionStartCapture?: import("react").TransitionEventHandler<HTMLElements.Standard[T]> | undefined;
|
|
285
|
-
className: string;
|
|
286
|
-
}, HTMLElement> | null;
|
|
4
|
+
import { Block } from './Block';
|
|
5
|
+
export declare function MediaLayout({ EmbeddedVideoElement, listPanelProps, ...props }: MediaLayout.Props): import("react/jsx-runtime").JSX.Element;
|
|
287
6
|
export declare namespace MediaLayout {
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
visual: Schema.AssetField<Schema.AssetField.LinkedValue.Visual>;
|
|
297
|
-
embedded: Schema.EmbeddedVideoField;
|
|
298
|
-
}>;
|
|
299
|
-
}, BlockPanel.GetConfigSchema.Result<{
|
|
300
|
-
list: Schema.ListField<{
|
|
301
|
-
visual: Schema.AssetField<Schema.AssetField.LinkedValue.Visual>;
|
|
302
|
-
embedded: Schema.EmbeddedVideoField;
|
|
303
|
-
}>;
|
|
304
|
-
}, undefined, undefined, "list", {
|
|
305
|
-
mediaLayout: Schema.EnumField<Schema.EnumField.Options<Layout>>;
|
|
306
|
-
}>>;
|
|
307
|
-
type Props<T extends Tag> = Omit<HTMLAttributes<HTMLElements.Standard[T]>, 'children'> & {
|
|
308
|
-
as: T;
|
|
7
|
+
const Component: import("react").FunctionComponent<Block.Create.Result.Component<"_nd-mediaLayout", true, undefined, Schema.ListField<{
|
|
8
|
+
visual: Schema.AssetField<Schema.AssetField.LinkedValue.Visual>;
|
|
9
|
+
embedded: Schema.EmbeddedVideoField;
|
|
10
|
+
}>, Schema.Block.Config, any>>, schema: Block.Create.Result.Schema<"_nd-mediaLayout", true, undefined, Schema.ListField<{
|
|
11
|
+
visual: Schema.AssetField<Schema.AssetField.LinkedValue.Visual>;
|
|
12
|
+
embedded: Schema.EmbeddedVideoField;
|
|
13
|
+
}>, Schema.Block.Config>;
|
|
14
|
+
type Props = ComponentProps<typeof Component> & {
|
|
309
15
|
EmbeddedVideoElement?: JSXElementConstructor<EmbeddedVideo.Props>;
|
|
310
|
-
layout: Model;
|
|
311
16
|
};
|
|
312
|
-
type Tag = Exclude<HTMLElements.Standard.Container, 'ul' | 'ol' | 'li'>;
|
|
313
17
|
type Model = Schema.Block.LinkedData<typeof schema>;
|
|
314
18
|
}
|
|
@@ -10,115 +10,50 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
|
10
10
|
}
|
|
11
11
|
return t;
|
|
12
12
|
};
|
|
13
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
14
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
15
|
-
};
|
|
16
13
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
14
|
exports.MediaLayout = MediaLayout;
|
|
18
15
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
19
16
|
const funnel_core_1 = require("@nascentdigital/funnel-core");
|
|
20
|
-
const classnames_1 = __importDefault(require("classnames"));
|
|
21
|
-
const react_1 = require("react");
|
|
22
17
|
const refs_1 = require("../../client/refs");
|
|
23
18
|
const fields_1 = require("../fields");
|
|
24
19
|
const panels_1 = require("../panels");
|
|
25
|
-
const
|
|
20
|
+
const Block_1 = require("./Block");
|
|
26
21
|
// block
|
|
27
22
|
function MediaLayout(_a) {
|
|
28
|
-
var
|
|
29
|
-
var { className, as, EmbeddedVideoElement = refs_1.EmbeddedVideo, layout } = _a, props = __rest(_a, ["className", "as", "EmbeddedVideoElement", "layout"]);
|
|
30
|
-
// dont render if missing model
|
|
31
|
-
const { config, fields } = layout !== null && layout !== void 0 ? layout : {};
|
|
32
|
-
const items = (_c = (_b = fields === null || fields === void 0 ? void 0 : fields.list) === null || _b === void 0 ? void 0 : _b.value) !== null && _c !== void 0 ? _c : [];
|
|
33
|
-
if (!layout) {
|
|
34
|
-
console.warn('[MediaLayout] attempted to render without items model');
|
|
35
|
-
return null;
|
|
36
|
-
}
|
|
23
|
+
var { EmbeddedVideoElement = refs_1.EmbeddedVideo, listPanelProps } = _a, props = __rest(_a, ["EmbeddedVideoElement", "listPanelProps"]);
|
|
37
24
|
// render
|
|
38
|
-
return (0,
|
|
39
|
-
// MediaLayout.Layout.getClassName(config?.layout?.value),
|
|
40
|
-
schema_1.BlockConfig.Presets.ThemeOnly.getClassName(config)) }, props), (0, jsx_runtime_1.jsx)("div", { className: "nd-MediaLayout-content", children: items.map(({ schema, id, value: item }) => (0, jsx_runtime_1.jsx)("div", { className: "nd-MediaLayout-itemWrap", children: funnel_core_1.Schema.EmbeddedVideoField.Value.filter(item)
|
|
41
|
-
?
|
|
42
|
-
(0, jsx_runtime_1.jsx)(EmbeddedVideoElement, { className: "nd-MediaLayout-item", video: item })
|
|
43
|
-
:
|
|
44
|
-
(0, jsx_runtime_1.jsx)(fields_1.Visual, { className: "nd-MediaLayout-item", visual: item }) }, id)) }));
|
|
25
|
+
return ((0, jsx_runtime_1.jsx)(MediaLayout.Component, Object.assign({ listPanelProps: Object.assign(Object.assign({}, listPanelProps), { itemProps: { EmbeddedVideoElement } }) }, props)));
|
|
45
26
|
}
|
|
46
27
|
// extension
|
|
47
28
|
(function (MediaLayout) {
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
Layout.Enum = {
|
|
52
|
-
poster: { name: 'Poster', hint: 'A large/prominent presentation.' },
|
|
53
|
-
'1col': { name: '1 Column', hint: 'All visuals are put into a single column.' },
|
|
54
|
-
'2col': { name: '2 Column', hint: 'Split into 2 columns on larger screens.' },
|
|
55
|
-
brick: { name: 'Brick', hint: 'A masonry pattern.' },
|
|
56
|
-
brickAlt: { name: 'Brick (Flipped)', hint: 'An alternate masonary pattern (reversed direction).' }
|
|
57
|
-
};
|
|
58
|
-
// schema
|
|
59
|
-
Layout.schema = funnel_core_1.Schema.Field.enumeration({
|
|
60
|
-
name: 'Layout',
|
|
61
|
-
hint: 'Select a media layout',
|
|
62
|
-
description: 'Determine how your assets will be presented.',
|
|
63
|
-
options: Layout.Enum,
|
|
64
|
-
defaultOption: '1col'
|
|
65
|
-
});
|
|
66
|
-
// helpers
|
|
67
|
-
function getClassName(layout) {
|
|
68
|
-
switch (layout) {
|
|
69
|
-
case 'poster':
|
|
70
|
-
return 'nd-MediaLayout-layout-poster';
|
|
71
|
-
case '1col':
|
|
72
|
-
return 'nd-MediaLayout-layout-1col';
|
|
73
|
-
case '2col':
|
|
74
|
-
return 'nd-MediaLayout-layout-2col';
|
|
75
|
-
case 'brick':
|
|
76
|
-
return 'nd-MediaLayout-layout-brick';
|
|
77
|
-
case 'brickAlt':
|
|
78
|
-
return 'nd-MediaLayout-layout-brickAlt';
|
|
79
|
-
default:
|
|
80
|
-
console.warn('[MediaLayout] unrecognized layout:', layout);
|
|
81
|
-
return 'nd-MediaLayout-layout-poster';
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
Layout.getClassName = getClassName;
|
|
85
|
-
})(Layout = MediaLayout.Layout || (MediaLayout.Layout = {}));
|
|
86
|
-
const fieldsSchema = {
|
|
87
|
-
list: funnel_core_1.Schema.Field.list({
|
|
88
|
-
name: 'Assets',
|
|
89
|
-
description: 'Add one or more assets and then configure the layout.',
|
|
90
|
-
itemTypes: {
|
|
91
|
-
visual: panels_1.VisualPanel.Fields.visual.unwrap(),
|
|
92
|
-
embedded: funnel_core_1.Schema.Field.embeddedVideo({
|
|
93
|
-
name: 'Embedded Video',
|
|
94
|
-
description: 'A remote streaming video (e.g. YouTube)',
|
|
95
|
-
allowMuting: true
|
|
96
|
-
})
|
|
97
|
-
},
|
|
98
|
-
min: 1,
|
|
99
|
-
max: 20
|
|
100
|
-
})
|
|
101
|
-
};
|
|
102
|
-
const configSchema = panels_1.BlockPanel.getConfigSchema({
|
|
103
|
-
fields: fieldsSchema,
|
|
104
|
-
listKey: 'list',
|
|
105
|
-
extend: {
|
|
106
|
-
mediaLayout: Layout.schema
|
|
107
|
-
}
|
|
108
|
-
});
|
|
109
|
-
MediaLayout.schema = funnel_core_1.Schema.Block.create({
|
|
29
|
+
var _a;
|
|
30
|
+
// factory
|
|
31
|
+
_a = Block_1.Block.create({
|
|
110
32
|
id: '_nd-mediaLayout',
|
|
111
33
|
name: 'MediaLayout',
|
|
112
34
|
version: 1,
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
35
|
+
className: 'nd-MediaLayout',
|
|
36
|
+
message: true,
|
|
37
|
+
list: {
|
|
38
|
+
schema: funnel_core_1.Schema.Field.list({
|
|
39
|
+
name: 'Assets',
|
|
40
|
+
description: 'Add one or more assets and then configure the layout.',
|
|
41
|
+
itemTypes: {
|
|
42
|
+
visual: panels_1.VisualPanel.Fields.visual.unwrap(),
|
|
43
|
+
embedded: funnel_core_1.Schema.Field.embeddedVideo({
|
|
44
|
+
name: 'Embedded Video',
|
|
45
|
+
description: 'A remote streaming video (e.g. YouTube)',
|
|
46
|
+
allowMuting: true
|
|
47
|
+
})
|
|
48
|
+
},
|
|
49
|
+
min: 1,
|
|
50
|
+
max: 20
|
|
51
|
+
}),
|
|
52
|
+
itemRenderer: (item, { EmbeddedVideoElement }) => ((0, jsx_runtime_1.jsx)("div", { className: "nd-MediaLayout-itemWrap", children: funnel_core_1.Schema.EmbeddedVideoField.Value.filter(item.value)
|
|
53
|
+
?
|
|
54
|
+
(0, jsx_runtime_1.jsx)(EmbeddedVideoElement, { className: "nd-MediaLayout-item", video: item.value })
|
|
55
|
+
:
|
|
56
|
+
(0, jsx_runtime_1.jsx)(fields_1.Visual, { className: "nd-MediaLayout-item", visual: item.value }) }))
|
|
57
|
+
}
|
|
58
|
+
}), MediaLayout.Component = _a.Component, MediaLayout.schema = _a.schema;
|
|
124
59
|
})(MediaLayout || (exports.MediaLayout = MediaLayout = {}));
|
|
@@ -9,9 +9,9 @@ export declare namespace Message {
|
|
|
9
9
|
const schema: Schema.EnumField<Schema.EnumField.Options<Variant>>;
|
|
10
10
|
function getClassName(variant?: Variant): string;
|
|
11
11
|
}
|
|
12
|
-
const Component: import("react").FunctionComponent<Block.Create.Result.Component<true, true, undefined, {
|
|
12
|
+
const Component: import("react").FunctionComponent<Block.Create.Result.Component<"_nd-message", true, true, undefined, {
|
|
13
13
|
variant: Schema.EnumField<Schema.EnumField.Options<Variant>>;
|
|
14
|
-
}>>, schema: Block.Create.Result.Schema<true, true, undefined, {
|
|
14
|
+
}, any>>, schema: Block.Create.Result.Schema<"_nd-message", true, true, undefined, {
|
|
15
15
|
variant: Schema.EnumField<Schema.EnumField.Options<Variant>>;
|
|
16
16
|
}>;
|
|
17
17
|
type Model = Schema.Block.LinkedData<typeof schema>;
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { Schema } from '@nascentdigital/funnel-core';
|
|
2
2
|
import { ComponentProps } from 'react';
|
|
3
3
|
import { Block } from './Block';
|
|
4
|
+
import { OutcomeDetail } from './OutcomeDetail';
|
|
4
5
|
export declare function Outcome(props: ComponentProps<typeof Outcome.Component>): import("react/jsx-runtime").JSX.Element;
|
|
5
6
|
export declare namespace Outcome {
|
|
6
|
-
const Component: import("react").FunctionComponent<Block.Create.Result.Component<true, true, Schema.ListField<{
|
|
7
|
+
const Component: import("react").FunctionComponent<Block.Create.Result.Component<"_nd-outcome", true, true, Schema.ListField<{
|
|
7
8
|
detail: Schema.ObjectField<{
|
|
8
9
|
title: Schema.Optional<Schema.TextField>;
|
|
9
10
|
headline: Schema.RichTextField;
|
|
@@ -11,7 +12,7 @@ export declare namespace Outcome {
|
|
|
11
12
|
icon: Schema.Optional<Schema.AssetField<Schema.AssetField.LinkedValue.Visual>>;
|
|
12
13
|
link: Schema.Optional<Schema.LinkField>;
|
|
13
14
|
}>;
|
|
14
|
-
}>, Schema.Block.Config>>, schema: Block.Create.Result.Schema<true, true, Schema.ListField<{
|
|
15
|
+
}>, Schema.Block.Config, OutcomeDetail.Props.Configuration>>, schema: Block.Create.Result.Schema<"_nd-outcome", true, true, Schema.ListField<{
|
|
15
16
|
detail: Schema.ObjectField<{
|
|
16
17
|
title: Schema.Optional<Schema.TextField>;
|
|
17
18
|
headline: Schema.RichTextField;
|
|
@@ -291,8 +291,6 @@ export declare namespace OutcomeDetail {
|
|
|
291
291
|
icon: Schema.Optional<Schema.AssetField<Schema.AssetField.LinkedValue.Visual>>;
|
|
292
292
|
link: Schema.Optional<Schema.LinkField>;
|
|
293
293
|
}>;
|
|
294
|
-
type Model = Schema.Field.LinkedData<typeof schema>;
|
|
295
|
-
type Tag = HTMLElements.Standard.Container;
|
|
296
294
|
type Props<T extends Tag> = Omit<HTMLAttributes<HTMLElements.Standard[T]>, 'children'> & {
|
|
297
295
|
as: T;
|
|
298
296
|
titleTag?: Title.Tag;
|
|
@@ -300,4 +298,9 @@ export declare namespace OutcomeDetail {
|
|
|
300
298
|
captionTag?: Caption.Tag;
|
|
301
299
|
detail: Model;
|
|
302
300
|
};
|
|
301
|
+
namespace Props {
|
|
302
|
+
type Configuration = Pick<Partial<Props<Tag>>, 'as' | 'titleTag' | 'headlineTag' | 'captionTag'>;
|
|
303
|
+
}
|
|
304
|
+
type Model = Schema.Field.LinkedData<typeof schema>;
|
|
305
|
+
type Tag = HTMLElements.Standard.Container;
|
|
303
306
|
}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { Schema } from '@nascentdigital/funnel-core';
|
|
2
2
|
import { ComponentProps } from 'react';
|
|
3
|
+
import { UniqueSellingPoint } from '../entities';
|
|
3
4
|
import { Block } from './Block';
|
|
4
5
|
export declare function ValueProp(props: ComponentProps<typeof ValueProp.Component>): import("react/jsx-runtime").JSX.Element;
|
|
5
6
|
export declare namespace ValueProp {
|
|
6
|
-
const Component: import("react").FunctionComponent<Block.Create.Result.Component<true, true, Schema.ListField<{
|
|
7
|
+
const Component: import("react").FunctionComponent<Block.Create.Result.Component<"_nd-valueProp", true, true, Schema.ListField<{
|
|
7
8
|
item: Schema.CollectionField<Schema.Collection<{
|
|
8
9
|
icon: Schema.Optional<Schema.AssetField<Schema.AssetField.LinkedValue.Visual>>;
|
|
9
10
|
image: Schema.Optional<Schema.AssetField<Schema.AssetField.LinkedValue.Visual>>;
|
|
@@ -11,7 +12,7 @@ export declare namespace ValueProp {
|
|
|
11
12
|
caption: Schema.Optional<Schema.RichTextField>;
|
|
12
13
|
link: Schema.Optional<Schema.LinkField>;
|
|
13
14
|
}>>;
|
|
14
|
-
}>, Schema.Block.Config>>, schema: Block.Create.Result.Schema<true, true, Schema.ListField<{
|
|
15
|
+
}>, Schema.Block.Config, UniqueSellingPoint.Props.Configuration>>, schema: Block.Create.Result.Schema<"_nd-valueProp", true, true, Schema.ListField<{
|
|
15
16
|
item: Schema.CollectionField<Schema.Collection<{
|
|
16
17
|
icon: Schema.Optional<Schema.AssetField<Schema.AssetField.LinkedValue.Visual>>;
|
|
17
18
|
image: Schema.Optional<Schema.AssetField<Schema.AssetField.LinkedValue.Visual>>;
|
|
@@ -297,7 +297,7 @@ export declare namespace Statement {
|
|
|
297
297
|
statement: Model;
|
|
298
298
|
};
|
|
299
299
|
namespace Props {
|
|
300
|
-
type Configuration = Pick<Props<Tag
|
|
300
|
+
type Configuration = Pick<Partial<Props<Tag>>, 'as' | 'headlineTag' | 'captionTag'>;
|
|
301
301
|
}
|
|
302
302
|
type Tag = HTMLElements.Standard.Container;
|
|
303
303
|
type Model = Schema.Field.LinkedData<typeof schema>;
|
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
import { Schema } from '@nascentdigital/funnel-core';
|
|
2
2
|
import { ComponentProps } from 'react';
|
|
3
3
|
import { Block } from '../Block';
|
|
4
|
+
import { Statement } from './Statement';
|
|
4
5
|
export declare function Summary(props: ComponentProps<typeof Summary.Component>): import("react/jsx-runtime").JSX.Element;
|
|
5
6
|
export declare namespace Summary {
|
|
6
|
-
const Component: import("react").FunctionComponent<Block.Create.Result.Component<true, undefined, Schema.ListField<{
|
|
7
|
+
const Component: import("react").FunctionComponent<Block.Create.Result.Component<"_nd_summary", true, undefined, Schema.ListField<{
|
|
7
8
|
statement: Schema.ObjectField<{
|
|
8
9
|
headline: Schema.RichTextField;
|
|
9
10
|
caption: Schema.RichTextField;
|
|
10
11
|
}>;
|
|
11
|
-
}>, Schema.Block.Config>>, schema: Block.Create.Result.Schema<true, undefined, Schema.ListField<{
|
|
12
|
+
}>, Schema.Block.Config, Statement.Props.Configuration>>, schema: Block.Create.Result.Schema<"_nd_summary", true, undefined, Schema.ListField<{
|
|
12
13
|
statement: Schema.ObjectField<{
|
|
13
14
|
headline: Schema.RichTextField;
|
|
14
15
|
caption: Schema.RichTextField;
|
|
@@ -307,7 +307,7 @@ export declare namespace Client {
|
|
|
307
307
|
displayFields?: ReadonlyArray<DisplayFields.Id>;
|
|
308
308
|
};
|
|
309
309
|
namespace Props {
|
|
310
|
-
type Configuration = Pick<Props<Tag
|
|
310
|
+
type Configuration = Pick<Partial<Props<Tag>>, 'as' | 'nameTag' | 'divisionTag' | 'locationTag' | 'displayFields'>;
|
|
311
311
|
}
|
|
312
312
|
type Value = Schema.Collection.LinkedData<typeof schema>;
|
|
313
313
|
type Tag = HTMLElements.Standard.Container;
|
|
@@ -300,7 +300,7 @@ export declare namespace UniqueSellingPoint {
|
|
|
300
300
|
usp: Model;
|
|
301
301
|
};
|
|
302
302
|
namespace Props {
|
|
303
|
-
type Configuration = Pick<Props<Tag
|
|
303
|
+
type Configuration = Pick<Partial<Props<Tag>>, 'as' | 'nameTag' | 'headlineTag' | 'captionTag' | 'displayFields'>;
|
|
304
304
|
}
|
|
305
305
|
type Tag = HTMLElements.Standard.Container;
|
|
306
306
|
type Model = Schema.Collection.LinkedData<typeof schema>;
|
|
@@ -90,4 +90,20 @@ export declare namespace BlockPanel {
|
|
|
90
90
|
listKey?: TListKey;
|
|
91
91
|
};
|
|
92
92
|
function getLayout<TConfig extends Schema.Block.Config, TFields extends Schema.Fields, TMessageFieldKeys extends Partial<MessagePanel.Fields.Keys> | undefined, TMessageKey extends string, TVisualKey extends Schema.Fields.AssetFields.Keys<TFields>, TListKey extends Schema.Fields.ListFields.Keys<TFields>>({ args, messageFieldKeys, messageKey, visualKey, listKey }: GetLayoutArgs<TConfig, TFields, TMessageFieldKeys, TMessageKey, TVisualKey, TListKey>): BlockLayout;
|
|
93
|
+
namespace GetActivePanels {
|
|
94
|
+
type Args<TFields extends Schema.Fields, TMessageFieldKeys extends Partial<MessagePanel.Fields.Keys> | undefined, TMessageKey extends string | undefined, TVisualKey extends Schema.Fields.AssetFields.Keys<TFields>, TListKey extends Schema.Fields.ListFields.Keys<TFields>> = {
|
|
95
|
+
fields: Partial<Schema.Block.Data.ForFields<TFields>> | Partial<Schema.Block.LinkedData.ForFields<TFields>>;
|
|
96
|
+
messageFieldKeys?: TMessageFieldKeys;
|
|
97
|
+
messageKey?: TMessageKey;
|
|
98
|
+
visualKey?: TVisualKey;
|
|
99
|
+
listKey?: TListKey;
|
|
100
|
+
};
|
|
101
|
+
type Result = {
|
|
102
|
+
message: PanelStatus;
|
|
103
|
+
visual: PanelStatus;
|
|
104
|
+
list: PanelStatus;
|
|
105
|
+
};
|
|
106
|
+
type PanelStatus = 'valid' | 'invalid' | false;
|
|
107
|
+
}
|
|
108
|
+
function getActivePanels<TFields extends Schema.Fields, TMessageFieldKeys extends Partial<MessagePanel.Fields.Keys> | undefined, TMessageKey extends string | undefined, TVisualKey extends Schema.Fields.AssetFields.Keys<TFields>, TListKey extends Schema.Fields.ListFields.Keys<TFields>>({ fields: fieldsRaw, messageFieldKeys, messageKey, visualKey, listKey }: GetActivePanels.Args<TFields, TMessageFieldKeys, TMessageKey, TVisualKey, TListKey>): GetActivePanels.Result;
|
|
93
109
|
}
|
|
@@ -329,16 +329,6 @@ var BlockPanel;
|
|
|
329
329
|
.Horizontal.schema.rename(`${visualLabel} ${schema_1.ItemAlignment.Horizontal.schema.name}`)
|
|
330
330
|
.optional();
|
|
331
331
|
}
|
|
332
|
-
// add message vertical alignment if message and visual is available
|
|
333
|
-
// if (messageKey && visualKey) {
|
|
334
|
-
// const keys = MessagePanel.Config.getKeys(messageKey)
|
|
335
|
-
// configSchema[keys.verticalAlign] = ItemAlignment.Vertical.schema.rename(`${messageLabel} ${ItemAlignment.Vertical.schema.name}`).optional()
|
|
336
|
-
// }
|
|
337
|
-
// add list vertical alignment if list and visual is available
|
|
338
|
-
// if (listKey && visualKey) {
|
|
339
|
-
// const keys = ListPanel.Config.getKeys(listKey)
|
|
340
|
-
// configSchema[keys.verticalAlign] = ItemAlignment.Vertical.schema.rename(keys.verticalAlign).optional()
|
|
341
|
-
// }
|
|
342
332
|
// add content alignment if there are more than 2 panels
|
|
343
333
|
if (panelCount > 1) {
|
|
344
334
|
configSchema['contentAlign'] = schema_1.ItemAlignment.Vertical.schema.rename('Content Alignment').optional();
|
|
@@ -349,7 +339,7 @@ var BlockPanel;
|
|
|
349
339
|
}
|
|
350
340
|
BlockPanel.getConfigSchema = getConfigSchema;
|
|
351
341
|
function getConfig({ args, messageFieldKeys, messageKey, visualKey, listKey }) {
|
|
352
|
-
var _a, _b, _c, _d
|
|
342
|
+
var _a, _b, _c, _d;
|
|
353
343
|
// throw if there are not enough panels
|
|
354
344
|
const panelCount = [messageKey, visualKey, listKey].filter(funnel_core_1.Value.isDefined).length;
|
|
355
345
|
if (panelCount === 0) {
|
|
@@ -374,24 +364,23 @@ var BlockPanel;
|
|
|
374
364
|
...Object.values(listKeys)
|
|
375
365
|
];
|
|
376
366
|
// current config helpers
|
|
377
|
-
const hasMessage = MessagePanel_1.MessagePanel.Fields.exists(fields, messageFieldKeys);
|
|
378
367
|
const visual = visualKey
|
|
379
368
|
? fields[visualKey]
|
|
380
369
|
: undefined;
|
|
381
|
-
const
|
|
382
|
-
const
|
|
383
|
-
|
|
384
|
-
:
|
|
385
|
-
|
|
370
|
+
const panelInfo = getActivePanels({ fields: args.fields, messageFieldKeys, messageKey, visualKey, listKey });
|
|
371
|
+
const activePanels = {
|
|
372
|
+
message: panelInfo.message !== false,
|
|
373
|
+
visual: panelInfo.visual !== false,
|
|
374
|
+
list: panelInfo.list !== false,
|
|
375
|
+
};
|
|
386
376
|
// get layout schema
|
|
387
|
-
const activePanels = { message: hasMessage, visual: hasVisual, list: hasList };
|
|
388
377
|
const layoutSchema = schema_1.PanelLayout.schemaForPanels(activePanels);
|
|
389
|
-
let layout = ((
|
|
378
|
+
let layout = ((_b = (_a = config.layout) === null || _a === void 0 ? void 0 : _a.value) !== null && _b !== void 0 ? _b : 'solo');
|
|
390
379
|
layout = layoutSchema.isValidOption(layout)
|
|
391
380
|
? layout
|
|
392
381
|
: layoutSchema.defaultOption;
|
|
393
382
|
const slotVariationSchema = schema_1.SlotVariation.schemaForLayout(layout);
|
|
394
|
-
let slotVariation = ((
|
|
383
|
+
let slotVariation = ((_d = (_c = config.slotVariation) === null || _c === void 0 ? void 0 : _c.value) !== null && _d !== void 0 ? _d : 'v1');
|
|
395
384
|
slotVariation = slotVariationSchema.isValidOption(slotVariation)
|
|
396
385
|
? slotVariation
|
|
397
386
|
: slotVariationSchema.defaultOption;
|
|
@@ -403,7 +392,7 @@ var BlockPanel;
|
|
|
403
392
|
const flexDirections = Slots.getFlexDirections({ layout, items });
|
|
404
393
|
// extract message config
|
|
405
394
|
let messageConfig = undefined;
|
|
406
|
-
if (messageKey &&
|
|
395
|
+
if (messageKey && activePanels.message) {
|
|
407
396
|
messageConfig = MessagePanel_1.MessagePanel.getConfig({
|
|
408
397
|
messageKey,
|
|
409
398
|
config: config,
|
|
@@ -413,7 +402,7 @@ var BlockPanel;
|
|
|
413
402
|
}
|
|
414
403
|
// extract visual config (if any)
|
|
415
404
|
let visualConfig = undefined;
|
|
416
|
-
if (visualKey &&
|
|
405
|
+
if (visualKey && activePanels.visual) {
|
|
417
406
|
visualConfig = VisualPanel_1.VisualPanel.getConfig({
|
|
418
407
|
visualKey,
|
|
419
408
|
visual,
|
|
@@ -423,7 +412,7 @@ var BlockPanel;
|
|
|
423
412
|
}
|
|
424
413
|
// extract list config (if any)
|
|
425
414
|
let listConfig = undefined;
|
|
426
|
-
if (listKey &&
|
|
415
|
+
if (listKey && activePanels.list) {
|
|
427
416
|
listConfig = ListPanel_1.ListPanel.getConfig({
|
|
428
417
|
listKey,
|
|
429
418
|
config: config,
|
|
@@ -460,7 +449,7 @@ var BlockPanel;
|
|
|
460
449
|
}
|
|
461
450
|
BlockPanel.getConfig = getConfig;
|
|
462
451
|
function getLayout({ args, messageFieldKeys, messageKey, visualKey, listKey }) {
|
|
463
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2;
|
|
452
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3;
|
|
464
453
|
// throw if there are not enough panels
|
|
465
454
|
const panelCount = [messageKey, visualKey, listKey].filter(funnel_core_1.Value.isDefined).length;
|
|
466
455
|
if (panelCount === 0) {
|
|
@@ -479,36 +468,40 @@ var BlockPanel;
|
|
|
479
468
|
? ListPanel_1.ListPanel.Config.getKeys(listKey)
|
|
480
469
|
: {};
|
|
481
470
|
// current config helpers
|
|
482
|
-
const
|
|
483
|
-
const
|
|
484
|
-
|
|
485
|
-
:
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
? fields[listKey]
|
|
489
|
-
: undefined;
|
|
490
|
-
const hasList = !!((_a = list === null || list === void 0 ? void 0 : list.value) === null || _a === void 0 ? void 0 : _a.length);
|
|
471
|
+
const panelInfo = getActivePanels({ fields: args.fields, messageFieldKeys, messageKey, visualKey, listKey });
|
|
472
|
+
const activePanels = {
|
|
473
|
+
message: panelInfo.message !== false,
|
|
474
|
+
visual: panelInfo.visual !== false,
|
|
475
|
+
list: panelInfo.list !== false,
|
|
476
|
+
};
|
|
491
477
|
// get layout schema
|
|
492
|
-
const
|
|
493
|
-
const
|
|
494
|
-
const slotVariation = ((_e = (_d = config.slotVariation) === null || _d === void 0 ? void 0 : _d.value) !== null && _e !== void 0 ? _e : 'v1');
|
|
478
|
+
const layout = ((_b = (_a = config.layout) === null || _a === void 0 ? void 0 : _a.value) !== null && _b !== void 0 ? _b : 'solo');
|
|
479
|
+
const slotVariation = ((_d = (_c = config.slotVariation) === null || _c === void 0 ? void 0 : _c.value) !== null && _d !== void 0 ? _d : 'v1');
|
|
495
480
|
const items = Slots.Items.compute({
|
|
496
481
|
panels: activePanels,
|
|
497
482
|
layout,
|
|
498
483
|
variation: slotVariation
|
|
499
484
|
});
|
|
500
|
-
|
|
501
|
-
const
|
|
502
|
-
|
|
485
|
+
// compute content alignment config
|
|
486
|
+
const contentAlign = (_f = (_e = config.contentAlign) === null || _e === void 0 ? void 0 : _e.value) !== null && _f !== void 0 ? _f : 'start';
|
|
487
|
+
// compute message config
|
|
488
|
+
const messageWidthRaw = (_g = config[messageKeys.width]) === null || _g === void 0 ? void 0 : _g.value;
|
|
489
|
+
const isMessageFullBleed = messageWidthRaw === 'fullBleed';
|
|
490
|
+
const messageWidth = isMessageFullBleed ? 'full' : (_j = (_h = config[messageKeys.width]) === null || _h === void 0 ? void 0 : _h.value) !== null && _j !== void 0 ? _j : 'full';
|
|
491
|
+
const messageTextAlign = (_l = (_k = config[messageKeys.textAlign]) === null || _k === void 0 ? void 0 : _k.value) !== null && _l !== void 0 ? _l : 'left';
|
|
503
492
|
const messageHorizontalAlign = (_o = (_m = config[messageKeys.horizontalAlign]) === null || _m === void 0 ? void 0 : _m.value) !== null && _o !== void 0 ? _o : 'start';
|
|
504
493
|
const messageVerticalAlign = (_q = (_p = config[messageKeys.verticalAlign]) === null || _p === void 0 ? void 0 : _p.value) !== null && _q !== void 0 ? _q : 'start';
|
|
494
|
+
// compute visual config
|
|
505
495
|
const visualAspect = (_s = (_r = config[visualKeys.aspect]) === null || _r === void 0 ? void 0 : _r.value) !== null && _s !== void 0 ? _s : 'auto';
|
|
506
496
|
const visualWidth = ((_u = (_t = config[visualKeys.width]) === null || _t === void 0 ? void 0 : _t.value) !== null && _u !== void 0 ? _u : 'full');
|
|
507
497
|
const visualHorizontalAlign = (_w = (_v = config[visualKeys.horizontalAlign]) === null || _v === void 0 ? void 0 : _v.value) !== null && _w !== void 0 ? _w : 'start';
|
|
508
498
|
const isVisualFullBleed = visualWidth === 'fullBleed';
|
|
509
|
-
|
|
510
|
-
const
|
|
511
|
-
const
|
|
499
|
+
// compute list config
|
|
500
|
+
const listWidthRaw = (_x = config[listKeys.width]) === null || _x === void 0 ? void 0 : _x.value;
|
|
501
|
+
const isListFullBleed = listWidthRaw === 'fullBleed';
|
|
502
|
+
const listWidth = isListFullBleed ? 'full' : (_z = (_y = config[listKeys.width]) === null || _y === void 0 ? void 0 : _y.value) !== null && _z !== void 0 ? _z : 'full';
|
|
503
|
+
const listHorizontalAlign = (_1 = (_0 = config[listKeys.horizontalAlign]) === null || _0 === void 0 ? void 0 : _0.value) !== null && _1 !== void 0 ? _1 : 'start';
|
|
504
|
+
const listVerticalAlign = (_3 = (_2 = config[listKeys.verticalAlign]) === null || _2 === void 0 ? void 0 : _2.value) !== null && _3 !== void 0 ? _3 : 'start';
|
|
512
505
|
// create visual if we have one
|
|
513
506
|
let visualSlot = undefined;
|
|
514
507
|
if (items.includes('V') || schema_1.PanelLayout.isNested(layout)) {
|
|
@@ -533,6 +526,7 @@ var BlockPanel;
|
|
|
533
526
|
xmlns="nd:block"
|
|
534
527
|
textAlign="${messageTextAlign}"
|
|
535
528
|
size="${messageWidth}"
|
|
529
|
+
fullBleed="${isMessageFullBleed}"
|
|
536
530
|
alignX="${messageHorizontalAlign}"
|
|
537
531
|
alignY="${messageVerticalAlign}"
|
|
538
532
|
/>
|
|
@@ -551,6 +545,7 @@ var BlockPanel;
|
|
|
551
545
|
size="${listWidth}"
|
|
552
546
|
alignX="${listHorizontalAlign}"
|
|
553
547
|
alignY="${listVerticalAlign}"
|
|
548
|
+
fullBleed="${isListFullBleed}"
|
|
554
549
|
itemCount="2"
|
|
555
550
|
/>
|
|
556
551
|
`);
|
|
@@ -884,4 +879,34 @@ var BlockPanel;
|
|
|
884
879
|
return funnel_core_1.BlockLayout.parse(blockLayout);
|
|
885
880
|
}
|
|
886
881
|
BlockPanel.getLayout = getLayout;
|
|
882
|
+
function getActivePanels({ fields: fieldsRaw, messageFieldKeys, messageKey, visualKey, listKey }) {
|
|
883
|
+
var _a;
|
|
884
|
+
// prepare values
|
|
885
|
+
const fields = fieldsRaw;
|
|
886
|
+
const visual = visualKey
|
|
887
|
+
? fields[visualKey]
|
|
888
|
+
: undefined;
|
|
889
|
+
const list = listKey
|
|
890
|
+
? fields[listKey]
|
|
891
|
+
: undefined;
|
|
892
|
+
// return result
|
|
893
|
+
return {
|
|
894
|
+
message: messageKey && MessagePanel_1.MessagePanel.Fields.exists(fields, messageFieldKeys)
|
|
895
|
+
? MessagePanel_1.MessagePanel.Fields.isEmpty(fields, messageFieldKeys)
|
|
896
|
+
? 'invalid'
|
|
897
|
+
: 'valid'
|
|
898
|
+
: false,
|
|
899
|
+
visual: visual
|
|
900
|
+
? visual.value
|
|
901
|
+
? 'valid'
|
|
902
|
+
: 'invalid'
|
|
903
|
+
: false,
|
|
904
|
+
list: list
|
|
905
|
+
? ((_a = list.value) !== null && _a !== void 0 ? _a : []).length === 0
|
|
906
|
+
? 'valid'
|
|
907
|
+
: 'invalid'
|
|
908
|
+
: false
|
|
909
|
+
};
|
|
910
|
+
}
|
|
911
|
+
BlockPanel.getActivePanels = getActivePanels;
|
|
887
912
|
})(BlockPanel || (exports.BlockPanel = BlockPanel = {}));
|
|
@@ -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, overrides, 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>;
|
|
@@ -59,4 +59,5 @@ export declare namespace ListPanel {
|
|
|
59
59
|
};
|
|
60
60
|
}
|
|
61
61
|
function getConfig<TPrefix extends string>({ listKey, config, flexDirection }: GetConfig.Args<TPrefix>): GetConfig.Result<TPrefix>;
|
|
62
|
+
function ItemPlaceholder(): import("react/jsx-runtime").JSX.Element;
|
|
62
63
|
}
|
|
@@ -13,12 +13,12 @@ const schema_1 = require("../schema");
|
|
|
13
13
|
const BlockPanel_1 = require("./BlockPanel");
|
|
14
14
|
// component
|
|
15
15
|
function ListPanel({ as = 'ul', className, panel, layout, items, overrides = {}, children }) {
|
|
16
|
-
//
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
16
|
+
// render items (or placeholder)
|
|
17
|
+
const itemsComponent = items.length > 0
|
|
18
|
+
?
|
|
19
|
+
items.map(item => (0, jsx_runtime_1.jsx)(react_1.Fragment, { children: children(item) }, item.id))
|
|
20
|
+
:
|
|
21
|
+
funnel_core_1.ArrayUtils.series(panel.itemCount.base - 1).map(num => (0, jsx_runtime_1.jsx)(ListPanel.ItemPlaceholder, {}, num));
|
|
22
22
|
// build layout options
|
|
23
23
|
const { brick, brickFlipped, card, flexWrap, grid, horizontalStack, verticalStack, } = overrides;
|
|
24
24
|
// render layout
|
|
@@ -97,14 +97,11 @@ function ListPanel({ as = 'ul', className, panel, layout, items, overrides = {},
|
|
|
97
97
|
const defaultLayout = 'card';
|
|
98
98
|
const layout = (_b = (_a = config[keys.layout]) === null || _a === void 0 ? void 0 : _a.value) !== null && _b !== void 0 ? _b : defaultLayout;
|
|
99
99
|
const defaultWidth = 'md';
|
|
100
|
-
|
|
100
|
+
let width = (_d = (_c = config[keys.width]) === null || _c === void 0 ? void 0 : _c.value) !== null && _d !== void 0 ? _d : defaultWidth;
|
|
101
101
|
const defaultHorizontalAlign = 'start';
|
|
102
102
|
const horizontalAlign = (_f = (_e = config[keys.horizontalAlign]) === null || _e === void 0 ? void 0 : _e.value) !== null && _f !== void 0 ? _f : defaultHorizontalAlign;
|
|
103
103
|
const defaultVerticalAlign = 'start';
|
|
104
104
|
const verticalAlign = (_h = (_g = config[keys.verticalAlign]) === null || _g === void 0 ? void 0 : _g.value) !== null && _h !== void 0 ? _h : defaultVerticalAlign;
|
|
105
|
-
if (width === 'full') {
|
|
106
|
-
delete configSchema[keys.horizontalAlign];
|
|
107
|
-
}
|
|
108
105
|
if (flexDirection === 'x') {
|
|
109
106
|
delete configSchema[keys.verticalAlign];
|
|
110
107
|
}
|
|
@@ -113,10 +110,18 @@ function ListPanel({ as = 'ul', className, panel, layout, items, overrides = {},
|
|
|
113
110
|
delete configSchema[keys.horizontalAlign];
|
|
114
111
|
}
|
|
115
112
|
else if (flexDirection === 'none') {
|
|
116
|
-
|
|
113
|
+
// update options for width
|
|
114
|
+
const newWidthSchema = schema_1.ItemSize.schema.keepOptions('full', 'fullBleed');
|
|
115
|
+
configSchema[keys.width] = newWidthSchema;
|
|
116
|
+
newWidthSchema.isValidOption(width);
|
|
117
|
+
width = newWidthSchema.isValidOption(width) ? width : 'full';
|
|
118
|
+
// drop unnecessary config
|
|
117
119
|
delete configSchema[keys.horizontalAlign];
|
|
118
120
|
delete configSchema[keys.verticalAlign];
|
|
119
121
|
}
|
|
122
|
+
if (width === 'full' || width === 'fullBleed') {
|
|
123
|
+
delete configSchema[keys.horizontalAlign];
|
|
124
|
+
}
|
|
120
125
|
return {
|
|
121
126
|
configSchema,
|
|
122
127
|
config: {
|
|
@@ -134,4 +139,9 @@ function ListPanel({ as = 'ul', className, panel, layout, items, overrides = {},
|
|
|
134
139
|
};
|
|
135
140
|
}
|
|
136
141
|
ListPanel.getConfig = getConfig;
|
|
142
|
+
// item placeholder
|
|
143
|
+
function ItemPlaceholder() {
|
|
144
|
+
return ((0, jsx_runtime_1.jsx)("div", { className: "nd-ListPanel-itemPlaceholder", children: "No items" }));
|
|
145
|
+
}
|
|
146
|
+
ListPanel.ItemPlaceholder = ItemPlaceholder;
|
|
137
147
|
})(ListPanel || (exports.ListPanel = ListPanel = {}));
|
|
@@ -3,7 +3,7 @@ import { ReactNode } from 'react';
|
|
|
3
3
|
import { Caption, Headline, Title } from '../fields';
|
|
4
4
|
import { ItemAlignment, ItemSize, TextAlignment } from '../schema';
|
|
5
5
|
import { BlockPanel } from './BlockPanel';
|
|
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
|
|
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;
|
|
7
7
|
export declare namespace MessagePanel {
|
|
8
8
|
type Props = BlockPanel.Props & {
|
|
9
9
|
className?: string;
|
|
@@ -74,6 +74,7 @@ export declare namespace MessagePanel {
|
|
|
74
74
|
}
|
|
75
75
|
function getSchema<TitleKey extends string | undefined, HeadlineKey extends string | undefined, CaptionKey extends string | undefined, CtasKey extends string | undefined>(keys?: Partial<Keys<TitleKey, HeadlineKey, CaptionKey, CtasKey>>): GetSchema.Result<Keys<TitleKey, HeadlineKey, CaptionKey, CtasKey>>;
|
|
76
76
|
function exists(fields: Record<string, Schema.Field.Data | Schema.Field.LinkedData>, keys?: Partial<Keys>): boolean;
|
|
77
|
+
function isEmpty(fields: Record<string, Schema.Field.Data | Schema.Field.LinkedData>, keys?: Partial<Keys>): boolean;
|
|
77
78
|
}
|
|
78
79
|
namespace GetConfig {
|
|
79
80
|
type ConfigSchema<TPrefix extends string> = Record<Config.Key.TextAlign<TPrefix>, TextAlignment.Schema> & Record<Config.Key.Width<TPrefix>, ItemSize.Schema> & Record<Config.Key.HorizontalAlign<TPrefix>, ItemAlignment.Horizontal.Schema> & Record<Config.Key.VerticalAlign<TPrefix>, ItemAlignment.Vertical.Schema>;
|
|
@@ -92,4 +93,5 @@ export declare namespace MessagePanel {
|
|
|
92
93
|
};
|
|
93
94
|
}
|
|
94
95
|
function getConfig<TPrefix extends string, TFields extends Schema.Fields = Schema.Fields>({ messageKey, config, flexDirection }: GetConfig.Args<TPrefix, TFields>): GetConfig.Result<TPrefix>;
|
|
96
|
+
function Placeholder(): import("react/jsx-runtime").JSX.Element;
|
|
95
97
|
}
|
|
@@ -27,10 +27,6 @@ function MessagePanel({ className, panel, titleTag = 'span', title, headlineTag
|
|
|
27
27
|
}
|
|
28
28
|
];
|
|
29
29
|
}
|
|
30
|
-
// don't render if no fields are active
|
|
31
|
-
if (!title && !headline && !caption && ctas.length === 0) {
|
|
32
|
-
return null;
|
|
33
|
-
}
|
|
34
30
|
// render
|
|
35
31
|
return ((0, jsx_runtime_1.jsx)("div", { className: (0, classnames_1.default)(className, 'nd-MessagePanel',
|
|
36
32
|
// base layout
|
|
@@ -59,7 +55,8 @@ function MessagePanel({ className, panel, titleTag = 'span', title, headlineTag
|
|
|
59
55
|
center: 'lg:nd-MessagePanel-textCenter',
|
|
60
56
|
right: 'lg:nd-MessagePanel-textEnd'
|
|
61
57
|
}
|
|
62
|
-
})), children: (0, jsx_runtime_1.jsxs)("div", { className: "nd-BlockPanel-content nd-MessagePanel-content", children: [title &&
|
|
58
|
+
})), children: (0, jsx_runtime_1.jsxs)("div", { className: "nd-BlockPanel-content nd-MessagePanel-content", children: [!title && !headline && !caption && ctas.length === 0 &&
|
|
59
|
+
(0, jsx_runtime_1.jsx)(MessagePanel.Placeholder, {}), title &&
|
|
63
60
|
(0, jsx_runtime_1.jsx)(fields_1.Title, { className: "nd-MessagePanel-title", as: titleTag, title: title }), headline &&
|
|
64
61
|
(0, jsx_runtime_1.jsx)(fields_1.Headline, { className: "nd-MessagePanel-headline", as: headlineTag, headline: headline }), caption &&
|
|
65
62
|
(0, jsx_runtime_1.jsx)(fields_1.Caption, { className: "nd-MessagePanel-caption", as: captionTag, caption: caption }), ctas.length > 0 &&
|
|
@@ -146,6 +143,27 @@ function MessagePanel({ className, panel, titleTag = 'span', title, headlineTag
|
|
|
146
143
|
|| !!fields[((_d = keys.ctas) !== null && _d !== void 0 ? _d : 'ctas')];
|
|
147
144
|
}
|
|
148
145
|
Fields.exists = exists;
|
|
146
|
+
// exists
|
|
147
|
+
function isEmpty(fields, keys = {}) {
|
|
148
|
+
var _a, _b, _c, _d;
|
|
149
|
+
// helper
|
|
150
|
+
const isEmptyText = (key) => {
|
|
151
|
+
var _a;
|
|
152
|
+
const data = fields[key];
|
|
153
|
+
return !data || ((_a = funnel_core_1.Schema.Field.Data.getText(data)) !== null && _a !== void 0 ? _a : '').trim().length === 0;
|
|
154
|
+
};
|
|
155
|
+
const isEmptyList = (key) => {
|
|
156
|
+
var _a;
|
|
157
|
+
const data = fields[key];
|
|
158
|
+
return !data || ((_a = data.value) !== null && _a !== void 0 ? _a : []).length === 0;
|
|
159
|
+
};
|
|
160
|
+
// evaluate
|
|
161
|
+
return isEmptyText((_a = keys.title) !== null && _a !== void 0 ? _a : 'title')
|
|
162
|
+
&& isEmptyText((_b = keys.headline) !== null && _b !== void 0 ? _b : 'headline')
|
|
163
|
+
&& isEmptyText((_c = keys.caption) !== null && _c !== void 0 ? _c : 'caption')
|
|
164
|
+
&& isEmptyList((_d = keys.ctas) !== null && _d !== void 0 ? _d : 'ctas');
|
|
165
|
+
}
|
|
166
|
+
Fields.isEmpty = isEmpty;
|
|
149
167
|
})(Fields = MessagePanel.Fields || (MessagePanel.Fields = {}));
|
|
150
168
|
function getConfig({ messageKey, config = {}, flexDirection }) {
|
|
151
169
|
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
@@ -153,7 +171,7 @@ function MessagePanel({ className, panel, titleTag = 'span', title, headlineTag
|
|
|
153
171
|
const keys = Config.getKeys(messageKey);
|
|
154
172
|
const configSchema = {
|
|
155
173
|
[keys.textAlign]: schema_1.TextAlignment.schema,
|
|
156
|
-
[keys.width]: schema_1.ItemSize.schema
|
|
174
|
+
[keys.width]: schema_1.ItemSize.schema,
|
|
157
175
|
[keys.horizontalAlign]: schema_1.ItemAlignment.Horizontal.schema,
|
|
158
176
|
[keys.verticalAlign]: schema_1.ItemAlignment.Vertical.schema
|
|
159
177
|
};
|
|
@@ -161,14 +179,11 @@ function MessagePanel({ className, panel, titleTag = 'span', title, headlineTag
|
|
|
161
179
|
const defaultTextAlign = 'left';
|
|
162
180
|
const textAlign = (_b = (_a = config[keys.textAlign]) === null || _a === void 0 ? void 0 : _a.value) !== null && _b !== void 0 ? _b : defaultTextAlign;
|
|
163
181
|
const defaultWidth = 'full';
|
|
164
|
-
|
|
182
|
+
let width = (_d = (_c = config[keys.width]) === null || _c === void 0 ? void 0 : _c.value) !== null && _d !== void 0 ? _d : defaultWidth;
|
|
165
183
|
const defaultHorizontalAlign = 'start';
|
|
166
184
|
const horizontalAlign = (_f = (_e = config[keys.horizontalAlign]) === null || _e === void 0 ? void 0 : _e.value) !== null && _f !== void 0 ? _f : defaultHorizontalAlign;
|
|
167
185
|
const defaultVerticalAlign = 'start';
|
|
168
186
|
const verticalAlign = (_h = (_g = config[keys.verticalAlign]) === null || _g === void 0 ? void 0 : _g.value) !== null && _h !== void 0 ? _h : defaultVerticalAlign;
|
|
169
|
-
if (width === 'full') {
|
|
170
|
-
delete configSchema[keys.horizontalAlign];
|
|
171
|
-
}
|
|
172
187
|
if (flexDirection === 'x') {
|
|
173
188
|
delete configSchema[keys.verticalAlign];
|
|
174
189
|
}
|
|
@@ -178,11 +193,20 @@ function MessagePanel({ className, panel, titleTag = 'span', title, headlineTag
|
|
|
178
193
|
delete configSchema[keys.horizontalAlign];
|
|
179
194
|
}
|
|
180
195
|
else if (flexDirection === 'none') {
|
|
196
|
+
// update options for width
|
|
197
|
+
const newWidthSchema = schema_1.ItemSize.schema.keepOptions('full', 'fullBleed');
|
|
198
|
+
configSchema[keys.width] = newWidthSchema;
|
|
199
|
+
newWidthSchema.isValidOption(width);
|
|
200
|
+
width = newWidthSchema.isValidOption(width) ? width : 'full';
|
|
201
|
+
// drop unnecessary config
|
|
202
|
+
// drop unnecessary config
|
|
181
203
|
delete configSchema[keys.textAlign];
|
|
182
|
-
delete configSchema[keys.width];
|
|
183
204
|
delete configSchema[keys.horizontalAlign];
|
|
184
205
|
delete configSchema[keys.verticalAlign];
|
|
185
206
|
}
|
|
207
|
+
if (width === 'full' || width === 'fullBleed') {
|
|
208
|
+
delete configSchema[keys.horizontalAlign];
|
|
209
|
+
}
|
|
186
210
|
// return result
|
|
187
211
|
return {
|
|
188
212
|
configSchema,
|
|
@@ -201,4 +225,9 @@ function MessagePanel({ className, panel, titleTag = 'span', title, headlineTag
|
|
|
201
225
|
};
|
|
202
226
|
}
|
|
203
227
|
MessagePanel.getConfig = getConfig;
|
|
228
|
+
// placeholder
|
|
229
|
+
function Placeholder() {
|
|
230
|
+
return ((0, jsx_runtime_1.jsx)("div", { className: "nd-BlockPanel-placeholder nd-MessagePanel-placeholder", children: "No message content" }));
|
|
231
|
+
}
|
|
232
|
+
MessagePanel.Placeholder = Placeholder;
|
|
204
233
|
})(MessagePanel || (exports.MessagePanel = MessagePanel = {}));
|
|
@@ -65,4 +65,5 @@ export declare namespace VisualPanel {
|
|
|
65
65
|
};
|
|
66
66
|
}
|
|
67
67
|
function getConfig<TPrefix extends string>({ visualKey, visual: visualData, config, flexDirection }: GetConfig.Args<TPrefix>): GetConfig.Result<TPrefix>;
|
|
68
|
+
function Placeholder(): import("react/jsx-runtime").JSX.Element;
|
|
68
69
|
}
|
|
@@ -60,7 +60,11 @@ function VisualPanel({ className, panel, visual, visualDecorator, visualLoading,
|
|
|
60
60
|
'nd-VisualPanel-anchor-bottom': anchor === 'bottom',
|
|
61
61
|
'nd-VisualPanel-anchor-left': anchor === 'left',
|
|
62
62
|
'nd-VisualPanel-anchor-right': anchor === 'right'
|
|
63
|
-
}), children: (0, jsx_runtime_1.jsxs)("div", { className: "nd-BlockPanel-content nd-VisualPanel-content", children: [
|
|
63
|
+
}), children: (0, jsx_runtime_1.jsxs)("div", { className: "nd-BlockPanel-content nd-VisualPanel-content", children: [visual
|
|
64
|
+
?
|
|
65
|
+
(0, jsx_runtime_1.jsx)(fields_1.Visual, { className: "nd-VisualPanel-visual", visual: visual, loading: visualLoading })
|
|
66
|
+
:
|
|
67
|
+
(0, jsx_runtime_1.jsx)(VisualPanel.Placeholder, {}), visualDecorator &&
|
|
64
68
|
(0, jsx_runtime_1.jsx)("div", { className: "nd-VisualPanel-decorator", children: visualDecorator })] }) }));
|
|
65
69
|
}
|
|
66
70
|
// extension
|
|
@@ -199,4 +203,9 @@ function VisualPanel({ className, panel, visual, visualDecorator, visualLoading,
|
|
|
199
203
|
};
|
|
200
204
|
}
|
|
201
205
|
VisualPanel.getConfig = getConfig;
|
|
206
|
+
// placeholder
|
|
207
|
+
function Placeholder() {
|
|
208
|
+
return ((0, jsx_runtime_1.jsx)("div", { className: "nd-BlockPanel-placeholder nd-VisualPanel-placeholder", children: "No visual content" }));
|
|
209
|
+
}
|
|
210
|
+
VisualPanel.Placeholder = Placeholder;
|
|
202
211
|
})(VisualPanel || (exports.VisualPanel = VisualPanel = {}));
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nascentdigital/funnel-ui",
|
|
3
3
|
"description": "UI components for funnel",
|
|
4
|
-
"version": "4.5.
|
|
4
|
+
"version": "4.5.1",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"registry": "https://registry.npmjs.org/",
|
|
7
7
|
"access": "restricted"
|
|
@@ -70,5 +70,5 @@
|
|
|
70
70
|
"react-dom": "^19",
|
|
71
71
|
"ts-jest": "^29.3.2"
|
|
72
72
|
},
|
|
73
|
-
"gitHead": "
|
|
73
|
+
"gitHead": "3348c90ff56f3dd931ab564f8a6ad13d454a4ca1"
|
|
74
74
|
}
|