@ilo-org/react 0.20.0 → 0.21.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (76) hide show
  1. package/lib/cjs/_store/{Breadcrumb-chunk-BGt10GMr.js → Breadcrumb-chunk-DkUvpxym.js} +1 -1
  2. package/lib/cjs/_store/{Breadcrumb-entry-BcWOPogy.js → Breadcrumb-entry-PID5wRYn.js} +1 -1
  3. package/lib/cjs/_store/CardGroup-chunk-C_EtI9iK.js +1 -0
  4. package/lib/cjs/_store/{Cards-entry-Ckiqvv1d.js → Cards-entry-C_9kqjEx.js} +1 -1
  5. package/lib/cjs/_store/ContextMenu-chunk-Dl3-wUCt.js +1 -0
  6. package/lib/cjs/_store/{ContextMenu-entry-UwZc4yU3.js → ContextMenu-entry-Bzzoi_xM.js} +1 -1
  7. package/lib/cjs/_store/{Hero-chunk-CBIMDQWO.js → Hero-chunk-B3vu8ihD.js} +1 -1
  8. package/lib/cjs/_store/{Hero-entry-CeEUu88o.js → Hero-entry-CAssbp0C.js} +1 -1
  9. package/lib/cjs/_store/LanguageToggle-chunk-CrtaBUlW.js +1 -0
  10. package/lib/cjs/_store/{LanguageToggle-entry-ALUfRa_V.js → LanguageToggle-entry-CHgP8iuU.js} +1 -1
  11. package/lib/cjs/_store/Nav-entry-BxYm9ulI.js +1 -0
  12. package/lib/cjs/_store/SubsiteNav-chunk-BphCnfvs.js +1 -0
  13. package/lib/cjs/_store/components-entry-BU_6L6id.js +1 -0
  14. package/lib/cjs/_store/index.js +1 -1
  15. package/lib/cjs/_store/useBreakpoint-chunk-CBEGGRKj.js +1 -0
  16. package/lib/cjs/index.js +1 -1
  17. package/lib/esm/_store/{Breadcrumb-chunk-DcsXzPvT.js → Breadcrumb-chunk-DcupgWDR.js} +1 -1
  18. package/lib/esm/_store/Breadcrumb-entry-1SOUCUgD.js +4 -0
  19. package/lib/esm/_store/CardGroup-chunk-BykGdrCT.js +425 -0
  20. package/lib/esm/_store/{Cards-entry-DOWpgXsU.js → Cards-entry-DjtBPvwt.js} +1 -1
  21. package/lib/esm/_store/ContextMenu-chunk-D-riZIFp.js +32 -0
  22. package/lib/esm/_store/ContextMenu-entry-BN-vEJes.js +4 -0
  23. package/lib/esm/_store/{Hero-chunk-CZ6kSiY-.js → Hero-chunk-C1gFHcIP.js} +1 -1
  24. package/lib/esm/_store/Hero-entry-DWpRL6uz.js +4 -0
  25. package/lib/esm/_store/LanguageToggle-chunk-CsayoJqR.js +70 -0
  26. package/lib/esm/_store/LanguageToggle-entry-D3t_X2Qk.js +4 -0
  27. package/lib/esm/_store/Nav-entry-CsQzrNK7.js +4 -0
  28. package/lib/esm/_store/SubsiteNav-chunk-C97AqH9F.js +549 -0
  29. package/lib/esm/_store/{components-entry-C4N0L4xP.js → components-entry-COAKlxYx.js} +28 -28
  30. package/lib/esm/_store/index.js +4 -2
  31. package/lib/esm/_store/useBreakpoint-chunk-DBZTYUx9.js +54 -0
  32. package/lib/esm/index.js +42 -40
  33. package/lib/styles/components/languagetoggle.css +1 -1
  34. package/lib/styles/components/video.css +1 -1
  35. package/lib/styles/global.css +1 -1
  36. package/lib/styles/global.css.map +1 -1
  37. package/lib/styles/index.css +2 -2
  38. package/lib/styles/index.css.map +1 -1
  39. package/lib/styles/monorepo.css +2 -2
  40. package/lib/styles/monorepo.css.map +1 -1
  41. package/lib/types/components/ContextMenu/ContextMenu.d.ts +4 -0
  42. package/lib/types/components/LanguageToggle/LanguageToggle.d.ts +2 -20
  43. package/lib/types/components/Nav/Navigation.props.d.ts +112 -0
  44. package/lib/types/components/Nav/NavigationDropdown.d.ts +19 -0
  45. package/lib/types/components/Nav/NavigationLink.d.ts +4 -0
  46. package/lib/types/components/Nav/NavigationMenu.d.ts +13 -0
  47. package/lib/types/components/Nav/NavigationMenuGrid.d.ts +7 -0
  48. package/lib/types/components/Nav/Subsite/CompactNav.d.ts +4 -0
  49. package/lib/types/components/Nav/Subsite/ComplexNav.d.ts +4 -0
  50. package/lib/types/components/Nav/Subsite/SubsiteNav.d.ts +4 -0
  51. package/lib/types/components/Nav/index.d.ts +2 -0
  52. package/lib/types/components/Nav/mobile/MobileDrawer.d.ts +27 -0
  53. package/lib/types/components/Nav/mobile/MobileLanguageList.d.ts +9 -0
  54. package/lib/types/components/Nav/mobile/MobileMenuList.d.ts +8 -0
  55. package/lib/types/components/Nav/mobile/MobileNavigation.d.ts +15 -0
  56. package/lib/types/components/Nav/useNavSetup.d.ts +22 -0
  57. package/lib/types/components/index.d.ts +1 -1
  58. package/lib/types/hooks/index.d.ts +1 -0
  59. package/lib/types/hooks/useBreakpoint.d.ts +7 -0
  60. package/package.json +7 -6
  61. package/lib/cjs/_store/CardGroup-chunk-D3sPRsTS.js +0 -1
  62. package/lib/cjs/_store/ContextMenu-chunk-Ch5u_T0d.js +0 -1
  63. package/lib/cjs/_store/LanguageToggle-chunk-DsJntngZ.js +0 -1
  64. package/lib/cjs/_store/LocalNav-entry-SfLDP8BS.js +0 -1
  65. package/lib/cjs/_store/components-entry-Buq0cts7.js +0 -1
  66. package/lib/esm/_store/Breadcrumb-entry-B7kN28qm.js +0 -4
  67. package/lib/esm/_store/CardGroup-chunk-DCTJOxvx.js +0 -425
  68. package/lib/esm/_store/ContextMenu-chunk-Zy9igFLz.js +0 -30
  69. package/lib/esm/_store/ContextMenu-entry-C_rAD9kF.js +0 -4
  70. package/lib/esm/_store/Hero-entry-DILGWuC0.js +0 -4
  71. package/lib/esm/_store/LanguageToggle-chunk-BxzhPBjU.js +0 -62
  72. package/lib/esm/_store/LanguageToggle-entry-COfb1a3N.js +0 -4
  73. package/lib/esm/_store/LocalNav-entry-DydB3k67.js +0 -4
  74. package/lib/types/components/LocalNav/LocalNav.d.ts +0 -5
  75. package/lib/types/components/LocalNav/LocalNav.props.d.ts +0 -38
  76. package/lib/types/components/LocalNav/index.d.ts +0 -1
@@ -22,6 +22,10 @@ export type ContextMenuProps = {
22
22
  * Specify the links to be displayed in the Context Menu
23
23
  */
24
24
  links: Array<LinkProps>;
25
+ /**
26
+ * Specify whether the Context Menu should be rendered in a portal
27
+ */
28
+ withPortal?: boolean;
25
29
  };
26
30
  declare const ContextMenu: import('react').ForwardRefExoticComponent<ContextMenuProps & import('react').RefAttributes<HTMLOListElement>>;
27
31
  export { ContextMenu };
@@ -2,7 +2,7 @@ import { HTMLAttributes } from 'react';
2
2
  import { ThemeTypes } from '../../types';
3
3
  import { ContextMenuProps } from '../ContextMenu';
4
4
 
5
- export type LanguageToggleProps = HTMLAttributes<HTMLDivElement> & {
5
+ export type LanguageToggleProps = {
6
6
  /**
7
7
  * The language string to display
8
8
  */
@@ -21,23 +21,5 @@ export type LanguageToggleProps = HTMLAttributes<HTMLDivElement> & {
21
21
  options?: ContextMenuProps["links"];
22
22
  className?: string;
23
23
  };
24
- declare const LanguageToggle: import('react').ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & {
25
- /**
26
- * The language string to display
27
- */
28
- language: string;
29
- /**
30
- * Specify an optional className to be added to your LanguageToggle component.
31
- */
32
- theme?: ThemeTypes | undefined;
33
- /**
34
- * Hide the glob icon
35
- */
36
- hideIcon?: boolean | undefined;
37
- /**
38
- * Specify the languages to be displayed in the Context Menu
39
- */
40
- options?: import('../ContextMenu').LinkProps[] | undefined;
41
- className?: string | undefined;
42
- } & import('react').RefAttributes<HTMLDivElement>>;
24
+ declare const LanguageToggle: import('react').ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & LanguageToggleProps & import('react').RefAttributes<HTMLDivElement>>;
43
25
  export { LanguageToggle };
@@ -0,0 +1,112 @@
1
+ import { ElementType, ReactNode } from 'react';
2
+ import { LanguageToggleProps } from '../LanguageToggle';
3
+
4
+ export interface NavigationLinkProps {
5
+ href?: string;
6
+ target?: string;
7
+ className?: string;
8
+ label: ReactNode;
9
+ isActive?: boolean;
10
+ /**
11
+ * The component to render the link
12
+ */
13
+ component?: ElementType;
14
+ }
15
+ export interface SubsiteNavCoreProps {
16
+ branding: {
17
+ /**
18
+ * The branding to display in the SubsiteNav like a primary logo
19
+ */
20
+ logo: {
21
+ main: ReactNode;
22
+ /**
23
+ * The logo to display in the drawer
24
+ */
25
+ drawer?: ReactNode;
26
+ };
27
+ /**
28
+ * The site or product name
29
+ */
30
+ name: string;
31
+ /**
32
+ * The handler to call when the branding is clicked
33
+ */
34
+ onClick?: () => void;
35
+ };
36
+ /**
37
+ * The menu configuration
38
+ */
39
+ menu: {
40
+ /**
41
+ * The navigation items to display
42
+ */
43
+ items: NavigationLinkProps[];
44
+ labels: {
45
+ /**
46
+ * The label to display for the more button
47
+ */
48
+ more?: string;
49
+ /**
50
+ * The label to display for the back to menu button
51
+ */
52
+ backToMenu?: string;
53
+ };
54
+ };
55
+ /**
56
+ * The widgets to display in the SubsiteNav
57
+ */
58
+ widgets?: {
59
+ /**
60
+ * The link inside the widget bar
61
+ */
62
+ link?: NavigationLinkProps;
63
+ /**
64
+ * The language toggler pros
65
+ */
66
+ language?: LanguageToggleProps & {
67
+ /**
68
+ * The label to display for the language toggle, used for mobile
69
+ */
70
+ label: string;
71
+ };
72
+ /**
73
+ * The search bar props
74
+ */
75
+ search?: {
76
+ type: "redirect";
77
+ url: string;
78
+ /**
79
+ * The label to display for the search bar
80
+ */
81
+ label?: string;
82
+ };
83
+ };
84
+ }
85
+ export interface CompactNavProps {
86
+ /**
87
+ * The type of SubsiteNav to render
88
+ */
89
+ type?: "compact";
90
+ props: SubsiteNavCoreProps;
91
+ }
92
+ export interface ComplexNavProps {
93
+ /**
94
+ * The type of SubsiteNav to render
95
+ */
96
+ type?: "complex";
97
+ props: SubsiteNavCoreProps & {
98
+ branding: {
99
+ logo: SubsiteNavCoreProps["branding"]["logo"] & {
100
+ /**
101
+ * The logo to display for the mobile screens
102
+ */
103
+ mobile?: ReactNode;
104
+ };
105
+ tag?: {
106
+ main: string;
107
+ sub?: string;
108
+ };
109
+ };
110
+ };
111
+ }
112
+ export type SubsiteNavProps = CompactNavProps | ComplexNavProps;
@@ -0,0 +1,19 @@
1
+ import { RefObject } from 'react';
2
+
3
+ type NavigationDropdownProps = {
4
+ /**
5
+ * Whether the dropdown is open
6
+ */
7
+ isOpen: boolean;
8
+ /**
9
+ * The ref to the navigation element
10
+ */
11
+ navRef: RefObject<HTMLElement>;
12
+ className?: string;
13
+ /**
14
+ * The children to render in the dropdown
15
+ */
16
+ children?: React.ReactNode;
17
+ };
18
+ declare const NavigationDropdown: import('react').MemoExoticComponent<({ isOpen, className, navRef, children, }: NavigationDropdownProps) => import('react').ReactPortal>;
19
+ export { NavigationDropdown };
@@ -0,0 +1,4 @@
1
+ import { NavigationLinkProps } from './Navigation.props';
2
+
3
+ declare const NavigationLink: (props: NavigationLinkProps) => import("react/jsx-runtime").JSX.Element;
4
+ export { NavigationLink };
@@ -0,0 +1,13 @@
1
+ import { NavigationLinkProps } from './Navigation.props';
2
+
3
+ type NavigationMenuProps = {
4
+ className?: string;
5
+ menu: NavigationLinkProps[];
6
+ more?: {
7
+ label?: string;
8
+ onClick: () => void;
9
+ isOpen: boolean;
10
+ };
11
+ };
12
+ declare const NavigationMenu: ({ className, menu, more }: NavigationMenuProps) => import("react/jsx-runtime").JSX.Element;
13
+ export { NavigationMenu };
@@ -0,0 +1,7 @@
1
+ import { NavigationLinkProps } from './Navigation.props';
2
+
3
+ type NavigationMenuGridProps = {
4
+ menu: NavigationLinkProps[];
5
+ };
6
+ declare const NavigationMenuGrid: ({ menu }: NavigationMenuGridProps) => import("react/jsx-runtime").JSX.Element;
7
+ export { NavigationMenuGrid };
@@ -0,0 +1,4 @@
1
+ import { CompactNavProps } from '../Navigation.props';
2
+
3
+ declare const CompactNav: import('react').ForwardRefExoticComponent<CompactNavProps & import('react').RefAttributes<HTMLElement>>;
4
+ export { CompactNav };
@@ -0,0 +1,4 @@
1
+ import { ComplexNavProps } from '../Navigation.props';
2
+
3
+ declare const ComplexNav: import('react').ForwardRefExoticComponent<ComplexNavProps & import('react').RefAttributes<HTMLElement>>;
4
+ export { ComplexNav };
@@ -0,0 +1,4 @@
1
+ import { SubsiteNavProps } from '../Navigation.props';
2
+
3
+ declare const SubsiteNav: import('react').ForwardRefExoticComponent<SubsiteNavProps & import('react').RefAttributes<HTMLElement>>;
4
+ export { SubsiteNav };
@@ -0,0 +1,2 @@
1
+ export * from './Subsite/SubsiteNav';
2
+ export type { CompactNavProps, ComplexNavProps, SubsiteNavProps, } from './Navigation.props';
@@ -0,0 +1,27 @@
1
+ import { ReactNode } from 'react';
2
+
3
+ type MobileDrawerProps = {
4
+ /**
5
+ * Whether the drawer is open or not
6
+ */
7
+ isOpen: boolean;
8
+ /**
9
+ * The handler to call when the drawer is closed
10
+ */
11
+ onClose?: () => void;
12
+ /**
13
+ * The Header part of the drawer
14
+ */
15
+ header: ReactNode;
16
+ /**
17
+ * The Widgets part of the drawer
18
+ */
19
+ widgets: ReactNode;
20
+ /**
21
+ * The Main content
22
+ */
23
+ children: ReactNode;
24
+ className?: string;
25
+ };
26
+ declare const MobileDrawer: ({ isOpen, onClose, header, widgets, children, className, }: MobileDrawerProps) => import('react').ReactPortal;
27
+ export { MobileDrawer };
@@ -0,0 +1,9 @@
1
+ import { HTMLAttributes } from 'react';
2
+ import { LanguageToggleProps } from '../../LanguageToggle';
3
+
4
+ type MobileLanguageListProps = {
5
+ options: LanguageToggleProps["options"];
6
+ selected: string;
7
+ };
8
+ declare const MobileLanguageList: ({ options, selected, }: HTMLAttributes<HTMLUListElement> & MobileLanguageListProps) => import("react/jsx-runtime").JSX.Element;
9
+ export { MobileLanguageList };
@@ -0,0 +1,8 @@
1
+ import { HTMLAttributes } from 'react';
2
+ import { NavigationLinkProps } from '../Navigation.props';
3
+
4
+ type MobileMenuListProps = {
5
+ menu: NavigationLinkProps[];
6
+ };
7
+ declare const MobileMenuList: ({ menu, }: HTMLAttributes<HTMLUListElement> & MobileMenuListProps) => import("react/jsx-runtime").JSX.Element;
8
+ export { MobileMenuList };
@@ -0,0 +1,15 @@
1
+ import { SubsiteNavCoreProps } from '../Navigation.props';
2
+
3
+ type MobileNavigationProps = {
4
+ /**
5
+ * Whether the navigation is open or not
6
+ */
7
+ isOpen: boolean;
8
+ /**
9
+ * The handler to call when the navigation is clicked
10
+ */
11
+ onClose?: () => void;
12
+ navigationProps: Omit<SubsiteNavCoreProps, "type">;
13
+ };
14
+ declare const MobileNavigation: ({ isOpen, navigationProps: { branding, menu: { items, labels }, widgets, }, onClose, }: MobileNavigationProps) => import("react/jsx-runtime").JSX.Element;
15
+ export { MobileNavigation };
@@ -0,0 +1,22 @@
1
+ import { Dispatch, RefObject, SetStateAction } from 'react';
2
+ import { NavigationLinkProps } from './Navigation.props';
3
+
4
+ interface UseNavSetupArgs {
5
+ menu: NavigationLinkProps[];
6
+ split: {
7
+ desktop: number;
8
+ mobile: number;
9
+ };
10
+ }
11
+ interface UseNavSetupResponse {
12
+ menu: {
13
+ facade: NavigationLinkProps[];
14
+ more: NavigationLinkProps[];
15
+ };
16
+ more: [boolean, Dispatch<SetStateAction<boolean>>];
17
+ mobile: [boolean, Dispatch<SetStateAction<boolean>>];
18
+ ref: RefObject<HTMLElement>;
19
+ isDesktop: boolean;
20
+ }
21
+ declare function useNavSetup({ menu, split }: UseNavSetupArgs): UseNavSetupResponse;
22
+ export { useNavSetup };
@@ -35,10 +35,10 @@ export { List } from './List';
35
35
  export { Profile } from './Profile';
36
36
  export { TableOfContents } from './TableOfContents';
37
37
  export { Footer } from './Footer';
38
- export { LocalNav } from './LocalNav';
39
38
  export { Navigation } from './Navigation';
40
39
  export { CardGroup } from './Cards/CardGroup';
41
40
  export { Breadcrumb } from './Breadcrumb';
42
41
  export { Tabs } from './Tabs';
43
42
  export * from './Cards';
44
43
  export * from './LanguageToggle';
44
+ export * from './Nav';
@@ -1,2 +1,3 @@
1
1
  export { default as useGlobalSettings } from './useGlobalSettings';
2
2
  export { default as usePrevious } from './usePrevious';
3
+ export { default as useBreakpoint } from './useBreakpoint';
@@ -0,0 +1,7 @@
1
+ declare const useBreakpoint: (defaultBreakpoint?: string | undefined) => {
2
+ readonly breakpoint: null;
3
+ readonly minWidth: null;
4
+ readonly maxWidth: null;
5
+ readonly query: null;
6
+ } | import('use-breakpoint').Breakpoint<Readonly<Record<string, number>>>;
7
+ export default useBreakpoint;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ilo-org/react",
3
- "version": "0.20.0",
3
+ "version": "0.21.0",
4
4
  "description": "React components for the ILO's Design System",
5
5
  "keywords": [
6
6
  "ui_patterns",
@@ -69,14 +69,15 @@
69
69
  "dom-helpers": "^5.2.1",
70
70
  "nanoid": "^3.3.6",
71
71
  "react-transition-group": "^4.4.1",
72
+ "use-breakpoint": "^4.0.6",
72
73
  "video.js": "^7.21.2",
73
74
  "videojs-youtube": "^3.0.1",
74
- "@ilo-org/brand-assets": "1.0.0",
75
75
  "@ilo-org/fonts": "1.0.0",
76
76
  "@ilo-org/icons-react": "1.0.3",
77
- "@ilo-org/styles": "1.4.0",
78
77
  "@ilo-org/themes": "0.9.1",
79
- "@ilo-org/utils": "0.1.1"
78
+ "@ilo-org/utils": "0.1.1",
79
+ "@ilo-org/styles": "1.5.0",
80
+ "@ilo-org/brand-assets": "1.0.0"
80
81
  },
81
82
  "devDependencies": {
82
83
  "@storybook/addon-actions": "^8.1.9",
@@ -112,8 +113,8 @@
112
113
  "vite-plugin-static-copy": "^1.0.6",
113
114
  "vitest": "^2.0.5",
114
115
  "@ilo-org/eslint-config": "2.0.0",
115
- "@ilo-org/prettier-config": "2.0.0",
116
- "@ilo-org/typescript-config": "2.0.0"
116
+ "@ilo-org/typescript-config": "2.0.0",
117
+ "@ilo-org/prettier-config": "2.0.0"
117
118
  },
118
119
  "peerDependencies": {
119
120
  "react": "18 || 19",
@@ -1 +0,0 @@
1
- "use strict";const s=require("react/jsx-runtime"),j=require("react"),h=require("./index-chunk-DCI82Tmm.js"),N=require("./useGlobalSettings-chunk-Pa38w6VS.js"),u=require("./Button-chunk-D32W9ElW.js"),C=require("./Link-chunk-BfaKuVjz.js"),b=require("./LinkList-chunk-Eu43ZSAZ.js"),q=require("./Profile-chunk-D1tXXPUO.js"),f=require("./List-entry-DzqbzyL4.js"),w=j.forwardRef(({className:x,title:r,theme:n="light",size:a="standard",color:m,intro:i,source:$,titleLevel:o="p"},e)=>{const{prefix:p}=N.useGlobalSettings(),t=`${p}--card`,d=h.classnames(`${t}--wrapper`,x),l=h.classnames(t,`${t}__type__stat`,{[`${t}__size__${String(a)}`]:a,[`${t}__theme__${n}`]:n,[`${t}__color__${m}`]:m});return s.jsx("div",{className:d,ref:e,children:s.jsx("div",{className:l,children:s.jsx("div",{className:`${t}--wrap`,children:s.jsxs("div",{className:`${t}--content`,children:[s.jsx(o,{className:`${t}--title`,children:r}),i&&s.jsx("p",{className:`${t}--intro`,children:i}),$&&s.jsx(C.Link,{className:`${t}--source`,url:$.url,label:$.label})]})})})})}),g=j.forwardRef(({className:x,title:r,size:n="standard",alignment:a,intro:m,link:i,linklist:$,image:o,titleLevel:e="p",eyebrow:p,isVideo:t,theme:d="light"},l)=>{const{prefix:_}=N.useGlobalSettings(),c=`${_}--card`,v=h.classnames(c,x,`${c}__type__multilink`,{[`${c}__align__${a}`]:a,[`${c}__action`]:i,[`${c}__size__${n}`]:n,[`${c}__isvideo`]:t,[`${c}--no-image`]:!o,[`${c}__theme__${d}`]:d});return s.jsxs("div",{className:v,ref:l,children:[i&&s.jsx("a",{className:`${c}--link`,href:i,title:r,children:s.jsx("span",{className:`${c}--link--text`,children:r})}),s.jsxs("div",{className:`${c}--wrap`,children:[o&&s.jsx("div",{className:`${c}--image--wrapper`,children:s.jsx("picture",{children:s.jsx("img",{src:o,alt:r,className:`${c}--picture`})})}),s.jsxs("div",{className:`${c}--content`,children:[p&&s.jsx("p",{className:`${c}--eyebrow`,children:p}),s.jsx(e,{className:`${c}--title`,children:r}),o&&s.jsx("div",{className:`${c}--image--wrapper`,children:s.jsx("picture",{children:s.jsx("img",{src:o,alt:r,className:`${c}--picture`})})}),m&&s.jsx("p",{className:`${c}--intro`,children:m}),$&&s.jsx(b.LinkList,{...$})]})]})]})}),k=j.forwardRef(({className:x,title:r,theme:n="light",size:a="narrow",date:m,profile:i,link:$,titleLevel:o="p",eyebrow:e},p)=>{const{prefix:t}=N.useGlobalSettings(),d=`${t}--card`,l=h.classnames(`${d}--wrapper`,x),_=h.classnames(d,`${d}__type__text`,{[`${d}__action`]:$,[`${d}__size__${String(a)}`]:a,[`${d}__theme__${n}`]:n});return s.jsx("div",{className:l,ref:p,children:s.jsxs("div",{className:_,children:[s.jsx("a",{className:`${d}--link`,href:$,title:r,children:s.jsx("span",{className:`${d}--link--text`,children:r})}),s.jsx("div",{className:`${d}--wrap`,children:s.jsxs("div",{className:`${d}--content`,children:[e&&s.jsx("p",{className:`${d}--eyebrow`,children:e}),s.jsx(o,{className:`${d}--title`,children:r}),m&&s.jsx("time",{className:`${d}--date`,dateTime:m.unix,children:m.human}),i&&s.jsx(q.Profile,{avatar:i.avatar,description:i.description,link:i.link,name:i.name,role:i.role,theme:n})]})})]})})}),y=j.forwardRef(({className:x,title:r,theme:n="light",size:a="narrow",cornercut:m,intro:i,link:$,cta:o,titleLevel:e="p",eyebrow:p},t)=>{const{prefix:d}=N.useGlobalSettings(),l=`${d}--card`,_=h.classnames(`${l}--wrapper`,x,`${l}--wrapper__type__promo`,`${l}--wrapper__type__promo__size__${a}`),c=h.classnames(l,`${l}__type__promo`,{[`${l}__action`]:$,[`${l}__size__${String(a)}`]:a,[`${l}__theme__${n}`]:n,[`${l}__cornercut`]:m});return s.jsx("div",{className:_,ref:t,children:s.jsxs("div",{className:c,children:[s.jsx("a",{className:`${l}--link`,href:$,title:r,children:s.jsx("span",{className:`${l}--link--text`,children:r})}),s.jsx("div",{className:`${l}--wrap`,children:s.jsxs("div",{className:`${l}--content`,children:[p&&s.jsx("p",{className:`${l}--eyebrow`,children:p}),s.jsx(e,{className:`${l}--title`,children:r}),i&&s.jsx("p",{className:`${l}--intro`,children:i}),(o==null?void 0:o.label)&&s.jsx("div",{className:`${l}--cta`,children:s.jsx(u.Button,{link:{url:o.url,label:o.label},size:"medium",type:"primary"})})]})})]})})}),L=j.forwardRef(({className:x,title:r,theme:n="light",size:a="narrow",date:m,link:i,linklist:$,image:o,titleLevel:e="p",eyebrow:p,isVideo:t},d)=>{const{prefix:l}=N.useGlobalSettings(),_=`${l}--card`,c=h.classnames(_,x,`${_}__type__feature`,{[`${_}__action`]:i,[`${_}__size__${String(a)}`]:a,[`${_}__theme__${n}`]:n,[`${_}__isvideo`]:t,[`${_}__linklist`]:$});return s.jsxs("div",{className:c,ref:d,children:[i&&s.jsx("a",{className:`${_}--link`,href:i,title:r,children:s.jsx("span",{className:`${_}--link--text`,children:r})}),s.jsxs("div",{className:`${_}--wrap`,children:[o&&s.jsx("div",{className:`${_}--image--wrapper`,children:s.jsx("picture",{children:s.jsx("img",{src:o,alt:r,className:`${_}--picture`})})}),s.jsxs("div",{className:`${_}--content`,children:[p&&s.jsx("p",{className:`${_}--eyebrow`,children:p}),s.jsx(e,{className:`${_}--title`,children:r}),m&&s.jsx("time",{className:`${_}--date`,dateTime:m.unix,children:m.human}),$&&s.jsx(b.LinkList,{headline:$.headline,linkgroup:$.linkgroup,theme:n})]})]})]})}),S=j.forwardRef(({className:x,title:r,theme:n="light",size:a="narrow",date:m,details:i,link:$,titleLevel:o="p",eyebrow:e,intro:p,image:t,isVideo:d=!1},l)=>{const{prefix:_}=N.useGlobalSettings(),c=`${_}--card`,v=h.classnames(c,`${c}__type__detail`,x,{[`${c}__action`]:$,[`${c}__size__${String(a)}`]:a,[`${c}__theme__${n}`]:n,[`${c}__isvideo`]:d});return s.jsxs("div",{className:v,ref:l,children:[$&&s.jsx("a",{className:`${c}--link`,href:$,title:r,children:s.jsx("span",{className:`${c}--link--text`,children:r})}),s.jsxs("div",{className:`${c}--wrap`,children:[t&&s.jsx("div",{className:`${c}--image--wrapper`,children:s.jsx("picture",{children:s.jsx("img",{className:`${c}--picture`,src:t,alt:r})})}),s.jsxs("div",{className:`${c}--content`,children:[e&&s.jsx("p",{className:`${c}--eyebrow`,children:e}),r&&s.jsx(o,{className:`${c}--title`,children:r}),p&&s.jsx("p",{className:`${c}--intro`,children:p}),m&&s.jsx("time",{className:`${c}--date`,dateTime:m.unix,children:m.human}),i&&s.jsx("p",{className:`${c}--date-extra`,children:i})]})]})]})}),G=j.forwardRef(({title:x,theme:r="light",size:n="narrow",list:a,titleLevel:m="p",className:i},$)=>{const{prefix:o}=N.useGlobalSettings(),e=`${o}--card`,p=h.classnames(e,`${e}__type__factlist`,i,{[`${e}__size__${n}`]:n,[`${e}__theme__${r}`]:r});return s.jsx("div",{className:p,ref:$,children:s.jsx("div",{className:`${e}--wrap`,children:s.jsxs("div",{className:`${e}--content`,children:[x&&s.jsx(m,{className:`${o}--card--title`,children:x}),s.jsx(f.List,{alignment:"default",ordered:"unordered",theme:r,children:a.map(t=>s.jsx(f.List.Item,{children:s.jsx("p",{children:t})},t))})]})})})}),R=j.forwardRef(({eyebrow:x,size:r="narrow",image:n,dataset:a,columns:m="one",className:i},$)=>{var d;const{prefix:o}=N.useGlobalSettings(),e=`${o}--card`,p=h.classnames(e,`${e}__type__data`,i,{[`${e}__size__${String(r)}`]:r,[`${e}__type__data__columns__${m}`]:m}),t=h.classnames(`${e}--content`,{[`${e}--content__with-image`]:n,[`${e}--content__no-image-with-links`]:!n&&(a==null?void 0:a.links),[`${e}--content__default`]:!n&&!(a!=null&&a.links)});return s.jsx("div",{className:p,ref:$,children:s.jsxs("div",{className:`${e}--wrap`,children:[!n&&x&&s.jsx("div",{className:`${e}--eyebrow`,children:x}),s.jsxs("div",{className:t,children:[n&&s.jsxs("div",{className:`${e}--area--image`,children:[x&&s.jsx("div",{className:`${e}--eyebrow`,children:x}),s.jsx("div",{className:`${e}--image`,children:s.jsx("picture",{children:s.jsx("img",{className:`${e}--picture`,src:n,alt:x})})})]}),(d=a==null?void 0:a.content)==null?void 0:d.items.map((l,_)=>s.jsxs("div",{className:`${e}--area--content`,children:[s.jsx("p",{className:`${e}__type__data--content-label`,children:l.label}),s.jsx("p",{className:`${e}__type__data--content-copy`,children:l.copy})]},_)),(a==null?void 0:a.files)&&s.jsx("div",{className:`${e}--area--files`,children:s.jsxs("div",{className:`${e}__type__data--content-files`,children:[s.jsx("p",{className:`${e}__type__data--content-label`,children:a.files.headline}),a.files.items.map((l,_)=>s.jsx(u.Button,{link:{url:l.url,label:l.label,target:l.target||"_self"},size:"small"},_))]})}),(a==null?void 0:a.cta)&&s.jsx("div",{className:`${e}--area--cta`,children:s.jsxs("div",{className:`${e}__type__data--content-cta`,children:[s.jsx("p",{className:`${e}__type__data--content-label`,children:a.cta.headline}),a.cta.items.map(l=>s.jsx(u.Button,{type:"secondary",size:"small",link:{url:l.url,label:l.label,target:l.target}},l.label))]})}),(a==null?void 0:a.links)&&s.jsx("div",{className:`${e}--area--links`,children:s.jsxs("div",{className:`${e}__type__data--content-links`,children:[s.jsx("p",{className:`${e}__type__data--content-label`,children:a.links.headline}),s.jsx("div",{className:`${e}__type__data--content-links-list`,children:a.links.items.map(l=>s.jsx(j.Fragment,{children:s.jsx(C.Link,{url:l.url,label:l.label,className:`${e}__type__data--content-link`})},l.label+l.url))})]})})]})]})})}),B={stat:w,multilink:g,text:k,promo:y,feature:L,detail:S,factlist:G,data:R},F=j.forwardRef(({type:x,group:r,cardCount:n="one",cta:a,collapsed:m=!1},i)=>{const $=B[x],{prefix:o}=N.useGlobalSettings(),e=`${o}--cardgroup`,p=h.classnames(e,`${e}__count__${n}`,{[`${e}__collapsed`]:m});return s.jsxs("div",{className:p,ref:i,children:[s.jsx("div",{className:`${e}--inner`,children:r.map((t,d)=>s.jsx($,{...t},d))}),a&&s.jsx("div",{className:`${e}--button-wrap`,children:s.jsx(u.Button,{link:{url:a.url,label:a.label},type:"secondary",size:"medium"})})]})});exports.CardGroup=F;exports.DataCard=R;exports.DetailCard=S;exports.FactListCard=G;exports.FeatureCard=L;exports.MultiLinkCard=g;exports.PromoCard=y;exports.StatCard=w;exports.TextCard=k;
@@ -1 +0,0 @@
1
- "use strict";const n=require("react/jsx-runtime"),r=require("react"),t=require("./index-chunk-DCI82Tmm.js"),o=require("./useGlobalSettings-chunk-Pa38w6VS.js"),u=r.forwardRef(({className:a,links:c},l)=>{const{prefix:s}=o.useGlobalSettings();return n.jsx("ol",{className:t.classnames(`${s}--context-menu`,a),ref:l,children:c.map(e=>n.jsx("li",{className:t.classnames(`${s}--context-menu--item`,{endsection:e.endsection,className:e.className}),children:n.jsx("a",{href:e.url,className:`${s}--context-menu--link`,children:n.jsx("span",{className:`${s}--context-menu--label`,children:e.label})})},`${e.label}-${e.url}`))})});exports.ContextMenu=u;
@@ -1 +0,0 @@
1
- "use strict";const n=require("react/jsx-runtime"),c=require("react"),p=require("./useGlobalSettings-chunk-Pa38w6VS.js"),l=require("./index-chunk-DCI82Tmm.js"),C=require("./ContextMenu-chunk-Ch5u_T0d.js"),h=c.forwardRef(({className:f,language:g,theme:d="light",hideIcon:x,options:a,...m},$)=>{const{prefix:R}=p.useGlobalSettings(),[r,i]=c.useState(!0),u=c.useRef(null),t=c.useRef(null),e=`${R}--language-toggle`;return c.useLayoutEffect(()=>{function s(o){!t.current||!u.current||!t.current.contains(o.target)&&!u.current.contains(o.target)&&i(!1)}return document.addEventListener("mousedown",s),()=>{document.removeEventListener("mousedown",s)}}),c.useLayoutEffect(()=>{if(!(!u.current||!t.current)&&r){const s=u.current.getBoundingClientRect(),o=t.current.getBoundingClientRect();t.current.style.left=`${s.left+(s.width-o.width)/2}px`,t.current.style.top=`${s.bottom}px`}},[r]),n.jsxs("div",{ref:$,className:l.classnames(e,f,`${e}--${d}`,{[`${e}--open`]:r}),...m,children:[n.jsxs("button",{className:`${e}--container`,ref:u,onClick:()=>{i(!r)},children:[!x&&n.jsx("span",{className:`${e}--icon`}),n.jsx("span",{className:`${e}--action`,children:g}),n.jsx("span",{className:`${e}--arrow`})]}),a&&n.jsx("div",{className:l.classnames(`${e}--context-menu`,{[`${e}--context-menu__open`]:r}),ref:t,children:n.jsx(C.ContextMenu,{links:a})})]})});exports.LanguageToggle=h;
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=()=>null,t=o;exports.LocalNav=t;
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("./Accordion-entry-C81QOLKD.js"),o=require("./Form-chunk-DjDwz7DV.js"),i=require("./Collapse-chunk-B3s_Bzzq.js"),t=require("./Empty-chunk-BEqHK-KC.js"),a=require("./Image-chunk-lJKSkHDC.js"),n=require("./Loading-chunk-C9rx8cqr.js"),c=require("./Radio-chunk-LFOxcvur.js"),d=require("./Tag-chunk-DUz8ZjA1.js"),u=require("./Button-chunk-D32W9ElW.js"),l=require("./ContextMenu-chunk-Ch5u_T0d.js"),s=require("./Fieldset-chunk-C3itoJam.js"),q=require("./GlobalProvider-chunk-Bt1vmswv.js"),C=require("./Notification-chunk-Cby6Dnh1.js"),g=require("./ReadMore-chunk-BQvY4016.js"),L=require("./Textarea-chunk-B13VaFl6.js"),b=require("./Callout-chunk-CQirdJVX.js"),T=require("./Credit-chunk-Dts5RkwZ.js"),p=require("./FileUpload-chunk-BhGfPLEt.js"),F=require("./Heading-chunk-BJAywWmF.js"),m=require("./Link-chunk-BfaKuVjz.js"),x=require("./NumberPicker-chunk-CjEYQYj0.js"),P=require("./RichText-chunk-ZamwF4QL.js"),k=require("./Tooltip-chunk-Ca67o441.js"),f=require("./Checkbox-chunk-CfN7137m.js"),D=require("./DatePicker-chunk-7_96tPkC.js"),N=require("./Hero-chunk-CBIMDQWO.js"),h=require("./HeroCard-chunk-Cdyuf9Gw.js"),H=require("./LinkList-chunk-Eu43ZSAZ.js"),M=require("./Pagination-chunk-4zp3hOFL.js"),R=require("./SearchField-chunk-uIkdwz2L.js"),v=require("./Video-chunk-BIJvoxjg.js"),S=require("./Dropdown-chunk-Bn-MFT6c.js"),B=require("./Icon-chunk-Dej6jVSI.js"),G=require("./List-entry-DzqbzyL4.js"),I=require("./Profile-chunk-D1tXXPUO.js"),y=require("./TableOfContents-chunk-DcLMEr2i.js"),O=require("./Footer-chunk-6AdazgST.js"),w=require("./LocalNav-entry-SfLDP8BS.js"),E=require("./Navigation-entry-C6dI5Dpf.js"),e=require("./CardGroup-chunk-D3sPRsTS.js"),U=require("./Breadcrumb-chunk-BGt10GMr.js"),V=require("./Tabs-chunk-C2PIPQgI.js"),$=require("./LanguageToggle-chunk-DsJntngZ.js");exports.Accordion=r.Accordion;exports.Form=o.Form;exports.Collapse=i.Collapse;exports.Empty=t.Empty;exports.Image=a.Image;exports.Loading=n.Loading;exports.Radio=c.LabelledRadio;exports.Tag=d.Tag;exports.Button=u.Button;exports.ContextMenu=l.ContextMenu;exports.Fieldset=s.Fieldset;exports.GlobalProvider=q.GlobalProvider;exports.Notification=C.Notification;exports.ReadMore=g.ReadMore;exports.Textarea=L.LabelledTextarea;exports.Callout=b.Callout;exports.Credit=T.Credit;exports.FileUpload=p.LabelledFileUpload;exports.Heading=F.Heading;exports.Link=m.Link;exports.NumberPicker=x.LabelledNumberPicker;exports.RichText=P.RichText;exports.Tooltip=k.Tooltip;exports.Checkbox=f.LabelledCheckbox;exports.DatePicker=D.LabelledDatePicker;exports.Hero=N.Hero;exports.HeroCard=h.HeroCard;exports.LinkList=H.LinkList;exports.Pagination=M.Pagination;exports.SearchField=R.SearchField;exports.Video=v.Video;exports.Dropdown=S.LabelledDropdown;exports.Icon=B.Icon;exports.List=G.List;exports.Profile=I.Profile;exports.TableOfContents=y.TableOfContents;exports.Footer=O.Footer;exports.LocalNav=w.LocalNav;exports.Navigation=E.Navigation;exports.CardGroup=e.CardGroup;exports.DataCard=e.DataCard;exports.DetailCard=e.DetailCard;exports.FactListCard=e.FactListCard;exports.FeatureCard=e.FeatureCard;exports.MultiLinkCard=e.MultiLinkCard;exports.PromoCard=e.PromoCard;exports.StatCard=e.StatCard;exports.TextCard=e.TextCard;exports.Breadcrumb=U.Breadcrumb;exports.Tabs=V.Tabs;exports.LanguageToggle=$.LanguageToggle;
@@ -1,4 +0,0 @@
1
- import { B as e } from "./Breadcrumb-chunk-DcsXzPvT.js";
2
- export {
3
- e as Breadcrumb
4
- };