@coopdigital/react 1.20.0 → 1.21.1

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 (153) hide show
  1. package/dist/components/AlertBanner/AlertBanner.d.ts +2 -2
  2. package/dist/components/Author/Author.d.ts +2 -2
  3. package/dist/components/Button/Button.d.ts +2 -2
  4. package/dist/components/Card/Card.d.ts +2 -2
  5. package/dist/components/Checkbox/Checkbox.d.ts +2 -2
  6. package/dist/components/DatePicker/DatePicker.d.ts +2 -2
  7. package/dist/components/DatePicker/datepicker-utils.d.ts +2 -3
  8. package/dist/components/Dialog/Dialog.d.ts +2 -2
  9. package/dist/components/Expandable/Expandable.d.ts +2 -2
  10. package/dist/components/FieldMarkers/Error.d.ts +2 -3
  11. package/dist/components/FieldMarkers/Hint.d.ts +2 -3
  12. package/dist/components/FieldMarkers/Label.d.ts +2 -3
  13. package/dist/components/FieldMarkers/Legend.d.ts +2 -3
  14. package/dist/components/Fieldset/Fieldset.d.ts +2 -2
  15. package/dist/components/Flourish/Flourish.d.ts +2 -2
  16. package/dist/components/Form/Form.d.ts +2 -2
  17. package/dist/components/Image/Image.d.ts +2 -2
  18. package/dist/components/LoadingSpinner/LoadingSpinner.d.ts +3 -3
  19. package/dist/components/Logo/Logo.d.ts +3 -3
  20. package/dist/components/PasswordInput/PasswordInput.d.ts +2 -2
  21. package/dist/components/Picture/Picture.d.ts +3 -3
  22. package/dist/components/Pill/Pill.d.ts +2 -2
  23. package/dist/components/Prose/Prose.d.ts +3 -3
  24. package/dist/components/Radio/Radio.d.ts +2 -2
  25. package/dist/components/Searchbox/Searchbox.d.ts +2 -2
  26. package/dist/components/Select/Select.d.ts +2 -2
  27. package/dist/components/Signpost/Signpost.d.ts +2 -2
  28. package/dist/components/SkipNav/SkipNav.d.ts +2 -2
  29. package/dist/components/Squircle/Squircle.d.ts +9 -5
  30. package/dist/components/Squircle/Squircle.js +35 -5
  31. package/dist/components/Squircle/index.d.ts +2 -2
  32. package/dist/components/Tag/Tag.d.ts +2 -2
  33. package/dist/components/TextInput/TextInput.d.ts +2 -2
  34. package/dist/components/Textarea/Textarea.d.ts +2 -2
  35. package/dist/components/ValidationSummary/ValidationSummary.d.ts +2 -2
  36. package/dist/components/icons/AccountCircleFilledIcon.d.ts +2 -3
  37. package/dist/components/icons/AccountCircleIcon.d.ts +2 -3
  38. package/dist/components/icons/AccountFilledIcon.d.ts +2 -3
  39. package/dist/components/icons/AccountIcon.d.ts +2 -3
  40. package/dist/components/icons/AddIcon.d.ts +2 -3
  41. package/dist/components/icons/AppsFilledIcon.d.ts +2 -3
  42. package/dist/components/icons/AppsIcon.d.ts +2 -3
  43. package/dist/components/icons/ArrowDownIcon.d.ts +2 -3
  44. package/dist/components/icons/ArrowLeftIcon.d.ts +2 -3
  45. package/dist/components/icons/ArrowRightIcon.d.ts +2 -3
  46. package/dist/components/icons/ArrowUpIcon.d.ts +2 -3
  47. package/dist/components/icons/BackspaceFilledIcon.d.ts +2 -3
  48. package/dist/components/icons/BackspaceIcon.d.ts +2 -3
  49. package/dist/components/icons/BasketFilledIcon.d.ts +2 -3
  50. package/dist/components/icons/BasketIcon.d.ts +2 -3
  51. package/dist/components/icons/BellFilledIcon.d.ts +2 -3
  52. package/dist/components/icons/BellIcon.d.ts +2 -3
  53. package/dist/components/icons/BroomIcon.d.ts +2 -3
  54. package/dist/components/icons/CalendarFilledIcon.d.ts +2 -3
  55. package/dist/components/icons/CalendarIcon.d.ts +2 -3
  56. package/dist/components/icons/CashFilledIcon.d.ts +2 -3
  57. package/dist/components/icons/CashIcon.d.ts +2 -3
  58. package/dist/components/icons/ChevronDownIcon.d.ts +2 -3
  59. package/dist/components/icons/ChevronLeftIcon.d.ts +2 -3
  60. package/dist/components/icons/ChevronRightIcon.d.ts +2 -3
  61. package/dist/components/icons/ChevronUpIcon.d.ts +2 -3
  62. package/dist/components/icons/CircleBurgerFilledIcon.d.ts +2 -3
  63. package/dist/components/icons/CircleBurgerIcon.d.ts +2 -3
  64. package/dist/components/icons/ClipboardFilledIcon.d.ts +2 -3
  65. package/dist/components/icons/ClipboardIcon.d.ts +2 -3
  66. package/dist/components/icons/ClockFilledIcon.d.ts +2 -3
  67. package/dist/components/icons/ClockIcon.d.ts +2 -3
  68. package/dist/components/icons/CloseAltFilledIcon.d.ts +2 -3
  69. package/dist/components/icons/CloseAltIcon.d.ts +2 -3
  70. package/dist/components/icons/CogIcon.d.ts +2 -3
  71. package/dist/components/icons/CommunityFilledIcon.d.ts +2 -3
  72. package/dist/components/icons/CommunityIcon.d.ts +2 -3
  73. package/dist/components/icons/ComputerIcon.d.ts +2 -3
  74. package/dist/components/icons/ContactFilledIcon.d.ts +2 -3
  75. package/dist/components/icons/ContactIcon.d.ts +2 -3
  76. package/dist/components/icons/ContactlessFilledIcon.d.ts +2 -3
  77. package/dist/components/icons/ContactlessIcon.d.ts +2 -3
  78. package/dist/components/icons/CoopLiveIcon.d.ts +2 -3
  79. package/dist/components/icons/CoopLocationFilledIcon.d.ts +2 -3
  80. package/dist/components/icons/CoopLogoIcon.d.ts +2 -3
  81. package/dist/components/icons/CoopMembershipCardFilledIcon.d.ts +2 -3
  82. package/dist/components/icons/CreditCardFilledIcon.d.ts +2 -3
  83. package/dist/components/icons/CreditCardIcon.d.ts +2 -3
  84. package/dist/components/icons/CrossIcon.d.ts +2 -3
  85. package/dist/components/icons/DocumentIcon.d.ts +2 -3
  86. package/dist/components/icons/DownloadIcon.d.ts +2 -3
  87. package/dist/components/icons/EnterStoreIcon.d.ts +2 -3
  88. package/dist/components/icons/ExitStoreIcon.d.ts +2 -3
  89. package/dist/components/icons/EyeFilledIcon.d.ts +2 -3
  90. package/dist/components/icons/EyeIcon.d.ts +2 -3
  91. package/dist/components/icons/EyeStrikeFilledIcon.d.ts +2 -3
  92. package/dist/components/icons/EyeStrikeIcon.d.ts +2 -3
  93. package/dist/components/icons/FeedbackFilledIcon.d.ts +2 -3
  94. package/dist/components/icons/FeedbackIcon.d.ts +2 -3
  95. package/dist/components/icons/FilterIcon.d.ts +2 -3
  96. package/dist/components/icons/GiftCardFilledIcon.d.ts +2 -3
  97. package/dist/components/icons/GiftCardIcon.d.ts +2 -3
  98. package/dist/components/icons/GiftFilledIcon.d.ts +2 -3
  99. package/dist/components/icons/GiftIcon.d.ts +2 -3
  100. package/dist/components/icons/HelpFilledIcon.d.ts +2 -3
  101. package/dist/components/icons/HelpIcon.d.ts +2 -3
  102. package/dist/components/icons/HomeFilledIcon.d.ts +2 -3
  103. package/dist/components/icons/HomeIcon.d.ts +2 -3
  104. package/dist/components/icons/HowDoIAssistantIcon.d.ts +2 -3
  105. package/dist/components/icons/InfoIcon.d.ts +2 -3
  106. package/dist/components/icons/KebabIcon.d.ts +2 -3
  107. package/dist/components/icons/LoadingIcon.d.ts +2 -3
  108. package/dist/components/icons/LocationFilledIcon.d.ts +2 -3
  109. package/dist/components/icons/LocationIcon.d.ts +2 -3
  110. package/dist/components/icons/LogoutIcon.d.ts +2 -3
  111. package/dist/components/icons/MailIcon.d.ts +2 -3
  112. package/dist/components/icons/MenuIcon.d.ts +2 -3
  113. package/dist/components/icons/MessageIcon.d.ts +2 -3
  114. package/dist/components/icons/MinusIcon.d.ts +2 -3
  115. package/dist/components/icons/NotesFilledIcon.d.ts +2 -3
  116. package/dist/components/icons/NotesIcon.d.ts +2 -3
  117. package/dist/components/icons/OpenNewIcon.d.ts +2 -3
  118. package/dist/components/icons/OwnBagIcon.d.ts +2 -3
  119. package/dist/components/icons/PadlockIcon.d.ts +2 -3
  120. package/dist/components/icons/PencilIcon.d.ts +2 -3
  121. package/dist/components/icons/PhoneIcon.d.ts +2 -3
  122. package/dist/components/icons/PowerIcon.d.ts +2 -3
  123. package/dist/components/icons/SaveFilledIcon.d.ts +2 -3
  124. package/dist/components/icons/SaveIcon.d.ts +2 -3
  125. package/dist/components/icons/ScooterIcon.d.ts +2 -3
  126. package/dist/components/icons/SearchFilledIcon.d.ts +2 -3
  127. package/dist/components/icons/SearchIcon.d.ts +2 -3
  128. package/dist/components/icons/SendIcon.d.ts +2 -3
  129. package/dist/components/icons/SpannerIcon.d.ts +2 -3
  130. package/dist/components/icons/StarFilledIcon.d.ts +2 -3
  131. package/dist/components/icons/StarIcon.d.ts +2 -3
  132. package/dist/components/icons/TickAltFilledIcon.d.ts +2 -3
  133. package/dist/components/icons/TickAltIcon.d.ts +2 -3
  134. package/dist/components/icons/TickIcon.d.ts +2 -3
  135. package/dist/components/icons/TruckIcon.d.ts +2 -3
  136. package/dist/components/icons/UserWipeIcon.d.ts +2 -3
  137. package/dist/components/icons/VoucherFilledIcon.d.ts +2 -3
  138. package/dist/components/icons/VoucherIcon.d.ts +2 -3
  139. package/dist/components/icons/WarningCircleFilledIcon.d.ts +2 -3
  140. package/dist/components/icons/WarningCircleIcon.d.ts +2 -3
  141. package/dist/components/icons/WarningFilledIcon.d.ts +2 -3
  142. package/dist/components/icons/WarningIcon.d.ts +2 -3
  143. package/dist/components/icons/WifiIcon.d.ts +2 -3
  144. package/dist/components/icons/WriteIcon.d.ts +2 -3
  145. package/dist/hooks/useDebounce.d.ts +2 -3
  146. package/dist/hooks/useId.d.ts +3 -4
  147. package/dist/hooks/useSlots.d.ts +2 -3
  148. package/dist/index.d.ts +2 -2
  149. package/dist/types/colors.d.ts +8 -9
  150. package/dist/types/index.d.ts +2 -3
  151. package/dist/utils/index.d.ts +6 -7
  152. package/package.json +10 -10
  153. package/src/components/Squircle/Squircle.tsx +50 -13
@@ -1,8 +1,10 @@
1
- import type { HTMLAttributes, JSX, Ref } from "react"
1
+ import type { HTMLAttributes, JSX, Ref, SVGAttributes } from "react"
2
2
 
3
3
  import clsx from "clsx"
4
4
 
5
- import { hasUserBg } from "@/utils"
5
+ // import { useSlots } from "@/hooks"
6
+
7
+ // import { hasUserBg } from "@/utils"
6
8
 
7
9
  export interface SquircleProps extends HTMLAttributes<HTMLDivElement> {
8
10
  /** **(Optional)** Main content inside the component. It can be any valid JSX or string. */
@@ -11,30 +13,65 @@ export interface SquircleProps extends HTMLAttributes<HTMLDivElement> {
11
13
  className?: string
12
14
  /** **(Optional)** Specify a custom React ref for this component. */
13
15
  ref?: Ref<HTMLDivElement>
16
+ }
17
+
18
+ export interface SquircleSvgProps extends SVGAttributes<SVGElement> {
14
19
  /** **(Optional)** Specify the Squircle size. */
15
- size?: "sm" | "md" | "lg"
20
+ size?: string | number
16
21
  }
17
22
 
18
- const Squircle = ({
19
- children,
20
- className,
21
- ref,
22
- size = "md",
23
- ...props
24
- }: SquircleProps): JSX.Element => {
23
+ const Squircle = ({ children, className, ref, ...props }: SquircleProps): JSX.Element => {
25
24
  const componentProps = {
26
- className: clsx("coop-squircle", !hasUserBg(className) && "bg-offer", className),
27
- "data-size": size.length && size !== "md" ? size : undefined,
25
+ className: clsx("coop-squircle", className),
28
26
  ...props,
29
27
  }
30
28
 
31
29
  return (
32
30
  <figure {...componentProps} ref={ref}>
33
- <figcaption>{children}</figcaption>
31
+ {children}
34
32
  </figure>
35
33
  )
36
34
  }
37
35
 
36
+ // oxlint-disable-next-line perfectionist/sort-objects
37
+ const sizeMap = { sm: "32", md: "64", lg: "96" }
38
+
39
+ const SquircleSvg = ({ size, ...props }: SquircleSvgProps) => {
40
+ const safeSize = sizeMap[size as keyof typeof sizeMap] ?? size ?? "64"
41
+ const dimensions = {
42
+ height: safeSize,
43
+ width: safeSize,
44
+ }
45
+ return (
46
+ <svg
47
+ {...dimensions}
48
+ {...props}
49
+ aria-hidden="true"
50
+ viewBox="0 0 64 64"
51
+ xmlns="http://www.w3.org/2000/svg"
52
+ >
53
+ <path
54
+ d="M0,32 C0,10.56,10.56,0,32,0 S64,10.56,64,32 S53.44,64,32,64 S0,53.44,0,32"
55
+ vectorEffect="non-scaling-stroke"
56
+ />
57
+ </svg>
58
+ )
59
+ }
60
+
61
+ const SquircleText = ({
62
+ children,
63
+ className,
64
+ ...props
65
+ }: HTMLAttributes<HTMLDivElement>): JSX.Element => {
66
+ const componentProps = {
67
+ className,
68
+ ...props,
69
+ }
70
+ return <figcaption {...componentProps}>{children}</figcaption>
71
+ }
72
+
73
+ Squircle.Svg = SquircleSvg
74
+ Squircle.Text = SquircleText
38
75
  Squircle.slot = { name: "Squircle" }
39
76
 
40
77
  export default Squircle