@frontify/fondue 12.0.0-beta.141 → 12.0.0-beta.143

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,64 +1,57 @@
1
1
  import { TooltipIcon as f } from "../TooltipIcon/TooltipIcon.es.js";
2
- import { IconSize as k } from "../../foundation/Icon/IconSize.es.js";
3
- import { merge as i } from "../../utilities/merge.es.js";
2
+ import { IconSize as u } from "../../foundation/Icon/IconSize.es.js";
3
+ import { merge as o } from "../../utilities/merge.es.js";
4
4
  import t from "react";
5
- const u = ({
5
+ const v = ({
6
6
  children: e,
7
- htmlFor: w,
8
- required: n = !1,
9
- disabled: o = !1,
10
- clickable: s = !1,
7
+ htmlFor: r,
8
+ required: s = !1,
9
+ disabled: n = !1,
10
+ clickable: w = !1,
11
11
  tooltip: a = [],
12
- bold: c
12
+ bold: m
13
13
  }) => {
14
- const m = (Array.isArray(a) ? a : [a]).map((r, l) => ({
14
+ const p = (Array.isArray(a) ? a : [a]).map((i, l) => ({
15
15
  key: l,
16
- ...r
16
+ ...i
17
17
  }));
18
18
  return /* @__PURE__ */ t.createElement(
19
19
  "div",
20
20
  {
21
- className: i([
21
+ className: o([
22
22
  "tw-inline-flex tw-leading-4 tw-items-center tw-gap-1 tw-font-sans tw-text-s tw-max-w-full tw-min-w-0 tw-flex-initial",
23
- o ? "tw-text-black-40 hover:tw-text-black-40 dark:tw-text-black-60 dark:hover:tw-text-black-60" : "tw-text-black-90 dark:tw-text-white"
23
+ n ? "tw-text-disabled" : "tw-text-text-weak"
24
24
  ]),
25
25
  "data-test-id": "input-label-container"
26
26
  },
27
27
  /* @__PURE__ */ t.createElement("div", { className: "tw-flex-1 tw-overflow-hidden tw-text-ellipsis tw-whitespace-nowrap" }, /* @__PURE__ */ t.createElement(
28
28
  "label",
29
29
  {
30
- htmlFor: w,
31
- className: i([
30
+ htmlFor: r,
31
+ className: o([
32
32
  "tw-select-none",
33
- c && "tw-font-medium",
34
- o || !s ? "hover:tw-cursor-not-allowed tw-pointer-events-none" : "hover:tw-cursor-pointer hover:tw-text-black dark:hover:tw-text-white group-hover:tw-text-black dark:group-hover:tw-text-white"
33
+ m && "tw-font-medium",
34
+ n || !w ? "hover:tw-cursor-not-allowed tw-pointer-events-none" : "hover:tw-cursor-pointer hover:tw-text-text group-hover:tw-text-text"
35
35
  ]),
36
36
  "data-test-id": "input-label",
37
37
  title: typeof e == "string" ? e : ""
38
38
  },
39
39
  e
40
40
  )),
41
- n && /* @__PURE__ */ t.createElement(
42
- "span",
43
- {
44
- "data-test-id": "input-label-required",
45
- className: "tw-h-4 tw-text-m tw-text-red-60 dark:tw-text-red-50"
46
- },
47
- "*"
48
- ),
49
- m.map(({ key: r, triggerIcon: l, triggerStyle: p, hoverDelay: d = 100, ...x }) => /* @__PURE__ */ t.createElement("div", { key: r, className: "tw-leading-3" }, /* @__PURE__ */ t.createElement(
41
+ s && /* @__PURE__ */ t.createElement("span", { "data-test-id": "input-label-required", className: "tw-h-4 tw-text-m tw-text-text-negative" }, "*"),
42
+ p.map(({ key: i, triggerIcon: l, triggerStyle: c, hoverDelay: x = 100, ...d }) => /* @__PURE__ */ t.createElement("div", { key: i, className: "tw-leading-3" }, /* @__PURE__ */ t.createElement(
50
43
  f,
51
44
  {
52
- tooltip: { ...x, hoverDelay: d },
53
- iconSize: k.Size16,
45
+ tooltip: { ...d, hoverDelay: x },
46
+ iconSize: u.Size16,
54
47
  triggerIcon: l,
55
- triggerStyle: p
48
+ triggerStyle: c
56
49
  }
57
50
  )))
58
51
  );
59
52
  };
60
- u.displayName = "FondueInputLabel";
53
+ v.displayName = "FondueInputLabel";
61
54
  export {
62
- u as InputLabel
55
+ v as InputLabel
63
56
  };
64
57
  //# sourceMappingURL=InputLabel.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"InputLabel.es.js","sources":["../../../src/components/InputLabel/InputLabel.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { TooltipProps } from '@components/Tooltip/Tooltip';\nimport { TooltipIcon, TooltipIconProps } from '@components/TooltipIcon/TooltipIcon';\nimport { IconSize } from '@foundation/Icon/IconSize';\nimport { merge } from '@utilities/merge';\nimport React, { FC, PropsWithChildren } from 'react';\n\nexport type InputLabelTooltipProps =\n | (TooltipProps & Pick<TooltipIconProps, 'triggerStyle' | 'triggerIcon'>)\n | (TooltipProps & Pick<TooltipIconProps, 'triggerStyle' | 'triggerIcon'>)[];\n\nexport type InputLabelProps = PropsWithChildren<{\n htmlFor: string;\n required?: boolean;\n disabled?: boolean;\n clickable?: boolean;\n tooltip?: InputLabelTooltipProps;\n bold?: boolean;\n}>;\n\nexport const InputLabel: FC<InputLabelProps> = ({\n children,\n htmlFor,\n required = false,\n disabled = false,\n clickable = false,\n tooltip = [],\n bold,\n}) => {\n const tooltips = Array.isArray(tooltip) ? tooltip : [tooltip];\n\n const tooltipsWithKeys = tooltips.map((tooltip, index) => ({\n key: index,\n ...tooltip,\n }));\n\n return (\n <div\n className={merge([\n 'tw-inline-flex tw-leading-4 tw-items-center tw-gap-1 tw-font-sans tw-text-s tw-max-w-full tw-min-w-0 tw-flex-initial',\n disabled\n ? 'tw-text-black-40 hover:tw-text-black-40 dark:tw-text-black-60 dark:hover:tw-text-black-60'\n : 'tw-text-black-90 dark:tw-text-white',\n ])}\n data-test-id=\"input-label-container\"\n >\n <div className=\"tw-flex-1 tw-overflow-hidden tw-text-ellipsis tw-whitespace-nowrap\">\n <label\n htmlFor={htmlFor}\n className={merge([\n 'tw-select-none',\n bold && 'tw-font-medium',\n disabled || !clickable\n ? 'hover:tw-cursor-not-allowed tw-pointer-events-none'\n : 'hover:tw-cursor-pointer hover:tw-text-black dark:hover:tw-text-white group-hover:tw-text-black dark:group-hover:tw-text-white',\n ])}\n data-test-id=\"input-label\"\n title={typeof children === 'string' ? children : ''}\n >\n {children}\n </label>\n </div>\n\n {required && (\n <span\n data-test-id=\"input-label-required\"\n className=\"tw-h-4 tw-text-m tw-text-red-60 dark:tw-text-red-50\"\n >\n *\n </span>\n )}\n {tooltipsWithKeys.map(({ key, triggerIcon, triggerStyle, hoverDelay = 100, ...tooltipProps }) => (\n <div key={key} className=\"tw-leading-3\">\n <TooltipIcon\n tooltip={{ ...tooltipProps, hoverDelay }}\n iconSize={IconSize.Size16}\n triggerIcon={triggerIcon}\n triggerStyle={triggerStyle}\n />\n </div>\n ))}\n </div>\n );\n};\nInputLabel.displayName = 'FondueInputLabel';\n"],"names":["InputLabel","children","htmlFor","required","disabled","clickable","tooltip","bold","tooltipsWithKeys","index","React","merge","key","triggerIcon","triggerStyle","hoverDelay","tooltipProps","TooltipIcon","IconSize"],"mappings":";;;;AAqBO,MAAMA,IAAkC,CAAC;AAAA,EAC5C,UAAAC;AAAA,EACA,SAAAC;AAAA,EACA,UAAAC,IAAW;AAAA,EACX,UAAAC,IAAW;AAAA,EACX,WAAAC,IAAY;AAAA,EACZ,SAAAC,IAAU,CAAC;AAAA,EACX,MAAAC;AACJ,MAAM;AAGF,QAAMC,KAFW,MAAM,QAAQF,CAAO,IAAIA,IAAU,CAACA,CAAO,GAE1B,IAAI,CAACA,GAASG,OAAW;AAAA,IACvD,KAAKA;AAAA,IACL,GAAGH;AAAAA,EACL,EAAA;AAGE,SAAA,gBAAAI,EAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACG,WAAWC,EAAM;AAAA,QACb;AAAA,QACAP,IACM,8FACA;AAAA,MAAA,CACT;AAAA,MACD,gBAAa;AAAA,IAAA;AAAA,IAEb,gBAAAM,EAAA,cAAC,OAAI,EAAA,WAAU,qEACX,GAAA,gBAAAA,EAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACG,SAAAR;AAAA,QACA,WAAWS,EAAM;AAAA,UACb;AAAA,UACAJ,KAAQ;AAAA,UACRH,KAAY,CAACC,IACP,uDACA;AAAA,QAAA,CACT;AAAA,QACD,gBAAa;AAAA,QACb,OAAO,OAAOJ,KAAa,WAAWA,IAAW;AAAA,MAAA;AAAA,MAEhDA;AAAA,IAAA,CAET;AAAA,IAECE,KACG,gBAAAO,EAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACG,gBAAa;AAAA,QACb,WAAU;AAAA,MAAA;AAAA,MACb;AAAA,IAED;AAAA,IAEHF,EAAiB,IAAI,CAAC,EAAE,KAAAI,GAAK,aAAAC,GAAa,cAAAC,GAAc,YAAAC,IAAa,KAAK,GAAGC,EAC1E,MAAA,gBAAAN,EAAA,cAAC,OAAI,EAAA,KAAAE,GAAU,WAAU,eACrB,GAAA,gBAAAF,EAAA;AAAA,MAACO;AAAA,MAAA;AAAA,QACG,SAAS,EAAE,GAAGD,GAAc,YAAAD,EAAW;AAAA,QACvC,UAAUG,EAAS;AAAA,QACnB,aAAAL;AAAA,QACA,cAAAC;AAAA,MAAA;AAAA,IAAA,CAER,CACH;AAAA,EAAA;AAGb;AACAd,EAAW,cAAc;"}
1
+ {"version":3,"file":"InputLabel.es.js","sources":["../../../src/components/InputLabel/InputLabel.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { TooltipProps } from '@components/Tooltip/Tooltip';\nimport { TooltipIcon, TooltipIconProps } from '@components/TooltipIcon/TooltipIcon';\nimport { IconSize } from '@foundation/Icon/IconSize';\nimport { merge } from '@utilities/merge';\nimport React, { FC, PropsWithChildren } from 'react';\n\nexport type InputLabelTooltipProps =\n | (TooltipProps & Pick<TooltipIconProps, 'triggerStyle' | 'triggerIcon'>)\n | (TooltipProps & Pick<TooltipIconProps, 'triggerStyle' | 'triggerIcon'>)[];\n\nexport type InputLabelProps = PropsWithChildren<{\n htmlFor: string;\n required?: boolean;\n disabled?: boolean;\n clickable?: boolean;\n tooltip?: InputLabelTooltipProps;\n bold?: boolean;\n}>;\n\nexport const InputLabel: FC<InputLabelProps> = ({\n children,\n htmlFor,\n required = false,\n disabled = false,\n clickable = false,\n tooltip = [],\n bold,\n}) => {\n const tooltips = Array.isArray(tooltip) ? tooltip : [tooltip];\n\n const tooltipsWithKeys = tooltips.map((tooltip, index) => ({\n key: index,\n ...tooltip,\n }));\n\n return (\n <div\n className={merge([\n 'tw-inline-flex tw-leading-4 tw-items-center tw-gap-1 tw-font-sans tw-text-s tw-max-w-full tw-min-w-0 tw-flex-initial',\n disabled ? 'tw-text-disabled' : 'tw-text-text-weak',\n ])}\n data-test-id=\"input-label-container\"\n >\n <div className=\"tw-flex-1 tw-overflow-hidden tw-text-ellipsis tw-whitespace-nowrap\">\n <label\n htmlFor={htmlFor}\n className={merge([\n 'tw-select-none',\n bold && 'tw-font-medium',\n disabled || !clickable\n ? 'hover:tw-cursor-not-allowed tw-pointer-events-none'\n : 'hover:tw-cursor-pointer hover:tw-text-text group-hover:tw-text-text',\n ])}\n data-test-id=\"input-label\"\n title={typeof children === 'string' ? children : ''}\n >\n {children}\n </label>\n </div>\n\n {required && (\n <span data-test-id=\"input-label-required\" className=\"tw-h-4 tw-text-m tw-text-text-negative\">\n *\n </span>\n )}\n {tooltipsWithKeys.map(({ key, triggerIcon, triggerStyle, hoverDelay = 100, ...tooltipProps }) => (\n <div key={key} className=\"tw-leading-3\">\n <TooltipIcon\n tooltip={{ ...tooltipProps, hoverDelay }}\n iconSize={IconSize.Size16}\n triggerIcon={triggerIcon}\n triggerStyle={triggerStyle}\n />\n </div>\n ))}\n </div>\n );\n};\nInputLabel.displayName = 'FondueInputLabel';\n"],"names":["InputLabel","children","htmlFor","required","disabled","clickable","tooltip","bold","tooltipsWithKeys","index","React","merge","key","triggerIcon","triggerStyle","hoverDelay","tooltipProps","TooltipIcon","IconSize"],"mappings":";;;;AAqBO,MAAMA,IAAkC,CAAC;AAAA,EAC5C,UAAAC;AAAA,EACA,SAAAC;AAAA,EACA,UAAAC,IAAW;AAAA,EACX,UAAAC,IAAW;AAAA,EACX,WAAAC,IAAY;AAAA,EACZ,SAAAC,IAAU,CAAC;AAAA,EACX,MAAAC;AACJ,MAAM;AAGF,QAAMC,KAFW,MAAM,QAAQF,CAAO,IAAIA,IAAU,CAACA,CAAO,GAE1B,IAAI,CAACA,GAASG,OAAW;AAAA,IACvD,KAAKA;AAAA,IACL,GAAGH;AAAAA,EACL,EAAA;AAGE,SAAA,gBAAAI,EAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACG,WAAWC,EAAM;AAAA,QACb;AAAA,QACAP,IAAW,qBAAqB;AAAA,MAAA,CACnC;AAAA,MACD,gBAAa;AAAA,IAAA;AAAA,IAEb,gBAAAM,EAAA,cAAC,OAAI,EAAA,WAAU,qEACX,GAAA,gBAAAA,EAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACG,SAAAR;AAAA,QACA,WAAWS,EAAM;AAAA,UACb;AAAA,UACAJ,KAAQ;AAAA,UACRH,KAAY,CAACC,IACP,uDACA;AAAA,QAAA,CACT;AAAA,QACD,gBAAa;AAAA,QACb,OAAO,OAAOJ,KAAa,WAAWA,IAAW;AAAA,MAAA;AAAA,MAEhDA;AAAA,IAAA,CAET;AAAA,IAECE,KACI,gBAAAO,EAAA,cAAA,QAAA,EAAK,gBAAa,wBAAuB,WAAU,4CAAyC,GAE7F;AAAA,IAEHF,EAAiB,IAAI,CAAC,EAAE,KAAAI,GAAK,aAAAC,GAAa,cAAAC,GAAc,YAAAC,IAAa,KAAK,GAAGC,EAC1E,MAAA,gBAAAN,EAAA,cAAC,OAAI,EAAA,KAAAE,GAAU,WAAU,eACrB,GAAA,gBAAAF,EAAA;AAAA,MAACO;AAAA,MAAA;AAAA,QACG,SAAS,EAAE,GAAGD,GAAc,YAAAD,EAAW;AAAA,QACvC,UAAUG,EAAS;AAAA,QACnB,aAAAL;AAAA,QACA,cAAAC;AAAA,MAAA;AAAA,IAAA,CAER,CACH;AAAA,EAAA;AAGb;AACAd,EAAW,cAAc;"}
@@ -1,44 +1,49 @@
1
- import e, { cloneElement as i } from "react";
1
+ import t, { cloneElement as i } from "react";
2
2
  import { IconSize as a } from "../../foundation/Icon/IconSize.es.js";
3
- import { Tooltip as m } from "../Tooltip/Tooltip.es.js";
4
- import { FOCUS_VISIBLE_STYLE as l } from "../../utilities/focusStyle.es.js";
5
- import { merge as c } from "../../utilities/merge.es.js";
6
- import s from "../../foundation/Icon/Generated/IconQuestionMarkCircle.es.js";
7
- var w = /* @__PURE__ */ ((t) => (t.Danger = "Danger", t.Warning = "Warning", t.Primary = "Primary", t))(w || {});
8
- const g = {
9
- Danger: "tw-text-box-negative-strong hover:tw-text-box-negative-strong-hover",
10
- Warning: "tw-text-box-warning-strong hover:tw-text-box-warning-strong-hover",
11
- Primary: "tw-text-text-weak hover:tw-text-text-x-weak"
12
- }, u = ({
13
- tooltip: t,
14
- iconSize: r = a.Size16,
15
- triggerIcon: n = /* @__PURE__ */ e.createElement(s, null),
16
- triggerStyle: o = "Primary"
3
+ import { Tooltip as l } from "../Tooltip/Tooltip.es.js";
4
+ import { FOCUS_VISIBLE_STYLE as m } from "../../utilities/focusStyle.es.js";
5
+ import { merge as s } from "../../utilities/merge.es.js";
6
+ import w from "../../foundation/Icon/Generated/IconQuestionMarkCircle.es.js";
7
+ var c = /* @__PURE__ */ ((e) => (e.Danger = "Danger", e.Warning = "Warning", e.Primary = "Primary", e))(c || {});
8
+ const u = {
9
+ Danger: "tw-text-box-negative-inverse",
10
+ Warning: "tw-text-box-warning-inverse",
11
+ Primary: "tw-text-text-weak"
12
+ }, v = {
13
+ Danger: "hover:tw-text-box-negative-inverse-hover hover:tw-bg-box-neutral",
14
+ Warning: "hover:tw-text-box-warning-inverse-hover hover:tw-bg-box-neutral",
15
+ Primary: "hover:tw-text-text hover:tw-bg-box-neutral"
16
+ }, x = ({
17
+ tooltip: e,
18
+ iconSize: n = a.Size16,
19
+ triggerIcon: o = /* @__PURE__ */ t.createElement(w, null),
20
+ triggerStyle: r = "Primary"
17
21
  /* Primary */
18
- }) => /* @__PURE__ */ e.createElement("div", { "data-test-id": "tooltip-icon" }, t && /* @__PURE__ */ e.createElement("div", null, /* @__PURE__ */ e.createElement(
19
- m,
22
+ }) => /* @__PURE__ */ t.createElement("div", { "data-test-id": "tooltip-icon" }, e && /* @__PURE__ */ t.createElement("div", null, /* @__PURE__ */ t.createElement(
23
+ l,
20
24
  {
21
- triggerElement: /* @__PURE__ */ e.createElement(
25
+ triggerElement: /* @__PURE__ */ t.createElement(
22
26
  "button",
23
27
  {
24
28
  type: "button",
25
29
  "aria-label": "More info",
26
30
  "data-test-id": "tooltip-icon-trigger",
27
- className: c([
31
+ className: s([
28
32
  "tw-inline-flex tw-justify-center tw-items-center tw-cursor-default tw-outline-none tw-rounded-full",
29
- l,
30
- g[o]
33
+ m,
34
+ u[r],
35
+ v[r]
31
36
  ])
32
37
  },
33
- i(n, { size: r })
38
+ i(o, { size: n })
34
39
  ),
35
40
  withArrow: !0,
36
- ...t
41
+ ...e
37
42
  }
38
43
  )));
39
- u.displayName = "FondueTooltipIcon";
44
+ x.displayName = "FondueTooltipIcon";
40
45
  export {
41
- u as TooltipIcon,
42
- w as TooltipIconTriggerStyle
46
+ x as TooltipIcon,
47
+ c as TooltipIconTriggerStyle
43
48
  };
44
49
  //# sourceMappingURL=TooltipIcon.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TooltipIcon.es.js","sources":["../../../src/components/TooltipIcon/TooltipIcon.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport React, { FC, ReactElement, cloneElement } from 'react';\nimport { IconSize } from '@foundation/Icon/IconSize';\nimport { Tooltip, TooltipProps } from '@components/Tooltip/Tooltip';\nimport { FOCUS_VISIBLE_STYLE } from '@utilities/focusStyle';\nimport { merge } from '@utilities/merge';\nimport { IconProps } from '@foundation/Icon/IconProps';\nimport { IconQuestionMarkCircle } from '@foundation/Icon/Generated';\n\nexport type TooltipIconProps = {\n tooltip?: TooltipProps;\n iconSize?: IconSize;\n triggerIcon?: ReactElement<IconProps>;\n triggerStyle?: TooltipIconTriggerStyle;\n};\n\nexport enum TooltipIconTriggerStyle {\n Danger = 'Danger',\n Warning = 'Warning',\n Primary = 'Primary',\n}\n\nconst tooltipTriggerStyleClass: Record<TooltipIconTriggerStyle, string> = {\n [TooltipIconTriggerStyle.Danger]: 'tw-text-box-negative-strong hover:tw-text-box-negative-strong-hover',\n [TooltipIconTriggerStyle.Warning]: 'tw-text-box-warning-strong hover:tw-text-box-warning-strong-hover',\n [TooltipIconTriggerStyle.Primary]: 'tw-text-text-weak hover:tw-text-text-x-weak',\n};\n\nexport const TooltipIcon: FC<TooltipIconProps> = ({\n tooltip,\n iconSize = IconSize.Size16,\n triggerIcon = <IconQuestionMarkCircle />,\n triggerStyle = TooltipIconTriggerStyle.Primary,\n}: TooltipIconProps) => {\n return (\n <div data-test-id=\"tooltip-icon\">\n {tooltip && (\n <div>\n <Tooltip\n triggerElement={\n <button\n type=\"button\"\n aria-label=\"More info\"\n data-test-id=\"tooltip-icon-trigger\"\n className={merge([\n 'tw-inline-flex tw-justify-center tw-items-center tw-cursor-default tw-outline-none tw-rounded-full',\n FOCUS_VISIBLE_STYLE,\n tooltipTriggerStyleClass[triggerStyle],\n ])}\n >\n {cloneElement(triggerIcon, { size: iconSize })}\n </button>\n }\n withArrow={true}\n {...tooltip}\n />\n </div>\n )}\n </div>\n );\n};\nTooltipIcon.displayName = 'FondueTooltipIcon';\n"],"names":["TooltipIconTriggerStyle","tooltipTriggerStyleClass","TooltipIcon","tooltip","iconSize","IconSize","triggerIcon","IconQuestionMarkCircle","triggerStyle","React","Tooltip","merge","FOCUS_VISIBLE_STYLE","cloneElement"],"mappings":";;;;;;AAiBY,IAAAA,sBAAAA,OACRA,EAAA,SAAS,UACTA,EAAA,UAAU,WACVA,EAAA,UAAU,WAHFA,IAAAA,KAAA,CAAA,CAAA;AAMZ,MAAMC,IAAoE;AAAA,EACrE,QAAiC;AAAA,EACjC,SAAkC;AAAA,EAClC,SAAkC;AACvC,GAEaC,IAAoC,CAAC;AAAA,EAC9C,SAAAC;AAAA,EACA,UAAAC,IAAWC,EAAS;AAAA,EACpB,aAAAC,oCAAeC,GAAuB,IAAA;AAAA,EACtC,cAAAC,IAAe;AAAA;AACnB,sCAES,OAAI,EAAA,gBAAa,eACb,GAAAL,qCACI,OACG,MAAA,gBAAAM,EAAA;AAAA,EAACC;AAAA,EAAA;AAAA,IACG,gBACI,gBAAAD,EAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACG,MAAK;AAAA,QACL,cAAW;AAAA,QACX,gBAAa;AAAA,QACb,WAAWE,EAAM;AAAA,UACb;AAAA,UACAC;AAAA,UACAX,EAAyBO,CAAY;AAAA,QAAA,CACxC;AAAA,MAAA;AAAA,MAEAK,EAAaP,GAAa,EAAE,MAAMF,GAAU;AAAA,IACjD;AAAA,IAEJ,WAAW;AAAA,IACV,GAAGD;AAAA,EAAA;AAEZ,CAAA,CAER;AAGRD,EAAY,cAAc;"}
1
+ {"version":3,"file":"TooltipIcon.es.js","sources":["../../../src/components/TooltipIcon/TooltipIcon.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport React, { FC, ReactElement, cloneElement } from 'react';\nimport { IconSize } from '@foundation/Icon/IconSize';\nimport { Tooltip, TooltipProps } from '@components/Tooltip/Tooltip';\nimport { FOCUS_VISIBLE_STYLE } from '@utilities/focusStyle';\nimport { merge } from '@utilities/merge';\nimport { IconProps } from '@foundation/Icon/IconProps';\nimport { IconQuestionMarkCircle } from '@foundation/Icon/Generated';\n\nexport type TooltipIconProps = {\n tooltip?: TooltipProps;\n iconSize?: IconSize;\n triggerIcon?: ReactElement<IconProps>;\n triggerStyle?: TooltipIconTriggerStyle;\n};\n\nexport enum TooltipIconTriggerStyle {\n Danger = 'Danger',\n Warning = 'Warning',\n Primary = 'Primary',\n}\n\nconst tooltipTriggerStyleClass: Record<TooltipIconTriggerStyle, string> = {\n [TooltipIconTriggerStyle.Danger]: 'tw-text-box-negative-inverse',\n [TooltipIconTriggerStyle.Warning]: 'tw-text-box-warning-inverse',\n [TooltipIconTriggerStyle.Primary]: 'tw-text-text-weak',\n};\n\nconst tooltipHoverClasses = {\n [TooltipIconTriggerStyle.Danger]: 'hover:tw-text-box-negative-inverse-hover hover:tw-bg-box-neutral',\n [TooltipIconTriggerStyle.Warning]: 'hover:tw-text-box-warning-inverse-hover hover:tw-bg-box-neutral',\n [TooltipIconTriggerStyle.Primary]: 'hover:tw-text-text hover:tw-bg-box-neutral',\n};\n\nexport const TooltipIcon: FC<TooltipIconProps> = ({\n tooltip,\n iconSize = IconSize.Size16,\n triggerIcon = <IconQuestionMarkCircle />,\n triggerStyle = TooltipIconTriggerStyle.Primary,\n}: TooltipIconProps) => {\n return (\n <div data-test-id=\"tooltip-icon\">\n {tooltip && (\n <div>\n <Tooltip\n triggerElement={\n <button\n type=\"button\"\n aria-label=\"More info\"\n data-test-id=\"tooltip-icon-trigger\"\n className={merge([\n 'tw-inline-flex tw-justify-center tw-items-center tw-cursor-default tw-outline-none tw-rounded-full',\n FOCUS_VISIBLE_STYLE,\n tooltipTriggerStyleClass[triggerStyle],\n tooltipHoverClasses[triggerStyle],\n ])}\n >\n {cloneElement(triggerIcon, { size: iconSize })}\n </button>\n }\n withArrow={true}\n {...tooltip}\n />\n </div>\n )}\n </div>\n );\n};\nTooltipIcon.displayName = 'FondueTooltipIcon';\n"],"names":["TooltipIconTriggerStyle","tooltipTriggerStyleClass","tooltipHoverClasses","TooltipIcon","tooltip","iconSize","IconSize","triggerIcon","IconQuestionMarkCircle","triggerStyle","React","Tooltip","merge","FOCUS_VISIBLE_STYLE","cloneElement"],"mappings":";;;;;;AAiBY,IAAAA,sBAAAA,OACRA,EAAA,SAAS,UACTA,EAAA,UAAU,WACVA,EAAA,UAAU,WAHFA,IAAAA,KAAA,CAAA,CAAA;AAMZ,MAAMC,IAAoE;AAAA,EACrE,QAAiC;AAAA,EACjC,SAAkC;AAAA,EAClC,SAAkC;AACvC,GAEMC,IAAsB;AAAA,EACvB,QAAiC;AAAA,EACjC,SAAkC;AAAA,EAClC,SAAkC;AACvC,GAEaC,IAAoC,CAAC;AAAA,EAC9C,SAAAC;AAAA,EACA,UAAAC,IAAWC,EAAS;AAAA,EACpB,aAAAC,oCAAeC,GAAuB,IAAA;AAAA,EACtC,cAAAC,IAAe;AAAA;AACnB,sCAES,OAAI,EAAA,gBAAa,eACb,GAAAL,qCACI,OACG,MAAA,gBAAAM,EAAA;AAAA,EAACC;AAAA,EAAA;AAAA,IACG,gBACI,gBAAAD,EAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACG,MAAK;AAAA,QACL,cAAW;AAAA,QACX,gBAAa;AAAA,QACb,WAAWE,EAAM;AAAA,UACb;AAAA,UACAC;AAAA,UACAZ,EAAyBQ,CAAY;AAAA,UACrCP,EAAoBO,CAAY;AAAA,QAAA,CACnC;AAAA,MAAA;AAAA,MAEAK,EAAaP,GAAa,EAAE,MAAMF,GAAU;AAAA,IACjD;AAAA,IAEJ,WAAW;AAAA,IACV,GAAGD;AAAA,EAAA;AAEZ,CAAA,CAER;AAGRD,EAAY,cAAc;"}