@nascentdigital/funnel-ui 4.5.3 → 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 (74) hide show
  1. package/dist/Tailwind.d.ts +1 -1
  2. package/dist/Tailwind.js +70 -24
  3. package/dist/client/interaction/Carousel.d.ts +1 -1
  4. package/dist/client/interaction/Carousel.js +28 -30
  5. package/dist/server/Page.d.ts +15 -0
  6. package/dist/server/Page.js +70 -0
  7. package/dist/server/blocks/Block.d.ts +4 -2
  8. package/dist/server/blocks/Block.js +9 -2
  9. package/dist/server/blocks/Editorial.d.ts +2 -2
  10. package/dist/server/blocks/Editorial.js +4 -4
  11. package/dist/server/blocks/Form.d.ts +2 -2
  12. package/dist/server/blocks/Form.js +3 -3
  13. package/dist/server/blocks/Projects.d.ts +29 -37
  14. package/dist/server/blocks/Projects.js +13 -84
  15. package/dist/server/blocks/RelatedPages.d.ts +58 -0
  16. package/dist/server/blocks/RelatedPages.js +99 -0
  17. package/dist/server/blocks/Stats.d.ts +19 -31
  18. package/dist/server/blocks/Stats.js +13 -57
  19. package/dist/server/blocks/Testimonial.d.ts +2 -2
  20. package/dist/server/blocks/Testimonial.js +4 -4
  21. package/dist/server/blocks/index.d.ts +1 -0
  22. package/dist/server/blocks/index.js +1 -0
  23. package/dist/server/entities/previews/MessagePreview.d.ts +2 -2
  24. package/dist/server/entities/previews/MessagePreview.js +1 -1
  25. package/dist/server/fields/Caption.js +3 -2
  26. package/dist/server/fields/Description.js +1 -1
  27. package/dist/server/fields/FreeFormContent.js +1 -1
  28. package/dist/server/fields/Headline.js +1 -1
  29. package/dist/server/fields/Quote.js +1 -1
  30. package/dist/server/fields/RichText.js +1 -0
  31. package/dist/server/index.d.ts +2 -0
  32. package/dist/server/index.js +2 -0
  33. package/dist/server/layouts/BentoLayout.d.ts +289 -0
  34. package/dist/server/layouts/BentoLayout.js +25 -0
  35. package/dist/server/layouts/index.d.ts +1 -0
  36. package/dist/server/layouts/index.js +1 -0
  37. package/dist/server/panels/BlockPanel.js +0 -1
  38. package/dist/server/panels/ListPanel.d.ts +4 -4
  39. package/dist/server/panels/ListPanel.js +13 -2
  40. package/dist/server/panels/MessagePanel.js +0 -3
  41. package/dist/server/panels/VisualPanel.js +0 -2
  42. package/dist/server/schema/Anchor.d.ts +1 -1
  43. package/dist/server/schema/Anchor.js +2 -2
  44. package/dist/server/schema/BlockConfig.js +1 -1
  45. package/dist/server/schema/ListPanelLayout.d.ts +6 -0
  46. package/dist/server/schema/ListPanelLayout.js +3 -0
  47. package/dist/server/utils/ReactUtils.d.ts +6 -0
  48. package/dist/server/utils/ReactUtils.js +25 -0
  49. package/dist/server/utils/index.d.ts +1 -0
  50. package/dist/server/utils/index.js +17 -0
  51. package/dist/styles/Page.css +5 -0
  52. package/dist/styles/Section.css +52 -0
  53. package/dist/styles/blocks/Block-spacing.css +31 -38
  54. package/dist/styles/blocks/Block-theming.css +2 -4
  55. package/dist/styles/blocks/MediaLayout.css +16 -0
  56. package/dist/styles/blocks/Projects.css +0 -9
  57. package/dist/styles/blocks/RelatedPages.css +13 -0
  58. package/dist/styles/blocks/Stats.css +1 -30
  59. package/dist/styles/components/Carousel.css +128 -0
  60. package/dist/styles/components/_index.css +2 -1
  61. package/dist/styles/entities/Person.css +4 -4
  62. package/dist/styles/entities/Project.css +8 -2
  63. package/dist/styles/entities/UniqueSellingPoint.css +3 -3
  64. package/dist/styles/fields/Caption.css +2 -2
  65. package/dist/styles/fields/Description.css +2 -2
  66. package/dist/styles/fields/Icon.css +1 -1
  67. package/dist/styles/fields/Link.css +1 -1
  68. package/dist/styles/fields/Quote.css +2 -2
  69. package/dist/styles/fields/Title.css +1 -1
  70. package/dist/styles/index.css +2 -0
  71. package/dist/styles/layouts/BentoLayout.css +41 -0
  72. package/dist/styles/layouts/_index.css +1 -0
  73. package/dist/styles/panels/TestimonialPanel.css +4 -0
  74. package/package.json +2 -3
@@ -0,0 +1,52 @@
1
+ @layer components {
2
+
3
+ /* root variables */
4
+ :root {
5
+
6
+ /* theming */
7
+ --nd-section-fg: #000;
8
+ --nd-section-bg: #FFF;
9
+
10
+ /* spacing */
11
+ --nd-section-pt: theme('spacing.l17');
12
+ --nd-section-pb: theme('spacing.l17');
13
+ --nd-section-gap-sm: theme('spacing.l13');
14
+ --nd-section-gap-md: theme('spacing.l15');
15
+ --nd-section-gap-lg: theme('spacing.l17');
16
+
17
+ @media screen(sm) {
18
+ --nd-section-pt: theme('spacing.l17');
19
+ --nd-section-pb: theme('spacing.l17');
20
+ --nd-section-gap-sm: theme('spacing.l13');
21
+ --nd-section-gap-md: theme('spacing.l15');
22
+ --nd-section-gap-lg: theme('spacing.l17');
23
+ }
24
+ @media screen(md) {
25
+ --nd-section-pt: theme('spacing.l18');
26
+ --nd-section-pb: theme('spacing.l18');
27
+ --nd-section-gap-sm: theme('spacing.l14');
28
+ --nd-section-gap-md: theme('spacing.l16');
29
+ --nd-section-gap-lg: theme('spacing.l18');
30
+ }
31
+ @media screen(lg) {
32
+ --nd-section-pt: theme('spacing.l18');
33
+ --nd-section-pb: theme('spacing.l18');
34
+ --nd-section-gap-sm: theme('spacing.l15');
35
+ --nd-section-gap-md: theme('spacing.l17');
36
+ --nd-section-gap-lg: theme('spacing.l18');
37
+ }
38
+ @media screen(xl) {
39
+ --nd-section-pt: theme('spacing.l18');
40
+ --nd-section-pb: theme('spacing.l18');
41
+ --nd-section-gap-sm: theme('spacing.l15');
42
+ --nd-section-gap-md: theme('spacing.l17');
43
+ --nd-section-gap-lg: theme('spacing.l18');
44
+ }
45
+ }
46
+
47
+ /* theming */
48
+ .nd-Section {
49
+ @apply text-[--nd-section-fg];
50
+ background: var(--site-color-bg);
51
+ }
52
+ }
@@ -1,43 +1,5 @@
1
1
  @layer components {
2
2
 
3
- /* spacing: variables */
4
- :root {
5
- --nd-section-pt: theme('spacing.l17');
6
- --nd-section-pb: theme('spacing.l17');
7
- --nd-section-gap-sm: theme('spacing.l13');
8
- --nd-section-gap-md: theme('spacing.l15');
9
- --nd-section-gap-lg: theme('spacing.l17');
10
-
11
- @media screen(sm) {
12
- --nd-section-pt: theme('spacing.l17');
13
- --nd-section-pb: theme('spacing.l17');
14
- --nd-section-gap-sm: theme('spacing.l13');
15
- --nd-section-gap-md: theme('spacing.l15');
16
- --nd-section-gap-lg: theme('spacing.l17');
17
- }
18
- @media screen(md) {
19
- --nd-section-pt: theme('spacing.l18');
20
- --nd-section-pb: theme('spacing.l18');
21
- --nd-section-gap-sm: theme('spacing.l14');
22
- --nd-section-gap-md: theme('spacing.l16');
23
- --nd-section-gap-lg: theme('spacing.l18');
24
- }
25
- @media screen(lg) {
26
- --nd-section-pt: theme('spacing.l18');
27
- --nd-section-pb: theme('spacing.l18');
28
- --nd-section-gap-sm: theme('spacing.l15');
29
- --nd-section-gap-md: theme('spacing.l17');
30
- --nd-section-gap-lg: theme('spacing.l18');
31
- }
32
- @media screen(xl) {
33
- --nd-section-pt: theme('spacing.l18');
34
- --nd-section-pb: theme('spacing.l18');
35
- --nd-section-gap-sm: theme('spacing.l15');
36
- --nd-section-gap-md: theme('spacing.l17');
37
- --nd-section-gap-lg: theme('spacing.l18');
38
- }
39
- }
40
-
41
3
  /* spacing + gaps */
42
4
  .nd-Block {
43
5
 
@@ -49,6 +11,18 @@
49
11
  --nd-section-pb-value: var(--nd-section-pb);
50
12
  --nd-section-gap-value: var(--nd-section-gap);
51
13
 
14
+ /* section padding */
15
+ &:first-child {
16
+ padding-top: var(--nd-section-pt-value);
17
+ }
18
+ &:last-child {
19
+ padding-bottom: var(--nd-section-pb-value);
20
+ }
21
+ /* inter-block gaps */
22
+ + .nd-Block {
23
+ padding-top: var(--nd-section-gap-value);
24
+ }
25
+
52
26
  /* tight gap */
53
27
  &.nd-Block-spacing-sm + .nd-Block {
54
28
  --nd-section-gap: var(--nd-section-gap-sm);
@@ -104,6 +78,21 @@
104
78
  }
105
79
 
106
80
  /* crawl-up */
81
+ .nd-Section:has(+ .nd-Section > .nd-Block.nd-Block-crawlUp:first-child) {
82
+ padding-bottom: var(--nd-section-pb);
83
+
84
+ + .nd-Section > .nd-Block.nd-Block-crawlUp:first-child {
85
+ @apply py-0;
86
+
87
+ > * {
88
+ @apply -translate-y-[var(--nd-section-pb)];
89
+ }
90
+
91
+ + .nd-Block {
92
+ @apply pt-0;
93
+ }
94
+ }
95
+ }
107
96
  .nd-Block:has(+ .nd-Block.nd-Block-crawlUp):not(:first-child) {
108
97
  --nd-section-pb-value: calc(2 * var(--nd-section-pb));
109
98
 
@@ -113,6 +102,10 @@
113
102
  > * {
114
103
  @apply -translate-y-[var(--nd-section-pb)];
115
104
  }
105
+
106
+ + .nd-Block {
107
+ @apply pt-0;
108
+ }
116
109
  }
117
110
  }
118
111
 
@@ -2,13 +2,11 @@
2
2
 
3
3
  /* theming: variables */
4
4
  :root {
5
- --nd-block-fg: #000;
6
- --nd-block-bg: #FFF;
5
+ --nd-block-fg: currentColor;
7
6
  }
8
7
 
9
8
  /* theming */
10
9
  .nd-Block {
11
- color: var(--nd-block-fg);
12
- background-color: var(--nd-block-bg);
10
+ color: var(--nd-block-fg, currentColor);
13
11
  }
14
12
  }
@@ -45,6 +45,22 @@
45
45
  }
46
46
  }
47
47
 
48
+ /* puzzle */
49
+ .nd-PuzzleLayout {
50
+ > * {
51
+ &:nth-child(3n + 1):has(> .nd-Visual) {
52
+ @apply @panel-md:w-8/12;
53
+ @apply @panel-md:aspect-video;
54
+ }
55
+ &:nth-child(3n + 2):has(> .nd-Visual) {
56
+ @apply @panel-md:aspect-square;
57
+ }
58
+ &:nth-child(3n + 3):has(> .nd-Visual) {
59
+ @apply @panel-md:aspect-camera;
60
+ }
61
+ }
62
+ }
63
+
48
64
  /* vertical stack */
49
65
  .nd-StackLayout.nd-StackLayout-direction-vertical {
50
66
  .nd-MediaLayout-itemWrap {
@@ -5,14 +5,5 @@
5
5
 
6
6
  /* base */
7
7
  .nd-Projects {
8
-
9
-
10
-
11
-
12
- }
13
-
14
- /* layout: masonry */
15
- .nd-Projects .nd-MasonryLayout {
16
- @apply container-p;
17
8
  }
18
9
  }
@@ -0,0 +1,13 @@
1
+ @layer components {
2
+
3
+ :root {
4
+ }
5
+
6
+ /* base */
7
+ .nd-RelatedPages {
8
+ }
9
+
10
+ /* visual aspect ratios */
11
+ .nd-RelatedPages .nd-ListPanel {
12
+ }
13
+ }
@@ -1,38 +1,9 @@
1
1
  @layer components {
2
2
 
3
3
  :root {
4
- --nd-stats-content-gap: theme('spacing.l8');
5
- --nd-stats-copy-gap: theme('spacing.l8');
6
- --nd-stats-stats-gap: theme('spacing.l8');
7
- --nd-stats-stats-gap-x: var(--nd-stats-stats-gap);
8
- --nd-stats-stats-gap-y: var(--nd-stats-stats-gap);
9
- }
10
-
11
- .nd-Stats-content {
12
- @apply container-p;
13
- @apply flex flex-col gap-[var(--nd-stats-content-gap)];
14
- }
15
4
 
16
- .nd-Stats-copy {
17
- @apply flex flex-col gap-[var(--nd-stats-copy-gap)];
18
5
  }
19
6
 
20
- /* classic layout */
21
- .nd-Stats-layout-classic {
22
- .nd-Stats-stats {
23
- display: grid;
24
- column-gap: var(--nd-stats-stats-gap-x);
25
- row-gap: var(--nd-stats-stats-gap-y);
26
- grid-template-columns: 1fr;
27
- overflow-wrap: break-word;
28
-
29
- @media screen(md) {
30
- grid-template-columns: repeat(var(--columns, 2), minmax(0, 1fr));
31
-
32
- &[data-stats-count="3"],
33
- &[data-stats-count="5"],
34
- &[data-stats-count="6"] {--columns: 3}
35
- }
36
- }
7
+ .nd-Stats {
37
8
  }
38
9
  }
@@ -0,0 +1,128 @@
1
+ @layer components {
2
+
3
+ :root {
4
+ --nd-carousel-prev-content: "Prev";
5
+ --nd-carousel-next-content: "Next";
6
+ --nd-carousel-controls-gap: 0px;
7
+ --nd-carousel-controls-btn: unset;
8
+ --nd-carousel-controls-btn-bg: unset;
9
+ --nd-carousel-controls-btn-padding: unset;
10
+ --nd-carousel-controls-btn-rounding: unset;
11
+ --nd-carousel-controls-margin: unset;
12
+ --nd-carousel-controls-btn-icon-size: unset;
13
+ }
14
+
15
+ /* empty */
16
+ .nd-Carousel-empty {
17
+ }
18
+
19
+ /* single-item */
20
+ .nd-Carousel-single {
21
+ }
22
+
23
+ /* base */
24
+ .nd-Carousel-root {
25
+
26
+ /* pager */
27
+ .nd-Carousel-pager {
28
+ @apply relative whitespace-nowrap;
29
+
30
+ /* clipping enabled */
31
+ @apply overflow-hidden;
32
+ /*&:not([class*="nd-Carousel-disableClipping"]) {*/
33
+ /* @apply overflow-hidden;*/
34
+ /*}*/
35
+
36
+ /* clipping disabled */
37
+ /*&.nd-Carousel-disableClipping {*/
38
+ /* @apply overflow-visible;*/
39
+ /*}*/
40
+ /*&.nd-Carousel-disableClipping-left {*/
41
+ /* clip-path: polygon(-100% -100%, 100% -100%, 100% 100%, -100% 100%);*/
42
+ /*}*/
43
+ /*&.nd-Carousel-disableClipping-right {*/
44
+ /* clip-path: polygon(0 -100%, 200% -100%, 200% 100%, 0% 100%);*/
45
+ /*}*/
46
+ }
47
+
48
+ /* pages container (drag + translate) */
49
+ .nd-Carousel-pages {
50
+ @apply absolute inset-y-0 w-full flex;
51
+ }
52
+
53
+ /* pages accessibility container (not for interaction) */
54
+ .nd-Carousel-pagesAlt {
55
+ @apply flex invisible;
56
+ }
57
+
58
+ /* page */
59
+ .nd-Carousel-page {
60
+ @apply inline-block w-full shrink-0 pointer-events-none;
61
+
62
+ &.nd-Carousel-pageActive {
63
+ @apply pointer-events-auto;
64
+ }
65
+ }
66
+
67
+ /* controls */
68
+ .nd-Carousel-controls {
69
+ margin: var(--nd-carousel-controls-margin);
70
+ @apply flex items-center gap-[var(--nd-carousel-controls-gap)];
71
+
72
+ /* prev */
73
+ .nd-Carousel-prev::after {
74
+ @apply block content-empty;
75
+ mask: var(--nd-carousel-prev-content);
76
+ background-color: var(--nd-carousel-controls-btn);
77
+ width: var(--nd-carousel-controls-btn-icon-size);
78
+ height: var(--nd-carousel-controls-btn-icon-size);
79
+ }
80
+
81
+ /* next */
82
+ .nd-Carousel-next::after {
83
+ @apply block content-empty;
84
+ mask: var(--nd-carousel-next-content);
85
+ background-color: var(--nd-carousel-controls-btn);
86
+ width: var(--nd-carousel-controls-btn-icon-size);
87
+ height: var(--nd-carousel-controls-btn-icon-size);
88
+ }
89
+
90
+ .nd-Carousel-prev,
91
+ .nd-Carousel-next {
92
+ color: var(--nd-carousel-controls-btn);
93
+ background-color: var(--nd-carousel-controls-btn-bg);
94
+ padding: var(--nd-carousel-controls-btn-padding);
95
+ border-radius: var(--nd-carousel-controls-btn-rounding);
96
+ }
97
+
98
+ /* play/pause */
99
+ .nd-Carousel-play {
100
+ }
101
+ }
102
+
103
+ /* indicators */
104
+ .nd-Carousel-indicators {
105
+ @apply flex gap-l4 items-center;
106
+
107
+ .nd-Carousel-indicator {
108
+ @apply block;
109
+
110
+ .nd-Carousel-indicatorBtn {
111
+ @apply block w-16 h-16 rounded-full overflow-hidden text-transparent interpolate;
112
+ }
113
+
114
+ &.nd-Carousel-indicatorActive {
115
+ .nd-Carousel-indicatorBtn {
116
+ }
117
+ }
118
+ }
119
+ }
120
+ }
121
+
122
+ /* utility classes */
123
+ .nd-Carousel-disableClipping {
124
+ .nd-Carousel-pager {
125
+ @apply overflow-visible;
126
+ }
127
+ }
128
+ }
@@ -1,3 +1,4 @@
1
1
  @import "./embed/_index.css";
2
+ @import "./Carousel.css";
2
3
  @import "./container.css";
3
- @import "./divider.css";
4
+ @import "./divider.css";
@@ -29,7 +29,7 @@
29
29
  @apply text-pretty break-normal;
30
30
  font: var(--nd-person-title-font);
31
31
  letter-spacing: var(--nd-person-title-letterspacing);
32
- color: var(--nd-person-title-color, var(--nd-block-fg));
32
+ color: var(--nd-person-title-color, currentColor);
33
33
  font-variant-numeric: lining-nums proportional-nums;
34
34
 
35
35
  &:not(:last-child):after {
@@ -41,7 +41,7 @@
41
41
  @apply text-pretty break-normal;
42
42
  font: var(--nd-person-name-font);
43
43
  letter-spacing: var(--nd-person-name-letterspacing);
44
- color: var(--nd-person-name-color, var(--nd-block-fg));
44
+ color: var(--nd-person-name-color, currentColor);
45
45
  font-variant-numeric: lining-nums proportional-nums;
46
46
 
47
47
  &:not(:last-child):after {
@@ -53,7 +53,7 @@
53
53
  @apply text-pretty break-normal;
54
54
  font: var(--nd-person-company-font);
55
55
  letter-spacing: var(--nd-person-company-letterspacing);
56
- color: var(--nd-person-company-color, var(--nd-block-fg));
56
+ color: var(--nd-person-company-color, currentColor);
57
57
  font-variant-numeric: lining-nums proportional-nums;
58
58
 
59
59
  &:not(:last-child):after {
@@ -65,7 +65,7 @@
65
65
  @apply text-pretty break-normal;
66
66
  font: var(--nd-person-location-font);
67
67
  letter-spacing: var(--nd-person-location-letterspacing);
68
- color: var(--nd-person-location-color, var(--nd-block-fg));
68
+ color: var(--nd-person-location-color, currentColor);
69
69
  font-variant-numeric: lining-nums proportional-nums;
70
70
 
71
71
  &:not(:last-child):after {
@@ -4,21 +4,27 @@
4
4
  --nd-project-bg: unset;
5
5
  --nd-project-padding: theme('spacing.l9');
6
6
  --nd-project-copy-gap: theme('spacing.l5');
7
+ --nd-project-content-gap: unset;
7
8
  --nd-project-client-margin: unset;
8
9
  --nd-project-name-margin: unset;
9
10
  --nd-project-headline-margin: unset;
10
11
  --nd-project-link-margin: unset;
11
12
  --nd-project-name-font: normal 500 20px/1 Helvetica, Arial, san-serif;
12
13
  --nd-project-name-letterspacing: unset;
13
- --nd-project-name-color: var(--nd-block-fg);
14
+ --nd-project-name-color: currentColor;
14
15
  --nd-project-headline-font: normal 500 24px/1 Helvetica, Arial, san-serif;
15
16
  --nd-project-headline-letterspacing: unset;
16
- --nd-project-headline-color: var(--nd-block-fg);
17
+ --nd-project-headline-color: currentColor;
17
18
  }
18
19
 
19
20
  .nd-Project {
20
21
  background: var(--nd-project-bg);
21
22
  }
23
+
24
+ .nd-Project-content {
25
+ @apply flex flex-col gap-[--nd-project-content-gap];
26
+ }
27
+
22
28
  .nd-Project-copy {
23
29
  @apply flex flex-col gap-[var(--nd-project-copy-gap)] p-[var(--nd-project-padding)];
24
30
  }
@@ -9,15 +9,15 @@
9
9
  --nd-usp-copy-gap: unset;
10
10
  --nd-usp-name-font: normal 500 20px/1 Helvetica, Arial, san-serif;
11
11
  --nd-usp-name-letterspacing: unset;
12
- --nd-usp-name-color: var(--nd-block-fg);
12
+ --nd-usp-name-color: currentColor;
13
13
  --nd-usp-name-mb: unset;
14
14
  --nd-usp-headline-font: normal 500 24px/1 Helvetica, Arial, san-serif;
15
15
  --nd-usp-headline-letterspacing: unset;
16
- --nd-usp-headline-color: var(--nd-block-fg);
16
+ --nd-usp-headline-color: currentColor;
17
17
  --nd-usp-headline-mb: unset;
18
18
  --nd-usp-caption-font: normal 500 24px/1 Helvetica, Arial, san-serif;
19
19
  --nd-usp-caption-letterspacing: unset;
20
- --nd-usp-caption-color: var(--nd-block-fg);
20
+ --nd-usp-caption-color: currentColor;
21
21
  --nd-usp-caption-mb: unset;
22
22
  }
23
23
 
@@ -12,12 +12,12 @@
12
12
  &.nd-RichText {
13
13
  --nd-RichText-p-mb: 0;
14
14
  --nd-RichText-p-font: var(--nd-caption-font);
15
- --nd-RichText-p-color: var(--nd-caption-color, var(--nd-block-fg));
15
+ --nd-RichText-p-color: var(--nd-caption-color, currentColor);
16
16
  --nd-RichText-p-letterspacing: var(--nd-caption-letterspacing);
17
17
  }
18
18
  font: var(--nd-caption-font);
19
19
  letter-spacing: var(--nd-caption-letterspacing);
20
- color: var(--nd-caption-color, var(--nd-block-fg));
20
+ color: var(--nd-caption-color, currentColor);
21
21
  font-variant-numeric: lining-nums proportional-nums;
22
22
  }
23
23
  }
@@ -12,12 +12,12 @@
12
12
  &.nd-RichText {
13
13
  --nd-RichText-p-mb: 0;
14
14
  --nd-RichText-p-font: var(--nd-description-font);
15
- --nd-RichText-p-color: var(--nd-description-color, var(--nd-block-fg));
15
+ --nd-RichText-p-color: var(--nd-description-color, currentColor);
16
16
  --nd-RichText-p-letterspacing: var(--nd-description-letterspacing);
17
17
  }
18
18
  font: var(--nd-description-font);
19
19
  letter-spacing: var(--nd-description-letterspacing);
20
- color: var(--nd-description-color, var(--nd-block-fg));
20
+ color: var(--nd-description-color, currentColor);
21
21
  font-variant-numeric: lining-nums proportional-nums;
22
22
  }
23
23
  }
@@ -12,7 +12,7 @@
12
12
  }
13
13
  .nd-Icon-visual {
14
14
  @apply inline-block w-full h-full;
15
- background-color: var(--nd-icon-color, var(--nd-block-fg));
15
+ background-color: var(--nd-icon-color, currentColor);
16
16
  mask-repeat: no-repeat;
17
17
  mask-size: contain;
18
18
  mask-position: center;
@@ -10,7 +10,7 @@
10
10
  @apply text-nowrap;
11
11
  font: var(--nd-link-font);
12
12
  letter-spacing: var(--nd-link-letterspacing);
13
- color: var(--nd-link-color, var(--nd-block-fg));
13
+ color: var(--nd-link-color, currentColor);
14
14
  font-variant-numeric: lining-nums proportional-nums;
15
15
  }
16
16
  }
@@ -23,7 +23,7 @@
23
23
  &.nd-RichText {
24
24
  --nd-RichText-p-mb: 0;
25
25
  --nd-RichText-p-font: var(--nd-quote-font);
26
- --nd-RichText-p-color: var(--nd-quote-color, var(--nd-block-fg));
26
+ --nd-RichText-p-color: var(--nd-quote-color, currentColor);
27
27
  --nd-RichText-p-letterspacing: var(--nd-quote-letterspacing);
28
28
  --nd-RichText-priority-font: var(--nd-quote-priority-font);
29
29
  --nd-RichText-priority-color: var(--nd-quote-priority-color);
@@ -35,7 +35,7 @@
35
35
 
36
36
  font: var(--nd-quote-font);
37
37
  letter-spacing: var(--nd-quote-letterspacing);
38
- color: var(--nd-quote-color, var(--nd-block-fg));
38
+ color: var(--nd-quote-color, currentColor);
39
39
  font-variant-numeric: lining-nums proportional-nums;
40
40
 
41
41
  span:first-child:before {
@@ -11,7 +11,7 @@
11
11
  overflow-wrap: anywhere;
12
12
  font: var(--nd-title-font);
13
13
  letter-spacing: var(--nd-title-letterspacing);
14
- color: var(--nd-title-color, var(--nd-block-fg));
14
+ color: var(--nd-title-color, currentColor);
15
15
  font-variant-numeric: lining-nums proportional-nums;
16
16
  }
17
17
  }
@@ -7,3 +7,5 @@
7
7
  @import "./layouts/_index.css";
8
8
  @import "./panels/_index.css";
9
9
  @import "./utilities/_index.css";
10
+ @import "./Page.css";
11
+ @import "./Section.css";
@@ -0,0 +1,41 @@
1
+ @layer components {
2
+
3
+ :root {
4
+ --nd-bento-layout-gap: theme('spacing.l8');
5
+ --nd-bento-layout-gap-x: var(--nd-bento-layout-gap);
6
+ --nd-bento-layout-gap-y: var(--nd-bento-layout-gap);
7
+ }
8
+
9
+ ._nd-BentoLayout-mobile {
10
+ @apply flex flex-col gap-[--nd-bento-layout-gap-y];
11
+ .nd-MessagePreview-visualWrap {
12
+ --nd-message-preview-visual-aspect: 4/3;
13
+ }
14
+ }
15
+
16
+ ._nd-BentoLayout-desktop {
17
+ @apply grid grid-cols-12 gap-x-[--nd-bento-layout-gap-x] gap-y-[--nd-bento-layout-gap-y];
18
+
19
+ > * {
20
+
21
+ /* first */
22
+ &:nth-child(3n + 1) {
23
+ @apply col-span-full;
24
+ }
25
+
26
+ /* second */
27
+ &:nth-child(3n + 2) {
28
+ @apply col-span-6;
29
+ }
30
+
31
+ /* third */
32
+ &:nth-child(3n + 3) {
33
+ @apply col-span-6;
34
+ }
35
+ }
36
+ }
37
+
38
+ .nd-BentoLayout {
39
+ @apply @max-panel-md:_nd-BentoLayout-mobile @panel-md:_nd-BentoLayout-desktop;
40
+ }
41
+ }
@@ -1,3 +1,4 @@
1
+ @import "./BentoLayout.css";
1
2
  @import "./CardLayout.css";
2
3
  @import "./BrickLayout.css";
3
4
  @import "./FlexWrapLayout.css";
@@ -41,6 +41,10 @@
41
41
  .nd-TestimonialPanel-author {
42
42
  @apply not-first:mb-[var(--nd-testimonial-panel-author-mt)] not-last:mb-[var(--nd-testimonial-panel-author-mb)];
43
43
  text-align: var(--nd-testimonial-panel-quote-textAlign);
44
+
45
+ .nd-Person-copy > span:not(:last-child)::after {
46
+ content: ",";
47
+ }
44
48
  }
45
49
  .nd-TestimonialPanel-ctas {
46
50
  @apply flex justify-center flex-wrap gap-[var(--nd-testimonial-panel-ctas-gap)];
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.3",
4
+ "version": "4.5.4",
5
5
  "publishConfig": {
6
6
  "registry": "https://registry.npmjs.org/",
7
7
  "access": "restricted"
@@ -49,7 +49,6 @@
49
49
  "@emotion/is-prop-valid": "^1",
50
50
  "@react-hook/resize-observer": "^2",
51
51
  "@tailwindcss/aspect-ratio": "^0",
52
- "@tailwindcss/container-queries": "^0.1.1",
53
52
  "@vimeo/player": "^2.30.1",
54
53
  "classnames": "^2",
55
54
  "color": "^5.0.0",
@@ -70,5 +69,5 @@
70
69
  "react-dom": "^19",
71
70
  "ts-jest": "^29.3.2"
72
71
  },
73
- "gitHead": "ef42bb5440cc23187aeefc29319875ed5402676f"
72
+ "gitHead": "d3d65564e0935e40c8b1e441316b63a126516bca"
74
73
  }