@televet/kibble-ui 4.0.0-beta.52 → 4.0.0-beta.53

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 (43) hide show
  1. package/dist/chunks/{buttonGroup.component-CdJUMIP-.js → buttonGroup.component-D6hiZw3h.js} +2 -2
  2. package/dist/chunks/{buttonGroup.component-CdJUMIP-.js.map → buttonGroup.component-D6hiZw3h.js.map} +1 -1
  3. package/dist/chunks/{buttonGroup.component-Sr6-2Vc6.js → buttonGroup.component-DfFsqukz.js} +2 -2
  4. package/dist/chunks/{buttonGroup.component-Sr6-2Vc6.js.map → buttonGroup.component-DfFsqukz.js.map} +1 -1
  5. package/dist/chunks/{conversationCard.component-BnwJO_zP.js → conversationCard.component-D1Vy47Vk.js} +2 -2
  6. package/dist/chunks/{conversationCard.component-BnwJO_zP.js.map → conversationCard.component-D1Vy47Vk.js.map} +1 -1
  7. package/dist/chunks/{conversationCard.component-B7k9ZUSM.js → conversationCard.component-Df4ix8on.js} +2 -2
  8. package/dist/chunks/{conversationCard.component-B7k9ZUSM.js.map → conversationCard.component-Df4ix8on.js.map} +1 -1
  9. package/dist/chunks/{datePicker.component-hLHLI87m.js → datePicker.component-5O0KYOVp.js} +2 -2
  10. package/dist/chunks/{datePicker.component-hLHLI87m.js.map → datePicker.component-5O0KYOVp.js.map} +1 -1
  11. package/dist/chunks/{datePicker.component-BTWiLugt.js → datePicker.component-B46GCyva.js} +2 -2
  12. package/dist/chunks/{datePicker.component-BTWiLugt.js.map → datePicker.component-B46GCyva.js.map} +1 -1
  13. package/dist/chunks/{menu.component-BIQYdh3w.js → menu.component-BKyUQEqg.js} +2 -2
  14. package/dist/chunks/menu.component-BKyUQEqg.js.map +1 -0
  15. package/dist/chunks/{menu.component-CUgSsflu.js → menu.component-Dmj51ect.js} +2 -2
  16. package/dist/chunks/menu.component-Dmj51ect.js.map +1 -0
  17. package/dist/chunks/{radioGroup.component-YuqCXd9N.js → radioGroup.component-6BSsgoWn.js} +2 -2
  18. package/dist/chunks/{radioGroup.component-YuqCXd9N.js.map → radioGroup.component-6BSsgoWn.js.map} +1 -1
  19. package/dist/chunks/{radioGroup.component-C07hSoK_.js → radioGroup.component-C5jL69Gv.js} +2 -2
  20. package/dist/chunks/{radioGroup.component-C07hSoK_.js.map → radioGroup.component-C5jL69Gv.js.map} +1 -1
  21. package/dist/chunks/{tagBlock.component-BWOzDOXu.js → tagBlock.component-CGimtUPd.js} +2 -2
  22. package/dist/chunks/{tagBlock.component-BWOzDOXu.js.map → tagBlock.component-CGimtUPd.js.map} +1 -1
  23. package/dist/chunks/{tagBlock.component-C9-GYeEN.js → tagBlock.component-DzjXSEHc.js} +2 -2
  24. package/dist/chunks/{tagBlock.component-C9-GYeEN.js.map → tagBlock.component-DzjXSEHc.js.map} +1 -1
  25. package/dist/cjs/components/ButtonGroup/index.cjs +1 -1
  26. package/dist/cjs/components/ConversationCard/index.cjs +1 -1
  27. package/dist/cjs/components/DatePicker/index.cjs +1 -1
  28. package/dist/cjs/components/Menu/index.cjs +1 -1
  29. package/dist/cjs/components/RadioGroup/index.cjs +1 -1
  30. package/dist/cjs/components/TagBlock/index.cjs +1 -1
  31. package/dist/cjs/components/index.cjs +1 -1
  32. package/dist/cjs/index.cjs +1 -1
  33. package/dist/esm/components/ButtonGroup/index.js +1 -1
  34. package/dist/esm/components/ConversationCard/index.js +1 -1
  35. package/dist/esm/components/DatePicker/index.js +1 -1
  36. package/dist/esm/components/Menu/index.js +1 -1
  37. package/dist/esm/components/RadioGroup/index.js +1 -1
  38. package/dist/esm/components/TagBlock/index.js +1 -1
  39. package/dist/esm/components/index.js +6 -6
  40. package/dist/esm/index.js +6 -6
  41. package/package.json +1 -1
  42. package/dist/chunks/menu.component-BIQYdh3w.js.map +0 -1
  43. package/dist/chunks/menu.component-CUgSsflu.js.map +0 -1
@@ -1,7 +1,7 @@
1
1
  import { j as t } from "./jsx-runtime-C5mzlN2N.js";
2
2
  import { forwardRef as j, useMemo as a } from "react";
3
3
  import { B as y } from "./button.component-BWlRjD5a.js";
4
- import { M as G } from "./menu.component-BIQYdh3w.js";
4
+ import { M as G } from "./menu.component-BKyUQEqg.js";
5
5
  import { u as c } from "./use-recipe-B7BYguEn.js";
6
6
  import { a as P } from "./icon-button-g512TBA9.js";
7
7
  import { G as R } from "./group-CjQBwfVM.js";
@@ -74,4 +74,4 @@ const k = j(
74
74
  export {
75
75
  w as B
76
76
  };
77
- //# sourceMappingURL=buttonGroup.component-CdJUMIP-.js.map
77
+ //# sourceMappingURL=buttonGroup.component-D6hiZw3h.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"buttonGroup.component-CdJUMIP-.js","sources":["../../node_modules/@chakra-ui/react/dist/esm/components/button/button-group.js","../../src/components/ButtonGroup/buttonGroup.component.tsx"],"sourcesContent":["\"use strict\";\n\"use client\";\nimport { jsx } from 'react/jsx-runtime';\nimport { forwardRef, useMemo } from 'react';\nimport { useRecipe } from '../../styled-system/use-recipe.js';\nimport { ButtonPropsProvider } from './button.js';\nimport { Group } from '../group/group.js';\n\nconst ButtonGroup = forwardRef(\n function ButtonGroup2(props, ref) {\n const recipe = useRecipe({ key: \"button\" });\n const [variantProps, otherProps] = useMemo(\n () => recipe.splitVariantProps(props),\n [props, recipe]\n );\n return /* @__PURE__ */ jsx(ButtonPropsProvider, { value: variantProps, children: /* @__PURE__ */ jsx(Group, { ref, ...otherProps }) });\n }\n);\n\nexport { ButtonGroup };\n","import React, { useMemo } from \"react\";\nimport {\n ButtonGroup as CButtonGroup,\n ButtonGroupProps as CButtonGroupProps,\n} from \"@chakra-ui/react/button\";\nimport { GroupedButton } from \"./buttonGroup.types\";\nimport {\n ButtonConfigVariant,\n ButtonSize,\n ButtonVariant,\n} from \"components/Button/button.types\";\nimport { Button } from \"components/Button/button.component\";\nimport { SystemStyleObject, useRecipe } from \"@chakra-ui/react/styled-system\";\nimport { Menu, MenuProps } from \"components/Menu/menu.component\";\n\nexport interface ButtonGroupProps extends CButtonGroupProps {\n buttons: GroupedButton[];\n onContrast?: boolean;\n size?: ButtonSize;\n variant?: ButtonVariant;\n menuProps?: MenuProps;\n}\n\nexport const ButtonGroup = ({\n attached = true,\n borderColor,\n buttons,\n menuProps,\n onContrast = false,\n size = \"md\",\n variant = \"primary\",\n ...rest\n}: ButtonGroupProps): React.JSX.Element => {\n const computedVariant = useMemo(\n () => `${variant}${onContrast ? \"OnContrast\" : \"\"}` as ButtonConfigVariant,\n [onContrast, variant],\n );\n const recipe = useRecipe({ key: \"button\" });\n const styles = recipe({ variant: computedVariant })[\"@layer recipes\"];\n const computedBorderColor =\n styles?.borderColor !== \"var(--chakra-colors-transparent)\"\n ? styles?.borderColor\n : styles?.color;\n\n const buttonStyles: SystemStyleObject = {\n borderWidth: \"1px\",\n borderColor: borderColor || computedBorderColor,\n };\n\n return (\n <CButtonGroup\n className=\"ButtonGroup\"\n data-testid=\"kibble-button-group\"\n attached={attached}\n {...rest}\n >\n {buttons.map(({ key, ...rest }, index) => (\n <Button\n key={key || index}\n size={size}\n variant={variant}\n onContrast={onContrast}\n {...rest}\n {...(attached && buttonStyles)}\n />\n ))}\n {menuProps && (\n <Menu\n positioning={{ placement: \"bottom\" }}\n {...menuProps}\n buttonProps={{\n ...menuProps.buttonProps,\n size,\n variant,\n onContrast,\n ...(attached && {\n ...buttonStyles,\n borderTopLeftRadius: 0,\n borderBottomLeftRadius: 0,\n }),\n }}\n />\n )}\n </CButtonGroup>\n );\n};\n"],"names":["ButtonGroup","forwardRef","props","ref","recipe","useRecipe","variantProps","otherProps","useMemo","jsx","ButtonPropsProvider","Group","attached","borderColor","buttons","menuProps","onContrast","size","variant","rest","computedVariant","styles","computedBorderColor","buttonStyles","jsxs","CButtonGroup","key","index","Button","Menu"],"mappings":";;;;;;;AAQA,MAAMA,IAAcC;AAAA,EAClB,SAAsBC,GAAOC,GAAK;AAChC,UAAMC,IAASC,EAAU,EAAE,KAAK,SAAQ,CAAE,GACpC,CAACC,GAAcC,CAAU,IAAIC;AAAA,MACjC,MAAMJ,EAAO,kBAAkBF,CAAK;AAAA,MACpC,CAACA,GAAOE,CAAM;AAAA,IACf;AACD,WAAuBK,gBAAAA,EAAG,IAACC,GAAqB,EAAE,OAAOJ,GAAc,UAA0BG,gBAAAA,MAAIE,GAAO,EAAE,KAAAR,GAAK,GAAGI,EAAU,CAAE,EAAC,CAAE;AAAA,EACzI;AACA,GCMaP,IAAc,CAAC;AAAA,EAC1B,UAAAY,IAAW;AAAA,EACX,aAAAC;AAAA,EACA,SAAAC;AAAA,EACA,WAAAC;AAAA,EACA,YAAAC,IAAa;AAAA,EACb,MAAAC,IAAO;AAAA,EACP,SAAAC,IAAU;AAAA,EACV,GAAGC;AACL,MAA2C;AACzC,QAAMC,IAAkBZ;AAAA,IACtB,MAAM,GAAGU,CAAO,GAAGF,IAAa,eAAe,EAAE;AAAA,IACjD,CAACA,GAAYE,CAAO;AAAA,EACtB,GAEMG,IADShB,EAAU,EAAE,KAAK,UAAU,EACpB,EAAE,SAASe,EAAgB,CAAC,EAAE,gBAAgB,GAC9DE,IACJD,GAAQ,gBAAgB,qCACpBA,GAAQ,cACRA,GAAQ,OAERE,IAAkC;AAAA,IACtC,aAAa;AAAA,IACb,aAAaV,KAAeS;AAAA,EAC9B;AAGE,SAAAE,gBAAAA,EAAA;AAAA,IAACC;AAAAA,IAAA;AAAA,MACC,WAAU;AAAA,MACV,eAAY;AAAA,MACZ,UAAAb;AAAA,MACC,GAAGO;AAAA,MAEH,UAAA;AAAA,QAAAL,EAAQ,IAAI,CAAC,EAAE,KAAAY,GAAK,GAAGP,EAAAA,GAAQQ,MAC9BlB,gBAAAA,EAAA;AAAA,UAACmB;AAAA,UAAA;AAAA,YAEC,MAAAX;AAAA,YACA,SAAAC;AAAA,YACA,YAAAF;AAAA,YACC,GAAGG;AAAAA,YACH,GAAIP,KAAYW;AAAA,UAAA;AAAA,UALZG,KAAOC;AAAA,QAAA,CAOf;AAAA,QACAZ,KACCN,gBAAAA,EAAA;AAAA,UAACoB;AAAA,UAAA;AAAA,YACC,aAAa,EAAE,WAAW,SAAS;AAAA,YAClC,GAAGd;AAAA,YACJ,aAAa;AAAA,cACX,GAAGA,EAAU;AAAA,cACb,MAAAE;AAAA,cACA,SAAAC;AAAA,cACA,YAAAF;AAAA,cACA,GAAIJ,KAAY;AAAA,gBACd,GAAGW;AAAA,gBACH,qBAAqB;AAAA,gBACrB,wBAAwB;AAAA,cAAA;AAAA,YAC1B;AAAA,UACF;AAAA,QAAA;AAAA,MACF;AAAA,IAAA;AAAA,EAEJ;AAEJ;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"buttonGroup.component-D6hiZw3h.js","sources":["../../node_modules/@chakra-ui/react/dist/esm/components/button/button-group.js","../../src/components/ButtonGroup/buttonGroup.component.tsx"],"sourcesContent":["\"use strict\";\n\"use client\";\nimport { jsx } from 'react/jsx-runtime';\nimport { forwardRef, useMemo } from 'react';\nimport { useRecipe } from '../../styled-system/use-recipe.js';\nimport { ButtonPropsProvider } from './button.js';\nimport { Group } from '../group/group.js';\n\nconst ButtonGroup = forwardRef(\n function ButtonGroup2(props, ref) {\n const recipe = useRecipe({ key: \"button\" });\n const [variantProps, otherProps] = useMemo(\n () => recipe.splitVariantProps(props),\n [props, recipe]\n );\n return /* @__PURE__ */ jsx(ButtonPropsProvider, { value: variantProps, children: /* @__PURE__ */ jsx(Group, { ref, ...otherProps }) });\n }\n);\n\nexport { ButtonGroup };\n","import React, { useMemo } from \"react\";\nimport {\n ButtonGroup as CButtonGroup,\n ButtonGroupProps as CButtonGroupProps,\n} from \"@chakra-ui/react/button\";\nimport { GroupedButton } from \"./buttonGroup.types\";\nimport {\n ButtonConfigVariant,\n ButtonSize,\n ButtonVariant,\n} from \"components/Button/button.types\";\nimport { Button } from \"components/Button/button.component\";\nimport { SystemStyleObject, useRecipe } from \"@chakra-ui/react/styled-system\";\nimport { Menu, MenuProps } from \"components/Menu/menu.component\";\n\nexport interface ButtonGroupProps extends CButtonGroupProps {\n buttons: GroupedButton[];\n onContrast?: boolean;\n size?: ButtonSize;\n variant?: ButtonVariant;\n menuProps?: MenuProps;\n}\n\nexport const ButtonGroup = ({\n attached = true,\n borderColor,\n buttons,\n menuProps,\n onContrast = false,\n size = \"md\",\n variant = \"primary\",\n ...rest\n}: ButtonGroupProps): React.JSX.Element => {\n const computedVariant = useMemo(\n () => `${variant}${onContrast ? \"OnContrast\" : \"\"}` as ButtonConfigVariant,\n [onContrast, variant],\n );\n const recipe = useRecipe({ key: \"button\" });\n const styles = recipe({ variant: computedVariant })[\"@layer recipes\"];\n const computedBorderColor =\n styles?.borderColor !== \"var(--chakra-colors-transparent)\"\n ? styles?.borderColor\n : styles?.color;\n\n const buttonStyles: SystemStyleObject = {\n borderWidth: \"1px\",\n borderColor: borderColor || computedBorderColor,\n };\n\n return (\n <CButtonGroup\n className=\"ButtonGroup\"\n data-testid=\"kibble-button-group\"\n attached={attached}\n {...rest}\n >\n {buttons.map(({ key, ...rest }, index) => (\n <Button\n key={key || index}\n size={size}\n variant={variant}\n onContrast={onContrast}\n {...rest}\n {...(attached && buttonStyles)}\n />\n ))}\n {menuProps && (\n <Menu\n positioning={{ placement: \"bottom\" }}\n {...menuProps}\n buttonProps={{\n ...menuProps.buttonProps,\n size,\n variant,\n onContrast,\n ...(attached && {\n ...buttonStyles,\n borderTopLeftRadius: 0,\n borderBottomLeftRadius: 0,\n }),\n }}\n />\n )}\n </CButtonGroup>\n );\n};\n"],"names":["ButtonGroup","forwardRef","props","ref","recipe","useRecipe","variantProps","otherProps","useMemo","jsx","ButtonPropsProvider","Group","attached","borderColor","buttons","menuProps","onContrast","size","variant","rest","computedVariant","styles","computedBorderColor","buttonStyles","jsxs","CButtonGroup","key","index","Button","Menu"],"mappings":";;;;;;;AAQA,MAAMA,IAAcC;AAAA,EAClB,SAAsBC,GAAOC,GAAK;AAChC,UAAMC,IAASC,EAAU,EAAE,KAAK,SAAQ,CAAE,GACpC,CAACC,GAAcC,CAAU,IAAIC;AAAA,MACjC,MAAMJ,EAAO,kBAAkBF,CAAK;AAAA,MACpC,CAACA,GAAOE,CAAM;AAAA,IACf;AACD,WAAuBK,gBAAAA,EAAG,IAACC,GAAqB,EAAE,OAAOJ,GAAc,UAA0BG,gBAAAA,MAAIE,GAAO,EAAE,KAAAR,GAAK,GAAGI,EAAU,CAAE,EAAC,CAAE;AAAA,EACzI;AACA,GCMaP,IAAc,CAAC;AAAA,EAC1B,UAAAY,IAAW;AAAA,EACX,aAAAC;AAAA,EACA,SAAAC;AAAA,EACA,WAAAC;AAAA,EACA,YAAAC,IAAa;AAAA,EACb,MAAAC,IAAO;AAAA,EACP,SAAAC,IAAU;AAAA,EACV,GAAGC;AACL,MAA2C;AACzC,QAAMC,IAAkBZ;AAAA,IACtB,MAAM,GAAGU,CAAO,GAAGF,IAAa,eAAe,EAAE;AAAA,IACjD,CAACA,GAAYE,CAAO;AAAA,EACtB,GAEMG,IADShB,EAAU,EAAE,KAAK,UAAU,EACpB,EAAE,SAASe,EAAgB,CAAC,EAAE,gBAAgB,GAC9DE,IACJD,GAAQ,gBAAgB,qCACpBA,GAAQ,cACRA,GAAQ,OAERE,IAAkC;AAAA,IACtC,aAAa;AAAA,IACb,aAAaV,KAAeS;AAAA,EAC9B;AAGE,SAAAE,gBAAAA,EAAA;AAAA,IAACC;AAAAA,IAAA;AAAA,MACC,WAAU;AAAA,MACV,eAAY;AAAA,MACZ,UAAAb;AAAA,MACC,GAAGO;AAAA,MAEH,UAAA;AAAA,QAAAL,EAAQ,IAAI,CAAC,EAAE,KAAAY,GAAK,GAAGP,EAAAA,GAAQQ,MAC9BlB,gBAAAA,EAAA;AAAA,UAACmB;AAAA,UAAA;AAAA,YAEC,MAAAX;AAAA,YACA,SAAAC;AAAA,YACA,YAAAF;AAAA,YACC,GAAGG;AAAAA,YACH,GAAIP,KAAYW;AAAA,UAAA;AAAA,UALZG,KAAOC;AAAA,QAAA,CAOf;AAAA,QACAZ,KACCN,gBAAAA,EAAA;AAAA,UAACoB;AAAA,UAAA;AAAA,YACC,aAAa,EAAE,WAAW,SAAS;AAAA,YAClC,GAAGd;AAAA,YACJ,aAAa;AAAA,cACX,GAAGA,EAAU;AAAA,cACb,MAAAE;AAAA,cACA,SAAAC;AAAA,cACA,YAAAF;AAAA,cACA,GAAIJ,KAAY;AAAA,gBACd,GAAGW;AAAA,gBACH,qBAAqB;AAAA,gBACrB,wBAAwB;AAAA,cAAA;AAAA,YAC1B;AAAA,UACF;AAAA,QAAA;AAAA,MACF;AAAA,IAAA;AAAA,EAEJ;AAEJ;","x_google_ignoreList":[0]}
@@ -1,2 +1,2 @@
1
- "use strict";const e=require("./jsx-runtime-BjDatQAs.js"),p=require("react"),B=require("./button.component-ytAmAAJg.js"),q=require("./menu.component-CUgSsflu.js"),d=require("./use-recipe-N0abcau6.js"),f=require("./icon-button-B8so0CZl.js"),y=require("./group-aY0Z9jNw.js"),G=p.forwardRef(function(s,c){const o=d.useRecipe({key:"button"}),[t,u]=p.useMemo(()=>o.splitVariantProps(s),[s,o]);return e.jsxRuntimeExports.jsx(f.ButtonPropsProvider,{value:t,children:e.jsxRuntimeExports.jsx(y.Group,{ref:c,...u})})}),E=({attached:r=!0,borderColor:s,buttons:c,menuProps:o,onContrast:t=!1,size:u="md",variant:n="primary",...l})=>{const x=p.useMemo(()=>`${n}${t?"OnContrast":""}`,[t,n]),i=d.useRecipe({key:"button"})({variant:x})["@layer recipes"],b=i?.borderColor!=="var(--chakra-colors-transparent)"?i?.borderColor:i?.color,m={borderWidth:"1px",borderColor:s||b};return e.jsxRuntimeExports.jsxs(G,{className:"ButtonGroup","data-testid":"kibble-button-group",attached:r,...l,children:[c.map(({key:a,...R},j)=>e.jsxRuntimeExports.jsx(B.Button,{size:u,variant:n,onContrast:t,...R,...r&&m},a||j)),o&&e.jsxRuntimeExports.jsx(q.Menu,{positioning:{placement:"bottom"},...o,buttonProps:{...o.buttonProps,size:u,variant:n,onContrast:t,...r&&{...m,borderTopLeftRadius:0,borderBottomLeftRadius:0}}})]})};exports.ButtonGroup=E;
2
- //# sourceMappingURL=buttonGroup.component-Sr6-2Vc6.js.map
1
+ "use strict";const e=require("./jsx-runtime-BjDatQAs.js"),p=require("react"),B=require("./button.component-ytAmAAJg.js"),q=require("./menu.component-Dmj51ect.js"),d=require("./use-recipe-N0abcau6.js"),f=require("./icon-button-B8so0CZl.js"),y=require("./group-aY0Z9jNw.js"),G=p.forwardRef(function(s,c){const o=d.useRecipe({key:"button"}),[t,u]=p.useMemo(()=>o.splitVariantProps(s),[s,o]);return e.jsxRuntimeExports.jsx(f.ButtonPropsProvider,{value:t,children:e.jsxRuntimeExports.jsx(y.Group,{ref:c,...u})})}),E=({attached:r=!0,borderColor:s,buttons:c,menuProps:o,onContrast:t=!1,size:u="md",variant:n="primary",...l})=>{const x=p.useMemo(()=>`${n}${t?"OnContrast":""}`,[t,n]),i=d.useRecipe({key:"button"})({variant:x})["@layer recipes"],b=i?.borderColor!=="var(--chakra-colors-transparent)"?i?.borderColor:i?.color,m={borderWidth:"1px",borderColor:s||b};return e.jsxRuntimeExports.jsxs(G,{className:"ButtonGroup","data-testid":"kibble-button-group",attached:r,...l,children:[c.map(({key:a,...R},j)=>e.jsxRuntimeExports.jsx(B.Button,{size:u,variant:n,onContrast:t,...R,...r&&m},a||j)),o&&e.jsxRuntimeExports.jsx(q.Menu,{positioning:{placement:"bottom"},...o,buttonProps:{...o.buttonProps,size:u,variant:n,onContrast:t,...r&&{...m,borderTopLeftRadius:0,borderBottomLeftRadius:0}}})]})};exports.ButtonGroup=E;
2
+ //# sourceMappingURL=buttonGroup.component-DfFsqukz.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"buttonGroup.component-Sr6-2Vc6.js","sources":["../../node_modules/@chakra-ui/react/dist/esm/components/button/button-group.js","../../src/components/ButtonGroup/buttonGroup.component.tsx"],"sourcesContent":["\"use strict\";\n\"use client\";\nimport { jsx } from 'react/jsx-runtime';\nimport { forwardRef, useMemo } from 'react';\nimport { useRecipe } from '../../styled-system/use-recipe.js';\nimport { ButtonPropsProvider } from './button.js';\nimport { Group } from '../group/group.js';\n\nconst ButtonGroup = forwardRef(\n function ButtonGroup2(props, ref) {\n const recipe = useRecipe({ key: \"button\" });\n const [variantProps, otherProps] = useMemo(\n () => recipe.splitVariantProps(props),\n [props, recipe]\n );\n return /* @__PURE__ */ jsx(ButtonPropsProvider, { value: variantProps, children: /* @__PURE__ */ jsx(Group, { ref, ...otherProps }) });\n }\n);\n\nexport { ButtonGroup };\n","import React, { useMemo } from \"react\";\nimport {\n ButtonGroup as CButtonGroup,\n ButtonGroupProps as CButtonGroupProps,\n} from \"@chakra-ui/react/button\";\nimport { GroupedButton } from \"./buttonGroup.types\";\nimport {\n ButtonConfigVariant,\n ButtonSize,\n ButtonVariant,\n} from \"components/Button/button.types\";\nimport { Button } from \"components/Button/button.component\";\nimport { SystemStyleObject, useRecipe } from \"@chakra-ui/react/styled-system\";\nimport { Menu, MenuProps } from \"components/Menu/menu.component\";\n\nexport interface ButtonGroupProps extends CButtonGroupProps {\n buttons: GroupedButton[];\n onContrast?: boolean;\n size?: ButtonSize;\n variant?: ButtonVariant;\n menuProps?: MenuProps;\n}\n\nexport const ButtonGroup = ({\n attached = true,\n borderColor,\n buttons,\n menuProps,\n onContrast = false,\n size = \"md\",\n variant = \"primary\",\n ...rest\n}: ButtonGroupProps): React.JSX.Element => {\n const computedVariant = useMemo(\n () => `${variant}${onContrast ? \"OnContrast\" : \"\"}` as ButtonConfigVariant,\n [onContrast, variant],\n );\n const recipe = useRecipe({ key: \"button\" });\n const styles = recipe({ variant: computedVariant })[\"@layer recipes\"];\n const computedBorderColor =\n styles?.borderColor !== \"var(--chakra-colors-transparent)\"\n ? styles?.borderColor\n : styles?.color;\n\n const buttonStyles: SystemStyleObject = {\n borderWidth: \"1px\",\n borderColor: borderColor || computedBorderColor,\n };\n\n return (\n <CButtonGroup\n className=\"ButtonGroup\"\n data-testid=\"kibble-button-group\"\n attached={attached}\n {...rest}\n >\n {buttons.map(({ key, ...rest }, index) => (\n <Button\n key={key || index}\n size={size}\n variant={variant}\n onContrast={onContrast}\n {...rest}\n {...(attached && buttonStyles)}\n />\n ))}\n {menuProps && (\n <Menu\n positioning={{ placement: \"bottom\" }}\n {...menuProps}\n buttonProps={{\n ...menuProps.buttonProps,\n size,\n variant,\n onContrast,\n ...(attached && {\n ...buttonStyles,\n borderTopLeftRadius: 0,\n borderBottomLeftRadius: 0,\n }),\n }}\n />\n )}\n </CButtonGroup>\n );\n};\n"],"names":["ButtonGroup","forwardRef","props","ref","recipe","useRecipe","variantProps","otherProps","useMemo","jsx","ButtonPropsProvider","Group","attached","borderColor","buttons","menuProps","onContrast","size","variant","rest","computedVariant","styles","computedBorderColor","buttonStyles","jsxs","CButtonGroup","key","index","Button","Menu"],"mappings":"iRAQMA,EAAcC,EAAU,WAC5B,SAAsBC,EAAOC,EAAK,CAChC,MAAMC,EAASC,EAAS,UAAC,CAAE,IAAK,QAAQ,CAAE,EACpC,CAACC,EAAcC,CAAU,EAAIC,EAAO,QACxC,IAAMJ,EAAO,kBAAkBF,CAAK,EACpC,CAACA,EAAOE,CAAM,CACf,EACD,OAAuBK,EAAG,kBAAA,IAACC,EAAmB,oBAAE,CAAE,MAAOJ,EAAc,SAA0BG,wBAAIE,EAAAA,MAAO,CAAE,IAAAR,EAAK,GAAGI,CAAU,CAAE,CAAC,CAAE,CACzI,CACA,ECMaP,EAAc,CAAC,CAC1B,SAAAY,EAAW,GACX,YAAAC,EACA,QAAAC,EACA,UAAAC,EACA,WAAAC,EAAa,GACb,KAAAC,EAAO,KACP,QAAAC,EAAU,UACV,GAAGC,CACL,IAA2C,CACzC,MAAMC,EAAkBZ,EAAA,QACtB,IAAM,GAAGU,CAAO,GAAGF,EAAa,aAAe,EAAE,GACjD,CAACA,EAAYE,CAAO,CACtB,EAEMG,EADShB,EAAA,UAAU,CAAE,IAAK,SAAU,EACpB,CAAE,QAASe,CAAgB,CAAC,EAAE,gBAAgB,EAC9DE,EACJD,GAAQ,cAAgB,mCACpBA,GAAQ,YACRA,GAAQ,MAERE,EAAkC,CACtC,YAAa,MACb,YAAaV,GAAeS,CAC9B,EAGE,OAAAE,EAAA,kBAAA,KAACC,EAAA,CACC,UAAU,cACV,cAAY,sBACZ,SAAAb,EACC,GAAGO,EAEH,SAAA,CAAAL,EAAQ,IAAI,CAAC,CAAE,IAAAY,EAAK,GAAGP,CAAAA,EAAQQ,IAC9BlB,EAAA,kBAAA,IAACmB,EAAA,OAAA,CAEC,KAAAX,EACA,QAAAC,EACA,WAAAF,EACC,GAAGG,EACH,GAAIP,GAAYW,CAAA,EALZG,GAAOC,CAAA,CAOf,EACAZ,GACCN,EAAA,kBAAA,IAACoB,EAAA,KAAA,CACC,YAAa,CAAE,UAAW,QAAS,EAClC,GAAGd,EACJ,YAAa,CACX,GAAGA,EAAU,YACb,KAAAE,EACA,QAAAC,EACA,WAAAF,EACA,GAAIJ,GAAY,CACd,GAAGW,EACH,oBAAqB,EACrB,uBAAwB,CAAA,CAC1B,CACF,CAAA,CACF,CAAA,CAEJ,CAEJ","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"buttonGroup.component-DfFsqukz.js","sources":["../../node_modules/@chakra-ui/react/dist/esm/components/button/button-group.js","../../src/components/ButtonGroup/buttonGroup.component.tsx"],"sourcesContent":["\"use strict\";\n\"use client\";\nimport { jsx } from 'react/jsx-runtime';\nimport { forwardRef, useMemo } from 'react';\nimport { useRecipe } from '../../styled-system/use-recipe.js';\nimport { ButtonPropsProvider } from './button.js';\nimport { Group } from '../group/group.js';\n\nconst ButtonGroup = forwardRef(\n function ButtonGroup2(props, ref) {\n const recipe = useRecipe({ key: \"button\" });\n const [variantProps, otherProps] = useMemo(\n () => recipe.splitVariantProps(props),\n [props, recipe]\n );\n return /* @__PURE__ */ jsx(ButtonPropsProvider, { value: variantProps, children: /* @__PURE__ */ jsx(Group, { ref, ...otherProps }) });\n }\n);\n\nexport { ButtonGroup };\n","import React, { useMemo } from \"react\";\nimport {\n ButtonGroup as CButtonGroup,\n ButtonGroupProps as CButtonGroupProps,\n} from \"@chakra-ui/react/button\";\nimport { GroupedButton } from \"./buttonGroup.types\";\nimport {\n ButtonConfigVariant,\n ButtonSize,\n ButtonVariant,\n} from \"components/Button/button.types\";\nimport { Button } from \"components/Button/button.component\";\nimport { SystemStyleObject, useRecipe } from \"@chakra-ui/react/styled-system\";\nimport { Menu, MenuProps } from \"components/Menu/menu.component\";\n\nexport interface ButtonGroupProps extends CButtonGroupProps {\n buttons: GroupedButton[];\n onContrast?: boolean;\n size?: ButtonSize;\n variant?: ButtonVariant;\n menuProps?: MenuProps;\n}\n\nexport const ButtonGroup = ({\n attached = true,\n borderColor,\n buttons,\n menuProps,\n onContrast = false,\n size = \"md\",\n variant = \"primary\",\n ...rest\n}: ButtonGroupProps): React.JSX.Element => {\n const computedVariant = useMemo(\n () => `${variant}${onContrast ? \"OnContrast\" : \"\"}` as ButtonConfigVariant,\n [onContrast, variant],\n );\n const recipe = useRecipe({ key: \"button\" });\n const styles = recipe({ variant: computedVariant })[\"@layer recipes\"];\n const computedBorderColor =\n styles?.borderColor !== \"var(--chakra-colors-transparent)\"\n ? styles?.borderColor\n : styles?.color;\n\n const buttonStyles: SystemStyleObject = {\n borderWidth: \"1px\",\n borderColor: borderColor || computedBorderColor,\n };\n\n return (\n <CButtonGroup\n className=\"ButtonGroup\"\n data-testid=\"kibble-button-group\"\n attached={attached}\n {...rest}\n >\n {buttons.map(({ key, ...rest }, index) => (\n <Button\n key={key || index}\n size={size}\n variant={variant}\n onContrast={onContrast}\n {...rest}\n {...(attached && buttonStyles)}\n />\n ))}\n {menuProps && (\n <Menu\n positioning={{ placement: \"bottom\" }}\n {...menuProps}\n buttonProps={{\n ...menuProps.buttonProps,\n size,\n variant,\n onContrast,\n ...(attached && {\n ...buttonStyles,\n borderTopLeftRadius: 0,\n borderBottomLeftRadius: 0,\n }),\n }}\n />\n )}\n </CButtonGroup>\n );\n};\n"],"names":["ButtonGroup","forwardRef","props","ref","recipe","useRecipe","variantProps","otherProps","useMemo","jsx","ButtonPropsProvider","Group","attached","borderColor","buttons","menuProps","onContrast","size","variant","rest","computedVariant","styles","computedBorderColor","buttonStyles","jsxs","CButtonGroup","key","index","Button","Menu"],"mappings":"iRAQMA,EAAcC,EAAU,WAC5B,SAAsBC,EAAOC,EAAK,CAChC,MAAMC,EAASC,EAAS,UAAC,CAAE,IAAK,QAAQ,CAAE,EACpC,CAACC,EAAcC,CAAU,EAAIC,EAAO,QACxC,IAAMJ,EAAO,kBAAkBF,CAAK,EACpC,CAACA,EAAOE,CAAM,CACf,EACD,OAAuBK,EAAG,kBAAA,IAACC,EAAmB,oBAAE,CAAE,MAAOJ,EAAc,SAA0BG,wBAAIE,EAAAA,MAAO,CAAE,IAAAR,EAAK,GAAGI,CAAU,CAAE,CAAC,CAAE,CACzI,CACA,ECMaP,EAAc,CAAC,CAC1B,SAAAY,EAAW,GACX,YAAAC,EACA,QAAAC,EACA,UAAAC,EACA,WAAAC,EAAa,GACb,KAAAC,EAAO,KACP,QAAAC,EAAU,UACV,GAAGC,CACL,IAA2C,CACzC,MAAMC,EAAkBZ,EAAA,QACtB,IAAM,GAAGU,CAAO,GAAGF,EAAa,aAAe,EAAE,GACjD,CAACA,EAAYE,CAAO,CACtB,EAEMG,EADShB,EAAA,UAAU,CAAE,IAAK,SAAU,EACpB,CAAE,QAASe,CAAgB,CAAC,EAAE,gBAAgB,EAC9DE,EACJD,GAAQ,cAAgB,mCACpBA,GAAQ,YACRA,GAAQ,MAERE,EAAkC,CACtC,YAAa,MACb,YAAaV,GAAeS,CAC9B,EAGE,OAAAE,EAAA,kBAAA,KAACC,EAAA,CACC,UAAU,cACV,cAAY,sBACZ,SAAAb,EACC,GAAGO,EAEH,SAAA,CAAAL,EAAQ,IAAI,CAAC,CAAE,IAAAY,EAAK,GAAGP,CAAAA,EAAQQ,IAC9BlB,EAAA,kBAAA,IAACmB,EAAA,OAAA,CAEC,KAAAX,EACA,QAAAC,EACA,WAAAF,EACC,GAAGG,EACH,GAAIP,GAAYW,CAAA,EALZG,GAAOC,CAAA,CAOf,EACAZ,GACCN,EAAA,kBAAA,IAACoB,EAAA,KAAA,CACC,YAAa,CAAE,UAAW,QAAS,EAClC,GAAGd,EACJ,YAAa,CACX,GAAGA,EAAU,YACb,KAAAE,EACA,QAAAC,EACA,WAAAF,EACA,GAAIJ,GAAY,CACd,GAAGW,EACH,oBAAqB,EACrB,uBAAwB,CAAA,CAC1B,CACF,CAAA,CACF,CAAA,CAEJ,CAEJ","x_google_ignoreList":[0]}
@@ -13,7 +13,7 @@ import { H as m } from "./h-stack-iIc7vTB3.js";
13
13
  import { V as F } from "./v-stack-IBysx2n3.js";
14
14
  import { B as C } from "./box-y05hq0PT.js";
15
15
  import { B as _ } from "./button.component-BWlRjD5a.js";
16
- import { M as O } from "./menu.component-BIQYdh3w.js";
16
+ import { M as O } from "./menu.component-BKyUQEqg.js";
17
17
  import { T as R } from "./tag.component-D_8Wr2wv.js";
18
18
  import { W as M, a as w } from "./wrap-DrLrXdlw.js";
19
19
  const A = ({
@@ -384,4 +384,4 @@ const A = ({
384
384
  export {
385
385
  de as C
386
386
  };
387
- //# sourceMappingURL=conversationCard.component-BnwJO_zP.js.map
387
+ //# sourceMappingURL=conversationCard.component-D1Vy47Vk.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"conversationCard.component-BnwJO_zP.js","sources":["../../src/components/ConversationCard/components/ConversationCardAvatarGroup/conversationCardAvatarGroup.component.tsx","../../src/components/ConversationCard/components/ConversationCardHeader/conversationCardHeader.component.tsx","../../src/components/ConversationCard/components/ConversationCardButtons/conversationCardButtons.component.tsx","../../src/components/ConversationCard/components/ConversationCardTags/conversationCardTags.component.tsx","../../src/components/ConversationCard/components/ConversationCardFooter/conversationCardFooter.component.tsx","../../src/components/ConversationCard/components/ConversationCardContent/conversationCardContent.component.tsx","../../src/components/ConversationCard/conversationCard.component.tsx"],"sourcesContent":["import React from \"react\";\nimport { Flex } from \"@chakra-ui/react/flex\";\nimport { Avatar } from \"components/Avatar/avatar.component\";\nimport { Tooltip } from \"components/Tooltip/tooltip.component\";\n\nexport interface ConversationCardAvatarGroupProps {\n avatars: React.ReactNode[];\n max?: number;\n onAvatarGroupClick?: (\n e: React.MouseEvent<HTMLSpanElement, MouseEvent>,\n ) => void;\n tooltipLabel?: string;\n}\n\nexport const ConversationCardAvatarGroup = ({\n avatars,\n max = 1,\n onAvatarGroupClick,\n tooltipLabel,\n}: ConversationCardAvatarGroupProps): React.JSX.Element => {\n return (\n <Tooltip label={tooltipLabel || \"\"} disabled={!tooltipLabel?.length}>\n <Flex\n className=\"ConversationCard__AvatarGroup\"\n alignItems=\"flex-start\"\n justifyContent=\"flex-start\"\n >\n {max && avatars.length > max ? (\n <Avatar\n onClick={(e): void => {\n e.stopPropagation();\n if (onAvatarGroupClick) {\n onAvatarGroupClick(e);\n }\n }}\n cursor=\"pointer\"\n name={avatars.length.toString()}\n showTooltip={false}\n />\n ) : (\n <>{avatars.map((avatar) => avatar)}</>\n )}\n </Flex>\n </Tooltip>\n );\n};\n","import React from \"react\";\nimport { Box } from \"@chakra-ui/react/box\";\nimport { Flex } from \"@chakra-ui/react/flex\";\nimport { HStack, VStack } from \"@chakra-ui/react/stack\";\nimport {\n Timestamp,\n TimestampProps,\n} from \"components/Timestamp/timestamp.component\";\nimport { NotificationCounter } from \"components/NotificationCounter/notificationCounter.component\";\nimport { Icon } from \"components/Icon/icon.component\";\nimport { Heading } from \"components/Heading/heading.component\";\nimport { Text } from \"components/Text/text.component\";\nimport {\n ConversationCardAvatarGroup,\n ConversationCardAvatarGroupProps,\n} from \"../ConversationCardAvatarGroup/conversationCardAvatarGroup.component\";\n\nexport interface ConversationCardHeaderProps {\n avatarGroupProps?: ConversationCardAvatarGroupProps;\n showNotificationIndicator?: boolean;\n isCardPinned?: boolean;\n isHoveringCard?: boolean;\n subtitle?: string;\n timestampProps: TimestampProps;\n title: string;\n}\n\nexport const ConversationCardHeader = ({\n avatarGroupProps,\n timestampProps,\n isHoveringCard,\n isCardPinned,\n title,\n showNotificationIndicator,\n subtitle,\n}: ConversationCardHeaderProps): React.JSX.Element => {\n return (\n <HStack\n className=\"ConversationCard__Header\"\n data-testid=\"kibble-conversation-card-header\"\n justify=\"space-between\"\n align=\"flex-start\"\n >\n <HStack\n className=\"ConversationCard__Header--Left\"\n data-testid=\"kibble-conversation-card-header-left\"\n cursor=\"pointer\"\n >\n {avatarGroupProps && (\n <ConversationCardAvatarGroup\n {...avatarGroupProps}\n tooltipLabel={avatarGroupProps?.tooltipLabel || title}\n />\n )}\n <VStack\n className=\"ConversationCard__HeaderText\"\n data-testid=\"kibble-conversation-card-header-text\"\n justify=\"center\"\n align=\"left\"\n gap=\"0\"\n >\n <Heading\n className=\"ConversationCard__HeaderText--Title\"\n data-testid=\"kibble-conversation-card-header-title\"\n size=\"sm\"\n truncated\n >\n {title}\n </Heading>\n {subtitle && (\n <Text\n className=\"ConversationCard__HeaderText--Subtitle\"\n data-testid=\"kibble-conversation-card-header-subtitle\"\n as=\"p\"\n size=\"sm\"\n variant=\"subtle\"\n truncated\n >\n {subtitle}\n </Text>\n )}\n </VStack>\n </HStack>\n <HStack\n className=\"ConversationCard__Header--Right\"\n data-testid=\"kibble-conversation-card-header-right\"\n visibility={isHoveringCard ? \"hidden\" : \"visible\"}\n align=\"center\"\n gap={1}\n >\n <Timestamp {...timestampProps} />\n {showNotificationIndicator && (\n <Box\n as=\"span\"\n className=\"ConversationCard__HeaderNotificationCounter\"\n data-testid=\"conversation-card-unread-indicator\"\n >\n <NotificationCounter size=\"xs\" />\n </Box>\n )}\n {isCardPinned && (\n <Flex data-testid=\"conversation-card-pinned-icon\">\n <Icon size=\"md\" variant=\"info\" name=\"pin\" />\n </Flex>\n )}\n </HStack>\n </HStack>\n );\n};\n","import React from \"react\";\nimport { HStack } from \"@chakra-ui/react/stack\";\nimport { Button } from \"components/Button/button.component\";\nimport { Icon } from \"components/Icon/icon.component\";\nimport { Menu, MenuProps, MenuItemProps } from \"components/Menu\";\n\nexport interface ConversationCardOverlayProps {\n isOpenInOverlay?: boolean;\n onOpenInOverlay: () => void;\n}\n\nexport interface ConversationCardPinProps {\n isPinned?: boolean;\n onTogglePin: (isPinned: boolean) => void;\n}\n\nexport interface ConversationCardButtonsProps {\n overlayProps?: ConversationCardOverlayProps;\n pinProps?: ConversationCardPinProps;\n headerMenuProps?: MenuProps;\n}\n\ninterface ConversationCardButtonsComponentProps\n extends ConversationCardButtonsProps {\n isHovering: boolean;\n setIsHovering: (isHovering: boolean) => void;\n}\n\nexport const ConversationCardButtons = ({\n overlayProps,\n pinProps,\n headerMenuProps,\n isHovering,\n setIsHovering,\n}: ConversationCardButtonsComponentProps): React.JSX.Element => {\n const { isOpenInOverlay, onOpenInOverlay } = overlayProps || {};\n const { isPinned, onTogglePin } = pinProps || {};\n const { listProps } = headerMenuProps || {};\n const pinIconName = isPinned ? \"pinCancel\" : \"pin\";\n\n return (\n <HStack\n className=\"ConversationCard__Menu\"\n data-testid=\"kibble-conversation-card-menu\"\n gap={1}\n >\n {overlayProps && (\n <Button\n className=\"ConversationCard__OverlayButton\"\n data-testid=\"conversation-card-overlay-icon-button\"\n variant=\"secondarySubtle\"\n borderRadius=\"sm\"\n {...(isOpenInOverlay && { active: true })}\n onClick={(): void => {\n if (onOpenInOverlay) {\n onOpenInOverlay();\n }\n\n if (isHovering) {\n setIsHovering(false);\n }\n }}\n iconName=\"popup\"\n size=\"sm\"\n />\n )}\n {pinProps && (\n <Button\n className=\"ConversationCard__PinButton\"\n data-testid=\"conversation-card-pin-toggle-icon-button\"\n variant={isPinned ? \"secondarySubtleDestructive\" : \"secondarySubtle\"}\n borderRadius=\"sm\"\n onClick={(): void => {\n if (onTogglePin) {\n onTogglePin(!isPinned);\n }\n\n if (isHovering) {\n setIsHovering(false);\n }\n }}\n iconName={pinIconName}\n size=\"sm\"\n />\n )}\n {headerMenuProps && (\n <Menu\n buttonProps={\n headerMenuProps.buttonProps || {\n variant: \"secondarySubtle\",\n size: \"sm\",\n borderRadius: \"sm\",\n iconName: \"dotsVertical\",\n hideCaret: true,\n padding: 0,\n }\n }\n closeOnSelect={false}\n lazyMount\n {...headerMenuProps}\n listProps={{\n ...listProps,\n menuItems: [\n ...(pinProps\n ? [\n {\n \"data-testid\":\n \"conversation-card-pin-toggle-dropdown-button\",\n label: `${isPinned ? \"Unpin\" : \"Pin\"} Conversation`,\n value: \"PinConversation\",\n variant: isPinned ? \"danger\" : \"default\",\n leftElement: (\n <Icon\n size=\"md\"\n variant={isPinned ? \"danger\" : \"default\"}\n name={pinIconName}\n />\n ),\n onSelect: (): void => {\n if (onTogglePin) {\n onTogglePin(!isPinned);\n }\n },\n } as MenuItemProps,\n ]\n : []),\n ...(listProps?.menuItems || []),\n ],\n }}\n />\n )}\n </HStack>\n );\n};\n","import React from \"react\";\nimport { Box } from \"@chakra-ui/react/box\";\nimport { Wrap, WrapItem } from \"@chakra-ui/react/wrap\";\nimport { Tag, TagProps } from \"components/Tag/tag.component\";\nimport { Tooltip } from \"components/Tooltip/tooltip.component\";\n\nexport type ConversationCardTag = TagProps & {\n tooltipContent?: string;\n};\n\nexport interface ConversationCardTagsProps {\n tags: ConversationCardTag[];\n}\n\nexport const ConversationCardTags = ({\n tags,\n}: ConversationCardTagsProps): React.JSX.Element => {\n return (\n <Box className=\"ConversationCard__Tags\" mt={3}>\n <Wrap gap=\"6px\">\n {tags.map((tag) => {\n const { tooltipContent, ...rest } = tag;\n let tagElement = (\n <Tag {...rest} size=\"sm\" textTransform=\"capitalize\" />\n );\n\n if (tooltipContent) {\n tagElement = (\n <Tooltip label={tooltipContent} placement=\"top\">\n <Box>{tagElement}</Box>\n </Tooltip>\n );\n }\n\n return <WrapItem key={tag.label}>{tagElement}</WrapItem>;\n })}\n </Wrap>\n </Box>\n );\n};\n","import React from \"react\";\nimport { Flex } from \"@chakra-ui/react/flex\";\nimport { Icon, IconProps } from \"components/Icon/icon.component\";\nimport { Text, TextProps } from \"components/Text/text.component\";\n\nexport interface ConversationCardFooterProps {\n iconProps?: IconProps;\n content: React.ReactNode;\n contentProps?: Omit<TextProps, \"children\">;\n}\n\nexport const ConversationCardFooter = ({\n iconProps,\n content,\n contentProps,\n}: ConversationCardFooterProps): React.JSX.Element => {\n const _content =\n typeof content === \"string\" ? (\n <Text\n className=\"ConversationCard__FooterMessage\"\n data-testid=\"kibble-conversation-card-footer-message\"\n as=\"p\"\n size=\"sm\"\n variant=\"subtle\"\n {...contentProps}\n {...(iconProps && { ml: 1 })}\n >\n {content}\n </Text>\n ) : (\n content\n );\n return (\n <Flex\n className=\"ConversationCard__Footer\"\n data-testid=\"kibble-conversation-card-footer\"\n mt={3}\n alignItems=\"center\"\n >\n {iconProps && <Icon size=\"sm\" variant=\"subtle\" {...iconProps} />}\n {_content}\n </Flex>\n );\n};\n","import React from \"react\";\nimport { Box } from \"@chakra-ui/react/box\";\nimport { HStack } from \"@chakra-ui/react/stack\";\nimport { Text, TextProps } from \"components/Text/text.component\";\n\nexport interface ConversationCardContentProps {\n content?: React.ReactNode;\n contentProps?: Omit<TextProps, \"children\">;\n contentMenu?: React.ReactNode;\n}\n\nexport const ConversationCardContent = ({\n contentMenu,\n content,\n contentProps,\n}: ConversationCardContentProps): React.JSX.Element => {\n const _content =\n typeof content === \"string\" ? (\n <Text\n className=\"ConversationCard__Content\"\n data-testid=\"kibble-conversation-card-content\"\n truncated\n size=\"sm\"\n {...contentProps}\n >\n {content}\n </Text>\n ) : (\n content\n );\n\n return (\n <HStack\n className=\"ConversationCard__ContentContainer\"\n data-testid=\"kibble-conversation-card-content-container\"\n mt={3}\n justifyContent=\"space-between\"\n alignItems=\"center\"\n >\n {_content}\n {contentMenu && (\n <Box\n className=\"ConversationCard__ContentMenu\"\n data-testid=\"kibble-conversation-card-content-menu\"\n ml=\"auto\"\n >\n {contentMenu}\n </Box>\n )}\n </HStack>\n );\n};\n","import React, { useState } from \"react\";\nimport { Box } from \"@chakra-ui/react/box\";\nimport { Card } from \"components/Card/card.component\";\nimport { MenuProps } from \"components/Menu/menu.component\";\nimport {\n ConversationCardHeader,\n ConversationCardHeaderProps,\n} from \"./components/ConversationCardHeader/conversationCardHeader.component\";\nimport {\n ConversationCardButtons,\n ConversationCardOverlayProps,\n ConversationCardPinProps,\n} from \"./components/ConversationCardButtons/conversationCardButtons.component\";\nimport {\n ConversationCardTag,\n ConversationCardTags,\n} from \"./components/ConversationCardTags/conversationCardTags.component\";\nimport {\n ConversationCardFooter,\n ConversationCardFooterProps,\n} from \"./components/ConversationCardFooter/conversationCardFooter.component\";\nimport {\n ConversationCardContent,\n ConversationCardContentProps,\n} from \"./components/ConversationCardContent/conversationCardContent.component\";\nimport { ConversationCardAvatarGroupProps } from \"./components/ConversationCardAvatarGroup/conversationCardAvatarGroup.component\";\n\nexport interface ConversationCardProps extends ConversationCardContentProps {\n allowHoverActions?: boolean;\n avatarGroupProps?: ConversationCardAvatarGroupProps;\n footerProps?: ConversationCardFooterProps;\n headerMenuProps?: MenuProps;\n headerProps: ConversationCardHeaderProps;\n active?: boolean;\n onClick?: () => void;\n overlayProps?: ConversationCardOverlayProps;\n pinProps?: ConversationCardPinProps;\n shouldPreservePosition?: boolean;\n showNotificationIndicator?: boolean;\n tags?: ConversationCardTag[];\n}\n\nexport const ConversationCard = ({\n allowHoverActions = true,\n avatarGroupProps,\n content,\n contentProps,\n contentMenu,\n footerProps,\n headerMenuProps,\n headerProps,\n active,\n onClick,\n overlayProps,\n pinProps,\n shouldPreservePosition = false,\n showNotificationIndicator,\n tags,\n}: ConversationCardProps): React.JSX.Element => {\n const { isPinned } = pinProps || {};\n const [isHovering, setIsHovering] = useState(false);\n\n return (\n <Card\n className=\"ConversationCard\"\n id=\"conversation-card-item\"\n data-testid=\"kibble-conversation-card\"\n interactive\n active={active}\n size=\"sm\"\n fullWidth\n onClick={(): void => {\n if (onClick) {\n onClick();\n }\n }}\n bg={\n showNotificationIndicator || active || isHovering\n ? \"background.default\"\n : \"background.alphaContrast.pressed\"\n }\n onMouseEnter={(): void => {\n if (allowHoverActions) {\n setIsHovering(true);\n }\n }}\n onMouseLeave={(): void => setIsHovering(false)}\n pos=\"relative\"\n css={{ overflowAnchor: shouldPreservePosition ? \"auto\" : \"none\" }}\n >\n {isHovering && (\n <Box\n className=\"ConversationCard__Menu--Container\"\n data-testid=\"kibble-conversation-card-menu-container\"\n pos=\"absolute\"\n top={2}\n zIndex=\"banner\"\n right={2}\n bg=\"background\"\n borderRadius=\"md\"\n onClick={(e): void => e.stopPropagation()}\n >\n <ConversationCardButtons\n overlayProps={overlayProps}\n pinProps={pinProps}\n headerMenuProps={headerMenuProps}\n isHovering={isHovering}\n setIsHovering={setIsHovering}\n />\n </Box>\n )}\n <ConversationCardHeader\n avatarGroupProps={avatarGroupProps}\n isHoveringCard={isHovering}\n isCardPinned={isPinned}\n showNotificationIndicator={showNotificationIndicator}\n {...headerProps}\n />\n <ConversationCardContent\n content={content}\n contentProps={contentProps}\n contentMenu={contentMenu}\n />\n {!!tags?.length && <ConversationCardTags tags={tags} />}\n {footerProps && <ConversationCardFooter {...footerProps} />}\n </Card>\n );\n};\n"],"names":["ConversationCardAvatarGroup","avatars","max","onAvatarGroupClick","tooltipLabel","jsx","Tooltip","Flex","Avatar","e","Fragment","avatar","ConversationCardHeader","avatarGroupProps","timestampProps","isHoveringCard","isCardPinned","title","showNotificationIndicator","subtitle","jsxs","HStack","VStack","Heading","Text","Timestamp","Box","NotificationCounter","Icon","ConversationCardButtons","overlayProps","pinProps","headerMenuProps","isHovering","setIsHovering","isOpenInOverlay","onOpenInOverlay","isPinned","onTogglePin","listProps","pinIconName","Button","Menu","ConversationCardTags","tags","Wrap","tag","tooltipContent","rest","tagElement","Tag","WrapItem","ConversationCardFooter","iconProps","content","contentProps","_content","ConversationCardContent","contentMenu","ConversationCard","allowHoverActions","footerProps","headerProps","active","onClick","shouldPreservePosition","useState","Card"],"mappings":";;;;;;;;;;;;;;;;;;AAcO,MAAMA,IAA8B,CAAC;AAAA,EAC1C,SAAAC;AAAA,EACA,KAAAC,IAAM;AAAA,EACN,oBAAAC;AAAA,EACA,cAAAC;AACF,MAEIC,gBAAAA,MAACC,KAAQ,OAAOF,KAAgB,IAAI,UAAU,CAACA,GAAc,QAC3D,UAAAC,gBAAAA,EAAA;AAAA,EAACE;AAAA,EAAA;AAAA,IACC,WAAU;AAAA,IACV,YAAW;AAAA,IACX,gBAAe;AAAA,IAEd,UAAAL,KAAOD,EAAQ,SAASC,IACvBG,gBAAAA,EAAA;AAAA,MAACG;AAAA,MAAA;AAAA,QACC,SAAS,CAACC,MAAY;AACpB,UAAAA,EAAE,gBAAgB,GACdN,KACFA,EAAmBM,CAAC;AAAA,QAExB;AAAA,QACA,QAAO;AAAA,QACP,MAAMR,EAAQ,OAAO,SAAS;AAAA,QAC9B,aAAa;AAAA,MAAA;AAAA,IAAA,IAGZI,gBAAAA,EAAA,IAAAK,EAAA,UAAA,EAAA,UAAAT,EAAQ,IAAI,CAACU,MAAWA,CAAM,EAAE,CAAA;AAAA,EAAA;AAAA,GAGzC,GChBSC,IAAyB,CAAC;AAAA,EACrC,kBAAAC;AAAA,EACA,gBAAAC;AAAA,EACA,gBAAAC;AAAA,EACA,cAAAC;AAAA,EACA,OAAAC;AAAA,EACA,2BAAAC;AAAA,EACA,UAAAC;AACF,MAEIC,gBAAAA,EAAA;AAAA,EAACC;AAAA,EAAA;AAAA,IACC,WAAU;AAAA,IACV,eAAY;AAAA,IACZ,SAAQ;AAAA,IACR,OAAM;AAAA,IAEN,UAAA;AAAA,MAAAD,gBAAAA,EAAA;AAAA,QAACC;AAAA,QAAA;AAAA,UACC,WAAU;AAAA,UACV,eAAY;AAAA,UACZ,QAAO;AAAA,UAEN,UAAA;AAAA,YACCR,KAAAR,gBAAAA,EAAA;AAAA,cAACL;AAAA,cAAA;AAAA,gBACE,GAAGa;AAAA,gBACJ,cAAcA,GAAkB,gBAAgBI;AAAA,cAAA;AAAA,YAClD;AAAA,YAEFG,gBAAAA,EAAA;AAAA,cAACE;AAAA,cAAA;AAAA,gBACC,WAAU;AAAA,gBACV,eAAY;AAAA,gBACZ,SAAQ;AAAA,gBACR,OAAM;AAAA,gBACN,KAAI;AAAA,gBAEJ,UAAA;AAAA,kBAAAjB,gBAAAA,EAAA;AAAA,oBAACkB;AAAAA,oBAAA;AAAA,sBACC,WAAU;AAAA,sBACV,eAAY;AAAA,sBACZ,MAAK;AAAA,sBACL,WAAS;AAAA,sBAER,UAAAN;AAAA,oBAAA;AAAA,kBACH;AAAA,kBACCE,KACCd,gBAAAA,EAAA;AAAA,oBAACmB;AAAAA,oBAAA;AAAA,sBACC,WAAU;AAAA,sBACV,eAAY;AAAA,sBACZ,IAAG;AAAA,sBACH,MAAK;AAAA,sBACL,SAAQ;AAAA,sBACR,WAAS;AAAA,sBAER,UAAAL;AAAA,oBAAA;AAAA,kBAAA;AAAA,gBACH;AAAA,cAAA;AAAA,YAAA;AAAA,UAEJ;AAAA,QAAA;AAAA,MACF;AAAA,MACAC,gBAAAA,EAAA;AAAA,QAACC;AAAA,QAAA;AAAA,UACC,WAAU;AAAA,UACV,eAAY;AAAA,UACZ,YAAYN,IAAiB,WAAW;AAAA,UACxC,OAAM;AAAA,UACN,KAAK;AAAA,UAEL,UAAA;AAAA,YAACV,gBAAAA,EAAAA,IAAAoB,GAAA,EAAW,GAAGX,GAAgB;AAAA,YAC9BI,KACCb,gBAAAA,EAAA;AAAA,cAACqB;AAAA,cAAA;AAAA,gBACC,IAAG;AAAA,gBACH,WAAU;AAAA,gBACV,eAAY;AAAA,gBAEZ,UAAArB,gBAAAA,EAAAA,IAACsB,GAAoB,EAAA,MAAK,KAAK,CAAA;AAAA,cAAA;AAAA,YACjC;AAAA,YAEDX,KACCX,gBAAAA,EAAA,IAACE,GAAK,EAAA,eAAY,iCAChB,UAAAF,gBAAAA,EAAA,IAACuB,GAAK,EAAA,MAAK,MAAK,SAAQ,QAAO,MAAK,OAAM,EAC5C,CAAA;AAAA,UAAA;AAAA,QAAA;AAAA,MAAA;AAAA,IAEJ;AAAA,EAAA;AACF,GC9ESC,IAA0B,CAAC;AAAA,EACtC,cAAAC;AAAA,EACA,UAAAC;AAAA,EACA,iBAAAC;AAAA,EACA,YAAAC;AAAA,EACA,eAAAC;AACF,MAAgE;AAC9D,QAAM,EAAE,iBAAAC,GAAiB,iBAAAC,EAAgB,IAAIN,KAAgB,CAAC,GACxD,EAAE,UAAAO,GAAU,aAAAC,EAAY,IAAIP,KAAY,CAAC,GACzC,EAAE,WAAAQ,MAAcP,KAAmB,CAAC,GACpCQ,IAAcH,IAAW,cAAc;AAG3C,SAAAjB,gBAAAA,EAAA;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,WAAU;AAAA,MACV,eAAY;AAAA,MACZ,KAAK;AAAA,MAEJ,UAAA;AAAA,QACCS,KAAAzB,gBAAAA,EAAA;AAAA,UAACoC;AAAA,UAAA;AAAA,YACC,WAAU;AAAA,YACV,eAAY;AAAA,YACZ,SAAQ;AAAA,YACR,cAAa;AAAA,YACZ,GAAIN,KAAmB,EAAE,QAAQ,GAAK;AAAA,YACvC,SAAS,MAAY;AACnB,cAAIC,KACcA,EAAA,GAGdH,KACFC,EAAc,EAAK;AAAA,YAEvB;AAAA,YACA,UAAS;AAAA,YACT,MAAK;AAAA,UAAA;AAAA,QACP;AAAA,QAEDH,KACC1B,gBAAAA,EAAA;AAAA,UAACoC;AAAA,UAAA;AAAA,YACC,WAAU;AAAA,YACV,eAAY;AAAA,YACZ,SAASJ,IAAW,+BAA+B;AAAA,YACnD,cAAa;AAAA,YACb,SAAS,MAAY;AACnB,cAAIC,KACFA,EAAY,CAACD,CAAQ,GAGnBJ,KACFC,EAAc,EAAK;AAAA,YAEvB;AAAA,YACA,UAAUM;AAAA,YACV,MAAK;AAAA,UAAA;AAAA,QACP;AAAA,QAEDR,KACC3B,gBAAAA,EAAA;AAAA,UAACqC;AAAA,UAAA;AAAA,YACC,aACEV,EAAgB,eAAe;AAAA,cAC7B,SAAS;AAAA,cACT,MAAM;AAAA,cACN,cAAc;AAAA,cACd,UAAU;AAAA,cACV,WAAW;AAAA,cACX,SAAS;AAAA,YACX;AAAA,YAEF,eAAe;AAAA,YACf,WAAS;AAAA,YACR,GAAGA;AAAA,YACJ,WAAW;AAAA,cACT,GAAGO;AAAA,cACH,WAAW;AAAA,gBACT,GAAIR,IACA;AAAA,kBACE;AAAA,oBACE,eACE;AAAA,oBACF,OAAO,GAAGM,IAAW,UAAU,KAAK;AAAA,oBACpC,OAAO;AAAA,oBACP,SAASA,IAAW,WAAW;AAAA,oBAC/B,aACEhC,gBAAAA,EAAA;AAAA,sBAACuB;AAAA,sBAAA;AAAA,wBACC,MAAK;AAAA,wBACL,SAASS,IAAW,WAAW;AAAA,wBAC/B,MAAMG;AAAA,sBAAA;AAAA,oBACR;AAAA,oBAEF,UAAU,MAAY;AACpB,sBAAIF,KACFA,EAAY,CAACD,CAAQ;AAAA,oBACvB;AAAA,kBACF;AAAA,gBACF,IAEF,CAAC;AAAA,gBACL,GAAIE,GAAW,aAAa,CAAA;AAAA,cAAC;AAAA,YAC/B;AAAA,UACF;AAAA,QAAA;AAAA,MACF;AAAA,IAAA;AAAA,EAEJ;AAEJ,GCvHaI,IAAuB,CAAC;AAAA,EACnC,MAAAC;AACF,MAEKvC,gBAAAA,EAAAA,IAAAqB,GAAA,EAAI,WAAU,0BAAyB,IAAI,GAC1C,UAACrB,gBAAAA,EAAA,IAAAwC,GAAA,EAAK,KAAI,OACP,UAAKD,EAAA,IAAI,CAACE,MAAQ;AACjB,QAAM,EAAE,gBAAAC,GAAgB,GAAGC,EAAA,IAASF;AAChC,MAAAG,0BACDC,GAAK,EAAA,GAAGF,GAAM,MAAK,MAAK,eAAc,cAAa;AAGtD,SAAID,MAEAE,IAAA5C,gBAAAA,EAAA,IAACC,KAAQ,OAAOyC,GAAgB,WAAU,OACxC,UAAA1C,gBAAAA,EAAAA,IAACqB,GAAK,EAAA,UAAAuB,EAAA,CAAW,EACnB,CAAA,IAII5C,gBAAAA,EAAAA,IAAA8C,GAAA,EAA0B,UAAZF,EAAA,GAAAH,EAAI,KAAmB;AAAA,CAC9C,GACH,EACF,CAAA,GC1BSM,IAAyB,CAAC;AAAA,EACrC,WAAAC;AAAA,EACA,SAAAC;AAAA,EACA,cAAAC;AACF,MAAsD;AAC9C,QAAAC,IACJ,OAAOF,KAAY,WACjBjD,gBAAAA,EAAA;AAAA,IAACmB;AAAAA,IAAA;AAAA,MACC,WAAU;AAAA,MACV,eAAY;AAAA,MACZ,IAAG;AAAA,MACH,MAAK;AAAA,MACL,SAAQ;AAAA,MACP,GAAG+B;AAAA,MACH,GAAIF,KAAa,EAAE,IAAI,EAAE;AAAA,MAEzB,UAAAC;AAAA,IAAA;AAAA,EAAA,IAGHA;AAGF,SAAAlC,gBAAAA,EAAA;AAAA,IAACb;AAAA,IAAA;AAAA,MACC,WAAU;AAAA,MACV,eAAY;AAAA,MACZ,IAAI;AAAA,MACJ,YAAW;AAAA,MAEV,UAAA;AAAA,QAAA8C,2BAAczB,GAAK,EAAA,MAAK,MAAK,SAAQ,UAAU,GAAGyB,GAAW;AAAA,QAC7DG;AAAA,MAAA;AAAA,IAAA;AAAA,EACH;AAEJ,GChCaC,IAA0B,CAAC;AAAA,EACtC,aAAAC;AAAA,EACA,SAAAJ;AAAA,EACA,cAAAC;AACF,MAAuD;AAC/C,QAAAC,IACJ,OAAOF,KAAY,WACjBjD,gBAAAA,EAAA;AAAA,IAACmB;AAAAA,IAAA;AAAA,MACC,WAAU;AAAA,MACV,eAAY;AAAA,MACZ,WAAS;AAAA,MACT,MAAK;AAAA,MACJ,GAAG+B;AAAA,MAEH,UAAAD;AAAA,IAAA;AAAA,EAAA,IAGHA;AAIF,SAAAlC,gBAAAA,EAAA;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,WAAU;AAAA,MACV,eAAY;AAAA,MACZ,IAAI;AAAA,MACJ,gBAAe;AAAA,MACf,YAAW;AAAA,MAEV,UAAA;AAAA,QAAAmC;AAAA,QACAE,KACCrD,gBAAAA,EAAA;AAAA,UAACqB;AAAA,UAAA;AAAA,YACC,WAAU;AAAA,YACV,eAAY;AAAA,YACZ,IAAG;AAAA,YAEF,UAAAgC;AAAA,UAAA;AAAA,QAAA;AAAA,MACH;AAAA,IAAA;AAAA,EAEJ;AAEJ,GCTaC,KAAmB,CAAC;AAAA,EAC/B,mBAAAC,IAAoB;AAAA,EACpB,kBAAA/C;AAAA,EACA,SAAAyC;AAAA,EACA,cAAAC;AAAA,EACA,aAAAG;AAAA,EACA,aAAAG;AAAA,EACA,iBAAA7B;AAAA,EACA,aAAA8B;AAAA,EACA,QAAAC;AAAA,EACA,SAAAC;AAAA,EACA,cAAAlC;AAAA,EACA,UAAAC;AAAA,EACA,wBAAAkC,IAAyB;AAAA,EACzB,2BAAA/C;AAAA,EACA,MAAA0B;AACF,MAAgD;AAC9C,QAAM,EAAE,UAAAP,MAAaN,KAAY,CAAC,GAC5B,CAACE,GAAYC,CAAa,IAAIgC,EAAS,EAAK;AAGhD,SAAA9C,gBAAAA,EAAA;AAAA,IAAC+C;AAAA,IAAA;AAAA,MACC,WAAU;AAAA,MACV,IAAG;AAAA,MACH,eAAY;AAAA,MACZ,aAAW;AAAA,MACX,QAAAJ;AAAA,MACA,MAAK;AAAA,MACL,WAAS;AAAA,MACT,SAAS,MAAY;AACnB,QAAIC,KACMA,EAAA;AAAA,MAEZ;AAAA,MACA,IACE9C,KAA6B6C,KAAU9B,IACnC,uBACA;AAAA,MAEN,cAAc,MAAY;AACxB,QAAI2B,KACF1B,EAAc,EAAI;AAAA,MAEtB;AAAA,MACA,cAAc,MAAYA,EAAc,EAAK;AAAA,MAC7C,KAAI;AAAA,MACJ,KAAK,EAAE,gBAAgB+B,IAAyB,SAAS,OAAO;AAAA,MAE/D,UAAA;AAAA,QACChC,KAAA5B,gBAAAA,EAAA;AAAA,UAACqB;AAAA,UAAA;AAAA,YACC,WAAU;AAAA,YACV,eAAY;AAAA,YACZ,KAAI;AAAA,YACJ,KAAK;AAAA,YACL,QAAO;AAAA,YACP,OAAO;AAAA,YACP,IAAG;AAAA,YACH,cAAa;AAAA,YACb,SAAS,CAACjB,MAAYA,EAAE,gBAAgB;AAAA,YAExC,UAAAJ,gBAAAA,EAAA;AAAA,cAACwB;AAAA,cAAA;AAAA,gBACC,cAAAC;AAAA,gBACA,UAAAC;AAAA,gBACA,iBAAAC;AAAA,gBACA,YAAAC;AAAA,gBACA,eAAAC;AAAA,cAAA;AAAA,YAAA;AAAA,UACF;AAAA,QACF;AAAA,QAEF7B,gBAAAA,EAAA;AAAA,UAACO;AAAA,UAAA;AAAA,YACC,kBAAAC;AAAA,YACA,gBAAgBoB;AAAA,YAChB,cAAcI;AAAA,YACd,2BAAAnB;AAAA,YACC,GAAG4C;AAAA,UAAA;AAAA,QACN;AAAA,QACAzD,gBAAAA,EAAA;AAAA,UAACoD;AAAA,UAAA;AAAA,YACC,SAAAH;AAAA,YACA,cAAAC;AAAA,YACA,aAAAG;AAAA,UAAA;AAAA,QACF;AAAA,QACC,CAAC,CAACd,GAAM,UAAUvC,gBAAAA,EAAA,IAACsC,KAAqB,MAAAC,GAAY;AAAA,QACpDiB,KAAexD,gBAAAA,EAAA,IAAC+C,GAAwB,EAAA,GAAGS,EAAa,CAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAC3D;AAEJ;"}
1
+ {"version":3,"file":"conversationCard.component-D1Vy47Vk.js","sources":["../../src/components/ConversationCard/components/ConversationCardAvatarGroup/conversationCardAvatarGroup.component.tsx","../../src/components/ConversationCard/components/ConversationCardHeader/conversationCardHeader.component.tsx","../../src/components/ConversationCard/components/ConversationCardButtons/conversationCardButtons.component.tsx","../../src/components/ConversationCard/components/ConversationCardTags/conversationCardTags.component.tsx","../../src/components/ConversationCard/components/ConversationCardFooter/conversationCardFooter.component.tsx","../../src/components/ConversationCard/components/ConversationCardContent/conversationCardContent.component.tsx","../../src/components/ConversationCard/conversationCard.component.tsx"],"sourcesContent":["import React from \"react\";\nimport { Flex } from \"@chakra-ui/react/flex\";\nimport { Avatar } from \"components/Avatar/avatar.component\";\nimport { Tooltip } from \"components/Tooltip/tooltip.component\";\n\nexport interface ConversationCardAvatarGroupProps {\n avatars: React.ReactNode[];\n max?: number;\n onAvatarGroupClick?: (\n e: React.MouseEvent<HTMLSpanElement, MouseEvent>,\n ) => void;\n tooltipLabel?: string;\n}\n\nexport const ConversationCardAvatarGroup = ({\n avatars,\n max = 1,\n onAvatarGroupClick,\n tooltipLabel,\n}: ConversationCardAvatarGroupProps): React.JSX.Element => {\n return (\n <Tooltip label={tooltipLabel || \"\"} disabled={!tooltipLabel?.length}>\n <Flex\n className=\"ConversationCard__AvatarGroup\"\n alignItems=\"flex-start\"\n justifyContent=\"flex-start\"\n >\n {max && avatars.length > max ? (\n <Avatar\n onClick={(e): void => {\n e.stopPropagation();\n if (onAvatarGroupClick) {\n onAvatarGroupClick(e);\n }\n }}\n cursor=\"pointer\"\n name={avatars.length.toString()}\n showTooltip={false}\n />\n ) : (\n <>{avatars.map((avatar) => avatar)}</>\n )}\n </Flex>\n </Tooltip>\n );\n};\n","import React from \"react\";\nimport { Box } from \"@chakra-ui/react/box\";\nimport { Flex } from \"@chakra-ui/react/flex\";\nimport { HStack, VStack } from \"@chakra-ui/react/stack\";\nimport {\n Timestamp,\n TimestampProps,\n} from \"components/Timestamp/timestamp.component\";\nimport { NotificationCounter } from \"components/NotificationCounter/notificationCounter.component\";\nimport { Icon } from \"components/Icon/icon.component\";\nimport { Heading } from \"components/Heading/heading.component\";\nimport { Text } from \"components/Text/text.component\";\nimport {\n ConversationCardAvatarGroup,\n ConversationCardAvatarGroupProps,\n} from \"../ConversationCardAvatarGroup/conversationCardAvatarGroup.component\";\n\nexport interface ConversationCardHeaderProps {\n avatarGroupProps?: ConversationCardAvatarGroupProps;\n showNotificationIndicator?: boolean;\n isCardPinned?: boolean;\n isHoveringCard?: boolean;\n subtitle?: string;\n timestampProps: TimestampProps;\n title: string;\n}\n\nexport const ConversationCardHeader = ({\n avatarGroupProps,\n timestampProps,\n isHoveringCard,\n isCardPinned,\n title,\n showNotificationIndicator,\n subtitle,\n}: ConversationCardHeaderProps): React.JSX.Element => {\n return (\n <HStack\n className=\"ConversationCard__Header\"\n data-testid=\"kibble-conversation-card-header\"\n justify=\"space-between\"\n align=\"flex-start\"\n >\n <HStack\n className=\"ConversationCard__Header--Left\"\n data-testid=\"kibble-conversation-card-header-left\"\n cursor=\"pointer\"\n >\n {avatarGroupProps && (\n <ConversationCardAvatarGroup\n {...avatarGroupProps}\n tooltipLabel={avatarGroupProps?.tooltipLabel || title}\n />\n )}\n <VStack\n className=\"ConversationCard__HeaderText\"\n data-testid=\"kibble-conversation-card-header-text\"\n justify=\"center\"\n align=\"left\"\n gap=\"0\"\n >\n <Heading\n className=\"ConversationCard__HeaderText--Title\"\n data-testid=\"kibble-conversation-card-header-title\"\n size=\"sm\"\n truncated\n >\n {title}\n </Heading>\n {subtitle && (\n <Text\n className=\"ConversationCard__HeaderText--Subtitle\"\n data-testid=\"kibble-conversation-card-header-subtitle\"\n as=\"p\"\n size=\"sm\"\n variant=\"subtle\"\n truncated\n >\n {subtitle}\n </Text>\n )}\n </VStack>\n </HStack>\n <HStack\n className=\"ConversationCard__Header--Right\"\n data-testid=\"kibble-conversation-card-header-right\"\n visibility={isHoveringCard ? \"hidden\" : \"visible\"}\n align=\"center\"\n gap={1}\n >\n <Timestamp {...timestampProps} />\n {showNotificationIndicator && (\n <Box\n as=\"span\"\n className=\"ConversationCard__HeaderNotificationCounter\"\n data-testid=\"conversation-card-unread-indicator\"\n >\n <NotificationCounter size=\"xs\" />\n </Box>\n )}\n {isCardPinned && (\n <Flex data-testid=\"conversation-card-pinned-icon\">\n <Icon size=\"md\" variant=\"info\" name=\"pin\" />\n </Flex>\n )}\n </HStack>\n </HStack>\n );\n};\n","import React from \"react\";\nimport { HStack } from \"@chakra-ui/react/stack\";\nimport { Button } from \"components/Button/button.component\";\nimport { Icon } from \"components/Icon/icon.component\";\nimport { Menu, MenuProps, MenuItemProps } from \"components/Menu\";\n\nexport interface ConversationCardOverlayProps {\n isOpenInOverlay?: boolean;\n onOpenInOverlay: () => void;\n}\n\nexport interface ConversationCardPinProps {\n isPinned?: boolean;\n onTogglePin: (isPinned: boolean) => void;\n}\n\nexport interface ConversationCardButtonsProps {\n overlayProps?: ConversationCardOverlayProps;\n pinProps?: ConversationCardPinProps;\n headerMenuProps?: MenuProps;\n}\n\ninterface ConversationCardButtonsComponentProps\n extends ConversationCardButtonsProps {\n isHovering: boolean;\n setIsHovering: (isHovering: boolean) => void;\n}\n\nexport const ConversationCardButtons = ({\n overlayProps,\n pinProps,\n headerMenuProps,\n isHovering,\n setIsHovering,\n}: ConversationCardButtonsComponentProps): React.JSX.Element => {\n const { isOpenInOverlay, onOpenInOverlay } = overlayProps || {};\n const { isPinned, onTogglePin } = pinProps || {};\n const { listProps } = headerMenuProps || {};\n const pinIconName = isPinned ? \"pinCancel\" : \"pin\";\n\n return (\n <HStack\n className=\"ConversationCard__Menu\"\n data-testid=\"kibble-conversation-card-menu\"\n gap={1}\n >\n {overlayProps && (\n <Button\n className=\"ConversationCard__OverlayButton\"\n data-testid=\"conversation-card-overlay-icon-button\"\n variant=\"secondarySubtle\"\n borderRadius=\"sm\"\n {...(isOpenInOverlay && { active: true })}\n onClick={(): void => {\n if (onOpenInOverlay) {\n onOpenInOverlay();\n }\n\n if (isHovering) {\n setIsHovering(false);\n }\n }}\n iconName=\"popup\"\n size=\"sm\"\n />\n )}\n {pinProps && (\n <Button\n className=\"ConversationCard__PinButton\"\n data-testid=\"conversation-card-pin-toggle-icon-button\"\n variant={isPinned ? \"secondarySubtleDestructive\" : \"secondarySubtle\"}\n borderRadius=\"sm\"\n onClick={(): void => {\n if (onTogglePin) {\n onTogglePin(!isPinned);\n }\n\n if (isHovering) {\n setIsHovering(false);\n }\n }}\n iconName={pinIconName}\n size=\"sm\"\n />\n )}\n {headerMenuProps && (\n <Menu\n buttonProps={\n headerMenuProps.buttonProps || {\n variant: \"secondarySubtle\",\n size: \"sm\",\n borderRadius: \"sm\",\n iconName: \"dotsVertical\",\n hideCaret: true,\n padding: 0,\n }\n }\n closeOnSelect={false}\n lazyMount\n {...headerMenuProps}\n listProps={{\n ...listProps,\n menuItems: [\n ...(pinProps\n ? [\n {\n \"data-testid\":\n \"conversation-card-pin-toggle-dropdown-button\",\n label: `${isPinned ? \"Unpin\" : \"Pin\"} Conversation`,\n value: \"PinConversation\",\n variant: isPinned ? \"danger\" : \"default\",\n leftElement: (\n <Icon\n size=\"md\"\n variant={isPinned ? \"danger\" : \"default\"}\n name={pinIconName}\n />\n ),\n onSelect: (): void => {\n if (onTogglePin) {\n onTogglePin(!isPinned);\n }\n },\n } as MenuItemProps,\n ]\n : []),\n ...(listProps?.menuItems || []),\n ],\n }}\n />\n )}\n </HStack>\n );\n};\n","import React from \"react\";\nimport { Box } from \"@chakra-ui/react/box\";\nimport { Wrap, WrapItem } from \"@chakra-ui/react/wrap\";\nimport { Tag, TagProps } from \"components/Tag/tag.component\";\nimport { Tooltip } from \"components/Tooltip/tooltip.component\";\n\nexport type ConversationCardTag = TagProps & {\n tooltipContent?: string;\n};\n\nexport interface ConversationCardTagsProps {\n tags: ConversationCardTag[];\n}\n\nexport const ConversationCardTags = ({\n tags,\n}: ConversationCardTagsProps): React.JSX.Element => {\n return (\n <Box className=\"ConversationCard__Tags\" mt={3}>\n <Wrap gap=\"6px\">\n {tags.map((tag) => {\n const { tooltipContent, ...rest } = tag;\n let tagElement = (\n <Tag {...rest} size=\"sm\" textTransform=\"capitalize\" />\n );\n\n if (tooltipContent) {\n tagElement = (\n <Tooltip label={tooltipContent} placement=\"top\">\n <Box>{tagElement}</Box>\n </Tooltip>\n );\n }\n\n return <WrapItem key={tag.label}>{tagElement}</WrapItem>;\n })}\n </Wrap>\n </Box>\n );\n};\n","import React from \"react\";\nimport { Flex } from \"@chakra-ui/react/flex\";\nimport { Icon, IconProps } from \"components/Icon/icon.component\";\nimport { Text, TextProps } from \"components/Text/text.component\";\n\nexport interface ConversationCardFooterProps {\n iconProps?: IconProps;\n content: React.ReactNode;\n contentProps?: Omit<TextProps, \"children\">;\n}\n\nexport const ConversationCardFooter = ({\n iconProps,\n content,\n contentProps,\n}: ConversationCardFooterProps): React.JSX.Element => {\n const _content =\n typeof content === \"string\" ? (\n <Text\n className=\"ConversationCard__FooterMessage\"\n data-testid=\"kibble-conversation-card-footer-message\"\n as=\"p\"\n size=\"sm\"\n variant=\"subtle\"\n {...contentProps}\n {...(iconProps && { ml: 1 })}\n >\n {content}\n </Text>\n ) : (\n content\n );\n return (\n <Flex\n className=\"ConversationCard__Footer\"\n data-testid=\"kibble-conversation-card-footer\"\n mt={3}\n alignItems=\"center\"\n >\n {iconProps && <Icon size=\"sm\" variant=\"subtle\" {...iconProps} />}\n {_content}\n </Flex>\n );\n};\n","import React from \"react\";\nimport { Box } from \"@chakra-ui/react/box\";\nimport { HStack } from \"@chakra-ui/react/stack\";\nimport { Text, TextProps } from \"components/Text/text.component\";\n\nexport interface ConversationCardContentProps {\n content?: React.ReactNode;\n contentProps?: Omit<TextProps, \"children\">;\n contentMenu?: React.ReactNode;\n}\n\nexport const ConversationCardContent = ({\n contentMenu,\n content,\n contentProps,\n}: ConversationCardContentProps): React.JSX.Element => {\n const _content =\n typeof content === \"string\" ? (\n <Text\n className=\"ConversationCard__Content\"\n data-testid=\"kibble-conversation-card-content\"\n truncated\n size=\"sm\"\n {...contentProps}\n >\n {content}\n </Text>\n ) : (\n content\n );\n\n return (\n <HStack\n className=\"ConversationCard__ContentContainer\"\n data-testid=\"kibble-conversation-card-content-container\"\n mt={3}\n justifyContent=\"space-between\"\n alignItems=\"center\"\n >\n {_content}\n {contentMenu && (\n <Box\n className=\"ConversationCard__ContentMenu\"\n data-testid=\"kibble-conversation-card-content-menu\"\n ml=\"auto\"\n >\n {contentMenu}\n </Box>\n )}\n </HStack>\n );\n};\n","import React, { useState } from \"react\";\nimport { Box } from \"@chakra-ui/react/box\";\nimport { Card } from \"components/Card/card.component\";\nimport { MenuProps } from \"components/Menu/menu.component\";\nimport {\n ConversationCardHeader,\n ConversationCardHeaderProps,\n} from \"./components/ConversationCardHeader/conversationCardHeader.component\";\nimport {\n ConversationCardButtons,\n ConversationCardOverlayProps,\n ConversationCardPinProps,\n} from \"./components/ConversationCardButtons/conversationCardButtons.component\";\nimport {\n ConversationCardTag,\n ConversationCardTags,\n} from \"./components/ConversationCardTags/conversationCardTags.component\";\nimport {\n ConversationCardFooter,\n ConversationCardFooterProps,\n} from \"./components/ConversationCardFooter/conversationCardFooter.component\";\nimport {\n ConversationCardContent,\n ConversationCardContentProps,\n} from \"./components/ConversationCardContent/conversationCardContent.component\";\nimport { ConversationCardAvatarGroupProps } from \"./components/ConversationCardAvatarGroup/conversationCardAvatarGroup.component\";\n\nexport interface ConversationCardProps extends ConversationCardContentProps {\n allowHoverActions?: boolean;\n avatarGroupProps?: ConversationCardAvatarGroupProps;\n footerProps?: ConversationCardFooterProps;\n headerMenuProps?: MenuProps;\n headerProps: ConversationCardHeaderProps;\n active?: boolean;\n onClick?: () => void;\n overlayProps?: ConversationCardOverlayProps;\n pinProps?: ConversationCardPinProps;\n shouldPreservePosition?: boolean;\n showNotificationIndicator?: boolean;\n tags?: ConversationCardTag[];\n}\n\nexport const ConversationCard = ({\n allowHoverActions = true,\n avatarGroupProps,\n content,\n contentProps,\n contentMenu,\n footerProps,\n headerMenuProps,\n headerProps,\n active,\n onClick,\n overlayProps,\n pinProps,\n shouldPreservePosition = false,\n showNotificationIndicator,\n tags,\n}: ConversationCardProps): React.JSX.Element => {\n const { isPinned } = pinProps || {};\n const [isHovering, setIsHovering] = useState(false);\n\n return (\n <Card\n className=\"ConversationCard\"\n id=\"conversation-card-item\"\n data-testid=\"kibble-conversation-card\"\n interactive\n active={active}\n size=\"sm\"\n fullWidth\n onClick={(): void => {\n if (onClick) {\n onClick();\n }\n }}\n bg={\n showNotificationIndicator || active || isHovering\n ? \"background.default\"\n : \"background.alphaContrast.pressed\"\n }\n onMouseEnter={(): void => {\n if (allowHoverActions) {\n setIsHovering(true);\n }\n }}\n onMouseLeave={(): void => setIsHovering(false)}\n pos=\"relative\"\n css={{ overflowAnchor: shouldPreservePosition ? \"auto\" : \"none\" }}\n >\n {isHovering && (\n <Box\n className=\"ConversationCard__Menu--Container\"\n data-testid=\"kibble-conversation-card-menu-container\"\n pos=\"absolute\"\n top={2}\n zIndex=\"banner\"\n right={2}\n bg=\"background\"\n borderRadius=\"md\"\n onClick={(e): void => e.stopPropagation()}\n >\n <ConversationCardButtons\n overlayProps={overlayProps}\n pinProps={pinProps}\n headerMenuProps={headerMenuProps}\n isHovering={isHovering}\n setIsHovering={setIsHovering}\n />\n </Box>\n )}\n <ConversationCardHeader\n avatarGroupProps={avatarGroupProps}\n isHoveringCard={isHovering}\n isCardPinned={isPinned}\n showNotificationIndicator={showNotificationIndicator}\n {...headerProps}\n />\n <ConversationCardContent\n content={content}\n contentProps={contentProps}\n contentMenu={contentMenu}\n />\n {!!tags?.length && <ConversationCardTags tags={tags} />}\n {footerProps && <ConversationCardFooter {...footerProps} />}\n </Card>\n );\n};\n"],"names":["ConversationCardAvatarGroup","avatars","max","onAvatarGroupClick","tooltipLabel","jsx","Tooltip","Flex","Avatar","e","Fragment","avatar","ConversationCardHeader","avatarGroupProps","timestampProps","isHoveringCard","isCardPinned","title","showNotificationIndicator","subtitle","jsxs","HStack","VStack","Heading","Text","Timestamp","Box","NotificationCounter","Icon","ConversationCardButtons","overlayProps","pinProps","headerMenuProps","isHovering","setIsHovering","isOpenInOverlay","onOpenInOverlay","isPinned","onTogglePin","listProps","pinIconName","Button","Menu","ConversationCardTags","tags","Wrap","tag","tooltipContent","rest","tagElement","Tag","WrapItem","ConversationCardFooter","iconProps","content","contentProps","_content","ConversationCardContent","contentMenu","ConversationCard","allowHoverActions","footerProps","headerProps","active","onClick","shouldPreservePosition","useState","Card"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";const e=require("./jsx-runtime-BjDatQAs.js"),S=require("react"),z=require("./card.component-nehAyK91.js"),T=require("./timestamp.component-6Yax0uEP.js"),y=require("./notificationCounter.component-Bm528kQ-.js"),C=require("./icon.component-4aaCABoX.js"),H=require("./heading.component-CgsSnBVo.js"),v=require("./text.component-Dcx3RoTp.js"),I=require("./avatar.component-C0lDpuBh.js"),f=require("./tooltip.component-C7RpuMiK.js"),b=require("./flex-DKWxn8hO.js"),l=require("./h-stack-DxezNoY3.js"),B=require("./v-stack-Cx_7x3kH.js"),u=require("./box-ca2FvcWF.js"),E=require("./button.component-ytAmAAJg.js"),F=require("./menu.component-CUgSsflu.js"),W=require("./tag.component-C5MszzTM.js"),h=require("./wrap-Bm3JnXyR.js"),O=({avatars:t,max:n=1,onAvatarGroupClick:s,tooltipLabel:r})=>e.jsxRuntimeExports.jsx(f.Tooltip,{label:r||"",disabled:!r?.length,children:e.jsxRuntimeExports.jsx(b.Flex,{className:"ConversationCard__AvatarGroup",alignItems:"flex-start",justifyContent:"flex-start",children:n&&t.length>n?e.jsxRuntimeExports.jsx(I.Avatar,{onClick:a=>{a.stopPropagation(),s&&s(a)},cursor:"pointer",name:t.length.toString(),showTooltip:!1}):e.jsxRuntimeExports.jsx(e.jsxRuntimeExports.Fragment,{children:t.map(a=>a)})})}),w=({avatarGroupProps:t,timestampProps:n,isHoveringCard:s,isCardPinned:r,title:a,showNotificationIndicator:d,subtitle:i})=>e.jsxRuntimeExports.jsxs(l.HStack,{className:"ConversationCard__Header","data-testid":"kibble-conversation-card-header",justify:"space-between",align:"flex-start",children:[e.jsxRuntimeExports.jsxs(l.HStack,{className:"ConversationCard__Header--Left","data-testid":"kibble-conversation-card-header-left",cursor:"pointer",children:[t&&e.jsxRuntimeExports.jsx(O,{...t,tooltipLabel:t?.tooltipLabel||a}),e.jsxRuntimeExports.jsxs(B.VStack,{className:"ConversationCard__HeaderText","data-testid":"kibble-conversation-card-header-text",justify:"center",align:"left",gap:"0",children:[e.jsxRuntimeExports.jsx(H.WrappedHeading,{className:"ConversationCard__HeaderText--Title","data-testid":"kibble-conversation-card-header-title",size:"sm",truncated:!0,children:a}),i&&e.jsxRuntimeExports.jsx(v.WrappedText,{className:"ConversationCard__HeaderText--Subtitle","data-testid":"kibble-conversation-card-header-subtitle",as:"p",size:"sm",variant:"subtle",truncated:!0,children:i})]})]}),e.jsxRuntimeExports.jsxs(l.HStack,{className:"ConversationCard__Header--Right","data-testid":"kibble-conversation-card-header-right",visibility:s?"hidden":"visible",align:"center",gap:1,children:[e.jsxRuntimeExports.jsx(T.Timestamp,{...n}),d&&e.jsxRuntimeExports.jsx(u.Box,{as:"span",className:"ConversationCard__HeaderNotificationCounter","data-testid":"conversation-card-unread-indicator",children:e.jsxRuntimeExports.jsx(y.NotificationCounter,{size:"xs"})}),r&&e.jsxRuntimeExports.jsx(b.Flex,{"data-testid":"conversation-card-pinned-icon",children:e.jsxRuntimeExports.jsx(C.Icon,{size:"md",variant:"info",name:"pin"})})]})]}),M=({overlayProps:t,pinProps:n,headerMenuProps:s,isHovering:r,setIsHovering:a})=>{const{isOpenInOverlay:d,onOpenInOverlay:i}=t||{},{isPinned:o,onTogglePin:c}=n||{},{listProps:x}=s||{},m=o?"pinCancel":"pin";return e.jsxRuntimeExports.jsxs(l.HStack,{className:"ConversationCard__Menu","data-testid":"kibble-conversation-card-menu",gap:1,children:[t&&e.jsxRuntimeExports.jsx(E.Button,{className:"ConversationCard__OverlayButton","data-testid":"conversation-card-overlay-icon-button",variant:"secondarySubtle",borderRadius:"sm",...d&&{active:!0},onClick:()=>{i&&i(),r&&a(!1)},iconName:"popup",size:"sm"}),n&&e.jsxRuntimeExports.jsx(E.Button,{className:"ConversationCard__PinButton","data-testid":"conversation-card-pin-toggle-icon-button",variant:o?"secondarySubtleDestructive":"secondarySubtle",borderRadius:"sm",onClick:()=>{c&&c(!o),r&&a(!1)},iconName:m,size:"sm"}),s&&e.jsxRuntimeExports.jsx(F.Menu,{buttonProps:s.buttonProps||{variant:"secondarySubtle",size:"sm",borderRadius:"sm",iconName:"dotsVertical",hideCaret:!0,padding:0},closeOnSelect:!1,lazyMount:!0,...s,listProps:{...x,menuItems:[...n?[{"data-testid":"conversation-card-pin-toggle-dropdown-button",label:`${o?"Unpin":"Pin"} Conversation`,value:"PinConversation",variant:o?"danger":"default",leftElement:e.jsxRuntimeExports.jsx(C.Icon,{size:"md",variant:o?"danger":"default",name:m}),onSelect:()=>{c&&c(!o)}}]:[],...x?.menuItems||[]]}})]})},A=({tags:t})=>e.jsxRuntimeExports.jsx(u.Box,{className:"ConversationCard__Tags",mt:3,children:e.jsxRuntimeExports.jsx(h.Wrap,{gap:"6px",children:t.map(n=>{const{tooltipContent:s,...r}=n;let a=e.jsxRuntimeExports.jsx(W.Tag,{...r,size:"sm",textTransform:"capitalize"});return s&&(a=e.jsxRuntimeExports.jsx(f.Tooltip,{label:s,placement:"top",children:e.jsxRuntimeExports.jsx(u.Box,{children:a})})),e.jsxRuntimeExports.jsx(h.WrapItem,{children:a},n.label)})})}),L=({iconProps:t,content:n,contentProps:s})=>{const r=typeof n=="string"?e.jsxRuntimeExports.jsx(v.WrappedText,{className:"ConversationCard__FooterMessage","data-testid":"kibble-conversation-card-footer-message",as:"p",size:"sm",variant:"subtle",...s,...t&&{ml:1},children:n}):n;return e.jsxRuntimeExports.jsxs(b.Flex,{className:"ConversationCard__Footer","data-testid":"kibble-conversation-card-footer",mt:3,alignItems:"center",children:[t&&e.jsxRuntimeExports.jsx(C.Icon,{size:"sm",variant:"subtle",...t}),r]})},V=({contentMenu:t,content:n,contentProps:s})=>{const r=typeof n=="string"?e.jsxRuntimeExports.jsx(v.WrappedText,{className:"ConversationCard__Content","data-testid":"kibble-conversation-card-content",truncated:!0,size:"sm",...s,children:n}):n;return e.jsxRuntimeExports.jsxs(l.HStack,{className:"ConversationCard__ContentContainer","data-testid":"kibble-conversation-card-content-container",mt:3,justifyContent:"space-between",alignItems:"center",children:[r,t&&e.jsxRuntimeExports.jsx(u.Box,{className:"ConversationCard__ContentMenu","data-testid":"kibble-conversation-card-content-menu",ml:"auto",children:t})]})},D=({allowHoverActions:t=!0,avatarGroupProps:n,content:s,contentProps:r,contentMenu:a,footerProps:d,headerMenuProps:i,headerProps:o,active:c,onClick:x,overlayProps:m,pinProps:_,shouldPreservePosition:k=!1,showNotificationIndicator:R,tags:g})=>{const{isPinned:N}=_||{},[p,j]=S.useState(!1);return e.jsxRuntimeExports.jsxs(z.Card,{className:"ConversationCard",id:"conversation-card-item","data-testid":"kibble-conversation-card",interactive:!0,active:c,size:"sm",fullWidth:!0,onClick:()=>{x&&x()},bg:R||c||p?"background.default":"background.alphaContrast.pressed",onMouseEnter:()=>{t&&j(!0)},onMouseLeave:()=>j(!1),pos:"relative",css:{overflowAnchor:k?"auto":"none"},children:[p&&e.jsxRuntimeExports.jsx(u.Box,{className:"ConversationCard__Menu--Container","data-testid":"kibble-conversation-card-menu-container",pos:"absolute",top:2,zIndex:"banner",right:2,bg:"background",borderRadius:"md",onClick:q=>q.stopPropagation(),children:e.jsxRuntimeExports.jsx(M,{overlayProps:m,pinProps:_,headerMenuProps:i,isHovering:p,setIsHovering:j})}),e.jsxRuntimeExports.jsx(w,{avatarGroupProps:n,isHoveringCard:p,isCardPinned:N,showNotificationIndicator:R,...o}),e.jsxRuntimeExports.jsx(V,{content:s,contentProps:r,contentMenu:a}),!!g?.length&&e.jsxRuntimeExports.jsx(A,{tags:g}),d&&e.jsxRuntimeExports.jsx(L,{...d})]})};exports.ConversationCard=D;
2
- //# sourceMappingURL=conversationCard.component-B7k9ZUSM.js.map
1
+ "use strict";const e=require("./jsx-runtime-BjDatQAs.js"),S=require("react"),z=require("./card.component-nehAyK91.js"),T=require("./timestamp.component-6Yax0uEP.js"),y=require("./notificationCounter.component-Bm528kQ-.js"),C=require("./icon.component-4aaCABoX.js"),H=require("./heading.component-CgsSnBVo.js"),v=require("./text.component-Dcx3RoTp.js"),I=require("./avatar.component-C0lDpuBh.js"),f=require("./tooltip.component-C7RpuMiK.js"),b=require("./flex-DKWxn8hO.js"),l=require("./h-stack-DxezNoY3.js"),B=require("./v-stack-Cx_7x3kH.js"),u=require("./box-ca2FvcWF.js"),E=require("./button.component-ytAmAAJg.js"),F=require("./menu.component-Dmj51ect.js"),W=require("./tag.component-C5MszzTM.js"),h=require("./wrap-Bm3JnXyR.js"),O=({avatars:t,max:n=1,onAvatarGroupClick:s,tooltipLabel:r})=>e.jsxRuntimeExports.jsx(f.Tooltip,{label:r||"",disabled:!r?.length,children:e.jsxRuntimeExports.jsx(b.Flex,{className:"ConversationCard__AvatarGroup",alignItems:"flex-start",justifyContent:"flex-start",children:n&&t.length>n?e.jsxRuntimeExports.jsx(I.Avatar,{onClick:a=>{a.stopPropagation(),s&&s(a)},cursor:"pointer",name:t.length.toString(),showTooltip:!1}):e.jsxRuntimeExports.jsx(e.jsxRuntimeExports.Fragment,{children:t.map(a=>a)})})}),w=({avatarGroupProps:t,timestampProps:n,isHoveringCard:s,isCardPinned:r,title:a,showNotificationIndicator:d,subtitle:i})=>e.jsxRuntimeExports.jsxs(l.HStack,{className:"ConversationCard__Header","data-testid":"kibble-conversation-card-header",justify:"space-between",align:"flex-start",children:[e.jsxRuntimeExports.jsxs(l.HStack,{className:"ConversationCard__Header--Left","data-testid":"kibble-conversation-card-header-left",cursor:"pointer",children:[t&&e.jsxRuntimeExports.jsx(O,{...t,tooltipLabel:t?.tooltipLabel||a}),e.jsxRuntimeExports.jsxs(B.VStack,{className:"ConversationCard__HeaderText","data-testid":"kibble-conversation-card-header-text",justify:"center",align:"left",gap:"0",children:[e.jsxRuntimeExports.jsx(H.WrappedHeading,{className:"ConversationCard__HeaderText--Title","data-testid":"kibble-conversation-card-header-title",size:"sm",truncated:!0,children:a}),i&&e.jsxRuntimeExports.jsx(v.WrappedText,{className:"ConversationCard__HeaderText--Subtitle","data-testid":"kibble-conversation-card-header-subtitle",as:"p",size:"sm",variant:"subtle",truncated:!0,children:i})]})]}),e.jsxRuntimeExports.jsxs(l.HStack,{className:"ConversationCard__Header--Right","data-testid":"kibble-conversation-card-header-right",visibility:s?"hidden":"visible",align:"center",gap:1,children:[e.jsxRuntimeExports.jsx(T.Timestamp,{...n}),d&&e.jsxRuntimeExports.jsx(u.Box,{as:"span",className:"ConversationCard__HeaderNotificationCounter","data-testid":"conversation-card-unread-indicator",children:e.jsxRuntimeExports.jsx(y.NotificationCounter,{size:"xs"})}),r&&e.jsxRuntimeExports.jsx(b.Flex,{"data-testid":"conversation-card-pinned-icon",children:e.jsxRuntimeExports.jsx(C.Icon,{size:"md",variant:"info",name:"pin"})})]})]}),M=({overlayProps:t,pinProps:n,headerMenuProps:s,isHovering:r,setIsHovering:a})=>{const{isOpenInOverlay:d,onOpenInOverlay:i}=t||{},{isPinned:o,onTogglePin:c}=n||{},{listProps:x}=s||{},m=o?"pinCancel":"pin";return e.jsxRuntimeExports.jsxs(l.HStack,{className:"ConversationCard__Menu","data-testid":"kibble-conversation-card-menu",gap:1,children:[t&&e.jsxRuntimeExports.jsx(E.Button,{className:"ConversationCard__OverlayButton","data-testid":"conversation-card-overlay-icon-button",variant:"secondarySubtle",borderRadius:"sm",...d&&{active:!0},onClick:()=>{i&&i(),r&&a(!1)},iconName:"popup",size:"sm"}),n&&e.jsxRuntimeExports.jsx(E.Button,{className:"ConversationCard__PinButton","data-testid":"conversation-card-pin-toggle-icon-button",variant:o?"secondarySubtleDestructive":"secondarySubtle",borderRadius:"sm",onClick:()=>{c&&c(!o),r&&a(!1)},iconName:m,size:"sm"}),s&&e.jsxRuntimeExports.jsx(F.Menu,{buttonProps:s.buttonProps||{variant:"secondarySubtle",size:"sm",borderRadius:"sm",iconName:"dotsVertical",hideCaret:!0,padding:0},closeOnSelect:!1,lazyMount:!0,...s,listProps:{...x,menuItems:[...n?[{"data-testid":"conversation-card-pin-toggle-dropdown-button",label:`${o?"Unpin":"Pin"} Conversation`,value:"PinConversation",variant:o?"danger":"default",leftElement:e.jsxRuntimeExports.jsx(C.Icon,{size:"md",variant:o?"danger":"default",name:m}),onSelect:()=>{c&&c(!o)}}]:[],...x?.menuItems||[]]}})]})},A=({tags:t})=>e.jsxRuntimeExports.jsx(u.Box,{className:"ConversationCard__Tags",mt:3,children:e.jsxRuntimeExports.jsx(h.Wrap,{gap:"6px",children:t.map(n=>{const{tooltipContent:s,...r}=n;let a=e.jsxRuntimeExports.jsx(W.Tag,{...r,size:"sm",textTransform:"capitalize"});return s&&(a=e.jsxRuntimeExports.jsx(f.Tooltip,{label:s,placement:"top",children:e.jsxRuntimeExports.jsx(u.Box,{children:a})})),e.jsxRuntimeExports.jsx(h.WrapItem,{children:a},n.label)})})}),L=({iconProps:t,content:n,contentProps:s})=>{const r=typeof n=="string"?e.jsxRuntimeExports.jsx(v.WrappedText,{className:"ConversationCard__FooterMessage","data-testid":"kibble-conversation-card-footer-message",as:"p",size:"sm",variant:"subtle",...s,...t&&{ml:1},children:n}):n;return e.jsxRuntimeExports.jsxs(b.Flex,{className:"ConversationCard__Footer","data-testid":"kibble-conversation-card-footer",mt:3,alignItems:"center",children:[t&&e.jsxRuntimeExports.jsx(C.Icon,{size:"sm",variant:"subtle",...t}),r]})},V=({contentMenu:t,content:n,contentProps:s})=>{const r=typeof n=="string"?e.jsxRuntimeExports.jsx(v.WrappedText,{className:"ConversationCard__Content","data-testid":"kibble-conversation-card-content",truncated:!0,size:"sm",...s,children:n}):n;return e.jsxRuntimeExports.jsxs(l.HStack,{className:"ConversationCard__ContentContainer","data-testid":"kibble-conversation-card-content-container",mt:3,justifyContent:"space-between",alignItems:"center",children:[r,t&&e.jsxRuntimeExports.jsx(u.Box,{className:"ConversationCard__ContentMenu","data-testid":"kibble-conversation-card-content-menu",ml:"auto",children:t})]})},D=({allowHoverActions:t=!0,avatarGroupProps:n,content:s,contentProps:r,contentMenu:a,footerProps:d,headerMenuProps:i,headerProps:o,active:c,onClick:x,overlayProps:m,pinProps:_,shouldPreservePosition:k=!1,showNotificationIndicator:R,tags:g})=>{const{isPinned:N}=_||{},[p,j]=S.useState(!1);return e.jsxRuntimeExports.jsxs(z.Card,{className:"ConversationCard",id:"conversation-card-item","data-testid":"kibble-conversation-card",interactive:!0,active:c,size:"sm",fullWidth:!0,onClick:()=>{x&&x()},bg:R||c||p?"background.default":"background.alphaContrast.pressed",onMouseEnter:()=>{t&&j(!0)},onMouseLeave:()=>j(!1),pos:"relative",css:{overflowAnchor:k?"auto":"none"},children:[p&&e.jsxRuntimeExports.jsx(u.Box,{className:"ConversationCard__Menu--Container","data-testid":"kibble-conversation-card-menu-container",pos:"absolute",top:2,zIndex:"banner",right:2,bg:"background",borderRadius:"md",onClick:q=>q.stopPropagation(),children:e.jsxRuntimeExports.jsx(M,{overlayProps:m,pinProps:_,headerMenuProps:i,isHovering:p,setIsHovering:j})}),e.jsxRuntimeExports.jsx(w,{avatarGroupProps:n,isHoveringCard:p,isCardPinned:N,showNotificationIndicator:R,...o}),e.jsxRuntimeExports.jsx(V,{content:s,contentProps:r,contentMenu:a}),!!g?.length&&e.jsxRuntimeExports.jsx(A,{tags:g}),d&&e.jsxRuntimeExports.jsx(L,{...d})]})};exports.ConversationCard=D;
2
+ //# sourceMappingURL=conversationCard.component-Df4ix8on.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"conversationCard.component-B7k9ZUSM.js","sources":["../../src/components/ConversationCard/components/ConversationCardAvatarGroup/conversationCardAvatarGroup.component.tsx","../../src/components/ConversationCard/components/ConversationCardHeader/conversationCardHeader.component.tsx","../../src/components/ConversationCard/components/ConversationCardButtons/conversationCardButtons.component.tsx","../../src/components/ConversationCard/components/ConversationCardTags/conversationCardTags.component.tsx","../../src/components/ConversationCard/components/ConversationCardFooter/conversationCardFooter.component.tsx","../../src/components/ConversationCard/components/ConversationCardContent/conversationCardContent.component.tsx","../../src/components/ConversationCard/conversationCard.component.tsx"],"sourcesContent":["import React from \"react\";\nimport { Flex } from \"@chakra-ui/react/flex\";\nimport { Avatar } from \"components/Avatar/avatar.component\";\nimport { Tooltip } from \"components/Tooltip/tooltip.component\";\n\nexport interface ConversationCardAvatarGroupProps {\n avatars: React.ReactNode[];\n max?: number;\n onAvatarGroupClick?: (\n e: React.MouseEvent<HTMLSpanElement, MouseEvent>,\n ) => void;\n tooltipLabel?: string;\n}\n\nexport const ConversationCardAvatarGroup = ({\n avatars,\n max = 1,\n onAvatarGroupClick,\n tooltipLabel,\n}: ConversationCardAvatarGroupProps): React.JSX.Element => {\n return (\n <Tooltip label={tooltipLabel || \"\"} disabled={!tooltipLabel?.length}>\n <Flex\n className=\"ConversationCard__AvatarGroup\"\n alignItems=\"flex-start\"\n justifyContent=\"flex-start\"\n >\n {max && avatars.length > max ? (\n <Avatar\n onClick={(e): void => {\n e.stopPropagation();\n if (onAvatarGroupClick) {\n onAvatarGroupClick(e);\n }\n }}\n cursor=\"pointer\"\n name={avatars.length.toString()}\n showTooltip={false}\n />\n ) : (\n <>{avatars.map((avatar) => avatar)}</>\n )}\n </Flex>\n </Tooltip>\n );\n};\n","import React from \"react\";\nimport { Box } from \"@chakra-ui/react/box\";\nimport { Flex } from \"@chakra-ui/react/flex\";\nimport { HStack, VStack } from \"@chakra-ui/react/stack\";\nimport {\n Timestamp,\n TimestampProps,\n} from \"components/Timestamp/timestamp.component\";\nimport { NotificationCounter } from \"components/NotificationCounter/notificationCounter.component\";\nimport { Icon } from \"components/Icon/icon.component\";\nimport { Heading } from \"components/Heading/heading.component\";\nimport { Text } from \"components/Text/text.component\";\nimport {\n ConversationCardAvatarGroup,\n ConversationCardAvatarGroupProps,\n} from \"../ConversationCardAvatarGroup/conversationCardAvatarGroup.component\";\n\nexport interface ConversationCardHeaderProps {\n avatarGroupProps?: ConversationCardAvatarGroupProps;\n showNotificationIndicator?: boolean;\n isCardPinned?: boolean;\n isHoveringCard?: boolean;\n subtitle?: string;\n timestampProps: TimestampProps;\n title: string;\n}\n\nexport const ConversationCardHeader = ({\n avatarGroupProps,\n timestampProps,\n isHoveringCard,\n isCardPinned,\n title,\n showNotificationIndicator,\n subtitle,\n}: ConversationCardHeaderProps): React.JSX.Element => {\n return (\n <HStack\n className=\"ConversationCard__Header\"\n data-testid=\"kibble-conversation-card-header\"\n justify=\"space-between\"\n align=\"flex-start\"\n >\n <HStack\n className=\"ConversationCard__Header--Left\"\n data-testid=\"kibble-conversation-card-header-left\"\n cursor=\"pointer\"\n >\n {avatarGroupProps && (\n <ConversationCardAvatarGroup\n {...avatarGroupProps}\n tooltipLabel={avatarGroupProps?.tooltipLabel || title}\n />\n )}\n <VStack\n className=\"ConversationCard__HeaderText\"\n data-testid=\"kibble-conversation-card-header-text\"\n justify=\"center\"\n align=\"left\"\n gap=\"0\"\n >\n <Heading\n className=\"ConversationCard__HeaderText--Title\"\n data-testid=\"kibble-conversation-card-header-title\"\n size=\"sm\"\n truncated\n >\n {title}\n </Heading>\n {subtitle && (\n <Text\n className=\"ConversationCard__HeaderText--Subtitle\"\n data-testid=\"kibble-conversation-card-header-subtitle\"\n as=\"p\"\n size=\"sm\"\n variant=\"subtle\"\n truncated\n >\n {subtitle}\n </Text>\n )}\n </VStack>\n </HStack>\n <HStack\n className=\"ConversationCard__Header--Right\"\n data-testid=\"kibble-conversation-card-header-right\"\n visibility={isHoveringCard ? \"hidden\" : \"visible\"}\n align=\"center\"\n gap={1}\n >\n <Timestamp {...timestampProps} />\n {showNotificationIndicator && (\n <Box\n as=\"span\"\n className=\"ConversationCard__HeaderNotificationCounter\"\n data-testid=\"conversation-card-unread-indicator\"\n >\n <NotificationCounter size=\"xs\" />\n </Box>\n )}\n {isCardPinned && (\n <Flex data-testid=\"conversation-card-pinned-icon\">\n <Icon size=\"md\" variant=\"info\" name=\"pin\" />\n </Flex>\n )}\n </HStack>\n </HStack>\n );\n};\n","import React from \"react\";\nimport { HStack } from \"@chakra-ui/react/stack\";\nimport { Button } from \"components/Button/button.component\";\nimport { Icon } from \"components/Icon/icon.component\";\nimport { Menu, MenuProps, MenuItemProps } from \"components/Menu\";\n\nexport interface ConversationCardOverlayProps {\n isOpenInOverlay?: boolean;\n onOpenInOverlay: () => void;\n}\n\nexport interface ConversationCardPinProps {\n isPinned?: boolean;\n onTogglePin: (isPinned: boolean) => void;\n}\n\nexport interface ConversationCardButtonsProps {\n overlayProps?: ConversationCardOverlayProps;\n pinProps?: ConversationCardPinProps;\n headerMenuProps?: MenuProps;\n}\n\ninterface ConversationCardButtonsComponentProps\n extends ConversationCardButtonsProps {\n isHovering: boolean;\n setIsHovering: (isHovering: boolean) => void;\n}\n\nexport const ConversationCardButtons = ({\n overlayProps,\n pinProps,\n headerMenuProps,\n isHovering,\n setIsHovering,\n}: ConversationCardButtonsComponentProps): React.JSX.Element => {\n const { isOpenInOverlay, onOpenInOverlay } = overlayProps || {};\n const { isPinned, onTogglePin } = pinProps || {};\n const { listProps } = headerMenuProps || {};\n const pinIconName = isPinned ? \"pinCancel\" : \"pin\";\n\n return (\n <HStack\n className=\"ConversationCard__Menu\"\n data-testid=\"kibble-conversation-card-menu\"\n gap={1}\n >\n {overlayProps && (\n <Button\n className=\"ConversationCard__OverlayButton\"\n data-testid=\"conversation-card-overlay-icon-button\"\n variant=\"secondarySubtle\"\n borderRadius=\"sm\"\n {...(isOpenInOverlay && { active: true })}\n onClick={(): void => {\n if (onOpenInOverlay) {\n onOpenInOverlay();\n }\n\n if (isHovering) {\n setIsHovering(false);\n }\n }}\n iconName=\"popup\"\n size=\"sm\"\n />\n )}\n {pinProps && (\n <Button\n className=\"ConversationCard__PinButton\"\n data-testid=\"conversation-card-pin-toggle-icon-button\"\n variant={isPinned ? \"secondarySubtleDestructive\" : \"secondarySubtle\"}\n borderRadius=\"sm\"\n onClick={(): void => {\n if (onTogglePin) {\n onTogglePin(!isPinned);\n }\n\n if (isHovering) {\n setIsHovering(false);\n }\n }}\n iconName={pinIconName}\n size=\"sm\"\n />\n )}\n {headerMenuProps && (\n <Menu\n buttonProps={\n headerMenuProps.buttonProps || {\n variant: \"secondarySubtle\",\n size: \"sm\",\n borderRadius: \"sm\",\n iconName: \"dotsVertical\",\n hideCaret: true,\n padding: 0,\n }\n }\n closeOnSelect={false}\n lazyMount\n {...headerMenuProps}\n listProps={{\n ...listProps,\n menuItems: [\n ...(pinProps\n ? [\n {\n \"data-testid\":\n \"conversation-card-pin-toggle-dropdown-button\",\n label: `${isPinned ? \"Unpin\" : \"Pin\"} Conversation`,\n value: \"PinConversation\",\n variant: isPinned ? \"danger\" : \"default\",\n leftElement: (\n <Icon\n size=\"md\"\n variant={isPinned ? \"danger\" : \"default\"}\n name={pinIconName}\n />\n ),\n onSelect: (): void => {\n if (onTogglePin) {\n onTogglePin(!isPinned);\n }\n },\n } as MenuItemProps,\n ]\n : []),\n ...(listProps?.menuItems || []),\n ],\n }}\n />\n )}\n </HStack>\n );\n};\n","import React from \"react\";\nimport { Box } from \"@chakra-ui/react/box\";\nimport { Wrap, WrapItem } from \"@chakra-ui/react/wrap\";\nimport { Tag, TagProps } from \"components/Tag/tag.component\";\nimport { Tooltip } from \"components/Tooltip/tooltip.component\";\n\nexport type ConversationCardTag = TagProps & {\n tooltipContent?: string;\n};\n\nexport interface ConversationCardTagsProps {\n tags: ConversationCardTag[];\n}\n\nexport const ConversationCardTags = ({\n tags,\n}: ConversationCardTagsProps): React.JSX.Element => {\n return (\n <Box className=\"ConversationCard__Tags\" mt={3}>\n <Wrap gap=\"6px\">\n {tags.map((tag) => {\n const { tooltipContent, ...rest } = tag;\n let tagElement = (\n <Tag {...rest} size=\"sm\" textTransform=\"capitalize\" />\n );\n\n if (tooltipContent) {\n tagElement = (\n <Tooltip label={tooltipContent} placement=\"top\">\n <Box>{tagElement}</Box>\n </Tooltip>\n );\n }\n\n return <WrapItem key={tag.label}>{tagElement}</WrapItem>;\n })}\n </Wrap>\n </Box>\n );\n};\n","import React from \"react\";\nimport { Flex } from \"@chakra-ui/react/flex\";\nimport { Icon, IconProps } from \"components/Icon/icon.component\";\nimport { Text, TextProps } from \"components/Text/text.component\";\n\nexport interface ConversationCardFooterProps {\n iconProps?: IconProps;\n content: React.ReactNode;\n contentProps?: Omit<TextProps, \"children\">;\n}\n\nexport const ConversationCardFooter = ({\n iconProps,\n content,\n contentProps,\n}: ConversationCardFooterProps): React.JSX.Element => {\n const _content =\n typeof content === \"string\" ? (\n <Text\n className=\"ConversationCard__FooterMessage\"\n data-testid=\"kibble-conversation-card-footer-message\"\n as=\"p\"\n size=\"sm\"\n variant=\"subtle\"\n {...contentProps}\n {...(iconProps && { ml: 1 })}\n >\n {content}\n </Text>\n ) : (\n content\n );\n return (\n <Flex\n className=\"ConversationCard__Footer\"\n data-testid=\"kibble-conversation-card-footer\"\n mt={3}\n alignItems=\"center\"\n >\n {iconProps && <Icon size=\"sm\" variant=\"subtle\" {...iconProps} />}\n {_content}\n </Flex>\n );\n};\n","import React from \"react\";\nimport { Box } from \"@chakra-ui/react/box\";\nimport { HStack } from \"@chakra-ui/react/stack\";\nimport { Text, TextProps } from \"components/Text/text.component\";\n\nexport interface ConversationCardContentProps {\n content?: React.ReactNode;\n contentProps?: Omit<TextProps, \"children\">;\n contentMenu?: React.ReactNode;\n}\n\nexport const ConversationCardContent = ({\n contentMenu,\n content,\n contentProps,\n}: ConversationCardContentProps): React.JSX.Element => {\n const _content =\n typeof content === \"string\" ? (\n <Text\n className=\"ConversationCard__Content\"\n data-testid=\"kibble-conversation-card-content\"\n truncated\n size=\"sm\"\n {...contentProps}\n >\n {content}\n </Text>\n ) : (\n content\n );\n\n return (\n <HStack\n className=\"ConversationCard__ContentContainer\"\n data-testid=\"kibble-conversation-card-content-container\"\n mt={3}\n justifyContent=\"space-between\"\n alignItems=\"center\"\n >\n {_content}\n {contentMenu && (\n <Box\n className=\"ConversationCard__ContentMenu\"\n data-testid=\"kibble-conversation-card-content-menu\"\n ml=\"auto\"\n >\n {contentMenu}\n </Box>\n )}\n </HStack>\n );\n};\n","import React, { useState } from \"react\";\nimport { Box } from \"@chakra-ui/react/box\";\nimport { Card } from \"components/Card/card.component\";\nimport { MenuProps } from \"components/Menu/menu.component\";\nimport {\n ConversationCardHeader,\n ConversationCardHeaderProps,\n} from \"./components/ConversationCardHeader/conversationCardHeader.component\";\nimport {\n ConversationCardButtons,\n ConversationCardOverlayProps,\n ConversationCardPinProps,\n} from \"./components/ConversationCardButtons/conversationCardButtons.component\";\nimport {\n ConversationCardTag,\n ConversationCardTags,\n} from \"./components/ConversationCardTags/conversationCardTags.component\";\nimport {\n ConversationCardFooter,\n ConversationCardFooterProps,\n} from \"./components/ConversationCardFooter/conversationCardFooter.component\";\nimport {\n ConversationCardContent,\n ConversationCardContentProps,\n} from \"./components/ConversationCardContent/conversationCardContent.component\";\nimport { ConversationCardAvatarGroupProps } from \"./components/ConversationCardAvatarGroup/conversationCardAvatarGroup.component\";\n\nexport interface ConversationCardProps extends ConversationCardContentProps {\n allowHoverActions?: boolean;\n avatarGroupProps?: ConversationCardAvatarGroupProps;\n footerProps?: ConversationCardFooterProps;\n headerMenuProps?: MenuProps;\n headerProps: ConversationCardHeaderProps;\n active?: boolean;\n onClick?: () => void;\n overlayProps?: ConversationCardOverlayProps;\n pinProps?: ConversationCardPinProps;\n shouldPreservePosition?: boolean;\n showNotificationIndicator?: boolean;\n tags?: ConversationCardTag[];\n}\n\nexport const ConversationCard = ({\n allowHoverActions = true,\n avatarGroupProps,\n content,\n contentProps,\n contentMenu,\n footerProps,\n headerMenuProps,\n headerProps,\n active,\n onClick,\n overlayProps,\n pinProps,\n shouldPreservePosition = false,\n showNotificationIndicator,\n tags,\n}: ConversationCardProps): React.JSX.Element => {\n const { isPinned } = pinProps || {};\n const [isHovering, setIsHovering] = useState(false);\n\n return (\n <Card\n className=\"ConversationCard\"\n id=\"conversation-card-item\"\n data-testid=\"kibble-conversation-card\"\n interactive\n active={active}\n size=\"sm\"\n fullWidth\n onClick={(): void => {\n if (onClick) {\n onClick();\n }\n }}\n bg={\n showNotificationIndicator || active || isHovering\n ? \"background.default\"\n : \"background.alphaContrast.pressed\"\n }\n onMouseEnter={(): void => {\n if (allowHoverActions) {\n setIsHovering(true);\n }\n }}\n onMouseLeave={(): void => setIsHovering(false)}\n pos=\"relative\"\n css={{ overflowAnchor: shouldPreservePosition ? \"auto\" : \"none\" }}\n >\n {isHovering && (\n <Box\n className=\"ConversationCard__Menu--Container\"\n data-testid=\"kibble-conversation-card-menu-container\"\n pos=\"absolute\"\n top={2}\n zIndex=\"banner\"\n right={2}\n bg=\"background\"\n borderRadius=\"md\"\n onClick={(e): void => e.stopPropagation()}\n >\n <ConversationCardButtons\n overlayProps={overlayProps}\n pinProps={pinProps}\n headerMenuProps={headerMenuProps}\n isHovering={isHovering}\n setIsHovering={setIsHovering}\n />\n </Box>\n )}\n <ConversationCardHeader\n avatarGroupProps={avatarGroupProps}\n isHoveringCard={isHovering}\n isCardPinned={isPinned}\n showNotificationIndicator={showNotificationIndicator}\n {...headerProps}\n />\n <ConversationCardContent\n content={content}\n contentProps={contentProps}\n contentMenu={contentMenu}\n />\n {!!tags?.length && <ConversationCardTags tags={tags} />}\n {footerProps && <ConversationCardFooter {...footerProps} />}\n </Card>\n );\n};\n"],"names":["ConversationCardAvatarGroup","avatars","max","onAvatarGroupClick","tooltipLabel","jsx","Tooltip","Flex","Avatar","e","Fragment","avatar","ConversationCardHeader","avatarGroupProps","timestampProps","isHoveringCard","isCardPinned","title","showNotificationIndicator","subtitle","jsxs","HStack","VStack","Heading","Text","Timestamp","Box","NotificationCounter","Icon","ConversationCardButtons","overlayProps","pinProps","headerMenuProps","isHovering","setIsHovering","isOpenInOverlay","onOpenInOverlay","isPinned","onTogglePin","listProps","pinIconName","Button","Menu","ConversationCardTags","tags","Wrap","tag","tooltipContent","rest","tagElement","Tag","WrapItem","ConversationCardFooter","iconProps","content","contentProps","_content","ConversationCardContent","contentMenu","ConversationCard","allowHoverActions","footerProps","headerProps","active","onClick","shouldPreservePosition","useState","Card"],"mappings":"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"}
1
+ {"version":3,"file":"conversationCard.component-Df4ix8on.js","sources":["../../src/components/ConversationCard/components/ConversationCardAvatarGroup/conversationCardAvatarGroup.component.tsx","../../src/components/ConversationCard/components/ConversationCardHeader/conversationCardHeader.component.tsx","../../src/components/ConversationCard/components/ConversationCardButtons/conversationCardButtons.component.tsx","../../src/components/ConversationCard/components/ConversationCardTags/conversationCardTags.component.tsx","../../src/components/ConversationCard/components/ConversationCardFooter/conversationCardFooter.component.tsx","../../src/components/ConversationCard/components/ConversationCardContent/conversationCardContent.component.tsx","../../src/components/ConversationCard/conversationCard.component.tsx"],"sourcesContent":["import React from \"react\";\nimport { Flex } from \"@chakra-ui/react/flex\";\nimport { Avatar } from \"components/Avatar/avatar.component\";\nimport { Tooltip } from \"components/Tooltip/tooltip.component\";\n\nexport interface ConversationCardAvatarGroupProps {\n avatars: React.ReactNode[];\n max?: number;\n onAvatarGroupClick?: (\n e: React.MouseEvent<HTMLSpanElement, MouseEvent>,\n ) => void;\n tooltipLabel?: string;\n}\n\nexport const ConversationCardAvatarGroup = ({\n avatars,\n max = 1,\n onAvatarGroupClick,\n tooltipLabel,\n}: ConversationCardAvatarGroupProps): React.JSX.Element => {\n return (\n <Tooltip label={tooltipLabel || \"\"} disabled={!tooltipLabel?.length}>\n <Flex\n className=\"ConversationCard__AvatarGroup\"\n alignItems=\"flex-start\"\n justifyContent=\"flex-start\"\n >\n {max && avatars.length > max ? (\n <Avatar\n onClick={(e): void => {\n e.stopPropagation();\n if (onAvatarGroupClick) {\n onAvatarGroupClick(e);\n }\n }}\n cursor=\"pointer\"\n name={avatars.length.toString()}\n showTooltip={false}\n />\n ) : (\n <>{avatars.map((avatar) => avatar)}</>\n )}\n </Flex>\n </Tooltip>\n );\n};\n","import React from \"react\";\nimport { Box } from \"@chakra-ui/react/box\";\nimport { Flex } from \"@chakra-ui/react/flex\";\nimport { HStack, VStack } from \"@chakra-ui/react/stack\";\nimport {\n Timestamp,\n TimestampProps,\n} from \"components/Timestamp/timestamp.component\";\nimport { NotificationCounter } from \"components/NotificationCounter/notificationCounter.component\";\nimport { Icon } from \"components/Icon/icon.component\";\nimport { Heading } from \"components/Heading/heading.component\";\nimport { Text } from \"components/Text/text.component\";\nimport {\n ConversationCardAvatarGroup,\n ConversationCardAvatarGroupProps,\n} from \"../ConversationCardAvatarGroup/conversationCardAvatarGroup.component\";\n\nexport interface ConversationCardHeaderProps {\n avatarGroupProps?: ConversationCardAvatarGroupProps;\n showNotificationIndicator?: boolean;\n isCardPinned?: boolean;\n isHoveringCard?: boolean;\n subtitle?: string;\n timestampProps: TimestampProps;\n title: string;\n}\n\nexport const ConversationCardHeader = ({\n avatarGroupProps,\n timestampProps,\n isHoveringCard,\n isCardPinned,\n title,\n showNotificationIndicator,\n subtitle,\n}: ConversationCardHeaderProps): React.JSX.Element => {\n return (\n <HStack\n className=\"ConversationCard__Header\"\n data-testid=\"kibble-conversation-card-header\"\n justify=\"space-between\"\n align=\"flex-start\"\n >\n <HStack\n className=\"ConversationCard__Header--Left\"\n data-testid=\"kibble-conversation-card-header-left\"\n cursor=\"pointer\"\n >\n {avatarGroupProps && (\n <ConversationCardAvatarGroup\n {...avatarGroupProps}\n tooltipLabel={avatarGroupProps?.tooltipLabel || title}\n />\n )}\n <VStack\n className=\"ConversationCard__HeaderText\"\n data-testid=\"kibble-conversation-card-header-text\"\n justify=\"center\"\n align=\"left\"\n gap=\"0\"\n >\n <Heading\n className=\"ConversationCard__HeaderText--Title\"\n data-testid=\"kibble-conversation-card-header-title\"\n size=\"sm\"\n truncated\n >\n {title}\n </Heading>\n {subtitle && (\n <Text\n className=\"ConversationCard__HeaderText--Subtitle\"\n data-testid=\"kibble-conversation-card-header-subtitle\"\n as=\"p\"\n size=\"sm\"\n variant=\"subtle\"\n truncated\n >\n {subtitle}\n </Text>\n )}\n </VStack>\n </HStack>\n <HStack\n className=\"ConversationCard__Header--Right\"\n data-testid=\"kibble-conversation-card-header-right\"\n visibility={isHoveringCard ? \"hidden\" : \"visible\"}\n align=\"center\"\n gap={1}\n >\n <Timestamp {...timestampProps} />\n {showNotificationIndicator && (\n <Box\n as=\"span\"\n className=\"ConversationCard__HeaderNotificationCounter\"\n data-testid=\"conversation-card-unread-indicator\"\n >\n <NotificationCounter size=\"xs\" />\n </Box>\n )}\n {isCardPinned && (\n <Flex data-testid=\"conversation-card-pinned-icon\">\n <Icon size=\"md\" variant=\"info\" name=\"pin\" />\n </Flex>\n )}\n </HStack>\n </HStack>\n );\n};\n","import React from \"react\";\nimport { HStack } from \"@chakra-ui/react/stack\";\nimport { Button } from \"components/Button/button.component\";\nimport { Icon } from \"components/Icon/icon.component\";\nimport { Menu, MenuProps, MenuItemProps } from \"components/Menu\";\n\nexport interface ConversationCardOverlayProps {\n isOpenInOverlay?: boolean;\n onOpenInOverlay: () => void;\n}\n\nexport interface ConversationCardPinProps {\n isPinned?: boolean;\n onTogglePin: (isPinned: boolean) => void;\n}\n\nexport interface ConversationCardButtonsProps {\n overlayProps?: ConversationCardOverlayProps;\n pinProps?: ConversationCardPinProps;\n headerMenuProps?: MenuProps;\n}\n\ninterface ConversationCardButtonsComponentProps\n extends ConversationCardButtonsProps {\n isHovering: boolean;\n setIsHovering: (isHovering: boolean) => void;\n}\n\nexport const ConversationCardButtons = ({\n overlayProps,\n pinProps,\n headerMenuProps,\n isHovering,\n setIsHovering,\n}: ConversationCardButtonsComponentProps): React.JSX.Element => {\n const { isOpenInOverlay, onOpenInOverlay } = overlayProps || {};\n const { isPinned, onTogglePin } = pinProps || {};\n const { listProps } = headerMenuProps || {};\n const pinIconName = isPinned ? \"pinCancel\" : \"pin\";\n\n return (\n <HStack\n className=\"ConversationCard__Menu\"\n data-testid=\"kibble-conversation-card-menu\"\n gap={1}\n >\n {overlayProps && (\n <Button\n className=\"ConversationCard__OverlayButton\"\n data-testid=\"conversation-card-overlay-icon-button\"\n variant=\"secondarySubtle\"\n borderRadius=\"sm\"\n {...(isOpenInOverlay && { active: true })}\n onClick={(): void => {\n if (onOpenInOverlay) {\n onOpenInOverlay();\n }\n\n if (isHovering) {\n setIsHovering(false);\n }\n }}\n iconName=\"popup\"\n size=\"sm\"\n />\n )}\n {pinProps && (\n <Button\n className=\"ConversationCard__PinButton\"\n data-testid=\"conversation-card-pin-toggle-icon-button\"\n variant={isPinned ? \"secondarySubtleDestructive\" : \"secondarySubtle\"}\n borderRadius=\"sm\"\n onClick={(): void => {\n if (onTogglePin) {\n onTogglePin(!isPinned);\n }\n\n if (isHovering) {\n setIsHovering(false);\n }\n }}\n iconName={pinIconName}\n size=\"sm\"\n />\n )}\n {headerMenuProps && (\n <Menu\n buttonProps={\n headerMenuProps.buttonProps || {\n variant: \"secondarySubtle\",\n size: \"sm\",\n borderRadius: \"sm\",\n iconName: \"dotsVertical\",\n hideCaret: true,\n padding: 0,\n }\n }\n closeOnSelect={false}\n lazyMount\n {...headerMenuProps}\n listProps={{\n ...listProps,\n menuItems: [\n ...(pinProps\n ? [\n {\n \"data-testid\":\n \"conversation-card-pin-toggle-dropdown-button\",\n label: `${isPinned ? \"Unpin\" : \"Pin\"} Conversation`,\n value: \"PinConversation\",\n variant: isPinned ? \"danger\" : \"default\",\n leftElement: (\n <Icon\n size=\"md\"\n variant={isPinned ? \"danger\" : \"default\"}\n name={pinIconName}\n />\n ),\n onSelect: (): void => {\n if (onTogglePin) {\n onTogglePin(!isPinned);\n }\n },\n } as MenuItemProps,\n ]\n : []),\n ...(listProps?.menuItems || []),\n ],\n }}\n />\n )}\n </HStack>\n );\n};\n","import React from \"react\";\nimport { Box } from \"@chakra-ui/react/box\";\nimport { Wrap, WrapItem } from \"@chakra-ui/react/wrap\";\nimport { Tag, TagProps } from \"components/Tag/tag.component\";\nimport { Tooltip } from \"components/Tooltip/tooltip.component\";\n\nexport type ConversationCardTag = TagProps & {\n tooltipContent?: string;\n};\n\nexport interface ConversationCardTagsProps {\n tags: ConversationCardTag[];\n}\n\nexport const ConversationCardTags = ({\n tags,\n}: ConversationCardTagsProps): React.JSX.Element => {\n return (\n <Box className=\"ConversationCard__Tags\" mt={3}>\n <Wrap gap=\"6px\">\n {tags.map((tag) => {\n const { tooltipContent, ...rest } = tag;\n let tagElement = (\n <Tag {...rest} size=\"sm\" textTransform=\"capitalize\" />\n );\n\n if (tooltipContent) {\n tagElement = (\n <Tooltip label={tooltipContent} placement=\"top\">\n <Box>{tagElement}</Box>\n </Tooltip>\n );\n }\n\n return <WrapItem key={tag.label}>{tagElement}</WrapItem>;\n })}\n </Wrap>\n </Box>\n );\n};\n","import React from \"react\";\nimport { Flex } from \"@chakra-ui/react/flex\";\nimport { Icon, IconProps } from \"components/Icon/icon.component\";\nimport { Text, TextProps } from \"components/Text/text.component\";\n\nexport interface ConversationCardFooterProps {\n iconProps?: IconProps;\n content: React.ReactNode;\n contentProps?: Omit<TextProps, \"children\">;\n}\n\nexport const ConversationCardFooter = ({\n iconProps,\n content,\n contentProps,\n}: ConversationCardFooterProps): React.JSX.Element => {\n const _content =\n typeof content === \"string\" ? (\n <Text\n className=\"ConversationCard__FooterMessage\"\n data-testid=\"kibble-conversation-card-footer-message\"\n as=\"p\"\n size=\"sm\"\n variant=\"subtle\"\n {...contentProps}\n {...(iconProps && { ml: 1 })}\n >\n {content}\n </Text>\n ) : (\n content\n );\n return (\n <Flex\n className=\"ConversationCard__Footer\"\n data-testid=\"kibble-conversation-card-footer\"\n mt={3}\n alignItems=\"center\"\n >\n {iconProps && <Icon size=\"sm\" variant=\"subtle\" {...iconProps} />}\n {_content}\n </Flex>\n );\n};\n","import React from \"react\";\nimport { Box } from \"@chakra-ui/react/box\";\nimport { HStack } from \"@chakra-ui/react/stack\";\nimport { Text, TextProps } from \"components/Text/text.component\";\n\nexport interface ConversationCardContentProps {\n content?: React.ReactNode;\n contentProps?: Omit<TextProps, \"children\">;\n contentMenu?: React.ReactNode;\n}\n\nexport const ConversationCardContent = ({\n contentMenu,\n content,\n contentProps,\n}: ConversationCardContentProps): React.JSX.Element => {\n const _content =\n typeof content === \"string\" ? (\n <Text\n className=\"ConversationCard__Content\"\n data-testid=\"kibble-conversation-card-content\"\n truncated\n size=\"sm\"\n {...contentProps}\n >\n {content}\n </Text>\n ) : (\n content\n );\n\n return (\n <HStack\n className=\"ConversationCard__ContentContainer\"\n data-testid=\"kibble-conversation-card-content-container\"\n mt={3}\n justifyContent=\"space-between\"\n alignItems=\"center\"\n >\n {_content}\n {contentMenu && (\n <Box\n className=\"ConversationCard__ContentMenu\"\n data-testid=\"kibble-conversation-card-content-menu\"\n ml=\"auto\"\n >\n {contentMenu}\n </Box>\n )}\n </HStack>\n );\n};\n","import React, { useState } from \"react\";\nimport { Box } from \"@chakra-ui/react/box\";\nimport { Card } from \"components/Card/card.component\";\nimport { MenuProps } from \"components/Menu/menu.component\";\nimport {\n ConversationCardHeader,\n ConversationCardHeaderProps,\n} from \"./components/ConversationCardHeader/conversationCardHeader.component\";\nimport {\n ConversationCardButtons,\n ConversationCardOverlayProps,\n ConversationCardPinProps,\n} from \"./components/ConversationCardButtons/conversationCardButtons.component\";\nimport {\n ConversationCardTag,\n ConversationCardTags,\n} from \"./components/ConversationCardTags/conversationCardTags.component\";\nimport {\n ConversationCardFooter,\n ConversationCardFooterProps,\n} from \"./components/ConversationCardFooter/conversationCardFooter.component\";\nimport {\n ConversationCardContent,\n ConversationCardContentProps,\n} from \"./components/ConversationCardContent/conversationCardContent.component\";\nimport { ConversationCardAvatarGroupProps } from \"./components/ConversationCardAvatarGroup/conversationCardAvatarGroup.component\";\n\nexport interface ConversationCardProps extends ConversationCardContentProps {\n allowHoverActions?: boolean;\n avatarGroupProps?: ConversationCardAvatarGroupProps;\n footerProps?: ConversationCardFooterProps;\n headerMenuProps?: MenuProps;\n headerProps: ConversationCardHeaderProps;\n active?: boolean;\n onClick?: () => void;\n overlayProps?: ConversationCardOverlayProps;\n pinProps?: ConversationCardPinProps;\n shouldPreservePosition?: boolean;\n showNotificationIndicator?: boolean;\n tags?: ConversationCardTag[];\n}\n\nexport const ConversationCard = ({\n allowHoverActions = true,\n avatarGroupProps,\n content,\n contentProps,\n contentMenu,\n footerProps,\n headerMenuProps,\n headerProps,\n active,\n onClick,\n overlayProps,\n pinProps,\n shouldPreservePosition = false,\n showNotificationIndicator,\n tags,\n}: ConversationCardProps): React.JSX.Element => {\n const { isPinned } = pinProps || {};\n const [isHovering, setIsHovering] = useState(false);\n\n return (\n <Card\n className=\"ConversationCard\"\n id=\"conversation-card-item\"\n data-testid=\"kibble-conversation-card\"\n interactive\n active={active}\n size=\"sm\"\n fullWidth\n onClick={(): void => {\n if (onClick) {\n onClick();\n }\n }}\n bg={\n showNotificationIndicator || active || isHovering\n ? \"background.default\"\n : \"background.alphaContrast.pressed\"\n }\n onMouseEnter={(): void => {\n if (allowHoverActions) {\n setIsHovering(true);\n }\n }}\n onMouseLeave={(): void => setIsHovering(false)}\n pos=\"relative\"\n css={{ overflowAnchor: shouldPreservePosition ? \"auto\" : \"none\" }}\n >\n {isHovering && (\n <Box\n className=\"ConversationCard__Menu--Container\"\n data-testid=\"kibble-conversation-card-menu-container\"\n pos=\"absolute\"\n top={2}\n zIndex=\"banner\"\n right={2}\n bg=\"background\"\n borderRadius=\"md\"\n onClick={(e): void => e.stopPropagation()}\n >\n <ConversationCardButtons\n overlayProps={overlayProps}\n pinProps={pinProps}\n headerMenuProps={headerMenuProps}\n isHovering={isHovering}\n setIsHovering={setIsHovering}\n />\n </Box>\n )}\n <ConversationCardHeader\n avatarGroupProps={avatarGroupProps}\n isHoveringCard={isHovering}\n isCardPinned={isPinned}\n showNotificationIndicator={showNotificationIndicator}\n {...headerProps}\n />\n <ConversationCardContent\n content={content}\n contentProps={contentProps}\n contentMenu={contentMenu}\n />\n {!!tags?.length && <ConversationCardTags tags={tags} />}\n {footerProps && <ConversationCardFooter {...footerProps} />}\n </Card>\n );\n};\n"],"names":["ConversationCardAvatarGroup","avatars","max","onAvatarGroupClick","tooltipLabel","jsx","Tooltip","Flex","Avatar","e","Fragment","avatar","ConversationCardHeader","avatarGroupProps","timestampProps","isHoveringCard","isCardPinned","title","showNotificationIndicator","subtitle","jsxs","HStack","VStack","Heading","Text","Timestamp","Box","NotificationCounter","Icon","ConversationCardButtons","overlayProps","pinProps","headerMenuProps","isHovering","setIsHovering","isOpenInOverlay","onOpenInOverlay","isPinned","onTogglePin","listProps","pinIconName","Button","Menu","ConversationCardTags","tags","Wrap","tag","tooltipContent","rest","tagElement","Tag","WrapItem","ConversationCardFooter","iconProps","content","contentProps","_content","ConversationCardContent","contentMenu","ConversationCard","allowHoverActions","footerProps","headerProps","active","onClick","shouldPreservePosition","useState","Card"],"mappings":"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"}