@coopdigital/react 1.21.0 → 1.22.0

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 (167) 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/Box/Box.d.ts +20 -0
  4. package/dist/components/Box/Box.js +18 -0
  5. package/dist/components/Box/index.d.ts +2 -0
  6. package/dist/components/Box/index.js +5 -0
  7. package/dist/components/Button/Button.d.ts +2 -2
  8. package/dist/components/Card/Card.d.ts +3 -3
  9. package/dist/components/Checkbox/Checkbox.d.ts +2 -2
  10. package/dist/components/DatePicker/DatePicker.d.ts +2 -2
  11. package/dist/components/DatePicker/datepicker-utils.d.ts +2 -3
  12. package/dist/components/Dialog/Dialog.d.ts +2 -2
  13. package/dist/components/Expandable/Expandable.d.ts +2 -2
  14. package/dist/components/FieldMarkers/Error.d.ts +2 -3
  15. package/dist/components/FieldMarkers/Hint.d.ts +2 -3
  16. package/dist/components/FieldMarkers/Label.d.ts +2 -3
  17. package/dist/components/FieldMarkers/Legend.d.ts +2 -3
  18. package/dist/components/Fieldset/Fieldset.d.ts +2 -2
  19. package/dist/components/Flourish/Flourish.d.ts +2 -2
  20. package/dist/components/Flourish/Flourish.js +1 -1
  21. package/dist/components/Form/Form.d.ts +2 -2
  22. package/dist/components/Form/Form.js +1 -1
  23. package/dist/components/Image/Image.d.ts +2 -2
  24. package/dist/components/LoadingSpinner/LoadingSpinner.d.ts +3 -3
  25. package/dist/components/LoadingSpinner/LoadingSpinner.js +1 -1
  26. package/dist/components/Logo/Logo.d.ts +3 -3
  27. package/dist/components/PasswordInput/PasswordInput.d.ts +2 -2
  28. package/dist/components/Picture/Picture.d.ts +3 -3
  29. package/dist/components/Pill/Pill.d.ts +2 -2
  30. package/dist/components/Prose/Prose.d.ts +3 -3
  31. package/dist/components/Prose/Prose.js +1 -1
  32. package/dist/components/Radio/Radio.d.ts +2 -2
  33. package/dist/components/Searchbox/Searchbox.d.ts +3 -3
  34. package/dist/components/Select/Select.d.ts +2 -2
  35. package/dist/components/Signpost/Signpost.d.ts +2 -2
  36. package/dist/components/SkipNav/SkipNav.d.ts +2 -2
  37. package/dist/components/Squircle/Squircle.d.ts +3 -3
  38. package/dist/components/Tag/Tag.d.ts +2 -2
  39. package/dist/components/TextInput/TextInput.d.ts +2 -2
  40. package/dist/components/Textarea/Textarea.d.ts +2 -2
  41. package/dist/components/ValidationSummary/ValidationSummary.d.ts +2 -2
  42. package/dist/components/icons/AccountCircleFilledIcon.d.ts +2 -3
  43. package/dist/components/icons/AccountCircleIcon.d.ts +2 -3
  44. package/dist/components/icons/AccountFilledIcon.d.ts +2 -3
  45. package/dist/components/icons/AccountIcon.d.ts +2 -3
  46. package/dist/components/icons/AddIcon.d.ts +2 -3
  47. package/dist/components/icons/AppsFilledIcon.d.ts +2 -3
  48. package/dist/components/icons/AppsIcon.d.ts +2 -3
  49. package/dist/components/icons/ArrowDownIcon.d.ts +2 -3
  50. package/dist/components/icons/ArrowLeftIcon.d.ts +2 -3
  51. package/dist/components/icons/ArrowRightIcon.d.ts +2 -3
  52. package/dist/components/icons/ArrowUpIcon.d.ts +2 -3
  53. package/dist/components/icons/BackspaceFilledIcon.d.ts +2 -3
  54. package/dist/components/icons/BackspaceIcon.d.ts +2 -3
  55. package/dist/components/icons/BasketFilledIcon.d.ts +2 -3
  56. package/dist/components/icons/BasketIcon.d.ts +2 -3
  57. package/dist/components/icons/BellFilledIcon.d.ts +2 -3
  58. package/dist/components/icons/BellIcon.d.ts +2 -3
  59. package/dist/components/icons/BroomIcon.d.ts +2 -3
  60. package/dist/components/icons/CalendarFilledIcon.d.ts +2 -3
  61. package/dist/components/icons/CalendarIcon.d.ts +2 -3
  62. package/dist/components/icons/CashFilledIcon.d.ts +2 -3
  63. package/dist/components/icons/CashIcon.d.ts +2 -3
  64. package/dist/components/icons/ChevronDownIcon.d.ts +2 -3
  65. package/dist/components/icons/ChevronLeftIcon.d.ts +2 -3
  66. package/dist/components/icons/ChevronRightIcon.d.ts +2 -3
  67. package/dist/components/icons/ChevronUpIcon.d.ts +2 -3
  68. package/dist/components/icons/CircleBurgerFilledIcon.d.ts +2 -3
  69. package/dist/components/icons/CircleBurgerIcon.d.ts +2 -3
  70. package/dist/components/icons/ClipboardFilledIcon.d.ts +2 -3
  71. package/dist/components/icons/ClipboardIcon.d.ts +2 -3
  72. package/dist/components/icons/ClockFilledIcon.d.ts +2 -3
  73. package/dist/components/icons/ClockIcon.d.ts +2 -3
  74. package/dist/components/icons/CloseAltFilledIcon.d.ts +2 -3
  75. package/dist/components/icons/CloseAltIcon.d.ts +2 -3
  76. package/dist/components/icons/CogIcon.d.ts +2 -3
  77. package/dist/components/icons/CommunityFilledIcon.d.ts +2 -3
  78. package/dist/components/icons/CommunityIcon.d.ts +2 -3
  79. package/dist/components/icons/ComputerIcon.d.ts +2 -3
  80. package/dist/components/icons/ContactFilledIcon.d.ts +2 -3
  81. package/dist/components/icons/ContactIcon.d.ts +2 -3
  82. package/dist/components/icons/ContactlessFilledIcon.d.ts +2 -3
  83. package/dist/components/icons/ContactlessIcon.d.ts +2 -3
  84. package/dist/components/icons/CoopLiveIcon.d.ts +2 -3
  85. package/dist/components/icons/CoopLocationFilledIcon.d.ts +2 -3
  86. package/dist/components/icons/CoopLogoIcon.d.ts +2 -3
  87. package/dist/components/icons/CoopMembershipCardFilledIcon.d.ts +2 -3
  88. package/dist/components/icons/CreditCardFilledIcon.d.ts +2 -3
  89. package/dist/components/icons/CreditCardIcon.d.ts +2 -3
  90. package/dist/components/icons/CrossIcon.d.ts +2 -3
  91. package/dist/components/icons/DocumentIcon.d.ts +2 -3
  92. package/dist/components/icons/DownloadIcon.d.ts +2 -3
  93. package/dist/components/icons/EnterStoreIcon.d.ts +2 -3
  94. package/dist/components/icons/ExitStoreIcon.d.ts +2 -3
  95. package/dist/components/icons/EyeFilledIcon.d.ts +2 -3
  96. package/dist/components/icons/EyeIcon.d.ts +2 -3
  97. package/dist/components/icons/EyeStrikeFilledIcon.d.ts +2 -3
  98. package/dist/components/icons/EyeStrikeIcon.d.ts +2 -3
  99. package/dist/components/icons/FeedbackFilledIcon.d.ts +2 -3
  100. package/dist/components/icons/FeedbackIcon.d.ts +2 -3
  101. package/dist/components/icons/FilterIcon.d.ts +2 -3
  102. package/dist/components/icons/GiftCardFilledIcon.d.ts +2 -3
  103. package/dist/components/icons/GiftCardIcon.d.ts +2 -3
  104. package/dist/components/icons/GiftFilledIcon.d.ts +2 -3
  105. package/dist/components/icons/GiftIcon.d.ts +2 -3
  106. package/dist/components/icons/HelpFilledIcon.d.ts +2 -3
  107. package/dist/components/icons/HelpIcon.d.ts +2 -3
  108. package/dist/components/icons/HomeFilledIcon.d.ts +2 -3
  109. package/dist/components/icons/HomeIcon.d.ts +2 -3
  110. package/dist/components/icons/HowDoIAssistantIcon.d.ts +2 -3
  111. package/dist/components/icons/InfoIcon.d.ts +2 -3
  112. package/dist/components/icons/KebabIcon.d.ts +2 -3
  113. package/dist/components/icons/LoadingIcon.d.ts +2 -3
  114. package/dist/components/icons/LocationFilledIcon.d.ts +2 -3
  115. package/dist/components/icons/LocationIcon.d.ts +2 -3
  116. package/dist/components/icons/LogoutIcon.d.ts +2 -3
  117. package/dist/components/icons/MailIcon.d.ts +2 -3
  118. package/dist/components/icons/MenuIcon.d.ts +2 -3
  119. package/dist/components/icons/MessageIcon.d.ts +2 -3
  120. package/dist/components/icons/MinusIcon.d.ts +2 -3
  121. package/dist/components/icons/NotesFilledIcon.d.ts +2 -3
  122. package/dist/components/icons/NotesIcon.d.ts +2 -3
  123. package/dist/components/icons/OpenNewIcon.d.ts +2 -3
  124. package/dist/components/icons/OwnBagIcon.d.ts +2 -3
  125. package/dist/components/icons/PadlockIcon.d.ts +2 -3
  126. package/dist/components/icons/PencilIcon.d.ts +2 -3
  127. package/dist/components/icons/PhoneIcon.d.ts +2 -3
  128. package/dist/components/icons/PowerIcon.d.ts +2 -3
  129. package/dist/components/icons/SaveFilledIcon.d.ts +2 -3
  130. package/dist/components/icons/SaveIcon.d.ts +2 -3
  131. package/dist/components/icons/ScooterIcon.d.ts +2 -3
  132. package/dist/components/icons/SearchFilledIcon.d.ts +2 -3
  133. package/dist/components/icons/SearchIcon.d.ts +2 -3
  134. package/dist/components/icons/SendIcon.d.ts +2 -3
  135. package/dist/components/icons/SpannerIcon.d.ts +2 -3
  136. package/dist/components/icons/StarFilledIcon.d.ts +2 -3
  137. package/dist/components/icons/StarIcon.d.ts +2 -3
  138. package/dist/components/icons/TickAltFilledIcon.d.ts +2 -3
  139. package/dist/components/icons/TickAltIcon.d.ts +2 -3
  140. package/dist/components/icons/TickIcon.d.ts +2 -3
  141. package/dist/components/icons/TruckIcon.d.ts +2 -3
  142. package/dist/components/icons/UserWipeIcon.d.ts +2 -3
  143. package/dist/components/icons/VoucherFilledIcon.d.ts +2 -3
  144. package/dist/components/icons/VoucherIcon.d.ts +2 -3
  145. package/dist/components/icons/WarningCircleFilledIcon.d.ts +2 -3
  146. package/dist/components/icons/WarningCircleIcon.d.ts +2 -3
  147. package/dist/components/icons/WarningFilledIcon.d.ts +2 -3
  148. package/dist/components/icons/WarningIcon.d.ts +2 -3
  149. package/dist/components/icons/WifiIcon.d.ts +2 -3
  150. package/dist/components/icons/WriteIcon.d.ts +2 -3
  151. package/dist/hooks/useDebounce.d.ts +2 -3
  152. package/dist/hooks/useId.d.ts +3 -4
  153. package/dist/hooks/useSlots.d.ts +2 -3
  154. package/dist/index.d.ts +3 -1
  155. package/dist/index.js +2 -1
  156. package/dist/types/colors.d.ts +8 -9
  157. package/dist/types/index.d.ts +3 -3
  158. package/dist/utils/index.d.ts +6 -7
  159. package/package.json +10 -10
  160. package/src/components/Box/Box.tsx +43 -0
  161. package/src/components/Box/index.ts +5 -0
  162. package/src/components/Flourish/Flourish.tsx +1 -1
  163. package/src/components/Form/Form.tsx +1 -1
  164. package/src/components/LoadingSpinner/LoadingSpinner.tsx +1 -1
  165. package/src/components/Prose/Prose.tsx +1 -1
  166. package/src/index.ts +1 -0
  167. package/src/types/index.ts +1 -0
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@coopdigital/react",
3
3
  "type": "module",
4
- "version": "1.21.0",
4
+ "version": "1.22.0",
5
5
  "private": false,
6
6
  "publishConfig": {
7
7
  "access": "public"
@@ -65,21 +65,21 @@
65
65
  "description": "React components for the Experience Library design system",
66
66
  "devDependencies": {
67
67
  "@axe-core/playwright": "^4.13.0",
68
- "@playwright/test": "^1.62.1",
69
- "@storybook/addon-a11y": "^10.5.10",
70
- "@storybook/addon-docs": "^10.5.10",
71
- "@storybook/addon-onboarding": "^10.5.10",
72
- "@storybook/react-vite": "^10.5.10",
68
+ "@playwright/test": "^1.63.0",
69
+ "@storybook/addon-a11y": "^10.6.0",
70
+ "@storybook/addon-docs": "^10.6.0",
71
+ "@storybook/addon-onboarding": "^10.6.0",
72
+ "@storybook/react-vite": "^10.6.0",
73
73
  "@testing-library/jest-dom": "^7.0.1",
74
74
  "@testing-library/react": "^16.3.3",
75
75
  "@types/react": "^19.2.18",
76
- "@types/react-dom": "^19.2.5",
76
+ "@types/react-dom": "^19.2.7",
77
77
  "@whitespace/storybook-addon-html": "^9.0.0",
78
78
  "react": "^19.2.8",
79
79
  "react-dom": "^19.2.8",
80
80
  "resize-observer-polyfill": "^1.5.1",
81
81
  "serve": "^14.2.6",
82
- "storybook": "^10.5.10",
82
+ "storybook": "^10.6.0",
83
83
  "storybook-addon-tag-badges": "^3.1.0"
84
84
  },
85
85
  "peerDependencies": {
@@ -103,12 +103,12 @@
103
103
  "storybook": "$storybook"
104
104
  },
105
105
  "dependencies": {
106
- "@coopdigital/styles": "^1.15.0",
106
+ "@coopdigital/styles": "^1.16.0",
107
107
  "@radix-ui/react-popover": "^1.1.23",
108
108
  "clsx": "^2.1.1",
109
109
  "date-fns": "^4.4.0",
110
110
  "merge-refs": "^2.0.0",
111
111
  "react-day-picker": "^10.0.1"
112
112
  },
113
- "gitHead": "a54fd337dade28ed2d1e1f7d4d0e2cfeb7b90c9e"
113
+ "gitHead": "e4fc913bf11651d52c6dd58b6a95871a8645f384"
114
114
  }
@@ -0,0 +1,43 @@
1
+ import type { ForwardRefExoticComponent, HTMLAttributes, JSX, ReactNode, Ref } from "react"
2
+
3
+ import clsx from "clsx"
4
+ import React from "react"
5
+
6
+ import { StandardSizesWithNone } from "@/types"
7
+ export interface BoxProps extends HTMLAttributes<HTMLDivElement> {
8
+ /** **(Optional)** Specify a custom element to override default `div` */
9
+ // oxlint-disable-next-line typescript/no-explicit-any
10
+ as?: React.FC<any> | ForwardRefExoticComponent<any> | string
11
+ /** **(Optional)** Main content inside the component. It can be any valid JSX or string. */
12
+ children?: string | ReactNode
13
+ /** **(Optional)** Specify additional CSS classes to be applied to the component. */
14
+ className?: string
15
+ /** **(Optional)** Specify the Box padding. */
16
+ padding?: StandardSizesWithNone
17
+ /** **(Optional)** Specify the Box border radius. */
18
+ radius?: StandardSizesWithNone
19
+ /** **(Optional)** Specify a custom React ref for this component. */
20
+ ref?: Ref<HTMLDivElement>
21
+ }
22
+
23
+ export const Box = ({
24
+ as,
25
+ children,
26
+ className,
27
+ padding,
28
+ radius,
29
+ ref,
30
+ ...props
31
+ }: BoxProps): JSX.Element => {
32
+ const componentProps = {
33
+ className: clsx("coop-box", className),
34
+ "data-padding": padding ?? undefined,
35
+ "data-radius": radius ?? undefined,
36
+ ...props,
37
+ }
38
+ const element: BoxProps["as"] = as ?? "div"
39
+
40
+ return React.createElement(element, { ...componentProps, ref }, children)
41
+ }
42
+
43
+ export default Box
@@ -0,0 +1,5 @@
1
+ import Box from "./Box"
2
+
3
+ export default Box
4
+ export { Box }
5
+ export * from "./Box"
@@ -23,7 +23,7 @@ const Flourish = ({
23
23
  ...props
24
24
  }: FlourishProps): JSX.Element => {
25
25
  const componentProps = {
26
- className: clsx("coop-flourish ", className),
26
+ className: clsx("coop-flourish", className),
27
27
  fill: `var(--color-${fill})`,
28
28
  ...props,
29
29
  }
@@ -13,7 +13,7 @@ export interface FormProps extends FormHTMLAttributes<HTMLFormElement> {
13
13
 
14
14
  const Form = ({ children, className, ref, ...props }: FormProps): JSX.Element => {
15
15
  const componentProps = {
16
- className: clsx("coop-form ", className),
16
+ className: clsx("coop-form", className),
17
17
  ...props,
18
18
  }
19
19
 
@@ -23,7 +23,7 @@ export const LoadingSpinner = ({
23
23
  ...props
24
24
  }: LoadingSpinnerProps): JSX.Element => {
25
25
  const componentProps = {
26
- className: clsx("coop-loading-spinner ", className),
26
+ className: clsx("coop-loading-spinner", className),
27
27
  stroke,
28
28
  strokeWidth,
29
29
  ...props,
@@ -37,7 +37,7 @@ export const Prose = ({
37
37
  ...props
38
38
  }: ProseProps): JSX.Element => {
39
39
  const componentProps = {
40
- className: clsx("coop-prose ", className),
40
+ className: clsx("coop-prose", className),
41
41
  "data-full": full ?? undefined,
42
42
  "data-size": size ?? undefined,
43
43
  "data-spacing": spacing ?? undefined,
package/src/index.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  export * from "./components/AlertBanner/AlertBanner"
2
2
  export * from "./components/Author/Author"
3
+ export * from "./components/Box"
3
4
  export * from "./components/Button/Button"
4
5
  export * from "./components/Card/Card"
5
6
  export * from "./components/Checkbox/Checkbox"
@@ -1,4 +1,5 @@
1
1
  export type StandardSizes = "sm" | "md" | "lg"
2
+ export type StandardSizesWithNone = "none" | "sm" | "md" | "lg"
2
3
 
3
4
  // export type FormFieldError = { message?: string; type?: string } | boolean | null | undefined
4
5