@frontify/fondue-components 20.0.0-beta.8 → 20.0.0-rc.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.
@@ -1,59 +1,60 @@
1
- import { jsx as t, jsxs as g } from "react/jsx-runtime";
1
+ import { jsx as o, jsxs as f } from "react/jsx-runtime";
2
2
  import * as e from "@radix-ui/react-tooltip";
3
- import { forwardRef as s } from "react";
3
+ import { forwardRef as n } from "react";
4
4
  import { cn as u } from "./fondue-components40.js";
5
5
  import { useFondueTheme as h, ThemeProvider as y } from "./fondue-components33.js";
6
6
  import d from "./fondue-components87.js";
7
- const l = ({ children: o, enterDelay: r = 700, open: i, onOpenChange: a, ...n }) => /* @__PURE__ */ t(e.Provider, { children: /* @__PURE__ */ t(e.Root, { delayDuration: r, open: i, onOpenChange: a, ...n, children: o }) });
8
- l.displayName = "Tooltip.Root";
9
- const p = ({ asChild: o = !1, children: r, "data-test-id": i = "fondue-tooltip-trigger" }, a) => /* @__PURE__ */ t(
7
+ const s = ({ children: t, enterDelay: r = 700, open: i, onOpenChange: a }) => /* @__PURE__ */ o(e.Provider, { children: /* @__PURE__ */ o(e.Root, { delayDuration: r, open: i, onOpenChange: a, children: t }) });
8
+ s.displayName = "Tooltip.Root";
9
+ const l = ({ asChild: t = !1, children: r, "data-test-id": i = "fondue-tooltip-trigger" }, a) => /* @__PURE__ */ o(
10
10
  e.Trigger,
11
11
  {
12
+ "data-tooltip-trigger": !0,
12
13
  "data-test-id": i,
13
- type: o ? void 0 : "button",
14
- asChild: o,
14
+ type: t ? void 0 : "button",
15
+ asChild: t,
15
16
  ref: a,
16
17
  children: r
17
18
  }
18
19
  );
19
- p.displayName = "Tooltip.Trigger";
20
- const m = ({
21
- children: o,
20
+ l.displayName = "Tooltip.Trigger";
21
+ const p = ({
22
+ children: t,
22
23
  className: r,
23
24
  maxWidth: i,
24
25
  "data-test-id": a = "fondue-tooltip-content",
25
- padding: n = "spacious",
26
- ...c
27
- }, T) => {
28
- const f = h();
29
- return /* @__PURE__ */ t(e.Portal, { children: /* @__PURE__ */ t(y, { theme: f, children: /* @__PURE__ */ g(
26
+ padding: m = "spacious",
27
+ side: c
28
+ }, g) => {
29
+ const T = h();
30
+ return /* @__PURE__ */ o(e.Portal, { children: /* @__PURE__ */ o(y, { theme: T, children: /* @__PURE__ */ f(
30
31
  e.Content,
31
32
  {
32
33
  "data-test-id": a,
33
- "data-tooltip-spacing": n,
34
+ "data-tooltip-spacing": m,
34
35
  className: u(d.root, r),
35
36
  style: { maxWidth: i },
36
37
  collisionPadding: 16,
37
38
  sideOffset: 8,
38
- ref: T,
39
- ...c,
39
+ ref: g,
40
+ side: c,
40
41
  children: [
41
- o,
42
- /* @__PURE__ */ t(e.Arrow, { "aria-hidden": "true", className: d.arrow })
42
+ t,
43
+ /* @__PURE__ */ o(e.Arrow, { "aria-hidden": "true", className: d.arrow })
43
44
  ]
44
45
  }
45
46
  ) }) });
46
47
  };
47
- m.displayName = "Tooltip.Content";
48
+ p.displayName = "Tooltip.Content";
48
49
  const w = {
49
- Root: l,
50
- Trigger: s(p),
51
- Content: s(m)
50
+ Root: s,
51
+ Trigger: n(l),
52
+ Content: n(p)
52
53
  };
53
54
  export {
54
55
  w as Tooltip,
55
- m as TooltipContent,
56
- l as TooltipRoot,
57
- p as TooltipTrigger
56
+ p as TooltipContent,
57
+ s as TooltipRoot,
58
+ l as TooltipTrigger
58
59
  };
59
60
  //# sourceMappingURL=fondue-components34.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fondue-components34.js","sources":["../src/components/Tooltip/Tooltip.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport * as RadixTooltip from '@radix-ui/react-tooltip';\nimport { forwardRef, type ForwardedRef, type ReactElement, type ReactNode } from 'react';\n\nimport { cn } from '#/utilities/styleUtilities';\n\nimport { ThemeProvider, useFondueTheme } from '../ThemeProvider/ThemeProvider';\n\nimport styles from './styles/tooltip.module.scss';\n\nexport type TooltipRootProps = {\n /**\n * Sets the open state of the tooltip.\n */\n open?: boolean;\n /**\n * Callback that is called when the open state of the tooltip changes.\n */\n onOpenChange?: (open: boolean) => void;\n /**\n * The delay in milliseconds before the tooltip appears.\n * @default 700\n */\n enterDelay?: number;\n children: Array<ReactElement<TooltipTriggerProps | TooltipContentProps>>;\n};\n\nexport const TooltipRoot = ({ children, enterDelay = 700, open, onOpenChange, ...props }: TooltipRootProps) => {\n return (\n <RadixTooltip.Provider>\n <RadixTooltip.Root delayDuration={enterDelay} open={open} onOpenChange={onOpenChange} {...props}>\n {children}\n </RadixTooltip.Root>\n </RadixTooltip.Provider>\n );\n};\nTooltipRoot.displayName = 'Tooltip.Root';\n\nexport type TooltipTriggerProps = {\n /**\n * Change the default rendered element for the one passed as a child, merging their props and behavior.\n * @default false\n */\n asChild?: boolean;\n children: ReactNode;\n 'data-test-id'?: string;\n};\n\nexport const TooltipTrigger = (\n { asChild = false, children, 'data-test-id': dataTestId = 'fondue-tooltip-trigger' }: TooltipTriggerProps,\n ref: ForwardedRef<HTMLButtonElement>,\n) => {\n return (\n <RadixTooltip.Trigger\n data-test-id={dataTestId}\n type={!asChild ? 'button' : undefined}\n asChild={asChild}\n ref={ref}\n >\n {children}\n </RadixTooltip.Trigger>\n );\n};\nTooltipTrigger.displayName = 'Tooltip.Trigger';\n\nexport type TooltipContentProps = {\n /**\n * @default \"spacious\"\n */\n padding?: 'spacious' | 'compact';\n /**\n * Defines the preferred side of the tooltip. It will not be respected if there are collisions with the viewport.\n */\n side?: 'top' | 'right' | 'bottom' | 'left';\n maxWidth?: string;\n className?: string;\n children: ReactNode;\n 'data-test-id'?: string;\n};\n\nexport const TooltipContent = (\n {\n children,\n className,\n maxWidth,\n 'data-test-id': dataTestId = 'fondue-tooltip-content',\n padding = 'spacious',\n ...props\n }: TooltipContentProps,\n ref: ForwardedRef<HTMLDivElement>,\n) => {\n const theme = useFondueTheme();\n return (\n <RadixTooltip.Portal>\n <ThemeProvider theme={theme}>\n <RadixTooltip.Content\n data-test-id={dataTestId}\n data-tooltip-spacing={padding}\n className={cn(styles.root, className)}\n style={{ maxWidth }}\n collisionPadding={16}\n sideOffset={8}\n ref={ref}\n {...props}\n >\n {children}\n <RadixTooltip.Arrow aria-hidden=\"true\" className={styles.arrow} />\n </RadixTooltip.Content>\n </ThemeProvider>\n </RadixTooltip.Portal>\n );\n};\nTooltipContent.displayName = 'Tooltip.Content';\n\nexport const Tooltip = {\n Root: TooltipRoot,\n Trigger: forwardRef<HTMLButtonElement, TooltipTriggerProps>(TooltipTrigger),\n Content: forwardRef<HTMLDivElement, TooltipContentProps>(TooltipContent),\n};\n"],"names":["TooltipRoot","children","enterDelay","open","onOpenChange","props","jsx","RadixTooltip","TooltipTrigger","asChild","dataTestId","ref","TooltipContent","className","maxWidth","padding","theme","useFondueTheme","ThemeProvider","jsxs","cn","styles","Tooltip","forwardRef"],"mappings":";;;;;;AA4BO,MAAMA,IAAc,CAAC,EAAE,UAAAC,GAAU,YAAAC,IAAa,KAAK,MAAAC,GAAM,cAAAC,GAAc,GAAGC,QAEzE,gBAAAC,EAACC,EAAa,UAAb,EACG,4BAACA,EAAa,MAAb,EAAkB,eAAeL,GAAY,MAAAC,GAAY,cAAAC,GAA6B,GAAGC,GACrF,UAAAJ,GACL,GACJ;AAGRD,EAAY,cAAc;AAYnB,MAAMQ,IAAiB,CAC1B,EAAE,SAAAC,IAAU,IAAO,UAAAR,GAAU,gBAAgBS,IAAa,yBAAA,GAC1DC,MAGI,gBAAAL;AAAA,EAACC,EAAa;AAAA,EAAb;AAAA,IACG,gBAAcG;AAAA,IACd,MAAOD,IAAqB,SAAX;AAAA,IACjB,SAAAA;AAAA,IACA,KAAAE;AAAA,IAEC,UAAAV;AAAA,EAAA;AAAA;AAIbO,EAAe,cAAc;AAiBtB,MAAMI,IAAiB,CAC1B;AAAA,EACI,UAAAX;AAAA,EACA,WAAAY;AAAA,EACA,UAAAC;AAAA,EACA,gBAAgBJ,IAAa;AAAA,EAC7B,SAAAK,IAAU;AAAA,EACV,GAAGV;AACP,GACAM,MACC;AACD,QAAMK,IAAQC,EAAA;AACd,2BACKV,EAAa,QAAb,EACG,UAAA,gBAAAD,EAACY,KAAc,OAAAF,GACX,UAAA,gBAAAG;AAAA,IAACZ,EAAa;AAAA,IAAb;AAAA,MACG,gBAAcG;AAAA,MACd,wBAAsBK;AAAA,MACtB,WAAWK,EAAGC,EAAO,MAAMR,CAAS;AAAA,MACpC,OAAO,EAAE,UAAAC,EAAA;AAAA,MACT,kBAAkB;AAAA,MAClB,YAAY;AAAA,MACZ,KAAAH;AAAA,MACC,GAAGN;AAAA,MAEH,UAAA;AAAA,QAAAJ;AAAA,QACD,gBAAAK,EAACC,EAAa,OAAb,EAAmB,eAAY,QAAO,WAAWc,EAAO,MAAA,CAAO;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA,GAExE,EAAA,CACJ;AAER;AACAT,EAAe,cAAc;AAEtB,MAAMU,IAAU;AAAA,EACnB,MAAMtB;AAAA,EACN,SAASuB,EAAmDf,CAAc;AAAA,EAC1E,SAASe,EAAgDX,CAAc;AAC3E;"}
1
+ {"version":3,"file":"fondue-components34.js","sources":["../src/components/Tooltip/Tooltip.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport * as RadixTooltip from '@radix-ui/react-tooltip';\nimport { forwardRef, type ForwardedRef, type ReactElement, type ReactNode } from 'react';\n\nimport { cn } from '#/utilities/styleUtilities';\n\nimport { ThemeProvider, useFondueTheme } from '../ThemeProvider/ThemeProvider';\n\nimport styles from './styles/tooltip.module.scss';\n\nexport type TooltipRootProps = {\n /**\n * Sets the open state of the tooltip.\n */\n open?: boolean;\n /**\n * Callback that is called when the open state of the tooltip changes.\n */\n onOpenChange?: (open: boolean) => void;\n /**\n * The delay in milliseconds before the tooltip appears.\n * @default 700\n */\n enterDelay?: number;\n children: Array<ReactElement<TooltipTriggerProps | TooltipContentProps>>;\n};\n\nexport const TooltipRoot = ({ children, enterDelay = 700, open, onOpenChange }: TooltipRootProps) => {\n return (\n <RadixTooltip.Provider>\n <RadixTooltip.Root delayDuration={enterDelay} open={open} onOpenChange={onOpenChange}>\n {children}\n </RadixTooltip.Root>\n </RadixTooltip.Provider>\n );\n};\nTooltipRoot.displayName = 'Tooltip.Root';\n\nexport type TooltipTriggerProps = {\n /**\n * Change the default rendered element for the one passed as a child, merging their props and behavior.\n * @default false\n */\n asChild?: boolean;\n children: ReactNode;\n 'data-test-id'?: string;\n};\n\nexport const TooltipTrigger = (\n { asChild = false, children, 'data-test-id': dataTestId = 'fondue-tooltip-trigger' }: TooltipTriggerProps,\n ref: ForwardedRef<HTMLButtonElement>,\n) => {\n return (\n <RadixTooltip.Trigger\n data-tooltip-trigger\n data-test-id={dataTestId}\n type={!asChild ? 'button' : undefined}\n asChild={asChild}\n ref={ref}\n >\n {children}\n </RadixTooltip.Trigger>\n );\n};\nTooltipTrigger.displayName = 'Tooltip.Trigger';\n\nexport type TooltipContentProps = {\n /**\n * @default \"spacious\"\n */\n padding?: 'spacious' | 'compact';\n /**\n * Defines the preferred side of the tooltip. It will not be respected if there are collisions with the viewport.\n */\n side?: 'top' | 'right' | 'bottom' | 'left';\n maxWidth?: string;\n className?: string;\n children: ReactNode;\n 'data-test-id'?: string;\n};\n\nexport const TooltipContent = (\n {\n children,\n className,\n maxWidth,\n 'data-test-id': dataTestId = 'fondue-tooltip-content',\n padding = 'spacious',\n side,\n }: TooltipContentProps,\n ref: ForwardedRef<HTMLDivElement>,\n) => {\n const theme = useFondueTheme();\n return (\n <RadixTooltip.Portal>\n <ThemeProvider theme={theme}>\n <RadixTooltip.Content\n data-test-id={dataTestId}\n data-tooltip-spacing={padding}\n className={cn(styles.root, className)}\n style={{ maxWidth }}\n collisionPadding={16}\n sideOffset={8}\n ref={ref}\n side={side}\n >\n {children}\n <RadixTooltip.Arrow aria-hidden=\"true\" className={styles.arrow} />\n </RadixTooltip.Content>\n </ThemeProvider>\n </RadixTooltip.Portal>\n );\n};\nTooltipContent.displayName = 'Tooltip.Content';\n\nexport const Tooltip = {\n Root: TooltipRoot,\n Trigger: forwardRef<HTMLButtonElement, TooltipTriggerProps>(TooltipTrigger),\n Content: forwardRef<HTMLDivElement, TooltipContentProps>(TooltipContent),\n};\n"],"names":["TooltipRoot","children","enterDelay","open","onOpenChange","jsx","RadixTooltip","TooltipTrigger","asChild","dataTestId","ref","TooltipContent","className","maxWidth","padding","side","theme","useFondueTheme","ThemeProvider","jsxs","cn","styles","Tooltip","forwardRef"],"mappings":";;;;;;AA4BO,MAAMA,IAAc,CAAC,EAAE,UAAAC,GAAU,YAAAC,IAAa,KAAK,MAAAC,GAAM,cAAAC,QAExD,gBAAAC,EAACC,EAAa,UAAb,EACG,UAAA,gBAAAD,EAACC,EAAa,MAAb,EAAkB,eAAeJ,GAAY,MAAAC,GAAY,cAAAC,GACrD,UAAAH,GACL,GACJ;AAGRD,EAAY,cAAc;AAYnB,MAAMO,IAAiB,CAC1B,EAAE,SAAAC,IAAU,IAAO,UAAAP,GAAU,gBAAgBQ,IAAa,yBAAA,GAC1DC,MAGI,gBAAAL;AAAA,EAACC,EAAa;AAAA,EAAb;AAAA,IACG,wBAAoB;AAAA,IACpB,gBAAcG;AAAA,IACd,MAAOD,IAAqB,SAAX;AAAA,IACjB,SAAAA;AAAA,IACA,KAAAE;AAAA,IAEC,UAAAT;AAAA,EAAA;AAAA;AAIbM,EAAe,cAAc;AAiBtB,MAAMI,IAAiB,CAC1B;AAAA,EACI,UAAAV;AAAA,EACA,WAAAW;AAAA,EACA,UAAAC;AAAA,EACA,gBAAgBJ,IAAa;AAAA,EAC7B,SAAAK,IAAU;AAAA,EACV,MAAAC;AACJ,GACAL,MACC;AACD,QAAMM,IAAQC,EAAA;AACd,2BACKX,EAAa,QAAb,EACG,UAAA,gBAAAD,EAACa,KAAc,OAAAF,GACX,UAAA,gBAAAG;AAAA,IAACb,EAAa;AAAA,IAAb;AAAA,MACG,gBAAcG;AAAA,MACd,wBAAsBK;AAAA,MACtB,WAAWM,EAAGC,EAAO,MAAMT,CAAS;AAAA,MACpC,OAAO,EAAE,UAAAC,EAAA;AAAA,MACT,kBAAkB;AAAA,MAClB,YAAY;AAAA,MACZ,KAAAH;AAAA,MACA,MAAAK;AAAA,MAEC,UAAA;AAAA,QAAAd;AAAA,QACD,gBAAAI,EAACC,EAAa,OAAb,EAAmB,eAAY,QAAO,WAAWe,EAAO,MAAA,CAAO;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA,GAExE,EAAA,CACJ;AAER;AACAV,EAAe,cAAc;AAEtB,MAAMW,IAAU;AAAA,EACnB,MAAMtB;AAAA,EACN,SAASuB,EAAmDhB,CAAc;AAAA,EAC1E,SAASgB,EAAgDZ,CAAc;AAC3E;"}
@@ -1,4 +1,4 @@
1
- import { FOCUS_OUTLINE as e } from "./fondue-components91.js";
1
+ import { FOCUS_OUTLINE as e } from "./fondue-components93.js";
2
2
  import { sv as a } from "./fondue-components40.js";
3
3
  const s = a({
4
4
  base: `tw-group tw-relative tw-flex tw-flex-row tw-gap-2 tw-items-center tw-justify-center tw-cursor-pointer tw-font-primary tw-font-medium tw-box-border tw-whitespace-nowrap tw-transition-colors ${e}`,
@@ -1,4 +1,4 @@
1
- import { FOCUS_OUTLINE as t } from "./fondue-components91.js";
1
+ import { FOCUS_OUTLINE as t } from "./fondue-components93.js";
2
2
  import { sv as e } from "./fondue-components40.js";
3
3
  const r = e({
4
4
  base: `tw-peer tw-relative tw-inline-flex tw-bg-surface tw-text-white tw-shrink-0 tw-rounded-medium tw-border tw-border-line-strong group-hover:tw-border-line-strong hover:tw-border-line-strong tw-transition-colors data-[state="checked"]:tw-border-transparent data-[state="indeterminate"]:tw-border-transparent disabled:tw-border-line-strong disabled:tw-bg-surface disabled:tw-cursor-not-allowed data-[state="checked"]:disabled:tw-bg-disabled data-[readonly="true"]:tw-pointer-events-none ${t}`,
@@ -1,14 +1,14 @@
1
- const t = "_root_11usl_3", e = "_contentArea_11usl_71", o = "_hiddenText_11usl_76", s = "_visibleText_11usl_82", n = {
1
+ const t = "_root_12b82_3", e = "_contentArea_12b82_71", o = "_hiddenText_12b82_76", n = "_visibleText_12b82_82", _ = {
2
2
  root: t,
3
3
  contentArea: e,
4
4
  hiddenText: o,
5
- visibleText: s
5
+ visibleText: n
6
6
  };
7
7
  export {
8
8
  e as contentArea,
9
- n as default,
9
+ _ as default,
10
10
  o as hiddenText,
11
11
  t as root,
12
- s as visibleText
12
+ n as visibleText
13
13
  };
14
14
  //# sourceMappingURL=fondue-components61.js.map
@@ -4,7 +4,7 @@ import { Slot as V } from "@radix-ui/react-slot";
4
4
  import { isValidElement as g } from "react";
5
5
  import { useFondueTheme as A, ThemeProvider as D } from "./fondue-components33.js";
6
6
  import s from "./fondue-components73.js";
7
- import { recursiveMap as M, getSelectOptionValue as T } from "./fondue-components92.js";
7
+ import { recursiveMap as M, getSelectOptionValue as T } from "./fondue-components91.js";
8
8
  const E = ({
9
9
  highlightedIndex: p,
10
10
  getMenuProps: c,
@@ -1,40 +1,40 @@
1
- const e = "_root_s0awe_7", c = "_selectedValue_s0awe_57", o = "_input_s0awe_75", s = "_slot_s0awe_101", _ = "_clear_s0awe_153", t = "_clearIcon_s0awe_160", a = "_icons_s0awe_164", n = "_caret_s0awe_170", r = "_iconSuccess_s0awe_198", l = "_iconError_s0awe_204", u = "_menu_s0awe_210", i = "_portal_s0awe_233", w = "_item_s0awe_249", p = "_checkmarkIcon_s0awe_277", m = "_itemValue_s0awe_283", g = "_group_s0awe_297", d = "_groupHeading_s0awe_308", k = {
2
- root: e,
3
- selectedValue: c,
4
- input: o,
5
- slot: s,
6
- clear: _,
7
- clearIcon: t,
8
- icons: a,
9
- caret: n,
10
- iconSuccess: r,
11
- iconError: l,
12
- menu: u,
13
- portal: i,
14
- item: w,
15
- checkmarkIcon: p,
16
- itemValue: m,
17
- group: g,
18
- groupHeading: d
1
+ const c = "_root_1m7fk_7", o = "_selectedValue_1m7fk_57", _ = "_input_1m7fk_75", e = "_slot_1m7fk_101", t = "_clear_1m7fk_153", n = "_clearIcon_1m7fk_160", s = "_icons_1m7fk_164", r = "_caret_1m7fk_170", m = "_iconSuccess_1m7fk_198", a = "_iconError_1m7fk_204", k = "_menu_1m7fk_210", l = "_portal_1m7fk_233", u = "_item_1m7fk_249", i = "_checkmarkIcon_1m7fk_277", f = "_itemValue_1m7fk_283", p = "_group_1m7fk_297", g = "_groupHeading_1m7fk_308", d = {
2
+ root: c,
3
+ selectedValue: o,
4
+ input: _,
5
+ slot: e,
6
+ clear: t,
7
+ clearIcon: n,
8
+ icons: s,
9
+ caret: r,
10
+ iconSuccess: m,
11
+ iconError: a,
12
+ menu: k,
13
+ portal: l,
14
+ item: u,
15
+ checkmarkIcon: i,
16
+ itemValue: f,
17
+ group: p,
18
+ groupHeading: g
19
19
  };
20
20
  export {
21
- n as caret,
22
- p as checkmarkIcon,
23
- _ as clear,
24
- t as clearIcon,
25
- k as default,
26
- g as group,
27
- d as groupHeading,
28
- l as iconError,
29
- r as iconSuccess,
30
- a as icons,
31
- o as input,
32
- w as item,
33
- m as itemValue,
34
- u as menu,
35
- i as portal,
36
- e as root,
37
- c as selectedValue,
38
- s as slot
21
+ r as caret,
22
+ i as checkmarkIcon,
23
+ t as clear,
24
+ n as clearIcon,
25
+ d as default,
26
+ p as group,
27
+ g as groupHeading,
28
+ a as iconError,
29
+ m as iconSuccess,
30
+ s as icons,
31
+ _ as input,
32
+ u as item,
33
+ f as itemValue,
34
+ k as menu,
35
+ l as portal,
36
+ c as root,
37
+ o as selectedValue,
38
+ e as slot
39
39
  };
40
40
  //# sourceMappingURL=fondue-components73.js.map
@@ -1,9 +1,9 @@
1
1
  import { jsx as E } from "react/jsx-runtime";
2
2
  import { useState as S, useMemo as b, Children as v, isValidElement as C, cloneElement as w, useCallback as B, useEffect as x } from "react";
3
- import { SelectClear as F } from "./fondue-components93.js";
3
+ import { SelectClear as F } from "./fondue-components92.js";
4
4
  import { ForwardedRefSelectItem as L } from "./fondue-components70.js";
5
5
  import { ForwardedRefSelectSlot as y } from "./fondue-components72.js";
6
- import { getSelectOptionValue as I } from "./fondue-components92.js";
6
+ import { getSelectOptionValue as I } from "./fondue-components91.js";
7
7
  const O = (n, s) => {
8
8
  const [e, r] = S(!1), [m, i] = S(null), [l, f] = S({
9
9
  menuComponents: [],
@@ -1,18 +1,18 @@
1
- const t = "_root_eq7n5_5", r = "_triggerListWrapper_eq7n5_13", e = "_trigger_eq7n5_13", n = "_activeIndicator_eq7n5_61", i = "_triggerList_eq7n5_13", o = "_content_eq7n5_149", g = {
1
+ const t = "_root_1ra7u_5", r = "_triggerListWrapper_1ra7u_13", e = "_trigger_1ra7u_13", i = "_activeIndicator_1ra7u_61", o = "_triggerList_1ra7u_13", g = "_content_1ra7u_149", _ = {
2
2
  root: t,
3
3
  triggerListWrapper: r,
4
4
  trigger: e,
5
- activeIndicator: n,
6
- triggerList: i,
7
- content: o
5
+ activeIndicator: i,
6
+ triggerList: o,
7
+ content: g
8
8
  };
9
9
  export {
10
- n as activeIndicator,
11
- o as content,
12
- g as default,
10
+ i as activeIndicator,
11
+ g as content,
12
+ _ as default,
13
13
  t as root,
14
14
  e as trigger,
15
- i as triggerList,
15
+ o as triggerList,
16
16
  r as triggerListWrapper
17
17
  };
18
18
  //# sourceMappingURL=fondue-components82.js.map
@@ -1,58 +1,56 @@
1
- import { jsx as o, jsxs as P } from "react/jsx-runtime";
2
- import { IconCross as j } from "@frontify/fondue-icons";
1
+ import { jsx as o, jsxs as O } from "react/jsx-runtime";
2
+ import { IconCross as P } from "@frontify/fondue-icons";
3
3
  import * as d from "@radix-ui/react-dialog";
4
- import { createContext as q, forwardRef as l, useRef as B, useContext as z, useMemo as E } from "react";
5
- import { useSyncRefs as L } from "./fondue-components50.js";
6
- import { addShowFocusRing as $, addAutoFocusAttribute as k } from "./fondue-components51.js";
7
- import { useFondueTheme as G, ThemeProvider as I } from "./fondue-components33.js";
8
- import r from "./fondue-components52.js";
9
- const m = q({ isModal: !1 });
4
+ import { createContext as j, forwardRef as l, useRef as q, useContext as B, useMemo as z } from "react";
5
+ import { useSyncRefs as E } from "./fondue-components50.js";
6
+ import { addShowFocusRing as L, addAutoFocusAttribute as $ } from "./fondue-components51.js";
7
+ import { useFondueTheme as k, ThemeProvider as G } from "./fondue-components33.js";
8
+ import n from "./fondue-components52.js";
9
+ const m = j({ isModal: !1 });
10
10
  m.displayName = "DialogContext";
11
- const y = ({ children: t, ...e }) => {
12
- const a = E(() => ({ isModal: e.modal ?? !1 }), [e.modal]);
13
- return /* @__PURE__ */ o(m.Provider, { value: a, children: /* @__PURE__ */ o(d.Root, { ...e, children: t }) });
11
+ const y = ({ children: t, modal: e, onOpenChange: a, open: i }) => {
12
+ const r = z(() => ({ isModal: e ?? !1 }), [e]);
13
+ return /* @__PURE__ */ o(m.Provider, { value: r, children: /* @__PURE__ */ o(d.Root, { open: i, onOpenChange: a, modal: e, children: t }) });
14
14
  };
15
15
  y.displayName = "Dialog.Root";
16
- const D = ({ asChild: t = !0, children: e, "data-test-id": a = "fondue-dialog-trigger", ...i }, n) => /* @__PURE__ */ o(
16
+ const D = ({ asChild: t = !0, children: e, "data-test-id": a = "fondue-dialog-trigger" }, i) => /* @__PURE__ */ o(
17
17
  d.Trigger,
18
18
  {
19
- onMouseDown: k,
19
+ onMouseDown: $,
20
20
  "data-auto-focus-visible": "true",
21
21
  "data-auto-focus-trigger": !0,
22
22
  "data-test-id": a,
23
23
  asChild: t,
24
- ref: n,
25
- ...i,
24
+ ref: i,
26
25
  children: e
27
26
  }
28
27
  );
29
28
  D.displayName = "Dialog.Trigger";
30
- const J = ({ children: t, showUnderlay: e }) => {
31
- const { isModal: a } = z(m);
32
- return a ? /* @__PURE__ */ o(d.Overlay, { "data-visible": e, className: r.underlay, children: t }) : /* @__PURE__ */ o("div", { className: r.underlay, "data-visible": e, children: t });
29
+ const I = ({ children: t, showUnderlay: e }) => {
30
+ const { isModal: a } = B(m);
31
+ return a ? /* @__PURE__ */ o(d.Overlay, { "data-visible": e, className: n.underlay, children: t }) : /* @__PURE__ */ o("div", { className: n.underlay, "data-visible": e, children: t });
33
32
  }, h = ({
34
33
  maxWidth: t = "800px",
35
34
  minWidth: e = "400px",
36
35
  minHeight: a = "200px",
37
36
  padding: i = "compact",
38
- verticalAlign: n = "center",
37
+ verticalAlign: r = "center",
39
38
  "data-test-id": s = "fondue-dialog-content",
40
39
  showUnderlay: c = !1,
41
40
  rounded: T = !0,
42
- children: w,
43
- ...S
44
- }, M) => {
45
- const A = G(), u = B(null);
46
- L(u, M);
47
- const H = (O) => {
41
+ children: w
42
+ }, S) => {
43
+ const M = k(), u = q(null);
44
+ E(u, S);
45
+ const A = (H) => {
48
46
  var f;
49
- O.preventDefault();
47
+ H.preventDefault();
50
48
  const g = (f = u.current) == null ? void 0 : f.querySelector('[data-dialog-layout-component="body"]'), p = g == null ? void 0 : g.querySelector(
51
- 'button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])'
49
+ 'button:not([data-tooltip-trigger="true"]), [href], input, select, textarea, [tabindex]:not([tabindex="-1"])'
52
50
  );
53
51
  p instanceof HTMLElement && p.focus();
54
52
  };
55
- return /* @__PURE__ */ o(d.Portal, { children: /* @__PURE__ */ o(I, { theme: A, children: /* @__PURE__ */ o(J, { showUnderlay: c, children: /* @__PURE__ */ o(
53
+ return /* @__PURE__ */ o(d.Portal, { children: /* @__PURE__ */ o(G, { theme: M, children: /* @__PURE__ */ o(I, { showUnderlay: c, children: /* @__PURE__ */ o(
56
54
  d.Content,
57
55
  {
58
56
  style: {
@@ -61,14 +59,13 @@ const J = ({ children: t, showUnderlay: e }) => {
61
59
  "--dialog-min-height": a
62
60
  },
63
61
  ref: u,
64
- className: r.content,
65
- onFocus: $,
66
- onOpenAutoFocus: H,
62
+ className: n.content,
63
+ onFocus: L,
64
+ onOpenAutoFocus: A,
67
65
  "data-dialog-padding": i,
68
66
  "data-dialog-rounded": T,
69
67
  "data-test-id": s,
70
- "data-dialog-vertical-align": n,
71
- ...S,
68
+ "data-dialog-vertical-align": r,
72
69
  children: w
73
70
  }
74
71
  ) }) }) });
@@ -79,19 +76,19 @@ const C = ({
79
76
  showBorder: e = !0,
80
77
  showCloseButton: a = !0,
81
78
  closeProps: i,
82
- children: n,
79
+ children: r,
83
80
  "data-test-id": s = "fondue-dialog-header"
84
- }, c) => /* @__PURE__ */ P(
81
+ }, c) => /* @__PURE__ */ O(
85
82
  "div",
86
83
  {
87
84
  "data-test-id": s,
88
85
  ref: c,
89
- className: r.header,
86
+ className: n.header,
90
87
  "data-dialog-header-padding": t,
91
88
  "data-show-border": e,
92
89
  "data-dialog-layout-component": "header",
93
90
  children: [
94
- /* @__PURE__ */ o("div", { children: n }),
91
+ /* @__PURE__ */ o("div", { children: r }),
95
92
  a && /* @__PURE__ */ o(
96
93
  d.Close,
97
94
  {
@@ -100,19 +97,19 @@ const C = ({
100
97
  className: "tw-cursor-pointer",
101
98
  "aria-label": "Close",
102
99
  ...i,
103
- children: /* @__PURE__ */ o(j, { size: 20 })
100
+ children: /* @__PURE__ */ o(P, { size: 20 })
104
101
  }
105
102
  )
106
103
  ]
107
104
  }
108
105
  );
109
106
  C.displayName = "Dialog.Header";
110
- const N = ({ padding: t, showBorder: e = !0, children: a, "data-test-id": i = "fondue-dialog-footer" }, n) => /* @__PURE__ */ o(
107
+ const N = ({ padding: t, showBorder: e = !0, children: a, "data-test-id": i = "fondue-dialog-footer" }, r) => /* @__PURE__ */ o(
111
108
  "div",
112
109
  {
113
110
  "data-test-id": i,
114
- ref: n,
115
- className: r.footer,
111
+ ref: r,
112
+ className: n.footer,
116
113
  "data-dialog-footer-padding": t,
117
114
  "data-show-border": e,
118
115
  "data-dialog-layout-component": "footer",
@@ -125,14 +122,14 @@ const b = ({ padding: t, children: e, "data-test-id": a = "fondue-dialog-body" }
125
122
  {
126
123
  "data-test-id": a,
127
124
  ref: i,
128
- className: r.body,
125
+ className: n.body,
129
126
  "data-dialog-body-padding": t,
130
127
  "data-dialog-layout-component": "body",
131
128
  children: e
132
129
  }
133
130
  );
134
131
  b.displayName = "Dialog.Body";
135
- const v = ({ children: t, "data-test-id": e = "fondue-dialog-side-content" }, a) => /* @__PURE__ */ o("div", { "data-test-id": e, ref: a, className: r.sideContent, "data-dialog-layout-component": !0, children: t });
132
+ const v = ({ children: t, "data-test-id": e = "fondue-dialog-side-content" }, a) => /* @__PURE__ */ o("div", { "data-test-id": e, ref: a, className: n.sideContent, "data-dialog-layout-component": !0, children: t });
136
133
  v.displayName = "Dialog.SideContent";
137
134
  const x = ({ children: t }) => /* @__PURE__ */ o(d.Close, { asChild: !0, children: t });
138
135
  x.displayName = "Dialog.Close";
@@ -140,7 +137,7 @@ const F = ({ children: t, asChild: e }) => /* @__PURE__ */ o(d.Title, { asChild:
140
137
  F.displayName = "Dialog.Title";
141
138
  const R = ({ children: t, asChild: e }) => /* @__PURE__ */ o(d.Description, { asChild: e, children: t });
142
139
  R.displayName = "Dialog.Description";
143
- const Z = {
140
+ const Y = {
144
141
  Root: y,
145
142
  Title: F,
146
143
  Description: R,
@@ -153,7 +150,7 @@ const Z = {
153
150
  SideContent: l(v)
154
151
  };
155
152
  export {
156
- Z as Dialog,
153
+ Y as Dialog,
157
154
  b as DialogBody,
158
155
  x as DialogClose,
159
156
  h as DialogContent,
@@ -1 +1 @@
1
- {"version":3,"file":"fondue-components9.js","sources":["../src/components/Dialog/Dialog.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { IconCross } from '@frontify/fondue-icons';\nimport * as RadixDialog from '@radix-ui/react-dialog';\nimport {\n createContext,\n forwardRef,\n useContext,\n useMemo,\n useRef,\n type CSSProperties,\n type ForwardedRef,\n type ReactNode,\n} from 'react';\n\nimport { type CommonAriaProps } from '#/helpers/aria';\nimport { useSyncRefs } from '#/hooks/useSyncRefs';\nimport { addAutoFocusAttribute, addShowFocusRing } from '#/utilities/domUtilities';\n\nimport { ThemeProvider, useFondueTheme } from '../ThemeProvider/ThemeProvider';\n\nimport styles from './styles/dialog.module.scss';\n\nexport type DialogRootProps = {\n /**\n * Disable interaction with the rest of the page\n * @default false\n */\n modal?: boolean;\n /**\n * The controlled `open` state of the dialog\n * @default false\n */\n open?: boolean;\n /**\n * Event handler called when the `open` state changes\n */\n onOpenChange?: (open: boolean) => void;\n children?: ReactNode;\n};\n\nexport type DialogContentProps = {\n /**\n * Add rounded corners to the dialog\n * @default true\n */\n rounded?: boolean;\n /**\n * Define the padding of the dialog\n * @default \"compact\"\n */\n padding?: 'none' | 'tight' | 'compact' | 'comfortable' | 'spacious';\n /**\n * The vertical alignment of the divider\n * @default \"center\"\n */\n verticalAlign?: 'top' | 'center';\n\n /**\n * Define a maximum width for the dialog\n * @default \"800px\"\n */\n maxWidth?: string;\n /**\n * Define a minimum width for the dialog\n * @default \"400px\"\n */\n minWidth?: string;\n /**\n * Define a minimum height for the dialog\n * @default \"200px\"\n */\n minHeight?: string;\n /**\n * Show a dark underlay behind the dialog\n * @default false\n */\n showUnderlay?: boolean;\n children?: ReactNode;\n 'data-test-id'?: string;\n};\n\nexport type DialogTriggerProps = {\n /**\n * Change the default rendered element for the one passed as a child, merging their props and behavior.\n * @default true\n */\n asChild?: boolean;\n children?: ReactNode;\n 'data-test-id'?: string;\n};\n\nexport type DialogHeaderProps = {\n /**\n * Define the padding for the dialog header\n */\n padding?: 'none' | 'tight' | 'compact' | 'comfortable' | 'spacious';\n /**\n * Show a border at the bottom of the header\n * @default true\n */\n showBorder?: boolean;\n /**\n * Show a close button in the header\n * @default true\n */\n showCloseButton?: boolean;\n closeProps?: CommonAriaProps;\n children?: ReactNode;\n 'data-test-id'?: string;\n};\n\nexport type DialogFooterProps = {\n /**\n * Define the padding for the dialog footer\n */\n padding?: 'none' | 'tight' | 'compact' | 'comfortable' | 'spacious';\n /**\n * Show a border at the top of the footer\n * @default true\n */\n showBorder?: boolean;\n children?: ReactNode;\n 'data-test-id'?: string;\n};\n\nexport type DialogBodyProps = {\n /**\n * Define the padding for the dialog body\n */\n padding?: 'none' | 'tight' | 'compact' | 'comfortable' | 'spacious';\n children?: ReactNode;\n 'data-test-id'?: string;\n};\n\nexport type DialogSideContentProps = { children?: ReactNode; 'data-test-id'?: string };\n\nexport type DialogCloseProps = { children?: ReactNode };\n\nexport type DialogAnnouncementProps = { children?: ReactNode; asChild?: boolean };\n\ntype DialogContextType = {\n isModal: boolean;\n};\n\nconst DialogContext = createContext<DialogContextType>({ isModal: false });\nDialogContext.displayName = 'DialogContext';\n\nexport const DialogRoot = ({ children, ...props }: DialogRootProps) => {\n const value = useMemo(() => ({ isModal: props.modal ?? false }), [props.modal]);\n return (\n <DialogContext.Provider value={value}>\n <RadixDialog.Root {...props}>{children}</RadixDialog.Root>\n </DialogContext.Provider>\n );\n};\nDialogRoot.displayName = 'Dialog.Root';\n\nexport const DialogTrigger = (\n { asChild = true, children, 'data-test-id': dataTestId = 'fondue-dialog-trigger', ...props }: DialogTriggerProps,\n ref: ForwardedRef<HTMLButtonElement>,\n) => {\n return (\n <RadixDialog.Trigger\n onMouseDown={addAutoFocusAttribute}\n data-auto-focus-visible=\"true\"\n data-auto-focus-trigger\n data-test-id={dataTestId}\n asChild={asChild}\n ref={ref}\n {...props}\n >\n {children}\n </RadixDialog.Trigger>\n );\n};\nDialogTrigger.displayName = 'Dialog.Trigger';\n\nconst DialogUnderlay = ({ children, showUnderlay }: { children: ReactNode; showUnderlay: boolean }) => {\n const { isModal } = useContext(DialogContext);\n if (isModal) {\n return (\n <RadixDialog.Overlay data-visible={showUnderlay} className={styles.underlay}>\n {children}\n </RadixDialog.Overlay>\n );\n }\n return (\n <div className={styles.underlay} data-visible={showUnderlay}>\n {children}\n </div>\n );\n};\n\nexport const DialogContent = (\n {\n maxWidth = '800px',\n minWidth = '400px',\n minHeight = '200px',\n padding = 'compact',\n verticalAlign = 'center',\n 'data-test-id': dataTestId = 'fondue-dialog-content',\n showUnderlay = false,\n rounded = true,\n children,\n ...props\n }: DialogContentProps,\n ref: ForwardedRef<HTMLDivElement>,\n) => {\n const theme = useFondueTheme();\n const contentRef = useRef<HTMLDivElement>(null);\n\n useSyncRefs<HTMLDivElement>(contentRef, ref);\n\n const handleOpenAutoFocus = (event: Event) => {\n event.preventDefault();\n\n const dialogBody = contentRef.current?.querySelector('[data-dialog-layout-component=\"body\"]');\n\n const firstFocusable = dialogBody?.querySelector(\n 'button, [href], input, select, textarea, [tabindex]:not([tabindex=\"-1\"])',\n );\n\n if (firstFocusable instanceof HTMLElement) {\n firstFocusable.focus();\n }\n };\n\n return (\n <RadixDialog.Portal>\n <ThemeProvider theme={theme}>\n <DialogUnderlay showUnderlay={showUnderlay}>\n <RadixDialog.Content\n style={\n {\n '--dialog-max-width': maxWidth,\n '--dialog-min-width': minWidth,\n '--dialog-min-height': minHeight,\n } as CSSProperties\n }\n ref={contentRef}\n className={styles.content}\n onFocus={addShowFocusRing}\n onOpenAutoFocus={handleOpenAutoFocus}\n data-dialog-padding={padding}\n data-dialog-rounded={rounded}\n data-test-id={dataTestId}\n data-dialog-vertical-align={verticalAlign}\n {...props}\n >\n {children}\n </RadixDialog.Content>\n </DialogUnderlay>\n </ThemeProvider>\n </RadixDialog.Portal>\n );\n};\nDialogContent.displayName = 'Dialog.Content';\n\nexport const DialogHeader = (\n {\n padding,\n showBorder = true,\n showCloseButton = true,\n closeProps,\n children,\n 'data-test-id': dataTestId = 'fondue-dialog-header',\n }: DialogHeaderProps,\n ref: ForwardedRef<HTMLDivElement>,\n) => {\n return (\n <div\n data-test-id={dataTestId}\n ref={ref}\n className={styles.header}\n data-dialog-header-padding={padding}\n data-show-border={showBorder}\n data-dialog-layout-component=\"header\"\n >\n <div>{children}</div>\n {showCloseButton && (\n <RadixDialog.Close\n role=\"button\"\n data-test-id={`${dataTestId}-close`}\n className=\"tw-cursor-pointer\"\n aria-label=\"Close\"\n {...closeProps}\n >\n <IconCross size={20} />\n </RadixDialog.Close>\n )}\n </div>\n );\n};\nDialogHeader.displayName = 'Dialog.Header';\n\nexport const DialogFooter = (\n { padding, showBorder = true, children, 'data-test-id': dataTestId = 'fondue-dialog-footer' }: DialogFooterProps,\n ref: ForwardedRef<HTMLDivElement>,\n) => {\n return (\n <div\n data-test-id={dataTestId}\n ref={ref}\n className={styles.footer}\n data-dialog-footer-padding={padding}\n data-show-border={showBorder}\n data-dialog-layout-component=\"footer\"\n >\n {children}\n </div>\n );\n};\nDialogFooter.displayName = 'Dialog.Footer';\n\nexport const DialogBody = (\n { padding, children, 'data-test-id': dataTestId = 'fondue-dialog-body' }: DialogBodyProps,\n ref: ForwardedRef<HTMLDivElement>,\n) => {\n return (\n <div\n data-test-id={dataTestId}\n ref={ref}\n className={styles.body}\n data-dialog-body-padding={padding}\n data-dialog-layout-component=\"body\"\n >\n {children}\n </div>\n );\n};\nDialogBody.displayName = 'Dialog.Body';\n\nexport const DialogSideContent = (\n { children, 'data-test-id': dataTestId = 'fondue-dialog-side-content' }: DialogSideContentProps,\n ref: ForwardedRef<HTMLDivElement>,\n) => {\n return (\n <div data-test-id={dataTestId} ref={ref} className={styles.sideContent} data-dialog-layout-component>\n {children}\n </div>\n );\n};\nDialogSideContent.displayName = 'Dialog.SideContent';\n\nexport const DialogClose = ({ children }: DialogCloseProps) => {\n return <RadixDialog.Close asChild>{children}</RadixDialog.Close>;\n};\nDialogClose.displayName = 'Dialog.Close';\n\nexport const DialogTitle = ({ children, asChild }: DialogAnnouncementProps) => {\n return <RadixDialog.Title asChild={asChild}>{children}</RadixDialog.Title>;\n};\nDialogTitle.displayName = 'Dialog.Title';\n\nexport const DialogDescription = ({ children, asChild }: DialogAnnouncementProps) => {\n return <RadixDialog.Description asChild={asChild}>{children}</RadixDialog.Description>;\n};\nDialogDescription.displayName = 'Dialog.Description';\n\nexport const Dialog = {\n Root: DialogRoot,\n Title: DialogTitle,\n Description: DialogDescription,\n Close: DialogClose,\n Trigger: forwardRef<HTMLButtonElement, DialogTriggerProps>(DialogTrigger),\n Content: forwardRef<HTMLDivElement, DialogContentProps>(DialogContent),\n Header: forwardRef<HTMLDivElement, DialogHeaderProps>(DialogHeader),\n Footer: forwardRef<HTMLDivElement, DialogFooterProps>(DialogFooter),\n Body: forwardRef<HTMLDivElement, DialogBodyProps>(DialogBody),\n SideContent: forwardRef<HTMLDivElement, DialogSideContentProps>(DialogSideContent),\n};\n"],"names":["DialogContext","createContext","DialogRoot","children","props","value","useMemo","jsx","RadixDialog","DialogTrigger","asChild","dataTestId","ref","addAutoFocusAttribute","DialogUnderlay","showUnderlay","isModal","useContext","styles","DialogContent","maxWidth","minWidth","minHeight","padding","verticalAlign","rounded","theme","useFondueTheme","contentRef","useRef","useSyncRefs","handleOpenAutoFocus","event","dialogBody","_a","firstFocusable","ThemeProvider","addShowFocusRing","DialogHeader","showBorder","showCloseButton","closeProps","jsxs","IconCross","DialogFooter","DialogBody","DialogSideContent","DialogClose","DialogTitle","DialogDescription","Dialog","forwardRef"],"mappings":";;;;;;;;AAiJA,MAAMA,IAAgBC,EAAiC,EAAE,SAAS,IAAO;AACzED,EAAc,cAAc;AAErB,MAAME,IAAa,CAAC,EAAE,UAAAC,GAAU,GAAGC,QAA6B;AACnE,QAAMC,IAAQC,EAAQ,OAAO,EAAE,SAASF,EAAM,SAAS,OAAU,CAACA,EAAM,KAAK,CAAC;AAC9E,SACI,gBAAAG,EAACP,EAAc,UAAd,EAAuB,OAAAK,GACpB,UAAA,gBAAAE,EAACC,EAAY,MAAZ,EAAkB,GAAGJ,GAAQ,UAAAD,EAAA,CAAS,EAAA,CAC3C;AAER;AACAD,EAAW,cAAc;AAElB,MAAMO,IAAgB,CACzB,EAAE,SAAAC,IAAU,IAAM,UAAAP,GAAU,gBAAgBQ,IAAa,yBAAyB,GAAGP,EAAA,GACrFQ,MAGI,gBAAAL;AAAA,EAACC,EAAY;AAAA,EAAZ;AAAA,IACG,aAAaK;AAAA,IACb,2BAAwB;AAAA,IACxB,2BAAuB;AAAA,IACvB,gBAAcF;AAAA,IACd,SAAAD;AAAA,IACA,KAAAE;AAAA,IACC,GAAGR;AAAA,IAEH,UAAAD;AAAA,EAAA;AAAA;AAIbM,EAAc,cAAc;AAE5B,MAAMK,IAAiB,CAAC,EAAE,UAAAX,GAAU,cAAAY,QAAmE;AACnG,QAAM,EAAE,SAAAC,EAAA,IAAYC,EAAWjB,CAAa;AAC5C,SAAIgB,IAEI,gBAAAT,EAACC,EAAY,SAAZ,EAAoB,gBAAcO,GAAc,WAAWG,EAAO,UAC9D,UAAAf,GACL,sBAIH,OAAA,EAAI,WAAWe,EAAO,UAAU,gBAAcH,GAC1C,UAAAZ,GACL;AAER,GAEagB,IAAgB,CACzB;AAAA,EACI,UAAAC,IAAW;AAAA,EACX,UAAAC,IAAW;AAAA,EACX,WAAAC,IAAY;AAAA,EACZ,SAAAC,IAAU;AAAA,EACV,eAAAC,IAAgB;AAAA,EAChB,gBAAgBb,IAAa;AAAA,EAC7B,cAAAI,IAAe;AAAA,EACf,SAAAU,IAAU;AAAA,EACV,UAAAtB;AAAA,EACA,GAAGC;AACP,GACAQ,MACC;AACD,QAAMc,IAAQC,EAAA,GACRC,IAAaC,EAAuB,IAAI;AAE9C,EAAAC,EAA4BF,GAAYhB,CAAG;AAE3C,QAAMmB,IAAsB,CAACC,MAAiB;;AAC1C,IAAAA,EAAM,eAAA;AAEN,UAAMC,KAAaC,IAAAN,EAAW,YAAX,gBAAAM,EAAoB,cAAc,0CAE/CC,IAAiBF,KAAA,gBAAAA,EAAY;AAAA,MAC/B;AAAA;AAGJ,IAAIE,aAA0B,eAC1BA,EAAe,MAAA;AAAA,EAEvB;AAEA,SACI,gBAAA5B,EAACC,EAAY,QAAZ,EACG,4BAAC4B,GAAA,EAAc,OAAAV,GACX,UAAA,gBAAAnB,EAACO,GAAA,EAAe,cAAAC,GACZ,UAAA,gBAAAR;AAAA,IAACC,EAAY;AAAA,IAAZ;AAAA,MACG,OACI;AAAA,QACI,sBAAsBY;AAAA,QACtB,sBAAsBC;AAAA,QACtB,uBAAuBC;AAAA,MAAA;AAAA,MAG/B,KAAKM;AAAA,MACL,WAAWV,EAAO;AAAA,MAClB,SAASmB;AAAA,MACT,iBAAiBN;AAAA,MACjB,uBAAqBR;AAAA,MACrB,uBAAqBE;AAAA,MACrB,gBAAcd;AAAA,MACd,8BAA4Ba;AAAA,MAC3B,GAAGpB;AAAA,MAEH,UAAAD;AAAA,IAAA;AAAA,EAAA,EACL,CACJ,GACJ,GACJ;AAER;AACAgB,EAAc,cAAc;AAErB,MAAMmB,IAAe,CACxB;AAAA,EACI,SAAAf;AAAA,EACA,YAAAgB,IAAa;AAAA,EACb,iBAAAC,IAAkB;AAAA,EAClB,YAAAC;AAAA,EACA,UAAAtC;AAAA,EACA,gBAAgBQ,IAAa;AACjC,GACAC,MAGI,gBAAA8B;AAAA,EAAC;AAAA,EAAA;AAAA,IACG,gBAAc/B;AAAA,IACd,KAAAC;AAAA,IACA,WAAWM,EAAO;AAAA,IAClB,8BAA4BK;AAAA,IAC5B,oBAAkBgB;AAAA,IAClB,gCAA6B;AAAA,IAE7B,UAAA;AAAA,MAAA,gBAAAhC,EAAC,SAAK,UAAAJ,GAAS;AAAA,MACdqC,KACG,gBAAAjC;AAAA,QAACC,EAAY;AAAA,QAAZ;AAAA,UACG,MAAK;AAAA,UACL,gBAAc,GAAGG,CAAU;AAAA,UAC3B,WAAU;AAAA,UACV,cAAW;AAAA,UACV,GAAG8B;AAAA,UAEJ,UAAA,gBAAAlC,EAACoC,GAAA,EAAU,MAAM,GAAA,CAAI;AAAA,QAAA;AAAA,MAAA;AAAA,IACzB;AAAA,EAAA;AAAA;AAKhBL,EAAa,cAAc;AAEpB,MAAMM,IAAe,CACxB,EAAE,SAAArB,GAAS,YAAAgB,IAAa,IAAM,UAAApC,GAAU,gBAAgBQ,IAAa,uBAAA,GACrEC,MAGI,gBAAAL;AAAA,EAAC;AAAA,EAAA;AAAA,IACG,gBAAcI;AAAA,IACd,KAAAC;AAAA,IACA,WAAWM,EAAO;AAAA,IAClB,8BAA4BK;AAAA,IAC5B,oBAAkBgB;AAAA,IAClB,gCAA6B;AAAA,IAE5B,UAAApC;AAAA,EAAA;AAAA;AAIbyC,EAAa,cAAc;AAEpB,MAAMC,IAAa,CACtB,EAAE,SAAAtB,GAAS,UAAApB,GAAU,gBAAgBQ,IAAa,qBAAA,GAClDC,MAGI,gBAAAL;AAAA,EAAC;AAAA,EAAA;AAAA,IACG,gBAAcI;AAAA,IACd,KAAAC;AAAA,IACA,WAAWM,EAAO;AAAA,IAClB,4BAA0BK;AAAA,IAC1B,gCAA6B;AAAA,IAE5B,UAAApB;AAAA,EAAA;AAAA;AAIb0C,EAAW,cAAc;AAElB,MAAMC,IAAoB,CAC7B,EAAE,UAAA3C,GAAU,gBAAgBQ,IAAa,6BAAA,GACzCC,MAGI,gBAAAL,EAAC,OAAA,EAAI,gBAAcI,GAAY,KAAAC,GAAU,WAAWM,EAAO,aAAa,gCAA4B,IAC/F,UAAAf,EAAA,CACL;AAGR2C,EAAkB,cAAc;AAEzB,MAAMC,IAAc,CAAC,EAAE,UAAA5C,0BAClBK,EAAY,OAAZ,EAAkB,SAAO,IAAE,UAAAL,GAAS;AAEhD4C,EAAY,cAAc;AAEnB,MAAMC,IAAc,CAAC,EAAE,UAAA7C,GAAU,SAAAO,QAC7B,gBAAAH,EAACC,EAAY,OAAZ,EAAkB,SAAAE,GAAmB,UAAAP,EAAA,CAAS;AAE1D6C,EAAY,cAAc;AAEnB,MAAMC,IAAoB,CAAC,EAAE,UAAA9C,GAAU,SAAAO,QACnC,gBAAAH,EAACC,EAAY,aAAZ,EAAwB,SAAAE,GAAmB,UAAAP,EAAA,CAAS;AAEhE8C,EAAkB,cAAc;AAEzB,MAAMC,IAAS;AAAA,EAClB,MAAMhD;AAAA,EACN,OAAO8C;AAAA,EACP,aAAaC;AAAA,EACb,OAAOF;AAAA,EACP,SAASI,EAAkD1C,CAAa;AAAA,EACxE,SAAS0C,EAA+ChC,CAAa;AAAA,EACrE,QAAQgC,EAA8Cb,CAAY;AAAA,EAClE,QAAQa,EAA8CP,CAAY;AAAA,EAClE,MAAMO,EAA4CN,CAAU;AAAA,EAC5D,aAAaM,EAAmDL,CAAiB;AACrF;"}
1
+ {"version":3,"file":"fondue-components9.js","sources":["../src/components/Dialog/Dialog.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { IconCross } from '@frontify/fondue-icons';\nimport * as RadixDialog from '@radix-ui/react-dialog';\nimport {\n createContext,\n forwardRef,\n useContext,\n useMemo,\n useRef,\n type CSSProperties,\n type ForwardedRef,\n type ReactNode,\n} from 'react';\n\nimport { type CommonAriaProps } from '#/helpers/aria';\nimport { useSyncRefs } from '#/hooks/useSyncRefs';\nimport { addAutoFocusAttribute, addShowFocusRing } from '#/utilities/domUtilities';\n\nimport { ThemeProvider, useFondueTheme } from '../ThemeProvider/ThemeProvider';\n\nimport styles from './styles/dialog.module.scss';\n\nexport type DialogRootProps = {\n /**\n * Disable interaction with the rest of the page\n * @default false\n */\n modal?: boolean;\n /**\n * The controlled `open` state of the dialog\n * @default false\n */\n open?: boolean;\n /**\n * Event handler called when the `open` state changes\n */\n onOpenChange?: (open: boolean) => void;\n children?: ReactNode;\n};\n\nexport type DialogContentProps = {\n /**\n * Add rounded corners to the dialog\n * @default true\n */\n rounded?: boolean;\n /**\n * Define the padding of the dialog\n * @default \"compact\"\n */\n padding?: 'none' | 'tight' | 'compact' | 'comfortable' | 'spacious';\n /**\n * The vertical alignment of the divider\n * @default \"center\"\n */\n verticalAlign?: 'top' | 'center';\n\n /**\n * Define a maximum width for the dialog\n * @default \"800px\"\n */\n maxWidth?: string;\n /**\n * Define a minimum width for the dialog\n * @default \"400px\"\n */\n minWidth?: string;\n /**\n * Define a minimum height for the dialog\n * @default \"200px\"\n */\n minHeight?: string;\n /**\n * Show a dark underlay behind the dialog\n * @default false\n */\n showUnderlay?: boolean;\n children?: ReactNode;\n 'data-test-id'?: string;\n};\n\nexport type DialogTriggerProps = {\n /**\n * Change the default rendered element for the one passed as a child, merging their props and behavior.\n * @default true\n */\n asChild?: boolean;\n children?: ReactNode;\n 'data-test-id'?: string;\n};\n\nexport type DialogHeaderProps = {\n /**\n * Define the padding for the dialog header\n */\n padding?: 'none' | 'tight' | 'compact' | 'comfortable' | 'spacious';\n /**\n * Show a border at the bottom of the header\n * @default true\n */\n showBorder?: boolean;\n /**\n * Show a close button in the header\n * @default true\n */\n showCloseButton?: boolean;\n closeProps?: CommonAriaProps;\n children?: ReactNode;\n 'data-test-id'?: string;\n};\n\nexport type DialogFooterProps = {\n /**\n * Define the padding for the dialog footer\n */\n padding?: 'none' | 'tight' | 'compact' | 'comfortable' | 'spacious';\n /**\n * Show a border at the top of the footer\n * @default true\n */\n showBorder?: boolean;\n children?: ReactNode;\n 'data-test-id'?: string;\n};\n\nexport type DialogBodyProps = {\n /**\n * Define the padding for the dialog body\n */\n padding?: 'none' | 'tight' | 'compact' | 'comfortable' | 'spacious';\n children?: ReactNode;\n 'data-test-id'?: string;\n};\n\nexport type DialogSideContentProps = { children?: ReactNode; 'data-test-id'?: string };\n\nexport type DialogCloseProps = { children?: ReactNode };\n\nexport type DialogAnnouncementProps = { children?: ReactNode; asChild?: boolean };\n\ntype DialogContextType = {\n isModal: boolean;\n};\n\nconst DialogContext = createContext<DialogContextType>({ isModal: false });\nDialogContext.displayName = 'DialogContext';\n\nexport const DialogRoot = ({ children, modal, onOpenChange, open }: DialogRootProps) => {\n const value = useMemo(() => ({ isModal: modal ?? false }), [modal]);\n\n return (\n <DialogContext.Provider value={value}>\n <RadixDialog.Root open={open} onOpenChange={onOpenChange} modal={modal}>\n {children}\n </RadixDialog.Root>\n </DialogContext.Provider>\n );\n};\nDialogRoot.displayName = 'Dialog.Root';\n\nexport const DialogTrigger = (\n { asChild = true, children, 'data-test-id': dataTestId = 'fondue-dialog-trigger' }: DialogTriggerProps,\n ref: ForwardedRef<HTMLButtonElement>,\n) => {\n return (\n <RadixDialog.Trigger\n onMouseDown={addAutoFocusAttribute}\n data-auto-focus-visible=\"true\"\n data-auto-focus-trigger\n data-test-id={dataTestId}\n asChild={asChild}\n ref={ref}\n >\n {children}\n </RadixDialog.Trigger>\n );\n};\nDialogTrigger.displayName = 'Dialog.Trigger';\n\nconst DialogUnderlay = ({ children, showUnderlay }: { children: ReactNode; showUnderlay: boolean }) => {\n const { isModal } = useContext(DialogContext);\n if (isModal) {\n return (\n <RadixDialog.Overlay data-visible={showUnderlay} className={styles.underlay}>\n {children}\n </RadixDialog.Overlay>\n );\n }\n return (\n <div className={styles.underlay} data-visible={showUnderlay}>\n {children}\n </div>\n );\n};\n\nexport const DialogContent = (\n {\n maxWidth = '800px',\n minWidth = '400px',\n minHeight = '200px',\n padding = 'compact',\n verticalAlign = 'center',\n 'data-test-id': dataTestId = 'fondue-dialog-content',\n showUnderlay = false,\n rounded = true,\n children,\n }: DialogContentProps,\n ref: ForwardedRef<HTMLDivElement>,\n) => {\n const theme = useFondueTheme();\n const contentRef = useRef<HTMLDivElement>(null);\n\n useSyncRefs<HTMLDivElement>(contentRef, ref);\n\n const handleOpenAutoFocus = (event: Event) => {\n event.preventDefault();\n\n const dialogBody = contentRef.current?.querySelector('[data-dialog-layout-component=\"body\"]');\n\n const firstFocusable = dialogBody?.querySelector(\n 'button:not([data-tooltip-trigger=\"true\"]), [href], input, select, textarea, [tabindex]:not([tabindex=\"-1\"])',\n );\n\n if (firstFocusable instanceof HTMLElement) {\n firstFocusable.focus();\n }\n };\n\n return (\n <RadixDialog.Portal>\n <ThemeProvider theme={theme}>\n <DialogUnderlay showUnderlay={showUnderlay}>\n <RadixDialog.Content\n style={\n {\n '--dialog-max-width': maxWidth,\n '--dialog-min-width': minWidth,\n '--dialog-min-height': minHeight,\n } as CSSProperties\n }\n ref={contentRef}\n className={styles.content}\n onFocus={addShowFocusRing}\n onOpenAutoFocus={handleOpenAutoFocus}\n data-dialog-padding={padding}\n data-dialog-rounded={rounded}\n data-test-id={dataTestId}\n data-dialog-vertical-align={verticalAlign}\n >\n {children}\n </RadixDialog.Content>\n </DialogUnderlay>\n </ThemeProvider>\n </RadixDialog.Portal>\n );\n};\nDialogContent.displayName = 'Dialog.Content';\n\nexport const DialogHeader = (\n {\n padding,\n showBorder = true,\n showCloseButton = true,\n closeProps,\n children,\n 'data-test-id': dataTestId = 'fondue-dialog-header',\n }: DialogHeaderProps,\n ref: ForwardedRef<HTMLDivElement>,\n) => {\n return (\n <div\n data-test-id={dataTestId}\n ref={ref}\n className={styles.header}\n data-dialog-header-padding={padding}\n data-show-border={showBorder}\n data-dialog-layout-component=\"header\"\n >\n <div>{children}</div>\n {showCloseButton && (\n <RadixDialog.Close\n role=\"button\"\n data-test-id={`${dataTestId}-close`}\n className=\"tw-cursor-pointer\"\n aria-label=\"Close\"\n {...closeProps}\n >\n <IconCross size={20} />\n </RadixDialog.Close>\n )}\n </div>\n );\n};\nDialogHeader.displayName = 'Dialog.Header';\n\nexport const DialogFooter = (\n { padding, showBorder = true, children, 'data-test-id': dataTestId = 'fondue-dialog-footer' }: DialogFooterProps,\n ref: ForwardedRef<HTMLDivElement>,\n) => {\n return (\n <div\n data-test-id={dataTestId}\n ref={ref}\n className={styles.footer}\n data-dialog-footer-padding={padding}\n data-show-border={showBorder}\n data-dialog-layout-component=\"footer\"\n >\n {children}\n </div>\n );\n};\nDialogFooter.displayName = 'Dialog.Footer';\n\nexport const DialogBody = (\n { padding, children, 'data-test-id': dataTestId = 'fondue-dialog-body' }: DialogBodyProps,\n ref: ForwardedRef<HTMLDivElement>,\n) => {\n return (\n <div\n data-test-id={dataTestId}\n ref={ref}\n className={styles.body}\n data-dialog-body-padding={padding}\n data-dialog-layout-component=\"body\"\n >\n {children}\n </div>\n );\n};\nDialogBody.displayName = 'Dialog.Body';\n\nexport const DialogSideContent = (\n { children, 'data-test-id': dataTestId = 'fondue-dialog-side-content' }: DialogSideContentProps,\n ref: ForwardedRef<HTMLDivElement>,\n) => {\n return (\n <div data-test-id={dataTestId} ref={ref} className={styles.sideContent} data-dialog-layout-component>\n {children}\n </div>\n );\n};\nDialogSideContent.displayName = 'Dialog.SideContent';\n\nexport const DialogClose = ({ children }: DialogCloseProps) => {\n return <RadixDialog.Close asChild>{children}</RadixDialog.Close>;\n};\nDialogClose.displayName = 'Dialog.Close';\n\nexport const DialogTitle = ({ children, asChild }: DialogAnnouncementProps) => {\n return <RadixDialog.Title asChild={asChild}>{children}</RadixDialog.Title>;\n};\nDialogTitle.displayName = 'Dialog.Title';\n\nexport const DialogDescription = ({ children, asChild }: DialogAnnouncementProps) => {\n return <RadixDialog.Description asChild={asChild}>{children}</RadixDialog.Description>;\n};\nDialogDescription.displayName = 'Dialog.Description';\n\nexport const Dialog = {\n Root: DialogRoot,\n Title: DialogTitle,\n Description: DialogDescription,\n Close: DialogClose,\n Trigger: forwardRef<HTMLButtonElement, DialogTriggerProps>(DialogTrigger),\n Content: forwardRef<HTMLDivElement, DialogContentProps>(DialogContent),\n Header: forwardRef<HTMLDivElement, DialogHeaderProps>(DialogHeader),\n Footer: forwardRef<HTMLDivElement, DialogFooterProps>(DialogFooter),\n Body: forwardRef<HTMLDivElement, DialogBodyProps>(DialogBody),\n SideContent: forwardRef<HTMLDivElement, DialogSideContentProps>(DialogSideContent),\n};\n"],"names":["DialogContext","createContext","DialogRoot","children","modal","onOpenChange","open","value","useMemo","jsx","RadixDialog","DialogTrigger","asChild","dataTestId","ref","addAutoFocusAttribute","DialogUnderlay","showUnderlay","isModal","useContext","styles","DialogContent","maxWidth","minWidth","minHeight","padding","verticalAlign","rounded","theme","useFondueTheme","contentRef","useRef","useSyncRefs","handleOpenAutoFocus","event","dialogBody","_a","firstFocusable","ThemeProvider","addShowFocusRing","DialogHeader","showBorder","showCloseButton","closeProps","jsxs","IconCross","DialogFooter","DialogBody","DialogSideContent","DialogClose","DialogTitle","DialogDescription","Dialog","forwardRef"],"mappings":"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"}
@@ -1,19 +1,19 @@
1
- const o = "_root_1t0zi_5", t = "_clearIcon_1t0zi_35", c = "_caret_1t0zi_52", _ = "_colorName_1t0zi_70", n = "_colorIndicator_1t0zi_73", r = "_button_1t0zi_94", a = "_actions_1t0zi_126", s = {
1
+ const o = "_root_1xnv8_5", c = "_clearIcon_1xnv8_35", t = "_caret_1xnv8_52", n = "_colorName_1xnv8_70", _ = "_colorIndicator_1xnv8_73", r = "_button_1xnv8_94", a = "_actions_1xnv8_126", s = {
2
2
  root: o,
3
- clearIcon: t,
4
- caret: c,
5
- colorName: _,
6
- colorIndicator: n,
3
+ clearIcon: c,
4
+ caret: t,
5
+ colorName: n,
6
+ colorIndicator: _,
7
7
  button: r,
8
8
  actions: a
9
9
  };
10
10
  export {
11
11
  a as actions,
12
12
  r as button,
13
- c as caret,
14
- t as clearIcon,
15
- n as colorIndicator,
16
- _ as colorName,
13
+ t as caret,
14
+ c as clearIcon,
15
+ _ as colorIndicator,
16
+ n as colorName,
17
17
  s as default,
18
18
  o as root
19
19
  };
@@ -1,5 +1,43 @@
1
- const t = "focus-visible:tw-outline has-[[data-show-focus-ring=true]]:tw-outline tw-outline-4 tw-outline-offset-2 tw-outline-blue focus-visible:tw-outline-blue";
1
+ import { Children as a, isValidElement as u, cloneElement as f } from "react";
2
+ import { ForwardedRefSelectItem as E } from "./fondue-components70.js";
3
+ const g = ({
4
+ children: o,
5
+ value: r,
6
+ label: s
7
+ }) => o && typeof o == "string" ? {
8
+ value: r || o,
9
+ label: s || o
10
+ } : {
11
+ value: r || "",
12
+ label: s || r || "",
13
+ ...o ? { children: o } : null
14
+ }, w = (o, r) => u(o) && o.type === r, y = (o, r, s, p = 0) => {
15
+ const n = [];
16
+ let t = 0;
17
+ return a.forEach(o, (e) => {
18
+ if (w(e, E) && u(e))
19
+ g(e.props).label.toLowerCase().includes((s == null ? void 0 : s.toLowerCase()) || "") && (n.push(r(e, p + t)), t++);
20
+ else if (u(e) && (e != null && e.props.children)) {
21
+ const { parsedChildren: m, subElementCount: C } = y(
22
+ e.props.children,
23
+ r,
24
+ "",
25
+ p + t
26
+ );
27
+ e = f(e, {
28
+ children: m,
29
+ key: `group-${p + t}`
30
+ }), n.push(e), t += C;
31
+ } else
32
+ n.push(e);
33
+ }), {
34
+ parsedChildren: n,
35
+ subElementCount: t
36
+ };
37
+ };
2
38
  export {
3
- t as FOCUS_OUTLINE
39
+ g as getSelectOptionValue,
40
+ w as isReactLeaf,
41
+ y as recursiveMap
4
42
  };
5
43
  //# sourceMappingURL=fondue-components91.js.map