@coopdigital/react 1.18.0 → 1.19.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 (149) hide show
  1. package/dist/components/Button/Button.js +1 -1
  2. package/dist/components/Card/Card.js +1 -1
  3. package/dist/components/Dialog/Dialog.js +1 -1
  4. package/dist/components/Expandable/Expandable.js +1 -1
  5. package/dist/components/Field/Field.js +1 -1
  6. package/dist/components/Searchbox/Searchbox.js +3 -4
  7. package/dist/components/icons/LoadingIcon.js +2 -2
  8. package/dist/components/icons/MessageIcon.js +1 -1
  9. package/dist/components/icons/OpenNewIcon.js +2 -2
  10. package/dist/components/icons/PencilIcon.js +5 -1
  11. package/dist/components/icons/SpannerIcon.js +5 -2
  12. package/dist/components/icons/WriteIcon.js +8 -10
  13. package/package.json +4 -3
  14. package/src/components/Author/Author.tsx +1 -1
  15. package/src/components/Button/Button.tsx +2 -2
  16. package/src/components/Card/Card.tsx +4 -6
  17. package/src/components/Checkbox/Checkbox.tsx +2 -2
  18. package/src/components/DatePicker/DatePicker.tsx +8 -6
  19. package/src/components/Dialog/Dialog.tsx +2 -2
  20. package/src/components/Expandable/Expandable.tsx +3 -3
  21. package/src/components/Field/Field.tsx +7 -6
  22. package/src/components/FieldMarkers/Label.tsx +1 -1
  23. package/src/components/Fieldset/Fieldset.tsx +4 -4
  24. package/src/components/Flourish/Flourish.tsx +1 -1
  25. package/src/components/LoadingSpinner/LoadingSpinner.tsx +1 -1
  26. package/src/components/PasswordInput/PasswordInput.tsx +3 -3
  27. package/src/components/Pill/Pill.tsx +3 -3
  28. package/src/components/Popover/Popover.tsx +2 -2
  29. package/src/components/Prose/Prose.tsx +1 -1
  30. package/src/components/Radio/Radio.tsx +2 -2
  31. package/src/components/Searchbox/Searchbox.context.tsx +1 -1
  32. package/src/components/Searchbox/Searchbox.tsx +9 -10
  33. package/src/components/Select/Select.tsx +2 -2
  34. package/src/components/Signpost/Signpost.tsx +2 -2
  35. package/src/components/Squircle/Squircle.tsx +2 -1
  36. package/src/components/Tag/Tag.tsx +1 -1
  37. package/src/components/TextInput/TextInput.tsx +2 -2
  38. package/src/components/Textarea/Textarea.tsx +3 -3
  39. package/src/components/ValidationSummary/ValidationSummary.tsx +5 -2
  40. package/src/components/icons/AccountCircleFilledIcon.tsx +1 -1
  41. package/src/components/icons/AccountCircleIcon.tsx +1 -1
  42. package/src/components/icons/AccountFilledIcon.tsx +1 -1
  43. package/src/components/icons/AccountIcon.tsx +1 -1
  44. package/src/components/icons/AddIcon.tsx +1 -1
  45. package/src/components/icons/AppsFilledIcon.tsx +1 -1
  46. package/src/components/icons/AppsIcon.tsx +1 -1
  47. package/src/components/icons/ArrowDownIcon.tsx +1 -1
  48. package/src/components/icons/ArrowLeftIcon.tsx +1 -1
  49. package/src/components/icons/ArrowRightIcon.tsx +1 -1
  50. package/src/components/icons/ArrowUpIcon.tsx +1 -1
  51. package/src/components/icons/BackspaceFilledIcon.tsx +1 -1
  52. package/src/components/icons/BackspaceIcon.tsx +1 -1
  53. package/src/components/icons/BasketFilledIcon.tsx +1 -1
  54. package/src/components/icons/BasketIcon.tsx +1 -1
  55. package/src/components/icons/BellFilledIcon.tsx +1 -1
  56. package/src/components/icons/BellIcon.tsx +1 -1
  57. package/src/components/icons/BroomIcon.tsx +1 -1
  58. package/src/components/icons/CalendarFilledIcon.tsx +1 -1
  59. package/src/components/icons/CalendarIcon.tsx +1 -1
  60. package/src/components/icons/CashFilledIcon.tsx +1 -1
  61. package/src/components/icons/CashIcon.tsx +1 -1
  62. package/src/components/icons/ChevronDownIcon.tsx +1 -1
  63. package/src/components/icons/ChevronLeftIcon.tsx +1 -1
  64. package/src/components/icons/ChevronRightIcon.tsx +1 -1
  65. package/src/components/icons/ChevronUpIcon.tsx +1 -1
  66. package/src/components/icons/CircleBurgerFilledIcon.tsx +1 -1
  67. package/src/components/icons/CircleBurgerIcon.tsx +1 -1
  68. package/src/components/icons/ClipboardFilledIcon.tsx +1 -1
  69. package/src/components/icons/ClipboardIcon.tsx +1 -1
  70. package/src/components/icons/ClockFilledIcon.tsx +1 -1
  71. package/src/components/icons/ClockIcon.tsx +1 -1
  72. package/src/components/icons/CloseAltFilledIcon.tsx +1 -1
  73. package/src/components/icons/CloseAltIcon.tsx +1 -1
  74. package/src/components/icons/CogIcon.tsx +1 -1
  75. package/src/components/icons/CommunityFilledIcon.tsx +1 -1
  76. package/src/components/icons/CommunityIcon.tsx +1 -1
  77. package/src/components/icons/ComputerIcon.tsx +1 -1
  78. package/src/components/icons/ContactFilledIcon.tsx +1 -1
  79. package/src/components/icons/ContactIcon.tsx +1 -1
  80. package/src/components/icons/ContactlessFilledIcon.tsx +1 -1
  81. package/src/components/icons/ContactlessIcon.tsx +1 -1
  82. package/src/components/icons/CoopLiveIcon.tsx +1 -1
  83. package/src/components/icons/CoopLocationFilledIcon.tsx +1 -1
  84. package/src/components/icons/CoopLogoIcon.tsx +1 -1
  85. package/src/components/icons/CoopMembershipCardFilledIcon.tsx +1 -1
  86. package/src/components/icons/CreditCardFilledIcon.tsx +1 -1
  87. package/src/components/icons/CreditCardIcon.tsx +1 -1
  88. package/src/components/icons/CrossIcon.tsx +1 -1
  89. package/src/components/icons/DocumentIcon.tsx +1 -1
  90. package/src/components/icons/DownloadIcon.tsx +1 -1
  91. package/src/components/icons/EnterStoreIcon.tsx +1 -1
  92. package/src/components/icons/ExitStoreIcon.tsx +1 -1
  93. package/src/components/icons/EyeFilledIcon.tsx +1 -1
  94. package/src/components/icons/EyeIcon.tsx +1 -1
  95. package/src/components/icons/EyeStrikeFilledIcon.tsx +1 -1
  96. package/src/components/icons/EyeStrikeIcon.tsx +1 -1
  97. package/src/components/icons/FeedbackFilledIcon.tsx +1 -1
  98. package/src/components/icons/FeedbackIcon.tsx +1 -1
  99. package/src/components/icons/FilterIcon.tsx +1 -1
  100. package/src/components/icons/GiftCardFilledIcon.tsx +1 -1
  101. package/src/components/icons/GiftCardIcon.tsx +1 -1
  102. package/src/components/icons/GiftFilledIcon.tsx +1 -1
  103. package/src/components/icons/GiftIcon.tsx +1 -1
  104. package/src/components/icons/HelpFilledIcon.tsx +1 -1
  105. package/src/components/icons/HelpIcon.tsx +1 -1
  106. package/src/components/icons/HomeFilledIcon.tsx +1 -1
  107. package/src/components/icons/HomeIcon.tsx +1 -1
  108. package/src/components/icons/HowDoIAssistantIcon.tsx +1 -1
  109. package/src/components/icons/InfoIcon.tsx +1 -1
  110. package/src/components/icons/KebabIcon.tsx +1 -1
  111. package/src/components/icons/LoadingIcon.tsx +3 -3
  112. package/src/components/icons/LocationFilledIcon.tsx +1 -1
  113. package/src/components/icons/LocationIcon.tsx +1 -1
  114. package/src/components/icons/LogoutIcon.tsx +1 -1
  115. package/src/components/icons/MailIcon.tsx +1 -1
  116. package/src/components/icons/MenuIcon.tsx +1 -1
  117. package/src/components/icons/MessageIcon.tsx +2 -2
  118. package/src/components/icons/MinusIcon.tsx +1 -1
  119. package/src/components/icons/NotesFilledIcon.tsx +1 -1
  120. package/src/components/icons/NotesIcon.tsx +1 -1
  121. package/src/components/icons/OpenNewIcon.tsx +3 -3
  122. package/src/components/icons/OwnBagIcon.tsx +1 -1
  123. package/src/components/icons/PadlockIcon.tsx +1 -1
  124. package/src/components/icons/PencilIcon.tsx +6 -2
  125. package/src/components/icons/PhoneIcon.tsx +1 -1
  126. package/src/components/icons/PowerIcon.tsx +1 -1
  127. package/src/components/icons/SaveFilledIcon.tsx +1 -1
  128. package/src/components/icons/SaveIcon.tsx +1 -1
  129. package/src/components/icons/ScooterIcon.tsx +1 -1
  130. package/src/components/icons/SearchFilledIcon.tsx +1 -1
  131. package/src/components/icons/SearchIcon.tsx +1 -1
  132. package/src/components/icons/SendIcon.tsx +1 -1
  133. package/src/components/icons/SpannerIcon.tsx +6 -3
  134. package/src/components/icons/StarFilledIcon.tsx +1 -1
  135. package/src/components/icons/StarIcon.tsx +1 -1
  136. package/src/components/icons/TickAltFilledIcon.tsx +1 -1
  137. package/src/components/icons/TickAltIcon.tsx +1 -1
  138. package/src/components/icons/TickIcon.tsx +1 -1
  139. package/src/components/icons/TruckIcon.tsx +1 -1
  140. package/src/components/icons/UserWipeIcon.tsx +1 -1
  141. package/src/components/icons/VoucherFilledIcon.tsx +1 -1
  142. package/src/components/icons/VoucherIcon.tsx +1 -1
  143. package/src/components/icons/WarningCircleFilledIcon.tsx +1 -1
  144. package/src/components/icons/WarningCircleIcon.tsx +1 -1
  145. package/src/components/icons/WarningFilledIcon.tsx +1 -1
  146. package/src/components/icons/WarningIcon.tsx +1 -1
  147. package/src/components/icons/WifiIcon.tsx +1 -1
  148. package/src/components/icons/WriteIcon.tsx +6 -5
  149. package/src/hooks/useSlots.ts +1 -1
@@ -1,6 +1,6 @@
1
1
  "use client";
2
- import { hasUserBg } from "../../utils/index.js";
3
2
  import { LoadingSpinner } from "../LoadingSpinner/LoadingSpinner.js";
3
+ import { hasUserBg } from "../../utils/index.js";
4
4
  import clsx from "clsx";
5
5
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
6
6
  import React, { useCallback, useState } from "react";
@@ -1,6 +1,6 @@
1
1
  import { Image } from "../Image/Image.js";
2
- import { hasUserBg } from "../../utils/index.js";
3
2
  import { ChevronRightIcon } from "../icons/ChevronRightIcon.js";
3
+ import { hasUserBg } from "../../utils/index.js";
4
4
  import { useSlots } from "../../hooks/useSlots.js";
5
5
  import clsx from "clsx";
6
6
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
@@ -1,6 +1,6 @@
1
1
  "use client";
2
- import { hasUserBg } from "../../utils/index.js";
3
2
  import { CrossIcon } from "../icons/CrossIcon.js";
3
+ import { hasUserBg } from "../../utils/index.js";
4
4
  import clsx from "clsx";
5
5
  import { jsx, jsxs } from "react/jsx-runtime";
6
6
  import { createContext, useContext, useEffect, useRef } from "react";
@@ -1,5 +1,5 @@
1
- import { hasUserBg } from "../../utils/index.js";
2
1
  import { ChevronDownIcon } from "../icons/ChevronDownIcon.js";
2
+ import { hasUserBg } from "../../utils/index.js";
3
3
  import { useSlots } from "../../hooks/useSlots.js";
4
4
  import clsx from "clsx";
5
5
  import { jsx, jsxs } from "react/jsx-runtime";
@@ -1,6 +1,6 @@
1
1
  "use client";
2
- import { getSlotProp } from "../../utils/index.js";
3
2
  import { useId as useId$1 } from "../../hooks/useId.js";
3
+ import { getSlotProp } from "../../utils/index.js";
4
4
  import { FieldContext } from "./Field.context.js";
5
5
  import { Error } from "../FieldMarkers/Error.js";
6
6
  import { Hint } from "../FieldMarkers/Hint.js";
@@ -1,12 +1,11 @@
1
1
  "use client";
2
- import { getSlotProp, hasUserBorder } from "../../utils/index.js";
3
2
  import { useId as useId$1 } from "../../hooks/useId.js";
4
3
  import { SearchIcon } from "../icons/SearchIcon.js";
4
+ import { getSlotProp, hasUserBorder } from "../../utils/index.js";
5
5
  import { Button } from "../Button/Button.js";
6
6
  import { useSlots } from "../../hooks/useSlots.js";
7
7
  import TextInput_default from "../TextInput/index.js";
8
- import { FieldLabel } from "../Field/Field.js";
9
- import Field_default from "../Field/index.js";
8
+ import { Field, FieldLabel } from "../Field/Field.js";
10
9
  import { SearchboxContext, useSearchbox } from "./Searchbox.context.js";
11
10
  import clsx from "clsx";
12
11
  import { jsx, jsxs } from "react/jsx-runtime";
@@ -60,7 +59,7 @@ const Searchbox = ({ action, children, className, id, label, labelVisible = fals
60
59
  children: label
61
60
  }), /* @__PURE__ */ jsxs("div", {
62
61
  className: clsx("coop-searchbox--inner"),
63
- children: [/* @__PURE__ */ jsx(Field_default, { children: slots.SearchboxInput }), slots.SearchboxButton]
62
+ children: [/* @__PURE__ */ jsx(Field, { children: slots.SearchboxInput }), slots.SearchboxButton]
64
63
  })]
65
64
  })
66
65
  });
@@ -11,13 +11,13 @@ const LoadingIcon = ({ alt, className, fill, id, ref, ...props }) => {
11
11
  fill: fill ?? "currentColor",
12
12
  id: uid,
13
13
  role: alt ? "img" : void 0,
14
- viewBox: "0 0 28 28",
14
+ viewBox: "0 0 32 32",
15
15
  ...props,
16
16
  ref,
17
17
  children: [alt ? /* @__PURE__ */ jsx("title", {
18
18
  id: uid + "__title",
19
19
  children: alt
20
- }) : null, /* @__PURE__ */ jsx("path", { d: "M13.001.002c.551-.039 1 .414 1 .966l-.005.102c-.052.504-.479.897-.995.94A12 12 0 0 0 2.915 9.375l-.162.414a11.998 11.998 0 0 0 15.425 15.425l.414-.162a12 12 0 0 0 5.131-4.055l.254-.364a12 12 0 0 0 1.98-5.667c.046-.55.49-.999 1.043-.999s1.004.448.964 1a14 14 0 0 1-2.323 6.778l-.296.425a14 14 0 0 1-5.987 4.732l-.483.19a14 14 0 0 1-14.401-2.866l-.373-.36a14 14 0 0 1-3.72-6.662l-.112-.506a14 14 0 0 1 .607-7.606l.19-.482a14 14 0 0 1 4.73-5.988l.426-.295a14 14 0 0 1 6.78-2.325" })]
20
+ }) : null, /* @__PURE__ */ jsx("path", { d: "M15.01 2.01c.551-.039 1 .414 1 .966l-.005.102c-.052.504-.479.897-.995.94a12 12 0 0 0-10.086 7.365l-.162.414a11.998 11.998 0 0 0 15.425 15.425l.414-.162a12 12 0 0 0 5.131-4.055l.254-.364a12 12 0 0 0 1.98-5.667c.046-.55.49-.999 1.043-.999s1.004.448.964 1a14 14 0 0 1-2.323 6.778l-.296.425a14 14 0 0 1-5.987 4.732l-.483.19a14 14 0 0 1-14.401-2.866l-.373-.36a14 14 0 0 1-3.72-6.662l-.112-.506a14 14 0 0 1 .607-7.606l.19-.482a14 14 0 0 1 4.73-5.988l.426-.295A14 14 0 0 1 15.01 2.01" })]
21
21
  });
22
22
  };
23
23
  //#endregion
@@ -17,7 +17,7 @@ const MessageIcon = ({ alt, className, fill, id, ref, ...props }) => {
17
17
  children: [alt ? /* @__PURE__ */ jsx("title", {
18
18
  id: uid + "__title",
19
19
  children: alt
20
- }) : null, /* @__PURE__ */ jsx("path", { d: "M30 31a1 1 0 0 1-.75-.34l-7.64-8.6H2a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h28a1 1 0 0 1 .71.29A1 1 0 0 1 31 2v28a1 1 0 0 1-.65.93.8.8 0 0 1-.35.07M3 20.06h19.06a1 1 0 0 1 .75.33l6.19 7V3H3Z" })]
20
+ }) : null, /* @__PURE__ */ jsx("path", { d: "M4 6v14h16.586a2 2 0 0 1 1.414.586l6 6V6zm26 20.586c0 1.782-2.154 2.674-3.414 1.414l-6-6H4a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h24a2 2 0 0 1 2 2z" })]
21
21
  });
22
22
  };
23
23
  //#endregion
@@ -19,8 +19,8 @@ const OpenNewIcon = ({ alt, className, fill, id, ref, ...props }) => {
19
19
  id: uid + "__title",
20
20
  children: alt
21
21
  }) : null,
22
- /* @__PURE__ */ jsx("path", { d: "M14.16 18.84a1 1 0 0 1-.71-.29 1 1 0 0 1 0-1.42L30 .59a1 1 0 0 1 1.41 0 1 1 0 0 1 0 1.42L14.87 18.55a1 1 0 0 1-.71.29" }),
23
- /* @__PURE__ */ jsx("path", { d: "M31 14a1 1 0 0 1-1-1V2H19a1 1 0 0 1 0-2h12a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1M24 32H2a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h11.21a1 1 0 0 1 0 2H2v22h22V18.7a1 1 0 0 1 2 0V30a2 2 0 0 1-2 2" })
22
+ /* @__PURE__ */ jsx("path", { d: "M13.733 7.875a.813.813 0 0 1 0 1.625H4.625v17.875H22.5v-9.181a.813.813 0 0 1 1.625 0v9.181A1.624 1.624 0 0 1 22.5 29H4.625A1.625 1.625 0 0 1 3 27.375V9.5a1.625 1.625 0 0 1 1.625-1.625z" }),
23
+ /* @__PURE__ */ jsx("path", { d: "M28.188 3a.813.813 0 0 1 .812.813v9.75a.813.813 0 0 1-1.625 0V5.779L15.082 18.072a.815.815 0 0 1-.889.175.814.814 0 0 1-.265-1.329l12.3-12.293h-7.79a.813.813 0 0 1 0-1.625z" })
24
24
  ]
25
25
  });
26
26
  };
@@ -17,7 +17,11 @@ const PencilIcon = ({ alt, className, fill, id, ref, ...props }) => {
17
17
  children: [alt ? /* @__PURE__ */ jsx("title", {
18
18
  id: uid + "__title",
19
19
  children: alt
20
- }) : null, /* @__PURE__ */ jsx("path", { d: "M31.7 6.12 25.88.3a1 1 0 0 0-1.4 0L1.3 23.47a.86.86 0 0 0-.3.6L0 30.9a1.14 1.14 0 0 0 .3.8.91.91 0 0 0 .7.3h.1l6.82-1a.61.61 0 0 0 .61-.3L31.7 7.52a1 1 0 0 0 0-1.4M7.22 29l-3.57.56L5.08 28a1 1 0 0 0 0-1.42 1 1 0 0 0-1.41.05L2.39 28l.52-3.29 1.91-1.91 4.12 4.52Zm3.14-3.11-4.12-4.54L25.18 2.41l4.41 4.41Z" })]
20
+ }) : null, /* @__PURE__ */ jsx("path", {
21
+ clipRule: "evenodd",
22
+ d: "M21.879 2.707a3 3 0 0 1 4.242 0l3.172 3.172a3 3 0 0 1 0 4.242L10.207 29.207a1 1 0 0 1-.565.283l-5.681.812a2 2 0 0 1-2.263-2.263l.812-5.68a1 1 0 0 1 .283-.566zM6 21.414 10.586 26l-1.558 1.557-3.7.528 1.38-1.378a1 1 0 1 0-1.415-1.414l-1.379 1.379.528-3.701zM27.88 8.707 12 24.586 7.414 20 23.293 4.121a1 1 0 0 1 1.414 0l3.172 3.172a1 1 0 0 1 0 1.414",
23
+ fillRule: "evenodd"
24
+ })]
21
25
  });
22
26
  };
23
27
  //#endregion
@@ -11,13 +11,16 @@ const SpannerIcon = ({ alt, className, fill, id, ref, ...props }) => {
11
11
  fill: fill ?? "currentColor",
12
12
  id: uid,
13
13
  role: alt ? "img" : void 0,
14
- viewBox: "0 0 24 24",
14
+ viewBox: "0 0 32 32",
15
15
  ...props,
16
16
  ref,
17
17
  children: [alt ? /* @__PURE__ */ jsx("title", {
18
18
  id: uid + "__title",
19
19
  children: alt
20
- }) : null, /* @__PURE__ */ jsx("path", { d: "M13 7.5a5.5 5.5 0 0 0-6.025-5.475l2.482 2.482c.78.78.963 1.79.858 2.603a3.6 3.6 0 0 1-1.054 2.108l-.019.017-.02.02a3.6 3.6 0 0 1-2.108 1.06c-.815.106-1.825-.076-2.607-.858L2.025 6.975A5.5 5.5 0 0 0 7.5 13v2A7.5 7.5 0 0 1 .653 4.435c.26-.577 1.008-.653 1.455-.206l3.813 3.814c.47.47 1.265.347 1.77-.09l.097-.09.04-.042.036-.036c.476-.464.657-1.256.265-1.766l-.086-.098-3.814-3.813c-.447-.447-.371-1.196.206-1.455A7.5 7.5 0 0 1 14.916 8.61c-.051.34.046.689.288.931l7.624 7.624a4 4 0 0 1-5.657 5.657l-7.62-7.619a1.08 1.08 0 0 0-.93-.287A7.4 7.4 0 0 1 7.5 15v-2q.416-.001.82-.062l.167-.021a3.07 3.07 0 0 1 2.479.871l7.619 7.62a2 2 0 0 0 2.83-2.83l-7.626-7.624c-.745-.745-.985-1.755-.85-2.643A5.4 5.4 0 0 0 13 7.5" })]
20
+ }) : null, /* @__PURE__ */ jsx("path", {
21
+ d: "M11.5 5a6.5 6.5 0 0 1 6.428 7.46 2.08 2.08 0 0 0 .568 1.787l7.625 7.624a3 3 0 0 1-4.243 4.243l-7.62-7.619a2.08 2.08 0 0 0-1.788-.568 6.5 6.5 0 0 1-6.98-8.902l3.724 3.725c.516.516 1.193.648 1.771.573a2.6 2.6 0 0 0 1.52-.764l.057-.058c.414-.403.69-.95.762-1.519.074-.577-.059-1.253-.574-1.768L9.024 5.489A6.5 6.5 0 0 1 11.5 5Z",
22
+ strokeWidth: "2"
23
+ })]
21
24
  });
22
25
  };
23
26
  //#endregion
@@ -14,16 +14,14 @@ const WriteIcon = ({ alt, className, fill, id, ref, ...props }) => {
14
14
  viewBox: "0 0 32 32",
15
15
  ...props,
16
16
  ref,
17
- children: [
18
- alt ? /* @__PURE__ */ jsx("title", {
19
- id: uid + "__title",
20
- children: alt
21
- }) : null,
22
- /* @__PURE__ */ jsx("path", { d: "M19.67 10.13 17.9 11.9H7a1 1 0 0 1 0-2h12a1 1 0 0 1 .67.23M14.9 14.9l-2 2H7a1 1 0 0 1 0-2ZM20 15.9a1 1 0 0 1-1 1h-1.87l2-2a1 1 0 0 1 .82.59.85.85 0 0 1 .05.41M19 21.9H7a1 1 0 0 1 0-2h12a1 1 0 1 1 0 2" }),
23
- /* @__PURE__ */ jsx("path", { d: "M24.08 10v20h-22V6h21.73l1.54-1.54a1.9 1.9 0 0 0-1-.44H2.07a2 2 0 0 0-2 2V30a2 2 0 0 0 2 2h22a2 2 0 0 0 2-2V8Z" }),
24
- /* @__PURE__ */ jsx("path", { d: "M30.62 3.41 28.5 1.29a1 1 0 0 0-1.42 0L22.38 6l-3.9 3.9-5 5-1.33 1.33a1 1 0 0 0-.27.48v.19l-.6 2.57a.8.8 0 0 0 0 .43 1 1 0 0 0 1.19.77l2.74-.67a.64.64 0 0 0 .29-.13.6.6 0 0 0 .19-.14l2.85-2.86 1.4-1.39L30.62 4.82a1 1 0 0 0 0-1.41M15 19.06l-2.75.63.62-2.75 6.82-6.81L23.81 6l1.54-1.54L27.79 2l2.13 2.12Z" }),
25
- /* @__PURE__ */ jsx("path", { d: "M31.33 2.7 29.21.58a2.06 2.06 0 0 0-2.83 0L11.44 15.52a2.1 2.1 0 0 0-.54 1l-.09.41-.54 2.34a2.18 2.18 0 0 0 .54 1.87 2 2 0 0 0 1.4.58 1.8 1.8 0 0 0 .46-.05l2.75-.67a2.1 2.1 0 0 0 1-.54L31.33 5.53a2 2 0 0 0 0-2.83M15 19.06l-2.75.63.62-2.75 6.82-6.81L23.81 6l1.54-1.54L27.79 2l2.13 2.12Z" })
26
- ]
17
+ children: [alt ? /* @__PURE__ */ jsx("title", {
18
+ id: uid + "__title",
19
+ children: alt
20
+ }) : null, /* @__PURE__ */ jsx("path", {
21
+ clipRule: "evenodd",
22
+ d: "M25.586 2a2 2 0 0 1 2.828 0L30 3.585a2 2 0 0 1 0 2.828l-4 4V27a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3V7a3 3 0 0 1 3-3h18.586zM5 6a1 1 0 0 0-1 1v20a1 1 0 0 0 1 1h18a1 1 0 0 0 1-1V12.413L17.413 19H19a1 1 0 1 1 0 2H8a1 1 0 0 1 0-2h3.278l1.001-3H8a1 1 0 0 1 0-2h5.586l3-3H8a1 1 0 0 1 0-2h10.586l3-3zm9.374 10.04-.794 2.38 2.378-.793L28.586 5 27 3.414z",
23
+ fillRule: "evenodd"
24
+ })]
27
25
  });
28
26
  };
29
27
  //#endregion
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@coopdigital/react",
3
3
  "type": "module",
4
- "version": "1.18.0",
4
+ "version": "1.19.1",
5
5
  "private": false,
6
6
  "publishConfig": {
7
7
  "access": "public"
@@ -49,6 +49,7 @@
49
49
  "test:e2e:ci": "npx playwright test --shard=$CI_NODE_INDEX/$CI_NODE_TOTAL",
50
50
  "build": "tsx scripts build",
51
51
  "build:docs": "tsx scripts build-docs",
52
+ "build:docs:all": "tsx scripts build-docs --all",
52
53
  "build:icons": "tsx scripts build-icons",
53
54
  "build:manifest": "tsx scripts build-manifest",
54
55
  "build:storybook": "storybook build --disable-telemetry",
@@ -102,12 +103,12 @@
102
103
  "storybook": "$storybook"
103
104
  },
104
105
  "dependencies": {
105
- "@coopdigital/styles": "^1.13.0",
106
+ "@coopdigital/styles": "^1.13.2",
106
107
  "@radix-ui/react-popover": "^1.1.23",
107
108
  "clsx": "^2.1.1",
108
109
  "date-fns": "^4.4.0",
109
110
  "merge-refs": "^2.0.0",
110
111
  "react-day-picker": "^10.0.1"
111
112
  },
112
- "gitHead": "f8498869d526396c1119c13f1d5afbb083344547"
113
+ "gitHead": "63e8cb1427d5e504b3390bb1c1028a30c76c9053"
113
114
  }
@@ -2,7 +2,7 @@ import type { HTMLAttributes, JSX, Ref } from "react"
2
2
 
3
3
  import clsx from "clsx"
4
4
 
5
- import { Image, ImageProps } from "../Image"
5
+ import { Image, ImageProps } from "@/components/Image"
6
6
 
7
7
  export interface AuthorProps extends HTMLAttributes<HTMLDivElement> {
8
8
  /** **(Optional)** Specify the Author name. */
@@ -5,8 +5,8 @@ import type { ButtonHTMLAttributes, ForwardRefExoticComponent, JSX, Ref } from "
5
5
  import clsx from "clsx"
6
6
  import React, { useCallback, useState } from "react"
7
7
 
8
- import { hasUserBg } from "../../utils"
9
- import { LoadingSpinner } from "./../LoadingSpinner"
8
+ import { LoadingSpinner } from "@/components/LoadingSpinner"
9
+ import { hasUserBg } from "@/utils"
10
10
 
11
11
  export interface ButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {
12
12
  /** **(Optional)** Specify a custom element to override default `a` or `button`. */
@@ -3,10 +3,10 @@ import type { ForwardRefExoticComponent, HTMLAttributes, JSX, Ref } from "react"
3
3
  import clsx from "clsx"
4
4
  import React from "react"
5
5
 
6
- import { useSlots } from "../../hooks/useSlots"
7
- import { hasUserBg } from "../../utils"
8
- import { ChevronRightIcon } from "../icons/ChevronRightIcon"
9
- import { Image, ImageProps } from "../Image"
6
+ import { ChevronRightIcon } from "@/components/icons/ChevronRightIcon"
7
+ import { Image, ImageProps } from "@/components/Image"
8
+ import { useSlots } from "@/hooks/useSlots"
9
+ import { hasUserBg } from "@/utils"
10
10
 
11
11
  export interface CardProps extends HTMLAttributes<HTMLDivElement> {
12
12
  /** **(Optional)** Specify how the card behaves across screen sizes.
@@ -98,7 +98,6 @@ function getCardLinkElement(as: CardProps["hrefAs"], href?: string) {
98
98
 
99
99
  const Card = ({
100
100
  adaptive,
101
- // behaviour,
102
101
  chevron = false,
103
102
  children,
104
103
  className,
@@ -116,7 +115,6 @@ const Card = ({
116
115
 
117
116
  const componentProps = {
118
117
  className: clsx("coop-card", !hasUserBg(className) && "bg-white", className),
119
- // "data-behaviour": behaviour ?? undefined,
120
118
  "data-adaptive": adaptive ?? undefined,
121
119
  "data-orientation": orientation ?? undefined,
122
120
  "data-signpost": signpost ?? undefined,
@@ -3,8 +3,8 @@ import type { InputHTMLAttributes, JSX, Ref } from "react"
3
3
 
4
4
  import clsx from "clsx"
5
5
 
6
- import { StandardSizes } from "../../../src/types"
7
- import { useField } from "../Field/Field.context"
6
+ import { useField } from "@/components/Field/Field.context"
7
+ import { StandardSizes } from "@/types"
8
8
 
9
9
  export interface CheckboxProps extends Omit<
10
10
  InputHTMLAttributes<HTMLInputElement>,
@@ -13,7 +13,14 @@ import clsx from "clsx"
13
13
  import { useCallback, useMemo, useReducer } from "react"
14
14
  import { DayPicker } from "react-day-picker"
15
15
 
16
- import type { StandardSizes } from "../../types"
16
+ import type { StandardSizes } from "@/types"
17
+
18
+ import { Button } from "@/components/Button"
19
+ import { useField } from "@/components/Field/Field.context"
20
+ import { CalendarIcon, CrossIcon, TickIcon } from "@/components/icons"
21
+ import { Popover } from "@/components/Popover"
22
+ import { TextInput } from "@/components/TextInput"
23
+
17
24
  import type {
18
25
  DateRange,
19
26
  DateRangeStr,
@@ -23,11 +30,6 @@ import type {
23
30
  TDateSingle,
24
31
  } from "./datepicker-utils"
25
32
 
26
- import { Button } from "../Button"
27
- import { useField } from "../Field/Field.context"
28
- import { CalendarIcon, CrossIcon, TickIcon } from "../icons"
29
- import { Popover } from "../Popover"
30
- import { TextInput } from "../TextInput"
31
33
  import {
32
34
  getDateValues,
33
35
  getDefaultMonth,
@@ -17,8 +17,8 @@ import React, {
17
17
  useRef,
18
18
  } from "react"
19
19
 
20
- import { hasUserBg } from "../../utils"
21
- import { CrossIcon } from "../icons"
20
+ import { CrossIcon } from "@/components/icons"
21
+ import { hasUserBg } from "@/utils"
22
22
 
23
23
  const DialogContext = createContext<{
24
24
  ref: RefObject<HTMLDialogElement | null> | null
@@ -2,9 +2,9 @@ import type { DetailsHTMLAttributes, HTMLAttributes, JSX, Ref } from "react"
2
2
 
3
3
  import clsx from "clsx"
4
4
 
5
- import { useSlots } from "../../hooks/useSlots"
6
- import { hasUserBg } from "../../utils"
7
- import { ChevronDownIcon } from "../icons"
5
+ import { ChevronDownIcon } from "@/components/icons"
6
+ import { useSlots } from "@/hooks/useSlots"
7
+ import { hasUserBg } from "@/utils"
8
8
 
9
9
  export interface ExpandableProps extends DetailsHTMLAttributes<HTMLDetailsElement> {
10
10
  /** Main content inside the component. This should be an `Expandable.Summary` and `Expandable.Content`. */
@@ -4,12 +4,13 @@ import type { HTMLAttributes, JSX, Ref } from "react"
4
4
  import clsx from "clsx"
5
5
  import React from "react"
6
6
 
7
- import { useId } from "../../hooks/useId"
8
- import { SlotConfig } from "../../types"
9
- import { getSlotProp } from "../../utils"
10
- import { Error as BaseError, type ErrorProps } from "../FieldMarkers/Error"
11
- import { Hint as BaseHint, type HintProps } from "../FieldMarkers/Hint"
12
- import { Label as BaseLabel, type LabelProps } from "../FieldMarkers/Label"
7
+ import { Error as BaseError, type ErrorProps } from "@/components/FieldMarkers/Error"
8
+ import { Hint as BaseHint, type HintProps } from "@/components/FieldMarkers/Hint"
9
+ import { Label as BaseLabel, type LabelProps } from "@/components/FieldMarkers/Label"
10
+ import { useId } from "@/hooks/useId"
11
+ import { SlotConfig } from "@/types"
12
+ import { getSlotProp } from "@/utils"
13
+
13
14
  import { FieldConfig, FieldContext } from "./Field.context"
14
15
 
15
16
  interface FieldProps extends HTMLAttributes<HTMLDivElement> {
@@ -1,7 +1,7 @@
1
1
  import clsx from "clsx"
2
2
  import { JSX, LabelHTMLAttributes, Ref } from "react"
3
3
 
4
- import { useField } from "../Field/Field.context"
4
+ import { useField } from "@/components/Field/Field.context"
5
5
 
6
6
  export interface LabelProps extends LabelHTMLAttributes<HTMLLabelElement> {
7
7
  /** **(Optional)** Main label for the form element. Accepts any valid JSX or string. */
@@ -1,10 +1,10 @@
1
1
  import clsx from "clsx"
2
2
  import { type FieldsetHTMLAttributes, HTMLAttributes, type JSX, Ref } from "react"
3
3
 
4
- import { StandardSizes } from "../../../src/types"
5
- import { Error as BaseError, type ErrorProps } from "../FieldMarkers/Error"
6
- import { Hint as BaseHint, type HintProps } from "../FieldMarkers/Hint"
7
- import { Legend as BaseLegend, type LegendProps } from "../FieldMarkers/Legend"
4
+ import { Error as BaseError, type ErrorProps } from "@/components/FieldMarkers/Error"
5
+ import { Hint as BaseHint, type HintProps } from "@/components/FieldMarkers/Hint"
6
+ import { Legend as BaseLegend, type LegendProps } from "@/components/FieldMarkers/Legend"
7
+ import { StandardSizes } from "@/types"
8
8
 
9
9
  export interface FieldsetProps extends FieldsetHTMLAttributes<HTMLFieldSetElement> {
10
10
  /** Form elements inside the Fieldset.
@@ -2,7 +2,7 @@ import type { JSX, ReactNode, Ref, SVGProps } from "react"
2
2
 
3
3
  import clsx from "clsx"
4
4
 
5
- import { Black, BrandBlue, Darks, Lights, OfferRed, Tints, White } from "../../types/colors"
5
+ import { Black, BrandBlue, Darks, Lights, OfferRed, Tints, White } from "@/types/colors"
6
6
 
7
7
  export interface FlourishProps extends SVGProps<SVGSVGElement> {
8
8
  /** Specify the text to be highlighted by the Flourish. */
@@ -2,7 +2,7 @@ import type { JSX, Ref, SVGProps } from "react"
2
2
 
3
3
  import clsx from "clsx"
4
4
 
5
- import { LoadingIcon } from "../icons"
5
+ import { LoadingIcon } from "@/components/icons"
6
6
 
7
7
  export interface LoadingSpinnerProps extends SVGProps<SVGSVGElement> {
8
8
  /** **(Optional)** Specify additional CSS classes to be applied to the component. */
@@ -3,9 +3,9 @@ import type { JSX } from "react"
3
3
 
4
4
  import { useCallback, useState } from "react"
5
5
 
6
- import { Button } from "../Button"
7
- import { useField } from "../Field/Field.context"
8
- import { TextInput, type TextInputProps } from "../TextInput"
6
+ import { Button } from "@/components/Button"
7
+ import { useField } from "@/components/Field/Field.context"
8
+ import { TextInput, type TextInputProps } from "@/components/TextInput"
9
9
 
10
10
  export interface PasswordInputProps extends Omit<
11
11
  TextInputProps,
@@ -3,9 +3,9 @@ import type { ForwardRefExoticComponent, HTMLAttributes, JSX, Ref } from "react"
3
3
  import clsx from "clsx"
4
4
  import React from "react"
5
5
 
6
- import { useSlots } from "../../hooks/useSlots"
7
- import { StandardSizes } from "../../types"
8
- import { hasUserBg } from "../../utils"
6
+ import { useSlots } from "@/hooks/useSlots"
7
+ import { StandardSizes } from "@/types"
8
+ import { hasUserBg } from "@/utils"
9
9
 
10
10
  export interface PillProps extends HTMLAttributes<HTMLAnchorElement> {
11
11
  /** **(Optional)** Specify a custom element to override default `a` or `span`. */
@@ -10,8 +10,8 @@ import type { JSX, ReactNode, Ref } from "react"
10
10
  import * as RadixPopover from "@radix-ui/react-popover"
11
11
  import clsx from "clsx"
12
12
 
13
- import { useSlots } from "../../hooks/useSlots"
14
- import { bgClassToColor, hasUserBg } from "../../utils"
13
+ import { useSlots } from "@/hooks/useSlots"
14
+ import { bgClassToColor, hasUserBg } from "@/utils"
15
15
 
16
16
  export interface PopoverProps extends RadixPopoverProps {
17
17
  /** Content inside the Popover.
@@ -2,7 +2,7 @@ import type { HTMLAttributes, JSX, ReactNode, Ref } from "react"
2
2
 
3
3
  import clsx from "clsx"
4
4
 
5
- import { StandardSizes } from "../../types"
5
+ import { StandardSizes } from "@/types"
6
6
 
7
7
  export interface ProseProps extends HTMLAttributes<HTMLDivElement> {
8
8
  /** **(Optional)** Main content inside the component. It can be any valid JSX or string. */
@@ -2,8 +2,8 @@
2
2
  import clsx from "clsx"
3
3
  import { type InputHTMLAttributes, type JSX, Ref } from "react"
4
4
 
5
- import { StandardSizes } from "../../types"
6
- import { useField } from "../Field/Field.context"
5
+ import { useField } from "@/components/Field/Field.context"
6
+ import { StandardSizes } from "@/types"
7
7
 
8
8
  export interface RadioProps extends Omit<InputHTMLAttributes<HTMLInputElement>, "size" | "type"> {
9
9
  /** **(Optional)** Specify additional CSS classes to be applied to the component. */
@@ -1,6 +1,6 @@
1
1
  import { createContext, RefObject, useContext } from "react"
2
2
 
3
- import { StandardSizes } from "../../types"
3
+ import { StandardSizes } from "@/types"
4
4
 
5
5
  interface SearchboxContextValue {
6
6
  buttonId?: string
@@ -5,16 +5,15 @@ import type { FormHTMLAttributes, JSX, RefObject } from "react"
5
5
  import clsx from "clsx"
6
6
  import React, { useCallback, useState } from "react"
7
7
 
8
- import { useId } from "../../hooks/useId"
9
- import { useSlots } from "../../hooks/useSlots"
10
- import { StandardSizes } from "../../types"
11
- import { getSlotProp, hasUserBorder } from "../../utils"
12
- import { Button, type ButtonProps } from "../Button"
13
- import Field from "../Field"
14
- import { FieldLabel } from "../Field/Field"
15
- import { SearchIcon } from "../icons"
16
- import TextInput, { TextInputProps } from "../TextInput"
17
- import { SearchboxContext, useSearchbox } from "./Searchbox.context"
8
+ import { Button, type ButtonProps } from "@/components/Button"
9
+ import { Field, FieldLabel } from "@/components/Field"
10
+ import { SearchIcon } from "@/components/icons"
11
+ import { SearchboxContext, useSearchbox } from "@/components/Searchbox/Searchbox.context"
12
+ import TextInput, { TextInputProps } from "@/components/TextInput"
13
+ import { useId } from "@/hooks/useId"
14
+ import { useSlots } from "@/hooks/useSlots"
15
+ import { StandardSizes } from "@/types"
16
+ import { getSlotProp, hasUserBorder } from "@/utils"
18
17
 
19
18
  export interface SearchboxProps extends FormHTMLAttributes<HTMLFormElement> {
20
19
  /** **(Optional)** Specify a server endpoint to submit the form. Will be ignored if onSubmit is also set. */
@@ -10,8 +10,8 @@ import type {
10
10
 
11
11
  import clsx from "clsx"
12
12
 
13
- import { StandardSizes } from "../../../src/types"
14
- import { useField } from "../Field/Field.context"
13
+ import { useField } from "@/components/Field/Field.context"
14
+ import { StandardSizes } from "@/types"
15
15
 
16
16
  export interface SelectProps extends Omit<SelectHTMLAttributes<HTMLSelectElement>, "size"> {
17
17
  /** **(Optional)** Options inside the Select. This should be a set of `Select.Option` or `Select.OptionGroup` components. */
@@ -3,8 +3,8 @@ import type { ForwardRefExoticComponent, HTMLAttributes, JSX, Ref } from "react"
3
3
  import clsx from "clsx"
4
4
  import React from "react"
5
5
 
6
- import { ChevronRightIcon } from "../icons"
7
- import { Image, ImageProps } from "../Image"
6
+ import { ChevronRightIcon } from "@/components/icons"
7
+ import { Image, ImageProps } from "@/components/Image"
8
8
 
9
9
  export interface SignpostProps extends HTMLAttributes<HTMLDivElement> {
10
10
  /** **(Optional)** Specify a custom element to override default `a`. */
@@ -2,7 +2,8 @@ import type { HTMLAttributes, JSX, Ref } from "react"
2
2
 
3
3
  import clsx from "clsx"
4
4
 
5
- import { hasUserBg } from "../../../src/utils"
5
+ import { hasUserBg } from "@/utils"
6
+
6
7
  export interface SquircleProps extends HTMLAttributes<HTMLDivElement> {
7
8
  /** **(Optional)** Main content inside the component. It can be any valid JSX or string. */
8
9
  children?: React.ReactNode
@@ -3,7 +3,7 @@ import type { ForwardRefExoticComponent, HTMLAttributes, JSX, Ref } from "react"
3
3
  import clsx from "clsx"
4
4
  import React from "react"
5
5
 
6
- import { hasUserBg } from "../../../src/utils"
6
+ import { hasUserBg } from "@/utils"
7
7
 
8
8
  export interface TagProps extends HTMLAttributes<HTMLAnchorElement> {
9
9
  /** **(Optional)** Specify a custom element to override default `a` or `span`. */
@@ -3,8 +3,8 @@ import type { InputHTMLAttributes, JSX, Ref } from "react"
3
3
 
4
4
  import clsx from "clsx"
5
5
 
6
- import { StandardSizes } from "../../../src/types"
7
- import { useField } from "../Field/Field.context"
6
+ import { useField } from "@/components/Field/Field.context"
7
+ import { StandardSizes } from "@/types"
8
8
 
9
9
  export interface TextInputProps extends Omit<
10
10
  InputHTMLAttributes<HTMLInputElement>,
@@ -5,9 +5,9 @@ import type { ChangeEvent, JSX, Ref, TextareaHTMLAttributes } from "react"
5
5
  import clsx from "clsx"
6
6
  import { useState } from "react"
7
7
 
8
- import { useDebounce } from "../../hooks/useDebounce"
9
- import { StandardSizes } from "../../types"
10
- import { useField } from "../Field/Field.context"
8
+ import { useField } from "@/components/Field/Field.context"
9
+ import { useDebounce } from "@/hooks/useDebounce"
10
+ import { StandardSizes } from "@/types"
11
11
 
12
12
  const DEBOUNCE_DELAY = 750
13
13
 
@@ -7,8 +7,11 @@ import clsx from "clsx"
7
7
  import mergeRefs from "merge-refs"
8
8
  import React, { useEffect, useRef } from "react"
9
9
 
10
- import { useSlots } from "../../hooks/useSlots"
11
- import { getFieldElement, sanitizeFieldId } from "./validationsummary-utils"
10
+ import {
11
+ getFieldElement,
12
+ sanitizeFieldId,
13
+ } from "@/components/ValidationSummary/validationsummary-utils"
14
+ import { useSlots } from "@/hooks/useSlots"
12
15
 
13
16
  export interface ValidationSummaryProps extends HTMLAttributes<HTMLDivElement> {
14
17
  /** **(Optional)** Specify if the summary should be focused and the parent form scrolled into view if there are errors.
@@ -2,7 +2,7 @@ import type { JSX, SVGProps } from "react"
2
2
 
3
3
  import clsx from "clsx"
4
4
 
5
- import { useId } from "../../hooks/useId"
5
+ import { useId } from "@/hooks/useId"
6
6
 
7
7
  interface IconProps extends SVGProps<SVGSVGElement> {
8
8
  alt?: string
@@ -2,7 +2,7 @@ import type { JSX, SVGProps } from "react"
2
2
 
3
3
  import clsx from "clsx"
4
4
 
5
- import { useId } from "../../hooks/useId"
5
+ import { useId } from "@/hooks/useId"
6
6
 
7
7
  interface IconProps extends SVGProps<SVGSVGElement> {
8
8
  alt?: string
@@ -2,7 +2,7 @@ import type { JSX, SVGProps } from "react"
2
2
 
3
3
  import clsx from "clsx"
4
4
 
5
- import { useId } from "../../hooks/useId"
5
+ import { useId } from "@/hooks/useId"
6
6
 
7
7
  interface IconProps extends SVGProps<SVGSVGElement> {
8
8
  alt?: string