quirk-ui 0.1.69 → 0.1.70

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.
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require('../../../index33.css');const g=require("react/jsx-runtime"),m="_buttonGroup_1gm2z_1",u="_horizontal_1gm2z_9",a="_vertical_1gm2z_14",z="_left_1gm2z_20",h="_center_1gm2z_24",d="_right_1gm2z_28",f="_sm_1gm2z_33",p="_md_1gm2z_37",$="_lg_1gm2z_41",v="_fullWidth_1gm2z_46",t={buttonGroup:m,horizontal:u,vertical:a,left:z,center:h,right:d,sm:f,md:p,lg:$,fullWidth:v},b={left:t.left,center:t.center,right:t.right},G={sm:t.sm,md:t.md,lg:t.lg};function W({children:o,className:n,alignment:l="left",orientation:r="horizontal",spacing:e="md",role:s="group",fullWidth:i=!1,...c}){const _=r==="vertical"?t.vertical:t.horizontal;return g.jsx("div",{className:`${t.buttonGroup} ${_} ${b[l]} ${G[e]} ${i?t.fullWidth:""} ${n??""}`.trim(),role:s,...c,children:o})}exports.ButtonGroup=W;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require('../../../index33.css');const u=require("react/jsx-runtime"),m="_buttonGroup_eawyr_1",w="_horizontal_eawyr_9",g="_vertical_eawyr_14",f="_left_eawyr_20",h="_center_eawyr_24",y="_right_eawyr_28",d="_sm_eawyr_33",p="_md_eawyr_37",b="_lg_eawyr_41",v="_fullWidth_eawyr_46",G="_mobileRow_eawyr_65",t={buttonGroup:m,horizontal:w,vertical:g,left:f,center:h,right:y,sm:d,md:p,lg:b,fullWidth:v,mobileRow:G},z={left:t.left,center:t.center,right:t.right},R={sm:t.sm,md:t.md,lg:t.lg};function W({children:o,className:e,alignment:r="left",orientation:l="horizontal",mobileOrientation:n="column",spacing:i="md",role:s="group",fullWidth:a=!1,..._}){const c=l==="vertical"?t.vertical:t.horizontal;return u.jsx("div",{className:[t.buttonGroup,c,z[r],R[i],a?t.fullWidth:"",n==="row"?t.mobileRow:"",e??""].filter(Boolean).join(" "),role:s,..._,children:o})}exports.ButtonGroup=W;
@@ -1,41 +1,51 @@
1
1
  import { jsx as m } from "react/jsx-runtime";
2
- import '../../../index33.css';const g = "_buttonGroup_1gm2z_1", a = "_horizontal_1gm2z_9", u = "_vertical_1gm2z_14", z = "_left_1gm2z_20", h = "_center_1gm2z_24", f = "_right_1gm2z_28", d = "_sm_1gm2z_33", p = "_md_1gm2z_37", v = "_lg_1gm2z_41", $ = "_fullWidth_1gm2z_46", t = {
3
- buttonGroup: g,
4
- horizontal: a,
5
- vertical: u,
6
- left: z,
7
- center: h,
8
- right: f,
2
+ import '../../../index33.css';const u = "_buttonGroup_eawyr_1", w = "_horizontal_eawyr_9", f = "_vertical_eawyr_14", h = "_left_eawyr_20", g = "_center_eawyr_24", y = "_right_eawyr_28", d = "_sm_eawyr_33", p = "_md_eawyr_37", b = "_lg_eawyr_41", v = "_fullWidth_eawyr_46", z = "_mobileRow_eawyr_65", t = {
3
+ buttonGroup: u,
4
+ horizontal: w,
5
+ vertical: f,
6
+ left: h,
7
+ center: g,
8
+ right: y,
9
9
  sm: d,
10
10
  md: p,
11
- lg: v,
12
- fullWidth: $
11
+ lg: b,
12
+ fullWidth: v,
13
+ mobileRow: z
13
14
  }, G = {
14
15
  left: t.left,
15
16
  center: t.center,
16
17
  right: t.right
17
- }, b = {
18
+ }, R = {
18
19
  sm: t.sm,
19
20
  md: t.md,
20
21
  lg: t.lg
21
22
  };
22
23
  function C({
23
24
  children: o,
24
- className: n,
25
- alignment: l = "left",
26
- orientation: r = "horizontal",
27
- spacing: s = "md",
28
- role: _ = "group",
29
- fullWidth: e = !1,
30
- ...c
25
+ className: e,
26
+ alignment: r = "left",
27
+ orientation: l = "horizontal",
28
+ mobileOrientation: n = "column",
29
+ spacing: a = "md",
30
+ role: s = "group",
31
+ fullWidth: _ = !1,
32
+ ...i
31
33
  }) {
32
- const i = r === "vertical" ? t.vertical : t.horizontal;
34
+ const c = l === "vertical" ? t.vertical : t.horizontal;
33
35
  return /* @__PURE__ */ m(
34
36
  "div",
35
37
  {
36
- className: `${t.buttonGroup} ${i} ${G[l]} ${b[s]} ${e ? t.fullWidth : ""} ${n ?? ""}`.trim(),
37
- role: _,
38
- ...c,
38
+ className: [
39
+ t.buttonGroup,
40
+ c,
41
+ G[r],
42
+ R[a],
43
+ _ ? t.fullWidth : "",
44
+ n === "row" ? t.mobileRow : "",
45
+ e ?? ""
46
+ ].filter(Boolean).join(" "),
47
+ role: s,
48
+ ...i,
39
49
  children: o
40
50
  }
41
51
  );
package/dist/core.d.ts CHANGED
@@ -175,13 +175,14 @@ declare type BreakpointColumns = {
175
175
 
176
176
  export declare function Button({ variant, size, displayType, imageSrc, imageAlt, ImageComponent, icon, iconAlignment, className, children, disabled, ...restProps }: ButtonProps): JSX.Element;
177
177
 
178
- export declare function ButtonGroup({ children, className, alignment, orientation, spacing, role, fullWidth, ...restProps }: ButtonGroupProps): JSX.Element;
178
+ export declare function ButtonGroup({ children, className, alignment, orientation, mobileOrientation, spacing, role, fullWidth, ...restProps }: ButtonGroupProps): JSX.Element;
179
179
 
180
180
  declare type ButtonGroupProps = {
181
181
  children: default_2.ReactNode;
182
182
  className?: string;
183
183
  alignment?: Alignment;
184
184
  orientation?: Orientation;
185
+ mobileOrientation?: "row" | "column";
185
186
  spacing?: ButtonGroupSpacing;
186
187
  role?: string;
187
188
  fullWidth?: boolean;
package/dist/index33.css CHANGED
@@ -1 +1 @@
1
- ._buttonGroup_1gm2z_1{display:flex;gap:var(--spacing-sm);align-items:center;width:fit-content}._horizontal_1gm2z_9{flex-direction:row;flex-wrap:wrap}._vertical_1gm2z_14{flex-direction:column;align-items:stretch}._left_1gm2z_20{justify-content:flex-start}._center_1gm2z_24{justify-content:center}._right_1gm2z_28{justify-content:flex-end}._sm_1gm2z_33{gap:var(--spacing-sm)}._md_1gm2z_37{gap:var(--spacing-md)}._lg_1gm2z_41{gap:var(--spacing-lg)}._fullWidth_1gm2z_46{width:100%}._fullWidth_1gm2z_46._horizontal_1gm2z_9>*{flex:1}._fullWidth_1gm2z_46._vertical_1gm2z_14{align-items:stretch}@media (max-width: 480px){._buttonGroup_1gm2z_1{width:100%}._horizontal_1gm2z_9{flex-direction:column;align-items:stretch}}
1
+ ._buttonGroup_eawyr_1{display:flex;gap:var(--spacing-sm);align-items:center;width:fit-content}._horizontal_eawyr_9{flex-direction:row;flex-wrap:wrap}._vertical_eawyr_14{flex-direction:column;align-items:stretch}._left_eawyr_20{justify-content:flex-start}._center_eawyr_24{justify-content:center}._right_eawyr_28{justify-content:flex-end}._sm_eawyr_33{gap:var(--spacing-sm)}._md_eawyr_37{gap:var(--spacing-md)}._lg_eawyr_41{gap:var(--spacing-lg)}._fullWidth_eawyr_46{width:100%}._fullWidth_eawyr_46._horizontal_eawyr_9>*{flex:1}._fullWidth_eawyr_46._vertical_eawyr_14{align-items:stretch}@media (max-width: 480px){._buttonGroup_eawyr_1{width:100%}._horizontal_eawyr_9:not(._mobileRow_eawyr_65){flex-direction:column;align-items:stretch}._mobileRow_eawyr_65{flex-direction:row;flex-wrap:wrap;width:fit-content}}
package/dist/main.d.ts CHANGED
@@ -282,13 +282,14 @@ declare type BreakpointColumns = {
282
282
 
283
283
  export declare function Button({ variant, size, displayType, imageSrc, imageAlt, ImageComponent, icon, iconAlignment, className, children, disabled, ...restProps }: ButtonProps): JSX.Element;
284
284
 
285
- export declare function ButtonGroup({ children, className, alignment, orientation, spacing, role, fullWidth, ...restProps }: ButtonGroupProps): JSX.Element;
285
+ export declare function ButtonGroup({ children, className, alignment, orientation, mobileOrientation, spacing, role, fullWidth, ...restProps }: ButtonGroupProps): JSX.Element;
286
286
 
287
287
  declare type ButtonGroupProps = {
288
288
  children: default_2.ReactNode;
289
289
  className?: string;
290
290
  alignment?: Alignment;
291
291
  orientation?: Orientation;
292
+ mobileOrientation?: "row" | "column";
292
293
  spacing?: ButtonGroupSpacing;
293
294
  role?: string;
294
295
  fullWidth?: boolean;
@@ -1498,7 +1499,7 @@ declare type RangeSize = "sm" | "md" | "lg";
1498
1499
  * <HeroBlock {...section} renderCallToAction={renderCallToAction} />
1499
1500
  * <ContentBlock {...section} renderCallToAction={renderCallToAction} />
1500
1501
  */
1501
- export declare function renderCallToAction({ alignment, spacing, items, className, }: RenderCallToActionProps_3): default_2.ReactElement | null;
1502
+ export declare function renderCallToAction({ alignment, spacing, mobileOrientation, items, className, }: RenderCallToActionProps_3): default_2.ReactElement | null;
1502
1503
 
1503
1504
  export { RenderCallToActionProps }
1504
1505
 
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("react/jsx-runtime"),U=require("react"),B=require("next/image"),z=require("../../../core/components/ButtonGroup/index.cjs"),l=require("../../../index-D0ylyll7.cjs"),I=require("../../../core/components/Modal/index.cjs"),C=require("../../utils/resolveLinkUrl.cjs"),G=require("../../../core/context/ThemeContext.cjs"),H=require("../../hooks/useMediaQuery.cjs");function Q({items:r,alignment:M,spacing:R,className:P}){const[S,$]=U.useState([]),{mode:t}=G.useTheme(),g=H.useMediaQuery("(max-width: 767px)");return U.useEffect(()=>{if(!(r!=null&&r.length)||!C.resolveLinkURL)return;async function e(){const o=await Promise.all(r.map(a=>C.resolveLinkURL(a)));$(o)}e()},[r]),r!=null&&r.length?n.jsx(z.ButtonGroup,{className:P,alignment:M,spacing:R,children:r.slice(0,3).map((e,o)=>{var m,d,p,c,h,b,f,y,v,x,_,k,j,T,A,w,q,L;const a=S[o]??"#",i={};if(i.height="auto",((m=e.image)==null?void 0:m.layout)==="cover")i.objectFit="cover",(d=e.image)!=null&&d.position&&(i.objectPosition=g?"top":(p=e.image)==null?void 0:p.position);else if(((c=e.image)==null?void 0:c.layout)==="contain"){if(i.objectFit="contain",((h=e.image)==null?void 0:h.sizing)==="half"?i.width=g?"100%":"50%":((b=e.image)==null?void 0:b.sizing)==="inset"?(i.width="100%",i.maxWidth=e.image.maxWidth??"unset"):i.width="100%",(f=e.image)!=null&&f.aspectRatio){const[F,O]=(y=e.image)==null?void 0:y.aspectRatio.split(":").map(Number);i.aspectRatio=`${F}/${O}`}}else i.objectFit="none";let s;(v=e.image)!=null&&v.imageUrls&&(s=t==="dark"&&((x=e.image.imageUrls.dark)==null?void 0:x.medium)||e.image.imageUrls.default.medium);let u=((j=(k=(_=e.image)==null?void 0:_[t==="dark"?"darkImage":"defaultImage"])==null?void 0:k.asset)==null?void 0:j.altText)||((w=(A=(T=e.image)==null?void 0:T[t==="dark"?"darkImage":"defaultImage"])==null?void 0:A.asset)==null?void 0:w.description)||"Card image";switch(e.type){case"link":return n.jsx(l.Button,{as:"a",variant:e.variant,href:a,target:((q=e.linkOptions)==null?void 0:q.linkType)==="external"?"_blank":"_self",rel:((L=e.linkOptions)==null?void 0:L.linkType)==="external"?"noopener noreferrer":"","aria-label":e.ariaLabel||e.label,icon:e.icon,iconAlignment:e.iconAlignment??"right",displayType:e.displayType,ImageComponent:n.jsx(B,{src:s??"",alt:u,width:600,height:658,priority:!1,style:i}),children:e.label},o);case"scroll":return n.jsx(l.Button,{as:"scroll",variant:e.variant,scrollTarget:e.scrollTarget??"","aria-label":e.ariaLabel||e.label,icon:e.icon,iconAlignment:e.iconAlignment??"right",displayType:e.displayType,ImageComponent:n.jsx(B,{src:s??"",alt:u,width:600,height:658,priority:!1,style:i}),children:e.label},o);case"modal":return n.jsx(I.Modal,{trigger:n.jsx(l.Button,{as:"button",variant:e.variant??"primary",icon:e.icon,iconAlignment:e.iconAlignment??"right","aria-label":e.ariaLabel||e.label,children:e.label}),content:e.modalContent},o);case"video":return n.jsx(I.Modal,{trigger:n.jsx(l.Button,{as:"button",variant:e.variant??"primary",icon:e.icon,iconAlignment:e.iconAlignment??"right","aria-label":e.ariaLabel||e.label,children:e.label}),content:n.jsx("video",{src:e.videoUrl,controls:!0,autoPlay:!0})},o);case"download":return n.jsx(l.Button,{as:"a",variant:e.variant??"primary",href:a,download:!0,target:"_blank",rel:"noopener noreferrer","aria-label":e.ariaLabel||e.label,icon:e.icon,iconAlignment:e.iconAlignment??"right",children:e.label},o)}})}):null}exports.CallToAction=Q;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("react/jsx-runtime"),U=require("react"),B=require("next/image"),G=require("../../../core/components/ButtonGroup/index.cjs"),l=require("../../../index-D0ylyll7.cjs"),I=require("../../../core/components/Modal/index.cjs"),C=require("../../utils/resolveLinkUrl.cjs"),H=require("../../../core/context/ThemeContext.cjs"),Q=require("../../hooks/useMediaQuery.cjs");function W({items:r,alignment:M,spacing:R,mobileOrientation:P="column",className:S}){const[$,F]=U.useState([]),{mode:t}=H.useTheme(),g=Q.useMediaQuery("(max-width: 767px)");return U.useEffect(()=>{if(!(r!=null&&r.length)||!C.resolveLinkURL)return;async function e(){const o=await Promise.all(r.map(a=>C.resolveLinkURL(a)));F(o)}e()},[r]),r!=null&&r.length?n.jsx(G.ButtonGroup,{className:S,alignment:M,spacing:R,mobileOrientation:P,children:r.slice(0,3).map((e,o)=>{var m,d,p,c,h,b,f,y,v,x,_,k,j,T,A,w,q,L;const a=$[o]??"#",i={};if(i.height="auto",((m=e.image)==null?void 0:m.layout)==="cover")i.objectFit="cover",(d=e.image)!=null&&d.position&&(i.objectPosition=g?"top":(p=e.image)==null?void 0:p.position);else if(((c=e.image)==null?void 0:c.layout)==="contain"){if(i.objectFit="contain",((h=e.image)==null?void 0:h.sizing)==="half"?i.width=g?"100%":"50%":((b=e.image)==null?void 0:b.sizing)==="inset"?(i.width="100%",i.maxWidth=e.image.maxWidth??"unset"):i.width="100%",(f=e.image)!=null&&f.aspectRatio){const[O,z]=(y=e.image)==null?void 0:y.aspectRatio.split(":").map(Number);i.aspectRatio=`${O}/${z}`}}else i.objectFit="none";let s;(v=e.image)!=null&&v.imageUrls&&(s=t==="dark"&&((x=e.image.imageUrls.dark)==null?void 0:x.medium)||e.image.imageUrls.default.medium);let u=((j=(k=(_=e.image)==null?void 0:_[t==="dark"?"darkImage":"defaultImage"])==null?void 0:k.asset)==null?void 0:j.altText)||((w=(A=(T=e.image)==null?void 0:T[t==="dark"?"darkImage":"defaultImage"])==null?void 0:A.asset)==null?void 0:w.description)||"Card image";switch(e.type){case"link":return n.jsx(l.Button,{as:"a",variant:e.variant,href:a,target:((q=e.linkOptions)==null?void 0:q.linkType)==="external"?"_blank":"_self",rel:((L=e.linkOptions)==null?void 0:L.linkType)==="external"?"noopener noreferrer":"","aria-label":e.ariaLabel||e.label,icon:e.icon,iconAlignment:e.iconAlignment??"right",displayType:e.displayType,ImageComponent:n.jsx(B,{src:s??"",alt:u,width:600,height:658,priority:!1,style:i}),children:e.label},o);case"scroll":return n.jsx(l.Button,{as:"scroll",variant:e.variant,scrollTarget:e.scrollTarget??"","aria-label":e.ariaLabel||e.label,icon:e.icon,iconAlignment:e.iconAlignment??"right",displayType:e.displayType,ImageComponent:n.jsx(B,{src:s??"",alt:u,width:600,height:658,priority:!1,style:i}),children:e.label},o);case"modal":return n.jsx(I.Modal,{trigger:n.jsx(l.Button,{as:"button",variant:e.variant??"primary",icon:e.icon,iconAlignment:e.iconAlignment??"right","aria-label":e.ariaLabel||e.label,children:e.label}),content:e.modalContent},o);case"video":return n.jsx(I.Modal,{trigger:n.jsx(l.Button,{as:"button",variant:e.variant??"primary",icon:e.icon,iconAlignment:e.iconAlignment??"right","aria-label":e.ariaLabel||e.label,children:e.label}),content:n.jsx("video",{src:e.videoUrl,controls:!0,autoPlay:!0})},o);case"download":return n.jsx(l.Button,{as:"a",variant:e.variant??"primary",href:a,download:!0,target:"_blank",rel:"noopener noreferrer","aria-label":e.ariaLabel||e.label,icon:e.icon,iconAlignment:e.iconAlignment??"right",children:e.label},o)}})}):null}exports.CallToAction=W;
@@ -1,156 +1,166 @@
1
1
  import { jsx as r } from "react/jsx-runtime";
2
- import { useState as S, useEffect as W } from "react";
2
+ import { useState as W, useEffect as $ } from "react";
3
3
  import C from "next/image";
4
- import { ButtonGroup as $ } from "../../../core/components/ButtonGroup/index.mjs";
4
+ import { ButtonGroup as E } from "../../../core/components/ButtonGroup/index.mjs";
5
5
  import { B as a } from "../../../index-CnlJ2RgH.js";
6
6
  import { Modal as R } from "../../../core/components/Modal/index.mjs";
7
7
  import { resolveLinkURL as B } from "../../utils/resolveLinkUrl.mjs";
8
- import { useTheme as E } from "../../../core/context/ThemeContext.mjs";
9
- import { useMediaQuery as G } from "../../hooks/useMediaQuery.mjs";
10
- function Z({
8
+ import { useTheme as G } from "../../../core/context/ThemeContext.mjs";
9
+ import { useMediaQuery as N } from "../../hooks/useMediaQuery.mjs";
10
+ function ee({
11
11
  items: n,
12
12
  alignment: F,
13
13
  spacing: M,
14
- className: P
14
+ mobileOrientation: P = "column",
15
+ className: _
15
16
  }) {
16
- const [_, z] = S([]), { mode: t } = E(), s = G("(max-width: 767px)");
17
- return W(() => {
17
+ const [z, H] = W([]), { mode: t } = G(), s = N("(max-width: 767px)");
18
+ return $(() => {
18
19
  if (!(n != null && n.length) || !B) return;
19
20
  async function e() {
20
21
  const l = await Promise.all(
21
22
  n.map((o) => B(o))
22
23
  );
23
- z(l);
24
+ H(l);
24
25
  }
25
26
  e();
26
- }, [n]), n != null && n.length ? /* @__PURE__ */ r($, { className: P, alignment: F, spacing: M, children: n.slice(0, 3).map((e, l) => {
27
- var p, d, u, f, h, b, y, v, c, k, A, T, w, I, L, U, j, x;
28
- const o = _[l] ?? "#", i = {};
29
- if (i.height = "auto", ((p = e.image) == null ? void 0 : p.layout) === "cover")
30
- i.objectFit = "cover", (d = e.image) != null && d.position && (i.objectPosition = s ? "top" : (u = e.image) == null ? void 0 : u.position);
31
- else if (((f = e.image) == null ? void 0 : f.layout) === "contain") {
32
- if (i.objectFit = "contain", ((h = e.image) == null ? void 0 : h.sizing) === "half" ? i.width = s ? "100%" : "50%" : ((b = e.image) == null ? void 0 : b.sizing) === "inset" ? (i.width = "100%", i.maxWidth = e.image.maxWidth ?? "unset") : i.width = "100%", (y = e.image) != null && y.aspectRatio) {
33
- const [H, O] = (v = e.image) == null ? void 0 : v.aspectRatio.split(":").map(Number);
34
- i.aspectRatio = `${H}/${O}`;
35
- }
36
- } else
37
- i.objectFit = "none";
38
- let m;
39
- (c = e.image) != null && c.imageUrls && (m = t === "dark" && ((k = e.image.imageUrls.dark) == null ? void 0 : k.medium) || e.image.imageUrls.default.medium);
40
- let g = ((w = (T = (A = e.image) == null ? void 0 : A[t === "dark" ? "darkImage" : "defaultImage"]) == null ? void 0 : T.asset) == null ? void 0 : w.altText) || ((U = (L = (I = e.image) == null ? void 0 : I[t === "dark" ? "darkImage" : "defaultImage"]) == null ? void 0 : L.asset) == null ? void 0 : U.description) || "Card image";
41
- switch (e.type) {
42
- case "link":
43
- return /* @__PURE__ */ r(
44
- a,
45
- {
46
- as: "a",
47
- variant: e.variant,
48
- href: o,
49
- target: ((j = e.linkOptions) == null ? void 0 : j.linkType) === "external" ? "_blank" : "_self",
50
- rel: ((x = e.linkOptions) == null ? void 0 : x.linkType) === "external" ? "noopener noreferrer" : "",
51
- "aria-label": e.ariaLabel || e.label,
52
- icon: e.icon,
53
- iconAlignment: e.iconAlignment ?? "right",
54
- displayType: e.displayType,
55
- ImageComponent: /* @__PURE__ */ r(
56
- C,
57
- {
58
- src: m ?? "",
59
- alt: g,
60
- width: 600,
61
- height: 658,
62
- priority: !1,
63
- style: i
64
- }
65
- ),
66
- children: e.label
67
- },
68
- l
69
- );
70
- case "scroll":
71
- return /* @__PURE__ */ r(
72
- a,
73
- {
74
- as: "scroll",
75
- variant: e.variant,
76
- scrollTarget: e.scrollTarget ?? "",
77
- "aria-label": e.ariaLabel || e.label,
78
- icon: e.icon,
79
- iconAlignment: e.iconAlignment ?? "right",
80
- displayType: e.displayType,
81
- ImageComponent: /* @__PURE__ */ r(
82
- C,
83
- {
84
- src: m ?? "",
85
- alt: g,
86
- width: 600,
87
- height: 658,
88
- priority: !1,
89
- style: i
90
- }
91
- ),
92
- children: e.label
93
- },
94
- l
95
- );
96
- case "modal":
97
- return /* @__PURE__ */ r(
98
- R,
99
- {
100
- trigger: /* @__PURE__ */ r(
27
+ }, [n]), n != null && n.length ? /* @__PURE__ */ r(
28
+ E,
29
+ {
30
+ className: _,
31
+ alignment: F,
32
+ spacing: M,
33
+ mobileOrientation: P,
34
+ children: n.slice(0, 3).map((e, l) => {
35
+ var p, d, u, f, h, b, y, c, v, k, A, T, w, I, L, U, j, x;
36
+ const o = z[l] ?? "#", i = {};
37
+ if (i.height = "auto", ((p = e.image) == null ? void 0 : p.layout) === "cover")
38
+ i.objectFit = "cover", (d = e.image) != null && d.position && (i.objectPosition = s ? "top" : (u = e.image) == null ? void 0 : u.position);
39
+ else if (((f = e.image) == null ? void 0 : f.layout) === "contain") {
40
+ if (i.objectFit = "contain", ((h = e.image) == null ? void 0 : h.sizing) === "half" ? i.width = s ? "100%" : "50%" : ((b = e.image) == null ? void 0 : b.sizing) === "inset" ? (i.width = "100%", i.maxWidth = e.image.maxWidth ?? "unset") : i.width = "100%", (y = e.image) != null && y.aspectRatio) {
41
+ const [O, S] = (c = e.image) == null ? void 0 : c.aspectRatio.split(":").map(Number);
42
+ i.aspectRatio = `${O}/${S}`;
43
+ }
44
+ } else
45
+ i.objectFit = "none";
46
+ let m;
47
+ (v = e.image) != null && v.imageUrls && (m = t === "dark" && ((k = e.image.imageUrls.dark) == null ? void 0 : k.medium) || e.image.imageUrls.default.medium);
48
+ let g = ((w = (T = (A = e.image) == null ? void 0 : A[t === "dark" ? "darkImage" : "defaultImage"]) == null ? void 0 : T.asset) == null ? void 0 : w.altText) || ((U = (L = (I = e.image) == null ? void 0 : I[t === "dark" ? "darkImage" : "defaultImage"]) == null ? void 0 : L.asset) == null ? void 0 : U.description) || "Card image";
49
+ switch (e.type) {
50
+ case "link":
51
+ return /* @__PURE__ */ r(
101
52
  a,
102
53
  {
103
- as: "button",
104
- variant: e.variant ?? "primary",
54
+ as: "a",
55
+ variant: e.variant,
56
+ href: o,
57
+ target: ((j = e.linkOptions) == null ? void 0 : j.linkType) === "external" ? "_blank" : "_self",
58
+ rel: ((x = e.linkOptions) == null ? void 0 : x.linkType) === "external" ? "noopener noreferrer" : "",
59
+ "aria-label": e.ariaLabel || e.label,
105
60
  icon: e.icon,
106
61
  iconAlignment: e.iconAlignment ?? "right",
62
+ displayType: e.displayType,
63
+ ImageComponent: /* @__PURE__ */ r(
64
+ C,
65
+ {
66
+ src: m ?? "",
67
+ alt: g,
68
+ width: 600,
69
+ height: 658,
70
+ priority: !1,
71
+ style: i
72
+ }
73
+ ),
74
+ children: e.label
75
+ },
76
+ l
77
+ );
78
+ case "scroll":
79
+ return /* @__PURE__ */ r(
80
+ a,
81
+ {
82
+ as: "scroll",
83
+ variant: e.variant,
84
+ scrollTarget: e.scrollTarget ?? "",
107
85
  "aria-label": e.ariaLabel || e.label,
86
+ icon: e.icon,
87
+ iconAlignment: e.iconAlignment ?? "right",
88
+ displayType: e.displayType,
89
+ ImageComponent: /* @__PURE__ */ r(
90
+ C,
91
+ {
92
+ src: m ?? "",
93
+ alt: g,
94
+ width: 600,
95
+ height: 658,
96
+ priority: !1,
97
+ style: i
98
+ }
99
+ ),
108
100
  children: e.label
109
- }
110
- ),
111
- content: e.modalContent
112
- },
113
- l
114
- );
115
- case "video":
116
- return /* @__PURE__ */ r(
117
- R,
118
- {
119
- trigger: /* @__PURE__ */ r(
101
+ },
102
+ l
103
+ );
104
+ case "modal":
105
+ return /* @__PURE__ */ r(
106
+ R,
107
+ {
108
+ trigger: /* @__PURE__ */ r(
109
+ a,
110
+ {
111
+ as: "button",
112
+ variant: e.variant ?? "primary",
113
+ icon: e.icon,
114
+ iconAlignment: e.iconAlignment ?? "right",
115
+ "aria-label": e.ariaLabel || e.label,
116
+ children: e.label
117
+ }
118
+ ),
119
+ content: e.modalContent
120
+ },
121
+ l
122
+ );
123
+ case "video":
124
+ return /* @__PURE__ */ r(
125
+ R,
126
+ {
127
+ trigger: /* @__PURE__ */ r(
128
+ a,
129
+ {
130
+ as: "button",
131
+ variant: e.variant ?? "primary",
132
+ icon: e.icon,
133
+ iconAlignment: e.iconAlignment ?? "right",
134
+ "aria-label": e.ariaLabel || e.label,
135
+ children: e.label
136
+ }
137
+ ),
138
+ content: /* @__PURE__ */ r("video", { src: e.videoUrl, controls: !0, autoPlay: !0 })
139
+ },
140
+ l
141
+ );
142
+ case "download":
143
+ return /* @__PURE__ */ r(
120
144
  a,
121
145
  {
122
- as: "button",
146
+ as: "a",
123
147
  variant: e.variant ?? "primary",
148
+ href: o,
149
+ download: !0,
150
+ target: "_blank",
151
+ rel: "noopener noreferrer",
152
+ "aria-label": e.ariaLabel || e.label,
124
153
  icon: e.icon,
125
154
  iconAlignment: e.iconAlignment ?? "right",
126
- "aria-label": e.ariaLabel || e.label,
127
155
  children: e.label
128
- }
129
- ),
130
- content: /* @__PURE__ */ r("video", { src: e.videoUrl, controls: !0, autoPlay: !0 })
131
- },
132
- l
133
- );
134
- case "download":
135
- return /* @__PURE__ */ r(
136
- a,
137
- {
138
- as: "a",
139
- variant: e.variant ?? "primary",
140
- href: o,
141
- download: !0,
142
- target: "_blank",
143
- rel: "noopener noreferrer",
144
- "aria-label": e.ariaLabel || e.label,
145
- icon: e.icon,
146
- iconAlignment: e.iconAlignment ?? "right",
147
- children: e.label
148
- },
149
- l
150
- );
156
+ },
157
+ l
158
+ );
159
+ }
160
+ })
151
161
  }
152
- }) }) : null;
162
+ ) : null;
153
163
  }
154
164
  export {
155
- Z as CallToAction
165
+ ee as CallToAction
156
166
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("react/jsx-runtime"),u=require("../ui/PortableTextRenderer/index.cjs"),l=require("../ui/CallToAction/index.cjs");function o(e){return e.flatMap(r=>r.children??[]).map(r=>r.text??"").join("")}function x({blocks:e,className:r,textOverride:n,animateText:t}){return e!=null&&e.length?i.jsx(u.RichText,{blocks:e,className:r,textOverride:n,animateText:t}):null}function c({alignment:e,spacing:r,items:n,className:t}){return n!=null&&n.length?i.jsx(l.CallToAction,{alignment:e,items:n,className:t,spacing:r}):null}exports.extractText=o;exports.renderCallToAction=c;exports.renderRichText=x;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("react/jsx-runtime"),l=require("../ui/PortableTextRenderer/index.cjs"),o=require("../ui/CallToAction/index.cjs");function x(e){return e.flatMap(r=>r.children??[]).map(r=>r.text??"").join("")}function c({blocks:e,className:r,textOverride:t,animateText:n}){return e!=null&&e.length?i.jsx(l.RichText,{blocks:e,className:r,textOverride:t,animateText:n}):null}function a({alignment:e,spacing:r,mobileOrientation:t,items:n,className:u}){return n!=null&&n.length?i.jsx(o.CallToAction,{alignment:e,items:n,className:u,spacing:r,mobileOrientation:t}):null}exports.extractText=x;exports.renderCallToAction=a;exports.renderRichText=c;
@@ -1,43 +1,45 @@
1
1
  import { jsx as o } from "react/jsx-runtime";
2
- import { RichText as u } from "../ui/PortableTextRenderer/index.mjs";
3
- import { CallToAction as f } from "../ui/CallToAction/index.mjs";
4
- function a(r) {
2
+ import { RichText as f } from "../ui/PortableTextRenderer/index.mjs";
3
+ import { CallToAction as i } from "../ui/CallToAction/index.mjs";
4
+ function p(r) {
5
5
  return r.flatMap((n) => n.children ?? []).map((n) => n.text ?? "").join("");
6
6
  }
7
- function p({
7
+ function h({
8
8
  blocks: r,
9
9
  className: n,
10
- textOverride: t,
11
- animateText: e
10
+ textOverride: e,
11
+ animateText: t
12
12
  }) {
13
13
  return r != null && r.length ? /* @__PURE__ */ o(
14
- u,
14
+ f,
15
15
  {
16
16
  blocks: r,
17
17
  className: n,
18
- textOverride: t,
19
- animateText: e
18
+ textOverride: e,
19
+ animateText: t
20
20
  }
21
21
  ) : null;
22
22
  }
23
- function h({
23
+ function T({
24
24
  alignment: r,
25
25
  spacing: n,
26
+ mobileOrientation: e,
26
27
  items: t,
27
- className: e
28
+ className: u
28
29
  }) {
29
30
  return t != null && t.length ? /* @__PURE__ */ o(
30
- f,
31
+ i,
31
32
  {
32
33
  alignment: r,
33
34
  items: t,
34
- className: e,
35
- spacing: n
35
+ className: u,
36
+ spacing: n,
37
+ mobileOrientation: e
36
38
  }
37
39
  ) : null;
38
40
  }
39
41
  export {
40
- a as extractText,
41
- h as renderCallToAction,
42
- p as renderRichText
42
+ p as extractText,
43
+ T as renderCallToAction,
44
+ h as renderRichText
43
45
  };
package/dist/next.d.ts CHANGED
@@ -244,7 +244,7 @@ export { QuoteBlockProps }
244
244
  * <HeroBlock {...section} renderCallToAction={renderCallToAction} />
245
245
  * <ContentBlock {...section} renderCallToAction={renderCallToAction} />
246
246
  */
247
- export declare function renderCallToAction({ alignment, spacing, items, className, }: RenderCallToActionProps_2): default_2.ReactElement | null;
247
+ export declare function renderCallToAction({ alignment, spacing, mobileOrientation, items, className, }: RenderCallToActionProps_2): default_2.ReactElement | null;
248
248
 
249
249
  /**
250
250
  * Drop-in `renderRichText` prop for all QuirkUI blocks.
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "quirk-ui",
3
3
  "private": false,
4
- "version": "0.1.69",
4
+ "version": "0.1.70",
5
5
  "type": "module",
6
6
  "exports": {
7
7
  ".": {