@asante-org/atlascopco-vt-litesitegenerator 1.4.1 → 1.4.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.esm.js +18 -13
- package/dist/index.esm.js.map +1 -1
- package/dist/index.esm.scss +16 -0
- package/dist/index.js +18 -13
- package/dist/index.js.map +1 -1
- package/dist/index.scss +16 -0
- package/dist/src/components/lsg/LsgHeader/LsgHeader.d.ts +2 -2
- package/dist/src/components/lsg/LsgNavigation/LsgNavigation.d.ts +1 -0
- package/dist/themes/theme-1.css +8 -0
- package/dist/themes/theme-1.css.map +1 -1
- package/dist/themes/theme-2.css +8 -0
- package/dist/themes/theme-2.css.map +1 -1
- package/dist/themes/theme-3.css +8 -0
- package/dist/themes/theme-3.css.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
package/dist/index.esm.js
CHANGED
|
@@ -163,7 +163,8 @@ var LsgNavigation = function (_a) {
|
|
|
163
163
|
label = _b === void 0 ? "Main navigation" : _b,
|
|
164
164
|
_c = _a.variant,
|
|
165
165
|
variant = _c === void 0 ? "simple" : _c,
|
|
166
|
-
onItemClick = _a.onItemClick
|
|
166
|
+
onItemClick = _a.onItemClick,
|
|
167
|
+
onItemHover = _a.onItemHover;
|
|
167
168
|
var renderItems = function (navItems, level) {
|
|
168
169
|
if (level === void 0) {
|
|
169
170
|
level = 0;
|
|
@@ -176,7 +177,12 @@ var LsgNavigation = function (_a) {
|
|
|
176
177
|
var hasChildren = Boolean((_a = item.children) === null || _a === void 0 ? void 0 : _a.length);
|
|
177
178
|
return /*#__PURE__*/React.createElement("li", {
|
|
178
179
|
key: "".concat(item.href, "-").concat(level),
|
|
179
|
-
className: ["lsg-nav__item", hasChildren ? "lsg-nav__item--has-children" : "", item.open ? "lsg-nav__item--open" : ""].filter(Boolean).join(" ")
|
|
180
|
+
className: ["lsg-nav__item", hasChildren ? "lsg-nav__item--has-children" : "", item.open ? "lsg-nav__item--open" : ""].filter(Boolean).join(" "),
|
|
181
|
+
onMouseEnter: function () {
|
|
182
|
+
if (onItemHover && hasChildren) {
|
|
183
|
+
onItemHover(item, level);
|
|
184
|
+
}
|
|
185
|
+
}
|
|
180
186
|
}, /*#__PURE__*/React.createElement("a", {
|
|
181
187
|
href: item.href,
|
|
182
188
|
onClick: function (event) {
|
|
@@ -603,9 +609,9 @@ var LsgHeader = function (_a) {
|
|
|
603
609
|
activePath = _k === void 0 ? [] : _k,
|
|
604
610
|
mobileSelectedLabel = _a.mobileSelectedLabel,
|
|
605
611
|
onMenuToggle = _a.onMenuToggle,
|
|
606
|
-
|
|
612
|
+
onNavItemHover = _a.onNavItemHover,
|
|
607
613
|
onDropdownClose = _a.onDropdownClose,
|
|
608
|
-
|
|
614
|
+
onMegaItemHover = _a.onMegaItemHover,
|
|
609
615
|
onMobileItemClick = _a.onMobileItemClick,
|
|
610
616
|
onMobileBreadcrumbClick = _a.onMobileBreadcrumbClick;
|
|
611
617
|
var _l = useState(false),
|
|
@@ -685,16 +691,15 @@ var LsgHeader = function (_a) {
|
|
|
685
691
|
var hasChildren = Boolean((_a = item.children) === null || _a === void 0 ? void 0 : _a.length);
|
|
686
692
|
return /*#__PURE__*/React.createElement("li", {
|
|
687
693
|
key: "".concat(item.href, "-").concat(columnIndex),
|
|
688
|
-
className: ["lsg-header__mega-item", hasChildren ? "lsg-header__mega-item--has-children" : "", isSelectedAtLevel(item, activePath, columnIndex) ? "lsg-header__mega-item--active" : ""].filter(Boolean).join(" ")
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
onClick: function (event) {
|
|
693
|
-
if (onMegaItemClick && hasChildren) {
|
|
694
|
-
event.preventDefault();
|
|
695
|
-
onMegaItemClick(item, columnIndex);
|
|
694
|
+
className: ["lsg-header__mega-item", hasChildren ? "lsg-header__mega-item--has-children" : "", isSelectedAtLevel(item, activePath, columnIndex) ? "lsg-header__mega-item--active" : ""].filter(Boolean).join(" "),
|
|
695
|
+
onMouseEnter: function () {
|
|
696
|
+
if (onMegaItemHover && hasChildren) {
|
|
697
|
+
onMegaItemHover(item, columnIndex);
|
|
696
698
|
}
|
|
697
699
|
}
|
|
700
|
+
}, /*#__PURE__*/React.createElement("a", {
|
|
701
|
+
href: item.href,
|
|
702
|
+
className: "lsg-header__mega-link"
|
|
698
703
|
}, /*#__PURE__*/React.createElement("span", null, item.label), hasChildren && /*#__PURE__*/React.createElement(LsgHeaderIcon, {
|
|
699
704
|
name: "chevronRight"
|
|
700
705
|
})));
|
|
@@ -770,7 +775,7 @@ var LsgHeader = function (_a) {
|
|
|
770
775
|
}, /*#__PURE__*/React.createElement(LsgNavigation, {
|
|
771
776
|
items: navItems,
|
|
772
777
|
variant: variant,
|
|
773
|
-
|
|
778
|
+
onItemHover: onNavItemHover
|
|
774
779
|
})), variant === "mega" && /*#__PURE__*/React.createElement("div", {
|
|
775
780
|
className: "lsg-header__desktop-menu"
|
|
776
781
|
}, renderActions(true)), variant !== "mega" && /*#__PURE__*/React.createElement("div", {
|
package/dist/index.esm.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.esm.js","sources":["../../src/components/lsg/LsgButton/LsgButton.tsx","../../src/components/lsg/LsgBanner/LsgBanner.tsx","../../src/components/lsg/LsgCard/LsgCard.tsx","../../src/components/lsg/LsgLogo/LsgLogo.tsx","../../src/components/lsg/LsgNavigation/LsgNavigation.tsx","../../src/utils/LsgIcon.tsx","../../src/components/lsg/LsgLanguageSwitcher/LsgLanguageSwitcher.tsx","../../src/components/lsg/LsgSearchTrigger/LsgSearchTrigger.tsx","../../src/components/lsg/LsgSearchOverlay/LsgSearchOverlay.tsx","../../src/components/lsg/LsgHeader/LsgHeader.tsx","../../src/components/lsg/LsgQuickLinks/LsgQuickLinks.tsx","../../src/components/lsg/LsgSocialMediaIcons/LsgSocialMediaIcons.tsx","../../src/components/lsg/LsgFooter/LsgFooter.tsx","../../src/themes/createThemeComponents.tsx","../../src/themes/theme-1/components.tsx","../../src/themes/theme-2/components.tsx","../../src/themes/theme-3/components.tsx"],"sourcesContent":["import React from \"react\";\nimport \"./LsgButton.scss\";\n\nexport type LsgButtonVariant = \"primary\" | \"secondary\" | \"tertiary\" | \"outlined-white\" | \"outlined-black\";\n\nexport interface LsgButtonProps {\n children?: React.ReactNode;\n variant?: LsgButtonVariant;\n disabled?: boolean;\n /** Renders an <a> element when provided */\n href?: string;\n onClick?: (e: React.MouseEvent<HTMLButtonElement | HTMLAnchorElement>) => void;\n type?: \"button\" | \"submit\" | \"reset\";\n className?: string;\n /** Opens in a new tab when used with href */\n external?: boolean;\n}\n\nexport const LsgButton: React.FC<LsgButtonProps> = ({\n children,\n variant = \"primary\",\n disabled = false,\n href,\n onClick,\n type = \"button\",\n className = \"\",\n external = false,\n}) => {\n const classNames = [\n \"lsg-button\",\n disabled ? \"lsg-button--disabled\" : \"\",\n className,\n ]\n .filter(Boolean)\n .join(\" \");\n\n if (href) {\n return (\n <a\n href={disabled ? undefined : href}\n className={classNames}\n aria-disabled={disabled || undefined}\n onClick={disabled ? undefined : (onClick as React.MouseEventHandler<HTMLAnchorElement>)}\n {...(external ? { target: \"_blank\", rel: \"noopener noreferrer\" } : {})}\n >\n <span className=\"lsg-button__text\">{children}</span>\n </a>\n );\n }\n\n return (\n <button\n type={type}\n className={classNames}\n disabled={disabled}\n onClick={onClick as React.MouseEventHandler<HTMLButtonElement>}\n >\n {children}\n </button>\n );\n};\n","import React from \"react\";\nimport \"./LsgBanner.scss\";\nimport { LsgButton } from \"../LsgButton\";\n\nexport interface LsgBannerCta {\n label: string;\n href: string;\n external?: boolean;\n}\n\nexport interface LsgBannerProps {\n heading: string;\n eyebrow?: string;\n copy?: string;\n cta?: LsgBannerCta;\n /** Background image URL */\n imageUrl?: string;\n imageAlt?: string;\n}\n\nexport const LsgBanner: React.FC<LsgBannerProps> = ({\n heading,\n eyebrow,\n copy,\n cta,\n imageUrl,\n imageAlt = \"\",\n}) => {\n return (\n <section className=\"lsg-banner\">\n {imageUrl && (\n <div className=\"lsg-banner__background\" aria-hidden=\"true\">\n <img src={imageUrl} alt={imageAlt} />\n </div>\n )}\n <div className=\"lsg-banner__inner\">\n {eyebrow && <span className=\"lsg-banner__eyebrow\">{eyebrow}</span>}\n <h1 className=\"lsg-banner__heading\">{heading}</h1>\n {copy && <p className=\"lsg-banner__copy\">{copy}</p>}\n {cta && (\n <LsgButton\n href={cta.href}\n external={cta.external}\n variant=\"primary\"\n className=\"lsg-banner__cta\"\n >\n {cta.label}\n </LsgButton>\n )}\n </div>\n </section>\n );\n};\n","import React from \"react\";\nimport \"./LsgCard.scss\";\nimport { LsgButton } from \"../LsgButton\";\n\nexport interface LsgCardCta {\n label: string;\n href: string;\n external?: boolean;\n}\n\nexport interface LsgCardProps {\n title: string;\n description?: string;\n imageUrl?: string;\n imageAlt?: string;\n /** Wraps the whole card in a link when provided */\n href?: string;\n cta?: LsgCardCta;\n}\n\nexport const LsgCard: React.FC<LsgCardProps> = ({\n title,\n description,\n imageUrl,\n imageAlt = \"\",\n href,\n cta,\n}) => {\n const inner = (\n <>\n {imageUrl && (\n <div className=\"lsg-card__image\">\n <img src={imageUrl} alt={imageAlt} loading=\"lazy\" />\n </div>\n )}\n <div className=\"lsg-card__body\">\n <h3 className=\"lsg-card__title\">{title}</h3>\n {description && <p className=\"lsg-card__description\">{description}</p>}\n {cta && !href && (\n <div className=\"lsg-card__footer\">\n <LsgButton href={cta.href} external={cta.external} variant=\"primary\">\n {cta.label}\n </LsgButton>\n </div>\n )}\n </div>\n </>\n );\n\n if (href) {\n return (\n <article className=\"lsg-card\">\n <a href={href} className=\"lsg-card__link\" aria-label={title}>\n {inner}\n </a>\n </article>\n );\n }\n\n return <article className=\"lsg-card\">{inner}</article>;\n};\n\nexport interface LsgCardsProps {\n cards: LsgCardProps[];\n}\n\n/** Renders a responsive grid of LsgCard items. */\nexport const LsgCards: React.FC<LsgCardsProps> = ({ cards }) => {\n return (\n <ul className=\"lsg-cards\">\n {cards.map((card, i) => (\n <li key={card.href ?? i}>\n <LsgCard {...card} />\n </li>\n ))}\n </ul>\n );\n};\n","import React from \"react\";\nimport \"./LsgLogo.scss\";\n\nexport interface LsgLogoProps {\n /** Image src. When omitted, renders a text logo. */\n src?: string;\n alt?: string;\n href?: string;\n width?: number;\n height?: number;\n /** Fallback text shown when no src is provided */\n text?: string;\n}\n\nexport const LsgLogo: React.FC<LsgLogoProps> = ({\n src,\n alt = \"Logo\",\n href = \"/\",\n width,\n height = 40,\n text = \"Atlas Copco\",\n}) => {\n const content = src ? (\n <img\n src={src}\n alt={alt}\n width={width}\n height={height}\n className=\"lsg-logo__image\"\n />\n ) : (\n <span className=\"lsg-logo__text\">{text}</span>\n );\n\n return (\n <a href={href} className=\"lsg-logo\" aria-label={src ? alt : undefined}>\n {content}\n </a>\n );\n};\n","import React from \"react\";\nimport \"./LsgNavigation.scss\";\n\nexport interface LsgNavItem {\n label: string;\n href: string;\n current?: boolean;\n open?: boolean;\n children?: LsgNavItem[];\n}\n\nexport interface LsgNavigationProps {\n items: LsgNavItem[];\n /** Accessible label for the <nav> landmark */\n label?: string;\n variant?: \"simple\" | \"dropdown\" | \"mega\";\n onItemClick?: (item: LsgNavItem, level: number) => void;\n}\n\nexport const LsgNavigation: React.FC<LsgNavigationProps> = ({\n items,\n label = \"Main navigation\",\n variant = \"simple\",\n onItemClick,\n}) => {\n const renderItems = (navItems: LsgNavItem[], level = 0) => (\n <ul\n className={level === 0 ? \"lsg-nav__list\" : \"lsg-nav__dropdown\"}\n role=\"list\"\n >\n {navItems.map((item) => {\n const hasChildren = Boolean(item.children?.length);\n\n return (\n <li\n key={`${item.href}-${level}`}\n className={[\n \"lsg-nav__item\",\n hasChildren ? \"lsg-nav__item--has-children\" : \"\",\n item.open ? \"lsg-nav__item--open\" : \"\",\n ]\n .filter(Boolean)\n .join(\" \")}\n >\n <a\n href={item.href}\n onClick={(event) => {\n if (onItemClick && hasChildren) {\n event.preventDefault();\n onItemClick(item, level);\n }\n }}\n className={[\n \"lsg-nav__link\",\n item.current ? \"lsg-nav__link--current\" : \"\",\n ]\n .filter(Boolean)\n .join(\" \")}\n aria-current={item.current ? \"page\" : undefined}\n aria-expanded={variant === \"dropdown\" && hasChildren ? item.open : undefined}\n >\n <p>{item.label}</p>\n {hasChildren && (\n <span className=\"lsg-nav__chevron\" aria-hidden=\"true\">\n <svg viewBox=\"0 0 640 640\" focusable=\"false\">\n <path d=\"M471.1 297.4C483.6 309.9 483.6 330.2 471.1 342.7L279.1 534.7C266.6 547.2 246.3 547.2 233.8 534.7C221.3 522.2 221.3 501.9 233.8 489.4L403.2 320L233.9 150.6C221.4 138.1 221.4 117.8 233.9 105.3C246.4 92.8 266.7 92.8 279.2 105.3L471.2 297.3z\" />\n </svg>\n </span>\n )}\n </a>\n {hasChildren && renderItems(item.children || [], level + 1)}\n </li>\n );\n })}\n </ul>\n );\n\n return (\n <nav\n className={[\"lsg-nav\", `lsg-nav--${variant}`].join(\" \")}\n aria-label={label}\n >\n {renderItems(items)}\n </nav>\n );\n};\n","import React from \"react\";\n\nexport type LsgIconName =\n | \"bars\"\n | \"chevronLeft\"\n | \"chevronRight\"\n | \"close\"\n | \"globe\"\n | \"home\"\n | \"search\";\n\nexport const LSG_ICON_PATHS: Record<LsgIconName, string> = {\n bars:\n \"M96 160C96 142.3 110.3 128 128 128L512 128C529.7 128 544 142.3 544 160C544 177.7 529.7 192 512 192L128 192C110.3 192 96 177.7 96 160zM96 320C96 302.3 110.3 288 128 288L512 288C529.7 288 544 302.3 544 320C544 337.7 529.7 352 512 352L128 352C110.3 352 96 337.7 96 320zM544 480C544 497.7 529.7 512 512 512L128 512C110.3 512 96 497.7 96 480C96 462.3 110.3 448 128 448L512 448C529.7 448 544 462.3 544 480z\",\n chevronLeft:\n \"M169.4 297.4C156.9 309.9 156.9 330.2 169.4 342.7L361.4 534.7C373.9 547.2 394.2 547.2 406.7 534.7C419.2 522.2 419.2 501.9 406.7 489.4L237.3 320L406.6 150.6C419.1 138.1 419.1 117.8 406.6 105.3C394.1 92.8 373.8 92.8 361.3 105.3L169.3 297.3z\",\n chevronRight:\n \"M471.1 297.4C483.6 309.9 483.6 330.2 471.1 342.7L279.1 534.7C266.6 547.2 246.3 547.2 233.8 534.7C221.3 522.2 221.3 501.9 233.8 489.4L403.2 320L233.9 150.6C221.4 138.1 221.4 117.8 233.9 105.3C246.4 92.8 266.7 92.8 279.2 105.3L471.2 297.3z\",\n close:\n \"M504.6 148.5C515.9 134.9 514.1 114.7 500.5 103.4C486.9 92.1 466.7 93.9 455.4 107.5L320 270L184.6 107.5C173.3 93.9 153.1 92.1 139.5 103.4C125.9 114.7 124.1 134.9 135.4 148.5L278.3 320L135.4 491.5C124.1 505.1 125.9 525.3 139.5 536.6C153.1 547.9 173.3 546.1 184.6 532.5L320 370L455.4 532.5C466.7 546.1 486.9 547.9 500.5 536.6C514.1 525.3 515.9 505.1 504.6 491.5L361.7 320L504.6 148.5z\",\n globe:\n \"M367.2 477C345.7 520.7 325.8 528 320 528C314.2 528 294.3 520.7 272.8 477C255.8 442.5 243.6 395.4 240.7 344L399.3 344C396.3 395.5 384.1 442.6 367.2 477zM399.3 296L240.7 296C243.7 244.5 255.9 197.4 272.8 163C294.3 119.3 314.2 112 320 112C325.8 112 345.7 119.3 367.2 163C384.2 197.5 396.4 244.6 399.3 296zM447.4 344L526.6 344C518 418.6 469.9 481.3 403.8 510.4C427.8 467.6 444.1 408 447.4 344zM526.6 296L447.4 296C444.1 232 427.8 172.4 403.8 129.6C469.9 158.8 518 221.4 526.6 296zM192.6 296L113.4 296C122 221.4 170.1 158.7 236.2 129.6C212.2 172.4 195.9 232 192.6 296zM113.4 344L192.6 344C195.9 408 212.2 467.6 236.2 510.4C170.1 481.2 122 418.6 113.4 344zM320 576C461.4 576 576 461.4 576 320C576 178.6 461.4 64 320 64C178.6 64 64 178.6 64 320C64 461.4 178.6 576 320 576z\",\n home: \"M96 320L320 128L544 320H480V528H352V384H288V528H160V320H96z\",\n search:\n \"M480 272C480 317.9 465.1 360.3 440 394.7L566.6 521.4C579.1 533.9 579.1 554.2 566.6 566.7C554.1 579.2 533.8 579.2 521.3 566.7L394.7 440C360.3 465.1 317.9 480 272 480C157.1 480 64 386.9 64 272C64 157.1 157.1 64 272 64C386.9 64 480 157.1 480 272zM272 416C351.5 416 416 351.5 416 272C416 192.5 351.5 128 272 128C192.5 128 128 192.5 128 272C128 351.5 192.5 416 272 416z\",\n};\n\nexport interface LsgIconProps {\n name: LsgIconName;\n className?: string;\n}\n\nexport const LsgIcon: React.FC<LsgIconProps> = ({ name, className }) => (\n <svg\n className={className}\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 640 640\"\n aria-hidden=\"true\"\n focusable=\"false\"\n >\n <path d={LSG_ICON_PATHS[name]} />\n </svg>\n);\n","import React, { useState, useRef, useEffect, useId } from \"react\";\nimport \"./LsgLanguageSwitcher.scss\";\nimport { LsgIcon } from \"../../../utils\";\n\nexport interface LsgLanguage {\n code: string;\n label: string;\n href: string;\n}\n\nexport interface LsgLanguageSwitcherProps {\n currentLanguage: string;\n languages: LsgLanguage[];\n /** Accessible label for the trigger button */\n label?: string;\n /** Called when a language is selected. Prevents link navigation when provided. */\n onLanguageChange?: (language: LsgLanguage) => void;\n}\n\nconst ChevronIcon = () => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 12 12\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n aria-hidden=\"true\"\n focusable=\"false\"\n >\n <polyline points=\"2 4 6 8 10 4\" />\n </svg>\n);\n\n/**\n * Language Switcher\n *\n * Hydrated: state managed by React (useState).\n * Clientlib-only: driven by lsg-clientlib.js targeting [data-lsg-lang-switcher].\n */\nexport const LsgLanguageSwitcher: React.FC<LsgLanguageSwitcherProps> = ({\n currentLanguage,\n languages,\n label = \"Select language\",\n onLanguageChange,\n}) => {\n const [isOpen, setIsOpen] = useState(false);\n const containerRef = useRef<HTMLDivElement>(null);\n const reactId = useId();\n const triggerId = `lsg-lang-trigger-${reactId}`;\n const dropdownId = `lsg-lang-dropdown-${reactId}`;\n\n // Close on outside click\n useEffect(() => {\n if (!isOpen) return;\n const handleClick = (e: MouseEvent) => {\n if (containerRef.current && !containerRef.current.contains(e.target as Node)) {\n setIsOpen(false);\n }\n };\n document.addEventListener(\"mousedown\", handleClick);\n return () => document.removeEventListener(\"mousedown\", handleClick);\n }, [isOpen]);\n\n // Close on Escape\n useEffect(() => {\n if (!isOpen) return;\n const handleKey = (e: KeyboardEvent) => {\n if (e.key === \"Escape\") setIsOpen(false);\n };\n document.addEventListener(\"keydown\", handleKey);\n return () => document.removeEventListener(\"keydown\", handleKey);\n }, [isOpen]);\n\n return (\n <div className=\"lsg-lang-switcher\" ref={containerRef} data-lsg-lang-switcher>\n <button\n id={triggerId}\n type=\"button\"\n className=\"lsg-lang-switcher__trigger\"\n aria-label={label}\n aria-haspopup=\"listbox\"\n aria-expanded={isOpen}\n aria-controls={dropdownId}\n onClick={() => setIsOpen((prev) => !prev)}\n >\n <LsgIcon name=\"globe\" className=\"lsg-lang-switcher__globe\" />\n <span className=\"lsg-lang-switcher__current\">{currentLanguage}</span>\n <ChevronIcon />\n </button>\n\n {isOpen && (\n <ul\n id={dropdownId}\n className=\"lsg-lang-switcher__dropdown\"\n role=\"listbox\"\n aria-labelledby={triggerId}\n >\n {languages.map((lang) => (\n <li key={lang.code} className=\"lsg-lang-switcher__option\" role=\"option\">\n <a\n href={lang.href}\n className={[\n \"lsg-lang-switcher__option-link\",\n lang.code === currentLanguage ? \"lsg-lang-switcher__option-link--active\" : \"\",\n ]\n .filter(Boolean)\n .join(\" \")}\n aria-current={lang.code === currentLanguage ? true : undefined}\n onClick={(event) => {\n if (!onLanguageChange) return;\n\n event.preventDefault();\n onLanguageChange(lang);\n setIsOpen(false);\n }}\n >\n {lang.label}\n </a>\n </li>\n ))}\n </ul>\n )}\n </div>\n );\n};\n","import React from \"react\";\nimport \"./LsgSearchTrigger.scss\";\n\nexport interface LsgSearchTriggerProps {\n /** Accessible label for the button */\n label?: string;\n /** id of the search overlay this button controls */\n targetId?: string;\n onClick?: () => void;\n}\n\nconst SearchIcon = () => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n aria-hidden=\"true\"\n focusable=\"false\"\n >\n <circle cx=\"11\" cy=\"11\" r=\"8\" />\n <line x1=\"21\" y1=\"21\" x2=\"16.65\" y2=\"16.65\" />\n </svg>\n);\n\nexport const LsgSearchTrigger: React.FC<LsgSearchTriggerProps> = ({\n label = \"Open search\",\n targetId,\n onClick,\n}) => {\n return (\n <button\n type=\"button\"\n className=\"lsg-search-trigger\"\n aria-label={label}\n aria-haspopup=\"dialog\"\n aria-controls={targetId}\n onClick={onClick}\n data-lsg-search-trigger\n >\n <SearchIcon />\n </button>\n );\n};\n","import React, { useEffect, useRef } from \"react\";\nimport \"./LsgSearchOverlay.scss\";\n\nexport interface LsgSearchOverlayProps {\n id?: string;\n placeholder?: string;\n /** Accessible label for the search input */\n label?: string;\n isOpen?: boolean;\n onClose?: () => void;\n onSearch?: (query: string) => void;\n}\n\nconst SearchIcon = () => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n aria-hidden=\"true\"\n focusable=\"false\"\n >\n <circle cx=\"11\" cy=\"11\" r=\"8\" />\n <line x1=\"21\" y1=\"21\" x2=\"16.65\" y2=\"16.65\" />\n </svg>\n);\n\nconst CloseIcon = () => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n aria-hidden=\"true\"\n focusable=\"false\"\n >\n <line x1=\"18\" y1=\"6\" x2=\"6\" y2=\"18\" />\n <line x1=\"6\" y1=\"6\" x2=\"18\" y2=\"18\" />\n </svg>\n);\n\n/**\n * Search Overlay\n *\n * Hydrated: isOpen/onClose controlled by parent (e.g. LsgHeader).\n * Clientlib-only: driven by lsg-clientlib.js targeting [data-lsg-search-overlay].\n * The CSS class lsg-search-overlay--open drives visibility in both modes.\n */\nexport const LsgSearchOverlay: React.FC<LsgSearchOverlayProps> = ({\n id = \"lsg-search-overlay\",\n placeholder = \"Search…\",\n label = \"Search\",\n isOpen = false,\n onClose,\n onSearch,\n}) => {\n const inputRef = useRef<HTMLInputElement>(null);\n const inputId = `${id}-input`;\n\n // Focus the input when overlay opens\n useEffect(() => {\n if (isOpen) inputRef.current?.focus();\n }, [isOpen]);\n\n // Close on Escape\n useEffect(() => {\n if (!isOpen) return;\n const handleKey = (e: KeyboardEvent) => {\n if (e.key === \"Escape\") onClose?.();\n };\n document.addEventListener(\"keydown\", handleKey);\n return () => document.removeEventListener(\"keydown\", handleKey);\n }, [isOpen, onClose]);\n\n const handleSubmit = (e: React.FormEvent<HTMLFormElement>) => {\n e.preventDefault();\n const query = inputRef.current?.value ?? \"\";\n if (query.trim()) onSearch?.(query.trim());\n };\n\n const overlayClass = [\"lsg-search-overlay\", isOpen ? \"lsg-search-overlay--open\" : \"\"]\n .filter(Boolean)\n .join(\" \");\n\n return (\n <div\n id={id}\n className={overlayClass}\n role=\"dialog\"\n aria-modal=\"true\"\n aria-label={label}\n data-lsg-search-overlay\n >\n {/* Backdrop close */}\n <div\n className=\"lsg-search-overlay__backdrop\"\n aria-hidden=\"true\"\n onClick={onClose}\n style={{ position: \"absolute\", inset: 0, cursor: \"default\" }}\n />\n <div className=\"lsg-search-overlay__panel\">\n <form className=\"lsg-search-overlay__form\" role=\"search\" onSubmit={handleSubmit}>\n <label htmlFor={inputId} className=\"lsg-search-overlay__label\">\n <SearchIcon />\n <span className=\"lsg-visually-hidden\">{label}</span>\n </label>\n <input\n id={inputId}\n ref={inputRef}\n type=\"search\"\n className=\"lsg-search-overlay__input\"\n placeholder={placeholder}\n autoComplete=\"off\"\n />\n <button type=\"submit\" className=\"lsg-search-overlay__submit\" aria-label=\"Submit search\">\n <SearchIcon />\n </button>\n <button\n type=\"button\"\n className=\"lsg-search-overlay__close\"\n aria-label=\"Close search\"\n onClick={onClose}\n >\n <CloseIcon />\n </button>\n </form>\n </div>\n </div>\n );\n};\n","import React, { useEffect, useRef, useState } from \"react\";\nimport \"./LsgHeader.scss\";\nimport { LsgLogo, LsgLogoProps } from \"../LsgLogo\";\nimport { LsgNavigation, LsgNavItem } from \"../LsgNavigation\";\nimport { LsgLanguage, LsgLanguageSwitcher } from \"../LsgLanguageSwitcher\";\nimport { LsgSearchOverlay } from \"../LsgSearchOverlay\";\nimport { LsgIcon, LsgIconName } from \"../../../utils\";\n\nexport interface LsgHeaderProps {\n logo?: LsgLogoProps;\n navItems?: LsgNavItem[];\n languages?: LsgLanguage[];\n currentLanguage?: string;\n onLanguageChange?: (language: LsgLanguage) => void;\n searchLabel?: string;\n searchPlaceholder?: string;\n variant?: \"simple\" | \"dropdown\" | \"mega\";\n menuOpen?: boolean;\n mobileLevel?: 0 | 1 | 2 | 3 | 4;\n activePath?: string[];\n mobileSelectedLabel?: string;\n onMenuToggle?: () => void;\n onNavItemClick?: (item: LsgNavItem, level: number) => void;\n onDropdownClose?: () => void;\n onMegaItemClick?: (item: LsgNavItem, level: number) => void;\n onMobileItemClick?: (item: LsgNavItem, level: number) => void;\n onMobileBreadcrumbClick?: (level: 0 | 1 | 2 | 3 | 4) => void;\n}\n\nconst SEARCH_OVERLAY_ID = \"lsg-header-search-overlay\";\n\nconst LsgHeaderIcon: React.FC<{ name: LsgIconName; className?: string }> = ({\n name,\n className,\n}) => {\n return (\n <LsgIcon\n name={name}\n className={[\"lsg-header__icon\", className || \"\"].filter(Boolean).join(\" \")}\n />\n );\n};\n\nconst getItemByPath = (\n items: LsgNavItem[],\n activePath: string[],\n depth: number\n): LsgNavItem | undefined => {\n let currentItems = items;\n let currentItem: LsgNavItem | undefined;\n\n for (let i = 0; i <= depth; i += 1) {\n currentItem = currentItems.find((item) => item.label === activePath[i]);\n currentItems = currentItem?.children || [];\n }\n\n return currentItem;\n};\n\nconst getItemsAtLevel = (\n items: LsgNavItem[],\n activePath: string[],\n level: number\n): LsgNavItem[] => {\n if (level <= 1) {\n return items;\n }\n\n return getItemByPath(items, activePath, level - 2)?.children || [];\n};\n\nconst getMegaColumns = (\n items: LsgNavItem[],\n activePath: string[],\n maxDepth = 4\n): LsgNavItem[][] => {\n const columns: LsgNavItem[][] = [items];\n let currentItems = items;\n\n activePath.slice(0, maxDepth - 1).forEach((label) => {\n const activeItem = currentItems.find((item) => item.label === label);\n\n if (activeItem?.children?.length) {\n columns.push(activeItem.children);\n currentItems = activeItem.children;\n }\n });\n\n return columns.slice(0, maxDepth);\n};\n\nconst isCurrentOrActiveAtLevel = (item: LsgNavItem, activePath: string[], level: number) =>\n item.current || activePath[level] === item.label;\n\nconst isSelectedAtLevel = (item: LsgNavItem, activePath: string[], level: number) =>\n activePath[level] === item.label;\n\nconst hasOpenNavItem = (items: LsgNavItem[]): boolean =>\n items.some((item) => item.open || hasOpenNavItem(item.children || []));\n\nconst HeaderActionButton: React.FC<{\n label: string;\n icon: LsgIconName;\n onClick?: () => void;\n controls?: string;\n className?: string;\n}> = ({ label, icon, onClick, controls, className }) => (\n <button\n type=\"button\"\n className={[\"lsg-header__icon-button\", className || \"\"].filter(Boolean).join(\" \")}\n aria-label={label}\n aria-controls={controls}\n onClick={onClick}\n data-lsg-search-trigger={icon === \"search\" ? \"\" : undefined}\n >\n <LsgHeaderIcon name={icon} />\n </button>\n);\n\nexport const LsgHeader: React.FC<LsgHeaderProps> = ({\n logo,\n navItems = [],\n languages = [],\n currentLanguage = \"EN\",\n onLanguageChange,\n searchLabel = \"Open search\",\n searchPlaceholder = \"Search products, documents...\",\n variant = \"simple\",\n menuOpen = false,\n mobileLevel = 0,\n activePath = [],\n mobileSelectedLabel,\n onMenuToggle,\n onNavItemClick,\n onDropdownClose,\n onMegaItemClick,\n onMobileItemClick,\n onMobileBreadcrumbClick,\n}) => {\n const [searchOpen, setSearchOpen] = useState(false);\n const headerRef = useRef<HTMLElement>(null);\n const mobileOpen = menuOpen || mobileLevel > 0;\n const columns = getMegaColumns(navItems, activePath);\n const mobileItems = getItemsAtLevel(navItems, activePath, mobileLevel || 1);\n const dropdownOpen = variant === \"dropdown\" && hasOpenNavItem(navItems);\n\n useEffect(() => {\n if (!menuOpen && !dropdownOpen) {\n return undefined;\n }\n\n const closeOnOutsidePointerDown = (event: MouseEvent | TouchEvent) => {\n if (headerRef.current?.contains(event.target as Node)) {\n return;\n }\n\n if (menuOpen) {\n onMenuToggle?.();\n }\n\n if (dropdownOpen) {\n onDropdownClose?.();\n }\n };\n\n document.addEventListener(\"mousedown\", closeOnOutsidePointerDown);\n document.addEventListener(\"touchstart\", closeOnOutsidePointerDown);\n\n return () => {\n document.removeEventListener(\"mousedown\", closeOnOutsidePointerDown);\n document.removeEventListener(\"touchstart\", closeOnOutsidePointerDown);\n };\n }, [dropdownOpen, menuOpen, onDropdownClose, onMenuToggle]);\n\n const openSearch = () => setSearchOpen(true);\n\n const renderActions = (showMenu = false) => (\n <div className=\"lsg-header__actions\">\n {showMenu && variant === \"mega\" && (\n <>\n <button\n type=\"button\"\n className=\"lsg-header__menu-trigger\"\n aria-expanded={menuOpen}\n onClick={onMenuToggle}\n >\n <LsgHeaderIcon name={menuOpen ? \"close\" : \"bars\"} />\n <span>{menuOpen ? \"CLOSE\" : \"MENU\"}</span>\n </button>\n <span className=\"lsg-header__separator\" aria-hidden=\"true\">\n |\n </span>\n </>\n )}\n <HeaderActionButton\n label={searchLabel}\n icon=\"search\"\n controls={SEARCH_OVERLAY_ID}\n onClick={openSearch}\n />\n {languages.length > 0 && (\n <LsgLanguageSwitcher\n currentLanguage={currentLanguage}\n languages={languages}\n label={`Current language: ${currentLanguage}`}\n onLanguageChange={onLanguageChange}\n />\n )}\n </div>\n );\n\n const renderMegaPanel = () => (\n <div className=\"lsg-header__mega-panel\">\n <div className=\"lsg-header__mega-inner\">\n {columns.map((columnItems, columnIndex) => (\n <ul key={`mega-column-${columnIndex}`} className=\"lsg-header__mega-column\" role=\"list\">\n {columnItems.map((item) => {\n const hasChildren = Boolean(item.children?.length);\n\n return (\n <li\n key={`${item.href}-${columnIndex}`}\n className={[\n \"lsg-header__mega-item\",\n hasChildren ? \"lsg-header__mega-item--has-children\" : \"\",\n isSelectedAtLevel(item, activePath, columnIndex)\n ? \"lsg-header__mega-item--active\"\n : \"\",\n ]\n .filter(Boolean)\n .join(\" \")}\n >\n <a\n href={item.href}\n className=\"lsg-header__mega-link\"\n onClick={(event) => {\n if (onMegaItemClick && hasChildren) {\n event.preventDefault();\n onMegaItemClick(item, columnIndex);\n }\n }}\n >\n <span>{item.label}</span>\n {hasChildren && <LsgHeaderIcon name=\"chevronRight\" />}\n </a>\n </li>\n );\n })}\n </ul>\n ))}\n </div>\n </div>\n );\n\n const renderMobileMenu = () => (\n <div className=\"lsg-header__mobile-panel\">\n {mobileLevel > 1 && (\n <nav className=\"lsg-header__breadcrumb\" aria-label=\"Breadcrumb\">\n <button\n type=\"button\"\n className=\"lsg-header__breadcrumb-home\"\n aria-label=\"Back to top-level menu\"\n onClick={() => onMobileBreadcrumbClick?.(1)}\n >\n <LsgHeaderIcon name=\"home\" />\n </button>\n {activePath.map((label, index) => {\n const isCurrent = index === activePath.length - 1;\n const isMiddleBreadcrumb = index > 0 && !isCurrent;\n\n return (\n <React.Fragment key={`${label}-${index}`}>\n <LsgHeaderIcon name=\"chevronRight\" />\n <button\n type=\"button\"\n className={[\n isCurrent\n ? \"lsg-header__breadcrumb-current\"\n : \"lsg-header__breadcrumb-ancestor\",\n isMiddleBreadcrumb ? \"lsg-header__breadcrumb-ancestor--ellipsis\" : \"\",\n ]\n .filter(Boolean)\n .join(\" \")}\n aria-label={isMiddleBreadcrumb ? label : undefined}\n title={isMiddleBreadcrumb ? label : undefined}\n onClick={() => onMobileBreadcrumbClick?.((index + 1) as 1 | 2 | 3 | 4)}\n >\n {isMiddleBreadcrumb ? \"…\" : label}\n </button>\n </React.Fragment>\n );\n })}\n </nav>\n )}\n\n <ul className=\"lsg-header__mobile-list\" role=\"list\">\n {mobileItems.map((item, index) => {\n const hasChildren = Boolean(item.children?.length);\n const isSelected = mobileSelectedLabel\n ? item.label === mobileSelectedLabel\n : isCurrentOrActiveAtLevel(item, activePath, Math.max(0, mobileLevel - 1));\n\n return (\n <li\n key={`${item.href}-mobile-${index}`}\n className={[\n \"lsg-header__mobile-item\",\n hasChildren ? \"lsg-header__mobile-item--has-children\" : \"\",\n isSelected ? \"lsg-header__mobile-item--active\" : \"\",\n ]\n .filter(Boolean)\n .join(\" \")}\n >\n <a\n href={item.href}\n className=\"lsg-header__mobile-link\"\n onClick={(event) => {\n if (onMobileItemClick && hasChildren) {\n event.preventDefault();\n onMobileItemClick(item, Math.max(1, mobileLevel || 1));\n }\n }}\n >\n <span>{item.label}</span>\n {hasChildren && <LsgHeaderIcon name=\"chevronRight\" />}\n </a>\n </li>\n );\n })}\n </ul>\n </div>\n );\n\n return (\n <>\n <header\n ref={headerRef}\n className={[\n \"lsg-header\",\n `lsg-header--${variant}`,\n menuOpen ? \"lsg-header--menu-open\" : \"\",\n `lsg-header--mobile-level-${mobileLevel}`,\n ]\n .filter(Boolean)\n .join(\" \")}\n >\n <div className=\"lsg-header__inner\">\n <div className=\"lsg-logo-decorator\">\n <div className=\"lsg-logo\">\n <LsgLogo {...logo} />\n </div>\n </div>\n\n {variant !== \"mega\" && navItems.length > 0 && (\n <div className=\"lsg-header__nav\">\n <LsgNavigation items={navItems} variant={variant} onItemClick={onNavItemClick} />\n </div>\n )}\n\n {variant === \"mega\" && (\n <div className=\"lsg-header__desktop-menu\">{renderActions(true)}</div>\n )}\n\n {variant !== \"mega\" && (\n <div className=\"lsg-header__desktop-actions\">\n <span className=\"lsg-header__separator\" aria-hidden=\"true\">\n |\n </span>\n {renderActions(false)}\n </div>\n )}\n\n <div className=\"lsg-header__mobile-actions\">\n <HeaderActionButton\n label={searchLabel}\n icon=\"search\"\n controls={SEARCH_OVERLAY_ID}\n onClick={openSearch}\n />\n {languages.length > 0 && (\n <LsgLanguageSwitcher\n currentLanguage={currentLanguage}\n languages={languages}\n label={`Current language: ${currentLanguage}`}\n onLanguageChange={onLanguageChange}\n />\n )}\n <span className=\"lsg-header__separator\" aria-hidden=\"true\">\n |\n </span>\n <HeaderActionButton\n label={mobileOpen ? \"Close menu\" : \"Open menu\"}\n icon={mobileOpen ? \"close\" : \"bars\"}\n onClick={onMenuToggle}\n />\n </div>\n </div>\n\n {variant === \"mega\" && menuOpen && renderMegaPanel()}\n {mobileOpen && renderMobileMenu()}\n </header>\n\n <LsgSearchOverlay\n id={SEARCH_OVERLAY_ID}\n isOpen={searchOpen}\n onClose={() => setSearchOpen(false)}\n placeholder={searchPlaceholder}\n />\n </>\n );\n};\n","import React from \"react\";\nimport \"./LsgQuickLinks.scss\";\n\nexport interface LsgQuickLink {\n label: string;\n href: string;\n}\n\nexport interface LsgQuickLinksProps {\n heading?: string;\n links: LsgQuickLink[];\n}\n\nexport const LsgQuickLinks: React.FC<LsgQuickLinksProps> = ({ heading, links }) => {\n return (\n <nav className=\"lsg-quick-links\" aria-label={heading ?? \"Quick links\"}>\n {heading && <p className=\"lsg-quick-links__heading\" aria-hidden=\"true\">{heading}</p>}\n <ul className=\"lsg-quick-links__list\" role=\"list\">\n {links.map((link) => (\n <li key={link.href} className=\"lsg-quick-links__item\">\n <a href={link.href} className=\"lsg-quick-links__link\">\n {link.label}\n </a>\n </li>\n ))}\n </ul>\n </nav>\n );\n};\n","import React from \"react\";\nimport \"./LsgSocialMediaIcons.scss\";\n\nexport type LsgSocialPlatform =\n | \"linkedin\"\n | \"twitter\"\n | \"facebook\"\n | \"instagram\"\n | \"youtube\";\n\nexport interface LsgSocialItem {\n platform: LsgSocialPlatform;\n href: string;\n /** Screen-reader label, e.g. \"Atlas Copco on LinkedIn\" */\n label: string;\n}\n\nexport interface LsgSocialMediaIconsProps {\n items: LsgSocialItem[];\n}\n\nconst platformIcons: Record<LsgSocialPlatform, React.ReactElement> = {\n linkedin: (\n <svg viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" aria-hidden=\"true\" focusable=\"false\">\n <path d=\"M20.45 20.45h-3.56v-5.57c0-1.33-.03-3.04-1.85-3.04-1.86 0-2.14 1.45-2.14 2.95v5.66H9.34V9h3.41v1.56h.05c.48-.9 1.64-1.85 3.37-1.85 3.6 0 4.27 2.37 4.27 5.45v6.29zM5.34 7.43a2.07 2.07 0 1 1 0-4.14 2.07 2.07 0 0 1 0 4.14zM7.12 20.45H3.55V9h3.57v11.45z\" />\n </svg>\n ),\n twitter: (\n <svg viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" aria-hidden=\"true\" focusable=\"false\">\n <path d=\"M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z\" />\n </svg>\n ),\n facebook: (\n <svg viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" aria-hidden=\"true\" focusable=\"false\">\n <path d=\"M24 12.073C24 5.405 18.627 0 12 0S0 5.405 0 12.073C0 18.1 4.388 23.094 10.125 24v-8.437H7.078v-3.49h3.047V9.41c0-3.025 1.792-4.697 4.533-4.697 1.312 0 2.686.236 2.686.236v2.97h-1.513c-1.491 0-1.956.93-1.956 1.874v2.25h3.328l-.532 3.49h-2.796V24C19.612 23.094 24 18.1 24 12.073z\" />\n </svg>\n ),\n instagram: (\n <svg viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" aria-hidden=\"true\" focusable=\"false\">\n <path d=\"M12 2.163c3.204 0 3.584.012 4.85.07 3.252.148 4.771 1.691 4.919 4.919.058 1.265.069 1.645.069 4.849 0 3.205-.012 3.584-.069 4.849-.149 3.225-1.664 4.771-4.919 4.919-1.266.058-1.644.07-4.85.07-3.204 0-3.584-.012-4.849-.07-3.26-.149-4.771-1.699-4.919-4.92-.058-1.265-.07-1.644-.07-4.849 0-3.204.013-3.583.07-4.849.149-3.227 1.664-4.771 4.919-4.919 1.266-.057 1.645-.069 4.849-.069zM12 0C8.741 0 8.333.014 7.053.072 2.695.272.273 2.69.073 7.052.014 8.333 0 8.741 0 12c0 3.259.014 3.668.072 4.948.2 4.358 2.618 6.78 6.98 6.98C8.333 23.986 8.741 24 12 24c3.259 0 3.668-.014 4.948-.072 4.354-.2 6.782-2.618 6.979-6.98.059-1.28.073-1.689.073-4.948 0-3.259-.014-3.667-.072-4.947-.196-4.354-2.617-6.78-6.979-6.98C15.668.014 15.259 0 12 0zm0 5.838a6.162 6.162 0 1 0 0 12.324 6.162 6.162 0 0 0 0-12.324zM12 16a4 4 0 1 1 0-8 4 4 0 0 1 0 8zm6.406-11.845a1.44 1.44 0 1 0 0 2.881 1.44 1.44 0 0 0 0-2.881z\" />\n </svg>\n ),\n youtube: (\n <svg viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" aria-hidden=\"true\" focusable=\"false\">\n <path d=\"M23.498 6.186a3.016 3.016 0 0 0-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 0 0 .502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 0 0 2.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 0 0 2.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814zM9.545 15.568V8.432L15.818 12l-6.273 3.568z\" />\n </svg>\n ),\n};\n\nexport const LsgSocialMediaIcons: React.FC<LsgSocialMediaIconsProps> = ({ items }) => {\n return (\n <ul className=\"lsg-social-icons\" role=\"list\">\n {items.map((item) => (\n <li key={item.platform} className=\"lsg-social-icons__item\">\n <a\n href={item.href}\n className=\"lsg-social-icons__link\"\n aria-label={item.label}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n {platformIcons[item.platform]}\n </a>\n </li>\n ))}\n </ul>\n );\n};\n","import React from \"react\";\nimport \"./LsgFooter.scss\";\nimport { LsgLogo, LsgLogoProps } from \"../LsgLogo\";\nimport { LsgQuickLinks, LsgQuickLinksProps } from \"../LsgQuickLinks\";\nimport { LsgSocialMediaIcons, LsgSocialItem } from \"../LsgSocialMediaIcons\";\n\nexport interface LsgFooterProps {\n logo?: LsgLogoProps;\n tagline?: string;\n /** One or more quick-link groups rendered side by side */\n quickLinksGroups?: LsgQuickLinksProps[];\n socialItems?: LsgSocialItem[];\n copyright?: string;\n}\n\nexport const LsgFooter: React.FC<LsgFooterProps> = ({\n logo,\n tagline,\n quickLinksGroups = [],\n socialItems = [],\n copyright,\n}) => {\n const year = new Date().getFullYear();\n\n return (\n <footer className=\"lsg-footer\">\n <div className=\"lsg-footer__inner\">\n <div className=\"lsg-footer__brand\">\n <LsgLogo {...logo} />\n {tagline && <p className=\"lsg-footer__tagline\">{tagline}</p>}\n {socialItems.length > 0 && (\n <LsgSocialMediaIcons items={socialItems} />\n )}\n </div>\n\n {quickLinksGroups.length > 0 && (\n <div className=\"lsg-footer__nav\">\n {quickLinksGroups.map((group, i) => (\n <LsgQuickLinks key={group.heading ?? i} {...group} />\n ))}\n </div>\n )}\n </div>\n\n <div className=\"lsg-footer__bottom\">\n <p className=\"lsg-footer__copyright\">\n {copyright ?? `© ${year} Atlas Copco AB. All rights reserved.`}\n </p>\n </div>\n </footer>\n );\n};\n","import React from \"react\";\n\nimport {\n LsgBanner,\n LsgButton,\n LsgCard,\n LsgCards,\n LsgFooter,\n LsgHeader,\n LsgLanguageSwitcher,\n LsgLogo,\n LsgNavigation,\n LsgQuickLinks,\n LsgSearchOverlay,\n LsgSearchTrigger,\n LsgSocialMediaIcons,\n} from \"../components/lsg\";\n\nconst BASE_COMPONENTS = {\n LsgButton,\n LsgBanner,\n LsgCard,\n LsgCards,\n LsgLogo,\n LsgNavigation,\n LsgLanguageSwitcher,\n LsgSearchTrigger,\n LsgSearchOverlay,\n LsgHeader,\n LsgQuickLinks,\n LsgSocialMediaIcons,\n LsgFooter,\n} as const;\n\ntype BaseComponents = typeof BASE_COMPONENTS;\n\nfunction createThemeComponent<Props extends object>(\n themeName: string,\n componentName: string,\n Component: React.ComponentType<Props>,\n): React.FC<Props> {\n const WrappedComponent: React.FC<Props> = (props) => (\n <div\n className={[\n \"lsg-themed-component\",\n `lsg-themed-component--${themeName}`,\n `lsg-themed-component--${componentName}`,\n ].join(\" \")}\n >\n <Component {...props} />\n </div>\n );\n\n WrappedComponent.displayName = `${themeName}-${componentName}`;\n\n return WrappedComponent;\n}\n\nexport function createThemeComponents(themeName: string): BaseComponents {\n return {\n LsgButton: createThemeComponent(themeName, \"button\", BASE_COMPONENTS.LsgButton),\n LsgBanner: createThemeComponent(themeName, \"banner\", BASE_COMPONENTS.LsgBanner),\n LsgCard: createThemeComponent(themeName, \"card\", BASE_COMPONENTS.LsgCard),\n LsgCards: createThemeComponent(themeName, \"cards\", BASE_COMPONENTS.LsgCards),\n LsgLogo: createThemeComponent(themeName, \"logo\", BASE_COMPONENTS.LsgLogo),\n LsgNavigation: createThemeComponent(themeName, \"navigation\", BASE_COMPONENTS.LsgNavigation),\n LsgLanguageSwitcher: createThemeComponent(\n themeName,\n \"language-switcher\",\n BASE_COMPONENTS.LsgLanguageSwitcher,\n ),\n LsgSearchTrigger: createThemeComponent(\n themeName,\n \"search-trigger\",\n BASE_COMPONENTS.LsgSearchTrigger,\n ),\n LsgSearchOverlay: createThemeComponent(\n themeName,\n \"search-overlay\",\n BASE_COMPONENTS.LsgSearchOverlay,\n ),\n LsgHeader: createThemeComponent(themeName, \"header\", BASE_COMPONENTS.LsgHeader),\n LsgQuickLinks: createThemeComponent(themeName, \"quick-links\", BASE_COMPONENTS.LsgQuickLinks),\n LsgSocialMediaIcons: createThemeComponent(\n themeName,\n \"social-media-icons\",\n BASE_COMPONENTS.LsgSocialMediaIcons,\n ),\n LsgFooter: createThemeComponent(themeName, \"footer\", BASE_COMPONENTS.LsgFooter),\n };\n}","import { createThemeComponents } from \"../createThemeComponents\";\n\nexport const theme1Components = createThemeComponents(\"theme-1\");\n\nexport const {\n LsgButton: Theme1LsgButton,\n LsgBanner: Theme1LsgBanner,\n LsgCard: Theme1LsgCard,\n LsgCards: Theme1LsgCards,\n LsgLogo: Theme1LsgLogo,\n LsgNavigation: Theme1LsgNavigation,\n LsgLanguageSwitcher: Theme1LsgLanguageSwitcher,\n LsgSearchTrigger: Theme1LsgSearchTrigger,\n LsgSearchOverlay: Theme1LsgSearchOverlay,\n LsgHeader: Theme1LsgHeader,\n LsgQuickLinks: Theme1LsgQuickLinks,\n LsgSocialMediaIcons: Theme1LsgSocialMediaIcons,\n LsgFooter: Theme1LsgFooter,\n} = theme1Components;","import { createThemeComponents } from \"../createThemeComponents\";\n\nexport const theme2Components = createThemeComponents(\"theme-2\");\n\nexport const {\n LsgButton: Theme2LsgButton,\n LsgBanner: Theme2LsgBanner,\n LsgCard: Theme2LsgCard,\n LsgCards: Theme2LsgCards,\n LsgLogo: Theme2LsgLogo,\n LsgNavigation: Theme2LsgNavigation,\n LsgLanguageSwitcher: Theme2LsgLanguageSwitcher,\n LsgSearchTrigger: Theme2LsgSearchTrigger,\n LsgSearchOverlay: Theme2LsgSearchOverlay,\n LsgHeader: Theme2LsgHeader,\n LsgQuickLinks: Theme2LsgQuickLinks,\n LsgSocialMediaIcons: Theme2LsgSocialMediaIcons,\n LsgFooter: Theme2LsgFooter,\n} = theme2Components;","import { createThemeComponents } from \"../createThemeComponents\";\n\nexport const theme3Components = createThemeComponents(\"theme-3\");\n\nexport const {\n LsgButton: Theme3LsgButton,\n LsgBanner: Theme3LsgBanner,\n LsgCard: Theme3LsgCard,\n LsgCards: Theme3LsgCards,\n LsgLogo: Theme3LsgLogo,\n LsgNavigation: Theme3LsgNavigation,\n LsgLanguageSwitcher: Theme3LsgLanguageSwitcher,\n LsgSearchTrigger: Theme3LsgSearchTrigger,\n LsgSearchOverlay: Theme3LsgSearchOverlay,\n LsgHeader: Theme3LsgHeader,\n LsgQuickLinks: Theme3LsgQuickLinks,\n LsgSocialMediaIcons: Theme3LsgSocialMediaIcons,\n LsgFooter: Theme3LsgFooter,\n} = theme3Components;"],"names":["LsgButton","_a","children","variant","_c","disabled","href","onClick","_d","type","_e","className","_f","external","classNames","filter","Boolean","join","React","createElement","_extends","undefined","target","rel","LsgBanner","heading","eyebrow","copy","cta","imageUrl","_b","imageAlt","src","alt","label","LsgCard","title","description","inner","Fragment","loading","LsgCards","cards","map","card","i","key","LsgLogo","width","height","text","content","LsgNavigation","items","onItemClick","renderItems","navItems","level","role","item","hasChildren","length","concat","open","event","preventDefault","current","viewBox","focusable","d","LSG_ICON_PATHS","bars","chevronLeft","chevronRight","close","globe","home","search","LsgIcon","name","xmlns","ChevronIcon","fill","stroke","strokeWidth","strokeLinecap","strokeLinejoin","points","LsgLanguageSwitcher","currentLanguage","languages","onLanguageChange","useState","isOpen","setIsOpen","containerRef","useRef","reactId","useId","triggerId","dropdownId","useEffect","handleClick","e","contains","document","addEventListener","removeEventListener","handleKey","ref","id","prev","lang","code","SearchIcon","cx","cy","r","x1","y1","x2","y2","LsgSearchTrigger","targetId","CloseIcon","LsgSearchOverlay","placeholder","onClose","onSearch","inputRef","inputId","focus","handleSubmit","query","value","trim","overlayClass","style","position","inset","cursor","onSubmit","htmlFor","autoComplete","SEARCH_OVERLAY_ID","LsgHeaderIcon","getItemByPath","activePath","depth","currentItems","currentItem","find","getItemsAtLevel","getMegaColumns","maxDepth","columns","slice","forEach","activeItem","push","isCurrentOrActiveAtLevel","isSelectedAtLevel","hasOpenNavItem","some","HeaderActionButton","icon","controls","LsgHeader","logo","searchLabel","searchPlaceholder","_g","_h","menuOpen","_j","mobileLevel","_k","mobileSelectedLabel","onMenuToggle","onNavItemClick","onDropdownClose","onMegaItemClick","onMobileItemClick","onMobileBreadcrumbClick","_l","searchOpen","setSearchOpen","headerRef","mobileOpen","mobileItems","dropdownOpen","closeOnOutsidePointerDown","openSearch","renderActions","showMenu","renderMegaPanel","columnItems","columnIndex","renderMobileMenu","index","isCurrent","isMiddleBreadcrumb","isSelected","Math","max","LsgQuickLinks","links","link","platformIcons","linkedin","twitter","facebook","instagram","youtube","LsgSocialMediaIcons","platform","LsgFooter","tagline","quickLinksGroups","socialItems","copyright","year","Date","getFullYear","group","BASE_COMPONENTS","createThemeComponent","themeName","componentName","Component","WrappedComponent","props","displayName","createThemeComponents","theme1Components","Theme1LsgButton","Theme1LsgBanner","Theme1LsgCard","Theme1LsgCards","Theme1LsgLogo","Theme1LsgNavigation","Theme1LsgLanguageSwitcher","Theme1LsgSearchTrigger","Theme1LsgSearchOverlay","Theme1LsgHeader","Theme1LsgQuickLinks","Theme1LsgSocialMediaIcons","Theme1LsgFooter","theme2Components","Theme2LsgButton","Theme2LsgBanner","Theme2LsgCard","Theme2LsgCards","Theme2LsgLogo","Theme2LsgNavigation","Theme2LsgLanguageSwitcher","Theme2LsgSearchTrigger","Theme2LsgSearchOverlay","Theme2LsgHeader","Theme2LsgQuickLinks","Theme2LsgSocialMediaIcons","Theme2LsgFooter","theme3Components","Theme3LsgButton","Theme3LsgBanner","Theme3LsgCard","Theme3LsgCards","Theme3LsgLogo","Theme3LsgNavigation","Theme3LsgLanguageSwitcher","Theme3LsgSearchTrigger","Theme3LsgSearchOverlay","Theme3LsgHeader","Theme3LsgQuickLinks","Theme3LsgSocialMediaIcons","Theme3LsgFooter"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.esm.js","sources":["../../src/components/lsg/LsgButton/LsgButton.tsx","../../src/components/lsg/LsgBanner/LsgBanner.tsx","../../src/components/lsg/LsgCard/LsgCard.tsx","../../src/components/lsg/LsgLogo/LsgLogo.tsx","../../src/components/lsg/LsgNavigation/LsgNavigation.tsx","../../src/utils/LsgIcon.tsx","../../src/components/lsg/LsgLanguageSwitcher/LsgLanguageSwitcher.tsx","../../src/components/lsg/LsgSearchTrigger/LsgSearchTrigger.tsx","../../src/components/lsg/LsgSearchOverlay/LsgSearchOverlay.tsx","../../src/components/lsg/LsgHeader/LsgHeader.tsx","../../src/components/lsg/LsgQuickLinks/LsgQuickLinks.tsx","../../src/components/lsg/LsgSocialMediaIcons/LsgSocialMediaIcons.tsx","../../src/components/lsg/LsgFooter/LsgFooter.tsx","../../src/themes/createThemeComponents.tsx","../../src/themes/theme-1/components.tsx","../../src/themes/theme-2/components.tsx","../../src/themes/theme-3/components.tsx"],"sourcesContent":["import React from \"react\";\nimport \"./LsgButton.scss\";\n\nexport type LsgButtonVariant = \"primary\" | \"secondary\" | \"tertiary\" | \"outlined-white\" | \"outlined-black\";\n\nexport interface LsgButtonProps {\n children?: React.ReactNode;\n variant?: LsgButtonVariant;\n disabled?: boolean;\n /** Renders an <a> element when provided */\n href?: string;\n onClick?: (e: React.MouseEvent<HTMLButtonElement | HTMLAnchorElement>) => void;\n type?: \"button\" | \"submit\" | \"reset\";\n className?: string;\n /** Opens in a new tab when used with href */\n external?: boolean;\n}\n\nexport const LsgButton: React.FC<LsgButtonProps> = ({\n children,\n variant = \"primary\",\n disabled = false,\n href,\n onClick,\n type = \"button\",\n className = \"\",\n external = false,\n}) => {\n const classNames = [\n \"lsg-button\",\n disabled ? \"lsg-button--disabled\" : \"\",\n className,\n ]\n .filter(Boolean)\n .join(\" \");\n\n if (href) {\n return (\n <a\n href={disabled ? undefined : href}\n className={classNames}\n aria-disabled={disabled || undefined}\n onClick={disabled ? undefined : (onClick as React.MouseEventHandler<HTMLAnchorElement>)}\n {...(external ? { target: \"_blank\", rel: \"noopener noreferrer\" } : {})}\n >\n <span className=\"lsg-button__text\">{children}</span>\n </a>\n );\n }\n\n return (\n <button\n type={type}\n className={classNames}\n disabled={disabled}\n onClick={onClick as React.MouseEventHandler<HTMLButtonElement>}\n >\n {children}\n </button>\n );\n};\n","import React from \"react\";\nimport \"./LsgBanner.scss\";\nimport { LsgButton } from \"../LsgButton\";\n\nexport interface LsgBannerCta {\n label: string;\n href: string;\n external?: boolean;\n}\n\nexport interface LsgBannerProps {\n heading: string;\n eyebrow?: string;\n copy?: string;\n cta?: LsgBannerCta;\n /** Background image URL */\n imageUrl?: string;\n imageAlt?: string;\n}\n\nexport const LsgBanner: React.FC<LsgBannerProps> = ({\n heading,\n eyebrow,\n copy,\n cta,\n imageUrl,\n imageAlt = \"\",\n}) => {\n return (\n <section className=\"lsg-banner\">\n {imageUrl && (\n <div className=\"lsg-banner__background\" aria-hidden=\"true\">\n <img src={imageUrl} alt={imageAlt} />\n </div>\n )}\n <div className=\"lsg-banner__inner\">\n {eyebrow && <span className=\"lsg-banner__eyebrow\">{eyebrow}</span>}\n <h1 className=\"lsg-banner__heading\">{heading}</h1>\n {copy && <p className=\"lsg-banner__copy\">{copy}</p>}\n {cta && (\n <LsgButton\n href={cta.href}\n external={cta.external}\n variant=\"primary\"\n className=\"lsg-banner__cta\"\n >\n {cta.label}\n </LsgButton>\n )}\n </div>\n </section>\n );\n};\n","import React from \"react\";\nimport \"./LsgCard.scss\";\nimport { LsgButton } from \"../LsgButton\";\n\nexport interface LsgCardCta {\n label: string;\n href: string;\n external?: boolean;\n}\n\nexport interface LsgCardProps {\n title: string;\n description?: string;\n imageUrl?: string;\n imageAlt?: string;\n /** Wraps the whole card in a link when provided */\n href?: string;\n cta?: LsgCardCta;\n}\n\nexport const LsgCard: React.FC<LsgCardProps> = ({\n title,\n description,\n imageUrl,\n imageAlt = \"\",\n href,\n cta,\n}) => {\n const inner = (\n <>\n {imageUrl && (\n <div className=\"lsg-card__image\">\n <img src={imageUrl} alt={imageAlt} loading=\"lazy\" />\n </div>\n )}\n <div className=\"lsg-card__body\">\n <h3 className=\"lsg-card__title\">{title}</h3>\n {description && <p className=\"lsg-card__description\">{description}</p>}\n {cta && !href && (\n <div className=\"lsg-card__footer\">\n <LsgButton href={cta.href} external={cta.external} variant=\"primary\">\n {cta.label}\n </LsgButton>\n </div>\n )}\n </div>\n </>\n );\n\n if (href) {\n return (\n <article className=\"lsg-card\">\n <a href={href} className=\"lsg-card__link\" aria-label={title}>\n {inner}\n </a>\n </article>\n );\n }\n\n return <article className=\"lsg-card\">{inner}</article>;\n};\n\nexport interface LsgCardsProps {\n cards: LsgCardProps[];\n}\n\n/** Renders a responsive grid of LsgCard items. */\nexport const LsgCards: React.FC<LsgCardsProps> = ({ cards }) => {\n return (\n <ul className=\"lsg-cards\">\n {cards.map((card, i) => (\n <li key={card.href ?? i}>\n <LsgCard {...card} />\n </li>\n ))}\n </ul>\n );\n};\n","import React from \"react\";\nimport \"./LsgLogo.scss\";\n\nexport interface LsgLogoProps {\n /** Image src. When omitted, renders a text logo. */\n src?: string;\n alt?: string;\n href?: string;\n width?: number;\n height?: number;\n /** Fallback text shown when no src is provided */\n text?: string;\n}\n\nexport const LsgLogo: React.FC<LsgLogoProps> = ({\n src,\n alt = \"Logo\",\n href = \"/\",\n width,\n height = 40,\n text = \"Atlas Copco\",\n}) => {\n const content = src ? (\n <img\n src={src}\n alt={alt}\n width={width}\n height={height}\n className=\"lsg-logo__image\"\n />\n ) : (\n <span className=\"lsg-logo__text\">{text}</span>\n );\n\n return (\n <a href={href} className=\"lsg-logo\" aria-label={src ? alt : undefined}>\n {content}\n </a>\n );\n};\n","import React from \"react\";\nimport \"./LsgNavigation.scss\";\n\nexport interface LsgNavItem {\n label: string;\n href: string;\n current?: boolean;\n open?: boolean;\n children?: LsgNavItem[];\n}\n\nexport interface LsgNavigationProps {\n items: LsgNavItem[];\n /** Accessible label for the <nav> landmark */\n label?: string;\n variant?: \"simple\" | \"dropdown\" | \"mega\";\n onItemClick?: (item: LsgNavItem, level: number) => void;\n onItemHover?: (item: LsgNavItem, level: number) => void;\n}\n\nexport const LsgNavigation: React.FC<LsgNavigationProps> = ({\n items,\n label = \"Main navigation\",\n variant = \"simple\",\n onItemClick,\n onItemHover,\n}) => {\n const renderItems = (navItems: LsgNavItem[], level = 0) => (\n <ul\n className={level === 0 ? \"lsg-nav__list\" : \"lsg-nav__dropdown\"}\n role=\"list\"\n >\n {navItems.map((item) => {\n const hasChildren = Boolean(item.children?.length);\n\n return (\n <li\n key={`${item.href}-${level}`}\n className={[\n \"lsg-nav__item\",\n hasChildren ? \"lsg-nav__item--has-children\" : \"\",\n item.open ? \"lsg-nav__item--open\" : \"\",\n ]\n .filter(Boolean)\n .join(\" \")}\n onMouseEnter={() => {\n if (onItemHover && hasChildren) {\n onItemHover(item, level);\n }\n }}\n >\n <a\n href={item.href}\n onClick={(event) => {\n if (onItemClick && hasChildren) {\n event.preventDefault();\n onItemClick(item, level);\n }\n }}\n className={[\n \"lsg-nav__link\",\n item.current ? \"lsg-nav__link--current\" : \"\",\n ]\n .filter(Boolean)\n .join(\" \")}\n aria-current={item.current ? \"page\" : undefined}\n aria-expanded={variant === \"dropdown\" && hasChildren ? item.open : undefined}\n >\n <p>{item.label}</p>\n {hasChildren && (\n <span className=\"lsg-nav__chevron\" aria-hidden=\"true\">\n <svg viewBox=\"0 0 640 640\" focusable=\"false\">\n <path d=\"M471.1 297.4C483.6 309.9 483.6 330.2 471.1 342.7L279.1 534.7C266.6 547.2 246.3 547.2 233.8 534.7C221.3 522.2 221.3 501.9 233.8 489.4L403.2 320L233.9 150.6C221.4 138.1 221.4 117.8 233.9 105.3C246.4 92.8 266.7 92.8 279.2 105.3L471.2 297.3z\" />\n </svg>\n </span>\n )}\n </a>\n {hasChildren && renderItems(item.children || [], level + 1)}\n </li>\n );\n })}\n </ul>\n );\n\n return (\n <nav\n className={[\"lsg-nav\", `lsg-nav--${variant}`].join(\" \")}\n aria-label={label}\n >\n {renderItems(items)}\n </nav>\n );\n};\n","import React from \"react\";\n\nexport type LsgIconName =\n | \"bars\"\n | \"chevronLeft\"\n | \"chevronRight\"\n | \"close\"\n | \"globe\"\n | \"home\"\n | \"search\";\n\nexport const LSG_ICON_PATHS: Record<LsgIconName, string> = {\n bars:\n \"M96 160C96 142.3 110.3 128 128 128L512 128C529.7 128 544 142.3 544 160C544 177.7 529.7 192 512 192L128 192C110.3 192 96 177.7 96 160zM96 320C96 302.3 110.3 288 128 288L512 288C529.7 288 544 302.3 544 320C544 337.7 529.7 352 512 352L128 352C110.3 352 96 337.7 96 320zM544 480C544 497.7 529.7 512 512 512L128 512C110.3 512 96 497.7 96 480C96 462.3 110.3 448 128 448L512 448C529.7 448 544 462.3 544 480z\",\n chevronLeft:\n \"M169.4 297.4C156.9 309.9 156.9 330.2 169.4 342.7L361.4 534.7C373.9 547.2 394.2 547.2 406.7 534.7C419.2 522.2 419.2 501.9 406.7 489.4L237.3 320L406.6 150.6C419.1 138.1 419.1 117.8 406.6 105.3C394.1 92.8 373.8 92.8 361.3 105.3L169.3 297.3z\",\n chevronRight:\n \"M471.1 297.4C483.6 309.9 483.6 330.2 471.1 342.7L279.1 534.7C266.6 547.2 246.3 547.2 233.8 534.7C221.3 522.2 221.3 501.9 233.8 489.4L403.2 320L233.9 150.6C221.4 138.1 221.4 117.8 233.9 105.3C246.4 92.8 266.7 92.8 279.2 105.3L471.2 297.3z\",\n close:\n \"M504.6 148.5C515.9 134.9 514.1 114.7 500.5 103.4C486.9 92.1 466.7 93.9 455.4 107.5L320 270L184.6 107.5C173.3 93.9 153.1 92.1 139.5 103.4C125.9 114.7 124.1 134.9 135.4 148.5L278.3 320L135.4 491.5C124.1 505.1 125.9 525.3 139.5 536.6C153.1 547.9 173.3 546.1 184.6 532.5L320 370L455.4 532.5C466.7 546.1 486.9 547.9 500.5 536.6C514.1 525.3 515.9 505.1 504.6 491.5L361.7 320L504.6 148.5z\",\n globe:\n \"M367.2 477C345.7 520.7 325.8 528 320 528C314.2 528 294.3 520.7 272.8 477C255.8 442.5 243.6 395.4 240.7 344L399.3 344C396.3 395.5 384.1 442.6 367.2 477zM399.3 296L240.7 296C243.7 244.5 255.9 197.4 272.8 163C294.3 119.3 314.2 112 320 112C325.8 112 345.7 119.3 367.2 163C384.2 197.5 396.4 244.6 399.3 296zM447.4 344L526.6 344C518 418.6 469.9 481.3 403.8 510.4C427.8 467.6 444.1 408 447.4 344zM526.6 296L447.4 296C444.1 232 427.8 172.4 403.8 129.6C469.9 158.8 518 221.4 526.6 296zM192.6 296L113.4 296C122 221.4 170.1 158.7 236.2 129.6C212.2 172.4 195.9 232 192.6 296zM113.4 344L192.6 344C195.9 408 212.2 467.6 236.2 510.4C170.1 481.2 122 418.6 113.4 344zM320 576C461.4 576 576 461.4 576 320C576 178.6 461.4 64 320 64C178.6 64 64 178.6 64 320C64 461.4 178.6 576 320 576z\",\n home: \"M96 320L320 128L544 320H480V528H352V384H288V528H160V320H96z\",\n search:\n \"M480 272C480 317.9 465.1 360.3 440 394.7L566.6 521.4C579.1 533.9 579.1 554.2 566.6 566.7C554.1 579.2 533.8 579.2 521.3 566.7L394.7 440C360.3 465.1 317.9 480 272 480C157.1 480 64 386.9 64 272C64 157.1 157.1 64 272 64C386.9 64 480 157.1 480 272zM272 416C351.5 416 416 351.5 416 272C416 192.5 351.5 128 272 128C192.5 128 128 192.5 128 272C128 351.5 192.5 416 272 416z\",\n};\n\nexport interface LsgIconProps {\n name: LsgIconName;\n className?: string;\n}\n\nexport const LsgIcon: React.FC<LsgIconProps> = ({ name, className }) => (\n <svg\n className={className}\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 640 640\"\n aria-hidden=\"true\"\n focusable=\"false\"\n >\n <path d={LSG_ICON_PATHS[name]} />\n </svg>\n);\n","import React, { useState, useRef, useEffect, useId } from \"react\";\nimport \"./LsgLanguageSwitcher.scss\";\nimport { LsgIcon } from \"../../../utils\";\n\nexport interface LsgLanguage {\n code: string;\n label: string;\n href: string;\n}\n\nexport interface LsgLanguageSwitcherProps {\n currentLanguage: string;\n languages: LsgLanguage[];\n /** Accessible label for the trigger button */\n label?: string;\n /** Called when a language is selected. Prevents link navigation when provided. */\n onLanguageChange?: (language: LsgLanguage) => void;\n}\n\nconst ChevronIcon = () => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 12 12\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n aria-hidden=\"true\"\n focusable=\"false\"\n >\n <polyline points=\"2 4 6 8 10 4\" />\n </svg>\n);\n\n/**\n * Language Switcher\n *\n * Hydrated: state managed by React (useState).\n * Clientlib-only: driven by lsg-clientlib.js targeting [data-lsg-lang-switcher].\n */\nexport const LsgLanguageSwitcher: React.FC<LsgLanguageSwitcherProps> = ({\n currentLanguage,\n languages,\n label = \"Select language\",\n onLanguageChange,\n}) => {\n const [isOpen, setIsOpen] = useState(false);\n const containerRef = useRef<HTMLDivElement>(null);\n const reactId = useId();\n const triggerId = `lsg-lang-trigger-${reactId}`;\n const dropdownId = `lsg-lang-dropdown-${reactId}`;\n\n // Close on outside click\n useEffect(() => {\n if (!isOpen) return;\n const handleClick = (e: MouseEvent) => {\n if (containerRef.current && !containerRef.current.contains(e.target as Node)) {\n setIsOpen(false);\n }\n };\n document.addEventListener(\"mousedown\", handleClick);\n return () => document.removeEventListener(\"mousedown\", handleClick);\n }, [isOpen]);\n\n // Close on Escape\n useEffect(() => {\n if (!isOpen) return;\n const handleKey = (e: KeyboardEvent) => {\n if (e.key === \"Escape\") setIsOpen(false);\n };\n document.addEventListener(\"keydown\", handleKey);\n return () => document.removeEventListener(\"keydown\", handleKey);\n }, [isOpen]);\n\n return (\n <div className=\"lsg-lang-switcher\" ref={containerRef} data-lsg-lang-switcher>\n <button\n id={triggerId}\n type=\"button\"\n className=\"lsg-lang-switcher__trigger\"\n aria-label={label}\n aria-haspopup=\"listbox\"\n aria-expanded={isOpen}\n aria-controls={dropdownId}\n onClick={() => setIsOpen((prev) => !prev)}\n >\n <LsgIcon name=\"globe\" className=\"lsg-lang-switcher__globe\" />\n <span className=\"lsg-lang-switcher__current\">{currentLanguage}</span>\n <ChevronIcon />\n </button>\n\n {isOpen && (\n <ul\n id={dropdownId}\n className=\"lsg-lang-switcher__dropdown\"\n role=\"listbox\"\n aria-labelledby={triggerId}\n >\n {languages.map((lang) => (\n <li key={lang.code} className=\"lsg-lang-switcher__option\" role=\"option\">\n <a\n href={lang.href}\n className={[\n \"lsg-lang-switcher__option-link\",\n lang.code === currentLanguage ? \"lsg-lang-switcher__option-link--active\" : \"\",\n ]\n .filter(Boolean)\n .join(\" \")}\n aria-current={lang.code === currentLanguage ? true : undefined}\n onClick={(event) => {\n if (!onLanguageChange) return;\n\n event.preventDefault();\n onLanguageChange(lang);\n setIsOpen(false);\n }}\n >\n {lang.label}\n </a>\n </li>\n ))}\n </ul>\n )}\n </div>\n );\n};\n","import React from \"react\";\nimport \"./LsgSearchTrigger.scss\";\n\nexport interface LsgSearchTriggerProps {\n /** Accessible label for the button */\n label?: string;\n /** id of the search overlay this button controls */\n targetId?: string;\n onClick?: () => void;\n}\n\nconst SearchIcon = () => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n aria-hidden=\"true\"\n focusable=\"false\"\n >\n <circle cx=\"11\" cy=\"11\" r=\"8\" />\n <line x1=\"21\" y1=\"21\" x2=\"16.65\" y2=\"16.65\" />\n </svg>\n);\n\nexport const LsgSearchTrigger: React.FC<LsgSearchTriggerProps> = ({\n label = \"Open search\",\n targetId,\n onClick,\n}) => {\n return (\n <button\n type=\"button\"\n className=\"lsg-search-trigger\"\n aria-label={label}\n aria-haspopup=\"dialog\"\n aria-controls={targetId}\n onClick={onClick}\n data-lsg-search-trigger\n >\n <SearchIcon />\n </button>\n );\n};\n","import React, { useEffect, useRef } from \"react\";\nimport \"./LsgSearchOverlay.scss\";\n\nexport interface LsgSearchOverlayProps {\n id?: string;\n placeholder?: string;\n /** Accessible label for the search input */\n label?: string;\n isOpen?: boolean;\n onClose?: () => void;\n onSearch?: (query: string) => void;\n}\n\nconst SearchIcon = () => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n aria-hidden=\"true\"\n focusable=\"false\"\n >\n <circle cx=\"11\" cy=\"11\" r=\"8\" />\n <line x1=\"21\" y1=\"21\" x2=\"16.65\" y2=\"16.65\" />\n </svg>\n);\n\nconst CloseIcon = () => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n aria-hidden=\"true\"\n focusable=\"false\"\n >\n <line x1=\"18\" y1=\"6\" x2=\"6\" y2=\"18\" />\n <line x1=\"6\" y1=\"6\" x2=\"18\" y2=\"18\" />\n </svg>\n);\n\n/**\n * Search Overlay\n *\n * Hydrated: isOpen/onClose controlled by parent (e.g. LsgHeader).\n * Clientlib-only: driven by lsg-clientlib.js targeting [data-lsg-search-overlay].\n * The CSS class lsg-search-overlay--open drives visibility in both modes.\n */\nexport const LsgSearchOverlay: React.FC<LsgSearchOverlayProps> = ({\n id = \"lsg-search-overlay\",\n placeholder = \"Search…\",\n label = \"Search\",\n isOpen = false,\n onClose,\n onSearch,\n}) => {\n const inputRef = useRef<HTMLInputElement>(null);\n const inputId = `${id}-input`;\n\n // Focus the input when overlay opens\n useEffect(() => {\n if (isOpen) inputRef.current?.focus();\n }, [isOpen]);\n\n // Close on Escape\n useEffect(() => {\n if (!isOpen) return;\n const handleKey = (e: KeyboardEvent) => {\n if (e.key === \"Escape\") onClose?.();\n };\n document.addEventListener(\"keydown\", handleKey);\n return () => document.removeEventListener(\"keydown\", handleKey);\n }, [isOpen, onClose]);\n\n const handleSubmit = (e: React.FormEvent<HTMLFormElement>) => {\n e.preventDefault();\n const query = inputRef.current?.value ?? \"\";\n if (query.trim()) onSearch?.(query.trim());\n };\n\n const overlayClass = [\"lsg-search-overlay\", isOpen ? \"lsg-search-overlay--open\" : \"\"]\n .filter(Boolean)\n .join(\" \");\n\n return (\n <div\n id={id}\n className={overlayClass}\n role=\"dialog\"\n aria-modal=\"true\"\n aria-label={label}\n data-lsg-search-overlay\n >\n {/* Backdrop close */}\n <div\n className=\"lsg-search-overlay__backdrop\"\n aria-hidden=\"true\"\n onClick={onClose}\n style={{ position: \"absolute\", inset: 0, cursor: \"default\" }}\n />\n <div className=\"lsg-search-overlay__panel\">\n <form className=\"lsg-search-overlay__form\" role=\"search\" onSubmit={handleSubmit}>\n <label htmlFor={inputId} className=\"lsg-search-overlay__label\">\n <SearchIcon />\n <span className=\"lsg-visually-hidden\">{label}</span>\n </label>\n <input\n id={inputId}\n ref={inputRef}\n type=\"search\"\n className=\"lsg-search-overlay__input\"\n placeholder={placeholder}\n autoComplete=\"off\"\n />\n <button type=\"submit\" className=\"lsg-search-overlay__submit\" aria-label=\"Submit search\">\n <SearchIcon />\n </button>\n <button\n type=\"button\"\n className=\"lsg-search-overlay__close\"\n aria-label=\"Close search\"\n onClick={onClose}\n >\n <CloseIcon />\n </button>\n </form>\n </div>\n </div>\n );\n};\n","import React, { useEffect, useRef, useState } from \"react\";\nimport \"./LsgHeader.scss\";\nimport { LsgLogo, LsgLogoProps } from \"../LsgLogo\";\nimport { LsgNavigation, LsgNavItem } from \"../LsgNavigation\";\nimport { LsgLanguage, LsgLanguageSwitcher } from \"../LsgLanguageSwitcher\";\nimport { LsgSearchOverlay } from \"../LsgSearchOverlay\";\nimport { LsgIcon, LsgIconName } from \"../../../utils\";\n\nexport interface LsgHeaderProps {\n logo?: LsgLogoProps;\n navItems?: LsgNavItem[];\n languages?: LsgLanguage[];\n currentLanguage?: string;\n onLanguageChange?: (language: LsgLanguage) => void;\n searchLabel?: string;\n searchPlaceholder?: string;\n variant?: \"simple\" | \"dropdown\" | \"mega\";\n menuOpen?: boolean;\n mobileLevel?: 0 | 1 | 2 | 3 | 4;\n activePath?: string[];\n mobileSelectedLabel?: string;\n onMenuToggle?: () => void;\n onNavItemHover?: (item: LsgNavItem, level: number) => void;\n onDropdownClose?: () => void;\n onMegaItemHover?: (item: LsgNavItem, level: number) => void;\n onMobileItemClick?: (item: LsgNavItem, level: number) => void;\n onMobileBreadcrumbClick?: (level: 0 | 1 | 2 | 3 | 4) => void;\n}\n\nconst SEARCH_OVERLAY_ID = \"lsg-header-search-overlay\";\n\nconst LsgHeaderIcon: React.FC<{ name: LsgIconName; className?: string }> = ({\n name,\n className,\n}) => {\n return (\n <LsgIcon\n name={name}\n className={[\"lsg-header__icon\", className || \"\"].filter(Boolean).join(\" \")}\n />\n );\n};\n\nconst getItemByPath = (\n items: LsgNavItem[],\n activePath: string[],\n depth: number\n): LsgNavItem | undefined => {\n let currentItems = items;\n let currentItem: LsgNavItem | undefined;\n\n for (let i = 0; i <= depth; i += 1) {\n currentItem = currentItems.find((item) => item.label === activePath[i]);\n currentItems = currentItem?.children || [];\n }\n\n return currentItem;\n};\n\nconst getItemsAtLevel = (\n items: LsgNavItem[],\n activePath: string[],\n level: number\n): LsgNavItem[] => {\n if (level <= 1) {\n return items;\n }\n\n return getItemByPath(items, activePath, level - 2)?.children || [];\n};\n\nconst getMegaColumns = (\n items: LsgNavItem[],\n activePath: string[],\n maxDepth = 4\n): LsgNavItem[][] => {\n const columns: LsgNavItem[][] = [items];\n let currentItems = items;\n\n activePath.slice(0, maxDepth - 1).forEach((label) => {\n const activeItem = currentItems.find((item) => item.label === label);\n\n if (activeItem?.children?.length) {\n columns.push(activeItem.children);\n currentItems = activeItem.children;\n }\n });\n\n return columns.slice(0, maxDepth);\n};\n\nconst isCurrentOrActiveAtLevel = (item: LsgNavItem, activePath: string[], level: number) =>\n item.current || activePath[level] === item.label;\n\nconst isSelectedAtLevel = (item: LsgNavItem, activePath: string[], level: number) =>\n activePath[level] === item.label;\n\nconst hasOpenNavItem = (items: LsgNavItem[]): boolean =>\n items.some((item) => item.open || hasOpenNavItem(item.children || []));\n\nconst HeaderActionButton: React.FC<{\n label: string;\n icon: LsgIconName;\n onClick?: () => void;\n controls?: string;\n className?: string;\n}> = ({ label, icon, onClick, controls, className }) => (\n <button\n type=\"button\"\n className={[\"lsg-header__icon-button\", className || \"\"].filter(Boolean).join(\" \")}\n aria-label={label}\n aria-controls={controls}\n onClick={onClick}\n data-lsg-search-trigger={icon === \"search\" ? \"\" : undefined}\n >\n <LsgHeaderIcon name={icon} />\n </button>\n);\n\nexport const LsgHeader: React.FC<LsgHeaderProps> = ({\n logo,\n navItems = [],\n languages = [],\n currentLanguage = \"EN\",\n onLanguageChange,\n searchLabel = \"Open search\",\n searchPlaceholder = \"Search products, documents...\",\n variant = \"simple\",\n menuOpen = false,\n mobileLevel = 0,\n activePath = [],\n mobileSelectedLabel,\n onMenuToggle,\n onNavItemHover,\n onDropdownClose,\n onMegaItemHover,\n onMobileItemClick,\n onMobileBreadcrumbClick,\n}) => {\n const [searchOpen, setSearchOpen] = useState(false);\n const headerRef = useRef<HTMLElement>(null);\n const mobileOpen = menuOpen || mobileLevel > 0;\n const columns = getMegaColumns(navItems, activePath);\n const mobileItems = getItemsAtLevel(navItems, activePath, mobileLevel || 1);\n const dropdownOpen = variant === \"dropdown\" && hasOpenNavItem(navItems);\n\n useEffect(() => {\n if (!menuOpen && !dropdownOpen) {\n return undefined;\n }\n\n const closeOnOutsidePointerDown = (event: MouseEvent | TouchEvent) => {\n if (headerRef.current?.contains(event.target as Node)) {\n return;\n }\n\n if (menuOpen) {\n onMenuToggle?.();\n }\n\n if (dropdownOpen) {\n onDropdownClose?.();\n }\n };\n\n document.addEventListener(\"mousedown\", closeOnOutsidePointerDown);\n document.addEventListener(\"touchstart\", closeOnOutsidePointerDown);\n\n return () => {\n document.removeEventListener(\"mousedown\", closeOnOutsidePointerDown);\n document.removeEventListener(\"touchstart\", closeOnOutsidePointerDown);\n };\n }, [dropdownOpen, menuOpen, onDropdownClose, onMenuToggle]);\n\n const openSearch = () => setSearchOpen(true);\n\n const renderActions = (showMenu = false) => (\n <div className=\"lsg-header__actions\">\n {showMenu && variant === \"mega\" && (\n <>\n <button\n type=\"button\"\n className=\"lsg-header__menu-trigger\"\n aria-expanded={menuOpen}\n onClick={onMenuToggle}\n >\n <LsgHeaderIcon name={menuOpen ? \"close\" : \"bars\"} />\n <span>{menuOpen ? \"CLOSE\" : \"MENU\"}</span>\n </button>\n <span className=\"lsg-header__separator\" aria-hidden=\"true\">\n |\n </span>\n </>\n )}\n <HeaderActionButton\n label={searchLabel}\n icon=\"search\"\n controls={SEARCH_OVERLAY_ID}\n onClick={openSearch}\n />\n {languages.length > 0 && (\n <LsgLanguageSwitcher\n currentLanguage={currentLanguage}\n languages={languages}\n label={`Current language: ${currentLanguage}`}\n onLanguageChange={onLanguageChange}\n />\n )}\n </div>\n );\n\n const renderMegaPanel = () => (\n <div className=\"lsg-header__mega-panel\">\n <div className=\"lsg-header__mega-inner\">\n {columns.map((columnItems, columnIndex) => (\n <ul key={`mega-column-${columnIndex}`} className=\"lsg-header__mega-column\" role=\"list\">\n {columnItems.map((item) => {\n const hasChildren = Boolean(item.children?.length);\n\n return (\n <li\n key={`${item.href}-${columnIndex}`}\n className={[\n \"lsg-header__mega-item\",\n hasChildren ? \"lsg-header__mega-item--has-children\" : \"\",\n isSelectedAtLevel(item, activePath, columnIndex)\n ? \"lsg-header__mega-item--active\"\n : \"\",\n ]\n .filter(Boolean)\n .join(\" \")}\n onMouseEnter={() => {\n if (onMegaItemHover && hasChildren) {\n onMegaItemHover(item, columnIndex);\n }\n }}\n >\n <a\n href={item.href}\n className=\"lsg-header__mega-link\"\n >\n <span>{item.label}</span>\n {hasChildren && <LsgHeaderIcon name=\"chevronRight\" />}\n </a>\n </li>\n );\n })}\n </ul>\n ))}\n </div>\n </div>\n );\n\n const renderMobileMenu = () => (\n <div className=\"lsg-header__mobile-panel\">\n {mobileLevel > 1 && (\n <nav className=\"lsg-header__breadcrumb\" aria-label=\"Breadcrumb\">\n <button\n type=\"button\"\n className=\"lsg-header__breadcrumb-home\"\n aria-label=\"Back to top-level menu\"\n onClick={() => onMobileBreadcrumbClick?.(1)}\n >\n <LsgHeaderIcon name=\"home\" />\n </button>\n {activePath.map((label, index) => {\n const isCurrent = index === activePath.length - 1;\n const isMiddleBreadcrumb = index > 0 && !isCurrent;\n\n return (\n <React.Fragment key={`${label}-${index}`}>\n <LsgHeaderIcon name=\"chevronRight\" />\n <button\n type=\"button\"\n className={[\n isCurrent\n ? \"lsg-header__breadcrumb-current\"\n : \"lsg-header__breadcrumb-ancestor\",\n isMiddleBreadcrumb ? \"lsg-header__breadcrumb-ancestor--ellipsis\" : \"\",\n ]\n .filter(Boolean)\n .join(\" \")}\n aria-label={isMiddleBreadcrumb ? label : undefined}\n title={isMiddleBreadcrumb ? label : undefined}\n onClick={() => onMobileBreadcrumbClick?.((index + 1) as 1 | 2 | 3 | 4)}\n >\n {isMiddleBreadcrumb ? \"…\" : label}\n </button>\n </React.Fragment>\n );\n })}\n </nav>\n )}\n\n <ul className=\"lsg-header__mobile-list\" role=\"list\">\n {mobileItems.map((item, index) => {\n const hasChildren = Boolean(item.children?.length);\n const isSelected = mobileSelectedLabel\n ? item.label === mobileSelectedLabel\n : isCurrentOrActiveAtLevel(item, activePath, Math.max(0, mobileLevel - 1));\n\n return (\n <li\n key={`${item.href}-mobile-${index}`}\n className={[\n \"lsg-header__mobile-item\",\n hasChildren ? \"lsg-header__mobile-item--has-children\" : \"\",\n isSelected ? \"lsg-header__mobile-item--active\" : \"\",\n ]\n .filter(Boolean)\n .join(\" \")}\n >\n <a\n href={item.href}\n className=\"lsg-header__mobile-link\"\n onClick={(event) => {\n if (onMobileItemClick && hasChildren) {\n event.preventDefault();\n onMobileItemClick(item, Math.max(1, mobileLevel || 1));\n }\n }}\n >\n <span>{item.label}</span>\n {hasChildren && <LsgHeaderIcon name=\"chevronRight\" />}\n </a>\n </li>\n );\n })}\n </ul>\n </div>\n );\n\n return (\n <>\n <header\n ref={headerRef}\n className={[\n \"lsg-header\",\n `lsg-header--${variant}`,\n menuOpen ? \"lsg-header--menu-open\" : \"\",\n `lsg-header--mobile-level-${mobileLevel}`,\n ]\n .filter(Boolean)\n .join(\" \")}\n >\n <div className=\"lsg-header__inner\">\n <div className=\"lsg-logo-decorator\">\n <div className=\"lsg-logo\">\n <LsgLogo {...logo} />\n </div>\n </div>\n\n {variant !== \"mega\" && navItems.length > 0 && (\n <div className=\"lsg-header__nav\">\n <LsgNavigation\n items={navItems}\n variant={variant}\n onItemHover={onNavItemHover}\n />\n </div>\n )}\n\n {variant === \"mega\" && (\n <div className=\"lsg-header__desktop-menu\">{renderActions(true)}</div>\n )}\n\n {variant !== \"mega\" && (\n <div className=\"lsg-header__desktop-actions\">\n <span className=\"lsg-header__separator\" aria-hidden=\"true\">\n |\n </span>\n {renderActions(false)}\n </div>\n )}\n\n <div className=\"lsg-header__mobile-actions\">\n <HeaderActionButton\n label={searchLabel}\n icon=\"search\"\n controls={SEARCH_OVERLAY_ID}\n onClick={openSearch}\n />\n {languages.length > 0 && (\n <LsgLanguageSwitcher\n currentLanguage={currentLanguage}\n languages={languages}\n label={`Current language: ${currentLanguage}`}\n onLanguageChange={onLanguageChange}\n />\n )}\n <span className=\"lsg-header__separator\" aria-hidden=\"true\">\n |\n </span>\n <HeaderActionButton\n label={mobileOpen ? \"Close menu\" : \"Open menu\"}\n icon={mobileOpen ? \"close\" : \"bars\"}\n onClick={onMenuToggle}\n />\n </div>\n </div>\n\n {variant === \"mega\" && menuOpen && renderMegaPanel()}\n {mobileOpen && renderMobileMenu()}\n </header>\n\n <LsgSearchOverlay\n id={SEARCH_OVERLAY_ID}\n isOpen={searchOpen}\n onClose={() => setSearchOpen(false)}\n placeholder={searchPlaceholder}\n />\n </>\n );\n};\n","import React from \"react\";\nimport \"./LsgQuickLinks.scss\";\n\nexport interface LsgQuickLink {\n label: string;\n href: string;\n}\n\nexport interface LsgQuickLinksProps {\n heading?: string;\n links: LsgQuickLink[];\n}\n\nexport const LsgQuickLinks: React.FC<LsgQuickLinksProps> = ({ heading, links }) => {\n return (\n <nav className=\"lsg-quick-links\" aria-label={heading ?? \"Quick links\"}>\n {heading && <p className=\"lsg-quick-links__heading\" aria-hidden=\"true\">{heading}</p>}\n <ul className=\"lsg-quick-links__list\" role=\"list\">\n {links.map((link) => (\n <li key={link.href} className=\"lsg-quick-links__item\">\n <a href={link.href} className=\"lsg-quick-links__link\">\n {link.label}\n </a>\n </li>\n ))}\n </ul>\n </nav>\n );\n};\n","import React from \"react\";\nimport \"./LsgSocialMediaIcons.scss\";\n\nexport type LsgSocialPlatform =\n | \"linkedin\"\n | \"twitter\"\n | \"facebook\"\n | \"instagram\"\n | \"youtube\";\n\nexport interface LsgSocialItem {\n platform: LsgSocialPlatform;\n href: string;\n /** Screen-reader label, e.g. \"Atlas Copco on LinkedIn\" */\n label: string;\n}\n\nexport interface LsgSocialMediaIconsProps {\n items: LsgSocialItem[];\n}\n\nconst platformIcons: Record<LsgSocialPlatform, React.ReactElement> = {\n linkedin: (\n <svg viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" aria-hidden=\"true\" focusable=\"false\">\n <path d=\"M20.45 20.45h-3.56v-5.57c0-1.33-.03-3.04-1.85-3.04-1.86 0-2.14 1.45-2.14 2.95v5.66H9.34V9h3.41v1.56h.05c.48-.9 1.64-1.85 3.37-1.85 3.6 0 4.27 2.37 4.27 5.45v6.29zM5.34 7.43a2.07 2.07 0 1 1 0-4.14 2.07 2.07 0 0 1 0 4.14zM7.12 20.45H3.55V9h3.57v11.45z\" />\n </svg>\n ),\n twitter: (\n <svg viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" aria-hidden=\"true\" focusable=\"false\">\n <path d=\"M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z\" />\n </svg>\n ),\n facebook: (\n <svg viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" aria-hidden=\"true\" focusable=\"false\">\n <path d=\"M24 12.073C24 5.405 18.627 0 12 0S0 5.405 0 12.073C0 18.1 4.388 23.094 10.125 24v-8.437H7.078v-3.49h3.047V9.41c0-3.025 1.792-4.697 4.533-4.697 1.312 0 2.686.236 2.686.236v2.97h-1.513c-1.491 0-1.956.93-1.956 1.874v2.25h3.328l-.532 3.49h-2.796V24C19.612 23.094 24 18.1 24 12.073z\" />\n </svg>\n ),\n instagram: (\n <svg viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" aria-hidden=\"true\" focusable=\"false\">\n <path d=\"M12 2.163c3.204 0 3.584.012 4.85.07 3.252.148 4.771 1.691 4.919 4.919.058 1.265.069 1.645.069 4.849 0 3.205-.012 3.584-.069 4.849-.149 3.225-1.664 4.771-4.919 4.919-1.266.058-1.644.07-4.85.07-3.204 0-3.584-.012-4.849-.07-3.26-.149-4.771-1.699-4.919-4.92-.058-1.265-.07-1.644-.07-4.849 0-3.204.013-3.583.07-4.849.149-3.227 1.664-4.771 4.919-4.919 1.266-.057 1.645-.069 4.849-.069zM12 0C8.741 0 8.333.014 7.053.072 2.695.272.273 2.69.073 7.052.014 8.333 0 8.741 0 12c0 3.259.014 3.668.072 4.948.2 4.358 2.618 6.78 6.98 6.98C8.333 23.986 8.741 24 12 24c3.259 0 3.668-.014 4.948-.072 4.354-.2 6.782-2.618 6.979-6.98.059-1.28.073-1.689.073-4.948 0-3.259-.014-3.667-.072-4.947-.196-4.354-2.617-6.78-6.979-6.98C15.668.014 15.259 0 12 0zm0 5.838a6.162 6.162 0 1 0 0 12.324 6.162 6.162 0 0 0 0-12.324zM12 16a4 4 0 1 1 0-8 4 4 0 0 1 0 8zm6.406-11.845a1.44 1.44 0 1 0 0 2.881 1.44 1.44 0 0 0 0-2.881z\" />\n </svg>\n ),\n youtube: (\n <svg viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" aria-hidden=\"true\" focusable=\"false\">\n <path d=\"M23.498 6.186a3.016 3.016 0 0 0-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 0 0 .502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 0 0 2.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 0 0 2.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814zM9.545 15.568V8.432L15.818 12l-6.273 3.568z\" />\n </svg>\n ),\n};\n\nexport const LsgSocialMediaIcons: React.FC<LsgSocialMediaIconsProps> = ({ items }) => {\n return (\n <ul className=\"lsg-social-icons\" role=\"list\">\n {items.map((item) => (\n <li key={item.platform} className=\"lsg-social-icons__item\">\n <a\n href={item.href}\n className=\"lsg-social-icons__link\"\n aria-label={item.label}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n {platformIcons[item.platform]}\n </a>\n </li>\n ))}\n </ul>\n );\n};\n","import React from \"react\";\nimport \"./LsgFooter.scss\";\nimport { LsgLogo, LsgLogoProps } from \"../LsgLogo\";\nimport { LsgQuickLinks, LsgQuickLinksProps } from \"../LsgQuickLinks\";\nimport { LsgSocialMediaIcons, LsgSocialItem } from \"../LsgSocialMediaIcons\";\n\nexport interface LsgFooterProps {\n logo?: LsgLogoProps;\n tagline?: string;\n /** One or more quick-link groups rendered side by side */\n quickLinksGroups?: LsgQuickLinksProps[];\n socialItems?: LsgSocialItem[];\n copyright?: string;\n}\n\nexport const LsgFooter: React.FC<LsgFooterProps> = ({\n logo,\n tagline,\n quickLinksGroups = [],\n socialItems = [],\n copyright,\n}) => {\n const year = new Date().getFullYear();\n\n return (\n <footer className=\"lsg-footer\">\n <div className=\"lsg-footer__inner\">\n <div className=\"lsg-footer__brand\">\n <LsgLogo {...logo} />\n {tagline && <p className=\"lsg-footer__tagline\">{tagline}</p>}\n {socialItems.length > 0 && (\n <LsgSocialMediaIcons items={socialItems} />\n )}\n </div>\n\n {quickLinksGroups.length > 0 && (\n <div className=\"lsg-footer__nav\">\n {quickLinksGroups.map((group, i) => (\n <LsgQuickLinks key={group.heading ?? i} {...group} />\n ))}\n </div>\n )}\n </div>\n\n <div className=\"lsg-footer__bottom\">\n <p className=\"lsg-footer__copyright\">\n {copyright ?? `© ${year} Atlas Copco AB. All rights reserved.`}\n </p>\n </div>\n </footer>\n );\n};\n","import React from \"react\";\n\nimport {\n LsgBanner,\n LsgButton,\n LsgCard,\n LsgCards,\n LsgFooter,\n LsgHeader,\n LsgLanguageSwitcher,\n LsgLogo,\n LsgNavigation,\n LsgQuickLinks,\n LsgSearchOverlay,\n LsgSearchTrigger,\n LsgSocialMediaIcons,\n} from \"../components/lsg\";\n\nconst BASE_COMPONENTS = {\n LsgButton,\n LsgBanner,\n LsgCard,\n LsgCards,\n LsgLogo,\n LsgNavigation,\n LsgLanguageSwitcher,\n LsgSearchTrigger,\n LsgSearchOverlay,\n LsgHeader,\n LsgQuickLinks,\n LsgSocialMediaIcons,\n LsgFooter,\n} as const;\n\ntype BaseComponents = typeof BASE_COMPONENTS;\n\nfunction createThemeComponent<Props extends object>(\n themeName: string,\n componentName: string,\n Component: React.ComponentType<Props>,\n): React.FC<Props> {\n const WrappedComponent: React.FC<Props> = (props) => (\n <div\n className={[\n \"lsg-themed-component\",\n `lsg-themed-component--${themeName}`,\n `lsg-themed-component--${componentName}`,\n ].join(\" \")}\n >\n <Component {...props} />\n </div>\n );\n\n WrappedComponent.displayName = `${themeName}-${componentName}`;\n\n return WrappedComponent;\n}\n\nexport function createThemeComponents(themeName: string): BaseComponents {\n return {\n LsgButton: createThemeComponent(themeName, \"button\", BASE_COMPONENTS.LsgButton),\n LsgBanner: createThemeComponent(themeName, \"banner\", BASE_COMPONENTS.LsgBanner),\n LsgCard: createThemeComponent(themeName, \"card\", BASE_COMPONENTS.LsgCard),\n LsgCards: createThemeComponent(themeName, \"cards\", BASE_COMPONENTS.LsgCards),\n LsgLogo: createThemeComponent(themeName, \"logo\", BASE_COMPONENTS.LsgLogo),\n LsgNavigation: createThemeComponent(themeName, \"navigation\", BASE_COMPONENTS.LsgNavigation),\n LsgLanguageSwitcher: createThemeComponent(\n themeName,\n \"language-switcher\",\n BASE_COMPONENTS.LsgLanguageSwitcher,\n ),\n LsgSearchTrigger: createThemeComponent(\n themeName,\n \"search-trigger\",\n BASE_COMPONENTS.LsgSearchTrigger,\n ),\n LsgSearchOverlay: createThemeComponent(\n themeName,\n \"search-overlay\",\n BASE_COMPONENTS.LsgSearchOverlay,\n ),\n LsgHeader: createThemeComponent(themeName, \"header\", BASE_COMPONENTS.LsgHeader),\n LsgQuickLinks: createThemeComponent(themeName, \"quick-links\", BASE_COMPONENTS.LsgQuickLinks),\n LsgSocialMediaIcons: createThemeComponent(\n themeName,\n \"social-media-icons\",\n BASE_COMPONENTS.LsgSocialMediaIcons,\n ),\n LsgFooter: createThemeComponent(themeName, \"footer\", BASE_COMPONENTS.LsgFooter),\n };\n}","import { createThemeComponents } from \"../createThemeComponents\";\n\nexport const theme1Components = createThemeComponents(\"theme-1\");\n\nexport const {\n LsgButton: Theme1LsgButton,\n LsgBanner: Theme1LsgBanner,\n LsgCard: Theme1LsgCard,\n LsgCards: Theme1LsgCards,\n LsgLogo: Theme1LsgLogo,\n LsgNavigation: Theme1LsgNavigation,\n LsgLanguageSwitcher: Theme1LsgLanguageSwitcher,\n LsgSearchTrigger: Theme1LsgSearchTrigger,\n LsgSearchOverlay: Theme1LsgSearchOverlay,\n LsgHeader: Theme1LsgHeader,\n LsgQuickLinks: Theme1LsgQuickLinks,\n LsgSocialMediaIcons: Theme1LsgSocialMediaIcons,\n LsgFooter: Theme1LsgFooter,\n} = theme1Components;","import { createThemeComponents } from \"../createThemeComponents\";\n\nexport const theme2Components = createThemeComponents(\"theme-2\");\n\nexport const {\n LsgButton: Theme2LsgButton,\n LsgBanner: Theme2LsgBanner,\n LsgCard: Theme2LsgCard,\n LsgCards: Theme2LsgCards,\n LsgLogo: Theme2LsgLogo,\n LsgNavigation: Theme2LsgNavigation,\n LsgLanguageSwitcher: Theme2LsgLanguageSwitcher,\n LsgSearchTrigger: Theme2LsgSearchTrigger,\n LsgSearchOverlay: Theme2LsgSearchOverlay,\n LsgHeader: Theme2LsgHeader,\n LsgQuickLinks: Theme2LsgQuickLinks,\n LsgSocialMediaIcons: Theme2LsgSocialMediaIcons,\n LsgFooter: Theme2LsgFooter,\n} = theme2Components;","import { createThemeComponents } from \"../createThemeComponents\";\n\nexport const theme3Components = createThemeComponents(\"theme-3\");\n\nexport const {\n LsgButton: Theme3LsgButton,\n LsgBanner: Theme3LsgBanner,\n LsgCard: Theme3LsgCard,\n LsgCards: Theme3LsgCards,\n LsgLogo: Theme3LsgLogo,\n LsgNavigation: Theme3LsgNavigation,\n LsgLanguageSwitcher: Theme3LsgLanguageSwitcher,\n LsgSearchTrigger: Theme3LsgSearchTrigger,\n LsgSearchOverlay: Theme3LsgSearchOverlay,\n LsgHeader: Theme3LsgHeader,\n LsgQuickLinks: Theme3LsgQuickLinks,\n LsgSocialMediaIcons: Theme3LsgSocialMediaIcons,\n LsgFooter: Theme3LsgFooter,\n} = theme3Components;"],"names":["LsgButton","_a","children","variant","_c","disabled","href","onClick","_d","type","_e","className","_f","external","classNames","filter","Boolean","join","React","createElement","_extends","undefined","target","rel","LsgBanner","heading","eyebrow","copy","cta","imageUrl","_b","imageAlt","src","alt","label","LsgCard","title","description","inner","Fragment","loading","LsgCards","cards","map","card","i","key","LsgLogo","width","height","text","content","LsgNavigation","items","onItemClick","onItemHover","renderItems","navItems","level","role","item","hasChildren","length","concat","open","onMouseEnter","event","preventDefault","current","viewBox","focusable","d","LSG_ICON_PATHS","bars","chevronLeft","chevronRight","close","globe","home","search","LsgIcon","name","xmlns","ChevronIcon","fill","stroke","strokeWidth","strokeLinecap","strokeLinejoin","points","LsgLanguageSwitcher","currentLanguage","languages","onLanguageChange","useState","isOpen","setIsOpen","containerRef","useRef","reactId","useId","triggerId","dropdownId","useEffect","handleClick","e","contains","document","addEventListener","removeEventListener","handleKey","ref","id","prev","lang","code","SearchIcon","cx","cy","r","x1","y1","x2","y2","LsgSearchTrigger","targetId","CloseIcon","LsgSearchOverlay","placeholder","onClose","onSearch","inputRef","inputId","focus","handleSubmit","query","value","trim","overlayClass","style","position","inset","cursor","onSubmit","htmlFor","autoComplete","SEARCH_OVERLAY_ID","LsgHeaderIcon","getItemByPath","activePath","depth","currentItems","currentItem","find","getItemsAtLevel","getMegaColumns","maxDepth","columns","slice","forEach","activeItem","push","isCurrentOrActiveAtLevel","isSelectedAtLevel","hasOpenNavItem","some","HeaderActionButton","icon","controls","LsgHeader","logo","searchLabel","searchPlaceholder","_g","_h","menuOpen","_j","mobileLevel","_k","mobileSelectedLabel","onMenuToggle","onNavItemHover","onDropdownClose","onMegaItemHover","onMobileItemClick","onMobileBreadcrumbClick","_l","searchOpen","setSearchOpen","headerRef","mobileOpen","mobileItems","dropdownOpen","closeOnOutsidePointerDown","openSearch","renderActions","showMenu","renderMegaPanel","columnItems","columnIndex","renderMobileMenu","index","isCurrent","isMiddleBreadcrumb","isSelected","Math","max","LsgQuickLinks","links","link","platformIcons","linkedin","twitter","facebook","instagram","youtube","LsgSocialMediaIcons","platform","LsgFooter","tagline","quickLinksGroups","socialItems","copyright","year","Date","getFullYear","group","BASE_COMPONENTS","createThemeComponent","themeName","componentName","Component","WrappedComponent","props","displayName","createThemeComponents","theme1Components","Theme1LsgButton","Theme1LsgBanner","Theme1LsgCard","Theme1LsgCards","Theme1LsgLogo","Theme1LsgNavigation","Theme1LsgLanguageSwitcher","Theme1LsgSearchTrigger","Theme1LsgSearchOverlay","Theme1LsgHeader","Theme1LsgQuickLinks","Theme1LsgSocialMediaIcons","Theme1LsgFooter","theme2Components","Theme2LsgButton","Theme2LsgBanner","Theme2LsgCard","Theme2LsgCards","Theme2LsgLogo","Theme2LsgNavigation","Theme2LsgLanguageSwitcher","Theme2LsgSearchTrigger","Theme2LsgSearchOverlay","Theme2LsgHeader","Theme2LsgQuickLinks","Theme2LsgSocialMediaIcons","Theme2LsgFooter","theme3Components","Theme3LsgButton","Theme3LsgBanner","Theme3LsgCard","Theme3LsgCards","Theme3LsgLogo","Theme3LsgNavigation","Theme3LsgLanguageSwitcher","Theme3LsgSearchTrigger","Theme3LsgSearchOverlay","Theme3LsgHeader","Theme3LsgQuickLinks","Theme3LsgSocialMediaIcons","Theme3LsgFooter"],"mappings":"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"}
|
package/dist/index.esm.scss
CHANGED
|
@@ -418,6 +418,14 @@
|
|
|
418
418
|
visibility: hidden;
|
|
419
419
|
}
|
|
420
420
|
.lsg-nav--dropdown .lsg-nav__dropdown::before {
|
|
421
|
+
content: "";
|
|
422
|
+
position: absolute;
|
|
423
|
+
top: -9px;
|
|
424
|
+
left: 0;
|
|
425
|
+
width: 100%;
|
|
426
|
+
height: 9px;
|
|
427
|
+
}
|
|
428
|
+
.lsg-nav--dropdown .lsg-nav__dropdown::after {
|
|
421
429
|
content: "";
|
|
422
430
|
position: absolute;
|
|
423
431
|
top: -9px;
|
|
@@ -2006,6 +2014,14 @@
|
|
|
2006
2014
|
visibility: hidden;
|
|
2007
2015
|
}
|
|
2008
2016
|
.lsg-nav--dropdown .lsg-nav__dropdown::before {
|
|
2017
|
+
content: "";
|
|
2018
|
+
position: absolute;
|
|
2019
|
+
top: -9px;
|
|
2020
|
+
left: 0;
|
|
2021
|
+
width: 100%;
|
|
2022
|
+
height: 9px;
|
|
2023
|
+
}
|
|
2024
|
+
.lsg-nav--dropdown .lsg-nav__dropdown::after {
|
|
2009
2025
|
content: "";
|
|
2010
2026
|
position: absolute;
|
|
2011
2027
|
top: -9px;
|