@televet/kibble-ui 5.0.5 → 5.0.6

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 (72) hide show
  1. package/dist/chunks/{avatar.component-Bi0lMCsC.js → avatar.component-BGgZoVJS.js} +2 -2
  2. package/dist/chunks/avatar.component-BGgZoVJS.js.map +1 -0
  3. package/dist/chunks/{avatar.component-DUZc5iXT.js → avatar.component-CzutRWy6.js} +2 -2
  4. package/dist/chunks/avatar.component-CzutRWy6.js.map +1 -0
  5. package/dist/chunks/{avatarGroup.component-BwrjkSJn.js → avatarGroup.component-Dx94P94w.js} +2 -2
  6. package/dist/chunks/{avatarGroup.component-BwrjkSJn.js.map → avatarGroup.component-Dx94P94w.js.map} +1 -1
  7. package/dist/chunks/{avatarGroup.component-BdhUT7n5.js → avatarGroup.component-N2vYrtiD.js} +2 -2
  8. package/dist/chunks/{avatarGroup.component-BdhUT7n5.js.map → avatarGroup.component-N2vYrtiD.js.map} +1 -1
  9. package/dist/chunks/{button.recipe-Bb0lptGi.js → button.recipe-CZ-PlRrK.js} +40 -6
  10. package/dist/chunks/button.recipe-CZ-PlRrK.js.map +1 -0
  11. package/dist/chunks/button.recipe-DyIe5w68.js +2 -0
  12. package/dist/chunks/button.recipe-DyIe5w68.js.map +1 -0
  13. package/dist/chunks/{button.types-C9PpvmYR.js → button.types-BjfcUcMn.js} +8 -5
  14. package/dist/chunks/button.types-BjfcUcMn.js.map +1 -0
  15. package/dist/chunks/button.types-DXP4uRV8.js +2 -0
  16. package/dist/chunks/button.types-DXP4uRV8.js.map +1 -0
  17. package/dist/chunks/{conversationCard.component-8-HSmE3v.js → conversationCard.component-CXKQyfAl.js} +2 -2
  18. package/dist/chunks/{conversationCard.component-8-HSmE3v.js.map → conversationCard.component-CXKQyfAl.js.map} +1 -1
  19. package/dist/chunks/{conversationCard.component-FMq9PY8T.js → conversationCard.component-GOl51Avf.js} +2 -2
  20. package/dist/chunks/{conversationCard.component-FMq9PY8T.js.map → conversationCard.component-GOl51Avf.js.map} +1 -1
  21. package/dist/chunks/{radioGroup.types-C-JQsOXh.js → radioGroup.types--Is8KTII.js} +2 -2
  22. package/dist/chunks/{radioGroup.types-C-JQsOXh.js.map → radioGroup.types--Is8KTII.js.map} +1 -1
  23. package/dist/chunks/{radioGroup.types-sigpU7JZ.js → radioGroup.types-ClfoT_Sw.js} +2 -2
  24. package/dist/chunks/{radioGroup.types-sigpU7JZ.js.map → radioGroup.types-ClfoT_Sw.js.map} +1 -1
  25. package/dist/chunks/{rating.component-Btdd7tMX.js → rating.component-BANdN2LL.js} +2 -2
  26. package/dist/chunks/rating.component-BANdN2LL.js.map +1 -0
  27. package/dist/chunks/rating.component-DEVRcfgE.js +2 -0
  28. package/dist/chunks/rating.component-DEVRcfgE.js.map +1 -0
  29. package/dist/chunks/{styledAvatar.types-CUweBJqA.js → styledAvatar.types-BG2G_U-W.js} +2 -2
  30. package/dist/chunks/{styledAvatar.types-CUweBJqA.js.map → styledAvatar.types-BG2G_U-W.js.map} +1 -1
  31. package/dist/chunks/{styledAvatar.types-C9Oi9C2U.js → styledAvatar.types-Dd3tKh-E.js} +2 -2
  32. package/dist/chunks/{styledAvatar.types-C9Oi9C2U.js.map → styledAvatar.types-Dd3tKh-E.js.map} +1 -1
  33. package/dist/chunks/{theme.provider-Biof0UdB.js → theme.provider-B5eDrggx.js} +231 -211
  34. package/dist/chunks/{theme.provider-Biof0UdB.js.map → theme.provider-B5eDrggx.js.map} +1 -1
  35. package/dist/chunks/{theme.provider-BbKLlnGi.js → theme.provider-Bq7OQTSO.js} +2 -2
  36. package/dist/chunks/{theme.provider-BbKLlnGi.js.map → theme.provider-Bq7OQTSO.js.map} +1 -1
  37. package/dist/cjs/components/Avatar/index.cjs +1 -1
  38. package/dist/cjs/components/AvatarGroup/index.cjs +1 -1
  39. package/dist/cjs/components/Button/index.cjs +1 -1
  40. package/dist/cjs/components/ConversationCard/index.cjs +1 -1
  41. package/dist/cjs/components/RadioGroup/index.cjs +1 -1
  42. package/dist/cjs/components/Rating/index.cjs +1 -1
  43. package/dist/cjs/components/StyledAvatar/index.cjs +1 -1
  44. package/dist/cjs/components/index.cjs +1 -1
  45. package/dist/cjs/index.cjs +1 -1
  46. package/dist/cjs/theme/index.cjs +1 -1
  47. package/dist/esm/components/Avatar/index.js +1 -1
  48. package/dist/esm/components/AvatarGroup/index.js +1 -1
  49. package/dist/esm/components/Button/index.js +1 -1
  50. package/dist/esm/components/ConversationCard/index.js +1 -1
  51. package/dist/esm/components/RadioGroup/index.js +1 -1
  52. package/dist/esm/components/Rating/index.js +1 -1
  53. package/dist/esm/components/StyledAvatar/index.js +1 -1
  54. package/dist/esm/components/index.js +7 -7
  55. package/dist/esm/index.js +8 -8
  56. package/dist/esm/theme/index.js +1 -1
  57. package/dist/types/components/Button/button.recipe.d.ts +1 -1
  58. package/dist/types/components/Button/button.types.d.ts +2 -2
  59. package/dist/types/theme/semanticTokens/semanticTokens.config.d.ts +2 -0
  60. package/dist/types/theme/semanticTokens/semanticTokens.records.d.ts +4 -0
  61. package/package.json +1 -1
  62. package/dist/chunks/avatar.component-Bi0lMCsC.js.map +0 -1
  63. package/dist/chunks/avatar.component-DUZc5iXT.js.map +0 -1
  64. package/dist/chunks/button.recipe-Bb0lptGi.js.map +0 -1
  65. package/dist/chunks/button.recipe-flk0XJTS.js +0 -2
  66. package/dist/chunks/button.recipe-flk0XJTS.js.map +0 -1
  67. package/dist/chunks/button.types-3lHElsln.js +0 -2
  68. package/dist/chunks/button.types-3lHElsln.js.map +0 -1
  69. package/dist/chunks/button.types-C9PpvmYR.js.map +0 -1
  70. package/dist/chunks/rating.component-23y0uvWf.js +0 -2
  71. package/dist/chunks/rating.component-23y0uvWf.js.map +0 -1
  72. package/dist/chunks/rating.component-Btdd7tMX.js.map +0 -1
@@ -5,6 +5,8 @@ const t = [
5
5
  "primaryAccentOnContrast",
6
6
  "primaryDestructive",
7
7
  "primaryDestructiveOnContrast",
8
+ "primaryWarning",
9
+ "primaryWarningOnContrast",
8
10
  "primaryGradientFull",
9
11
  "primaryGradientFullOnContrast",
10
12
  "secondary",
@@ -31,6 +33,7 @@ const t = [
31
33
  "primary",
32
34
  "primaryDestructive",
33
35
  "primaryAccent",
36
+ "primaryWarning",
34
37
  "primaryGradientFull",
35
38
  "secondary",
36
39
  "secondaryDestructive",
@@ -42,12 +45,12 @@ const t = [
42
45
  "ghost",
43
46
  "ghostNeutral",
44
47
  "ghostDestructive"
45
- ], e = ["xs", "sm", "md", "lg"], s = ["left", "right"], n = ["start", "end"];
48
+ ], n = ["xs", "sm", "md", "lg"], e = ["left", "right"], a = ["start", "end"];
46
49
  export {
47
50
  r as a,
48
51
  t as b,
49
- e as c,
50
- s as d,
51
- n as e
52
+ n as c,
53
+ e as d,
54
+ a as e
52
55
  };
53
- //# sourceMappingURL=button.types-C9PpvmYR.js.map
56
+ //# sourceMappingURL=button.types-BjfcUcMn.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"button.types-BjfcUcMn.js","sources":["../../src/components/Button/button.types.ts"],"sourcesContent":["export const buttonConfigVariants = [\n 'primary',\n 'primaryOnContrast',\n 'primaryAccent',\n 'primaryAccentOnContrast',\n 'primaryDestructive',\n 'primaryDestructiveOnContrast',\n 'primaryWarning',\n 'primaryWarningOnContrast',\n 'primaryGradientFull',\n 'primaryGradientFullOnContrast',\n 'secondary',\n 'secondaryOnContrast',\n 'secondaryDestructive',\n 'secondaryDestructiveOnContrast',\n 'secondarySubtle',\n 'secondarySubtleOnContrast',\n 'secondarySubtleDestructive',\n 'secondarySubtleDestructiveOnContrast',\n 'secondaryGradientFull',\n 'secondaryGradientFullOnContrast',\n 'tertiary',\n 'tertiaryOnContrast',\n 'tertiaryDestructive',\n 'tertiaryDestructiveOnContrast',\n 'ghost',\n 'ghostOnContrast',\n 'ghostNeutral',\n 'ghostNeutralOnContrast',\n 'ghostDestructive',\n 'ghostDestructiveOnContrast',\n] as const;\nexport type ButtonConfigVariant = (typeof buttonConfigVariants)[number];\n\n// We are omitting onContrast variants from the variants list because we are setting the 'onContrast' boolean to determine this state\nexport const buttonVariants = [\n 'primary',\n 'primaryDestructive',\n 'primaryAccent',\n 'primaryWarning',\n 'primaryGradientFull',\n 'secondary',\n 'secondaryDestructive',\n 'secondarySubtle',\n 'secondarySubtleDestructive',\n 'secondaryGradientFull',\n 'tertiary',\n 'tertiaryDestructive',\n 'ghost',\n 'ghostNeutral',\n 'ghostDestructive',\n] as const;\n\nexport type ButtonVariant = (typeof buttonVariants)[number];\n\nexport const buttonSizes = ['xs', 'sm', 'md', 'lg'] as const;\nexport type ButtonSize = (typeof buttonSizes)[number];\n\nexport const buttonIconPositions = ['left', 'right'] as const;\nexport type ButtonIconPosition = (typeof buttonIconPositions)[number];\n\nexport const buttonSpinnerPlacements = ['start', 'end'] as const;\nexport type ButtonSpinnerPlacement = (typeof buttonSpinnerPlacements)[number];\n"],"names":["buttonConfigVariants","buttonVariants","buttonSizes","buttonIconPositions","buttonSpinnerPlacements"],"mappings":"AAAO,MAAMA,IAAuB;AAAA,EAClC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAIaC,IAAiB;AAAA,EAC5B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAIaC,IAAc,CAAC,MAAM,MAAM,MAAM,IAAI,GAGrCC,IAAsB,CAAC,QAAQ,OAAO,GAGtCC,IAA0B,CAAC,SAAS,KAAK;"}
@@ -0,0 +1,2 @@
1
+ "use strict";const t=["primary","primaryOnContrast","primaryAccent","primaryAccentOnContrast","primaryDestructive","primaryDestructiveOnContrast","primaryWarning","primaryWarningOnContrast","primaryGradientFull","primaryGradientFullOnContrast","secondary","secondaryOnContrast","secondaryDestructive","secondaryDestructiveOnContrast","secondarySubtle","secondarySubtleOnContrast","secondarySubtleDestructive","secondarySubtleDestructiveOnContrast","secondaryGradientFull","secondaryGradientFullOnContrast","tertiary","tertiaryOnContrast","tertiaryDestructive","tertiaryDestructiveOnContrast","ghost","ghostOnContrast","ghostNeutral","ghostNeutralOnContrast","ghostDestructive","ghostDestructiveOnContrast"],r=["primary","primaryDestructive","primaryAccent","primaryWarning","primaryGradientFull","secondary","secondaryDestructive","secondarySubtle","secondarySubtleDestructive","secondaryGradientFull","tertiary","tertiaryDestructive","ghost","ghostNeutral","ghostDestructive"],n=["xs","sm","md","lg"],e=["left","right"],s=["start","end"];exports.buttonConfigVariants=t;exports.buttonIconPositions=e;exports.buttonSizes=n;exports.buttonSpinnerPlacements=s;exports.buttonVariants=r;
2
+ //# sourceMappingURL=button.types-DXP4uRV8.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"button.types-DXP4uRV8.js","sources":["../../src/components/Button/button.types.ts"],"sourcesContent":["export const buttonConfigVariants = [\n 'primary',\n 'primaryOnContrast',\n 'primaryAccent',\n 'primaryAccentOnContrast',\n 'primaryDestructive',\n 'primaryDestructiveOnContrast',\n 'primaryWarning',\n 'primaryWarningOnContrast',\n 'primaryGradientFull',\n 'primaryGradientFullOnContrast',\n 'secondary',\n 'secondaryOnContrast',\n 'secondaryDestructive',\n 'secondaryDestructiveOnContrast',\n 'secondarySubtle',\n 'secondarySubtleOnContrast',\n 'secondarySubtleDestructive',\n 'secondarySubtleDestructiveOnContrast',\n 'secondaryGradientFull',\n 'secondaryGradientFullOnContrast',\n 'tertiary',\n 'tertiaryOnContrast',\n 'tertiaryDestructive',\n 'tertiaryDestructiveOnContrast',\n 'ghost',\n 'ghostOnContrast',\n 'ghostNeutral',\n 'ghostNeutralOnContrast',\n 'ghostDestructive',\n 'ghostDestructiveOnContrast',\n] as const;\nexport type ButtonConfigVariant = (typeof buttonConfigVariants)[number];\n\n// We are omitting onContrast variants from the variants list because we are setting the 'onContrast' boolean to determine this state\nexport const buttonVariants = [\n 'primary',\n 'primaryDestructive',\n 'primaryAccent',\n 'primaryWarning',\n 'primaryGradientFull',\n 'secondary',\n 'secondaryDestructive',\n 'secondarySubtle',\n 'secondarySubtleDestructive',\n 'secondaryGradientFull',\n 'tertiary',\n 'tertiaryDestructive',\n 'ghost',\n 'ghostNeutral',\n 'ghostDestructive',\n] as const;\n\nexport type ButtonVariant = (typeof buttonVariants)[number];\n\nexport const buttonSizes = ['xs', 'sm', 'md', 'lg'] as const;\nexport type ButtonSize = (typeof buttonSizes)[number];\n\nexport const buttonIconPositions = ['left', 'right'] as const;\nexport type ButtonIconPosition = (typeof buttonIconPositions)[number];\n\nexport const buttonSpinnerPlacements = ['start', 'end'] as const;\nexport type ButtonSpinnerPlacement = (typeof buttonSpinnerPlacements)[number];\n"],"names":["buttonConfigVariants","buttonVariants","buttonSizes","buttonIconPositions","buttonSpinnerPlacements"],"mappings":"aAAO,MAAMA,EAAuB,CAClC,UACA,oBACA,gBACA,0BACA,qBACA,+BACA,iBACA,2BACA,sBACA,gCACA,YACA,sBACA,uBACA,iCACA,kBACA,4BACA,6BACA,uCACA,wBACA,kCACA,WACA,qBACA,sBACA,gCACA,QACA,kBACA,eACA,yBACA,mBACA,4BACF,EAIaC,EAAiB,CAC5B,UACA,qBACA,gBACA,iBACA,sBACA,YACA,uBACA,kBACA,6BACA,wBACA,WACA,sBACA,QACA,eACA,kBACF,EAIaC,EAAc,CAAC,KAAM,KAAM,KAAM,IAAI,EAGrCC,EAAsB,CAAC,OAAQ,OAAO,EAGtCC,EAA0B,CAAC,QAAS,KAAK"}
@@ -1,2 +1,2 @@
1
- "use strict";const t=require("./jsx-runtime-BjDatQAs.js"),y=require("react"),C=require("./index-BQRnVsAg.js"),z=require("./card.component-BmBiYbMV.js"),$=require("./timestamp.component-BfmZPfy5.js"),H=require("./notificationCounter.component-CBwi5vXa.js"),R=require("./icon.component-B1hr5lLa.js"),B=require("./heading.component-DnoZOXdz.js"),E=require("./text.component-BDDz5KQP.js"),F=require("./avatar.component-Bi0lMCsC.js"),k=require("./tooltip.component-DBw-hAPU.js"),g=require("./flex-BOU6tYUd.js"),j=require("./h-stack-D4MnHHRc.js"),W=require("./v-stack-Bz-79Toq.js"),h=require("./button.component-DjdgBXDC.js"),O=require("./menu.component-D79Ce44I.js"),T=require("./tag.component-C98Wf07v.js"),N=require("./wrap-BzPamGsJ.js"),w=({avatars:e,max:n=1,onAvatarGroupClick:a,tooltipLabel:s,["data-testid"]:i="kibble-conversation-card-avatar-group"})=>t.jsxRuntimeExports.jsx(k.Tooltip,{label:s||"",disabled:!s?.length,children:t.jsxRuntimeExports.jsx(g.Flex,{className:"ConversationCard__AvatarGroup","data-testid":i,alignItems:"flex-start",justifyContent:"flex-start",children:n&&e.length>n?t.jsxRuntimeExports.jsx(F.Avatar,{onClick:r=>{r.stopPropagation(),a&&a(r)},cursor:"pointer",name:e.length.toString(),showTooltip:!1}):t.jsxRuntimeExports.jsx(t.jsxRuntimeExports.Fragment,{children:e.map(r=>r)})})}),D=({avatarGroupProps:e,timestampProps:n,isHoveringCard:a,isCardPinned:s,title:i,showNotificationIndicator:r,subtitle:d,["data-testid"]:o="kibble-conversation-card-header"})=>t.jsxRuntimeExports.jsxs(j.HStack,{className:"ConversationCard__Header","data-testid":o,justify:"space-between",align:"flex-start",children:[t.jsxRuntimeExports.jsxs(j.HStack,{className:"ConversationCard__Header--Left","data-testid":`${o}-left`,cursor:"pointer",children:[e&&t.jsxRuntimeExports.jsx(w,{...e,tooltipLabel:e?.tooltipLabel||i}),t.jsxRuntimeExports.jsxs(W.VStack,{className:"ConversationCard__HeaderText","data-testid":`${o}-text`,justify:"center",align:"left",gap:"0",children:[t.jsxRuntimeExports.jsx(B.WrappedHeading,{className:"ConversationCard__HeaderText--Title","data-testid":`${o}-title`,size:"sm",truncated:!0,children:i}),d&&t.jsxRuntimeExports.jsx(E.WrappedText,{className:"ConversationCard__HeaderText--Subtitle","data-testid":`${o}-subtitle`,size:"sm",variant:"subtle",truncated:!0,children:d})]})]}),t.jsxRuntimeExports.jsxs(j.HStack,{className:"ConversationCard__Header--Right","data-testid":`${o}-right`,visibility:a?"hidden":"visible",align:"center",gap:1,children:[t.jsxRuntimeExports.jsx($.Timestamp,{...n}),r&&t.jsxRuntimeExports.jsx(C.Box,{as:"span",className:"ConversationCard__HeaderNotificationCounter","data-testid":`${o}-unread-indicator`,children:t.jsxRuntimeExports.jsx(H.NotificationCounter,{size:"xs"})}),s&&t.jsxRuntimeExports.jsx(g.Flex,{"data-testid":`${o}-pinned-icon`,children:t.jsxRuntimeExports.jsx(R.Icon,{size:"md",variant:"info",name:"pin"})})]})]}),M=({overlayProps:e,pinProps:n,headerMenuProps:a,isHovering:s,setIsHovering:i,["data-testid"]:r="kibble-conversation-card-buttons"})=>{const{isOpenInOverlay:d,onOpenInOverlay:o,["data-testid"]:u}=e||{},{isPinned:c,onTogglePin:x,["data-testid"]:l}=n||{},{listProps:v,["data-testid"]:m}=a||{},p=c?"pinCancel":"pin";return t.jsxRuntimeExports.jsxs(j.HStack,{className:"ConversationCard__Menu","data-testid":r,gap:1,children:[e&&t.jsxRuntimeExports.jsx(h.Button,{className:"ConversationCard__OverlayButton","data-testid":u||`${r}-overlay-button`,variant:"secondarySubtle",borderRadius:"sm",...d&&{active:!0},onClick:()=>{o&&o(),s&&i(!1)},iconName:"popup",size:"sm"}),n&&t.jsxRuntimeExports.jsx(h.Button,{className:"ConversationCard__PinButton","data-testid":l||`${r}-pin-button`,variant:c?"secondarySubtleDestructive":"secondarySubtle",borderRadius:"sm",onClick:()=>{x&&x(!c),s&&i(!1)},iconName:p,size:"sm"}),a&&t.jsxRuntimeExports.jsx(O.Menu,{buttonProps:a.buttonProps||{variant:"secondarySubtle",size:"sm",borderRadius:"sm",iconName:"dotsVertical",hideCaret:!0,padding:0},closeOnSelect:!1,lazyMount:!0,"data-testid":m||`${r}-menu`,...a,listProps:{...v,menuItems:[...n?[{label:`${c?"Unpin":"Pin"} Conversation`,value:"PinConversation",variant:c?"danger":"default",leftElement:t.jsxRuntimeExports.jsx(R.Icon,{size:"md",variant:c?"danger":"default",name:p}),onSelect:()=>{x&&x(!c)}}]:[],...v?.menuItems||[]]}})]})},A=({tags:e,["data-testid"]:n="kibble-conversation-card-tags"})=>t.jsxRuntimeExports.jsx(C.Box,{className:"ConversationCard__Tags",mt:3,"data-testid":n,children:t.jsxRuntimeExports.jsx(N.Wrap,{gap:2,children:e.map(a=>{const{tooltipContent:s,...i}=a;let r=t.jsxRuntimeExports.jsx(T.Tag,{...i,size:"sm",textTransform:"capitalize"});return s&&(r=t.jsxRuntimeExports.jsx(k.Tooltip,{label:s,placement:"top",children:t.jsxRuntimeExports.jsx(C.Box,{children:r})})),t.jsxRuntimeExports.jsx(N.WrapItem,{children:r},a.label)})})}),L=({iconProps:e,content:n,contentProps:a,["data-testid"]:s="kibble-conversation-card-footer"})=>{const i=typeof n=="string"?t.jsxRuntimeExports.jsx(E.WrappedText,{className:"ConversationCard__FooterMessage","data-testid":`${s}-message`,size:"sm",variant:"subtle",...a,...e&&{ml:1},children:n}):n;return t.jsxRuntimeExports.jsxs(g.Flex,{className:"ConversationCard__Footer","data-testid":s,mt:3,alignItems:"center",children:[e&&t.jsxRuntimeExports.jsx(R.Icon,{size:"sm",variant:"subtle",...e}),i]})},V=({contentMenu:e,content:n,contentProps:a,["data-testid"]:s="kibble-conversation-card-content"})=>{const i=typeof n=="string"?t.jsxRuntimeExports.jsx(E.WrappedText,{className:"ConversationCard__Content","data-testid":`${s}-content`,truncated:!0,size:"sm",...a,children:n}):n;return t.jsxRuntimeExports.jsxs(j.HStack,{className:"ConversationCard__ContentContainer","data-testid":`${s}-container`,mt:3,justifyContent:"space-between",alignItems:"center",children:[i,e&&t.jsxRuntimeExports.jsx(C.Box,{className:"ConversationCard__ContentMenu","data-testid":`${s}-menu`,ml:"auto",children:e})]})},I=({allowHoverActions:e=!0,avatarGroupProps:n,content:a,contentProps:s,contentMenu:i,footerProps:r,headerMenuProps:d,headerProps:o,active:u,onClick:c,overlayProps:x,pinProps:l,shouldPreservePosition:v=!1,showNotificationIndicator:m,tags:p,["data-testid"]:f="kibble-conversation-card"})=>{const{isPinned:q}=l||{},[b,_]=y.useState(!1);return t.jsxRuntimeExports.jsxs(z.Card,{className:"ConversationCard",id:"conversation-card-item","data-testid":f,interactive:!0,active:u,size:"sm",fullWidth:!0,onClick:()=>{c&&c()},bg:m||u||b?"background.default":"background.subtle",onMouseEnter:()=>{e&&_(!0)},onMouseLeave:()=>_(!1),pos:"relative",css:{overflowAnchor:v?"auto":"none"},children:[b&&t.jsxRuntimeExports.jsx(C.Box,{className:"ConversationCard__Button--Container","data-testid":`${f}-button-container`,pos:"absolute",top:2,zIndex:"banner",right:2,bg:"background",borderRadius:"md",onClick:S=>S.stopPropagation(),children:t.jsxRuntimeExports.jsx(M,{overlayProps:x,pinProps:l,headerMenuProps:d,isHovering:b,setIsHovering:_})}),t.jsxRuntimeExports.jsx(D,{avatarGroupProps:n,isHoveringCard:b,isCardPinned:q,showNotificationIndicator:m,...o}),t.jsxRuntimeExports.jsx(V,{content:a,contentProps:s,contentMenu:i}),!!p?.length&&t.jsxRuntimeExports.jsx(A,{tags:p}),r&&t.jsxRuntimeExports.jsx(L,{...r})]})};exports.ConversationCard=I;
2
- //# sourceMappingURL=conversationCard.component-8-HSmE3v.js.map
1
+ "use strict";const t=require("./jsx-runtime-BjDatQAs.js"),y=require("react"),C=require("./index-BQRnVsAg.js"),z=require("./card.component-BmBiYbMV.js"),$=require("./timestamp.component-BfmZPfy5.js"),H=require("./notificationCounter.component-CBwi5vXa.js"),R=require("./icon.component-B1hr5lLa.js"),B=require("./heading.component-DnoZOXdz.js"),E=require("./text.component-BDDz5KQP.js"),F=require("./avatar.component-BGgZoVJS.js"),k=require("./tooltip.component-DBw-hAPU.js"),g=require("./flex-BOU6tYUd.js"),j=require("./h-stack-D4MnHHRc.js"),W=require("./v-stack-Bz-79Toq.js"),h=require("./button.component-DjdgBXDC.js"),O=require("./menu.component-D79Ce44I.js"),T=require("./tag.component-C98Wf07v.js"),N=require("./wrap-BzPamGsJ.js"),w=({avatars:e,max:n=1,onAvatarGroupClick:a,tooltipLabel:s,["data-testid"]:i="kibble-conversation-card-avatar-group"})=>t.jsxRuntimeExports.jsx(k.Tooltip,{label:s||"",disabled:!s?.length,children:t.jsxRuntimeExports.jsx(g.Flex,{className:"ConversationCard__AvatarGroup","data-testid":i,alignItems:"flex-start",justifyContent:"flex-start",children:n&&e.length>n?t.jsxRuntimeExports.jsx(F.Avatar,{onClick:r=>{r.stopPropagation(),a&&a(r)},cursor:"pointer",name:e.length.toString(),showTooltip:!1}):t.jsxRuntimeExports.jsx(t.jsxRuntimeExports.Fragment,{children:e.map(r=>r)})})}),D=({avatarGroupProps:e,timestampProps:n,isHoveringCard:a,isCardPinned:s,title:i,showNotificationIndicator:r,subtitle:d,["data-testid"]:o="kibble-conversation-card-header"})=>t.jsxRuntimeExports.jsxs(j.HStack,{className:"ConversationCard__Header","data-testid":o,justify:"space-between",align:"flex-start",children:[t.jsxRuntimeExports.jsxs(j.HStack,{className:"ConversationCard__Header--Left","data-testid":`${o}-left`,cursor:"pointer",children:[e&&t.jsxRuntimeExports.jsx(w,{...e,tooltipLabel:e?.tooltipLabel||i}),t.jsxRuntimeExports.jsxs(W.VStack,{className:"ConversationCard__HeaderText","data-testid":`${o}-text`,justify:"center",align:"left",gap:"0",children:[t.jsxRuntimeExports.jsx(B.WrappedHeading,{className:"ConversationCard__HeaderText--Title","data-testid":`${o}-title`,size:"sm",truncated:!0,children:i}),d&&t.jsxRuntimeExports.jsx(E.WrappedText,{className:"ConversationCard__HeaderText--Subtitle","data-testid":`${o}-subtitle`,size:"sm",variant:"subtle",truncated:!0,children:d})]})]}),t.jsxRuntimeExports.jsxs(j.HStack,{className:"ConversationCard__Header--Right","data-testid":`${o}-right`,visibility:a?"hidden":"visible",align:"center",gap:1,children:[t.jsxRuntimeExports.jsx($.Timestamp,{...n}),r&&t.jsxRuntimeExports.jsx(C.Box,{as:"span",className:"ConversationCard__HeaderNotificationCounter","data-testid":`${o}-unread-indicator`,children:t.jsxRuntimeExports.jsx(H.NotificationCounter,{size:"xs"})}),s&&t.jsxRuntimeExports.jsx(g.Flex,{"data-testid":`${o}-pinned-icon`,children:t.jsxRuntimeExports.jsx(R.Icon,{size:"md",variant:"info",name:"pin"})})]})]}),M=({overlayProps:e,pinProps:n,headerMenuProps:a,isHovering:s,setIsHovering:i,["data-testid"]:r="kibble-conversation-card-buttons"})=>{const{isOpenInOverlay:d,onOpenInOverlay:o,["data-testid"]:u}=e||{},{isPinned:c,onTogglePin:x,["data-testid"]:l}=n||{},{listProps:v,["data-testid"]:m}=a||{},p=c?"pinCancel":"pin";return t.jsxRuntimeExports.jsxs(j.HStack,{className:"ConversationCard__Menu","data-testid":r,gap:1,children:[e&&t.jsxRuntimeExports.jsx(h.Button,{className:"ConversationCard__OverlayButton","data-testid":u||`${r}-overlay-button`,variant:"secondarySubtle",borderRadius:"sm",...d&&{active:!0},onClick:()=>{o&&o(),s&&i(!1)},iconName:"popup",size:"sm"}),n&&t.jsxRuntimeExports.jsx(h.Button,{className:"ConversationCard__PinButton","data-testid":l||`${r}-pin-button`,variant:c?"secondarySubtleDestructive":"secondarySubtle",borderRadius:"sm",onClick:()=>{x&&x(!c),s&&i(!1)},iconName:p,size:"sm"}),a&&t.jsxRuntimeExports.jsx(O.Menu,{buttonProps:a.buttonProps||{variant:"secondarySubtle",size:"sm",borderRadius:"sm",iconName:"dotsVertical",hideCaret:!0,padding:0},closeOnSelect:!1,lazyMount:!0,"data-testid":m||`${r}-menu`,...a,listProps:{...v,menuItems:[...n?[{label:`${c?"Unpin":"Pin"} Conversation`,value:"PinConversation",variant:c?"danger":"default",leftElement:t.jsxRuntimeExports.jsx(R.Icon,{size:"md",variant:c?"danger":"default",name:p}),onSelect:()=>{x&&x(!c)}}]:[],...v?.menuItems||[]]}})]})},A=({tags:e,["data-testid"]:n="kibble-conversation-card-tags"})=>t.jsxRuntimeExports.jsx(C.Box,{className:"ConversationCard__Tags",mt:3,"data-testid":n,children:t.jsxRuntimeExports.jsx(N.Wrap,{gap:2,children:e.map(a=>{const{tooltipContent:s,...i}=a;let r=t.jsxRuntimeExports.jsx(T.Tag,{...i,size:"sm",textTransform:"capitalize"});return s&&(r=t.jsxRuntimeExports.jsx(k.Tooltip,{label:s,placement:"top",children:t.jsxRuntimeExports.jsx(C.Box,{children:r})})),t.jsxRuntimeExports.jsx(N.WrapItem,{children:r},a.label)})})}),L=({iconProps:e,content:n,contentProps:a,["data-testid"]:s="kibble-conversation-card-footer"})=>{const i=typeof n=="string"?t.jsxRuntimeExports.jsx(E.WrappedText,{className:"ConversationCard__FooterMessage","data-testid":`${s}-message`,size:"sm",variant:"subtle",...a,...e&&{ml:1},children:n}):n;return t.jsxRuntimeExports.jsxs(g.Flex,{className:"ConversationCard__Footer","data-testid":s,mt:3,alignItems:"center",children:[e&&t.jsxRuntimeExports.jsx(R.Icon,{size:"sm",variant:"subtle",...e}),i]})},V=({contentMenu:e,content:n,contentProps:a,["data-testid"]:s="kibble-conversation-card-content"})=>{const i=typeof n=="string"?t.jsxRuntimeExports.jsx(E.WrappedText,{className:"ConversationCard__Content","data-testid":`${s}-content`,truncated:!0,size:"sm",...a,children:n}):n;return t.jsxRuntimeExports.jsxs(j.HStack,{className:"ConversationCard__ContentContainer","data-testid":`${s}-container`,mt:3,justifyContent:"space-between",alignItems:"center",children:[i,e&&t.jsxRuntimeExports.jsx(C.Box,{className:"ConversationCard__ContentMenu","data-testid":`${s}-menu`,ml:"auto",children:e})]})},I=({allowHoverActions:e=!0,avatarGroupProps:n,content:a,contentProps:s,contentMenu:i,footerProps:r,headerMenuProps:d,headerProps:o,active:u,onClick:c,overlayProps:x,pinProps:l,shouldPreservePosition:v=!1,showNotificationIndicator:m,tags:p,["data-testid"]:f="kibble-conversation-card"})=>{const{isPinned:q}=l||{},[b,_]=y.useState(!1);return t.jsxRuntimeExports.jsxs(z.Card,{className:"ConversationCard",id:"conversation-card-item","data-testid":f,interactive:!0,active:u,size:"sm",fullWidth:!0,onClick:()=>{c&&c()},bg:m||u||b?"background.default":"background.subtle",onMouseEnter:()=>{e&&_(!0)},onMouseLeave:()=>_(!1),pos:"relative",css:{overflowAnchor:v?"auto":"none"},children:[b&&t.jsxRuntimeExports.jsx(C.Box,{className:"ConversationCard__Button--Container","data-testid":`${f}-button-container`,pos:"absolute",top:2,zIndex:"banner",right:2,bg:"background",borderRadius:"md",onClick:S=>S.stopPropagation(),children:t.jsxRuntimeExports.jsx(M,{overlayProps:x,pinProps:l,headerMenuProps:d,isHovering:b,setIsHovering:_})}),t.jsxRuntimeExports.jsx(D,{avatarGroupProps:n,isHoveringCard:b,isCardPinned:q,showNotificationIndicator:m,...o}),t.jsxRuntimeExports.jsx(V,{content:a,contentProps:s,contentMenu:i}),!!p?.length&&t.jsxRuntimeExports.jsx(A,{tags:p}),r&&t.jsxRuntimeExports.jsx(L,{...r})]})};exports.ConversationCard=I;
2
+ //# sourceMappingURL=conversationCard.component-CXKQyfAl.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"conversationCard.component-8-HSmE3v.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 to display in the group. */\n avatars: React.ReactNode[];\n /** Maximum number of avatars to display.\n * @default 1\n */\n max?: number;\n /** Callback function to be called when the avatar group is clicked. */\n onAvatarGroupClick?: (e: React.MouseEvent<HTMLSpanElement, MouseEvent>) => void;\n /** Label for the tooltip. */\n tooltipLabel?: string;\n /** Data test id for the avatar group.\n * @default kibble-conversation-card-avatar-group\n */\n 'data-testid'?: string;\n}\n\nexport const ConversationCardAvatarGroup = ({\n avatars,\n max = 1,\n onAvatarGroupClick,\n tooltipLabel,\n ['data-testid']: dataTestId = 'kibble-conversation-card-avatar-group',\n}: ConversationCardAvatarGroupProps): React.JSX.Element => {\n return (\n <Tooltip label={tooltipLabel || ''} disabled={!tooltipLabel?.length}>\n <Flex\n className=\"ConversationCard__AvatarGroup\"\n data-testid={dataTestId}\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 { Timestamp, TimestampProps } 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 /** Props for the avatar group. */\n avatarGroupProps?: ConversationCardAvatarGroupProps;\n /** If true, the notification indicator will be displayed. */\n showNotificationIndicator?: boolean;\n /** Determines if the card is pinned. */\n isCardPinned?: boolean;\n /** Determines if the card is being hovered. */\n isHoveringCard?: boolean;\n /** Subtitle of the card. */\n subtitle?: string;\n /** Props for the timestamp. */\n timestampProps: TimestampProps;\n /** Title of the card. */\n title: string;\n /** Data test id for the header.\n * @default kibble-conversation-card-header\n */\n 'data-testid'?: string;\n}\n\nexport const ConversationCardHeader = ({\n avatarGroupProps,\n timestampProps,\n isHoveringCard,\n isCardPinned,\n title,\n showNotificationIndicator,\n subtitle,\n ['data-testid']: dataTestId = 'kibble-conversation-card-header',\n}: ConversationCardHeaderProps): React.JSX.Element => {\n return (\n <HStack className=\"ConversationCard__Header\" data-testid={dataTestId} justify=\"space-between\" align=\"flex-start\">\n <HStack className=\"ConversationCard__Header--Left\" data-testid={`${dataTestId}-left`} cursor=\"pointer\">\n {avatarGroupProps && (\n <ConversationCardAvatarGroup {...avatarGroupProps} tooltipLabel={avatarGroupProps?.tooltipLabel || title} />\n )}\n <VStack\n className=\"ConversationCard__HeaderText\"\n data-testid={`${dataTestId}-text`}\n justify=\"center\"\n align=\"left\"\n gap=\"0\"\n >\n <Heading\n className=\"ConversationCard__HeaderText--Title\"\n data-testid={`${dataTestId}-title`}\n size=\"sm\"\n truncated\n >\n {title}\n </Heading>\n {subtitle && (\n <Text\n className=\"ConversationCard__HeaderText--Subtitle\"\n data-testid={`${dataTestId}-subtitle`}\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={`${dataTestId}-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={`${dataTestId}-unread-indicator`}\n >\n <NotificationCounter size=\"xs\" />\n </Box>\n )}\n {isCardPinned && (\n <Flex data-testid={`${dataTestId}-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 /** Determines if the conversation is open in an overlay. */\n isOpenInOverlay?: boolean;\n /** Callback function to be called when the conversation is opened in an overlay. */\n onOpenInOverlay: () => void;\n /** Data test id for the overlay button. */\n 'data-testid'?: string;\n}\n\nexport interface ConversationCardPinProps {\n /** Determines if the conversation is pinned. */\n isPinned?: boolean;\n /** Callback function to called when the conversation is pinned. */\n onTogglePin: (isPinned: boolean) => void;\n /** Data test id for the pin button. */\n 'data-testid'?: string;\n}\n\nexport interface ConversationCardButtonsProps {\n /** Props for the overlay button. */\n overlayProps?: ConversationCardOverlayProps;\n /** Props for the pin button. */\n pinProps?: ConversationCardPinProps;\n /** Props for the header Menu. */\n headerMenuProps?: MenuProps;\n /** Data test id for the buttons.\n * @default kibble-conversation-card-buttons\n */\n 'data-testid'?: string;\n}\n\ninterface ConversationCardButtonsComponentProps extends ConversationCardButtonsProps {\n /** Determines if the conversation is being hovered.\n * @internal\n */\n isHovering: boolean;\n /** Callback function to set the hover state.\n * @internal\n */\n setIsHovering: (isHovering: boolean) => void;\n}\n\nexport const ConversationCardButtons = ({\n overlayProps,\n pinProps,\n headerMenuProps,\n isHovering,\n setIsHovering,\n ['data-testid']: dataTestId = 'kibble-conversation-card-buttons',\n}: ConversationCardButtonsComponentProps): React.JSX.Element => {\n const { isOpenInOverlay, onOpenInOverlay, ['data-testid']: overlayDataTestId } = overlayProps || {};\n const { isPinned, onTogglePin, ['data-testid']: pinDataTestId } = pinProps || {};\n const { listProps, ['data-testid']: headerMenuDataTestId } = headerMenuProps || {};\n const pinIconName = isPinned ? 'pinCancel' : 'pin';\n\n return (\n <HStack className=\"ConversationCard__Menu\" data-testid={dataTestId} gap={1}>\n {overlayProps && (\n <Button\n className=\"ConversationCard__OverlayButton\"\n data-testid={overlayDataTestId ? overlayDataTestId : `${dataTestId}-overlay-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={pinDataTestId ? pinDataTestId : `${dataTestId}-pin-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 data-testid={headerMenuDataTestId ? headerMenuDataTestId : `${dataTestId}-menu`}\n {...headerMenuProps}\n listProps={{\n ...listProps,\n menuItems: [\n ...(pinProps\n ? [\n {\n label: `${isPinned ? 'Unpin' : 'Pin'} Conversation`,\n value: 'PinConversation',\n variant: isPinned ? 'danger' : 'default',\n leftElement: <Icon size=\"md\" variant={isPinned ? 'danger' : 'default'} name={pinIconName} />,\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 /** Content to display in the tooltip. */\n tooltipContent?: string;\n};\n\nexport interface ConversationCardTagsProps {\n /** Tags to display in the ConversationCard. */\n tags: ConversationCardTag[];\n /** Data test id for the tags.\n * @default kibble-conversation-card-tags\n */\n 'data-testid'?: string;\n}\n\nexport const ConversationCardTags = ({\n tags,\n ['data-testid']: dataTestId = 'kibble-conversation-card-tags',\n}: ConversationCardTagsProps): React.JSX.Element => {\n return (\n <Box className=\"ConversationCard__Tags\" mt={3} data-testid={dataTestId}>\n <Wrap gap={2}>\n {tags.map((tag) => {\n const { tooltipContent, ...rest } = tag;\n let tagElement = <Tag {...rest} size=\"sm\" textTransform=\"capitalize\" />;\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 /** Props for the Icon component. */\n iconProps?: IconProps;\n /** Content of the footer. */\n content: React.ReactNode;\n /** Props to customize the content styling. */\n contentProps?: Omit<TextProps, 'children'>;\n /** Data test id for the footer.\n * @default kibble-conversation-card-footer\n */\n 'data-testid'?: string;\n}\n\nexport const ConversationCardFooter = ({\n iconProps,\n content,\n contentProps,\n ['data-testid']: dataTestId = 'kibble-conversation-card-footer',\n}: ConversationCardFooterProps): React.JSX.Element => {\n const _content =\n typeof content === 'string' ? (\n <Text\n className=\"ConversationCard__FooterMessage\"\n data-testid={`${dataTestId}-message`}\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 className=\"ConversationCard__Footer\" data-testid={dataTestId} mt={3} alignItems=\"center\">\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 of the card. */\n content?: React.ReactNode;\n /** Props to customize the content styling. */\n contentProps?: Omit<TextProps, 'children'>;\n /** Optional Menu for the card. */\n contentMenu?: React.ReactNode;\n /** Data test id for the content.\n * @default kibble-conversation-card-content\n */\n 'data-testid'?: string;\n}\n\nexport const ConversationCardContent = ({\n contentMenu,\n content,\n contentProps,\n ['data-testid']: dataTestId = 'kibble-conversation-card-content',\n}: ConversationCardContentProps): React.JSX.Element => {\n const _content =\n typeof content === 'string' ? (\n <Text\n className=\"ConversationCard__Content\"\n data-testid={`${dataTestId}-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={`${dataTestId}-container`}\n mt={3}\n justifyContent=\"space-between\"\n alignItems=\"center\"\n >\n {_content}\n {contentMenu && (\n <Box className=\"ConversationCard__ContentMenu\" data-testid={`${dataTestId}-menu`} ml=\"auto\">\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 /**\n * Used to enable hover actions on the ConversationCard.\n * @default true\n */\n allowHoverActions?: boolean;\n /** Props for the `AvatarGroup` component. */\n avatarGroupProps?: ConversationCardAvatarGroupProps;\n /** Props for the ConversationCard footer. */\n footerProps?: ConversationCardFooterProps;\n /** Props for the Menu component. See the `Menu` for more details. This component provides a default menu button if none is provided. If menuProps and pinProps are passed together, the component automatically adds a menuItem to control the pinned state. */\n headerMenuProps?: MenuProps;\n /** Props for the ConversationCard header. */\n headerProps: ConversationCardHeaderProps;\n /**\n * Used to set the active state of the ConversationCard.\n * @default false\n */\n active?: boolean;\n /** Callback function for clicking the ConversationCard. */\n onClick?: () => void;\n /** Props to show and configure the conversation overlay button. If not passed, the overlay button won't be shown. */\n overlayProps?: ConversationCardOverlayProps;\n /** Props for the pin functionality. If not passed, pin functionality won't be shown. */\n pinProps?: ConversationCardPinProps;\n /**\n * Used to preserve the position of the ConversationCard in a list with infinite scrolling.\n * @default false\n */\n shouldPreservePosition?: boolean;\n /**\n * Used to show the unread messages indicator.\n * @default false\n */\n showNotificationIndicator?: boolean;\n /** The tags to be displayed in the ConversationCard. See the `Tag` for more information. Additionally, you can pass in a tooltipContent to customize what is shown in the tooltip. */\n tags?: ConversationCardTag[];\n /** Data test id for the conversation card.\n * @default kibble-conversation-card\n */\n 'data-testid'?: string;\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 ['data-testid']: dataTestId = 'kibble-conversation-card',\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={dataTestId}\n interactive\n active={active}\n size=\"sm\"\n fullWidth\n onClick={(): void => {\n if (onClick) {\n onClick();\n }\n }}\n bg={showNotificationIndicator || active || isHovering ? 'background.default' : 'background.subtle'}\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__Button--Container\"\n data-testid={`${dataTestId}-button-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 content={content} contentProps={contentProps} contentMenu={contentMenu} />\n {!!tags?.length && <ConversationCardTags tags={tags} />}\n {footerProps && <ConversationCardFooter {...footerProps} />}\n </Card>\n );\n};\n"],"names":["ConversationCardAvatarGroup","avatars","max","onAvatarGroupClick","tooltipLabel","dataTestId","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","overlayDataTestId","isPinned","onTogglePin","pinDataTestId","listProps","headerMenuDataTestId","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-CXKQyfAl.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 to display in the group. */\n avatars: React.ReactNode[];\n /** Maximum number of avatars to display.\n * @default 1\n */\n max?: number;\n /** Callback function to be called when the avatar group is clicked. */\n onAvatarGroupClick?: (e: React.MouseEvent<HTMLSpanElement, MouseEvent>) => void;\n /** Label for the tooltip. */\n tooltipLabel?: string;\n /** Data test id for the avatar group.\n * @default kibble-conversation-card-avatar-group\n */\n 'data-testid'?: string;\n}\n\nexport const ConversationCardAvatarGroup = ({\n avatars,\n max = 1,\n onAvatarGroupClick,\n tooltipLabel,\n ['data-testid']: dataTestId = 'kibble-conversation-card-avatar-group',\n}: ConversationCardAvatarGroupProps): React.JSX.Element => {\n return (\n <Tooltip label={tooltipLabel || ''} disabled={!tooltipLabel?.length}>\n <Flex\n className=\"ConversationCard__AvatarGroup\"\n data-testid={dataTestId}\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 { Timestamp, TimestampProps } 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 /** Props for the avatar group. */\n avatarGroupProps?: ConversationCardAvatarGroupProps;\n /** If true, the notification indicator will be displayed. */\n showNotificationIndicator?: boolean;\n /** Determines if the card is pinned. */\n isCardPinned?: boolean;\n /** Determines if the card is being hovered. */\n isHoveringCard?: boolean;\n /** Subtitle of the card. */\n subtitle?: string;\n /** Props for the timestamp. */\n timestampProps: TimestampProps;\n /** Title of the card. */\n title: string;\n /** Data test id for the header.\n * @default kibble-conversation-card-header\n */\n 'data-testid'?: string;\n}\n\nexport const ConversationCardHeader = ({\n avatarGroupProps,\n timestampProps,\n isHoveringCard,\n isCardPinned,\n title,\n showNotificationIndicator,\n subtitle,\n ['data-testid']: dataTestId = 'kibble-conversation-card-header',\n}: ConversationCardHeaderProps): React.JSX.Element => {\n return (\n <HStack className=\"ConversationCard__Header\" data-testid={dataTestId} justify=\"space-between\" align=\"flex-start\">\n <HStack className=\"ConversationCard__Header--Left\" data-testid={`${dataTestId}-left`} cursor=\"pointer\">\n {avatarGroupProps && (\n <ConversationCardAvatarGroup {...avatarGroupProps} tooltipLabel={avatarGroupProps?.tooltipLabel || title} />\n )}\n <VStack\n className=\"ConversationCard__HeaderText\"\n data-testid={`${dataTestId}-text`}\n justify=\"center\"\n align=\"left\"\n gap=\"0\"\n >\n <Heading\n className=\"ConversationCard__HeaderText--Title\"\n data-testid={`${dataTestId}-title`}\n size=\"sm\"\n truncated\n >\n {title}\n </Heading>\n {subtitle && (\n <Text\n className=\"ConversationCard__HeaderText--Subtitle\"\n data-testid={`${dataTestId}-subtitle`}\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={`${dataTestId}-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={`${dataTestId}-unread-indicator`}\n >\n <NotificationCounter size=\"xs\" />\n </Box>\n )}\n {isCardPinned && (\n <Flex data-testid={`${dataTestId}-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 /** Determines if the conversation is open in an overlay. */\n isOpenInOverlay?: boolean;\n /** Callback function to be called when the conversation is opened in an overlay. */\n onOpenInOverlay: () => void;\n /** Data test id for the overlay button. */\n 'data-testid'?: string;\n}\n\nexport interface ConversationCardPinProps {\n /** Determines if the conversation is pinned. */\n isPinned?: boolean;\n /** Callback function to called when the conversation is pinned. */\n onTogglePin: (isPinned: boolean) => void;\n /** Data test id for the pin button. */\n 'data-testid'?: string;\n}\n\nexport interface ConversationCardButtonsProps {\n /** Props for the overlay button. */\n overlayProps?: ConversationCardOverlayProps;\n /** Props for the pin button. */\n pinProps?: ConversationCardPinProps;\n /** Props for the header Menu. */\n headerMenuProps?: MenuProps;\n /** Data test id for the buttons.\n * @default kibble-conversation-card-buttons\n */\n 'data-testid'?: string;\n}\n\ninterface ConversationCardButtonsComponentProps extends ConversationCardButtonsProps {\n /** Determines if the conversation is being hovered.\n * @internal\n */\n isHovering: boolean;\n /** Callback function to set the hover state.\n * @internal\n */\n setIsHovering: (isHovering: boolean) => void;\n}\n\nexport const ConversationCardButtons = ({\n overlayProps,\n pinProps,\n headerMenuProps,\n isHovering,\n setIsHovering,\n ['data-testid']: dataTestId = 'kibble-conversation-card-buttons',\n}: ConversationCardButtonsComponentProps): React.JSX.Element => {\n const { isOpenInOverlay, onOpenInOverlay, ['data-testid']: overlayDataTestId } = overlayProps || {};\n const { isPinned, onTogglePin, ['data-testid']: pinDataTestId } = pinProps || {};\n const { listProps, ['data-testid']: headerMenuDataTestId } = headerMenuProps || {};\n const pinIconName = isPinned ? 'pinCancel' : 'pin';\n\n return (\n <HStack className=\"ConversationCard__Menu\" data-testid={dataTestId} gap={1}>\n {overlayProps && (\n <Button\n className=\"ConversationCard__OverlayButton\"\n data-testid={overlayDataTestId ? overlayDataTestId : `${dataTestId}-overlay-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={pinDataTestId ? pinDataTestId : `${dataTestId}-pin-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 data-testid={headerMenuDataTestId ? headerMenuDataTestId : `${dataTestId}-menu`}\n {...headerMenuProps}\n listProps={{\n ...listProps,\n menuItems: [\n ...(pinProps\n ? [\n {\n label: `${isPinned ? 'Unpin' : 'Pin'} Conversation`,\n value: 'PinConversation',\n variant: isPinned ? 'danger' : 'default',\n leftElement: <Icon size=\"md\" variant={isPinned ? 'danger' : 'default'} name={pinIconName} />,\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 /** Content to display in the tooltip. */\n tooltipContent?: string;\n};\n\nexport interface ConversationCardTagsProps {\n /** Tags to display in the ConversationCard. */\n tags: ConversationCardTag[];\n /** Data test id for the tags.\n * @default kibble-conversation-card-tags\n */\n 'data-testid'?: string;\n}\n\nexport const ConversationCardTags = ({\n tags,\n ['data-testid']: dataTestId = 'kibble-conversation-card-tags',\n}: ConversationCardTagsProps): React.JSX.Element => {\n return (\n <Box className=\"ConversationCard__Tags\" mt={3} data-testid={dataTestId}>\n <Wrap gap={2}>\n {tags.map((tag) => {\n const { tooltipContent, ...rest } = tag;\n let tagElement = <Tag {...rest} size=\"sm\" textTransform=\"capitalize\" />;\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 /** Props for the Icon component. */\n iconProps?: IconProps;\n /** Content of the footer. */\n content: React.ReactNode;\n /** Props to customize the content styling. */\n contentProps?: Omit<TextProps, 'children'>;\n /** Data test id for the footer.\n * @default kibble-conversation-card-footer\n */\n 'data-testid'?: string;\n}\n\nexport const ConversationCardFooter = ({\n iconProps,\n content,\n contentProps,\n ['data-testid']: dataTestId = 'kibble-conversation-card-footer',\n}: ConversationCardFooterProps): React.JSX.Element => {\n const _content =\n typeof content === 'string' ? (\n <Text\n className=\"ConversationCard__FooterMessage\"\n data-testid={`${dataTestId}-message`}\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 className=\"ConversationCard__Footer\" data-testid={dataTestId} mt={3} alignItems=\"center\">\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 of the card. */\n content?: React.ReactNode;\n /** Props to customize the content styling. */\n contentProps?: Omit<TextProps, 'children'>;\n /** Optional Menu for the card. */\n contentMenu?: React.ReactNode;\n /** Data test id for the content.\n * @default kibble-conversation-card-content\n */\n 'data-testid'?: string;\n}\n\nexport const ConversationCardContent = ({\n contentMenu,\n content,\n contentProps,\n ['data-testid']: dataTestId = 'kibble-conversation-card-content',\n}: ConversationCardContentProps): React.JSX.Element => {\n const _content =\n typeof content === 'string' ? (\n <Text\n className=\"ConversationCard__Content\"\n data-testid={`${dataTestId}-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={`${dataTestId}-container`}\n mt={3}\n justifyContent=\"space-between\"\n alignItems=\"center\"\n >\n {_content}\n {contentMenu && (\n <Box className=\"ConversationCard__ContentMenu\" data-testid={`${dataTestId}-menu`} ml=\"auto\">\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 /**\n * Used to enable hover actions on the ConversationCard.\n * @default true\n */\n allowHoverActions?: boolean;\n /** Props for the `AvatarGroup` component. */\n avatarGroupProps?: ConversationCardAvatarGroupProps;\n /** Props for the ConversationCard footer. */\n footerProps?: ConversationCardFooterProps;\n /** Props for the Menu component. See the `Menu` for more details. This component provides a default menu button if none is provided. If menuProps and pinProps are passed together, the component automatically adds a menuItem to control the pinned state. */\n headerMenuProps?: MenuProps;\n /** Props for the ConversationCard header. */\n headerProps: ConversationCardHeaderProps;\n /**\n * Used to set the active state of the ConversationCard.\n * @default false\n */\n active?: boolean;\n /** Callback function for clicking the ConversationCard. */\n onClick?: () => void;\n /** Props to show and configure the conversation overlay button. If not passed, the overlay button won't be shown. */\n overlayProps?: ConversationCardOverlayProps;\n /** Props for the pin functionality. If not passed, pin functionality won't be shown. */\n pinProps?: ConversationCardPinProps;\n /**\n * Used to preserve the position of the ConversationCard in a list with infinite scrolling.\n * @default false\n */\n shouldPreservePosition?: boolean;\n /**\n * Used to show the unread messages indicator.\n * @default false\n */\n showNotificationIndicator?: boolean;\n /** The tags to be displayed in the ConversationCard. See the `Tag` for more information. Additionally, you can pass in a tooltipContent to customize what is shown in the tooltip. */\n tags?: ConversationCardTag[];\n /** Data test id for the conversation card.\n * @default kibble-conversation-card\n */\n 'data-testid'?: string;\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 ['data-testid']: dataTestId = 'kibble-conversation-card',\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={dataTestId}\n interactive\n active={active}\n size=\"sm\"\n fullWidth\n onClick={(): void => {\n if (onClick) {\n onClick();\n }\n }}\n bg={showNotificationIndicator || active || isHovering ? 'background.default' : 'background.subtle'}\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__Button--Container\"\n data-testid={`${dataTestId}-button-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 content={content} contentProps={contentProps} contentMenu={contentMenu} />\n {!!tags?.length && <ConversationCardTags tags={tags} />}\n {footerProps && <ConversationCardFooter {...footerProps} />}\n </Card>\n );\n};\n"],"names":["ConversationCardAvatarGroup","avatars","max","onAvatarGroupClick","tooltipLabel","dataTestId","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","overlayDataTestId","isPinned","onTogglePin","pinDataTestId","listProps","headerMenuDataTestId","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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"}
@@ -7,7 +7,7 @@ import { N as W } from "./notificationCounter.component-BlGSd37B.js";
7
7
  import { I as g } from "./icon.component-PV_nHBId.js";
8
8
  import { W as F } from "./heading.component-PFNpLFT7.js";
9
9
  import { W as _ } from "./text.component-IjomJyJY.js";
10
- import { A as O } from "./avatar.component-DUZc5iXT.js";
10
+ import { A as O } from "./avatar.component-CzutRWy6.js";
11
11
  import { T as z } from "./tooltip.component-DFsQNG1q.js";
12
12
  import { F as h } from "./flex-CX-8gE9T.js";
13
13
  import { H as v } from "./h-stack-8q5nAOg0.js";
@@ -328,4 +328,4 @@ const E = ({
328
328
  export {
329
329
  lt as C
330
330
  };
331
- //# sourceMappingURL=conversationCard.component-FMq9PY8T.js.map
331
+ //# sourceMappingURL=conversationCard.component-GOl51Avf.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"conversationCard.component-FMq9PY8T.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 to display in the group. */\n avatars: React.ReactNode[];\n /** Maximum number of avatars to display.\n * @default 1\n */\n max?: number;\n /** Callback function to be called when the avatar group is clicked. */\n onAvatarGroupClick?: (e: React.MouseEvent<HTMLSpanElement, MouseEvent>) => void;\n /** Label for the tooltip. */\n tooltipLabel?: string;\n /** Data test id for the avatar group.\n * @default kibble-conversation-card-avatar-group\n */\n 'data-testid'?: string;\n}\n\nexport const ConversationCardAvatarGroup = ({\n avatars,\n max = 1,\n onAvatarGroupClick,\n tooltipLabel,\n ['data-testid']: dataTestId = 'kibble-conversation-card-avatar-group',\n}: ConversationCardAvatarGroupProps): React.JSX.Element => {\n return (\n <Tooltip label={tooltipLabel || ''} disabled={!tooltipLabel?.length}>\n <Flex\n className=\"ConversationCard__AvatarGroup\"\n data-testid={dataTestId}\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 { Timestamp, TimestampProps } 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 /** Props for the avatar group. */\n avatarGroupProps?: ConversationCardAvatarGroupProps;\n /** If true, the notification indicator will be displayed. */\n showNotificationIndicator?: boolean;\n /** Determines if the card is pinned. */\n isCardPinned?: boolean;\n /** Determines if the card is being hovered. */\n isHoveringCard?: boolean;\n /** Subtitle of the card. */\n subtitle?: string;\n /** Props for the timestamp. */\n timestampProps: TimestampProps;\n /** Title of the card. */\n title: string;\n /** Data test id for the header.\n * @default kibble-conversation-card-header\n */\n 'data-testid'?: string;\n}\n\nexport const ConversationCardHeader = ({\n avatarGroupProps,\n timestampProps,\n isHoveringCard,\n isCardPinned,\n title,\n showNotificationIndicator,\n subtitle,\n ['data-testid']: dataTestId = 'kibble-conversation-card-header',\n}: ConversationCardHeaderProps): React.JSX.Element => {\n return (\n <HStack className=\"ConversationCard__Header\" data-testid={dataTestId} justify=\"space-between\" align=\"flex-start\">\n <HStack className=\"ConversationCard__Header--Left\" data-testid={`${dataTestId}-left`} cursor=\"pointer\">\n {avatarGroupProps && (\n <ConversationCardAvatarGroup {...avatarGroupProps} tooltipLabel={avatarGroupProps?.tooltipLabel || title} />\n )}\n <VStack\n className=\"ConversationCard__HeaderText\"\n data-testid={`${dataTestId}-text`}\n justify=\"center\"\n align=\"left\"\n gap=\"0\"\n >\n <Heading\n className=\"ConversationCard__HeaderText--Title\"\n data-testid={`${dataTestId}-title`}\n size=\"sm\"\n truncated\n >\n {title}\n </Heading>\n {subtitle && (\n <Text\n className=\"ConversationCard__HeaderText--Subtitle\"\n data-testid={`${dataTestId}-subtitle`}\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={`${dataTestId}-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={`${dataTestId}-unread-indicator`}\n >\n <NotificationCounter size=\"xs\" />\n </Box>\n )}\n {isCardPinned && (\n <Flex data-testid={`${dataTestId}-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 /** Determines if the conversation is open in an overlay. */\n isOpenInOverlay?: boolean;\n /** Callback function to be called when the conversation is opened in an overlay. */\n onOpenInOverlay: () => void;\n /** Data test id for the overlay button. */\n 'data-testid'?: string;\n}\n\nexport interface ConversationCardPinProps {\n /** Determines if the conversation is pinned. */\n isPinned?: boolean;\n /** Callback function to called when the conversation is pinned. */\n onTogglePin: (isPinned: boolean) => void;\n /** Data test id for the pin button. */\n 'data-testid'?: string;\n}\n\nexport interface ConversationCardButtonsProps {\n /** Props for the overlay button. */\n overlayProps?: ConversationCardOverlayProps;\n /** Props for the pin button. */\n pinProps?: ConversationCardPinProps;\n /** Props for the header Menu. */\n headerMenuProps?: MenuProps;\n /** Data test id for the buttons.\n * @default kibble-conversation-card-buttons\n */\n 'data-testid'?: string;\n}\n\ninterface ConversationCardButtonsComponentProps extends ConversationCardButtonsProps {\n /** Determines if the conversation is being hovered.\n * @internal\n */\n isHovering: boolean;\n /** Callback function to set the hover state.\n * @internal\n */\n setIsHovering: (isHovering: boolean) => void;\n}\n\nexport const ConversationCardButtons = ({\n overlayProps,\n pinProps,\n headerMenuProps,\n isHovering,\n setIsHovering,\n ['data-testid']: dataTestId = 'kibble-conversation-card-buttons',\n}: ConversationCardButtonsComponentProps): React.JSX.Element => {\n const { isOpenInOverlay, onOpenInOverlay, ['data-testid']: overlayDataTestId } = overlayProps || {};\n const { isPinned, onTogglePin, ['data-testid']: pinDataTestId } = pinProps || {};\n const { listProps, ['data-testid']: headerMenuDataTestId } = headerMenuProps || {};\n const pinIconName = isPinned ? 'pinCancel' : 'pin';\n\n return (\n <HStack className=\"ConversationCard__Menu\" data-testid={dataTestId} gap={1}>\n {overlayProps && (\n <Button\n className=\"ConversationCard__OverlayButton\"\n data-testid={overlayDataTestId ? overlayDataTestId : `${dataTestId}-overlay-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={pinDataTestId ? pinDataTestId : `${dataTestId}-pin-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 data-testid={headerMenuDataTestId ? headerMenuDataTestId : `${dataTestId}-menu`}\n {...headerMenuProps}\n listProps={{\n ...listProps,\n menuItems: [\n ...(pinProps\n ? [\n {\n label: `${isPinned ? 'Unpin' : 'Pin'} Conversation`,\n value: 'PinConversation',\n variant: isPinned ? 'danger' : 'default',\n leftElement: <Icon size=\"md\" variant={isPinned ? 'danger' : 'default'} name={pinIconName} />,\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 /** Content to display in the tooltip. */\n tooltipContent?: string;\n};\n\nexport interface ConversationCardTagsProps {\n /** Tags to display in the ConversationCard. */\n tags: ConversationCardTag[];\n /** Data test id for the tags.\n * @default kibble-conversation-card-tags\n */\n 'data-testid'?: string;\n}\n\nexport const ConversationCardTags = ({\n tags,\n ['data-testid']: dataTestId = 'kibble-conversation-card-tags',\n}: ConversationCardTagsProps): React.JSX.Element => {\n return (\n <Box className=\"ConversationCard__Tags\" mt={3} data-testid={dataTestId}>\n <Wrap gap={2}>\n {tags.map((tag) => {\n const { tooltipContent, ...rest } = tag;\n let tagElement = <Tag {...rest} size=\"sm\" textTransform=\"capitalize\" />;\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 /** Props for the Icon component. */\n iconProps?: IconProps;\n /** Content of the footer. */\n content: React.ReactNode;\n /** Props to customize the content styling. */\n contentProps?: Omit<TextProps, 'children'>;\n /** Data test id for the footer.\n * @default kibble-conversation-card-footer\n */\n 'data-testid'?: string;\n}\n\nexport const ConversationCardFooter = ({\n iconProps,\n content,\n contentProps,\n ['data-testid']: dataTestId = 'kibble-conversation-card-footer',\n}: ConversationCardFooterProps): React.JSX.Element => {\n const _content =\n typeof content === 'string' ? (\n <Text\n className=\"ConversationCard__FooterMessage\"\n data-testid={`${dataTestId}-message`}\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 className=\"ConversationCard__Footer\" data-testid={dataTestId} mt={3} alignItems=\"center\">\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 of the card. */\n content?: React.ReactNode;\n /** Props to customize the content styling. */\n contentProps?: Omit<TextProps, 'children'>;\n /** Optional Menu for the card. */\n contentMenu?: React.ReactNode;\n /** Data test id for the content.\n * @default kibble-conversation-card-content\n */\n 'data-testid'?: string;\n}\n\nexport const ConversationCardContent = ({\n contentMenu,\n content,\n contentProps,\n ['data-testid']: dataTestId = 'kibble-conversation-card-content',\n}: ConversationCardContentProps): React.JSX.Element => {\n const _content =\n typeof content === 'string' ? (\n <Text\n className=\"ConversationCard__Content\"\n data-testid={`${dataTestId}-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={`${dataTestId}-container`}\n mt={3}\n justifyContent=\"space-between\"\n alignItems=\"center\"\n >\n {_content}\n {contentMenu && (\n <Box className=\"ConversationCard__ContentMenu\" data-testid={`${dataTestId}-menu`} ml=\"auto\">\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 /**\n * Used to enable hover actions on the ConversationCard.\n * @default true\n */\n allowHoverActions?: boolean;\n /** Props for the `AvatarGroup` component. */\n avatarGroupProps?: ConversationCardAvatarGroupProps;\n /** Props for the ConversationCard footer. */\n footerProps?: ConversationCardFooterProps;\n /** Props for the Menu component. See the `Menu` for more details. This component provides a default menu button if none is provided. If menuProps and pinProps are passed together, the component automatically adds a menuItem to control the pinned state. */\n headerMenuProps?: MenuProps;\n /** Props for the ConversationCard header. */\n headerProps: ConversationCardHeaderProps;\n /**\n * Used to set the active state of the ConversationCard.\n * @default false\n */\n active?: boolean;\n /** Callback function for clicking the ConversationCard. */\n onClick?: () => void;\n /** Props to show and configure the conversation overlay button. If not passed, the overlay button won't be shown. */\n overlayProps?: ConversationCardOverlayProps;\n /** Props for the pin functionality. If not passed, pin functionality won't be shown. */\n pinProps?: ConversationCardPinProps;\n /**\n * Used to preserve the position of the ConversationCard in a list with infinite scrolling.\n * @default false\n */\n shouldPreservePosition?: boolean;\n /**\n * Used to show the unread messages indicator.\n * @default false\n */\n showNotificationIndicator?: boolean;\n /** The tags to be displayed in the ConversationCard. See the `Tag` for more information. Additionally, you can pass in a tooltipContent to customize what is shown in the tooltip. */\n tags?: ConversationCardTag[];\n /** Data test id for the conversation card.\n * @default kibble-conversation-card\n */\n 'data-testid'?: string;\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 ['data-testid']: dataTestId = 'kibble-conversation-card',\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={dataTestId}\n interactive\n active={active}\n size=\"sm\"\n fullWidth\n onClick={(): void => {\n if (onClick) {\n onClick();\n }\n }}\n bg={showNotificationIndicator || active || isHovering ? 'background.default' : 'background.subtle'}\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__Button--Container\"\n data-testid={`${dataTestId}-button-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 content={content} contentProps={contentProps} contentMenu={contentMenu} />\n {!!tags?.length && <ConversationCardTags tags={tags} />}\n {footerProps && <ConversationCardFooter {...footerProps} />}\n </Card>\n );\n};\n"],"names":["ConversationCardAvatarGroup","avatars","max","onAvatarGroupClick","tooltipLabel","dataTestId","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","overlayDataTestId","isPinned","onTogglePin","pinDataTestId","listProps","headerMenuDataTestId","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-GOl51Avf.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 to display in the group. */\n avatars: React.ReactNode[];\n /** Maximum number of avatars to display.\n * @default 1\n */\n max?: number;\n /** Callback function to be called when the avatar group is clicked. */\n onAvatarGroupClick?: (e: React.MouseEvent<HTMLSpanElement, MouseEvent>) => void;\n /** Label for the tooltip. */\n tooltipLabel?: string;\n /** Data test id for the avatar group.\n * @default kibble-conversation-card-avatar-group\n */\n 'data-testid'?: string;\n}\n\nexport const ConversationCardAvatarGroup = ({\n avatars,\n max = 1,\n onAvatarGroupClick,\n tooltipLabel,\n ['data-testid']: dataTestId = 'kibble-conversation-card-avatar-group',\n}: ConversationCardAvatarGroupProps): React.JSX.Element => {\n return (\n <Tooltip label={tooltipLabel || ''} disabled={!tooltipLabel?.length}>\n <Flex\n className=\"ConversationCard__AvatarGroup\"\n data-testid={dataTestId}\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 { Timestamp, TimestampProps } 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 /** Props for the avatar group. */\n avatarGroupProps?: ConversationCardAvatarGroupProps;\n /** If true, the notification indicator will be displayed. */\n showNotificationIndicator?: boolean;\n /** Determines if the card is pinned. */\n isCardPinned?: boolean;\n /** Determines if the card is being hovered. */\n isHoveringCard?: boolean;\n /** Subtitle of the card. */\n subtitle?: string;\n /** Props for the timestamp. */\n timestampProps: TimestampProps;\n /** Title of the card. */\n title: string;\n /** Data test id for the header.\n * @default kibble-conversation-card-header\n */\n 'data-testid'?: string;\n}\n\nexport const ConversationCardHeader = ({\n avatarGroupProps,\n timestampProps,\n isHoveringCard,\n isCardPinned,\n title,\n showNotificationIndicator,\n subtitle,\n ['data-testid']: dataTestId = 'kibble-conversation-card-header',\n}: ConversationCardHeaderProps): React.JSX.Element => {\n return (\n <HStack className=\"ConversationCard__Header\" data-testid={dataTestId} justify=\"space-between\" align=\"flex-start\">\n <HStack className=\"ConversationCard__Header--Left\" data-testid={`${dataTestId}-left`} cursor=\"pointer\">\n {avatarGroupProps && (\n <ConversationCardAvatarGroup {...avatarGroupProps} tooltipLabel={avatarGroupProps?.tooltipLabel || title} />\n )}\n <VStack\n className=\"ConversationCard__HeaderText\"\n data-testid={`${dataTestId}-text`}\n justify=\"center\"\n align=\"left\"\n gap=\"0\"\n >\n <Heading\n className=\"ConversationCard__HeaderText--Title\"\n data-testid={`${dataTestId}-title`}\n size=\"sm\"\n truncated\n >\n {title}\n </Heading>\n {subtitle && (\n <Text\n className=\"ConversationCard__HeaderText--Subtitle\"\n data-testid={`${dataTestId}-subtitle`}\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={`${dataTestId}-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={`${dataTestId}-unread-indicator`}\n >\n <NotificationCounter size=\"xs\" />\n </Box>\n )}\n {isCardPinned && (\n <Flex data-testid={`${dataTestId}-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 /** Determines if the conversation is open in an overlay. */\n isOpenInOverlay?: boolean;\n /** Callback function to be called when the conversation is opened in an overlay. */\n onOpenInOverlay: () => void;\n /** Data test id for the overlay button. */\n 'data-testid'?: string;\n}\n\nexport interface ConversationCardPinProps {\n /** Determines if the conversation is pinned. */\n isPinned?: boolean;\n /** Callback function to called when the conversation is pinned. */\n onTogglePin: (isPinned: boolean) => void;\n /** Data test id for the pin button. */\n 'data-testid'?: string;\n}\n\nexport interface ConversationCardButtonsProps {\n /** Props for the overlay button. */\n overlayProps?: ConversationCardOverlayProps;\n /** Props for the pin button. */\n pinProps?: ConversationCardPinProps;\n /** Props for the header Menu. */\n headerMenuProps?: MenuProps;\n /** Data test id for the buttons.\n * @default kibble-conversation-card-buttons\n */\n 'data-testid'?: string;\n}\n\ninterface ConversationCardButtonsComponentProps extends ConversationCardButtonsProps {\n /** Determines if the conversation is being hovered.\n * @internal\n */\n isHovering: boolean;\n /** Callback function to set the hover state.\n * @internal\n */\n setIsHovering: (isHovering: boolean) => void;\n}\n\nexport const ConversationCardButtons = ({\n overlayProps,\n pinProps,\n headerMenuProps,\n isHovering,\n setIsHovering,\n ['data-testid']: dataTestId = 'kibble-conversation-card-buttons',\n}: ConversationCardButtonsComponentProps): React.JSX.Element => {\n const { isOpenInOverlay, onOpenInOverlay, ['data-testid']: overlayDataTestId } = overlayProps || {};\n const { isPinned, onTogglePin, ['data-testid']: pinDataTestId } = pinProps || {};\n const { listProps, ['data-testid']: headerMenuDataTestId } = headerMenuProps || {};\n const pinIconName = isPinned ? 'pinCancel' : 'pin';\n\n return (\n <HStack className=\"ConversationCard__Menu\" data-testid={dataTestId} gap={1}>\n {overlayProps && (\n <Button\n className=\"ConversationCard__OverlayButton\"\n data-testid={overlayDataTestId ? overlayDataTestId : `${dataTestId}-overlay-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={pinDataTestId ? pinDataTestId : `${dataTestId}-pin-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 data-testid={headerMenuDataTestId ? headerMenuDataTestId : `${dataTestId}-menu`}\n {...headerMenuProps}\n listProps={{\n ...listProps,\n menuItems: [\n ...(pinProps\n ? [\n {\n label: `${isPinned ? 'Unpin' : 'Pin'} Conversation`,\n value: 'PinConversation',\n variant: isPinned ? 'danger' : 'default',\n leftElement: <Icon size=\"md\" variant={isPinned ? 'danger' : 'default'} name={pinIconName} />,\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 /** Content to display in the tooltip. */\n tooltipContent?: string;\n};\n\nexport interface ConversationCardTagsProps {\n /** Tags to display in the ConversationCard. */\n tags: ConversationCardTag[];\n /** Data test id for the tags.\n * @default kibble-conversation-card-tags\n */\n 'data-testid'?: string;\n}\n\nexport const ConversationCardTags = ({\n tags,\n ['data-testid']: dataTestId = 'kibble-conversation-card-tags',\n}: ConversationCardTagsProps): React.JSX.Element => {\n return (\n <Box className=\"ConversationCard__Tags\" mt={3} data-testid={dataTestId}>\n <Wrap gap={2}>\n {tags.map((tag) => {\n const { tooltipContent, ...rest } = tag;\n let tagElement = <Tag {...rest} size=\"sm\" textTransform=\"capitalize\" />;\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 /** Props for the Icon component. */\n iconProps?: IconProps;\n /** Content of the footer. */\n content: React.ReactNode;\n /** Props to customize the content styling. */\n contentProps?: Omit<TextProps, 'children'>;\n /** Data test id for the footer.\n * @default kibble-conversation-card-footer\n */\n 'data-testid'?: string;\n}\n\nexport const ConversationCardFooter = ({\n iconProps,\n content,\n contentProps,\n ['data-testid']: dataTestId = 'kibble-conversation-card-footer',\n}: ConversationCardFooterProps): React.JSX.Element => {\n const _content =\n typeof content === 'string' ? (\n <Text\n className=\"ConversationCard__FooterMessage\"\n data-testid={`${dataTestId}-message`}\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 className=\"ConversationCard__Footer\" data-testid={dataTestId} mt={3} alignItems=\"center\">\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 of the card. */\n content?: React.ReactNode;\n /** Props to customize the content styling. */\n contentProps?: Omit<TextProps, 'children'>;\n /** Optional Menu for the card. */\n contentMenu?: React.ReactNode;\n /** Data test id for the content.\n * @default kibble-conversation-card-content\n */\n 'data-testid'?: string;\n}\n\nexport const ConversationCardContent = ({\n contentMenu,\n content,\n contentProps,\n ['data-testid']: dataTestId = 'kibble-conversation-card-content',\n}: ConversationCardContentProps): React.JSX.Element => {\n const _content =\n typeof content === 'string' ? (\n <Text\n className=\"ConversationCard__Content\"\n data-testid={`${dataTestId}-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={`${dataTestId}-container`}\n mt={3}\n justifyContent=\"space-between\"\n alignItems=\"center\"\n >\n {_content}\n {contentMenu && (\n <Box className=\"ConversationCard__ContentMenu\" data-testid={`${dataTestId}-menu`} ml=\"auto\">\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 /**\n * Used to enable hover actions on the ConversationCard.\n * @default true\n */\n allowHoverActions?: boolean;\n /** Props for the `AvatarGroup` component. */\n avatarGroupProps?: ConversationCardAvatarGroupProps;\n /** Props for the ConversationCard footer. */\n footerProps?: ConversationCardFooterProps;\n /** Props for the Menu component. See the `Menu` for more details. This component provides a default menu button if none is provided. If menuProps and pinProps are passed together, the component automatically adds a menuItem to control the pinned state. */\n headerMenuProps?: MenuProps;\n /** Props for the ConversationCard header. */\n headerProps: ConversationCardHeaderProps;\n /**\n * Used to set the active state of the ConversationCard.\n * @default false\n */\n active?: boolean;\n /** Callback function for clicking the ConversationCard. */\n onClick?: () => void;\n /** Props to show and configure the conversation overlay button. If not passed, the overlay button won't be shown. */\n overlayProps?: ConversationCardOverlayProps;\n /** Props for the pin functionality. If not passed, pin functionality won't be shown. */\n pinProps?: ConversationCardPinProps;\n /**\n * Used to preserve the position of the ConversationCard in a list with infinite scrolling.\n * @default false\n */\n shouldPreservePosition?: boolean;\n /**\n * Used to show the unread messages indicator.\n * @default false\n */\n showNotificationIndicator?: boolean;\n /** The tags to be displayed in the ConversationCard. See the `Tag` for more information. Additionally, you can pass in a tooltipContent to customize what is shown in the tooltip. */\n tags?: ConversationCardTag[];\n /** Data test id for the conversation card.\n * @default kibble-conversation-card\n */\n 'data-testid'?: string;\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 ['data-testid']: dataTestId = 'kibble-conversation-card',\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={dataTestId}\n interactive\n active={active}\n size=\"sm\"\n fullWidth\n onClick={(): void => {\n if (onClick) {\n onClick();\n }\n }}\n bg={showNotificationIndicator || active || isHovering ? 'background.default' : 'background.subtle'}\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__Button--Container\"\n data-testid={`${dataTestId}-button-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 content={content} contentProps={contentProps} contentMenu={contentMenu} />\n {!!tags?.length && <ConversationCardTags tags={tags} />}\n {footerProps && <ConversationCardFooter {...footerProps} />}\n </Card>\n );\n};\n"],"names":["ConversationCardAvatarGroup","avatars","max","onAvatarGroupClick","tooltipLabel","dataTestId","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","overlayDataTestId","isPinned","onTogglePin","pinDataTestId","listProps","headerMenuDataTestId","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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"}
@@ -8,7 +8,7 @@ import { a as I, b as v, d as m, u as q, f as D, g as J, n as K } from "./use-lo
8
8
  import { m as Q, c as U } from "./index-DS4KlAkI.js";
9
9
  import { a6 as c } from "./index-fHSGm2nC.js";
10
10
  import { B as X } from "./buttonGroup.component--dqWO06l.js";
11
- import { s as Y, a as Z } from "./button.recipe-Bb0lptGi.js";
11
+ import { s as Y, a as Z } from "./button.recipe-CZ-PlRrK.js";
12
12
  import { S as z } from "./stack-rvdA8MI9.js";
13
13
  const [y, R] = I({
14
14
  name: "RadioGroupContext",
@@ -225,4 +225,4 @@ export {
225
225
  bo as a,
226
226
  No as r
227
227
  };
228
- //# sourceMappingURL=radioGroup.types-C-JQsOXh.js.map
228
+ //# sourceMappingURL=radioGroup.types--Is8KTII.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"radioGroup.types-C-JQsOXh.js","sources":["../../node_modules/@ark-ui/react/dist/components/radio-group/use-radio-group-context.js","../../node_modules/@ark-ui/react/dist/components/radio-group/use-radio-group-item-context.js","../../node_modules/@ark-ui/react/dist/components/radio-group/use-radio-group-item-props-context.js","../../node_modules/@ark-ui/react/dist/components/radio-group/radio-group-item.js","../../node_modules/@ark-ui/react/dist/components/radio-group/radio-group-item-context.js","../../node_modules/@ark-ui/react/dist/components/radio-group/radio-group-item-control.js","../../node_modules/@ark-ui/react/dist/components/radio-group/radio-group-item-hidden-input.js","../../node_modules/@ark-ui/react/dist/components/radio-group/radio-group-item-text.js","../../node_modules/@ark-ui/react/dist/components/radio-group/radio-group-label.js","../../node_modules/@ark-ui/react/dist/components/radio-group/use-radio-group.js","../../node_modules/@ark-ui/react/dist/components/radio-group/radio-group-root.js","../../node_modules/@ark-ui/react/dist/components/radio-group/radio-group-root-provider.js","../../node_modules/@chakra-ui/react/dist/esm/components/radio-group/radio-group.js","../../src/components/RadioGroup/components/Radio/radio.component.tsx","../../src/components/RadioGroup/radioGroup.component.tsx","../../src/components/RadioGroup/radioGroup.types.ts"],"sourcesContent":["'use client';\nimport { createContext } from '../../utils/create-context.js';\n\nconst [RadioGroupProvider, useRadioGroupContext] = createContext({\n name: \"RadioGroupContext\",\n hookName: \"useRadioGroupContext\",\n providerName: \"<RadioGroupProvider />\"\n});\n\nexport { RadioGroupProvider, useRadioGroupContext };\n","'use client';\nimport { createContext } from '../../utils/create-context.js';\n\nconst [RadioGroupItemProvider, useRadioGroupItemContext] = createContext({\n name: \"RadioGroupItemContext\",\n hookName: \"useRadioGroupItemContext\",\n providerName: \"<RadioGroupItemProvider />\"\n});\n\nexport { RadioGroupItemProvider, useRadioGroupItemContext };\n","'use client';\nimport { createContext } from '../../utils/create-context.js';\n\nconst [RadioGroupItemPropsProvider, useRadioGroupItemPropsContext] = createContext({\n name: \"RadioGroupItemPropsContext\",\n hookName: \"useRadioGroupItemPropsContext\",\n providerName: \"<RadioGroupItemPropsProvider />\"\n});\n\nexport { RadioGroupItemPropsProvider, useRadioGroupItemPropsContext };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { createSplitProps } from '../../utils/create-split-props.js';\nimport { ark } from '../factory.js';\nimport { useRadioGroupContext } from './use-radio-group-context.js';\nimport { RadioGroupItemProvider } from './use-radio-group-item-context.js';\nimport { RadioGroupItemPropsProvider } from './use-radio-group-item-props-context.js';\n\nconst RadioGroupItem = forwardRef((props, ref) => {\n const [itemProps, localProps] = createSplitProps()(props, [\"value\", \"disabled\", \"invalid\"]);\n const radioGroup = useRadioGroupContext();\n const mergedProps = mergeProps(radioGroup.getItemProps(itemProps), localProps);\n const itemState = radioGroup.getItemState(itemProps);\n return /* @__PURE__ */ jsx(RadioGroupItemProvider, { value: itemState, children: /* @__PURE__ */ jsx(RadioGroupItemPropsProvider, { value: itemProps, children: /* @__PURE__ */ jsx(ark.label, { ...mergedProps, ref }) }) });\n});\nRadioGroupItem.displayName = \"RadioGroupItem\";\n\nexport { RadioGroupItem };\n","'use client';\nimport { useRadioGroupItemContext } from './use-radio-group-item-context.js';\n\nconst RadioGroupItemContext = (props) => props.children(useRadioGroupItemContext());\n\nexport { RadioGroupItemContext };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { useRadioGroupContext } from './use-radio-group-context.js';\nimport { useRadioGroupItemPropsContext } from './use-radio-group-item-props-context.js';\n\nconst RadioGroupItemControl = forwardRef((props, ref) => {\n const radioGroup = useRadioGroupContext();\n const itemProps = useRadioGroupItemPropsContext();\n const mergedProps = mergeProps(radioGroup.getItemControlProps(itemProps), props);\n return /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref });\n});\nRadioGroupItemControl.displayName = \"RadioGroupItemControl\";\n\nexport { RadioGroupItemControl };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { useRadioGroupContext } from './use-radio-group-context.js';\nimport { useRadioGroupItemPropsContext } from './use-radio-group-item-props-context.js';\n\nconst RadioGroupItemHiddenInput = forwardRef((props, ref) => {\n const radioGroup = useRadioGroupContext();\n const itemProps = useRadioGroupItemPropsContext();\n const mergedProps = mergeProps(radioGroup.getItemHiddenInputProps(itemProps), props);\n return /* @__PURE__ */ jsx(ark.input, { ...mergedProps, ref });\n});\nRadioGroupItemHiddenInput.displayName = \"RadioGroupItemHiddenInput\";\n\nexport { RadioGroupItemHiddenInput };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { useRadioGroupContext } from './use-radio-group-context.js';\nimport { useRadioGroupItemPropsContext } from './use-radio-group-item-props-context.js';\n\nconst RadioGroupItemText = forwardRef((props, ref) => {\n const radioGroup = useRadioGroupContext();\n const itemProps = useRadioGroupItemPropsContext();\n const mergedProps = mergeProps(radioGroup.getItemTextProps(itemProps), props);\n return /* @__PURE__ */ jsx(ark.span, { ...mergedProps, ref });\n});\nRadioGroupItemText.displayName = \"RadioGroupItemText\";\n\nexport { RadioGroupItemText };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { useRadioGroupContext } from './use-radio-group-context.js';\n\nconst RadioGroupLabel = forwardRef((props, ref) => {\n const radioGroup = useRadioGroupContext();\n const mergedProps = mergeProps(radioGroup.getLabelProps(), props);\n return /* @__PURE__ */ jsx(ark.label, { ...mergedProps, ref });\n});\nRadioGroupLabel.displayName = \"RadioGroupLabel\";\n\nexport { RadioGroupLabel };\n","'use client';\nimport * as radio from '@zag-js/radio-group';\nimport { useMachine, normalizeProps } from '@zag-js/react';\nimport { useId } from 'react';\nimport { useEnvironmentContext } from '../../providers/environment/use-environment-context.js';\nimport { useLocaleContext } from '../../providers/locale/use-locale-context.js';\n\nconst useRadioGroup = (props) => {\n const id = useId();\n const { getRootNode } = useEnvironmentContext();\n const { dir } = useLocaleContext();\n const machineProps = {\n id,\n dir,\n getRootNode,\n ...props\n };\n const service = useMachine(radio.machine, machineProps);\n return radio.connect(service, normalizeProps);\n};\n\nexport { useRadioGroup };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { createSplitProps } from '../../utils/create-split-props.js';\nimport { ark } from '../factory.js';\nimport { useRadioGroup } from './use-radio-group.js';\nimport { RadioGroupProvider } from './use-radio-group-context.js';\n\nconst RadioGroupRoot = forwardRef((props, ref) => {\n const [useRadioGroupProps, localProps] = createSplitProps()(props, [\n \"defaultValue\",\n \"disabled\",\n \"form\",\n \"id\",\n \"ids\",\n \"name\",\n \"onValueChange\",\n \"orientation\",\n \"readOnly\",\n \"value\"\n ]);\n const radioGroup = useRadioGroup(useRadioGroupProps);\n const mergedProps = mergeProps(radioGroup.getRootProps(), localProps);\n return /* @__PURE__ */ jsx(RadioGroupProvider, { value: radioGroup, children: /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref }) });\n});\nRadioGroupRoot.displayName = \"RadioGroupRoot\";\n\nexport { RadioGroupRoot };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { createSplitProps } from '../../utils/create-split-props.js';\nimport { ark } from '../factory.js';\nimport { RadioGroupProvider } from './use-radio-group-context.js';\n\nconst RadioGroupRootProvider = forwardRef((props, ref) => {\n const [{ value: radioGroup }, localProps] = createSplitProps()(props, [\"value\"]);\n const mergedProps = mergeProps(radioGroup.getRootProps(), localProps);\n return /* @__PURE__ */ jsx(RadioGroupProvider, { value: radioGroup, children: /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref }) });\n});\nRadioGroupRootProvider.displayName = \"RadioGroupRootProvider\";\n\nexport { RadioGroupRootProvider };\n","\"use strict\";\n\"use client\";\nimport { jsx } from 'react/jsx-runtime';\nimport { RadioGroup } from '@ark-ui/react/radio-group';\nimport { forwardRef } from 'react';\nimport { createSlotRecipeContext } from '../../styled-system/create-slot-recipe-context.js';\nimport { Radiomark } from '../radiomark/radiomark.js';\n\nconst {\n withProvider,\n withContext,\n useStyles: useRadioGroupStyles,\n PropsProvider\n} = createSlotRecipeContext({ key: \"radioGroup\" });\nconst RadioGroupRootProvider = withProvider(RadioGroup.RootProvider, \"root\", { forwardAsChild: true });\nconst RadioGroupRoot = withProvider(\n RadioGroup.Root,\n \"root\",\n { forwardAsChild: true }\n);\nconst RadioGroupPropsProvider = PropsProvider;\nconst RadioGroupLabel = withContext(RadioGroup.Label, \"label\", { forwardAsChild: true });\nconst RadioGroupItem = withContext(\n RadioGroup.Item,\n \"item\",\n { forwardAsChild: true }\n);\nconst RadioGroupItemText = withContext(RadioGroup.ItemText, \"itemText\", { forwardAsChild: true });\nconst RadioGroupItemControl = withContext(RadioGroup.ItemControl, \"itemControl\", { forwardAsChild: true });\nconst RadioGroupItemIndicator = forwardRef(function RadioGroupItemIndicator2(props, ref) {\n const styles = useRadioGroupStyles();\n return /* @__PURE__ */ jsx(RadioGroup.ItemContext, { children: (itemState) => /* @__PURE__ */ jsx(RadioGroup.ItemControl, { asChild: true, children: /* @__PURE__ */ jsx(\n Radiomark,\n {\n ref,\n unstyled: true,\n ...props,\n checked: itemState.checked,\n disabled: itemState.disabled,\n css: [styles[\"itemControl\"], props.css]\n }\n ) }) });\n});\nconst RadioGroupContext = RadioGroup.Context;\nconst RadioGroupItemContext = RadioGroup.ItemContext;\nconst RadioGroupItemHiddenInput = RadioGroup.ItemHiddenInput;\n\nexport { RadioGroupContext, RadioGroupItem, RadioGroupItemContext, RadioGroupItemControl, RadioGroupItemHiddenInput, RadioGroupItemIndicator, RadioGroupItemText, RadioGroupLabel, RadioGroupPropsProvider, RadioGroupRoot, RadioGroupRootProvider, useRadioGroupStyles };\n","import React from 'react';\nimport { RadioGroup } from '@chakra-ui/react/radio-group';\nimport { FormControlSize } from 'hocs/withFormControl/withFormControl.types';\nimport { withFormControl, WithFormControlProps } from 'hocs/withFormControl/withFormControl';\nimport { Text } from 'components/Text/text.component';\nimport { RadioType } from 'components/RadioGroup/radioGroup.types';\n\nexport interface RadioProps extends WithFormControlProps, RadioGroup.ItemProps {\n /** If true, the radio will render a contrasting variant.\n * @default false\n */\n onContrast?: boolean;\n /** Ref to the hidden input element. */\n radioRef?: React.Ref<HTMLInputElement | null>;\n /** Ref to the radio component. */\n rootRef?: React.Ref<HTMLDivElement | null>;\n /** Size of the radio.\n * @default md\n */\n size?: FormControlSize;\n /** Data test id for the radio.\n * @default kibble-radio\n */\n 'data-testid'?: string;\n}\n\ninterface InternalRadioProps extends RadioProps {\n /** Type of the radio.\n * @internal\n */\n radioType?: RadioType;\n}\n\nconst Radio = React.forwardRef<HTMLInputElement, InternalRadioProps>(\n (\n {\n children,\n disabled = false,\n invalid = false,\n onContrast = false,\n radioRef,\n radioType,\n rootRef,\n size = 'md',\n ['data-testid']: dataTestId = 'kibble-radio',\n ...rest\n },\n ref,\n ): React.JSX.Element => {\n return (\n <RadioGroup.Item\n className=\"Radio\"\n data-testid={dataTestId}\n invalid={invalid}\n disabled={disabled}\n ref={rootRef}\n {...rest}\n >\n <RadioGroup.ItemHiddenInput\n className=\"Radio__Input\"\n data-testid={`${dataTestId}-input`}\n ref={radioRef || ref}\n />\n <RadioGroup.ItemIndicator className=\"Radio__Indicator\" data-testid={`${dataTestId}-indicator`} />\n {children && (\n <RadioGroup.ItemText\n className=\"Radio__Text\"\n data-testid={`${dataTestId}-label`}\n {...(radioType === 'cards' && typeof children !== 'string' && { mt: '-4px' })}\n >\n {typeof children === 'string' ? (\n <Text size={size} lineHeight=\"unset\" variant={onContrast ? 'onContrast' : 'default'}>\n {children}\n </Text>\n ) : (\n children\n )}\n </RadioGroup.ItemText>\n )}\n </RadioGroup.Item>\n );\n },\n);\n\nRadio.displayName = 'Radio';\nconst WrappedRadio = withFormControl<InternalRadioProps>(Radio);\n\nexport { WrappedRadio as Radio };\n","import React from 'react';\nimport { withFormControl, WithFormControlProps } from 'hocs/withFormControl/withFormControl';\nimport { Radio, RadioProps } from './components/Radio/radio.component';\nimport { RadioGroup as CRadioGroup } from '@chakra-ui/react/radio-group';\nimport { Stack } from '@chakra-ui/react/stack';\nimport { ConditionalValue } from '@chakra-ui/react/styled-system';\nimport { FlexDirection } from 'shared/types/alignment';\nimport { FormControlSize } from 'hocs/withFormControl/withFormControl.types';\nimport { ButtonGroup } from 'components/ButtonGroup';\nimport { RadioAlignment, RadioType } from './radioGroup.types';\nimport { secondarySubtleOnContrastButtonStyles, secondarySubtleButtonStyles } from 'components/Button/button.recipe';\n\nexport interface RadioGroupProps extends WithFormControlProps, CRadioGroup.RootProps {\n /**\n * The direction to stack the radios.\n * @default column\n */\n direction?: ConditionalValue<FlexDirection>;\n /**\n * Size of the radio group.\n * @default md\n */\n size?: FormControlSize;\n /**\n * The visual type of the radio group.\n * @default default\n */\n radioType?: RadioType;\n /** An array of Radio props to be rendered inside the group. See `Radio` for more information. */\n radios: RadioProps[];\n /**\n * The alignment of the radio input element.\n * @default start\n */\n radioAlignment?: RadioAlignment;\n /** Data test id for the radio group.\n * @default kibble-radio-group\n */\n 'data-testid'?: string;\n}\n\nconst RadioGroup = ({\n radios,\n defaultValue,\n direction = 'column',\n disabled,\n invalid,\n onContrast,\n size = 'md',\n radioType = 'default',\n onValueChange,\n value,\n gap = 2,\n radioAlignment = 'start',\n ['data-testid']: dataTestId = 'kibble-radio-group',\n ...rest\n}: RadioGroupProps): React.JSX.Element => {\n const _computedVariant = onContrast ? 'onContrast' : 'default';\n\n return (\n <CRadioGroup.Root\n className=\"RadioGroup\"\n data-testid={dataTestId}\n disabled={disabled}\n defaultValue={defaultValue}\n value={value}\n size={size}\n variant={_computedVariant}\n withCard={radioType === 'cards'}\n radioAlignment={radioAlignment}\n onValueChange={onValueChange}\n {...rest}\n >\n {radioType === 'buttons' ? (\n <ButtonGroup\n onContrast={onContrast}\n variant=\"secondarySubtle\"\n size={size}\n buttons={radios.map((radio, index) => {\n const active = defaultValue === radio.value || value === radio.value;\n return {\n key: `button-radio-${index}`,\n children: radio.children,\n active,\n disabled,\n 'data-testid': radio['data-testid'],\n onClick: () => onValueChange?.({ value: radio.value }),\n ...(disabled &&\n active && { ...(onContrast ? secondarySubtleOnContrastButtonStyles : secondarySubtleButtonStyles) }),\n };\n })}\n />\n ) : (\n <Stack gap={gap} direction={direction}>\n {radios.map((radio, index) => (\n <Radio\n key={`radio-${index}`}\n invalid={invalid}\n disabled={disabled}\n size={size}\n radioType={radioType}\n onContrast={onContrast}\n {...(direction === 'row' && { fullWidth: false })}\n {...radio}\n />\n ))}\n </Stack>\n )}\n </CRadioGroup.Root>\n );\n};\n\nRadioGroup.displayName = 'RadioGroup';\nconst WrappedRadioGroup = withFormControl(RadioGroup);\n\nexport { WrappedRadioGroup as RadioGroup };\n","export const radioTypes = ['default', 'buttons', 'cards'] as const;\nexport type RadioType = (typeof radioTypes)[number];\n\nexport const radioAlignments = ['start', 'center', 'end'] as const;\nexport type RadioAlignment = (typeof radioAlignments)[number];\n"],"names":["RadioGroupProvider","useRadioGroupContext","createContext","RadioGroupItemProvider","useRadioGroupItemContext","RadioGroupItemPropsProvider","useRadioGroupItemPropsContext","RadioGroupItem","forwardRef","props","ref","itemProps","localProps","createSplitProps","radioGroup","mergedProps","mergeProps","itemState","jsx","ark","RadioGroupItemContext","RadioGroupItemControl","RadioGroupItemHiddenInput","RadioGroupItemText","RadioGroupLabel","useRadioGroup","id","useId","getRootNode","useEnvironmentContext","dir","useLocaleContext","machineProps","service","useMachine","radio.machine","radio.connect","normalizeProps","RadioGroupRoot","useRadioGroupProps","RadioGroupRootProvider","withProvider","withContext","useRadioGroupStyles","createSlotRecipeContext","RadioGroup.RootProvider","RadioGroup.Root","RadioGroup.Label","RadioGroup.Item","RadioGroup.ItemText","RadioGroup.ItemControl","RadioGroupItemIndicator","styles","RadioGroup.ItemContext","Radiomark","RadioGroup.ItemHiddenInput","Radio","React","children","disabled","invalid","onContrast","radioRef","radioType","rootRef","size","dataTestId","rest","jsxs","RadioGroup.ItemIndicator","Text","WrappedRadio","withFormControl","RadioGroup","radios","defaultValue","direction","onValueChange","value","gap","radioAlignment","_computedVariant","CRadioGroup.Root","ButtonGroup","radio","index","active","secondarySubtleOnContrastButtonStyles","secondarySubtleButtonStyles","Stack","WrappedRadioGroup","radioTypes","radioAlignments"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12]}
1
+ {"version":3,"file":"radioGroup.types--Is8KTII.js","sources":["../../node_modules/@ark-ui/react/dist/components/radio-group/use-radio-group-context.js","../../node_modules/@ark-ui/react/dist/components/radio-group/use-radio-group-item-context.js","../../node_modules/@ark-ui/react/dist/components/radio-group/use-radio-group-item-props-context.js","../../node_modules/@ark-ui/react/dist/components/radio-group/radio-group-item.js","../../node_modules/@ark-ui/react/dist/components/radio-group/radio-group-item-context.js","../../node_modules/@ark-ui/react/dist/components/radio-group/radio-group-item-control.js","../../node_modules/@ark-ui/react/dist/components/radio-group/radio-group-item-hidden-input.js","../../node_modules/@ark-ui/react/dist/components/radio-group/radio-group-item-text.js","../../node_modules/@ark-ui/react/dist/components/radio-group/radio-group-label.js","../../node_modules/@ark-ui/react/dist/components/radio-group/use-radio-group.js","../../node_modules/@ark-ui/react/dist/components/radio-group/radio-group-root.js","../../node_modules/@ark-ui/react/dist/components/radio-group/radio-group-root-provider.js","../../node_modules/@chakra-ui/react/dist/esm/components/radio-group/radio-group.js","../../src/components/RadioGroup/components/Radio/radio.component.tsx","../../src/components/RadioGroup/radioGroup.component.tsx","../../src/components/RadioGroup/radioGroup.types.ts"],"sourcesContent":["'use client';\nimport { createContext } from '../../utils/create-context.js';\n\nconst [RadioGroupProvider, useRadioGroupContext] = createContext({\n name: \"RadioGroupContext\",\n hookName: \"useRadioGroupContext\",\n providerName: \"<RadioGroupProvider />\"\n});\n\nexport { RadioGroupProvider, useRadioGroupContext };\n","'use client';\nimport { createContext } from '../../utils/create-context.js';\n\nconst [RadioGroupItemProvider, useRadioGroupItemContext] = createContext({\n name: \"RadioGroupItemContext\",\n hookName: \"useRadioGroupItemContext\",\n providerName: \"<RadioGroupItemProvider />\"\n});\n\nexport { RadioGroupItemProvider, useRadioGroupItemContext };\n","'use client';\nimport { createContext } from '../../utils/create-context.js';\n\nconst [RadioGroupItemPropsProvider, useRadioGroupItemPropsContext] = createContext({\n name: \"RadioGroupItemPropsContext\",\n hookName: \"useRadioGroupItemPropsContext\",\n providerName: \"<RadioGroupItemPropsProvider />\"\n});\n\nexport { RadioGroupItemPropsProvider, useRadioGroupItemPropsContext };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { createSplitProps } from '../../utils/create-split-props.js';\nimport { ark } from '../factory.js';\nimport { useRadioGroupContext } from './use-radio-group-context.js';\nimport { RadioGroupItemProvider } from './use-radio-group-item-context.js';\nimport { RadioGroupItemPropsProvider } from './use-radio-group-item-props-context.js';\n\nconst RadioGroupItem = forwardRef((props, ref) => {\n const [itemProps, localProps] = createSplitProps()(props, [\"value\", \"disabled\", \"invalid\"]);\n const radioGroup = useRadioGroupContext();\n const mergedProps = mergeProps(radioGroup.getItemProps(itemProps), localProps);\n const itemState = radioGroup.getItemState(itemProps);\n return /* @__PURE__ */ jsx(RadioGroupItemProvider, { value: itemState, children: /* @__PURE__ */ jsx(RadioGroupItemPropsProvider, { value: itemProps, children: /* @__PURE__ */ jsx(ark.label, { ...mergedProps, ref }) }) });\n});\nRadioGroupItem.displayName = \"RadioGroupItem\";\n\nexport { RadioGroupItem };\n","'use client';\nimport { useRadioGroupItemContext } from './use-radio-group-item-context.js';\n\nconst RadioGroupItemContext = (props) => props.children(useRadioGroupItemContext());\n\nexport { RadioGroupItemContext };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { useRadioGroupContext } from './use-radio-group-context.js';\nimport { useRadioGroupItemPropsContext } from './use-radio-group-item-props-context.js';\n\nconst RadioGroupItemControl = forwardRef((props, ref) => {\n const radioGroup = useRadioGroupContext();\n const itemProps = useRadioGroupItemPropsContext();\n const mergedProps = mergeProps(radioGroup.getItemControlProps(itemProps), props);\n return /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref });\n});\nRadioGroupItemControl.displayName = \"RadioGroupItemControl\";\n\nexport { RadioGroupItemControl };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { useRadioGroupContext } from './use-radio-group-context.js';\nimport { useRadioGroupItemPropsContext } from './use-radio-group-item-props-context.js';\n\nconst RadioGroupItemHiddenInput = forwardRef((props, ref) => {\n const radioGroup = useRadioGroupContext();\n const itemProps = useRadioGroupItemPropsContext();\n const mergedProps = mergeProps(radioGroup.getItemHiddenInputProps(itemProps), props);\n return /* @__PURE__ */ jsx(ark.input, { ...mergedProps, ref });\n});\nRadioGroupItemHiddenInput.displayName = \"RadioGroupItemHiddenInput\";\n\nexport { RadioGroupItemHiddenInput };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { useRadioGroupContext } from './use-radio-group-context.js';\nimport { useRadioGroupItemPropsContext } from './use-radio-group-item-props-context.js';\n\nconst RadioGroupItemText = forwardRef((props, ref) => {\n const radioGroup = useRadioGroupContext();\n const itemProps = useRadioGroupItemPropsContext();\n const mergedProps = mergeProps(radioGroup.getItemTextProps(itemProps), props);\n return /* @__PURE__ */ jsx(ark.span, { ...mergedProps, ref });\n});\nRadioGroupItemText.displayName = \"RadioGroupItemText\";\n\nexport { RadioGroupItemText };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { useRadioGroupContext } from './use-radio-group-context.js';\n\nconst RadioGroupLabel = forwardRef((props, ref) => {\n const radioGroup = useRadioGroupContext();\n const mergedProps = mergeProps(radioGroup.getLabelProps(), props);\n return /* @__PURE__ */ jsx(ark.label, { ...mergedProps, ref });\n});\nRadioGroupLabel.displayName = \"RadioGroupLabel\";\n\nexport { RadioGroupLabel };\n","'use client';\nimport * as radio from '@zag-js/radio-group';\nimport { useMachine, normalizeProps } from '@zag-js/react';\nimport { useId } from 'react';\nimport { useEnvironmentContext } from '../../providers/environment/use-environment-context.js';\nimport { useLocaleContext } from '../../providers/locale/use-locale-context.js';\n\nconst useRadioGroup = (props) => {\n const id = useId();\n const { getRootNode } = useEnvironmentContext();\n const { dir } = useLocaleContext();\n const machineProps = {\n id,\n dir,\n getRootNode,\n ...props\n };\n const service = useMachine(radio.machine, machineProps);\n return radio.connect(service, normalizeProps);\n};\n\nexport { useRadioGroup };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { createSplitProps } from '../../utils/create-split-props.js';\nimport { ark } from '../factory.js';\nimport { useRadioGroup } from './use-radio-group.js';\nimport { RadioGroupProvider } from './use-radio-group-context.js';\n\nconst RadioGroupRoot = forwardRef((props, ref) => {\n const [useRadioGroupProps, localProps] = createSplitProps()(props, [\n \"defaultValue\",\n \"disabled\",\n \"form\",\n \"id\",\n \"ids\",\n \"name\",\n \"onValueChange\",\n \"orientation\",\n \"readOnly\",\n \"value\"\n ]);\n const radioGroup = useRadioGroup(useRadioGroupProps);\n const mergedProps = mergeProps(radioGroup.getRootProps(), localProps);\n return /* @__PURE__ */ jsx(RadioGroupProvider, { value: radioGroup, children: /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref }) });\n});\nRadioGroupRoot.displayName = \"RadioGroupRoot\";\n\nexport { RadioGroupRoot };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { createSplitProps } from '../../utils/create-split-props.js';\nimport { ark } from '../factory.js';\nimport { RadioGroupProvider } from './use-radio-group-context.js';\n\nconst RadioGroupRootProvider = forwardRef((props, ref) => {\n const [{ value: radioGroup }, localProps] = createSplitProps()(props, [\"value\"]);\n const mergedProps = mergeProps(radioGroup.getRootProps(), localProps);\n return /* @__PURE__ */ jsx(RadioGroupProvider, { value: radioGroup, children: /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref }) });\n});\nRadioGroupRootProvider.displayName = \"RadioGroupRootProvider\";\n\nexport { RadioGroupRootProvider };\n","\"use strict\";\n\"use client\";\nimport { jsx } from 'react/jsx-runtime';\nimport { RadioGroup } from '@ark-ui/react/radio-group';\nimport { forwardRef } from 'react';\nimport { createSlotRecipeContext } from '../../styled-system/create-slot-recipe-context.js';\nimport { Radiomark } from '../radiomark/radiomark.js';\n\nconst {\n withProvider,\n withContext,\n useStyles: useRadioGroupStyles,\n PropsProvider\n} = createSlotRecipeContext({ key: \"radioGroup\" });\nconst RadioGroupRootProvider = withProvider(RadioGroup.RootProvider, \"root\", { forwardAsChild: true });\nconst RadioGroupRoot = withProvider(\n RadioGroup.Root,\n \"root\",\n { forwardAsChild: true }\n);\nconst RadioGroupPropsProvider = PropsProvider;\nconst RadioGroupLabel = withContext(RadioGroup.Label, \"label\", { forwardAsChild: true });\nconst RadioGroupItem = withContext(\n RadioGroup.Item,\n \"item\",\n { forwardAsChild: true }\n);\nconst RadioGroupItemText = withContext(RadioGroup.ItemText, \"itemText\", { forwardAsChild: true });\nconst RadioGroupItemControl = withContext(RadioGroup.ItemControl, \"itemControl\", { forwardAsChild: true });\nconst RadioGroupItemIndicator = forwardRef(function RadioGroupItemIndicator2(props, ref) {\n const styles = useRadioGroupStyles();\n return /* @__PURE__ */ jsx(RadioGroup.ItemContext, { children: (itemState) => /* @__PURE__ */ jsx(RadioGroup.ItemControl, { asChild: true, children: /* @__PURE__ */ jsx(\n Radiomark,\n {\n ref,\n unstyled: true,\n ...props,\n checked: itemState.checked,\n disabled: itemState.disabled,\n css: [styles[\"itemControl\"], props.css]\n }\n ) }) });\n});\nconst RadioGroupContext = RadioGroup.Context;\nconst RadioGroupItemContext = RadioGroup.ItemContext;\nconst RadioGroupItemHiddenInput = RadioGroup.ItemHiddenInput;\n\nexport { RadioGroupContext, RadioGroupItem, RadioGroupItemContext, RadioGroupItemControl, RadioGroupItemHiddenInput, RadioGroupItemIndicator, RadioGroupItemText, RadioGroupLabel, RadioGroupPropsProvider, RadioGroupRoot, RadioGroupRootProvider, useRadioGroupStyles };\n","import React from 'react';\nimport { RadioGroup } from '@chakra-ui/react/radio-group';\nimport { FormControlSize } from 'hocs/withFormControl/withFormControl.types';\nimport { withFormControl, WithFormControlProps } from 'hocs/withFormControl/withFormControl';\nimport { Text } from 'components/Text/text.component';\nimport { RadioType } from 'components/RadioGroup/radioGroup.types';\n\nexport interface RadioProps extends WithFormControlProps, RadioGroup.ItemProps {\n /** If true, the radio will render a contrasting variant.\n * @default false\n */\n onContrast?: boolean;\n /** Ref to the hidden input element. */\n radioRef?: React.Ref<HTMLInputElement | null>;\n /** Ref to the radio component. */\n rootRef?: React.Ref<HTMLDivElement | null>;\n /** Size of the radio.\n * @default md\n */\n size?: FormControlSize;\n /** Data test id for the radio.\n * @default kibble-radio\n */\n 'data-testid'?: string;\n}\n\ninterface InternalRadioProps extends RadioProps {\n /** Type of the radio.\n * @internal\n */\n radioType?: RadioType;\n}\n\nconst Radio = React.forwardRef<HTMLInputElement, InternalRadioProps>(\n (\n {\n children,\n disabled = false,\n invalid = false,\n onContrast = false,\n radioRef,\n radioType,\n rootRef,\n size = 'md',\n ['data-testid']: dataTestId = 'kibble-radio',\n ...rest\n },\n ref,\n ): React.JSX.Element => {\n return (\n <RadioGroup.Item\n className=\"Radio\"\n data-testid={dataTestId}\n invalid={invalid}\n disabled={disabled}\n ref={rootRef}\n {...rest}\n >\n <RadioGroup.ItemHiddenInput\n className=\"Radio__Input\"\n data-testid={`${dataTestId}-input`}\n ref={radioRef || ref}\n />\n <RadioGroup.ItemIndicator className=\"Radio__Indicator\" data-testid={`${dataTestId}-indicator`} />\n {children && (\n <RadioGroup.ItemText\n className=\"Radio__Text\"\n data-testid={`${dataTestId}-label`}\n {...(radioType === 'cards' && typeof children !== 'string' && { mt: '-4px' })}\n >\n {typeof children === 'string' ? (\n <Text size={size} lineHeight=\"unset\" variant={onContrast ? 'onContrast' : 'default'}>\n {children}\n </Text>\n ) : (\n children\n )}\n </RadioGroup.ItemText>\n )}\n </RadioGroup.Item>\n );\n },\n);\n\nRadio.displayName = 'Radio';\nconst WrappedRadio = withFormControl<InternalRadioProps>(Radio);\n\nexport { WrappedRadio as Radio };\n","import React from 'react';\nimport { withFormControl, WithFormControlProps } from 'hocs/withFormControl/withFormControl';\nimport { Radio, RadioProps } from './components/Radio/radio.component';\nimport { RadioGroup as CRadioGroup } from '@chakra-ui/react/radio-group';\nimport { Stack } from '@chakra-ui/react/stack';\nimport { ConditionalValue } from '@chakra-ui/react/styled-system';\nimport { FlexDirection } from 'shared/types/alignment';\nimport { FormControlSize } from 'hocs/withFormControl/withFormControl.types';\nimport { ButtonGroup } from 'components/ButtonGroup';\nimport { RadioAlignment, RadioType } from './radioGroup.types';\nimport { secondarySubtleOnContrastButtonStyles, secondarySubtleButtonStyles } from 'components/Button/button.recipe';\n\nexport interface RadioGroupProps extends WithFormControlProps, CRadioGroup.RootProps {\n /**\n * The direction to stack the radios.\n * @default column\n */\n direction?: ConditionalValue<FlexDirection>;\n /**\n * Size of the radio group.\n * @default md\n */\n size?: FormControlSize;\n /**\n * The visual type of the radio group.\n * @default default\n */\n radioType?: RadioType;\n /** An array of Radio props to be rendered inside the group. See `Radio` for more information. */\n radios: RadioProps[];\n /**\n * The alignment of the radio input element.\n * @default start\n */\n radioAlignment?: RadioAlignment;\n /** Data test id for the radio group.\n * @default kibble-radio-group\n */\n 'data-testid'?: string;\n}\n\nconst RadioGroup = ({\n radios,\n defaultValue,\n direction = 'column',\n disabled,\n invalid,\n onContrast,\n size = 'md',\n radioType = 'default',\n onValueChange,\n value,\n gap = 2,\n radioAlignment = 'start',\n ['data-testid']: dataTestId = 'kibble-radio-group',\n ...rest\n}: RadioGroupProps): React.JSX.Element => {\n const _computedVariant = onContrast ? 'onContrast' : 'default';\n\n return (\n <CRadioGroup.Root\n className=\"RadioGroup\"\n data-testid={dataTestId}\n disabled={disabled}\n defaultValue={defaultValue}\n value={value}\n size={size}\n variant={_computedVariant}\n withCard={radioType === 'cards'}\n radioAlignment={radioAlignment}\n onValueChange={onValueChange}\n {...rest}\n >\n {radioType === 'buttons' ? (\n <ButtonGroup\n onContrast={onContrast}\n variant=\"secondarySubtle\"\n size={size}\n buttons={radios.map((radio, index) => {\n const active = defaultValue === radio.value || value === radio.value;\n return {\n key: `button-radio-${index}`,\n children: radio.children,\n active,\n disabled,\n 'data-testid': radio['data-testid'],\n onClick: () => onValueChange?.({ value: radio.value }),\n ...(disabled &&\n active && { ...(onContrast ? secondarySubtleOnContrastButtonStyles : secondarySubtleButtonStyles) }),\n };\n })}\n />\n ) : (\n <Stack gap={gap} direction={direction}>\n {radios.map((radio, index) => (\n <Radio\n key={`radio-${index}`}\n invalid={invalid}\n disabled={disabled}\n size={size}\n radioType={radioType}\n onContrast={onContrast}\n {...(direction === 'row' && { fullWidth: false })}\n {...radio}\n />\n ))}\n </Stack>\n )}\n </CRadioGroup.Root>\n );\n};\n\nRadioGroup.displayName = 'RadioGroup';\nconst WrappedRadioGroup = withFormControl(RadioGroup);\n\nexport { WrappedRadioGroup as RadioGroup };\n","export const radioTypes = ['default', 'buttons', 'cards'] as const;\nexport type RadioType = (typeof radioTypes)[number];\n\nexport const radioAlignments = ['start', 'center', 'end'] as const;\nexport type RadioAlignment = (typeof radioAlignments)[number];\n"],"names":["RadioGroupProvider","useRadioGroupContext","createContext","RadioGroupItemProvider","useRadioGroupItemContext","RadioGroupItemPropsProvider","useRadioGroupItemPropsContext","RadioGroupItem","forwardRef","props","ref","itemProps","localProps","createSplitProps","radioGroup","mergedProps","mergeProps","itemState","jsx","ark","RadioGroupItemContext","RadioGroupItemControl","RadioGroupItemHiddenInput","RadioGroupItemText","RadioGroupLabel","useRadioGroup","id","useId","getRootNode","useEnvironmentContext","dir","useLocaleContext","machineProps","service","useMachine","radio.machine","radio.connect","normalizeProps","RadioGroupRoot","useRadioGroupProps","RadioGroupRootProvider","withProvider","withContext","useRadioGroupStyles","createSlotRecipeContext","RadioGroup.RootProvider","RadioGroup.Root","RadioGroup.Label","RadioGroup.Item","RadioGroup.ItemText","RadioGroup.ItemControl","RadioGroupItemIndicator","styles","RadioGroup.ItemContext","Radiomark","RadioGroup.ItemHiddenInput","Radio","React","children","disabled","invalid","onContrast","radioRef","radioType","rootRef","size","dataTestId","rest","jsxs","RadioGroup.ItemIndicator","Text","WrappedRadio","withFormControl","RadioGroup","radios","defaultValue","direction","onValueChange","value","gap","radioAlignment","_computedVariant","CRadioGroup.Root","ButtonGroup","radio","index","active","secondarySubtleOnContrastButtonStyles","secondarySubtleButtonStyles","Stack","WrappedRadioGroup","radioTypes","radioAlignments"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12]}