@nascentdigital/funnel-editor 4.5.6 → 4.5.7
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/core/components/interaction/QuickPicker.d.ts +1 -0
- package/dist/core/components/interaction/QuickPicker.js +3 -3
- package/dist/core/domain/BlockConfiguration.d.ts +2 -1
- package/dist/core/domain/BlockConfiguration.js +28 -2
- package/dist/page/components/config/BlockConfigEditor.js +33 -18
- package/dist/page/components/config/ListPanelEditor.js +14 -1
- package/dist/styles/index.css +25 -12
- package/package.json +2 -2
|
@@ -5,6 +5,7 @@ export declare const QuickPicker: import("react").ForwardRefExoticComponent<Quic
|
|
|
5
5
|
export declare namespace QuickPicker {
|
|
6
6
|
type Item<TId extends string> = {
|
|
7
7
|
id: TId;
|
|
8
|
+
label: string;
|
|
8
9
|
};
|
|
9
10
|
type ItemVariant = 'card';
|
|
10
11
|
type Props<TId extends string, TItem extends Item<TId>> = {
|
|
@@ -104,7 +104,7 @@ exports.QuickPicker = (0, react_1.forwardRef)(function QuickPicker({ variant, ti
|
|
|
104
104
|
})) })] })));
|
|
105
105
|
});
|
|
106
106
|
function renderCard({ item, content, selected, onSelect }) {
|
|
107
|
-
return ((0, jsx_runtime_1.jsx)("div", { className: (0, classnames_1.default)('FieldCard w-[72px] h-[55px]', {
|
|
108
|
-
|
|
109
|
-
|
|
107
|
+
return ((0, jsx_runtime_1.jsxs)("div", { className: "flex flex-col items-center gap-l2 shrink-0", children: [(0, jsx_runtime_1.jsx)("div", { className: (0, classnames_1.default)('FieldCard w-[72px] h-[55px]', {
|
|
108
|
+
'FieldCard-selected': selected
|
|
109
|
+
}), onClick: () => onSelect(item.id), children: content }), (0, jsx_runtime_1.jsx)("span", { className: "label-xxs text-content-tertiary cursor-default", children: item.label })] }, item.id));
|
|
110
110
|
}
|
|
@@ -20,7 +20,7 @@ export declare class BlockConfiguration {
|
|
|
20
20
|
get blocksFields(): FieldModel.Config[];
|
|
21
21
|
get blockFieldData(): Schema.Block.Data.ForFields<Schema.Fields>;
|
|
22
22
|
get desktopFields(): FieldModel.Config[];
|
|
23
|
-
get mobileFields():
|
|
23
|
+
get mobileFields(): FieldModel.Config[];
|
|
24
24
|
get nameField(): FieldModel.Config | undefined;
|
|
25
25
|
get themeField(): FieldModel.Config | undefined;
|
|
26
26
|
get layoutField(): Field<Schema.EnumField<Schema.EnumField.Options<PanelLayout>>> | undefined;
|
|
@@ -30,6 +30,7 @@ export declare class BlockConfiguration {
|
|
|
30
30
|
get messageFields(): Record<keyof MessagePanel.Config.Keys<'message'>, FieldModel.Config | undefined>;
|
|
31
31
|
get listFields(): Record<keyof ListPanel.Config.Keys<'list'>, FieldModel.Config | undefined>;
|
|
32
32
|
get visualFields(): Record<keyof VisualPanel.Config.Keys<'visual'>, FieldModel.Config | undefined>;
|
|
33
|
+
get extendedFields(): Record<string, FieldModel.Config>;
|
|
33
34
|
get layout(): BlockLayout | undefined;
|
|
34
35
|
get events$(): import("rxjs").Observable<EventBus.Event<string, string>>;
|
|
35
36
|
get valid(): boolean;
|
|
@@ -76,11 +76,14 @@ class BlockConfiguration {
|
|
|
76
76
|
}
|
|
77
77
|
get desktopFields() {
|
|
78
78
|
return [
|
|
79
|
-
this.
|
|
79
|
+
...Object.values(this.extendedFields),
|
|
80
|
+
this.getEditableField('contentAlign'),
|
|
80
81
|
].filter(funnel_core_1.Value.isDefined);
|
|
81
82
|
}
|
|
82
83
|
get mobileFields() {
|
|
83
|
-
return [
|
|
84
|
+
return [
|
|
85
|
+
...Object.values(this.extendedFields)
|
|
86
|
+
].filter(funnel_core_1.Value.isDefined);
|
|
84
87
|
}
|
|
85
88
|
get nameField() {
|
|
86
89
|
const { block, sectionBlock } = this;
|
|
@@ -154,6 +157,29 @@ class BlockConfiguration {
|
|
|
154
157
|
horizontalAlign: this.getEditableField(keys.horizontalAlign)
|
|
155
158
|
};
|
|
156
159
|
}
|
|
160
|
+
get extendedFields() {
|
|
161
|
+
// get all top-level keys
|
|
162
|
+
const { block, _editableFields } = this;
|
|
163
|
+
const coreKeys = [
|
|
164
|
+
block.nameField.id,
|
|
165
|
+
funnel_ui_1.BlockConfig.Presets.ThemeOnly.key,
|
|
166
|
+
'layout',
|
|
167
|
+
'slotVariation',
|
|
168
|
+
'contentAlign',
|
|
169
|
+
...Object.values(funnel_ui_1.MessagePanel.Config.getKeys('message')),
|
|
170
|
+
...Object.values(funnel_ui_1.ListPanel.Config.getKeys('list')),
|
|
171
|
+
...Object.values(funnel_ui_1.VisualPanel.Config.getKeys('visual'))
|
|
172
|
+
];
|
|
173
|
+
// return all editable fields, minus the core keys
|
|
174
|
+
return _editableFields.reduce((fields, field) => {
|
|
175
|
+
// add field if not core
|
|
176
|
+
if (!coreKeys.includes(field.id)) {
|
|
177
|
+
fields[field.id] = field;
|
|
178
|
+
}
|
|
179
|
+
// keep reducing
|
|
180
|
+
return fields;
|
|
181
|
+
}, {});
|
|
182
|
+
}
|
|
157
183
|
get layout() {
|
|
158
184
|
return this._layout;
|
|
159
185
|
}
|
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
6
|
exports.BlockConfigEditor = BlockConfigEditor;
|
|
4
7
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
8
|
const funnel_core_1 = require("@nascentdigital/funnel-core");
|
|
9
|
+
const classnames_1 = __importDefault(require("classnames"));
|
|
6
10
|
const react_1 = require("motion/react");
|
|
7
11
|
const react_2 = require("react");
|
|
8
12
|
const rxjs_1 = require("rxjs");
|
|
@@ -17,7 +21,7 @@ function BlockConfigEditor({ configuration, onClose }) {
|
|
|
17
21
|
const [blockView, setBlockView] = (0, react_2.useState)('desktop');
|
|
18
22
|
const pageController = (0, hooks_1.usePageController)();
|
|
19
23
|
const panelLayoutPickerRef = (0, react_2.useRef)(null);
|
|
20
|
-
const { modified = false, valid = false, blocksFields = [], desktopFields = [], mobileFields = [] } = configuration !== null && configuration !== void 0 ? configuration : {};
|
|
24
|
+
const { layoutField, modified = false, valid = false, blocksFields = [], desktopFields = [], mobileFields = [] } = configuration !== null && configuration !== void 0 ? configuration : {};
|
|
21
25
|
const settingsFields = blockView === 'desktop' ? desktopFields : mobileFields;
|
|
22
26
|
// sync w/ configuration
|
|
23
27
|
(0, core_1.useBlockConfiguration)(configuration);
|
|
@@ -39,7 +43,6 @@ function BlockConfigEditor({ configuration, onClose }) {
|
|
|
39
43
|
const onChangePanelLayout = async (e) => {
|
|
40
44
|
var _a;
|
|
41
45
|
// skip if there's no layout field (shouldn't happen)
|
|
42
|
-
const { layoutField } = configuration !== null && configuration !== void 0 ? configuration : {};
|
|
43
46
|
if (!layoutField) {
|
|
44
47
|
return;
|
|
45
48
|
}
|
|
@@ -63,7 +66,8 @@ function BlockConfigEditor({ configuration, onClose }) {
|
|
|
63
66
|
// render
|
|
64
67
|
const { options: slotOptions = [], currentIndex: slotIndex = 0 } = (_a = configuration === null || configuration === void 0 ? void 0 : configuration.slotState) !== null && _a !== void 0 ? _a : {};
|
|
65
68
|
return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(core_1.SideSheet, { title: "Block Configuration", size: "xs", backdrop: "glass", open: !!configuration, onSave: onSave, onClose: onClose, disableDismiss: modified, disableSave: !modified || !valid, customActions: (0, jsx_runtime_1.jsx)(core_1.Button, { variant: "secondary", size: "sm", disabled: configuration === null || configuration === void 0 ? void 0 : configuration.isConfigInDefault, onClick: () => configuration === null || configuration === void 0 ? void 0 : configuration.reset(), children: "Reset to Default" }), children: (0, jsx_runtime_1.jsxs)("div", { className: "h-full flex flex-col gap-l6", children: [(0, jsx_runtime_1.jsxs)("section", { className: "grid grid-cols-2 gap-x-l5 gap-y-l4", children: [blocksFields.length > 0 &&
|
|
66
|
-
(0, jsx_runtime_1.jsx)(core_1.FieldErrorController, { children: blocksFields.map(field => (0, jsx_runtime_1.jsx)(core_1.FieldEditor, { className: "col-span-full", field: field, size: "xs" }, field.id)) }),
|
|
69
|
+
(0, jsx_runtime_1.jsx)(core_1.FieldErrorController, { children: blocksFields.map(field => (0, jsx_runtime_1.jsx)(core_1.FieldEditor, { className: "col-span-full", field: field, size: "xs" }, field.id)) }), layoutField && layoutField.schema.enum.length > 1 &&
|
|
70
|
+
(0, jsx_runtime_1.jsxs)("div", { className: "flex flex-col gap-l2", children: [(0, jsx_runtime_1.jsx)(FieldHeader_1.FieldHeader, { label: "Layout", size: "xs" }), (0, jsx_runtime_1.jsx)(core_1.Button, { variant: "secondary", size: "xs", iconLeft: "LayoutTemplate", onClick: onChangePanelLayout, children: "Change" })] }), slotOptions.length > 1 &&
|
|
67
71
|
(0, jsx_runtime_1.jsxs)("div", { className: "flex flex-col gap-l2", children: [(0, jsx_runtime_1.jsx)(FieldHeader_1.FieldHeader, { label: "Arrangement", size: "xs" }), slotOptions.length === 2
|
|
68
72
|
?
|
|
69
73
|
(0, jsx_runtime_1.jsx)(core_1.Button, { variant: "secondary", size: "xs", iconLeft: "ArrowLeftRight", onClick: () => configuration === null || configuration === void 0 ? void 0 : configuration.gotToNextSlot(), children: "Swap" })
|
|
@@ -73,37 +77,48 @@ function BlockConfigEditor({ configuration, onClose }) {
|
|
|
73
77
|
(0, jsx_runtime_1.jsx)("section", { className: "grid grid-cols-2 auto-rows-auto items-start gap-l6", children: (0, jsx_runtime_1.jsx)(core_1.FieldErrorController, { children: settingsFields.map(field => (0, jsx_runtime_1.jsx)(core_1.FieldEditor, { className: "col-span-2", field: field, size: "xs" }, field.id)) }) })] }) }), (0, jsx_runtime_1.jsx)(core_1.QuickPicker, { ref: panelLayoutPickerRef, variant: "card", title: "Pick Block Layout", description: "Select an available layout for this block.", renderItem: (item) => renderPanelLayoutItem(item) })] }));
|
|
74
78
|
}
|
|
75
79
|
function renderPanelLayoutItem(item) {
|
|
80
|
+
const panel = (className = 'flex-1') => ((0, jsx_runtime_1.jsx)("div", { className: (0, classnames_1.default)('bg-surface-placeholder rounded-[2px]', className) }));
|
|
81
|
+
const panelPaddedX = 'px-l4';
|
|
82
|
+
const panelPaddedY = 'py-l4';
|
|
83
|
+
const panelPadded = (0, classnames_1.default)(panelPaddedX, panelPaddedY);
|
|
84
|
+
const panelGap = 'gap-l1';
|
|
85
|
+
const nestedPanel = (config = {}) => {
|
|
86
|
+
// unpack config
|
|
87
|
+
const { panelClassName, nestedPanelClassName, multipleItems = false } = config;
|
|
88
|
+
return ((0, jsx_runtime_1.jsxs)("div", { className: (0, classnames_1.default)('flex h-full bg-surface-placeholder rounded-[2px]', panelClassName, panelGap, { 'p-l2': multipleItems }), children: [(0, jsx_runtime_1.jsx)("div", { className: (0, classnames_1.default)('flex-1 bg-surface-placeholder-raised rounded-[2px]', nestedPanelClassName, { 'm-l2': !multipleItems }) }), multipleItems &&
|
|
89
|
+
(0, jsx_runtime_1.jsx)("div", { className: (0, classnames_1.default)('flex-1 bg-surface-placeholder-raised rounded-[2px]', nestedPanelClassName) })] }));
|
|
90
|
+
};
|
|
76
91
|
switch (item.id) {
|
|
77
92
|
case 'solo':
|
|
78
|
-
return ((0, jsx_runtime_1.jsx)("div", { className:
|
|
93
|
+
return ((0, jsx_runtime_1.jsx)("div", { className: (0, classnames_1.default)('size-full', panelPadded), children: panel('size-full') }));
|
|
79
94
|
case 'stack.v':
|
|
80
|
-
return ((0, jsx_runtime_1.jsxs)("div", { className:
|
|
95
|
+
return ((0, jsx_runtime_1.jsxs)("div", { className: (0, classnames_1.default)("flex h-full", panelPadded, panelGap), children: [panel(), panel()] }));
|
|
81
96
|
case 'stack.h':
|
|
82
|
-
return ((0, jsx_runtime_1.jsxs)("div", { className:
|
|
97
|
+
return ((0, jsx_runtime_1.jsxs)("div", { className: (0, classnames_1.default)("flex flex-col h-full", panelPadded, panelGap), children: [panel(), panel()] }));
|
|
83
98
|
case 'brick.v':
|
|
84
|
-
return ((0, jsx_runtime_1.jsxs)("div", { className:
|
|
99
|
+
return ((0, jsx_runtime_1.jsxs)("div", { className: (0, classnames_1.default)("flex flex-col h-full", panelPadded, panelGap), children: [panel(), panel(), panel()] }));
|
|
85
100
|
case 'brick.t':
|
|
86
|
-
return ((0, jsx_runtime_1.jsxs)("div", { className: "flex
|
|
101
|
+
return ((0, jsx_runtime_1.jsxs)("div", { className: (0, classnames_1.default)("flex flex-col h-full", panelPadded, panelGap), children: [panel('flex-1 w-full h-[20px]'), (0, jsx_runtime_1.jsxs)("div", { className: (0, classnames_1.default)('flex flex-1', panelGap), children: [panel(), panel()] })] }));
|
|
87
102
|
case 'brick.r':
|
|
88
|
-
return ((0, jsx_runtime_1.jsxs)("div", { className:
|
|
103
|
+
return ((0, jsx_runtime_1.jsxs)("div", { className: (0, classnames_1.default)('flex h-full', panelPadded, panelGap), children: [(0, jsx_runtime_1.jsxs)("div", { className: (0, classnames_1.default)('flex h-full flex-1 flex-col', panelGap), children: [panel(), panel()] }), panel('h-full w-[30px]')] }));
|
|
89
104
|
case 'brick.b':
|
|
90
|
-
return ((0, jsx_runtime_1.jsxs)("div", { className: "flex
|
|
105
|
+
return ((0, jsx_runtime_1.jsxs)("div", { className: (0, classnames_1.default)("flex flex-col h-full", panelPadded, panelGap), children: [(0, jsx_runtime_1.jsxs)("div", { className: (0, classnames_1.default)('flex flex-1', panelGap), children: [panel(), panel()] }), panel('flex-1 w-full h-[20px]')] }));
|
|
91
106
|
case 'brick.l':
|
|
92
|
-
return ((0, jsx_runtime_1.jsxs)("div", { className:
|
|
107
|
+
return ((0, jsx_runtime_1.jsxs)("div", { className: (0, classnames_1.default)('flex h-full', panelPadded, panelGap), children: [panel('h-full w-[30px]'), (0, jsx_runtime_1.jsxs)("div", { className: (0, classnames_1.default)('flex h-full flex-1 flex-col', panelGap), children: [panel(), panel()] })] }));
|
|
93
108
|
case 'nested':
|
|
94
|
-
return ((0, jsx_runtime_1.jsx)("div", { className:
|
|
109
|
+
return ((0, jsx_runtime_1.jsx)("div", { className: (0, classnames_1.default)('size-full', panelPadded), children: nestedPanel() }));
|
|
95
110
|
case 'nested.v':
|
|
96
|
-
return ((0, jsx_runtime_1.jsx)("div", { className:
|
|
111
|
+
return ((0, jsx_runtime_1.jsx)("div", { className: (0, classnames_1.default)('size-full', panelPadded), children: nestedPanel({ panelClassName: 'flex-col', multipleItems: true }) }));
|
|
97
112
|
case 'nested.h':
|
|
98
|
-
return ((0, jsx_runtime_1.jsx)("div", { className:
|
|
113
|
+
return ((0, jsx_runtime_1.jsx)("div", { className: (0, classnames_1.default)('size-full', panelPadded), children: nestedPanel({ multipleItems: true }) }));
|
|
99
114
|
case 'nested.t':
|
|
100
|
-
return ((0, jsx_runtime_1.jsxs)("div", { className:
|
|
115
|
+
return ((0, jsx_runtime_1.jsxs)("div", { className: (0, classnames_1.default)("flex h-full flex-col", panelPadded, panelGap), children: [nestedPanel({ panelClassName: 'flex-1' }), panel()] }));
|
|
101
116
|
case 'nested.r':
|
|
102
|
-
return ((0, jsx_runtime_1.jsxs)("div", { className:
|
|
117
|
+
return ((0, jsx_runtime_1.jsxs)("div", { className: (0, classnames_1.default)("flex h-full", panelPadded, panelGap), children: [panel(), nestedPanel({ panelClassName: 'flex-1' })] }));
|
|
103
118
|
case 'nested.b':
|
|
104
|
-
return ((0, jsx_runtime_1.jsxs)("div", { className:
|
|
119
|
+
return ((0, jsx_runtime_1.jsxs)("div", { className: (0, classnames_1.default)("flex h-full flex-col", panelPadded, panelGap), children: [panel(), nestedPanel({ panelClassName: 'flex-1' })] }));
|
|
105
120
|
case 'nested.l':
|
|
106
|
-
return ((0, jsx_runtime_1.jsxs)("div", { className:
|
|
121
|
+
return ((0, jsx_runtime_1.jsxs)("div", { className: (0, classnames_1.default)("flex h-full", panelPadded, panelGap), children: [nestedPanel({ panelClassName: 'flex-1' }), panel()] }));
|
|
107
122
|
default:
|
|
108
123
|
return ((0, jsx_runtime_1.jsx)("div", { children: item.id }));
|
|
109
124
|
}
|
|
@@ -57,7 +57,7 @@ function ListPanelEditor({ className, anchor, open, onClose, configuration }) {
|
|
|
57
57
|
}
|
|
58
58
|
function renderListLayoutItem(item) {
|
|
59
59
|
// panel
|
|
60
|
-
const panel = (className = 'w-full') => ((0, jsx_runtime_1.jsx)("div", { className: (0, classnames_1.default)('bg-surface-placeholder rounded-[
|
|
60
|
+
const panel = (className = 'w-full') => ((0, jsx_runtime_1.jsx)("div", { className: (0, classnames_1.default)('bg-surface-placeholder-raised rounded-[2px]', className) }));
|
|
61
61
|
// get content
|
|
62
62
|
const panelClassName = 'w-full h-full';
|
|
63
63
|
const panelPaddedX = 'px-10';
|
|
@@ -65,9 +65,13 @@ function renderListLayoutItem(item) {
|
|
|
65
65
|
const panelPadded = (0, classnames_1.default)(panelPaddedX, panelPaddedY);
|
|
66
66
|
let content;
|
|
67
67
|
switch (item.id) {
|
|
68
|
+
case 'card':
|
|
68
69
|
case 'grid':
|
|
69
70
|
content = ((0, jsx_runtime_1.jsxs)("div", { className: (0, classnames_1.default)(panelClassName, panelPadded, 'grid grid-cols-3 auto-cols-fr gap-x-l3 gap-y-l2 '), children: [panel(), panel(), panel(), panel(), panel()] }));
|
|
70
71
|
break;
|
|
72
|
+
case 'flexWrap':
|
|
73
|
+
content = ((0, jsx_runtime_1.jsxs)("div", { className: (0, classnames_1.default)(panelClassName, panelPadded, 'flex flex-wrap justify-center items-center gap-l3'), children: [panel('w-12 h-12'), panel('w-12 h-12'), panel('w-12 h-12'), panel('w-12 h-12'), panel('w-12 h-12')] }));
|
|
74
|
+
break;
|
|
71
75
|
case 'verticalStack':
|
|
72
76
|
content = ((0, jsx_runtime_1.jsxs)("div", { className: (0, classnames_1.default)(panelClassName, panelPadded, 'grid grid-cols-1 auto-rows-fr gap-y-l2 '), children: [panel(), panel(), panel()] }));
|
|
73
77
|
break;
|
|
@@ -80,6 +84,15 @@ function renderListLayoutItem(item) {
|
|
|
80
84
|
case 'bento':
|
|
81
85
|
content = ((0, jsx_runtime_1.jsxs)("div", { className: (0, classnames_1.default)(panelClassName, panelPadded, 'grid auto-rows-auto auto-cols-auto gap-l3'), children: [panel('w-20 row-start-1 row-span-2 col-start-1'), panel('w-28 row-start-1 col-start-2'), panel('w-18 row-start-2 col-start-2')] }));
|
|
82
86
|
break;
|
|
87
|
+
case 'brick':
|
|
88
|
+
content = ((0, jsx_runtime_1.jsxs)("div", { className: (0, classnames_1.default)(panelClassName, panelPaddedX, 'grid grid-cols-2 gap-l3 pt-10'), children: [panel('h-12 row-start-1 col-span-full'), panel('h-12 row-start-2 col-start-1'), panel('h-12 row-start-2 col-start-2'), panel('h-12 row-start-3 col-span-full')] }));
|
|
89
|
+
break;
|
|
90
|
+
case 'brickFlipped':
|
|
91
|
+
content = ((0, jsx_runtime_1.jsxs)("div", { className: (0, classnames_1.default)(panelClassName, panelPaddedX, 'grid grid-cols-2 gap-l3 pt-10'), children: [panel('h-12 row-start-1 col-start-1'), panel('h-12 row-start-1 col-start-2'), panel('h-12 row-start-2 col-span-full'), panel('h-12 row-start-3 col-start-1'), panel('h-12 row-start-3 col-start-2')] }));
|
|
92
|
+
break;
|
|
93
|
+
case 'carousel':
|
|
94
|
+
content = ((0, jsx_runtime_1.jsxs)("div", { className: (0, classnames_1.default)(panelClassName, 'flex flex-col gap-l2 pt-10 pb-l3'), children: [(0, jsx_runtime_1.jsxs)("div", { className: "flex-1 flex items-stretch gap-l3", children: [(0, jsx_runtime_1.jsx)("div", { className: "w-8 bg-surface-placeholder rounded-r-[2px]" }), (0, jsx_runtime_1.jsx)("div", { className: "flex-1 bg-surface-placeholder-raised rounded-[2px]" }), (0, jsx_runtime_1.jsx)("div", { className: "w-8 bg-surface-placeholder rounded-l-[2px]" })] }), (0, jsx_runtime_1.jsxs)("div", { className: "flex justify-center items-center gap-l1", children: [(0, jsx_runtime_1.jsx)("div", { className: "w-4 h-4 bg-surface-placeholder-raised rounded-full" }), (0, jsx_runtime_1.jsx)("div", { className: "w-4 h-4 bg-surface-placeholder-raised rounded-full" }), (0, jsx_runtime_1.jsx)("div", { className: "w-4 h-4 bg-surface-placeholder-raised rounded-full" })] })] }));
|
|
95
|
+
break;
|
|
83
96
|
default:
|
|
84
97
|
content = ((0, jsx_runtime_1.jsx)("div", { children: item.id }));
|
|
85
98
|
break;
|
package/dist/styles/index.css
CHANGED
|
@@ -4409,6 +4409,12 @@ video {
|
|
|
4409
4409
|
.row-start-2{
|
|
4410
4410
|
grid-row-start: 2;
|
|
4411
4411
|
}
|
|
4412
|
+
.row-start-3{
|
|
4413
|
+
grid-row-start: 3;
|
|
4414
|
+
}
|
|
4415
|
+
.m-l2{
|
|
4416
|
+
margin: 4px;
|
|
4417
|
+
}
|
|
4412
4418
|
.m-l6{
|
|
4413
4419
|
margin: 16px;
|
|
4414
4420
|
}
|
|
@@ -4566,6 +4572,9 @@ video {
|
|
|
4566
4572
|
.h-10{
|
|
4567
4573
|
height: 10px;
|
|
4568
4574
|
}
|
|
4575
|
+
.h-12{
|
|
4576
|
+
height: 12px;
|
|
4577
|
+
}
|
|
4569
4578
|
.h-14{
|
|
4570
4579
|
height: 14px;
|
|
4571
4580
|
}
|
|
@@ -4635,9 +4644,6 @@ video {
|
|
|
4635
4644
|
.h-\[55px\]{
|
|
4636
4645
|
height: 55px;
|
|
4637
4646
|
}
|
|
4638
|
-
.h-\[60\%\]{
|
|
4639
|
-
height: 60%;
|
|
4640
|
-
}
|
|
4641
4647
|
.h-\[80px\]{
|
|
4642
4648
|
height: 80px;
|
|
4643
4649
|
}
|
|
@@ -4725,6 +4731,9 @@ video {
|
|
|
4725
4731
|
.w-11\/12{
|
|
4726
4732
|
width: 91.666667%;
|
|
4727
4733
|
}
|
|
4734
|
+
.w-12{
|
|
4735
|
+
width: 12px;
|
|
4736
|
+
}
|
|
4728
4737
|
.w-14{
|
|
4729
4738
|
width: 14px;
|
|
4730
4739
|
}
|
|
@@ -4764,8 +4773,8 @@ video {
|
|
|
4764
4773
|
.w-6{
|
|
4765
4774
|
width: 6px;
|
|
4766
4775
|
}
|
|
4767
|
-
.w-
|
|
4768
|
-
width:
|
|
4776
|
+
.w-8{
|
|
4777
|
+
width: 8px;
|
|
4769
4778
|
}
|
|
4770
4779
|
.w-8\/12{
|
|
4771
4780
|
width: 66.666667%;
|
|
@@ -5140,9 +5149,6 @@ video {
|
|
|
5140
5149
|
.rounded-\[2px\]{
|
|
5141
5150
|
border-radius: 2px;
|
|
5142
5151
|
}
|
|
5143
|
-
.rounded-\[3px\]{
|
|
5144
|
-
border-radius: 3px;
|
|
5145
|
-
}
|
|
5146
5152
|
.rounded-full{
|
|
5147
5153
|
border-radius: 9999px;
|
|
5148
5154
|
}
|
|
@@ -5167,6 +5173,14 @@ video {
|
|
|
5167
5173
|
.rounded-xxs{
|
|
5168
5174
|
border-radius: 2px;
|
|
5169
5175
|
}
|
|
5176
|
+
.rounded-l-\[2px\]{
|
|
5177
|
+
border-top-left-radius: 2px;
|
|
5178
|
+
border-bottom-left-radius: 2px;
|
|
5179
|
+
}
|
|
5180
|
+
.rounded-r-\[2px\]{
|
|
5181
|
+
border-top-right-radius: 2px;
|
|
5182
|
+
border-bottom-right-radius: 2px;
|
|
5183
|
+
}
|
|
5170
5184
|
.rounded-t-lg{
|
|
5171
5185
|
border-top-left-radius: 18px;
|
|
5172
5186
|
border-top-right-radius: 18px;
|
|
@@ -5577,10 +5591,6 @@ video {
|
|
|
5577
5591
|
padding-top: 72px;
|
|
5578
5592
|
padding-bottom: 72px;
|
|
5579
5593
|
}
|
|
5580
|
-
.py-l2{
|
|
5581
|
-
padding-top: 4px;
|
|
5582
|
-
padding-bottom: 4px;
|
|
5583
|
-
}
|
|
5584
5594
|
.py-l3{
|
|
5585
5595
|
padding-top: 6px;
|
|
5586
5596
|
padding-bottom: 6px;
|
|
@@ -5601,6 +5611,9 @@ video {
|
|
|
5601
5611
|
padding-top: 24px;
|
|
5602
5612
|
padding-bottom: 24px;
|
|
5603
5613
|
}
|
|
5614
|
+
.pb-l3{
|
|
5615
|
+
padding-bottom: 6px;
|
|
5616
|
+
}
|
|
5604
5617
|
.pb-l4{
|
|
5605
5618
|
padding-bottom: 8px;
|
|
5606
5619
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nascentdigital/funnel-editor",
|
|
3
|
-
"version": "4.5.
|
|
3
|
+
"version": "4.5.7",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"registry": "https://registry.npmjs.org/",
|
|
6
6
|
"access": "restricted"
|
|
@@ -89,5 +89,5 @@
|
|
|
89
89
|
"ts-jest": "^29",
|
|
90
90
|
"type-fest": "^4"
|
|
91
91
|
},
|
|
92
|
-
"gitHead": "
|
|
92
|
+
"gitHead": "aa14b53e99044a968b850c4f426e40d312a9306a"
|
|
93
93
|
}
|