@nascentdigital/funnel-ui 4.5.2 → 4.5.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Tailwind.d.ts +1 -1
- package/dist/Tailwind.js +70 -24
- package/dist/client/hooks/breakpoint/BreakpointContainer.d.ts +1 -1
- package/dist/client/hooks/breakpoint/BreakpointContainer.js +3 -1
- package/dist/client/interaction/Carousel.d.ts +1 -1
- package/dist/client/interaction/Carousel.js +28 -30
- package/dist/client/interaction/index.d.ts +0 -6
- package/dist/client/interaction/index.js +0 -6
- package/dist/server/Page.d.ts +15 -0
- package/dist/server/Page.js +70 -0
- package/dist/server/blocks/Block.d.ts +4 -2
- package/dist/server/blocks/Block.js +10 -3
- package/dist/server/blocks/Editorial.d.ts +2 -2
- package/dist/server/blocks/Editorial.js +4 -4
- package/dist/server/blocks/Form.d.ts +2 -2
- package/dist/server/blocks/Form.js +3 -3
- package/dist/server/blocks/Message.js +2 -1
- package/dist/server/blocks/Projects.d.ts +29 -37
- package/dist/server/blocks/Projects.js +13 -84
- package/dist/server/blocks/RelatedPages.d.ts +58 -0
- package/dist/server/blocks/RelatedPages.js +99 -0
- package/dist/server/blocks/Stats.d.ts +19 -31
- package/dist/server/blocks/Stats.js +13 -57
- package/dist/server/blocks/Testimonial.d.ts +2 -2
- package/dist/server/blocks/Testimonial.js +17 -14
- package/dist/server/blocks/Testimonials.d.ts +35 -35
- package/dist/server/blocks/Testimonials.js +21 -66
- package/dist/server/blocks/index.d.ts +2 -0
- package/dist/server/blocks/index.js +2 -0
- package/dist/server/entities/previews/MessagePreview.d.ts +2 -2
- package/dist/server/entities/previews/MessagePreview.js +1 -1
- package/dist/server/fields/CallToActions.d.ts +12 -0
- package/dist/server/fields/CallToActions.js +27 -0
- package/dist/server/fields/Caption.js +3 -2
- package/dist/server/fields/Description.js +1 -1
- package/dist/server/fields/FreeFormContent.js +1 -1
- package/dist/server/fields/Headline.js +1 -1
- package/dist/server/fields/Quote.js +1 -1
- package/dist/server/fields/RichText.js +1 -0
- package/dist/server/fields/index.d.ts +1 -0
- package/dist/server/fields/index.js +1 -0
- package/dist/server/index.d.ts +2 -0
- package/dist/server/index.js +2 -0
- package/dist/server/layouts/BentoLayout.d.ts +289 -0
- package/dist/server/layouts/BentoLayout.js +25 -0
- package/dist/server/layouts/index.d.ts +1 -0
- package/dist/server/layouts/index.js +1 -0
- package/dist/server/panels/BlockPanel.js +1 -3
- package/dist/server/panels/ListPanel.d.ts +4 -4
- package/dist/server/panels/ListPanel.js +13 -2
- package/dist/server/panels/MessagePanel.d.ts +2 -6
- package/dist/server/panels/MessagePanel.js +2 -12
- package/dist/server/panels/TestimonialPanel.d.ts +44 -18
- package/dist/server/panels/TestimonialPanel.js +44 -19
- package/dist/server/panels/VisualPanel.d.ts +1 -1
- package/dist/server/panels/VisualPanel.js +0 -2
- package/dist/server/schema/Anchor.d.ts +1 -1
- package/dist/server/schema/Anchor.js +2 -2
- package/dist/server/schema/BlockConfig.js +1 -1
- package/dist/server/schema/ListPanelLayout.d.ts +6 -0
- package/dist/server/schema/ListPanelLayout.js +3 -0
- package/dist/server/utils/ReactUtils.d.ts +6 -0
- package/dist/server/utils/ReactUtils.js +25 -0
- package/dist/server/utils/index.d.ts +1 -0
- package/dist/{client/interaction/modal → server/utils}/index.js +1 -2
- package/dist/styles/Page.css +5 -0
- package/dist/styles/Section.css +52 -0
- package/dist/styles/blocks/Block-spacing.css +31 -38
- package/dist/styles/blocks/Block-theming.css +2 -4
- package/dist/styles/blocks/MediaLayout.css +16 -0
- package/dist/styles/blocks/Projects.css +0 -9
- package/dist/styles/blocks/RelatedPages.css +13 -0
- package/dist/styles/blocks/Stats.css +1 -30
- package/dist/styles/components/Carousel.css +128 -0
- package/dist/styles/components/_index.css +2 -1
- package/dist/styles/entities/Person.css +4 -4
- package/dist/styles/entities/Project.css +8 -2
- package/dist/styles/entities/UniqueSellingPoint.css +3 -3
- package/dist/styles/fields/Caption.css +2 -2
- package/dist/styles/fields/Description.css +2 -2
- package/dist/styles/fields/Icon.css +1 -1
- package/dist/styles/fields/Link.css +1 -1
- package/dist/styles/fields/Quote.css +2 -2
- package/dist/styles/fields/Title.css +1 -1
- package/dist/styles/index.css +2 -0
- package/dist/styles/layouts/BentoLayout.css +41 -0
- package/dist/styles/layouts/_index.css +1 -0
- package/dist/styles/panels/TestimonialPanel.css +4 -0
- package/package.json +2 -3
- package/dist/client/interaction/Popup.d.ts +0 -36
- package/dist/client/interaction/Popup.js +0 -244
- package/dist/client/interaction/Tooltip.d.ts +0 -16
- package/dist/client/interaction/Tooltip.js +0 -122
- package/dist/client/interaction/UILevel.d.ts +0 -1
- package/dist/client/interaction/UILevel.js +0 -2
- package/dist/client/interaction/backdrop/BackdropContainer.d.ts +0 -5
- package/dist/client/interaction/backdrop/BackdropContainer.js +0 -114
- package/dist/client/interaction/backdrop/BackdropContext.d.ts +0 -8
- package/dist/client/interaction/backdrop/BackdropContext.js +0 -6
- package/dist/client/interaction/backdrop/BackdropEvent.d.ts +0 -64
- package/dist/client/interaction/backdrop/BackdropEvent.js +0 -92
- package/dist/client/interaction/backdrop/index.d.ts +0 -4
- package/dist/client/interaction/backdrop/index.js +0 -20
- package/dist/client/interaction/backdrop/useBackdrop.d.ts +0 -13
- package/dist/client/interaction/backdrop/useBackdrop.js +0 -58
- package/dist/client/interaction/backdrop/useBackdropClick.d.ts +0 -2
- package/dist/client/interaction/backdrop/useBackdropClick.js +0 -21
- package/dist/client/interaction/backdrop/useBackdropVisible.d.ts +0 -1
- package/dist/client/interaction/backdrop/useBackdropVisible.js +0 -30
- package/dist/client/interaction/focus/FocusArea.d.ts +0 -10
- package/dist/client/interaction/focus/FocusArea.js +0 -38
- package/dist/client/interaction/focus/FocusContext.d.ts +0 -7
- package/dist/client/interaction/focus/FocusContext.js +0 -7
- package/dist/client/interaction/focus/FocusController.d.ts +0 -9
- package/dist/client/interaction/focus/FocusController.js +0 -40
- package/dist/client/interaction/focus/FocusService.d.ts +0 -20
- package/dist/client/interaction/focus/FocusService.js +0 -204
- package/dist/client/interaction/focus/LinkedList.d.ts +0 -18
- package/dist/client/interaction/focus/LinkedList.js +0 -122
- package/dist/client/interaction/focus/index.d.ts +0 -2
- package/dist/client/interaction/focus/index.js +0 -18
- package/dist/client/interaction/focus/useFocusService.d.ts +0 -2
- package/dist/client/interaction/focus/useFocusService.js +0 -14
- package/dist/client/interaction/modal/Modal.d.ts +0 -29
- package/dist/client/interaction/modal/Modal.js +0 -136
- package/dist/client/interaction/modal/ModalContainer.d.ts +0 -5
- package/dist/client/interaction/modal/ModalContainer.js +0 -104
- package/dist/client/interaction/modal/ModalContext.d.ts +0 -8
- package/dist/client/interaction/modal/ModalContext.js +0 -6
- package/dist/client/interaction/modal/ModalEvent.d.ts +0 -39
- package/dist/client/interaction/modal/ModalEvent.js +0 -53
- package/dist/client/interaction/modal/index.d.ts +0 -2
|
@@ -1,104 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ModalContainer = ModalContainer;
|
|
4
|
-
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
-
const funnel_core_1 = require("@nascentdigital/funnel-core");
|
|
6
|
-
const react_1 = require("react");
|
|
7
|
-
const react_hotkeys_hook_1 = require("react-hotkeys-hook");
|
|
8
|
-
const rxjs_1 = require("rxjs");
|
|
9
|
-
const ModalContext_1 = require("./ModalContext");
|
|
10
|
-
const ModalEvent_1 = require("./ModalEvent");
|
|
11
|
-
// component
|
|
12
|
-
function ModalContainer({ children }) {
|
|
13
|
-
// bind context
|
|
14
|
-
const [modal, setModal] = (0, react_1.useState)();
|
|
15
|
-
const context = (0, react_1.useMemo)(() => ({
|
|
16
|
-
eventBus: new rxjs_1.Subject()
|
|
17
|
-
}), []);
|
|
18
|
-
const modalsRef = (0, react_1.useRef)([]);
|
|
19
|
-
// update modal state based on show/hide
|
|
20
|
-
(0, react_1.useEffect)(() => {
|
|
21
|
-
// subscribe to open/close events
|
|
22
|
-
const { eventBus } = context;
|
|
23
|
-
const subscription = eventBus
|
|
24
|
-
.pipe((0, rxjs_1.filter)(({ action }) => action === 'open' || action === 'close'))
|
|
25
|
-
.subscribe(event => {
|
|
26
|
-
// handle open
|
|
27
|
-
const { id: modalId, action } = event;
|
|
28
|
-
const modals = modalsRef.current;
|
|
29
|
-
if (ModalEvent_1.ModalEvent.Open.guard(event)) {
|
|
30
|
-
// deactivate current modal (if any)
|
|
31
|
-
const activeModal = getActiveModal(modals);
|
|
32
|
-
if (activeModal) {
|
|
33
|
-
eventBus.next(ModalEvent_1.ModalEvent.Deactivate.create(activeModal.id));
|
|
34
|
-
}
|
|
35
|
-
// track new modal
|
|
36
|
-
const config = {
|
|
37
|
-
id: modalId,
|
|
38
|
-
dismissible: !event.disableDismiss
|
|
39
|
-
};
|
|
40
|
-
modals.push(config);
|
|
41
|
-
// activate modal
|
|
42
|
-
setModal(config);
|
|
43
|
-
}
|
|
44
|
-
// handle close
|
|
45
|
-
else if (action === 'close') {
|
|
46
|
-
// find modal (fail if it's not tracked)
|
|
47
|
-
const modalIndex = modals.findIndex(({ id }) => id === modalId);
|
|
48
|
-
if (modalIndex < 0) {
|
|
49
|
-
return;
|
|
50
|
-
}
|
|
51
|
-
// untrack modal
|
|
52
|
-
modals.splice(modalIndex, 1);
|
|
53
|
-
// reactivate previous modal (if any)
|
|
54
|
-
const activeModal = getActiveModal(modals);
|
|
55
|
-
if (activeModal) {
|
|
56
|
-
// update state
|
|
57
|
-
setModal(activeModal);
|
|
58
|
-
// reactivate
|
|
59
|
-
eventBus.next(ModalEvent_1.ModalEvent.Activate.create(activeModal.id));
|
|
60
|
-
}
|
|
61
|
-
// or unlock ui
|
|
62
|
-
else {
|
|
63
|
-
setModal(undefined);
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
});
|
|
67
|
-
// unmount
|
|
68
|
-
return () => subscription.unsubscribe();
|
|
69
|
-
}, [context]);
|
|
70
|
-
// handle lock/unlock of ui
|
|
71
|
-
(0, react_1.useEffect)(() => {
|
|
72
|
-
// handle ui lock
|
|
73
|
-
let unlock = undefined;
|
|
74
|
-
if (modal) {
|
|
75
|
-
unlock = funnel_core_1.Browser.lockFocus(`#${CSS.escape(modal.id)}`);
|
|
76
|
-
}
|
|
77
|
-
// unlock on unmount (if locked)
|
|
78
|
-
return () => unlock && unlock();
|
|
79
|
-
}, [modal]);
|
|
80
|
-
// close on escape
|
|
81
|
-
(0, react_hotkeys_hook_1.useHotkeys)('esc', () => {
|
|
82
|
-
// ignore if not dismissible
|
|
83
|
-
if (!modal || !modal.dismissible) {
|
|
84
|
-
return;
|
|
85
|
-
}
|
|
86
|
-
// send dismiss event (modal should dismiss via 'close' event)
|
|
87
|
-
context.eventBus.next(ModalEvent_1.ModalEvent.Dismiss.create(modal.id));
|
|
88
|
-
}, {
|
|
89
|
-
enabled: (modal === null || modal === void 0 ? void 0 : modal.dismissible) === true,
|
|
90
|
-
enableOnFormTags: ['input', 'textarea']
|
|
91
|
-
}, [modal]);
|
|
92
|
-
// skip for SSR
|
|
93
|
-
if (!funnel_core_1.Browser.available) {
|
|
94
|
-
return children;
|
|
95
|
-
}
|
|
96
|
-
// render
|
|
97
|
-
return ((0, jsx_runtime_1.jsx)(ModalContext_1.ModalContext.Provider, { value: context, children: children }));
|
|
98
|
-
}
|
|
99
|
-
function getActiveModal(modals) {
|
|
100
|
-
const modalCount = modals.length;
|
|
101
|
-
return modalCount > 0
|
|
102
|
-
? modals[modalCount - 1]
|
|
103
|
-
: undefined;
|
|
104
|
-
}
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import { Modal } from './Modal';
|
|
2
|
-
export type ModalEvent = ModalEvent.Open | ModalEvent.Activate | ModalEvent.Deactivate | ModalEvent.Dismiss | ModalEvent.Close;
|
|
3
|
-
export declare namespace ModalEvent {
|
|
4
|
-
export type Action = 'open' | 'activate' | 'deactivate' | 'dismiss' | 'close';
|
|
5
|
-
interface Base {
|
|
6
|
-
id: Modal.Id;
|
|
7
|
-
action: ModalEvent.Action;
|
|
8
|
-
}
|
|
9
|
-
export interface Open extends Base {
|
|
10
|
-
action: 'open';
|
|
11
|
-
disableDismiss: boolean;
|
|
12
|
-
}
|
|
13
|
-
export namespace Open {
|
|
14
|
-
function guard(event: ModalEvent): event is Open;
|
|
15
|
-
function create(id: Modal.Id, disableDismiss?: boolean): Open;
|
|
16
|
-
}
|
|
17
|
-
export interface Activate extends Base {
|
|
18
|
-
action: 'activate';
|
|
19
|
-
}
|
|
20
|
-
export namespace Activate {
|
|
21
|
-
function create(id: Modal.Id): Activate;
|
|
22
|
-
}
|
|
23
|
-
export interface Deactivate extends Base {
|
|
24
|
-
action: 'deactivate';
|
|
25
|
-
}
|
|
26
|
-
export namespace Deactivate {
|
|
27
|
-
function create(id: Modal.Id): Deactivate;
|
|
28
|
-
}
|
|
29
|
-
export interface Dismiss extends Base {
|
|
30
|
-
action: 'dismiss';
|
|
31
|
-
}
|
|
32
|
-
export namespace Dismiss {
|
|
33
|
-
function create(id: Modal.Id): Dismiss;
|
|
34
|
-
}
|
|
35
|
-
export interface Close extends Base {
|
|
36
|
-
action: 'close';
|
|
37
|
-
}
|
|
38
|
-
export {};
|
|
39
|
-
}
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ModalEvent = void 0;
|
|
4
|
-
// extension
|
|
5
|
-
var ModalEvent;
|
|
6
|
-
(function (ModalEvent) {
|
|
7
|
-
let Open;
|
|
8
|
-
(function (Open) {
|
|
9
|
-
// helpers
|
|
10
|
-
function guard(event) {
|
|
11
|
-
return event.action === 'open';
|
|
12
|
-
}
|
|
13
|
-
Open.guard = guard;
|
|
14
|
-
function create(id, disableDismiss = false) {
|
|
15
|
-
return {
|
|
16
|
-
id,
|
|
17
|
-
action: 'open',
|
|
18
|
-
disableDismiss
|
|
19
|
-
};
|
|
20
|
-
}
|
|
21
|
-
Open.create = create;
|
|
22
|
-
})(Open = ModalEvent.Open || (ModalEvent.Open = {}));
|
|
23
|
-
let Activate;
|
|
24
|
-
(function (Activate) {
|
|
25
|
-
function create(id) {
|
|
26
|
-
return {
|
|
27
|
-
id,
|
|
28
|
-
action: 'activate'
|
|
29
|
-
};
|
|
30
|
-
}
|
|
31
|
-
Activate.create = create;
|
|
32
|
-
})(Activate = ModalEvent.Activate || (ModalEvent.Activate = {}));
|
|
33
|
-
let Deactivate;
|
|
34
|
-
(function (Deactivate) {
|
|
35
|
-
function create(id) {
|
|
36
|
-
return {
|
|
37
|
-
id,
|
|
38
|
-
action: 'deactivate'
|
|
39
|
-
};
|
|
40
|
-
}
|
|
41
|
-
Deactivate.create = create;
|
|
42
|
-
})(Deactivate = ModalEvent.Deactivate || (ModalEvent.Deactivate = {}));
|
|
43
|
-
let Dismiss;
|
|
44
|
-
(function (Dismiss) {
|
|
45
|
-
function create(id) {
|
|
46
|
-
return {
|
|
47
|
-
id,
|
|
48
|
-
action: 'dismiss'
|
|
49
|
-
};
|
|
50
|
-
}
|
|
51
|
-
Dismiss.create = create;
|
|
52
|
-
})(Dismiss = ModalEvent.Dismiss || (ModalEvent.Dismiss = {}));
|
|
53
|
-
})(ModalEvent || (exports.ModalEvent = ModalEvent = {}));
|