@bspk/ui 1.3.4 → 1.3.5

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 (173) hide show
  1. package/dist/components/Avatar/Avatar.d.ts +3 -3
  2. package/dist/components/Avatar/Avatar.js +8 -8
  3. package/dist/components/Avatar/Avatar.js.map +1 -1
  4. package/dist/components/Avatar/AvatarExample.js +1 -1
  5. package/dist/components/Avatar/AvatarExample.js.map +1 -1
  6. package/dist/components/Avatar/avatar.css +5 -1
  7. package/dist/components/Avatar/avatar.css.js +5 -1
  8. package/dist/components/AvatarGroup/AvatarGroup.d.ts +11 -6
  9. package/dist/components/AvatarGroup/AvatarGroup.js +5 -6
  10. package/dist/components/AvatarGroup/AvatarGroup.js.map +1 -1
  11. package/dist/components/AvatarGroup/AvatarGroupExample.js +36 -9
  12. package/dist/components/AvatarGroup/AvatarGroupExample.js.map +1 -1
  13. package/dist/components/AvatarGroup/Overflow.d.ts +11 -0
  14. package/dist/components/AvatarGroup/Overflow.js +37 -0
  15. package/dist/components/AvatarGroup/Overflow.js.map +1 -0
  16. package/dist/components/AvatarGroup/avatar-group.css +27 -13
  17. package/dist/components/AvatarGroup/avatar-group.css.js +27 -13
  18. package/dist/components/Badge/BadgeExample.js +1 -1
  19. package/dist/components/Badge/BadgeExample.js.map +1 -1
  20. package/dist/components/BadgeDot/BadgeDotExample.js +1 -1
  21. package/dist/components/BadgeDot/BadgeDotExample.js.map +1 -1
  22. package/dist/components/Button/Button.d.ts +2 -2
  23. package/dist/components/Card/Card.d.ts +2 -1
  24. package/dist/components/Card/Card.js +2 -2
  25. package/dist/components/Card/Card.js.map +1 -1
  26. package/dist/components/CheckboxGroup/CheckboxGroup.d.ts +4 -4
  27. package/dist/components/CheckboxGroup/CheckboxGroup.js +4 -4
  28. package/dist/components/CheckboxGroupField/CheckboxGroupField.d.ts +1 -1
  29. package/dist/components/CheckboxGroupField/CheckboxGroupField.js +2 -2
  30. package/dist/components/CheckboxGroupField/CheckboxGroupField.js.map +1 -1
  31. package/dist/components/CheckboxOption/CheckboxOption.d.ts +3 -2
  32. package/dist/components/CheckboxOption/CheckboxOption.js +2 -2
  33. package/dist/components/CheckboxOption/CheckboxOption.js.map +1 -1
  34. package/dist/components/DatePickerField/DatePickerField.d.ts +1 -1
  35. package/dist/components/DatePickerField/DatePickerField.js +2 -2
  36. package/dist/components/DatePickerField/DatePickerField.js.map +1 -1
  37. package/dist/components/Fab/Fab.d.ts +2 -2
  38. package/dist/components/Fab/Fab.js.map +1 -1
  39. package/dist/components/FormField/FormField.d.ts +3 -2
  40. package/dist/components/FormField/FormField.js +2 -2
  41. package/dist/components/FormField/FormField.js.map +1 -1
  42. package/dist/components/InputField/InputField.d.ts +1 -1
  43. package/dist/components/InputField/InputField.js +2 -2
  44. package/dist/components/InputField/InputField.js.map +1 -1
  45. package/dist/components/InputNumberField/InputNumberField.d.ts +1 -1
  46. package/dist/components/InputNumberField/InputNumberField.js +2 -2
  47. package/dist/components/InputNumberField/InputNumberField.js.map +1 -1
  48. package/dist/components/InputPhoneField/InputPhoneField.d.ts +1 -1
  49. package/dist/components/InputPhoneField/InputPhoneField.js +2 -2
  50. package/dist/components/InputPhoneField/InputPhoneField.js.map +1 -1
  51. package/dist/components/Layout/Layout.d.ts +2 -2
  52. package/dist/components/Layout/Layout.js.map +1 -1
  53. package/dist/components/ListItem/ListItem.d.ts +1 -1
  54. package/dist/components/Menu/Menu.d.ts +8 -1
  55. package/dist/components/Menu/Menu.js +1 -1
  56. package/dist/components/Menu/Menu.js.map +1 -1
  57. package/dist/components/Menu/MenuExample.js +1 -1
  58. package/dist/components/Menu/MenuExample.js.map +1 -1
  59. package/dist/components/PasswordField/PasswordField.d.ts +1 -1
  60. package/dist/components/PasswordField/PasswordField.js +2 -2
  61. package/dist/components/PasswordField/PasswordField.js.map +1 -1
  62. package/dist/components/ProgressCircle/progress-circle.css +2 -0
  63. package/dist/components/ProgressCircle/progress-circle.css.js +2 -0
  64. package/dist/components/RadioGroup/RadioGroup.js +3 -3
  65. package/dist/components/RadioGroup/RadioGroup.js.map +1 -1
  66. package/dist/components/RadioGroupField/RadioGroupField.d.ts +1 -1
  67. package/dist/components/RadioGroupField/RadioGroupField.js +2 -2
  68. package/dist/components/RadioGroupField/RadioGroupField.js.map +1 -1
  69. package/dist/components/SearchBar/SearchBar.d.ts +2 -2
  70. package/dist/components/SearchBar/SearchBar.js +2 -2
  71. package/dist/components/SearchBar/SearchBar.js.map +1 -1
  72. package/dist/components/Select/Select.d.ts +9 -2
  73. package/dist/components/Select/Select.js +4 -3
  74. package/dist/components/Select/Select.js.map +1 -1
  75. package/dist/components/Select/SelectExample.js +36 -1
  76. package/dist/components/Select/SelectExample.js.map +1 -1
  77. package/dist/components/SelectField/SelectField.d.ts +1 -1
  78. package/dist/components/SelectField/SelectField.js +2 -2
  79. package/dist/components/SelectField/SelectField.js.map +1 -1
  80. package/dist/components/SkeletonText/SkeletonText.js +1 -1
  81. package/dist/components/SkeletonText/SkeletonText.js.map +1 -1
  82. package/dist/components/Slider/slider.css +1 -0
  83. package/dist/components/Slider/slider.css.js +1 -0
  84. package/dist/components/Textarea/Textarea.d.ts +3 -9
  85. package/dist/components/Textarea/Textarea.js +2 -2
  86. package/dist/components/Textarea/Textarea.js.map +1 -1
  87. package/dist/components/TextareaField/TextareaField.d.ts +1 -1
  88. package/dist/components/TextareaField/TextareaField.js +2 -2
  89. package/dist/components/TextareaField/TextareaField.js.map +1 -1
  90. package/dist/components/TimePicker/TimePicker.js +10 -4
  91. package/dist/components/TimePicker/TimePicker.js.map +1 -1
  92. package/dist/components/TimePickerField/TimePickerField.d.ts +1 -1
  93. package/dist/components/TimePickerField/TimePickerField.js +2 -2
  94. package/dist/components/TimePickerField/TimePickerField.js.map +1 -1
  95. package/dist/components/ToggleOption/ToggleOption.d.ts +3 -3
  96. package/dist/components/ToggleOption/ToggleOption.js +2 -2
  97. package/dist/components/ToggleOption/ToggleOption.js.map +1 -1
  98. package/dist/components/Truncated/Truncated.d.ts +2 -2
  99. package/dist/components/Truncated/Truncated.js.map +1 -1
  100. package/dist/components/Txt/Txt.d.ts +2 -2
  101. package/dist/components/Txt/Txt.js.map +1 -1
  102. package/dist/hooks/useArrowNavigation.d.ts +0 -2
  103. package/dist/hooks/useArrowNavigation.js +0 -2
  104. package/dist/hooks/useArrowNavigation.js.map +1 -1
  105. package/dist/hooks/useCheckboxGroupState.d.ts +7 -10
  106. package/dist/hooks/useCheckboxGroupState.js +7 -10
  107. package/dist/hooks/useCheckboxGroupState.js.map +1 -1
  108. package/dist/hooks/useFloating.js +8 -7
  109. package/dist/hooks/useFloating.js.map +1 -1
  110. package/dist/styles/base.css +4 -0
  111. package/dist/styles/base.css.js +4 -0
  112. package/dist/types/common.d.ts +12 -1
  113. package/dist/types/common.js.map +1 -1
  114. package/meta.ts +4 -4
  115. package/package.json +1 -3
  116. package/src/components/Avatar/Avatar.tsx +10 -11
  117. package/src/components/Avatar/AvatarExample.tsx +1 -1
  118. package/src/components/Avatar/avatar.scss +6 -1
  119. package/src/components/AvatarGroup/AvatarGroup.tsx +20 -24
  120. package/src/components/AvatarGroup/AvatarGroupExample.tsx +35 -9
  121. package/src/components/AvatarGroup/Overflow.tsx +91 -0
  122. package/src/components/AvatarGroup/avatar-group.scss +34 -14
  123. package/src/components/Badge/BadgeExample.tsx +1 -1
  124. package/src/components/BadgeDot/BadgeDotExample.tsx +1 -1
  125. package/src/components/Button/Button.tsx +2 -2
  126. package/src/components/Card/Card.tsx +3 -2
  127. package/src/components/CheckboxGroup/CheckboxGroup.tsx +4 -4
  128. package/src/components/CheckboxGroupField/CheckboxGroupField.tsx +3 -2
  129. package/src/components/CheckboxOption/CheckboxOption.tsx +4 -1
  130. package/src/components/DatePickerField/DatePickerField.tsx +8 -1
  131. package/src/components/Fab/Fab.tsx +2 -2
  132. package/src/components/FormField/FormField.tsx +13 -3
  133. package/src/components/InputField/InputField.tsx +15 -2
  134. package/src/components/InputNumberField/InputNumberField.tsx +8 -1
  135. package/src/components/InputPhoneField/InputPhoneField.tsx +8 -1
  136. package/src/components/Layout/Layout.tsx +2 -2
  137. package/src/components/ListItem/ListItem.tsx +1 -1
  138. package/src/components/Menu/Menu.tsx +9 -1
  139. package/src/components/Menu/MenuExample.tsx +1 -1
  140. package/src/components/PasswordField/PasswordField.tsx +15 -2
  141. package/src/components/ProgressCircle/progress-circle.scss +2 -0
  142. package/src/components/RadioGroup/RadioGroup.tsx +18 -20
  143. package/src/components/RadioGroupField/RadioGroupField.tsx +2 -1
  144. package/src/components/SearchBar/SearchBar.tsx +3 -1
  145. package/src/components/Select/Select.tsx +12 -3
  146. package/src/components/Select/SelectExample.tsx +36 -1
  147. package/src/components/SelectField/SelectField.tsx +15 -2
  148. package/src/components/SkeletonText/SkeletonText.tsx +1 -1
  149. package/src/components/Slider/slider.scss +1 -0
  150. package/src/components/Textarea/Textarea.tsx +34 -39
  151. package/src/components/TextareaField/TextareaField.tsx +15 -2
  152. package/src/components/TimePicker/TimePicker.tsx +13 -3
  153. package/src/components/TimePickerField/TimePickerField.tsx +8 -1
  154. package/src/components/ToggleOption/ToggleOption.tsx +20 -19
  155. package/src/components/Truncated/Truncated.tsx +2 -2
  156. package/src/components/Txt/Txt.tsx +2 -2
  157. package/src/hooks/useArrowNavigation.ts +0 -2
  158. package/src/hooks/useCheckboxGroupState.ts +7 -10
  159. package/src/hooks/useFloating.ts +8 -7
  160. package/src/styles/base.scss +4 -0
  161. package/src/types/common.ts +11 -0
  162. package/dist/components/MenuButton/MenuButton.d.ts +0 -19
  163. package/dist/components/MenuButton/MenuButton.js +0 -20
  164. package/dist/components/MenuButton/MenuButton.js.map +0 -1
  165. package/dist/components/MenuButton/index.d.ts +0 -1
  166. package/dist/components/MenuButton/index.js +0 -2
  167. package/dist/components/MenuButton/index.js.map +0 -1
  168. package/dist/components/MenuButton/menu-button.css +0 -16
  169. package/dist/components/MenuButton/menu-button.css.js +0 -21
  170. package/src/components/MenuButton/MenuButton.rtl.test.tsx +0 -15
  171. package/src/components/MenuButton/MenuButton.tsx +0 -29
  172. package/src/components/MenuButton/index.tsx +0 -1
  173. package/src/components/MenuButton/menu-button.scss +0 -16
@@ -48,7 +48,7 @@ export type AvatarProps = CommonProps<'disabled'> & {
48
48
  * When provided the image will be displayed instead of the icon or initials.
49
49
  *
50
50
  * @example
51
- * /profile.jpg
51
+ * /avatar-01.png
52
52
  */
53
53
  image?: string;
54
54
  /**
@@ -76,7 +76,7 @@ export type AvatarProps = CommonProps<'disabled'> & {
76
76
  * <Avatar
77
77
  * color="blue"
78
78
  * icon={<SvgPerson />}
79
- * image="/profile.jpg"
79
+ * image="/avatar-01.png"
80
80
  * initials="AR"
81
81
  * name="Andre Giant"
82
82
  * showTooltip
@@ -90,5 +90,5 @@ export type AvatarProps = CommonProps<'disabled'> & {
90
90
  * @name Avatar
91
91
  * @phase UXReview
92
92
  */
93
- export declare function Avatar({ initials: initialsProp, color, size, showIcon, image, name: ariaLabel, hideTooltip, onClick, disabled, ...props }: AvatarProps): import("react/jsx-runtime").JSX.Element | null;
93
+ export declare function Avatar({ initials: initialsProp, color, size, showIcon, image, name, hideTooltip, onClick, disabled, ...props }: AvatarProps): import("react/jsx-runtime").JSX.Element | null;
94
94
  /** Copyright 2025 Anywhere Real Estate - CC BY 4.0 */
@@ -15,7 +15,7 @@ import { Tooltip } from '../Tooltip';
15
15
  * <Avatar
16
16
  * color="blue"
17
17
  * icon={<SvgPerson />}
18
- * image="/profile.jpg"
18
+ * image="/avatar-01.png"
19
19
  * initials="AR"
20
20
  * name="Andre Giant"
21
21
  * showTooltip
@@ -29,15 +29,15 @@ import { Tooltip } from '../Tooltip';
29
29
  * @name Avatar
30
30
  * @phase UXReview
31
31
  */
32
- export function Avatar({ initials: initialsProp, color = 'grey', size = 'small', showIcon, image, name: ariaLabel, hideTooltip = false, onClick, disabled, ...props }) {
32
+ export function Avatar({ initials: initialsProp, color = 'grey', size = 'small', showIcon, image, name, hideTooltip = false, onClick, disabled, ...props }) {
33
33
  const children = useMemo(() => {
34
34
  if (image)
35
- return _jsx("img", { alt: ariaLabel, "aria-hidden": true, src: image });
35
+ return _jsx("img", { alt: name, "aria-hidden": true, src: image });
36
36
  if (showIcon)
37
37
  return (_jsx("span", { "aria-hidden": true, "data-icon": true, children: _jsx(SvgPerson, {}) }));
38
38
  let initials = initialsProp;
39
- if (ariaLabel && !initials)
40
- initials = ariaLabel
39
+ if (name && !initials)
40
+ initials = name
41
41
  .split(' ')
42
42
  .map((word) => word.charAt(0))
43
43
  .slice(0, 2)
@@ -46,10 +46,10 @@ export function Avatar({ initials: initialsProp, color = 'grey', size = 'small',
46
46
  if (initials)
47
47
  return (_jsx("span", { "aria-hidden": true, "data-initials": true, children: initials.slice(0, 2) }));
48
48
  return null;
49
- }, [ariaLabel, showIcon, image, initialsProp]);
49
+ }, [name, showIcon, image, initialsProp]);
50
50
  if (!children)
51
51
  return null;
52
- const avatar = (triggerProps) => (_jsx("div", { ...props, ...triggerProps, "aria-disabled": disabled || undefined, "aria-label": onClick ? ariaLabel : undefined, "aria-labelledby": onClick ? triggerProps['aria-labelledby'] : undefined, "aria-roledescription": "person", "data-bspk": "avatar", "data-color": color, "data-size": size, onClickCapture: disabled ? undefined : onClick, role: onClick ? 'button' : '', tabIndex: onClick && !disabled ? 0 : undefined, children: children }));
53
- return !hideTooltip ? _jsx(Tooltip, { label: ariaLabel, children: avatar }) : avatar({});
52
+ const avatar = (triggerProps) => (_jsx("div", { ...props, ...triggerProps, "aria-disabled": disabled || undefined, "aria-label": name, "aria-roledescription": "person", "data-bspk": "avatar", "data-color": color, "data-size": size, onClickCapture: disabled ? undefined : onClick, role: onClick ? 'button' : 'img', tabIndex: onClick && !disabled ? 0 : undefined, children: children }));
53
+ return !hideTooltip ? _jsx(Tooltip, { label: name, children: avatar }) : avatar({});
54
54
  }
55
55
  //# sourceMappingURL=Avatar.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Avatar.js","sourceRoot":"","sources":["../../../src/components/Avatar/Avatar.tsx"],"names":[],"mappings":";AAAA,OAAO,eAAe,CAAC;AACvB,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAEhC,OAAO,EAAE,OAAO,EAAuB,MAAM,sBAAsB,CAAC;AA8EpE;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,UAAU,MAAM,CAAC,EACnB,QAAQ,EAAE,YAAY,EACtB,KAAK,GAAG,MAAM,EACd,IAAI,GAAG,OAAO,EACd,QAAQ,EACR,KAAK,EACL,IAAI,EAAE,SAAS,EACf,WAAW,GAAG,KAAK,EACnB,OAAO,EACP,QAAQ,EACR,GAAG,KAAK,EACE;IACV,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,EAAE;QAC1B,IAAI,KAAK;YAAE,OAAO,cAAK,GAAG,EAAE,SAAS,iBAAe,IAAI,EAAE,GAAG,EAAE,KAAK,GAAI,CAAC;QAEzE,IAAI,QAAQ;YACR,OAAO,CACH,8BAAmB,IAAI,+BACnB,KAAC,SAAS,KAAG,GACV,CACV,CAAC;QAEN,IAAI,QAAQ,GAAG,YAAY,CAAC;QAE5B,IAAI,SAAS,IAAI,CAAC,QAAQ;YACtB,QAAQ,GAAG,SAAS;iBACf,KAAK,CAAC,GAAG,CAAC;iBACV,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;iBAC7B,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;iBACX,IAAI,CAAC,EAAE,CAAC;iBACR,WAAW,EAAE,CAAC;QAEvB,IAAI,QAAQ;YACR,OAAO,CACH,8BAAmB,IAAI,mCAClB,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,GAClB,CACV,CAAC;QAEN,OAAO,IAAI,CAAC;IAChB,CAAC,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC;IAE/C,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IAE3B,MAAM,MAAM,GAAG,CAAC,YAAiC,EAAE,EAAE,CAAC,CAClD,iBACQ,KAAK,KACL,YAAY,mBACD,QAAQ,IAAI,SAAS,gBACxB,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,qBAC1B,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,SAAS,0BACjD,QAAQ,eACnB,QAAQ,gBACN,KAAK,eACN,IAAI,EACf,cAAc,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,EAC9C,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAC7B,QAAQ,EAAE,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,YAE7C,QAAQ,GACP,CACT,CAAC;IAEF,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,KAAC,OAAO,IAAC,KAAK,EAAE,SAAS,YAAG,MAAM,GAAW,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AACrF,CAAC"}
1
+ {"version":3,"file":"Avatar.js","sourceRoot":"","sources":["../../../src/components/Avatar/Avatar.tsx"],"names":[],"mappings":";AAAA,OAAO,eAAe,CAAC;AACvB,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAEhC,OAAO,EAAE,OAAO,EAAuB,MAAM,sBAAsB,CAAC;AA8EpE;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,UAAU,MAAM,CAAC,EACnB,QAAQ,EAAE,YAAY,EACtB,KAAK,GAAG,MAAM,EACd,IAAI,GAAG,OAAO,EACd,QAAQ,EACR,KAAK,EACL,IAAI,EACJ,WAAW,GAAG,KAAK,EACnB,OAAO,EACP,QAAQ,EACR,GAAG,KAAK,EACE;IACV,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,EAAE;QAC1B,IAAI,KAAK;YAAE,OAAO,cAAK,GAAG,EAAE,IAAI,iBAAe,IAAI,EAAE,GAAG,EAAE,KAAK,GAAI,CAAC;QAEpE,IAAI,QAAQ;YACR,OAAO,CACH,8BAAmB,IAAI,+BACnB,KAAC,SAAS,KAAG,GACV,CACV,CAAC;QAEN,IAAI,QAAQ,GAAG,YAAY,CAAC;QAE5B,IAAI,IAAI,IAAI,CAAC,QAAQ;YACjB,QAAQ,GAAG,IAAI;iBACV,KAAK,CAAC,GAAG,CAAC;iBACV,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;iBAC7B,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;iBACX,IAAI,CAAC,EAAE,CAAC;iBACR,WAAW,EAAE,CAAC;QAEvB,IAAI,QAAQ;YACR,OAAO,CACH,8BAAmB,IAAI,mCAClB,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,GAClB,CACV,CAAC;QAEN,OAAO,IAAI,CAAC;IAChB,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC;IAE1C,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IAE3B,MAAM,MAAM,GAAG,CAAC,YAAiC,EAAE,EAAE,CAAC,CAClD,iBACQ,KAAK,KACL,YAAY,mBACD,QAAQ,IAAI,SAAS,gBACxB,IAAI,0BACK,QAAQ,eACnB,QAAQ,gBACN,KAAK,eACN,IAAI,EACf,cAAc,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,EAC9C,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,EAChC,QAAQ,EAAE,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,YAE7C,QAAQ,GACP,CACT,CAAC;IAEF,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,KAAC,OAAO,IAAC,KAAK,EAAE,IAAI,YAAG,MAAM,GAAW,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAChF,CAAC"}
@@ -38,7 +38,7 @@ export const presets = [
38
38
  label: 'With Image',
39
39
  propState: {
40
40
  name: 'Andre Giant',
41
- image: '/profile.jpg',
41
+ image: '/avatar-01.png',
42
42
  showIcon: false,
43
43
  },
44
44
  },
@@ -1 +1 @@
1
- {"version":3,"file":"AvatarExample.js","sourceRoot":"","sources":["../../../src/components/Avatar/AvatarExample.tsx"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,OAAO,GAA0B;IAC1C;QACI,KAAK,EAAE,WAAW;QAClB,SAAS,EAAE;YACP,IAAI,EAAE,aAAa;YACnB,KAAK,EAAE,SAAS,EAAE,yBAAyB;YAC3C,QAAQ,EAAE,SAAS,EAAE,6BAA6B;YAClD,QAAQ,EAAE,KAAK;SAClB;KACJ;IACD;QACI,KAAK,EAAE,eAAe;QACtB,SAAS,EAAE;YACP,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,SAAS,EAAE,yBAAyB;YAC3C,QAAQ,EAAE,SAAS,EAAE,6BAA6B;YAClD,QAAQ,EAAE,KAAK;SAClB;KACJ;IACD;QACI,KAAK,EAAE,eAAe;QACtB,SAAS,EAAE;YACP,IAAI,EAAE,iBAAiB;YACvB,QAAQ,EAAE,IAAI;YACd,KAAK,EAAE,SAAS,EAAE,yBAAyB;YAC3C,QAAQ,EAAE,KAAK;SAClB;KACJ;IACD;QACI,KAAK,EAAE,WAAW;QAClB,SAAS,EAAE;YACP,IAAI,EAAE,aAAa;YACnB,QAAQ,EAAE,IAAI;YACd,KAAK,EAAE,SAAS,EAAE,yBAAyB;SAC9C;KACJ;IACD;QACI,KAAK,EAAE,YAAY;QACnB,SAAS,EAAE;YACP,IAAI,EAAE,aAAa;YACnB,KAAK,EAAE,cAAc;YACrB,QAAQ,EAAE,KAAK;SAClB;KACJ;CACJ,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAkC;IACxD,OAAO;CACV,CAAC"}
1
+ {"version":3,"file":"AvatarExample.js","sourceRoot":"","sources":["../../../src/components/Avatar/AvatarExample.tsx"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,OAAO,GAA0B;IAC1C;QACI,KAAK,EAAE,WAAW;QAClB,SAAS,EAAE;YACP,IAAI,EAAE,aAAa;YACnB,KAAK,EAAE,SAAS,EAAE,yBAAyB;YAC3C,QAAQ,EAAE,SAAS,EAAE,6BAA6B;YAClD,QAAQ,EAAE,KAAK;SAClB;KACJ;IACD;QACI,KAAK,EAAE,eAAe;QACtB,SAAS,EAAE;YACP,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,SAAS,EAAE,yBAAyB;YAC3C,QAAQ,EAAE,SAAS,EAAE,6BAA6B;YAClD,QAAQ,EAAE,KAAK;SAClB;KACJ;IACD;QACI,KAAK,EAAE,eAAe;QACtB,SAAS,EAAE;YACP,IAAI,EAAE,iBAAiB;YACvB,QAAQ,EAAE,IAAI;YACd,KAAK,EAAE,SAAS,EAAE,yBAAyB;YAC3C,QAAQ,EAAE,KAAK;SAClB;KACJ;IACD;QACI,KAAK,EAAE,WAAW;QAClB,SAAS,EAAE;YACP,IAAI,EAAE,aAAa;YACnB,QAAQ,EAAE,IAAI;YACd,KAAK,EAAE,SAAS,EAAE,yBAAyB;SAC9C;KACJ;IACD;QACI,KAAK,EAAE,YAAY;QACnB,SAAS,EAAE;YACP,IAAI,EAAE,aAAa;YACnB,KAAK,EAAE,gBAAgB;YACvB,QAAQ,EAAE,KAAK;SAClB;KACJ;CACJ,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAkC;IACxD,OAAO;CACV,CAAC"}
@@ -1,8 +1,11 @@
1
1
  [data-bspk=avatar] {
2
+ /*!
3
+ --avatar-border: is set via inline style
4
+ */
2
5
  --height: var(--spacing-sizing-10);
3
6
  --font: var(--labels-base);
4
7
  --svg-size: var(--spacing-sizing-10);
5
- border: unset;
8
+ border: var(--avatar-border);
6
9
  display: flex;
7
10
  flex-direction: column;
8
11
  justify-content: center;
@@ -107,6 +110,7 @@
107
110
  }
108
111
  [data-bspk=avatar]:focus:not(:active) {
109
112
  outline: 2px solid var(--stroke-neutral-focus);
113
+ outline-offset: -2px;
110
114
  }
111
115
 
112
116
  /** Copyright 2025 Anywhere Real Estate - CC BY 4.0 */
@@ -2,10 +2,13 @@
2
2
  * Do not edit this file directly. */
3
3
  const style = document.createElement('style');
4
4
  style.appendChild(document.createTextNode(`[data-bspk=avatar] {
5
+ /*!
6
+ --avatar-border: is set via inline style
7
+ */
5
8
  --height: var(--spacing-sizing-10);
6
9
  --font: var(--labels-base);
7
10
  --svg-size: var(--spacing-sizing-10);
8
- border: unset;
11
+ border: var(--avatar-border);
9
12
  display: flex;
10
13
  flex-direction: column;
11
14
  justify-content: center;
@@ -110,6 +113,7 @@ style.appendChild(document.createTextNode(`[data-bspk=avatar] {
110
113
  }
111
114
  [data-bspk=avatar]:focus:not(:active) {
112
115
  outline: 2px solid var(--stroke-neutral-focus);
116
+ outline-offset: -2px;
113
117
  }
114
118
 
115
119
  /** Copyright 2025 Anywhere Real Estate - CC BY 4.0 */
@@ -1,13 +1,14 @@
1
1
  import './avatar-group.scss';
2
2
  import { AvatarProps, SizeVariant } from '-/components/Avatar';
3
+ import { CommonProps } from '-/types/common';
3
4
  export type AvatarItem = Pick<AvatarProps, 'color' | 'image' | 'initials' | 'name' | 'showIcon'>;
4
- export type AvatarGroupProps = {
5
+ export type AvatarGroupProps = CommonProps<'style'> & {
5
6
  /**
6
7
  * The avatars to display in the group.
7
8
  *
8
9
  * @example
9
10
  * [
10
- * { name: 'Fezzik', image: '/profile.jpg' },
11
+ * { name: 'Fezzik', image: '/avatar-01.png' },
11
12
  * { name: 'Inigo Montoya', initials: 'IM', color: 'blue' },
12
13
  * { name: 'Miracle Max', initials: 'MM', color: 'green' },
13
14
  * { name: 'Princess Buttercup', showIcon: true },
@@ -22,19 +23,23 @@ export type AvatarGroupProps = {
22
23
  *
23
24
  * @default small
24
25
  */
25
- size?: Extract<SizeVariant, 'large' | 'medium' | 'small' | 'x-small'>;
26
+ size?: SizeVariant;
26
27
  /**
27
- * The maximum number of avatars to display before showing the overflowCount.
28
+ * The maximum number of avatars to display before showing the overflow menu.
28
29
  *
29
30
  * This is used to limit the number of avatars displayed in the group.
30
31
  *
31
32
  * Recommended to set this to a value between 3 and 5 for optimal display.
33
+ *
34
+ * @default 5
35
+ * @min 1
36
+ * @max 5
32
37
  */
33
38
  max?: number;
34
39
  /**
35
40
  * The variant of the avatar group.
36
41
  *
37
- * @default spread
42
+ * @default auto
38
43
  */
39
44
  variant?: 'spread' | 'stacked';
40
45
  };
@@ -59,4 +64,4 @@ export type AvatarGroupProps = {
59
64
  * @name AvatarGroup
60
65
  * @phase UXReview
61
66
  */
62
- export declare function AvatarGroup({ items, size, max, variant }: AvatarGroupProps): import("react/jsx-runtime").JSX.Element | null;
67
+ export declare function AvatarGroup({ items, size, max: maxProp, variant, style }: AvatarGroupProps): import("react/jsx-runtime").JSX.Element | null;
@@ -1,5 +1,6 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import './avatar-group.css.js';
3
+ import { AvatarGroupOverflow } from './Overflow';
3
4
  import { Avatar } from '../Avatar';
4
5
  /**
5
6
  * AvatarGroup component displays a group of avatars.
@@ -22,11 +23,9 @@ import { Avatar } from '../Avatar';
22
23
  * @name AvatarGroup
23
24
  * @phase UXReview
24
25
  */
25
- export function AvatarGroup({ items, size = 'small', max = 5, variant }) {
26
- if (!Array.isArray(items) || !items?.length)
27
- return null;
28
- const overFlowCount = items.length - max;
29
- const small = size === 'x-small' || size === 'small';
30
- return (_jsx("div", { "data-bspk": "avatar-group", "data-max": max, "data-size": size, "data-variant": variant, children: _jsxs("div", { "data-gap": variant === 'spread' ? (small ? '01' : '02') : undefined, "data-wrap": true, children: [items.slice(0, max).map((item, index) => (_jsx(Avatar, { "data-stacked": variant === 'stacked' ? (small ? '01' : '02') : undefined, ...item, size: size }, index))), overFlowCount > 0 && (_jsx("div", { "aria-hidden": true, "data-bspk": "avatar", "data-color": "white", "data-size": size, children: _jsxs("span", { "data-overflow-count": true, children: ["+", overFlowCount] }) }))] }) }));
26
+ export function AvatarGroup({ items, size = 'small', max: maxProp = 5, variant = 'spread', style }) {
27
+ const max = maxProp > items.length ? items.length : maxProp;
28
+ const overflowItems = items.slice(max);
29
+ return !Array.isArray(items) || !items?.length ? null : (_jsx("div", { "data-bspk": "avatar-group", "data-max": max, "data-size": size, "data-variant": variant, style: style, children: _jsxs("div", { "data-wrap": true, children: [items.slice(0, max).map((item, index) => (_jsx(Avatar, { ...item, onClick: () => { }, size: size }, index))), overflowItems.length > 0 && (_jsx(AvatarGroupOverflow, { items: overflowItems, overflow: overflowItems.length, size: size }))] }) }));
31
30
  }
32
31
  //# sourceMappingURL=AvatarGroup.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AvatarGroup.js","sourceRoot":"","sources":["../../../src/components/AvatarGroup/AvatarGroup.tsx"],"names":[],"mappings":";AAAA,OAAO,qBAAqB,CAAC;AAC7B,OAAO,EAAE,MAAM,EAA4B,MAAM,qBAAqB,CAAC;AA0CvE;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,WAAW,CAAC,EAAE,KAAK,EAAE,IAAI,GAAG,OAAO,EAAE,GAAG,GAAG,CAAC,EAAE,OAAO,EAAoB;IACrF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM;QAAE,OAAO,IAAI,CAAC;IAEzD,MAAM,aAAa,GAAG,KAAK,CAAC,MAAM,GAAG,GAAG,CAAC;IACzC,MAAM,KAAK,GAAG,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,OAAO,CAAC;IAErD,OAAO,CACH,2BAAe,cAAc,cAAW,GAAG,eAAa,IAAI,kBAAgB,OAAO,YAC/E,2BAAe,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,gCAClE,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CACtC,KAAC,MAAM,oBACW,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,KAEnE,IAAI,EACR,IAAI,EAAE,IAAI,IAFL,KAAK,CAGZ,CACL,CAAC,EAED,aAAa,GAAG,CAAC,IAAI,CAClB,gDAA2B,QAAQ,gBAAY,OAAO,eAAY,IAAI,YAClE,6DAA4B,aAAa,IAAQ,GAC/C,CACT,IACC,GACJ,CACT,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"AvatarGroup.js","sourceRoot":"","sources":["../../../src/components/AvatarGroup/AvatarGroup.tsx"],"names":[],"mappings":";AAAA,OAAO,qBAAqB,CAAC;AAC7B,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,MAAM,EAA4B,MAAM,qBAAqB,CAAC;AA+CvE;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,WAAW,CAAC,EAAE,KAAK,EAAE,IAAI,GAAG,OAAO,EAAE,GAAG,EAAE,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,QAAQ,EAAE,KAAK,EAAoB;IAChH,MAAM,GAAG,GAAG,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;IAC5D,MAAM,aAAa,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAEvC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CACpD,2BAAe,cAAc,cAAW,GAAG,eAAa,IAAI,kBAAgB,OAAO,EAAE,KAAK,EAAE,KAAK,YAC7F,6CACK,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CACtC,KAAC,MAAM,OAAiB,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,IAAI,EAAE,IAAI,IAA9C,KAAK,CAA6C,CAClE,CAAC,EACD,aAAa,CAAC,MAAM,GAAG,CAAC,IAAI,CACzB,KAAC,mBAAmB,IAAC,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,aAAa,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,GAAI,CAC5F,IACC,GACJ,CACT,CAAC;AACN,CAAC"}
@@ -1,37 +1,64 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
1
2
  import { COLOR_VARIANTS } from '../../utils/colorVariants';
2
3
  const BLUE = COLOR_VARIANTS[4];
3
4
  const GREEN = COLOR_VARIANTS[5];
4
- const GREY = COLOR_VARIANTS[0];
5
5
  const PURPLE = COLOR_VARIANTS[10];
6
6
  export const presets = [
7
7
  {
8
8
  label: 'Stacked',
9
9
  propState: {
10
10
  items: [
11
- { name: 'Fezzik', image: '/profile.jpg' },
11
+ { name: 'Fezzik', image: '/avatar-01.png' },
12
12
  { name: 'Inigo Montoya', initials: 'IM', color: BLUE },
13
13
  { name: 'Miracle Max', initials: 'MM', showIcon: false, color: GREEN },
14
14
  { name: 'Princess Buttercup', showIcon: true, color: PURPLE },
15
15
  ],
16
16
  variant: 'stacked',
17
+ max: 10,
17
18
  },
18
19
  },
19
20
  {
20
- label: 'Stacked + Overflow',
21
+ label: 'Stacked With Overflow',
21
22
  propState: {
22
23
  items: [
23
- { name: 'Fezzik', image: '/profile.jpg' },
24
- { name: 'Inigo Montoya', initials: 'IM', color: BLUE },
25
- { name: 'Miracle Max', initials: 'MM', showIcon: false, color: GREEN },
26
- { name: 'Westley Man In Black', initials: 'WB', color: GREY },
27
- { name: 'Princess Buttercup', showIcon: true, color: PURPLE },
24
+ {
25
+ name: 'Alice Johnson',
26
+ image: '/avatar-01.png',
27
+ },
28
+ {
29
+ name: 'Bob Smith',
30
+ image: '/avatar-02.png',
31
+ },
32
+ {
33
+ name: 'Charlie Brown',
34
+ image: '/avatar-03.png',
35
+ },
36
+ {
37
+ name: 'David Wilson',
38
+ image: '/avatar-04.png',
39
+ },
40
+ {
41
+ name: 'Eva Green',
42
+ image: '/avatar-05.png',
43
+ },
44
+ { name: 'Frank Miller', image: '/avatar-06.png' },
45
+ { name: 'Grace Lee', image: '/avatar-07.png' },
46
+ { name: 'Hannah Kim', image: '/avatar-08.png' },
47
+ { name: 'Ian Clark', image: '/avatar-09.png' },
48
+ { name: 'Julia Adams', image: '/avatar-10.png' },
49
+ { name: 'Katherine Johnson', image: '/avatar-11.png' },
28
50
  ],
29
- max: 3,
30
51
  variant: 'stacked',
52
+ max: 5,
31
53
  },
32
54
  },
33
55
  ];
34
56
  export const AvatarGroupExample = {
35
57
  presets,
58
+ defaultState: {
59
+ variant: 'spread',
60
+ },
61
+ render: ({ props, Component, preset }) => _jsx(Component, { ...props }, preset?.label),
62
+ variants: false,
36
63
  };
37
64
  //# sourceMappingURL=AvatarGroupExample.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AvatarGroupExample.js","sourceRoot":"","sources":["../../../src/components/AvatarGroup/AvatarGroupExample.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAGvD,MAAM,IAAI,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;AAC/B,MAAM,KAAK,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;AAChC,MAAM,IAAI,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;AAC/B,MAAM,MAAM,GAAG,cAAc,CAAC,EAAE,CAAC,CAAC;AAElC,MAAM,CAAC,MAAM,OAAO,GAA+B;IAC/C;QACI,KAAK,EAAE,SAAS;QAChB,SAAS,EAAE;YACP,KAAK,EAAE;gBACH,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,cAAc,EAAE;gBACzC,EAAE,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;gBACtD,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE;gBACtE,EAAE,IAAI,EAAE,oBAAoB,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE;aAChE;YACD,OAAO,EAAE,SAAwC;SACpD;KACJ;IACD;QACI,KAAK,EAAE,oBAAoB;QAC3B,SAAS,EAAE;YACP,KAAK,EAAE;gBACH,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,cAAc,EAAE;gBACzC,EAAE,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;gBACtD,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE;gBACtE,EAAE,IAAI,EAAE,sBAAsB,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;gBAC7D,EAAE,IAAI,EAAE,oBAAoB,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE;aAChE;YACD,GAAG,EAAE,CAAC;YACN,OAAO,EAAE,SAAwC;SACpD;KACJ;CACJ,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAuC;IAClE,OAAO;CACV,CAAC"}
1
+ {"version":3,"file":"AvatarGroupExample.js","sourceRoot":"","sources":["../../../src/components/AvatarGroup/AvatarGroupExample.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAGvD,MAAM,IAAI,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;AAC/B,MAAM,KAAK,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;AAChC,MAAM,MAAM,GAAG,cAAc,CAAC,EAAE,CAAC,CAAC;AAElC,MAAM,CAAC,MAAM,OAAO,GAA+B;IAC/C;QACI,KAAK,EAAE,SAAS;QAChB,SAAS,EAAE;YACP,KAAK,EAAE;gBACH,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,gBAAgB,EAAE;gBAC3C,EAAE,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;gBACtD,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE;gBACtE,EAAE,IAAI,EAAE,oBAAoB,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE;aAChE;YACD,OAAO,EAAE,SAAwC;YACjD,GAAG,EAAE,EAAE;SACV;KACJ;IACD;QACI,KAAK,EAAE,uBAAuB;QAC9B,SAAS,EAAE;YACP,KAAK,EAAE;gBACH;oBACI,IAAI,EAAE,eAAe;oBACrB,KAAK,EAAE,gBAAgB;iBAC1B;gBACD;oBACI,IAAI,EAAE,WAAW;oBACjB,KAAK,EAAE,gBAAgB;iBAC1B;gBACD;oBACI,IAAI,EAAE,eAAe;oBACrB,KAAK,EAAE,gBAAgB;iBAC1B;gBACD;oBACI,IAAI,EAAE,cAAc;oBACpB,KAAK,EAAE,gBAAgB;iBAC1B;gBACD;oBACI,IAAI,EAAE,WAAW;oBACjB,KAAK,EAAE,gBAAgB;iBAC1B;gBACD,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,gBAAgB,EAAE;gBACjD,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,gBAAgB,EAAE;gBAC9C,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,gBAAgB,EAAE;gBAC/C,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,gBAAgB,EAAE;gBAC9C,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,gBAAgB,EAAE;gBAChD,EAAE,IAAI,EAAE,mBAAmB,EAAE,KAAK,EAAE,gBAAgB,EAAE;aACzD;YACD,OAAO,EAAE,SAAwC;YACjD,GAAG,EAAE,CAAC;SACT;KACJ;CACJ,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAuC;IAClE,OAAO;IACP,YAAY,EAAE;QACV,OAAO,EAAE,QAAQ;KACpB;IACD,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,KAAC,SAAS,OAAyB,KAAK,IAAxB,MAAM,EAAE,KAAK,CAAe;IACtF,QAAQ,EAAE,KAAK;CAClB,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { AvatarProps, SizeVariant } from '-/components/Avatar';
2
+ type AvatarGroupOverflowProps = {
3
+ /** The number of overflow avatars */
4
+ overflow: number;
5
+ /** The size of the avatar group */
6
+ size: SizeVariant;
7
+ /** The avatars in the overflow */
8
+ items: AvatarProps[];
9
+ };
10
+ export declare function AvatarGroupOverflow({ items: itemsProp, overflow, size }: AvatarGroupOverflowProps): import("react/jsx-runtime").JSX.Element;
11
+ export {};
@@ -0,0 +1,37 @@
1
+ import { jsxs as _jsxs, jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { Avatar } from '../Avatar';
3
+ import { ListItem } from '../ListItem';
4
+ import { Menu } from '../Menu';
5
+ import { Portal } from '../Portal';
6
+ import { useArrowNavigation } from '../../hooks/useArrowNavigation';
7
+ import { useFloating } from '../../hooks/useFloating';
8
+ import { useOutsideClick } from '../../hooks/useOutsideClick';
9
+ import { handleKeyDown } from '../../utils/handleKeyDown';
10
+ import { scrollListItemsStyle } from '../../utils/scrollListItemsStyle';
11
+ import { useIds } from '../../utils/useIds';
12
+ export function AvatarGroupOverflow({ items: itemsProp, overflow, size }) {
13
+ const items = useIds(`avatar-overflow`, itemsProp);
14
+ const menuId = `avatar-overflow-menu-${items[0]?.id}`;
15
+ const { activeElementId, setActiveElementId, arrowKeyCallbacks } = useArrowNavigation({
16
+ ids: items.map((i) => i.id),
17
+ });
18
+ const closeMenu = () => setActiveElementId(null);
19
+ const open = Boolean(activeElementId);
20
+ const { elements, floatingStyles } = useFloating({
21
+ hide: !open,
22
+ offsetOptions: 4,
23
+ refWidth: false,
24
+ });
25
+ useOutsideClick({
26
+ elements: [elements.floating, elements.reference],
27
+ callback: () => closeMenu(),
28
+ disabled: !open,
29
+ });
30
+ return (_jsxs(_Fragment, { children: [_jsx("button", { "aria-activedescendant": activeElementId || undefined, "aria-controls": open ? menuId : undefined, "aria-expanded": open, "aria-haspopup": "menu", "aria-hidden": true, "aria-label": `Show ${overflow} more avatar${overflow > 1 ? 's' : ''}`, "data-bspk": "avatar", "data-bspk-owner": "avatar-overflow", "data-size": size, onBlur: () => closeMenu(), onClick: () => setActiveElementId(activeElementId === null ? items[0]?.id : null), onKeyDown: handleKeyDown(arrowKeyCallbacks), ref: elements.setReference, role: "combobox", children: _jsxs("span", { "data-overflow-count": true, children: ["+", overflow] }) }), open && (_jsx(Portal, { children: _jsx(Menu, { id: menuId, innerRef: elements.setFloating, role: "menu", style: {
31
+ ...floatingStyles,
32
+ ...scrollListItemsStyle(5, items.length),
33
+ '--list-item-height': `var(--spacing-sizing-12)`,
34
+ paddingRight: 'var(--spacing-sizing-04)',
35
+ }, width: "fit-content", children: items.map((item, index) => (_jsx(ListItem, { active: activeElementId === item.id, label: item.name, leading: _jsx(Avatar, { ...item, hideTooltip: true, size: "small" }) }, index))) }) }))] }));
36
+ }
37
+ //# sourceMappingURL=Overflow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Overflow.js","sourceRoot":"","sources":["../../../src/components/AvatarGroup/Overflow.tsx"],"names":[],"mappings":"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"}
@@ -1,23 +1,37 @@
1
1
  [data-bspk=avatar-group] {
2
- width: 100%;
2
+ width: fit-content;
3
+ max-width: 100%;
4
+ display: flex;
5
+ flex-direction: row;
6
+ align-items: center;
7
+ justify-content: center;
3
8
  }
4
9
  [data-bspk=avatar-group] [data-wrap] {
5
- width: 100%;
10
+ min-width: fit-content;
6
11
  display: flex;
7
12
  flex-direction: row;
8
- align-items: end;
9
- justify-content: end;
10
- overflow: hidden;
13
+ align-items: center;
14
+ justify-content: center;
15
+ }
16
+ [data-bspk=avatar-group] [data-bspk=avatar] {
17
+ z-index: 1;
18
+ }
19
+ [data-bspk=avatar-group] [data-bspk=avatar]:hover {
20
+ z-index: 2;
21
+ }
22
+ [data-bspk=avatar-group] [data-bspk=avatar][data-bspk-owner=avatar-overflow] {
23
+ --avatar-border: solid 1px var(--stroke-neutral-low);
24
+ background-color: var(--surface-neutral-t1-base);
11
25
  }
12
- [data-bspk=avatar-group] [data-gap="01"] {
13
- gap: var(--spacing-sizing-01);
26
+ [data-bspk=avatar-group][data-variant=spread] {
27
+ --avatar-border: none;
14
28
  }
15
- [data-bspk=avatar-group] [data-gap="02"] {
16
- gap: var(--spacing-sizing-02);
29
+ [data-bspk=avatar-group][data-variant=spread] [data-bspk=avatar] + [data-bspk=avatar] {
30
+ margin-left: var(--spacing-sizing-02);
17
31
  }
18
- [data-bspk=avatar-group] [data-stacked="02"]:not(:last-child) {
19
- margin-right: -8px;
32
+ [data-bspk=avatar-group][data-variant=stacked] {
33
+ --avatar-border: solid 1px var(--stroke-neutral-low);
20
34
  }
21
- [data-bspk=avatar-group] [data-stacked="01"]:not(:last-child) {
22
- margin-right: -4px;
35
+ [data-bspk=avatar-group][data-variant=stacked] [data-bspk=avatar] + [data-bspk=avatar] {
36
+ margin-left: calc(var(--spacing-sizing-02) * -1);
23
37
  }
@@ -2,27 +2,41 @@
2
2
  * Do not edit this file directly. */
3
3
  const style = document.createElement('style');
4
4
  style.appendChild(document.createTextNode(`[data-bspk=avatar-group] {
5
- width: 100%;
5
+ width: fit-content;
6
+ max-width: 100%;
7
+ display: flex;
8
+ flex-direction: row;
9
+ align-items: center;
10
+ justify-content: center;
6
11
  }
7
12
  [data-bspk=avatar-group] [data-wrap] {
8
- width: 100%;
13
+ min-width: fit-content;
9
14
  display: flex;
10
15
  flex-direction: row;
11
- align-items: end;
12
- justify-content: end;
13
- overflow: hidden;
16
+ align-items: center;
17
+ justify-content: center;
18
+ }
19
+ [data-bspk=avatar-group] [data-bspk=avatar] {
20
+ z-index: 1;
21
+ }
22
+ [data-bspk=avatar-group] [data-bspk=avatar]:hover {
23
+ z-index: 2;
24
+ }
25
+ [data-bspk=avatar-group] [data-bspk=avatar][data-bspk-owner=avatar-overflow] {
26
+ --avatar-border: solid 1px var(--stroke-neutral-low);
27
+ background-color: var(--surface-neutral-t1-base);
14
28
  }
15
- [data-bspk=avatar-group] [data-gap="01"] {
16
- gap: var(--spacing-sizing-01);
29
+ [data-bspk=avatar-group][data-variant=spread] {
30
+ --avatar-border: none;
17
31
  }
18
- [data-bspk=avatar-group] [data-gap="02"] {
19
- gap: var(--spacing-sizing-02);
32
+ [data-bspk=avatar-group][data-variant=spread] [data-bspk=avatar] + [data-bspk=avatar] {
33
+ margin-left: var(--spacing-sizing-02);
20
34
  }
21
- [data-bspk=avatar-group] [data-stacked="02"]:not(:last-child) {
22
- margin-right: -8px;
35
+ [data-bspk=avatar-group][data-variant=stacked] {
36
+ --avatar-border: solid 1px var(--stroke-neutral-low);
23
37
  }
24
- [data-bspk=avatar-group] [data-stacked="01"]:not(:last-child) {
25
- margin-right: -4px;
38
+ [data-bspk=avatar-group][data-variant=stacked] [data-bspk=avatar] + [data-bspk=avatar] {
39
+ margin-left: calc(var(--spacing-sizing-02) * -1);
26
40
  }
27
41
  `));
28
42
  document.head.appendChild(style);
@@ -2,7 +2,7 @@ import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { Avatar } from '../Avatar';
3
3
  export const BadgeExample = {
4
4
  render: ({ props, Component }) => {
5
- return (_jsx(Component, { ...props, children: _jsx(Avatar, { image: "/profile.jpg", name: "Andre Giant" }) }));
5
+ return (_jsx(Component, { ...props, children: _jsx(Avatar, { image: "/avatar-01.png", name: "Andre Giant" }) }));
6
6
  },
7
7
  containerStyle: { width: '100%' },
8
8
  variants: {
@@ -1 +1 @@
1
- {"version":3,"file":"BadgeExample.js","sourceRoot":"","sources":["../../../src/components/Badge/BadgeExample.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAG7C,MAAM,CAAC,MAAM,YAAY,GAAiC;IACtD,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE;QAC7B,OAAO,CACH,KAAC,SAAS,OAAK,KAAK,YAChB,KAAC,MAAM,IAAC,KAAK,EAAC,cAAc,EAAC,IAAI,EAAC,aAAa,GAAG,GAC1C,CACf,CAAC;IACN,CAAC;IACD,cAAc,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE;IACjC,QAAQ,EAAE;QACN,aAAa,EAAE,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,CAAC,SAAS,EAAE,WAAW,CAAC,EAAE,EAAE;QAC/D,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE;KAC7C;CACJ,CAAC"}
1
+ {"version":3,"file":"BadgeExample.js","sourceRoot":"","sources":["../../../src/components/Badge/BadgeExample.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAG7C,MAAM,CAAC,MAAM,YAAY,GAAiC;IACtD,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE;QAC7B,OAAO,CACH,KAAC,SAAS,OAAK,KAAK,YAChB,KAAC,MAAM,IAAC,KAAK,EAAC,gBAAgB,EAAC,IAAI,EAAC,aAAa,GAAG,GAC5C,CACf,CAAC;IACN,CAAC;IACD,cAAc,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE;IACjC,QAAQ,EAAE;QACN,aAAa,EAAE,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,CAAC,SAAS,EAAE,WAAW,CAAC,EAAE,EAAE;QAC/D,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE;KAC7C;CACJ,CAAC"}
@@ -6,7 +6,7 @@ export const BadgeDotExample = {
6
6
  defaultState: {},
7
7
  disableProps: [],
8
8
  render: ({ props, Component }) => {
9
- return (_jsx(Component, { ...props, children: props.outline === true ? (_jsx(Button, { label: "Button", size: "large" })) : (_jsx(Avatar, { image: "/profile.jpg", name: "Andre Giant" })) }));
9
+ return (_jsx(Component, { ...props, children: props.outline === true ? (_jsx(Button, { label: "Button", size: "large" })) : (_jsx(Avatar, { image: "/avatar-01.png", name: "Andre Giant" })) }));
10
10
  },
11
11
  sections: [],
12
12
  variants: {
@@ -1 +1 @@
1
- {"version":3,"file":"BadgeDotExample.js","sourceRoot":"","sources":["../../../src/components/BadgeDot/BadgeDotExample.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAG7C,MAAM,CAAC,MAAM,eAAe,GAAoC;IAC5D,cAAc,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE;IACjC,YAAY,EAAE,EAAE;IAChB,YAAY,EAAE,EAAE;IAChB,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE;QAC7B,OAAO,CACH,KAAC,SAAS,OAAK,KAAK,YACf,KAAK,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,CACtB,KAAC,MAAM,IAAC,KAAK,EAAC,QAAQ,EAAC,IAAI,EAAC,OAAO,GAAG,CACzC,CAAC,CAAC,CAAC,CACA,KAAC,MAAM,IAAC,KAAK,EAAC,cAAc,EAAC,IAAI,EAAC,aAAa,GAAG,CACrD,GACO,CACf,CAAC;IACN,CAAC;IACD,QAAQ,EAAE,EAAE;IACZ,QAAQ,EAAE;QACN,OAAO,EAAE,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE;KACjD;CACJ,CAAC"}
1
+ {"version":3,"file":"BadgeDotExample.js","sourceRoot":"","sources":["../../../src/components/BadgeDot/BadgeDotExample.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAG7C,MAAM,CAAC,MAAM,eAAe,GAAoC;IAC5D,cAAc,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE;IACjC,YAAY,EAAE,EAAE;IAChB,YAAY,EAAE,EAAE;IAChB,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE;QAC7B,OAAO,CACH,KAAC,SAAS,OAAK,KAAK,YACf,KAAK,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,CACtB,KAAC,MAAM,IAAC,KAAK,EAAC,QAAQ,EAAC,IAAI,EAAC,OAAO,GAAG,CACzC,CAAC,CAAC,CAAC,CACA,KAAC,MAAM,IAAC,KAAK,EAAC,gBAAgB,EAAC,IAAI,EAAC,aAAa,GAAG,CACvD,GACO,CACf,CAAC;IACN,CAAC;IACD,QAAQ,EAAE,EAAE;IACZ,QAAQ,EAAE;QACN,OAAO,EAAE,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE;KACjD;CACJ,CAAC"}
@@ -2,7 +2,7 @@ import './button.scss';
2
2
  import { AriaAttributes, ElementType, ReactNode } from 'react';
3
3
  import { ButtonSize, CommonProps, ElementProps, SetRef } from '-/types/common';
4
4
  export type ButtonVariant = 'primary' | 'secondary' | 'tertiary';
5
- export type ButtonProps<As extends ElementType = 'button'> = CommonProps<'disabled' | 'owner'> & {
5
+ export type ButtonProps<As extends ElementType = ElementType> = CommonProps<'disabled' | 'owner'> & {
6
6
  /**
7
7
  * The label of the button.
8
8
  *
@@ -94,5 +94,5 @@ export type ButtonProps<As extends ElementType = 'button'> = CommonProps<'disabl
94
94
  * @name Button
95
95
  * @phase UXReview
96
96
  */
97
- export declare function Button<As extends ElementType = 'button'>(props: AriaAttributes & ElementProps<ButtonProps<As>, As>): JSX.Element;
97
+ export declare function Button<As extends ElementType = ElementType>(props: AriaAttributes & ElementProps<ButtonProps<As>, As>): JSX.Element;
98
98
  /** Copyright 2025 Anywhere Real Estate - CC BY 4.0 */
@@ -1,5 +1,6 @@
1
1
  import './card.scss';
2
2
  import { ReactNode } from 'react';
3
+ import { ElementProps } from '-/types/common';
3
4
  export type CardProps = {
4
5
  /**
5
6
  * The content of the card.
@@ -36,5 +37,5 @@ export type CardProps = {
36
37
  * @name Card
37
38
  * @phase UXReview
38
39
  */
39
- export declare function Card({ children, variant }: CardProps): import("react/jsx-runtime").JSX.Element;
40
+ export declare function Card({ children, variant, ...props }: ElementProps<CardProps, 'div'>): import("react/jsx-runtime").JSX.Element;
40
41
  /** Copyright 2025 Anywhere Real Estate - CC BY 4.0 */
@@ -22,7 +22,7 @@ import './card.css.js';
22
22
  * @name Card
23
23
  * @phase UXReview
24
24
  */
25
- export function Card({ children, variant = 'elevated' }) {
26
- return (_jsx("div", { "data-bspk": "card", "data-variant": variant, children: children }));
25
+ export function Card({ children, variant = 'elevated', ...props }) {
26
+ return (_jsx("div", { ...props, "data-bspk": "card", "data-variant": variant, children: children }));
27
27
  }
28
28
  //# sourceMappingURL=Card.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Card.js","sourceRoot":"","sources":["../../../src/components/Card/Card.tsx"],"names":[],"mappings":";AAAA,OAAO,aAAa,CAAC;AAkBrB;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,IAAI,CAAC,EAAE,QAAQ,EAAE,OAAO,GAAG,UAAU,EAAa;IAC9D,OAAO,CACH,2BAAe,MAAM,kBAAe,OAAO,YACtC,QAAQ,GACP,CACT,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"Card.js","sourceRoot":"","sources":["../../../src/components/Card/Card.tsx"],"names":[],"mappings":";AAAA,OAAO,aAAa,CAAC;AAmBrB;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,IAAI,CAAC,EAAE,QAAQ,EAAE,OAAO,GAAG,UAAU,EAAE,GAAG,KAAK,EAAkC;IAC7F,OAAO,CACH,iBAAS,KAAK,eAAY,MAAM,kBAAe,OAAO,YACjD,QAAQ,GACP,CACT,CAAC;AACN,CAAC"}
@@ -34,7 +34,7 @@ export type CheckboxGroupProps = FieldControlProps<string[]> & {
34
34
  * import { CheckboxGroup } from '@bspk/ui/CheckboxGroup';
35
35
  *
36
36
  * function Example() {
37
- * const [values, setValues] = React.useState<string[]>([]);
37
+ * const [value, setValue] = React.useState<string[]>([]);
38
38
  *
39
39
  * return (
40
40
  * <CheckboxGroup
@@ -45,9 +45,9 @@ export type CheckboxGroupProps = FieldControlProps<string[]> & {
45
45
  * { label: 'Option 2', value: 'option2' },
46
46
  * { label: 'Option 3', value: 'option3' },
47
47
  * ]}
48
- * values={values}
49
- * onChange={(nextValues: string[]) => {
50
- * setValues(nextValues);
48
+ * value={value}
49
+ * onChange={(nextValue: string[]) => {
50
+ * setValue(nextValue);
51
51
  * }}
52
52
  * />
53
53
  * );
@@ -11,7 +11,7 @@ const ALL_LABEL = 'All';
11
11
  * import { CheckboxGroup } from '@bspk/ui/CheckboxGroup';
12
12
  *
13
13
  * function Example() {
14
- * const [values, setValues] = React.useState<string[]>([]);
14
+ * const [value, setValue] = React.useState<string[]>([]);
15
15
  *
16
16
  * return (
17
17
  * <CheckboxGroup
@@ -22,9 +22,9 @@ const ALL_LABEL = 'All';
22
22
  * { label: 'Option 2', value: 'option2' },
23
23
  * { label: 'Option 3', value: 'option3' },
24
24
  * ]}
25
- * values={values}
26
- * onChange={(nextValues: string[]) => {
27
- * setValues(nextValues);
25
+ * value={value}
26
+ * onChange={(nextValue: string[]) => {
27
+ * setValue(nextValue);
28
28
  * }}
29
29
  * />
30
30
  * );
@@ -11,5 +11,5 @@ export type CheckboxGroupFieldProps = FormFieldControlProps<CheckboxGroupProps>;
11
11
  *
12
12
  * @generated
13
13
  */
14
- export declare function CheckboxGroupField({ label, helperText, labelTrailing, errorMessage, ...controlProps }: CheckboxGroupFieldProps): import("react/jsx-runtime").JSX.Element;
14
+ export declare function CheckboxGroupField({ label, helperText, labelTrailing, errorMessage, style, ...controlProps }: CheckboxGroupFieldProps): import("react/jsx-runtime").JSX.Element;
15
15
  /** Copyright 2025 Anywhere Real Estate - CC BY 4.0 */