@nascentdigital/funnel-ui 4.5.2 → 4.5.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (132) hide show
  1. package/dist/Tailwind.d.ts +1 -1
  2. package/dist/Tailwind.js +70 -24
  3. package/dist/client/hooks/breakpoint/BreakpointContainer.d.ts +1 -1
  4. package/dist/client/hooks/breakpoint/BreakpointContainer.js +3 -1
  5. package/dist/client/interaction/Carousel.d.ts +1 -1
  6. package/dist/client/interaction/Carousel.js +28 -30
  7. package/dist/client/interaction/index.d.ts +0 -6
  8. package/dist/client/interaction/index.js +0 -6
  9. package/dist/server/Page.d.ts +15 -0
  10. package/dist/server/Page.js +70 -0
  11. package/dist/server/blocks/Block.d.ts +4 -2
  12. package/dist/server/blocks/Block.js +10 -3
  13. package/dist/server/blocks/Editorial.d.ts +2 -2
  14. package/dist/server/blocks/Editorial.js +4 -4
  15. package/dist/server/blocks/Form.d.ts +2 -2
  16. package/dist/server/blocks/Form.js +3 -3
  17. package/dist/server/blocks/Message.js +2 -1
  18. package/dist/server/blocks/Projects.d.ts +29 -37
  19. package/dist/server/blocks/Projects.js +13 -84
  20. package/dist/server/blocks/RelatedPages.d.ts +58 -0
  21. package/dist/server/blocks/RelatedPages.js +99 -0
  22. package/dist/server/blocks/Stats.d.ts +19 -31
  23. package/dist/server/blocks/Stats.js +13 -57
  24. package/dist/server/blocks/Testimonial.d.ts +2 -2
  25. package/dist/server/blocks/Testimonial.js +17 -14
  26. package/dist/server/blocks/Testimonials.d.ts +35 -35
  27. package/dist/server/blocks/Testimonials.js +21 -66
  28. package/dist/server/blocks/index.d.ts +2 -0
  29. package/dist/server/blocks/index.js +2 -0
  30. package/dist/server/entities/previews/MessagePreview.d.ts +2 -2
  31. package/dist/server/entities/previews/MessagePreview.js +1 -1
  32. package/dist/server/fields/CallToActions.d.ts +12 -0
  33. package/dist/server/fields/CallToActions.js +27 -0
  34. package/dist/server/fields/Caption.js +3 -2
  35. package/dist/server/fields/Description.js +1 -1
  36. package/dist/server/fields/FreeFormContent.js +1 -1
  37. package/dist/server/fields/Headline.js +1 -1
  38. package/dist/server/fields/Quote.js +1 -1
  39. package/dist/server/fields/RichText.js +1 -0
  40. package/dist/server/fields/index.d.ts +1 -0
  41. package/dist/server/fields/index.js +1 -0
  42. package/dist/server/index.d.ts +2 -0
  43. package/dist/server/index.js +2 -0
  44. package/dist/server/layouts/BentoLayout.d.ts +289 -0
  45. package/dist/server/layouts/BentoLayout.js +25 -0
  46. package/dist/server/layouts/index.d.ts +1 -0
  47. package/dist/server/layouts/index.js +1 -0
  48. package/dist/server/panels/BlockPanel.js +1 -3
  49. package/dist/server/panels/ListPanel.d.ts +4 -4
  50. package/dist/server/panels/ListPanel.js +13 -2
  51. package/dist/server/panels/MessagePanel.d.ts +2 -6
  52. package/dist/server/panels/MessagePanel.js +2 -12
  53. package/dist/server/panels/TestimonialPanel.d.ts +44 -18
  54. package/dist/server/panels/TestimonialPanel.js +44 -19
  55. package/dist/server/panels/VisualPanel.d.ts +1 -1
  56. package/dist/server/panels/VisualPanel.js +0 -2
  57. package/dist/server/schema/Anchor.d.ts +1 -1
  58. package/dist/server/schema/Anchor.js +2 -2
  59. package/dist/server/schema/BlockConfig.js +1 -1
  60. package/dist/server/schema/ListPanelLayout.d.ts +6 -0
  61. package/dist/server/schema/ListPanelLayout.js +3 -0
  62. package/dist/server/utils/ReactUtils.d.ts +6 -0
  63. package/dist/server/utils/ReactUtils.js +25 -0
  64. package/dist/server/utils/index.d.ts +1 -0
  65. package/dist/{client/interaction/modal → server/utils}/index.js +1 -2
  66. package/dist/styles/Page.css +5 -0
  67. package/dist/styles/Section.css +52 -0
  68. package/dist/styles/blocks/Block-spacing.css +31 -38
  69. package/dist/styles/blocks/Block-theming.css +2 -4
  70. package/dist/styles/blocks/MediaLayout.css +16 -0
  71. package/dist/styles/blocks/Projects.css +0 -9
  72. package/dist/styles/blocks/RelatedPages.css +13 -0
  73. package/dist/styles/blocks/Stats.css +1 -30
  74. package/dist/styles/components/Carousel.css +128 -0
  75. package/dist/styles/components/_index.css +2 -1
  76. package/dist/styles/entities/Person.css +4 -4
  77. package/dist/styles/entities/Project.css +8 -2
  78. package/dist/styles/entities/UniqueSellingPoint.css +3 -3
  79. package/dist/styles/fields/Caption.css +2 -2
  80. package/dist/styles/fields/Description.css +2 -2
  81. package/dist/styles/fields/Icon.css +1 -1
  82. package/dist/styles/fields/Link.css +1 -1
  83. package/dist/styles/fields/Quote.css +2 -2
  84. package/dist/styles/fields/Title.css +1 -1
  85. package/dist/styles/index.css +2 -0
  86. package/dist/styles/layouts/BentoLayout.css +41 -0
  87. package/dist/styles/layouts/_index.css +1 -0
  88. package/dist/styles/panels/TestimonialPanel.css +4 -0
  89. package/package.json +2 -3
  90. package/dist/client/interaction/Popup.d.ts +0 -36
  91. package/dist/client/interaction/Popup.js +0 -244
  92. package/dist/client/interaction/Tooltip.d.ts +0 -16
  93. package/dist/client/interaction/Tooltip.js +0 -122
  94. package/dist/client/interaction/UILevel.d.ts +0 -1
  95. package/dist/client/interaction/UILevel.js +0 -2
  96. package/dist/client/interaction/backdrop/BackdropContainer.d.ts +0 -5
  97. package/dist/client/interaction/backdrop/BackdropContainer.js +0 -114
  98. package/dist/client/interaction/backdrop/BackdropContext.d.ts +0 -8
  99. package/dist/client/interaction/backdrop/BackdropContext.js +0 -6
  100. package/dist/client/interaction/backdrop/BackdropEvent.d.ts +0 -64
  101. package/dist/client/interaction/backdrop/BackdropEvent.js +0 -92
  102. package/dist/client/interaction/backdrop/index.d.ts +0 -4
  103. package/dist/client/interaction/backdrop/index.js +0 -20
  104. package/dist/client/interaction/backdrop/useBackdrop.d.ts +0 -13
  105. package/dist/client/interaction/backdrop/useBackdrop.js +0 -58
  106. package/dist/client/interaction/backdrop/useBackdropClick.d.ts +0 -2
  107. package/dist/client/interaction/backdrop/useBackdropClick.js +0 -21
  108. package/dist/client/interaction/backdrop/useBackdropVisible.d.ts +0 -1
  109. package/dist/client/interaction/backdrop/useBackdropVisible.js +0 -30
  110. package/dist/client/interaction/focus/FocusArea.d.ts +0 -10
  111. package/dist/client/interaction/focus/FocusArea.js +0 -38
  112. package/dist/client/interaction/focus/FocusContext.d.ts +0 -7
  113. package/dist/client/interaction/focus/FocusContext.js +0 -7
  114. package/dist/client/interaction/focus/FocusController.d.ts +0 -9
  115. package/dist/client/interaction/focus/FocusController.js +0 -40
  116. package/dist/client/interaction/focus/FocusService.d.ts +0 -20
  117. package/dist/client/interaction/focus/FocusService.js +0 -204
  118. package/dist/client/interaction/focus/LinkedList.d.ts +0 -18
  119. package/dist/client/interaction/focus/LinkedList.js +0 -122
  120. package/dist/client/interaction/focus/index.d.ts +0 -2
  121. package/dist/client/interaction/focus/index.js +0 -18
  122. package/dist/client/interaction/focus/useFocusService.d.ts +0 -2
  123. package/dist/client/interaction/focus/useFocusService.js +0 -14
  124. package/dist/client/interaction/modal/Modal.d.ts +0 -29
  125. package/dist/client/interaction/modal/Modal.js +0 -136
  126. package/dist/client/interaction/modal/ModalContainer.d.ts +0 -5
  127. package/dist/client/interaction/modal/ModalContainer.js +0 -104
  128. package/dist/client/interaction/modal/ModalContext.d.ts +0 -8
  129. package/dist/client/interaction/modal/ModalContext.js +0 -6
  130. package/dist/client/interaction/modal/ModalEvent.d.ts +0 -39
  131. package/dist/client/interaction/modal/ModalEvent.js +0 -53
  132. package/dist/client/interaction/modal/index.d.ts +0 -2
@@ -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,8 +0,0 @@
1
- import { Subject } from 'rxjs';
2
- import { ModalEvent } from './ModalEvent';
3
- export declare const ModalContext: import("react").Context<ModalContext.Data>;
4
- export declare namespace ModalContext {
5
- type Data = {
6
- eventBus: Subject<ModalEvent>;
7
- };
8
- }
@@ -1,6 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ModalContext = void 0;
4
- const react_1 = require("react");
5
- // context
6
- exports.ModalContext = (0, react_1.createContext)({});
@@ -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 = {}));
@@ -1,2 +0,0 @@
1
- export * from './Modal';
2
- export * from './ModalContainer';