@coopdigital/react 1.7.2 → 1.8.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.
@@ -52,7 +52,7 @@ interface DialogHeaderProps extends HTMLAttributes<HTMLDivElement> {
52
52
  *
53
53
  * Default: `true`
54
54
  */
55
- close?: boolean;
55
+ closeButton?: boolean;
56
56
  }
57
57
  interface DialogBodyProps extends HTMLAttributes<HTMLDivElement> {
58
58
  /** **(Optional)** Content inside the Dialog Body. */
@@ -66,7 +66,7 @@ declare const Dialog: {
66
66
  name: string;
67
67
  };
68
68
  Header: {
69
- ({ children, className, close, ...props }: DialogHeaderProps): JSX.Element;
69
+ ({ children, className, closeButton, ...props }: DialogHeaderProps): JSX.Element;
70
70
  slot: {
71
71
  name: string;
72
72
  };
@@ -79,7 +79,7 @@ declare const Dialog: {
79
79
  };
80
80
  };
81
81
  declare const DialogHeader: {
82
- ({ children, className, close, ...props }: DialogHeaderProps): JSX.Element;
82
+ ({ children, className, closeButton, ...props }: DialogHeaderProps): JSX.Element;
83
83
  slot: {
84
84
  name: string;
85
85
  };
@@ -85,13 +85,13 @@ const Dialog = ({ children, className, closedBy = "any", label, mode = "dialog",
85
85
  onToggle === null || onToggle === void 0 ? void 0 : onToggle(e);
86
86
  }, ref: mergeRefs(dialogRef, ref), children: children }) }));
87
87
  };
88
- const DialogHeader = ({ children, className, close = true, ...props }) => {
88
+ const DialogHeader = ({ children, className, closeButton = true, ...props }) => {
89
89
  const componentProps = {
90
90
  className: clsx("coop-dialog--header", !hasUserBg(className) && "bg-tint-grey", className),
91
91
  ...props,
92
92
  };
93
93
  const dialog = useDialog();
94
- return (jsxs("div", { ...componentProps, children: [children, close && (jsxs("button", { "aria-label": "Close", className: "coop-dialog--close", onClick: () => { var _a, _b; return (_b = (_a = dialog.ref) === null || _a === void 0 ? void 0 : _a.current) === null || _b === void 0 ? void 0 : _b.close(); }, children: ["Close ", jsx(CrossIcon, { role: "presentation" })] }))] }));
94
+ return (jsxs("div", { ...componentProps, children: [children, closeButton && (jsxs("button", { "aria-label": "Close", className: "coop-dialog--close", onClick: () => { var _a, _b; return (_b = (_a = dialog.ref) === null || _a === void 0 ? void 0 : _a.current) === null || _b === void 0 ? void 0 : _b.close(); }, children: ["Close ", jsx(CrossIcon, { role: "presentation" })] }))] }));
95
95
  };
96
96
  const DialogBody = ({ children, className, ...props }) => {
97
97
  const componentProps = {
@@ -0,0 +1,17 @@
1
+ import type { SVGProps } from "react";
2
+ export interface LogoProps extends SVGProps<SVGSVGElement> {
3
+ /** **(Optional)** Specify the Logo alternative text. */
4
+ alt?: string;
5
+ /** **(Optional)** Specify additional CSS classes to be applied to the component. */
6
+ className?: string;
7
+ /** **(Optional)** Specify the Logo fill color.
8
+ *
9
+ * Default: brand-blue. */
10
+ fill?: "white" | "black" | "brand-blue";
11
+ /** **(Optional)** Specify the Logo height. */
12
+ height?: number;
13
+ /** **(Optional)** Specify the Logo width. */
14
+ width?: number;
15
+ }
16
+ export declare const Logo: ({ alt, className, fill, height, id, ref, width, ...props }: LogoProps) => import("react").JSX.Element;
17
+ export default Logo;
@@ -0,0 +1,4 @@
1
+ import Logo from "./Logo";
2
+ export default Logo;
3
+ export { Logo };
4
+ export * from "./Logo";
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@coopdigital/react",
3
3
  "type": "module",
4
- "version": "1.7.2",
4
+ "version": "1.8.0",
5
5
  "private": false,
6
6
  "publishConfig": {
7
7
  "access": "public"
@@ -100,11 +100,11 @@
100
100
  "storybook": "$storybook"
101
101
  },
102
102
  "dependencies": {
103
- "@coopdigital/styles": "^1.4.0",
103
+ "@coopdigital/styles": "^1.5.0",
104
104
  "@radix-ui/react-popover": "^1.1.17",
105
105
  "clsx": "^2.1.1",
106
106
  "merge-refs": "^2.0.0",
107
107
  "react-day-picker": "^10.0.1"
108
108
  },
109
- "gitHead": "fac26ca73996e358b231786d2af24deff41558ff"
109
+ "gitHead": "6a99f896553ea4541e8337bfa290d1838853a242"
110
110
  }
@@ -84,7 +84,7 @@ interface DialogHeaderProps extends HTMLAttributes<HTMLDivElement> {
84
84
  *
85
85
  * Default: `true`
86
86
  */
87
- close?: boolean
87
+ closeButton?: boolean
88
88
  }
89
89
  interface DialogBodyProps extends HTMLAttributes<HTMLDivElement> {
90
90
  /** **(Optional)** Content inside the Dialog Body. */
@@ -211,7 +211,7 @@ const Dialog = ({
211
211
  const DialogHeader = ({
212
212
  children,
213
213
  className,
214
- close = true,
214
+ closeButton = true,
215
215
  ...props
216
216
  }: DialogHeaderProps): JSX.Element => {
217
217
  const componentProps = {
@@ -224,7 +224,7 @@ const DialogHeader = ({
224
224
  return (
225
225
  <div {...componentProps}>
226
226
  {children}
227
- {close && (
227
+ {closeButton && (
228
228
  <button
229
229
  aria-label="Close"
230
230
  className="coop-dialog--close"
@@ -0,0 +1,49 @@
1
+ import type { SVGProps } from "react"
2
+
3
+ import clsx from "clsx"
4
+ export interface LogoProps extends SVGProps<SVGSVGElement> {
5
+ /** **(Optional)** Specify the Logo alternative text. */
6
+ alt?: string
7
+ /** **(Optional)** Specify additional CSS classes to be applied to the component. */
8
+ className?: string
9
+ /** **(Optional)** Specify the Logo fill color.
10
+ *
11
+ * Default: brand-blue. */
12
+ fill?: "white" | "black" | "brand-blue"
13
+ /** **(Optional)** Specify the Logo height. */
14
+ height?: number
15
+ /** **(Optional)** Specify the Logo width. */
16
+ width?: number
17
+ }
18
+
19
+ export const Logo = ({
20
+ alt = "Co-op",
21
+ className,
22
+ fill = "brand-blue",
23
+ height,
24
+ id,
25
+ ref,
26
+ width,
27
+ ...props
28
+ }: LogoProps) => {
29
+ const componentProps = {
30
+ alt,
31
+ className: clsx("coop-logo", className),
32
+ fill: fill === "brand-blue" ? undefined : `var(--color-${fill})`,
33
+ height,
34
+ id,
35
+ role: "img",
36
+ viewBox: "0 0 38 40",
37
+ width,
38
+ ...props,
39
+ }
40
+
41
+ return (
42
+ <svg {...componentProps} ref={ref}>
43
+ <title>{alt}</title>
44
+ <path d="M37.8 8.8c0-1.4-.2-2.8-.6-4.2-.5-1.7-1.8-3-3.4-3.7a14.9 14.9 0 0 0-10.2 0c-1.7.6-2.9 2-3.4 3.7-.8 2.8-.8 5.7 0 8.5.5 1.7 1.8 3 3.4 3.7 1.6.6 3.4.9 5.1.8 1.7 0 3.5-.3 5.1-.8 1.7-.6 2.9-2 3.4-3.7.4-1.5.6-2.9.6-4.3zm-5.5 0c0 .7-.1 1.4-.3 2-.3.9-1 1.6-2 1.8-.9.2-1.8.2-2.6 0-.9-.2-1.7-.8-2-1.8-.4-1.3-.4-2.8 0-4.1.3-.9 1-1.6 2-1.8.9-.2 1.8-.2 2.6 0 .9.2 1.7.8 2 1.8.2.7.3 1.4.3 2.1m-14.6 23c.8-2.8.8-5.7 0-8.5-.5-1.7-1.8-3-3.4-3.7a14.9 14.9 0 0 0-10.2 0c-1.7.6-2.9 2-3.4 3.7-.8 2.8-.8 5.7 0 8.5.5 1.7 1.8 3 3.4 3.7 3.3 1.2 6.9 1.2 10.2 0 1.6-.6 2.9-2 3.4-3.7m-4.9-4.2c0 .7-.1 1.4-.3 2-.3.9-1 1.6-2 1.8-.9.2-1.8.2-2.6 0-.9-.2-1.7-.8-2-1.8-.4-1.4-.4-2.8 0-4.1.3-.9 1-1.6 2-1.8.9-.2 1.8-.2 2.6 0 .9.2 1.7.8 2 1.8.2.7.3 1.4.3 2.1m0-18.9h5.5c0-1.4-.2-2.8-.6-4.2-.5-1.7-1.8-3-3.4-3.7C11-.3 7.4-.3 4.1.9c-1.7.6-2.9 2-3.4 3.7-.8 2.8-.8 5.7 0 8.5.5 1.7 1.8 3 3.4 3.7 1.6.6 3.4.8 5.1.8s3.5-.3 5.1-.8c1.7-.6 2.9-2 3.4-3.7.1-.2.1-.5.2-.7L12.7 10c-.1.3-.1.6-.2.9-.3.9-1 1.6-2 1.8-.9.2-1.8.2-2.6 0-.9-.2-1.7-.8-2-1.8-.4-1.4-.4-2.9 0-4.2.3-.9 1-1.6 2-1.8.9-.2 1.8-.2 2.6 0 .9.2 1.7.8 2 1.8.2.7.3 1.3.3 2m7.4 14.6c-.4 1.4-.6 2.8-.6 4.2V40h5.5V27.6c0-.7.1-1.4.3-2 .3-.9 1-1.6 2-1.8.9-.2 1.8-.2 2.6 0 .9.2 1.7.8 2 1.8.4 1.4.4 2.8 0 4.1-.3.9-1 1.6-1.9 1.8-.9.2-1.8.2-2.6 0-.2-.1-.4-.1-.5-.2l1.9 5.1c1.7 0 3.5-.3 5.1-.8 1.7-.6 2.9-2 3.4-3.7.8-2.8.8-5.7 0-8.5-.5-1.7-1.8-3-3.4-3.7a14.9 14.9 0 0 0-10.2 0c-1.9.6-3.1 2-3.6 3.6"></path>
45
+ </svg>
46
+ )
47
+ }
48
+
49
+ export default Logo
@@ -0,0 +1,5 @@
1
+ import Logo from "./Logo"
2
+
3
+ export default Logo
4
+ export { Logo }
5
+ export * from "./Logo"