quirk-ui 0.1.127 → 0.1.128
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";const n=require("react/jsx-runtime"),e=require("../../../react.esm-C_9Ma9mj.cjs"),r=require("./index.cjs");e.vi.mock("./styles.module.css",()=>({default:new Proxy({},{get:(a,o)=>o})}));e.vi.mock("../../hooks/useStyleClasses",()=>({useStyleClasses:()=>"style-classes"}));e.vi.mock("../../context/ThemeContext",()=>({useTheme:()=>({mode:"light"})}));e.vi.mock("../../utils/mediaUtils",()=>({resolveImageUrl:(t,a,o)=>t?`https://cdn.example.com/${o??"medium"}.jpg`:void 0,resolveAltText:(t,a,o)=>t?"Resolved alt text":o??""}));e.vi.mock("../../utils/resolveLinkUrl",()=>({resolveLinkURL:t=>(t==null?void 0:t.href)??"/resolved"}));const{MockTabs:m,MockTabsList:T,MockTabsTrigger:x,MockTabsPanel:u}=e.vi.hoisted(()=>{const t=e.vi.fn(({children:i})=>n.jsx("div",{"data-testid":"tabs-list",children:i})),a=e.vi.fn(({children:i,index:b})=>n.jsx("button",{"data-testid":"tabs-trigger","data-index":b,children:i})),o=e.vi.fn(({children:i,index:b})=>n.jsx("div",{"data-testid":"tabs-panel","data-index":b,children:i}));return{MockTabs:e.vi.fn(({children:i,orientation:b,theme:p})=>n.jsx("div",{"data-testid":"tabs","data-orientation":b,"data-theme":p,children:i})),MockTabsList:t,MockTabsTrigger:a,MockTabsPanel:o}});e.vi.mock("../../../core/components/Tabs",()=>({Tabs:Object.assign(m,{List:T,Trigger:x,Panel:u})}));e.vi.mock("../../../core/components/Button",()=>({Button:({children:t,href:a,target:o,rel:d,"aria-label":i})=>n.jsx("a",{"data-testid":"tab-button",href:a,target:o,rel:d,"aria-label":i,children:t})}));function c(t){return[{_type:"block",_key:"b1",style:"normal",markDefs:[],children:[{_type:"span",_key:"s1",text:t,marks:[]}]}]}const h=({blocks:t,className:a})=>{var o,d,i;return n.jsx("span",{"data-testid":"rich-text",className:a,children:((i=(d=(o=t==null?void 0:t[0])==null?void 0:o.children)==null?void 0:d[0])==null?void 0:i.text)??""})},B=({items:t,alignment:a})=>n.jsx("nav",{"data-testid":"cta","data-alignment":a,children:t.map(o=>n.jsx("a",{children:o.label},o._key))}),g=({src:t,alt:a,fill:o})=>n.jsx("img",{"data-testid":"render-image",src:t,alt:a,"data-fill":o});function l(t,a={}){return{title:t,content:{tabText:c(`${t} body text`),...a}}}function s(t={}){return{heading:{title:c("Tabs Heading")},items:[l("Tab One"),l("Tab Two")],callToAction:{alignment:"left",spacing:"md",mobileOrientation:"column",items:[]},styleOptions:{layout:"default"},renderRichText:h,renderCallToAction:B,...t}}e.beforeEach(()=>{m.mockClear(),T.mockClear(),x.mockClear(),u.mockClear()});e.describe("1. Default layout",()=>{e.it("renders a section with the default class",()=>{var a;const{container:t}=e.render(n.jsx(r.TabsBlock,{...s()}));e.globalExpect((a=t.querySelector("section"))==null?void 0:a.className).toContain("default")}),e.it("renders the tabs element",()=>{e.render(n.jsx(r.TabsBlock,{...s()})),e.globalExpect(e.screen.getByTestId("tabs")).toBeInTheDocument()}),e.it("renders the heading",()=>{e.render(n.jsx(r.TabsBlock,{...s()}));const t=e.screen.getAllByTestId("rich-text");e.globalExpect(t.some(a=>a.textContent==="Tabs Heading")).toBe(!0)}),e.it("does not set data-overlay on the section",()=>{var a;const{container:t}=e.render(n.jsx(r.TabsBlock,{...s()}));e.globalExpect((a=t.querySelector("section"))==null?void 0:a.dataset.overlay).toBeUndefined()})});e.describe("2. Full-bleed layout",()=>{const t={styleOptions:{layout:"full-bleed"}};e.it("renders a section with the fullBleed class",()=>{var o;const{container:a}=e.render(n.jsx(r.TabsBlock,{...s(t)}));e.globalExpect((o=a.querySelector("section"))==null?void 0:o.className).toContain("fullBleed")}),e.it("sets data-overlay=true on the section",()=>{var o;const{container:a}=e.render(n.jsx(r.TabsBlock,{...s(t)}));e.globalExpect((o=a.querySelector("section"))==null?void 0:o.dataset.overlay).toBe("true")}),e.it("renders an overlay div",()=>{const{container:a}=e.render(n.jsx(r.TabsBlock,{...s(t)}));e.globalExpect(a.querySelector(".overlay")).toBeInTheDocument()}),e.it("renders the tabs inside the overlay",()=>{var o;const{container:a}=e.render(n.jsx(r.TabsBlock,{...s(t)}));e.globalExpect((o=a.querySelector(".overlay"))==null?void 0:o.querySelector("[data-testid='tabs']")).toBeInTheDocument()})});e.describe("3. Unknown layout — returns null",()=>{e.it("renders nothing for an unknown layout value",()=>{const{container:t}=e.render(n.jsx(r.TabsBlock,{...s({styleOptions:{layout:"unknown"}})}));e.globalExpect(t.firstChild).toBeNull()})});e.describe("4. Heading area — eyebrow, title, description, disclaimer",()=>{e.it("renders the title",()=>{e.render(n.jsx(r.TabsBlock,{...s()}));const t=e.screen.getAllByTestId("rich-text");e.globalExpect(t.some(a=>a.textContent==="Tabs Heading")).toBe(!0)}),e.it("renders the eyebrow when provided",()=>{e.render(n.jsx(r.TabsBlock,{...s({heading:{title:c("Title"),eyebrow:c("Product")}})}));const t=e.screen.getAllByTestId("rich-text");e.globalExpect(t.some(a=>a.textContent==="Product")).toBe(!0)}),e.it("renders description when provided",()=>{e.render(n.jsx(r.TabsBlock,{...s({heading:{title:c("Title"),description:c("Intro paragraph")}})}));const t=e.screen.getAllByTestId("rich-text");e.globalExpect(t.some(a=>a.textContent==="Intro paragraph")).toBe(!0)}),e.it("renders disclaimer when provided",()=>{e.render(n.jsx(r.TabsBlock,{...s({heading:{title:c("Title"),disclaimer:c("Terms apply")}})}));const t=e.screen.getAllByTestId("rich-text");e.globalExpect(t.some(a=>a.textContent==="Terms apply")).toBe(!0)})});e.describe("5. headingLayout class",()=>{e.it("applies headingVertical by default",()=>{var a;const{container:t}=e.render(n.jsx(r.TabsBlock,{...s()}));e.globalExpect((a=t.querySelector(".heading"))==null?void 0:a.className).toContain("headingVertical")}),e.it("applies headingHorizontal when headingLayout=horizontal",()=>{var a;const{container:t}=e.render(n.jsx(r.TabsBlock,{...s({heading:{title:c("Title"),headingLayout:"horizontal"}})}));e.globalExpect((a=t.querySelector(".heading"))==null?void 0:a.className).toContain("headingHorizontal")})});e.describe("6. Tabs element — triggers and panels per item",()=>{e.it("renders one trigger per item",()=>{e.render(n.jsx(r.TabsBlock,{...s()})),e.globalExpect(e.screen.getAllByTestId("tabs-trigger")).toHaveLength(2)}),e.it("renders each item title as trigger text",()=>{e.render(n.jsx(r.TabsBlock,{...s()}));const t=e.screen.getAllByTestId("tabs-trigger");e.globalExpect(t[0].textContent).toBe("Tab One"),e.globalExpect(t[1].textContent).toBe("Tab Two")}),e.it("renders one panel per item",()=>{e.render(n.jsx(r.TabsBlock,{...s()})),e.globalExpect(e.screen.getAllByTestId("tabs-panel")).toHaveLength(2)})});e.describe("7. Tab panel — tabText, tabImage, tabDisclaimer",()=>{e.it("renders tabText via renderRichText",()=>{e.render(n.jsx(r.TabsBlock,{...s()}));const t=e.screen.getAllByTestId("rich-text");e.globalExpect(t.some(a=>a.textContent==="Tab One body text")).toBe(!0)}),e.it("renders a tab image when tabImage is provided",()=>{e.render(n.jsx(r.TabsBlock,{...s({items:[l("Tab One",{tabImage:{asset:{_ref:"img-abc"}}})],renderImage:g})})),e.globalExpect(e.screen.getByTestId("render-image")).toBeInTheDocument()}),e.it("renders tabDisclaimer when provided",()=>{e.render(n.jsx(r.TabsBlock,{...s({items:[l("Tab One",{tabDisclaimer:c("Tab disclaimer text")})]})}));const t=e.screen.getAllByTestId("rich-text");e.globalExpect(t.some(a=>a.textContent==="Tab disclaimer text")).toBe(!0)}),e.it("does not render image div when tabImage is absent",()=>{const{container:t}=e.render(n.jsx(r.TabsBlock,{...s()}));e.globalExpect(t.querySelector(".tabImage")).toBeNull()})});e.describe("8. Tab CTA link — Button for valid URL; absent for '#' or missing",()=>{e.it("renders a Button when tabLink resolves to a valid URL",()=>{e.render(n.jsx(r.TabsBlock,{...s({items:[l("Tab One",{tabLink:{href:"/learn-more",label:"Learn More"}})]})})),e.globalExpect(e.screen.getByTestId("tab-button")).toBeInTheDocument(),e.globalExpect(e.screen.getByTestId("tab-button").textContent).toBe("Learn More")}),e.it("does not render a Button when tabLink is absent",()=>{e.render(n.jsx(r.TabsBlock,{...s()})),e.globalExpect(e.screen.queryByTestId("tab-button")).toBeNull()}),e.it("does not render a Button when resolved URL is '#'",()=>{e.render(n.jsx(r.TabsBlock,{...s({items:[l("Tab One",{tabLink:{href:"#",label:"Anchor"}})]})})),e.globalExpect(e.screen.queryByTestId("tab-button")).toBeNull()})});e.describe("9. Tab CTA — external links get target=_blank and rel=noopener",()=>{e.it("sets target=_blank for external link type",()=>{e.render(n.jsx(r.TabsBlock,{...s({items:[l("Tab One",{tabLink:{href:"/go",label:"Go",linkOptions:{linkType:"external"}}})]})})),e.globalExpect(e.screen.getByTestId("tab-button").getAttribute("target")).toBe("_blank")}),e.it("sets rel=noopener noreferrer for external links",()=>{e.render(n.jsx(r.TabsBlock,{...s({items:[l("Tab One",{tabLink:{href:"/go",label:"Go",linkOptions:{linkType:"external"}}})]})})),e.globalExpect(e.screen.getByTestId("tab-button").getAttribute("rel")).toBe("noopener noreferrer")}),e.it("sets target=_self for internal links",()=>{e.render(n.jsx(r.TabsBlock,{...s({items:[l("Tab One",{tabLink:{href:"/internal",label:"Internal",linkOptions:{linkType:"internal"}}})]})})),e.globalExpect(e.screen.getByTestId("tab-button").getAttribute("target")).toBe("_self")})});e.describe("10. Tab grid items — GridItems rendered with image and text",()=>{e.it("renders grid item text via renderRichText",()=>{e.render(n.jsx(r.TabsBlock,{...s({items:[l("Tab One",{tabGridItem:[{itemText:c("Grid item text")}]})]})}));const t=e.screen.getAllByTestId("rich-text");e.globalExpect(t.some(a=>a.textContent==="Grid item text")).toBe(!0)}),e.it("renders grid item image via renderImage when provided",()=>{e.render(n.jsx(r.TabsBlock,{...s({items:[l("Tab One",{tabGridItem:[{itemImage:{asset:{_ref:"grid-img"}}}]})],renderImage:g})})),e.globalExpect(e.screen.getByTestId("render-image")).toBeInTheDocument()}),e.it("renders a plain <img> fallback for grid item when renderImage is absent",()=>{const{container:t}=e.render(n.jsx(r.TabsBlock,{...s({items:[l("Tab One",{tabGridItem:[{itemImage:{asset:{_ref:"grid-img"}}}]})],renderImage:void 0})}));e.globalExpect(t.querySelector("img")).toBeInTheDocument()})});e.describe("11. Block-level image",()=>{e.it("renders BlockImage in default layout when image is provided",()=>{e.render(n.jsx(r.TabsBlock,{...s({image:{asset:{_ref:"block-img"}},renderImage:g})})),e.globalExpect(e.screen.getByTestId("render-image")).toBeInTheDocument()}),e.it("does not render a block image when image prop is absent",()=>{const{container:t}=e.render(n.jsx(r.TabsBlock,{...s()}));e.globalExpect(t.querySelector("img")).toBeNull()}),e.it("renders a fill image in full-bleed layout",()=>{e.render(n.jsx(r.TabsBlock,{...s({image:{asset:{_ref:"bg-img"}},styleOptions:{layout:"full-bleed"},renderImage:g})})),e.globalExpect(e.screen.getByTestId("render-image").dataset.fill).toBe("true")})});e.describe("12. renderImage — plain <img> fallback when renderImage not provided",()=>{e.it("renders a plain <img> for tab image when renderImage is absent",()=>{var a;const{container:t}=e.render(n.jsx(r.TabsBlock,{...s({items:[l("Tab One",{tabImage:{asset:{_ref:"tab-img"}}})],renderImage:void 0})}));e.globalExpect(t.querySelector("img")).toBeInTheDocument(),e.globalExpect((a=t.querySelector("img"))==null?void 0:a.getAttribute("src")).toContain("cdn.example.com")})});e.describe("13. renderCallToAction — called with correct props",()=>{e.it("renders CTA via renderCallToAction when items are present",()=>{e.render(n.jsx(r.TabsBlock,{...s({callToAction:{alignment:"center",spacing:"lg",mobileOrientation:"row",items:[{_key:"l1",href:"/go",label:"Go"}]}})})),e.globalExpect(e.screen.getByTestId("cta")).toBeInTheDocument()}),e.it("passes alignment to renderCallToAction",()=>{e.render(n.jsx(r.TabsBlock,{...s({callToAction:{alignment:"right",spacing:"sm",mobileOrientation:"column",items:[{_key:"l1",href:"/x",label:"X"}]}})})),e.globalExpect(e.screen.getByTestId("cta").dataset.alignment).toBe("right")})});e.describe("14. Orientation — forwarded to Tabs",()=>{e.it("passes horizontal orientation by default",()=>{e.render(n.jsx(r.TabsBlock,{...s()})),e.globalExpect(e.screen.getByTestId("tabs").dataset.orientation).toBe("horizontal")}),e.it("passes vertical orientation when styleOptions.orientation=orientationVertical",()=>{e.render(n.jsx(r.TabsBlock,{...s({styleOptions:{layout:"default",orientation:"orientationVertical"}})})),e.globalExpect(e.screen.getByTestId("tabs").dataset.orientation).toBe("vertical")})});e.describe("15. Theme — resolved from styleOptions.theme and forwarded to Tabs",()=>{e.it("passes default theme by default",()=>{e.render(n.jsx(r.TabsBlock,{...s()})),e.globalExpect(e.screen.getByTestId("tabs").dataset.theme).toBe("default")}),e.it("passes dark theme when styleOptions.theme=themeDark",()=>{e.render(n.jsx(r.TabsBlock,{...s({styleOptions:{layout:"default",theme:"themeDark"}})})),e.globalExpect(e.screen.getByTestId("tabs").dataset.theme).toBe("dark")}),e.it("passes light theme when styleOptions.theme=themeLight",()=>{e.render(n.jsx(r.TabsBlock,{...s({styleOptions:{layout:"default",theme:"themeLight"}})})),e.globalExpect(e.screen.getByTestId("tabs").dataset.theme).toBe("light")})});
|
|
1
|
+
"use strict";const s=require("react/jsx-runtime"),e=require("../../../react.esm-C_9Ma9mj.cjs"),r=require("./index.cjs");e.vi.mock("./styles.module.css",()=>({default:new Proxy({},{get:(a,l)=>l})}));e.vi.mock("../../hooks/useStyleClasses",()=>({useStyleClasses:e.vi.fn(t=>t!=null&&t.tabClass?`tab-style-${t.tabClass}`:"block-style-classes")}));e.vi.mock("../../context/ThemeContext",()=>({useTheme:()=>({mode:"light",mounted:!0,toggleTheme:e.vi.fn(),setTheme:e.vi.fn()})}));let d=!1;e.vi.mock("../../hooks/useMediaQuery",()=>({useMediaQuery:()=>d}));const m=e.vi.fn((t,a)=>({objectFit:"contain"}));e.vi.mock("../../utils/mediaUtils",()=>({resolveImageUrl:(t,a,l)=>t?`https://cdn.example.com/${l??"medium"}.jpg`:void 0,resolveAltText:()=>"Alt text",resolveImageStyle:(t,a)=>m(t,a)}));e.vi.mock("../../utils/resolveLinkUrl",()=>({resolveLinkURL:t=>(t==null?void 0:t.href)??"/resolved"}));const{MockTabs:u,MockTabsList:p,MockTabsTrigger:T,MockTabsPanel:y}=e.vi.hoisted(()=>{const t=e.vi.fn(({children:n})=>s.jsx("div",{"data-testid":"tabs-list",children:n})),a=e.vi.fn(({children:n,index:g})=>s.jsx("button",{"data-testid":"tabs-trigger","data-index":g,children:n})),l=e.vi.fn(({children:n,index:g})=>s.jsx("div",{"data-testid":"tabs-panel","data-index":g,children:n})),i=e.vi.fn(({children:n})=>s.jsx("div",{"data-testid":"tabs",children:n}));return i.List=t,i.Trigger=a,i.Panel=l,{MockTabs:i,MockTabsList:t,MockTabsTrigger:a,MockTabsPanel:l}});e.vi.mock("../../../core/components/Tabs",()=>({Tabs:new Proxy(u,{get:(t,a)=>a==="List"?p:a==="Trigger"?T:a==="Panel"?y:t[a]})}));e.vi.mock("../../../core/components/Button",()=>({Button:({children:t})=>s.jsx("button",{children:t})}));function x(t){return[{_type:"block",_key:"b1",style:"normal",markDefs:[],children:[{_type:"span",_key:"s1",text:t,marks:[]}]}]}const k=({blocks:t,className:a})=>{var l,i,n;return s.jsx("span",{"data-testid":"rich-text",className:a,children:((n=(i=(l=t==null?void 0:t[0])==null?void 0:l.children)==null?void 0:i[0])==null?void 0:n.text)??""})},b={asset:{_ref:"image-abc"}};function o(t,a={}){return{title:t,content:{tabText:x(`${t} body`),...a}}}function c(t={}){return{heading:{title:x("Heading")},items:[o("Tab One")],callToAction:{alignment:"left",spacing:"md",mobileOrientation:"column",items:[]},styleOptions:{layout:"default"},renderRichText:k,...t}}e.beforeEach(()=>{d=!1,m.mockReturnValue({objectFit:"contain"}),u.mockClear(),y.mockClear()});e.describe("1. tabStyleOptions — useStyleClasses result applied to tabContent div",()=>{e.it("applies the tab style class to the tabContent wrapper",()=>{e.render(s.jsx(r.TabsBlock,{...c({items:[o("Tab One",{tabStyleOptions:{tabClass:"fancy"}})]})}));const a=e.screen.getAllByTestId("tabs-panel")[0].querySelector(".tabContent");e.globalExpect(a==null?void 0:a.className).toContain("tab-style-fancy")}),e.it("applies tab style classes from multiple tabs independently",()=>{var a,l;e.render(s.jsx(r.TabsBlock,{...c({items:[o("Tab One",{tabStyleOptions:{tabClass:"alpha"}}),o("Tab Two",{tabStyleOptions:{tabClass:"beta"}})]})}));const t=e.screen.getAllByTestId("tabs-panel");e.globalExpect((a=t[0].querySelector(".tabContent"))==null?void 0:a.className).toContain("tab-style-alpha"),e.globalExpect((l=t[1].querySelector(".tabContent"))==null?void 0:l.className).toContain("tab-style-beta")})});e.describe("2. imageStyle — resolveImageStyle result forwarded to renderImage",()=>{e.it("passes the imageStyle to renderImage for a tab image",()=>{m.mockReturnValue({objectFit:"cover",width:"100%"});const t=e.vi.fn(({style:a})=>s.jsx("img",{"data-testid":"render-image",style:a,src:"x",alt:"x"}));e.render(s.jsx(r.TabsBlock,{...c({items:[o("Tab One",{tabImage:b})],renderImage:t})})),e.globalExpect(t).toHaveBeenCalledWith(e.globalExpect.objectContaining({style:e.globalExpect.objectContaining({objectFit:"cover"})}))})});e.describe("3. imageStyle — applied to plain <img> fallback style",()=>{e.it("merges imageStyle into the fallback <img> style",()=>{m.mockReturnValue({borderRadius:"8px"});const{container:t}=e.render(s.jsx(r.TabsBlock,{...c({items:[o("Tab One",{tabImage:b})],renderImage:void 0})})),a=t.querySelector(".tabImage img");e.globalExpect(a).toBeInTheDocument(),e.globalExpect(a.style.borderRadius).toBe("8px")})});e.describe("4. isMobile — resolveImageStyle called with isMobile flag",()=>{e.it("calls resolveImageStyle with isMobile=false on desktop",()=>{d=!1,e.render(s.jsx(r.TabsBlock,{...c({image:b,items:[o("Tab One",{tabImage:b})]})})),e.globalExpect(m).toHaveBeenCalledWith(e.globalExpect.anything(),!1)}),e.it("calls resolveImageStyle with isMobile=true on mobile",()=>{d=!0,e.render(s.jsx(r.TabsBlock,{...c({image:b,items:[o("Tab One",{tabImage:b})]})})),e.globalExpect(m).toHaveBeenCalledWith(e.globalExpect.anything(),!0)})});e.describe("5. tabStyleOptions absent — no extra class on tabContent when omitted",()=>{e.it("renders tabContent with undefined tabStyles when tabStyleOptions not provided",()=>{e.render(s.jsx(r.TabsBlock,{...c()}));const a=e.screen.getAllByTestId("tabs-panel")[0].querySelector(".tabContent");e.globalExpect(a==null?void 0:a.className).not.toContain("tab-style-")})});
|
|
@@ -1,52 +1,50 @@
|
|
|
1
|
-
import { jsx as
|
|
2
|
-
import { v as
|
|
3
|
-
import { TabsBlock as
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
useStyleClasses: () => "style-classes"
|
|
1
|
+
import { jsx as s } from "react/jsx-runtime";
|
|
2
|
+
import { v as a, b as x, d as u, i as c, r as m, s as f, g as n } from "../../../react.esm-DjxyacK8.js";
|
|
3
|
+
import { TabsBlock as b } from "./index.mjs";
|
|
4
|
+
a.mock("./styles.module.css", () => ({ default: new Proxy({}, { get: (t, o) => o }) }));
|
|
5
|
+
a.mock("../../hooks/useStyleClasses", () => ({
|
|
6
|
+
useStyleClasses: a.fn((e) => e != null && e.tabClass ? `tab-style-${e.tabClass}` : "block-style-classes")
|
|
7
7
|
}));
|
|
8
|
-
|
|
9
|
-
useTheme: () => ({
|
|
8
|
+
a.mock("../../context/ThemeContext", () => ({
|
|
9
|
+
useTheme: () => ({
|
|
10
|
+
mode: "light",
|
|
11
|
+
mounted: !0,
|
|
12
|
+
toggleTheme: a.fn(),
|
|
13
|
+
setTheme: a.fn()
|
|
14
|
+
})
|
|
10
15
|
}));
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
16
|
+
let T = !1;
|
|
17
|
+
a.mock("../../hooks/useMediaQuery", () => ({
|
|
18
|
+
useMediaQuery: () => T
|
|
14
19
|
}));
|
|
15
|
-
|
|
20
|
+
const y = a.fn(
|
|
21
|
+
(e, t) => ({
|
|
22
|
+
objectFit: "contain"
|
|
23
|
+
})
|
|
24
|
+
);
|
|
25
|
+
a.mock("../../utils/mediaUtils", () => ({
|
|
26
|
+
resolveImageUrl: (e, t, o) => e ? `https://cdn.example.com/${o ?? "medium"}.jpg` : void 0,
|
|
27
|
+
resolveAltText: () => "Alt text",
|
|
28
|
+
resolveImageStyle: (e, t) => y(e, t)
|
|
29
|
+
}));
|
|
30
|
+
a.mock("../../utils/resolveLinkUrl", () => ({
|
|
16
31
|
resolveLinkURL: (e) => (e == null ? void 0 : e.href) ?? "/resolved"
|
|
17
32
|
}));
|
|
18
|
-
const { MockTabs:
|
|
33
|
+
const { MockTabs: h, MockTabsList: S, MockTabsTrigger: v, MockTabsPanel: k } = a.hoisted(
|
|
19
34
|
() => {
|
|
20
|
-
const e =
|
|
21
|
-
return {
|
|
22
|
-
MockTabs: b.fn(({ children: g, orientation: T, theme: k }) => /* @__PURE__ */ a("div", { "data-testid": "tabs", "data-orientation": T, "data-theme": k, children: g })),
|
|
23
|
-
MockTabsList: e,
|
|
24
|
-
MockTabsTrigger: t,
|
|
25
|
-
MockTabsPanel: d
|
|
26
|
-
};
|
|
35
|
+
const e = a.fn(({ children: l }) => /* @__PURE__ */ s("div", { "data-testid": "tabs-list", children: l })), t = a.fn(({ children: l, index: p }) => /* @__PURE__ */ s("button", { "data-testid": "tabs-trigger", "data-index": p, children: l })), o = a.fn(({ children: l, index: p }) => /* @__PURE__ */ s("div", { "data-testid": "tabs-panel", "data-index": p, children: l })), r = a.fn(({ children: l }) => /* @__PURE__ */ s("div", { "data-testid": "tabs", children: l }));
|
|
36
|
+
return r.List = e, r.Trigger = t, r.Panel = o, { MockTabs: r, MockTabsList: e, MockTabsTrigger: t, MockTabsPanel: o };
|
|
27
37
|
}
|
|
28
38
|
);
|
|
29
|
-
|
|
30
|
-
Tabs:
|
|
31
|
-
List:
|
|
32
|
-
Trigger: I,
|
|
33
|
-
Panel: f
|
|
39
|
+
a.mock("../../../core/components/Tabs", () => ({
|
|
40
|
+
Tabs: new Proxy(h, {
|
|
41
|
+
get: (e, t) => t === "List" ? S : t === "Trigger" ? v : t === "Panel" ? k : e[t]
|
|
34
42
|
})
|
|
35
43
|
}));
|
|
36
|
-
|
|
37
|
-
Button: ({ children: e
|
|
38
|
-
"a",
|
|
39
|
-
{
|
|
40
|
-
"data-testid": "tab-button",
|
|
41
|
-
href: t,
|
|
42
|
-
target: d,
|
|
43
|
-
rel: u,
|
|
44
|
-
"aria-label": g,
|
|
45
|
-
children: e
|
|
46
|
-
}
|
|
47
|
-
)
|
|
44
|
+
a.mock("../../../core/components/Button", () => ({
|
|
45
|
+
Button: ({ children: e }) => /* @__PURE__ */ s("button", { children: e })
|
|
48
46
|
}));
|
|
49
|
-
function
|
|
47
|
+
function C(e) {
|
|
50
48
|
return [
|
|
51
49
|
{
|
|
52
50
|
_type: "block",
|
|
@@ -57,23 +55,23 @@ function h(e) {
|
|
|
57
55
|
}
|
|
58
56
|
];
|
|
59
57
|
}
|
|
60
|
-
const
|
|
61
|
-
var
|
|
62
|
-
return /* @__PURE__ */
|
|
63
|
-
},
|
|
64
|
-
function
|
|
58
|
+
const I = ({ blocks: e, className: t }) => {
|
|
59
|
+
var o, r, l;
|
|
60
|
+
return /* @__PURE__ */ s("span", { "data-testid": "rich-text", className: t, children: ((l = (r = (o = e == null ? void 0 : e[0]) == null ? void 0 : o.children) == null ? void 0 : r[0]) == null ? void 0 : l.text) ?? "" });
|
|
61
|
+
}, g = { asset: { _ref: "image-abc" } };
|
|
62
|
+
function i(e, t = {}) {
|
|
65
63
|
return {
|
|
66
64
|
title: e,
|
|
67
65
|
content: {
|
|
68
|
-
tabText:
|
|
66
|
+
tabText: C(`${e} body`),
|
|
69
67
|
...t
|
|
70
68
|
}
|
|
71
69
|
};
|
|
72
70
|
}
|
|
73
|
-
function
|
|
71
|
+
function d(e = {}) {
|
|
74
72
|
return {
|
|
75
|
-
heading: { title:
|
|
76
|
-
items: [
|
|
73
|
+
heading: { title: C("Heading") },
|
|
74
|
+
items: [i("Tab One")],
|
|
77
75
|
callToAction: {
|
|
78
76
|
alignment: "left",
|
|
79
77
|
spacing: "md",
|
|
@@ -81,486 +79,133 @@ function i(e = {}) {
|
|
|
81
79
|
items: []
|
|
82
80
|
},
|
|
83
81
|
styleOptions: { layout: "default" },
|
|
84
|
-
renderRichText:
|
|
85
|
-
renderCallToAction: w,
|
|
82
|
+
renderRichText: I,
|
|
86
83
|
...e
|
|
87
84
|
};
|
|
88
85
|
}
|
|
89
86
|
x(() => {
|
|
90
|
-
|
|
91
|
-
});
|
|
92
|
-
c("1. Default layout", () => {
|
|
93
|
-
r("renders a section with the default class", () => {
|
|
94
|
-
var t;
|
|
95
|
-
const { container: e } = o(/* @__PURE__ */ a(s, { ...i() }));
|
|
96
|
-
n((t = e.querySelector("section")) == null ? void 0 : t.className).toContain("default");
|
|
97
|
-
}), r("renders the tabs element", () => {
|
|
98
|
-
o(/* @__PURE__ */ a(s, { ...i() })), n(l.getByTestId("tabs")).toBeInTheDocument();
|
|
99
|
-
}), r("renders the heading", () => {
|
|
100
|
-
o(/* @__PURE__ */ a(s, { ...i() }));
|
|
101
|
-
const e = l.getAllByTestId("rich-text");
|
|
102
|
-
n(e.some((t) => t.textContent === "Tabs Heading")).toBe(!0);
|
|
103
|
-
}), r("does not set data-overlay on the section", () => {
|
|
104
|
-
var t;
|
|
105
|
-
const { container: e } = o(/* @__PURE__ */ a(s, { ...i() }));
|
|
106
|
-
n((t = e.querySelector("section")) == null ? void 0 : t.dataset.overlay).toBeUndefined();
|
|
107
|
-
});
|
|
108
|
-
});
|
|
109
|
-
c("2. Full-bleed layout", () => {
|
|
110
|
-
const e = { styleOptions: { layout: "full-bleed" } };
|
|
111
|
-
r("renders a section with the fullBleed class", () => {
|
|
112
|
-
var d;
|
|
113
|
-
const { container: t } = o(/* @__PURE__ */ a(s, { ...i(e) }));
|
|
114
|
-
n((d = t.querySelector("section")) == null ? void 0 : d.className).toContain(
|
|
115
|
-
"fullBleed"
|
|
116
|
-
);
|
|
117
|
-
}), r("sets data-overlay=true on the section", () => {
|
|
118
|
-
var d;
|
|
119
|
-
const { container: t } = o(/* @__PURE__ */ a(s, { ...i(e) }));
|
|
120
|
-
n((d = t.querySelector("section")) == null ? void 0 : d.dataset.overlay).toBe("true");
|
|
121
|
-
}), r("renders an overlay div", () => {
|
|
122
|
-
const { container: t } = o(/* @__PURE__ */ a(s, { ...i(e) }));
|
|
123
|
-
n(t.querySelector(".overlay")).toBeInTheDocument();
|
|
124
|
-
}), r("renders the tabs inside the overlay", () => {
|
|
125
|
-
var d;
|
|
126
|
-
const { container: t } = o(/* @__PURE__ */ a(s, { ...i(e) }));
|
|
127
|
-
n(
|
|
128
|
-
(d = t.querySelector(".overlay")) == null ? void 0 : d.querySelector("[data-testid='tabs']")
|
|
129
|
-
).toBeInTheDocument();
|
|
130
|
-
});
|
|
131
|
-
});
|
|
132
|
-
c("3. Unknown layout — returns null", () => {
|
|
133
|
-
r("renders nothing for an unknown layout value", () => {
|
|
134
|
-
const { container: e } = o(
|
|
135
|
-
/* @__PURE__ */ a(s, { ...i({ styleOptions: { layout: "unknown" } }) })
|
|
136
|
-
);
|
|
137
|
-
n(e.firstChild).toBeNull();
|
|
138
|
-
});
|
|
139
|
-
});
|
|
140
|
-
c("4. Heading area — eyebrow, title, description, disclaimer", () => {
|
|
141
|
-
r("renders the title", () => {
|
|
142
|
-
o(/* @__PURE__ */ a(s, { ...i() }));
|
|
143
|
-
const e = l.getAllByTestId("rich-text");
|
|
144
|
-
n(e.some((t) => t.textContent === "Tabs Heading")).toBe(!0);
|
|
145
|
-
}), r("renders the eyebrow when provided", () => {
|
|
146
|
-
o(
|
|
147
|
-
/* @__PURE__ */ a(
|
|
148
|
-
s,
|
|
149
|
-
{
|
|
150
|
-
...i({
|
|
151
|
-
heading: {
|
|
152
|
-
title: h("Title"),
|
|
153
|
-
eyebrow: h("Product")
|
|
154
|
-
}
|
|
155
|
-
})
|
|
156
|
-
}
|
|
157
|
-
)
|
|
158
|
-
);
|
|
159
|
-
const e = l.getAllByTestId("rich-text");
|
|
160
|
-
n(e.some((t) => t.textContent === "Product")).toBe(!0);
|
|
161
|
-
}), r("renders description when provided", () => {
|
|
162
|
-
o(
|
|
163
|
-
/* @__PURE__ */ a(
|
|
164
|
-
s,
|
|
165
|
-
{
|
|
166
|
-
...i({
|
|
167
|
-
heading: {
|
|
168
|
-
title: h("Title"),
|
|
169
|
-
description: h("Intro paragraph")
|
|
170
|
-
}
|
|
171
|
-
})
|
|
172
|
-
}
|
|
173
|
-
)
|
|
174
|
-
);
|
|
175
|
-
const e = l.getAllByTestId("rich-text");
|
|
176
|
-
n(e.some((t) => t.textContent === "Intro paragraph")).toBe(!0);
|
|
177
|
-
}), r("renders disclaimer when provided", () => {
|
|
178
|
-
o(
|
|
179
|
-
/* @__PURE__ */ a(
|
|
180
|
-
s,
|
|
181
|
-
{
|
|
182
|
-
...i({
|
|
183
|
-
heading: {
|
|
184
|
-
title: h("Title"),
|
|
185
|
-
disclaimer: h("Terms apply")
|
|
186
|
-
}
|
|
187
|
-
})
|
|
188
|
-
}
|
|
189
|
-
)
|
|
190
|
-
);
|
|
191
|
-
const e = l.getAllByTestId("rich-text");
|
|
192
|
-
n(e.some((t) => t.textContent === "Terms apply")).toBe(!0);
|
|
193
|
-
});
|
|
194
|
-
});
|
|
195
|
-
c("5. headingLayout class", () => {
|
|
196
|
-
r("applies headingVertical by default", () => {
|
|
197
|
-
var t;
|
|
198
|
-
const { container: e } = o(/* @__PURE__ */ a(s, { ...i() }));
|
|
199
|
-
n((t = e.querySelector(".heading")) == null ? void 0 : t.className).toContain(
|
|
200
|
-
"headingVertical"
|
|
201
|
-
);
|
|
202
|
-
}), r("applies headingHorizontal when headingLayout=horizontal", () => {
|
|
203
|
-
var t;
|
|
204
|
-
const { container: e } = o(
|
|
205
|
-
/* @__PURE__ */ a(
|
|
206
|
-
s,
|
|
207
|
-
{
|
|
208
|
-
...i({
|
|
209
|
-
heading: {
|
|
210
|
-
title: h("Title"),
|
|
211
|
-
headingLayout: "horizontal"
|
|
212
|
-
}
|
|
213
|
-
})
|
|
214
|
-
}
|
|
215
|
-
)
|
|
216
|
-
);
|
|
217
|
-
n((t = e.querySelector(".heading")) == null ? void 0 : t.className).toContain(
|
|
218
|
-
"headingHorizontal"
|
|
219
|
-
);
|
|
220
|
-
});
|
|
221
|
-
});
|
|
222
|
-
c("6. Tabs element — triggers and panels per item", () => {
|
|
223
|
-
r("renders one trigger per item", () => {
|
|
224
|
-
o(/* @__PURE__ */ a(s, { ...i() })), n(l.getAllByTestId("tabs-trigger")).toHaveLength(2);
|
|
225
|
-
}), r("renders each item title as trigger text", () => {
|
|
226
|
-
o(/* @__PURE__ */ a(s, { ...i() }));
|
|
227
|
-
const e = l.getAllByTestId("tabs-trigger");
|
|
228
|
-
n(e[0].textContent).toBe("Tab One"), n(e[1].textContent).toBe("Tab Two");
|
|
229
|
-
}), r("renders one panel per item", () => {
|
|
230
|
-
o(/* @__PURE__ */ a(s, { ...i() })), n(l.getAllByTestId("tabs-panel")).toHaveLength(2);
|
|
231
|
-
});
|
|
87
|
+
T = !1, y.mockReturnValue({ objectFit: "contain" }), h.mockClear(), k.mockClear();
|
|
232
88
|
});
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
}), r("renders a tab image when tabImage is provided", () => {
|
|
239
|
-
o(
|
|
240
|
-
/* @__PURE__ */ a(
|
|
241
|
-
s,
|
|
89
|
+
u("1. tabStyleOptions — useStyleClasses result applied to tabContent div", () => {
|
|
90
|
+
c("applies the tab style class to the tabContent wrapper", () => {
|
|
91
|
+
m(
|
|
92
|
+
/* @__PURE__ */ s(
|
|
93
|
+
b,
|
|
242
94
|
{
|
|
243
|
-
...
|
|
95
|
+
...d({
|
|
244
96
|
items: [
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
})
|
|
248
|
-
],
|
|
249
|
-
renderImage: y
|
|
250
|
-
})
|
|
251
|
-
}
|
|
252
|
-
)
|
|
253
|
-
), n(l.getByTestId("render-image")).toBeInTheDocument();
|
|
254
|
-
}), r("renders tabDisclaimer when provided", () => {
|
|
255
|
-
o(
|
|
256
|
-
/* @__PURE__ */ a(
|
|
257
|
-
s,
|
|
258
|
-
{
|
|
259
|
-
...i({
|
|
260
|
-
items: [
|
|
261
|
-
m("Tab One", {
|
|
262
|
-
tabDisclaimer: h("Tab disclaimer text")
|
|
97
|
+
i("Tab One", {
|
|
98
|
+
tabStyleOptions: { tabClass: "fancy" }
|
|
263
99
|
})
|
|
264
100
|
]
|
|
265
101
|
})
|
|
266
102
|
}
|
|
267
103
|
)
|
|
268
104
|
);
|
|
269
|
-
const
|
|
270
|
-
n(
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
});
|
|
277
|
-
});
|
|
278
|
-
c("8. Tab CTA link — Button for valid URL; absent for '#' or missing", () => {
|
|
279
|
-
r("renders a Button when tabLink resolves to a valid URL", () => {
|
|
280
|
-
o(
|
|
281
|
-
/* @__PURE__ */ a(
|
|
282
|
-
s,
|
|
283
|
-
{
|
|
284
|
-
...i({
|
|
285
|
-
items: [
|
|
286
|
-
m("Tab One", {
|
|
287
|
-
tabLink: { href: "/learn-more", label: "Learn More" }
|
|
288
|
-
})
|
|
289
|
-
]
|
|
290
|
-
})
|
|
291
|
-
}
|
|
292
|
-
)
|
|
293
|
-
), n(l.getByTestId("tab-button")).toBeInTheDocument(), n(l.getByTestId("tab-button").textContent).toBe("Learn More");
|
|
294
|
-
}), r("does not render a Button when tabLink is absent", () => {
|
|
295
|
-
o(/* @__PURE__ */ a(s, { ...i() })), n(l.queryByTestId("tab-button")).toBeNull();
|
|
296
|
-
}), r("does not render a Button when resolved URL is '#'", () => {
|
|
297
|
-
o(
|
|
298
|
-
/* @__PURE__ */ a(
|
|
299
|
-
s,
|
|
105
|
+
const t = f.getAllByTestId("tabs-panel")[0].querySelector(".tabContent");
|
|
106
|
+
n(t == null ? void 0 : t.className).toContain("tab-style-fancy");
|
|
107
|
+
}), c("applies tab style classes from multiple tabs independently", () => {
|
|
108
|
+
var t, o;
|
|
109
|
+
m(
|
|
110
|
+
/* @__PURE__ */ s(
|
|
111
|
+
b,
|
|
300
112
|
{
|
|
301
|
-
...
|
|
113
|
+
...d({
|
|
302
114
|
items: [
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
})
|
|
115
|
+
i("Tab One", { tabStyleOptions: { tabClass: "alpha" } }),
|
|
116
|
+
i("Tab Two", { tabStyleOptions: { tabClass: "beta" } })
|
|
306
117
|
]
|
|
307
118
|
})
|
|
308
119
|
}
|
|
309
120
|
)
|
|
310
|
-
), n(l.queryByTestId("tab-button")).toBeNull();
|
|
311
|
-
});
|
|
312
|
-
});
|
|
313
|
-
c("9. Tab CTA — external links get target=_blank and rel=noopener", () => {
|
|
314
|
-
r("sets target=_blank for external link type", () => {
|
|
315
|
-
o(
|
|
316
|
-
/* @__PURE__ */ a(
|
|
317
|
-
s,
|
|
318
|
-
{
|
|
319
|
-
...i({
|
|
320
|
-
items: [
|
|
321
|
-
m("Tab One", {
|
|
322
|
-
tabLink: {
|
|
323
|
-
href: "/go",
|
|
324
|
-
label: "Go",
|
|
325
|
-
linkOptions: { linkType: "external" }
|
|
326
|
-
}
|
|
327
|
-
})
|
|
328
|
-
]
|
|
329
|
-
})
|
|
330
|
-
}
|
|
331
|
-
)
|
|
332
|
-
), n(l.getByTestId("tab-button").getAttribute("target")).toBe(
|
|
333
|
-
"_blank"
|
|
334
121
|
);
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
...i({
|
|
341
|
-
items: [
|
|
342
|
-
m("Tab One", {
|
|
343
|
-
tabLink: {
|
|
344
|
-
href: "/go",
|
|
345
|
-
label: "Go",
|
|
346
|
-
linkOptions: { linkType: "external" }
|
|
347
|
-
}
|
|
348
|
-
})
|
|
349
|
-
]
|
|
350
|
-
})
|
|
351
|
-
}
|
|
352
|
-
)
|
|
353
|
-
), n(l.getByTestId("tab-button").getAttribute("rel")).toBe(
|
|
354
|
-
"noopener noreferrer"
|
|
355
|
-
);
|
|
356
|
-
}), r("sets target=_self for internal links", () => {
|
|
357
|
-
o(
|
|
358
|
-
/* @__PURE__ */ a(
|
|
359
|
-
s,
|
|
360
|
-
{
|
|
361
|
-
...i({
|
|
362
|
-
items: [
|
|
363
|
-
m("Tab One", {
|
|
364
|
-
tabLink: {
|
|
365
|
-
href: "/internal",
|
|
366
|
-
label: "Internal",
|
|
367
|
-
linkOptions: { linkType: "internal" }
|
|
368
|
-
}
|
|
369
|
-
})
|
|
370
|
-
]
|
|
371
|
-
})
|
|
372
|
-
}
|
|
373
|
-
)
|
|
374
|
-
), n(l.getByTestId("tab-button").getAttribute("target")).toBe(
|
|
375
|
-
"_self"
|
|
122
|
+
const e = f.getAllByTestId("tabs-panel");
|
|
123
|
+
n((t = e[0].querySelector(".tabContent")) == null ? void 0 : t.className).toContain(
|
|
124
|
+
"tab-style-alpha"
|
|
125
|
+
), n((o = e[1].querySelector(".tabContent")) == null ? void 0 : o.className).toContain(
|
|
126
|
+
"tab-style-beta"
|
|
376
127
|
);
|
|
377
128
|
});
|
|
378
129
|
});
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
})
|
|
392
|
-
}
|
|
393
|
-
)
|
|
394
|
-
);
|
|
395
|
-
const e = l.getAllByTestId("rich-text");
|
|
396
|
-
n(e.some((t) => t.textContent === "Grid item text")).toBe(!0);
|
|
397
|
-
}), r("renders grid item image via renderImage when provided", () => {
|
|
398
|
-
o(
|
|
399
|
-
/* @__PURE__ */ a(
|
|
400
|
-
s,
|
|
401
|
-
{
|
|
402
|
-
...i({
|
|
130
|
+
u("2. imageStyle — resolveImageStyle result forwarded to renderImage", () => {
|
|
131
|
+
c("passes the imageStyle to renderImage for a tab image", () => {
|
|
132
|
+
y.mockReturnValue({
|
|
133
|
+
objectFit: "cover",
|
|
134
|
+
width: "100%"
|
|
135
|
+
});
|
|
136
|
+
const e = a.fn(({ style: t }) => /* @__PURE__ */ s("img", { "data-testid": "render-image", style: t, src: "x", alt: "x" }));
|
|
137
|
+
m(
|
|
138
|
+
/* @__PURE__ */ s(
|
|
139
|
+
b,
|
|
140
|
+
{
|
|
141
|
+
...d({
|
|
403
142
|
items: [
|
|
404
|
-
|
|
405
|
-
|
|
143
|
+
i("Tab One", {
|
|
144
|
+
tabImage: g
|
|
406
145
|
})
|
|
407
146
|
],
|
|
408
|
-
renderImage:
|
|
409
|
-
})
|
|
410
|
-
}
|
|
411
|
-
)
|
|
412
|
-
), n(l.getByTestId("render-image")).toBeInTheDocument();
|
|
413
|
-
}), r("renders a plain <img> fallback for grid item when renderImage is absent", () => {
|
|
414
|
-
const { container: e } = o(
|
|
415
|
-
/* @__PURE__ */ a(
|
|
416
|
-
s,
|
|
417
|
-
{
|
|
418
|
-
...i({
|
|
419
|
-
items: [
|
|
420
|
-
m("Tab One", {
|
|
421
|
-
tabGridItem: [{ itemImage: { asset: { _ref: "grid-img" } } }]
|
|
422
|
-
})
|
|
423
|
-
],
|
|
424
|
-
renderImage: void 0
|
|
147
|
+
renderImage: e
|
|
425
148
|
})
|
|
426
149
|
}
|
|
427
150
|
)
|
|
151
|
+
), n(e).toHaveBeenCalledWith(
|
|
152
|
+
n.objectContaining({
|
|
153
|
+
style: n.objectContaining({ objectFit: "cover" })
|
|
154
|
+
})
|
|
428
155
|
);
|
|
429
|
-
n(e.querySelector("img")).toBeInTheDocument();
|
|
430
|
-
});
|
|
431
|
-
});
|
|
432
|
-
c("11. Block-level image", () => {
|
|
433
|
-
r("renders BlockImage in default layout when image is provided", () => {
|
|
434
|
-
o(
|
|
435
|
-
/* @__PURE__ */ a(
|
|
436
|
-
s,
|
|
437
|
-
{
|
|
438
|
-
...i({
|
|
439
|
-
image: { asset: { _ref: "block-img" } },
|
|
440
|
-
renderImage: y
|
|
441
|
-
})
|
|
442
|
-
}
|
|
443
|
-
)
|
|
444
|
-
), n(l.getByTestId("render-image")).toBeInTheDocument();
|
|
445
|
-
}), r("does not render a block image when image prop is absent", () => {
|
|
446
|
-
const { container: e } = o(/* @__PURE__ */ a(s, { ...i() }));
|
|
447
|
-
n(e.querySelector("img")).toBeNull();
|
|
448
|
-
}), r("renders a fill image in full-bleed layout", () => {
|
|
449
|
-
o(
|
|
450
|
-
/* @__PURE__ */ a(
|
|
451
|
-
s,
|
|
452
|
-
{
|
|
453
|
-
...i({
|
|
454
|
-
image: { asset: { _ref: "bg-img" } },
|
|
455
|
-
styleOptions: { layout: "full-bleed" },
|
|
456
|
-
renderImage: y
|
|
457
|
-
})
|
|
458
|
-
}
|
|
459
|
-
)
|
|
460
|
-
), n(l.getByTestId("render-image").dataset.fill).toBe("true");
|
|
461
156
|
});
|
|
462
157
|
});
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
const { container: e } =
|
|
467
|
-
/* @__PURE__ */
|
|
468
|
-
|
|
158
|
+
u("3. imageStyle — applied to plain <img> fallback style", () => {
|
|
159
|
+
c("merges imageStyle into the fallback <img> style", () => {
|
|
160
|
+
y.mockReturnValue({ borderRadius: "8px" });
|
|
161
|
+
const { container: e } = m(
|
|
162
|
+
/* @__PURE__ */ s(
|
|
163
|
+
b,
|
|
469
164
|
{
|
|
470
|
-
...
|
|
471
|
-
items: [
|
|
472
|
-
m("Tab One", {
|
|
473
|
-
tabImage: { asset: { _ref: "tab-img" } }
|
|
474
|
-
})
|
|
475
|
-
],
|
|
165
|
+
...d({
|
|
166
|
+
items: [i("Tab One", { tabImage: g })],
|
|
476
167
|
renderImage: void 0
|
|
477
168
|
})
|
|
478
169
|
}
|
|
479
170
|
)
|
|
480
|
-
);
|
|
481
|
-
n(
|
|
482
|
-
"cdn.example.com"
|
|
483
|
-
);
|
|
171
|
+
), t = e.querySelector(".tabImage img");
|
|
172
|
+
n(t).toBeInTheDocument(), n(t.style.borderRadius).toBe("8px");
|
|
484
173
|
});
|
|
485
174
|
});
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
/* @__PURE__ */
|
|
490
|
-
|
|
491
|
-
{
|
|
492
|
-
...i({
|
|
493
|
-
callToAction: {
|
|
494
|
-
alignment: "center",
|
|
495
|
-
spacing: "lg",
|
|
496
|
-
mobileOrientation: "row",
|
|
497
|
-
items: [{ _key: "l1", href: "/go", label: "Go" }]
|
|
498
|
-
}
|
|
499
|
-
})
|
|
500
|
-
}
|
|
501
|
-
)
|
|
502
|
-
), n(l.getByTestId("cta")).toBeInTheDocument();
|
|
503
|
-
}), r("passes alignment to renderCallToAction", () => {
|
|
504
|
-
o(
|
|
505
|
-
/* @__PURE__ */ a(
|
|
506
|
-
s,
|
|
175
|
+
u("4. isMobile — resolveImageStyle called with isMobile flag", () => {
|
|
176
|
+
c("calls resolveImageStyle with isMobile=false on desktop", () => {
|
|
177
|
+
T = !1, m(
|
|
178
|
+
/* @__PURE__ */ s(
|
|
179
|
+
b,
|
|
507
180
|
{
|
|
508
|
-
...
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
spacing: "sm",
|
|
512
|
-
mobileOrientation: "column",
|
|
513
|
-
items: [{ _key: "l1", href: "/x", label: "X" }]
|
|
514
|
-
}
|
|
181
|
+
...d({
|
|
182
|
+
image: g,
|
|
183
|
+
items: [i("Tab One", { tabImage: g })]
|
|
515
184
|
})
|
|
516
185
|
}
|
|
517
186
|
)
|
|
518
|
-
), n(
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
/* @__PURE__ */ a(
|
|
527
|
-
s,
|
|
187
|
+
), n(y).toHaveBeenCalledWith(
|
|
188
|
+
n.anything(),
|
|
189
|
+
!1
|
|
190
|
+
);
|
|
191
|
+
}), c("calls resolveImageStyle with isMobile=true on mobile", () => {
|
|
192
|
+
T = !0, m(
|
|
193
|
+
/* @__PURE__ */ s(
|
|
194
|
+
b,
|
|
528
195
|
{
|
|
529
|
-
...
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
orientation: "orientationVertical"
|
|
533
|
-
}
|
|
196
|
+
...d({
|
|
197
|
+
image: g,
|
|
198
|
+
items: [i("Tab One", { tabImage: g })]
|
|
534
199
|
})
|
|
535
200
|
}
|
|
536
201
|
)
|
|
537
|
-
), n(
|
|
202
|
+
), n(y).toHaveBeenCalledWith(n.anything(), !0);
|
|
538
203
|
});
|
|
539
204
|
});
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
/* @__PURE__ */ a(
|
|
546
|
-
s,
|
|
547
|
-
{
|
|
548
|
-
...i({
|
|
549
|
-
styleOptions: { layout: "default", theme: "themeDark" }
|
|
550
|
-
})
|
|
551
|
-
}
|
|
552
|
-
)
|
|
553
|
-
), n(l.getByTestId("tabs").dataset.theme).toBe("dark");
|
|
554
|
-
}), r("passes light theme when styleOptions.theme=themeLight", () => {
|
|
555
|
-
o(
|
|
556
|
-
/* @__PURE__ */ a(
|
|
557
|
-
s,
|
|
558
|
-
{
|
|
559
|
-
...i({
|
|
560
|
-
styleOptions: { layout: "default", theme: "themeLight" }
|
|
561
|
-
})
|
|
562
|
-
}
|
|
563
|
-
)
|
|
564
|
-
), n(l.getByTestId("tabs").dataset.theme).toBe("light");
|
|
205
|
+
u("5. tabStyleOptions absent — no extra class on tabContent when omitted", () => {
|
|
206
|
+
c("renders tabContent with undefined tabStyles when tabStyleOptions not provided", () => {
|
|
207
|
+
m(/* @__PURE__ */ s(b, { ...d() }));
|
|
208
|
+
const t = f.getAllByTestId("tabs-panel")[0].querySelector(".tabContent");
|
|
209
|
+
n(t == null ? void 0 : t.className).not.toContain("tab-style-");
|
|
565
210
|
});
|
|
566
211
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require('../../../index13.css');const a=require("react/jsx-runtime"),G=require("../../hooks/useStyleClasses.cjs"),g=require("../../../core/components/Tabs/index.cjs"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require('../../../index13.css');const a=require("react/jsx-runtime"),G=require("../../hooks/useStyleClasses.cjs"),g=require("../../../core/components/Tabs/index.cjs"),Y=require("../../../index-CAS0iFfs.cjs"),J=require("../../utils/resolveLinkUrl.cjs"),K=require("../../../core/context/ThemeContext.cjs"),_=require("../../utils/mediaUtils.cjs"),O=require("../../hooks/useMediaQuery.cjs"),W="_tabs_jt1ik_1",X="_container_jt1ik_7",Z="_heading_jt1ik_25",A="_text_jt1ik_32",T="_headingHorizontal_jt1ik_46",R="_title_jt1ik_54",tt="_headingVertical_jt1ik_64",at="_tabContent_jt1ik_74",st="_tabImage_jt1ik_98",lt="_vertical_jt1ik_103",it="_tabsContainer_jt1ik_69",et="_tabText_jt1ik_126",ot="_gridItems_jt1ik_146",nt="_gridItem_jt1ik_146",ct="_fullBleed_jt1ik_186",bt="_overlay_jt1ik_213",mt="_eyebrow_jt1ik_319",s={tabs:W,container:X,heading:Z,text:A,headingHorizontal:T,title:R,headingVertical:tt,tabContent:at,tabImage:st,vertical:lt,tabsContainer:it,tabText:et,gridItems:ot,gridItem:nt,default:"_default_jt1ik_171",fullBleed:ct,overlay:bt,eyebrow:mt},_t={orientationHorizontal:"horizontal",orientationVertical:"vertical"},rt={themeDefault:"default",themeLight:"light",themeDark:"dark",themeTransparent:"transparent"},ut={horizontal:s.headingHorizontal,vertical:s.headingVertical},gt={horizontal:"",vertical:s.vertical};function jt({src:l,alt:c,renderImage:m}){return m?m({src:l,alt:c,width:600,height:658,priority:!0}):a.jsx("img",{src:l,alt:c,width:600,height:658})}function kt({items:l,mode:c,renderImage:m,renderRichText:o}){return a.jsx("div",{className:s.gridItems,children:l.map((e,t)=>{const n=_.resolveImageUrl(e.itemImage,c,"medium"),b=_.resolveAltText(e.itemImage,c,"Grid image");return a.jsxs("div",{className:s.gridItem,children:[n&&m?m({src:n,alt:b,width:200,height:200}):n?a.jsx("img",{src:n,alt:b,width:200,height:200}):null,e.itemText&&(o==null?void 0:o({blocks:e.itemText}))]},t)})})}function vt({heading:l,image:c,items:m,callToAction:o,styleOptions:e,renderRichText:t,renderCallToAction:n,renderImage:b}){const{mode:u}=K.useTheme(),N=G.useStyleClasses(e),P=O.useMediaQuery("(max-width: 768px)")??!1,I=(e==null?void 0:e.layout)??"default",d=ut[l.headingLayout??"vertical"],w=_t[(e==null?void 0:e.orientation)??"orientationHorizontal"],F=rt[(e==null?void 0:e.theme)??"themeDefault"],p=_.resolveImageUrl(c,u,"medium"),j=_.resolveImageUrl(c,u,"large"),k=_.resolveAltText(c,u,"Block image"),L=a.jsxs(g.Tabs,{defaultIndex:0,orientation:w,theme:F,children:[a.jsx(g.Tabs.List,{children:m.map((i,v)=>a.jsx(g.Tabs.Trigger,{index:v,children:i.title},i.title))}),m.map((i,v)=>{var U,B,z,q,x,C,H,E,M,V,D;const f=_.resolveImageUrl((U=i.content)==null?void 0:U.tabImage,u,"medium"),$=_.resolveAltText((B=i.content)==null?void 0:B.tabImage,u,"Tab image"),y=(z=i.content)!=null&&z.tabLink?J.resolveLinkURL(i.content.tabLink):void 0,r=(q=i.content)==null?void 0:q.tabLink,S=Array.isArray((x=i.content)==null?void 0:x.tabGridItem)?i.content.tabGridItem:null,Q=(C=i.content)!=null&&C.tabStyleOptions?G.useStyleClasses((H=i.content)==null?void 0:H.tabStyleOptions):void 0,h=_.resolveImageStyle(c,P);return a.jsx(g.Tabs.Panel,{index:v,children:a.jsxs("div",{className:`${s.tabContent} ${gt[w]} ${Q}`,children:[f&&a.jsx("div",{className:s.tabImage,children:b?b({src:f,alt:$,width:250,height:250,style:h}):a.jsx("img",{src:f,alt:$,width:250,height:250,style:{width:"100%",height:"auto",...h}})}),a.jsxs("div",{className:s.tabText,children:[((E=i.content)==null?void 0:E.tabText)&&(t==null?void 0:t({blocks:i.content.tabText})),S&&a.jsx(kt,{items:S,mode:u,renderImage:b,renderRichText:t}),y&&y!=="#"&&r&&a.jsx(Y.Button,{as:"a",variant:r.variant??"primary",href:y,target:((M=r.linkOptions)==null?void 0:M.linkType)==="external"?"_blank":"_self",rel:((V=r.linkOptions)==null?void 0:V.linkType)==="external"?"noopener noreferrer":"","aria-label":r.ariaLabel||r.label,children:r.label}),((D=i.content)==null?void 0:D.tabDisclaimer)&&(t==null?void 0:t({blocks:i.content.tabDisclaimer}))]})]})},i.title)})]});return I==="default"?a.jsx("section",{className:`${s.tabs} ${s.default} ${N}`,children:a.jsxs("article",{className:s.container,children:[p&&a.jsx(jt,{src:p,alt:k,renderImage:b}),a.jsxs("div",{className:`${s.heading} ${d}`,children:[a.jsxs("div",{children:[l.eyebrow&&(t==null?void 0:t({blocks:l.eyebrow,className:s.eyebrow})),t==null?void 0:t({blocks:l.title,className:s.title})]}),l.description&&a.jsx("div",{className:s.text,children:t==null?void 0:t({blocks:l.description})})]}),a.jsx("div",{className:s.tabsContainer,children:L}),o&&(n==null?void 0:n({items:o.items,alignment:o.alignment,spacing:o.spacing,mobileOrientation:o.mobileOrientation})),l.disclaimer&&(t==null?void 0:t({blocks:l.disclaimer}))]})}):I==="full-bleed"?a.jsx("section",{"data-overlay":"true",className:`${s.tabs} ${s.fullBleed} ${N} tabsFullBleed`,children:a.jsxs("article",{className:s.container,children:[j&&(b?b({src:j,alt:k,fill:!0,priority:!0,sizes:"(max-width: 767px) 600px, 1200px",style:{objectFit:"cover"},draggable:!1}):a.jsx("img",{src:j,alt:k,style:{position:"absolute",inset:0,width:"100%",height:"100%",objectFit:"cover"}})),a.jsx("div",{className:s.overlay,children:a.jsxs("div",{className:`${s.heading} ${d}`,children:[a.jsxs("div",{children:[l.eyebrow&&(t==null?void 0:t({blocks:l.eyebrow,className:s.eyebrow})),t==null?void 0:t({blocks:l.title,className:s.title})]}),l.description&&(t==null?void 0:t({blocks:l.description})),a.jsx("div",{className:s.tabsContainer,children:L}),o&&(n==null?void 0:n({items:o.items,alignment:o.alignment,spacing:o.spacing,mobileOrientation:o.mobileOrientation})),l.disclaimer&&(t==null?void 0:t({blocks:l.disclaimer}))]})})]})}):null}exports.TabsBlock=vt;
|
|
@@ -1,64 +1,65 @@
|
|
|
1
|
-
import { jsxs as
|
|
1
|
+
import { jsxs as b, jsx as i } from "react/jsx-runtime";
|
|
2
2
|
import { useStyleClasses as Y } from "../../hooks/useStyleClasses.mjs";
|
|
3
|
-
import { Tabs as
|
|
4
|
-
import { B as
|
|
5
|
-
import { resolveLinkURL as
|
|
6
|
-
import { useTheme as
|
|
7
|
-
import { resolveImageUrl as
|
|
8
|
-
import
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
3
|
+
import { Tabs as g } from "../../../core/components/Tabs/index.mjs";
|
|
4
|
+
import { B as W } from "../../../index-Cahn_yoK.js";
|
|
5
|
+
import { resolveLinkURL as X } from "../../utils/resolveLinkUrl.mjs";
|
|
6
|
+
import { useTheme as Z } from "../../../core/context/ThemeContext.mjs";
|
|
7
|
+
import { resolveImageUrl as k, resolveAltText as p, resolveImageStyle as O } from "../../utils/mediaUtils.mjs";
|
|
8
|
+
import { useMediaQuery as A } from "../../hooks/useMediaQuery.mjs";
|
|
9
|
+
import '../../../index13.css';const x = "_tabs_jt1ik_1", T = "_container_jt1ik_7", R = "_heading_jt1ik_25", tt = "_text_jt1ik_32", at = "_headingHorizontal_jt1ik_46", lt = "_title_jt1ik_54", it = "_headingVertical_jt1ik_64", st = "_tabContent_jt1ik_74", ot = "_tabImage_jt1ik_98", nt = "_vertical_jt1ik_103", et = "_tabsContainer_jt1ik_69", mt = "_tabText_jt1ik_126", bt = "_gridItems_jt1ik_146", ct = "_gridItem_jt1ik_146", _t = "_fullBleed_jt1ik_186", rt = "_overlay_jt1ik_213", ut = "_eyebrow_jt1ik_319", a = {
|
|
10
|
+
tabs: x,
|
|
11
|
+
container: T,
|
|
12
|
+
heading: R,
|
|
13
|
+
text: tt,
|
|
14
|
+
headingHorizontal: at,
|
|
15
|
+
title: lt,
|
|
16
|
+
headingVertical: it,
|
|
17
|
+
tabContent: st,
|
|
18
|
+
tabImage: ot,
|
|
19
|
+
vertical: nt,
|
|
20
|
+
tabsContainer: et,
|
|
21
|
+
tabText: mt,
|
|
22
|
+
gridItems: bt,
|
|
23
|
+
gridItem: ct,
|
|
23
24
|
default: "_default_jt1ik_171",
|
|
24
|
-
fullBleed:
|
|
25
|
-
overlay:
|
|
26
|
-
eyebrow:
|
|
27
|
-
},
|
|
25
|
+
fullBleed: _t,
|
|
26
|
+
overlay: rt,
|
|
27
|
+
eyebrow: ut
|
|
28
|
+
}, gt = {
|
|
28
29
|
orientationHorizontal: "horizontal",
|
|
29
30
|
orientationVertical: "vertical"
|
|
30
|
-
},
|
|
31
|
+
}, kt = {
|
|
31
32
|
themeDefault: "default",
|
|
32
33
|
themeLight: "light",
|
|
33
34
|
themeDark: "dark",
|
|
34
35
|
themeTransparent: "transparent"
|
|
35
|
-
},
|
|
36
|
+
}, vt = {
|
|
36
37
|
horizontal: a.headingHorizontal,
|
|
37
38
|
vertical: a.headingVertical
|
|
38
|
-
},
|
|
39
|
+
}, ft = {
|
|
39
40
|
horizontal: "",
|
|
40
41
|
vertical: a.vertical
|
|
41
42
|
};
|
|
42
|
-
function
|
|
43
|
-
return _ ? _({ src: l, alt:
|
|
43
|
+
function Nt({ src: l, alt: m, renderImage: _ }) {
|
|
44
|
+
return _ ? _({ src: l, alt: m, width: 600, height: 658, priority: !0 }) : /* @__PURE__ */ i("img", { src: l, alt: m, width: 600, height: 658 });
|
|
44
45
|
}
|
|
45
|
-
function
|
|
46
|
+
function It({
|
|
46
47
|
items: l,
|
|
47
|
-
mode:
|
|
48
|
+
mode: m,
|
|
48
49
|
renderImage: _,
|
|
49
50
|
renderRichText: n
|
|
50
51
|
}) {
|
|
51
52
|
return /* @__PURE__ */ i("div", { className: a.gridItems, children: l.map((o, t) => {
|
|
52
|
-
const e =
|
|
53
|
+
const e = k(
|
|
53
54
|
o.itemImage,
|
|
54
|
-
|
|
55
|
+
m,
|
|
55
56
|
"medium"
|
|
56
57
|
), c = p(
|
|
57
58
|
o.itemImage,
|
|
58
|
-
|
|
59
|
+
m,
|
|
59
60
|
"Grid image"
|
|
60
61
|
);
|
|
61
|
-
return /* @__PURE__ */
|
|
62
|
+
return /* @__PURE__ */ b("div", { className: a.gridItem, children: [
|
|
62
63
|
e && _ ? _({
|
|
63
64
|
src: e,
|
|
64
65
|
alt: c,
|
|
@@ -77,9 +78,9 @@ function gt({
|
|
|
77
78
|
] }, t);
|
|
78
79
|
}) });
|
|
79
80
|
}
|
|
80
|
-
function
|
|
81
|
+
function ht({
|
|
81
82
|
heading: l,
|
|
82
|
-
image:
|
|
83
|
+
image: m,
|
|
83
84
|
items: _,
|
|
84
85
|
callToAction: n,
|
|
85
86
|
styleOptions: o,
|
|
@@ -87,79 +88,81 @@ function yt({
|
|
|
87
88
|
renderCallToAction: e,
|
|
88
89
|
renderImage: c
|
|
89
90
|
}) {
|
|
90
|
-
const { mode: u } =
|
|
91
|
-
/* @__PURE__ */ i(
|
|
91
|
+
const { mode: u } = Z(), y = Y(o), q = A("(max-width: 768px)") ?? !1, d = (o == null ? void 0 : o.layout) ?? "default", w = vt[l.headingLayout ?? "vertical"], L = gt[(o == null ? void 0 : o.orientation) ?? "orientationHorizontal"], J = kt[(o == null ? void 0 : o.theme) ?? "themeDefault"], $ = k(m, u, "medium"), v = k(m, u, "large"), f = p(m, u, "Block image"), B = /* @__PURE__ */ b(g, { defaultIndex: 0, orientation: L, theme: J, children: [
|
|
92
|
+
/* @__PURE__ */ i(g.List, { children: _.map((s, N) => /* @__PURE__ */ i(g.Trigger, { index: N, children: s.title }, s.title)) }),
|
|
92
93
|
_.map((s, N) => {
|
|
93
|
-
var
|
|
94
|
-
const
|
|
95
|
-
(
|
|
94
|
+
var H, U, E, V, D, G, C, M, F, P, Q;
|
|
95
|
+
const I = k(
|
|
96
|
+
(H = s.content) == null ? void 0 : H.tabImage,
|
|
96
97
|
u,
|
|
97
98
|
"medium"
|
|
98
|
-
),
|
|
99
|
+
), h = p(
|
|
99
100
|
(U = s.content) == null ? void 0 : U.tabImage,
|
|
100
101
|
u,
|
|
101
102
|
"Tab image"
|
|
102
|
-
),
|
|
103
|
-
return /* @__PURE__ */ i(
|
|
103
|
+
), j = (E = s.content) != null && E.tabLink ? X(s.content.tabLink) : void 0, r = (V = s.content) == null ? void 0 : V.tabLink, z = Array.isArray((D = s.content) == null ? void 0 : D.tabGridItem) ? s.content.tabGridItem : null, K = (G = s.content) != null && G.tabStyleOptions ? Y((C = s.content) == null ? void 0 : C.tabStyleOptions) : void 0, S = O(m, q);
|
|
104
|
+
return /* @__PURE__ */ i(g.Panel, { index: N, children: /* @__PURE__ */ b(
|
|
104
105
|
"div",
|
|
105
106
|
{
|
|
106
|
-
className: `${a.tabContent} ${
|
|
107
|
+
className: `${a.tabContent} ${ft[L]} ${K}`,
|
|
107
108
|
children: [
|
|
108
|
-
|
|
109
|
-
src:
|
|
110
|
-
alt:
|
|
109
|
+
I && /* @__PURE__ */ i("div", { className: a.tabImage, children: c ? c({
|
|
110
|
+
src: I,
|
|
111
|
+
alt: h,
|
|
111
112
|
width: 250,
|
|
112
|
-
height: 250
|
|
113
|
+
height: 250,
|
|
114
|
+
style: S
|
|
113
115
|
}) : /* @__PURE__ */ i(
|
|
114
116
|
"img",
|
|
115
117
|
{
|
|
116
|
-
src:
|
|
117
|
-
alt:
|
|
118
|
+
src: I,
|
|
119
|
+
alt: h,
|
|
118
120
|
width: 250,
|
|
119
|
-
height: 250
|
|
121
|
+
height: 250,
|
|
122
|
+
style: { width: "100%", height: "auto", ...S }
|
|
120
123
|
}
|
|
121
124
|
) }),
|
|
122
|
-
/* @__PURE__ */
|
|
123
|
-
((
|
|
124
|
-
|
|
125
|
-
|
|
125
|
+
/* @__PURE__ */ b("div", { className: a.tabText, children: [
|
|
126
|
+
((M = s.content) == null ? void 0 : M.tabText) && (t == null ? void 0 : t({ blocks: s.content.tabText })),
|
|
127
|
+
z && /* @__PURE__ */ i(
|
|
128
|
+
It,
|
|
126
129
|
{
|
|
127
|
-
items:
|
|
130
|
+
items: z,
|
|
128
131
|
mode: u,
|
|
129
132
|
renderImage: c,
|
|
130
133
|
renderRichText: t
|
|
131
134
|
}
|
|
132
135
|
),
|
|
133
|
-
|
|
134
|
-
|
|
136
|
+
j && j !== "#" && r && /* @__PURE__ */ i(
|
|
137
|
+
W,
|
|
135
138
|
{
|
|
136
139
|
as: "a",
|
|
137
140
|
variant: r.variant ?? "primary",
|
|
138
|
-
href:
|
|
141
|
+
href: j,
|
|
139
142
|
target: ((F = r.linkOptions) == null ? void 0 : F.linkType) === "external" ? "_blank" : "_self",
|
|
140
|
-
rel: ((
|
|
143
|
+
rel: ((P = r.linkOptions) == null ? void 0 : P.linkType) === "external" ? "noopener noreferrer" : "",
|
|
141
144
|
"aria-label": r.ariaLabel || r.label,
|
|
142
145
|
children: r.label
|
|
143
146
|
}
|
|
144
147
|
),
|
|
145
|
-
((
|
|
148
|
+
((Q = s.content) == null ? void 0 : Q.tabDisclaimer) && (t == null ? void 0 : t({ blocks: s.content.tabDisclaimer }))
|
|
146
149
|
] })
|
|
147
150
|
]
|
|
148
151
|
}
|
|
149
152
|
) }, s.title);
|
|
150
153
|
})
|
|
151
154
|
] });
|
|
152
|
-
return
|
|
155
|
+
return d === "default" ? /* @__PURE__ */ i("section", { className: `${a.tabs} ${a.default} ${y}`, children: /* @__PURE__ */ b("article", { className: a.container, children: [
|
|
153
156
|
$ && /* @__PURE__ */ i(
|
|
154
|
-
|
|
157
|
+
Nt,
|
|
155
158
|
{
|
|
156
159
|
src: $,
|
|
157
160
|
alt: f,
|
|
158
161
|
renderImage: c
|
|
159
162
|
}
|
|
160
163
|
),
|
|
161
|
-
/* @__PURE__ */
|
|
162
|
-
/* @__PURE__ */
|
|
164
|
+
/* @__PURE__ */ b("div", { className: `${a.heading} ${w}`, children: [
|
|
165
|
+
/* @__PURE__ */ b("div", { children: [
|
|
163
166
|
l.eyebrow && (t == null ? void 0 : t({
|
|
164
167
|
blocks: l.eyebrow,
|
|
165
168
|
className: a.eyebrow
|
|
@@ -179,12 +182,12 @@ function yt({
|
|
|
179
182
|
mobileOrientation: n.mobileOrientation
|
|
180
183
|
})),
|
|
181
184
|
l.disclaimer && (t == null ? void 0 : t({ blocks: l.disclaimer }))
|
|
182
|
-
] }) }) :
|
|
185
|
+
] }) }) : d === "full-bleed" ? /* @__PURE__ */ i(
|
|
183
186
|
"section",
|
|
184
187
|
{
|
|
185
188
|
"data-overlay": "true",
|
|
186
|
-
className: `${a.tabs} ${a.fullBleed} ${
|
|
187
|
-
children: /* @__PURE__ */
|
|
189
|
+
className: `${a.tabs} ${a.fullBleed} ${y} tabsFullBleed`,
|
|
190
|
+
children: /* @__PURE__ */ b("article", { className: a.container, children: [
|
|
188
191
|
v && (c ? c({
|
|
189
192
|
src: v,
|
|
190
193
|
alt: f,
|
|
@@ -207,8 +210,8 @@ function yt({
|
|
|
207
210
|
}
|
|
208
211
|
}
|
|
209
212
|
)),
|
|
210
|
-
/* @__PURE__ */ i("div", { className: a.overlay, children: /* @__PURE__ */
|
|
211
|
-
/* @__PURE__ */
|
|
213
|
+
/* @__PURE__ */ i("div", { className: a.overlay, children: /* @__PURE__ */ b("div", { className: `${a.heading} ${w}`, children: [
|
|
214
|
+
/* @__PURE__ */ b("div", { children: [
|
|
212
215
|
l.eyebrow && (t == null ? void 0 : t({
|
|
213
216
|
blocks: l.eyebrow,
|
|
214
217
|
className: a.eyebrow
|
|
@@ -233,5 +236,5 @@ function yt({
|
|
|
233
236
|
) : null;
|
|
234
237
|
}
|
|
235
238
|
export {
|
|
236
|
-
|
|
239
|
+
ht as TabsBlock
|
|
237
240
|
};
|