@coopdigital/react 0.55.0 → 0.57.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 (275) hide show
  1. package/README.md +2 -2
  2. package/dist/components/Button/Button.js +2 -2
  3. package/dist/components/Card/Card.js +4 -4
  4. package/dist/components/DatePicker/DatePicker.js +3 -2
  5. package/dist/components/DatePicker/datepicker-utils.js +1 -5
  6. package/dist/components/Field/Field.d.ts +7 -24
  7. package/dist/components/Field/Field.js +11 -18
  8. package/dist/components/Field/index.js +0 -1
  9. package/dist/components/Fieldset/Fieldset.d.ts +12 -17
  10. package/dist/components/Fieldset/Fieldset.js +6 -8
  11. package/dist/components/Pill/Pill.js +2 -2
  12. package/dist/components/Popover/Popover.js +6 -6
  13. package/dist/components/Searchbox/Searchbox.js +4 -4
  14. package/dist/components/Signpost/Signpost.js +2 -2
  15. package/dist/components/Tag/Tag.js +2 -2
  16. package/dist/components/Textarea/Textarea.js +2 -0
  17. package/dist/hooks/useSlots.js +3 -3
  18. package/dist/index.js +2 -2
  19. package/package.json +11 -11
  20. package/src/components/DatePicker/DatePicker.tsx +10 -3
  21. package/src/components/Field/Field.tsx +5 -29
  22. package/src/components/Fieldset/Fieldset.tsx +6 -8
  23. package/src/components/Textarea/Textarea.tsx +2 -0
  24. package/dist/node_modules/@date-fns/tz/date/index.js +0 -83
  25. package/dist/node_modules/@date-fns/tz/date/mini.js +0 -235
  26. package/dist/node_modules/@date-fns/tz/tzName/index.js +0 -39
  27. package/dist/node_modules/@date-fns/tz/tzOffset/index.js +0 -44
  28. package/dist/node_modules/@floating-ui/core/dist/floating-ui.core.js +0 -814
  29. package/dist/node_modules/@floating-ui/dom/dist/floating-ui.dom.js +0 -751
  30. package/dist/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.js +0 -350
  31. package/dist/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.js +0 -161
  32. package/dist/node_modules/@floating-ui/utils/dist/floating-ui.utils.js +0 -137
  33. package/dist/node_modules/@radix-ui/primitive/dist/index.js +0 -11
  34. package/dist/node_modules/@radix-ui/react-arrow/dist/index.js +0 -25
  35. package/dist/node_modules/@radix-ui/react-compose-refs/dist/index.js +0 -39
  36. package/dist/node_modules/@radix-ui/react-context/dist/index.js +0 -63
  37. package/dist/node_modules/@radix-ui/react-dismissable-layer/dist/index.js +0 -213
  38. package/dist/node_modules/@radix-ui/react-focus-guards/dist/index.js +0 -31
  39. package/dist/node_modules/@radix-ui/react-focus-scope/dist/index.js +0 -209
  40. package/dist/node_modules/@radix-ui/react-id/dist/index.js +0 -15
  41. package/dist/node_modules/@radix-ui/react-popover/dist/index.js +0 -303
  42. package/dist/node_modules/@radix-ui/react-popper/dist/index.js +0 -285
  43. package/dist/node_modules/@radix-ui/react-portal/dist/index.js +0 -19
  44. package/dist/node_modules/@radix-ui/react-presence/dist/index.js +0 -132
  45. package/dist/node_modules/@radix-ui/react-primitive/dist/index.js +0 -43
  46. package/dist/node_modules/@radix-ui/react-slot/dist/index.js +0 -89
  47. package/dist/node_modules/@radix-ui/react-use-callback-ref/dist/index.js +0 -12
  48. package/dist/node_modules/@radix-ui/react-use-controllable-state/dist/index.js +0 -70
  49. package/dist/node_modules/@radix-ui/react-use-escape-keydown/dist/index.js +0 -18
  50. package/dist/node_modules/@radix-ui/react-use-layout-effect/dist/index.js +0 -7
  51. package/dist/node_modules/@radix-ui/react-use-size/dist/index.js +0 -40
  52. package/dist/node_modules/aria-hidden/dist/es2015/index.js +0 -137
  53. package/dist/node_modules/date-fns/_lib/addLeadingZeros.js +0 -7
  54. package/dist/node_modules/date-fns/_lib/defaultOptions.js +0 -7
  55. package/dist/node_modules/date-fns/_lib/format/formatters.js +0 -775
  56. package/dist/node_modules/date-fns/_lib/format/lightFormatters.js +0 -94
  57. package/dist/node_modules/date-fns/_lib/format/longFormatters.js +0 -66
  58. package/dist/node_modules/date-fns/_lib/getTimezoneOffsetInMilliseconds.js +0 -31
  59. package/dist/node_modules/date-fns/_lib/normalizeDates.js +0 -11
  60. package/dist/node_modules/date-fns/_lib/normalizeInterval.js +0 -8
  61. package/dist/node_modules/date-fns/_lib/protectedTokens.js +0 -25
  62. package/dist/node_modules/date-fns/addDays.js +0 -41
  63. package/dist/node_modules/date-fns/addMonths.js +0 -75
  64. package/dist/node_modules/date-fns/addWeeks.js +0 -33
  65. package/dist/node_modules/date-fns/addYears.js +0 -33
  66. package/dist/node_modules/date-fns/constants.js +0 -67
  67. package/dist/node_modules/date-fns/constructFrom.js +0 -49
  68. package/dist/node_modules/date-fns/differenceInCalendarDays.js +0 -62
  69. package/dist/node_modules/date-fns/differenceInCalendarMonths.js +0 -42
  70. package/dist/node_modules/date-fns/eachMonthOfInterval.js +0 -65
  71. package/dist/node_modules/date-fns/eachYearOfInterval.js +0 -65
  72. package/dist/node_modules/date-fns/endOfISOWeek.js +0 -35
  73. package/dist/node_modules/date-fns/endOfMonth.js +0 -37
  74. package/dist/node_modules/date-fns/endOfWeek.js +0 -53
  75. package/dist/node_modules/date-fns/endOfYear.js +0 -37
  76. package/dist/node_modules/date-fns/format.js +0 -423
  77. package/dist/node_modules/date-fns/getDayOfYear.js +0 -34
  78. package/dist/node_modules/date-fns/getDaysInMonth.js +0 -36
  79. package/dist/node_modules/date-fns/getDefaultOptions.js +0 -31
  80. package/dist/node_modules/date-fns/getISODay.js +0 -33
  81. package/dist/node_modules/date-fns/getISOWeek.js +0 -40
  82. package/dist/node_modules/date-fns/getISOWeekYear.js +0 -52
  83. package/dist/node_modules/date-fns/getMonth.js +0 -29
  84. package/dist/node_modules/date-fns/getWeek.js +0 -54
  85. package/dist/node_modules/date-fns/getWeekYear.js +0 -75
  86. package/dist/node_modules/date-fns/getYear.js +0 -29
  87. package/dist/node_modules/date-fns/isAfter.js +0 -25
  88. package/dist/node_modules/date-fns/isBefore.js +0 -25
  89. package/dist/node_modules/date-fns/isDate.js +0 -41
  90. package/dist/node_modules/date-fns/isSameDay.js +0 -46
  91. package/dist/node_modules/date-fns/isSameMonth.js +0 -43
  92. package/dist/node_modules/date-fns/isSameYear.js +0 -35
  93. package/dist/node_modules/date-fns/isValid.js +0 -39
  94. package/dist/node_modules/date-fns/locale/_lib/buildFormatLongFn.js +0 -10
  95. package/dist/node_modules/date-fns/locale/_lib/buildLocalizeFn.js +0 -64
  96. package/dist/node_modules/date-fns/locale/_lib/buildMatchFn.js +0 -59
  97. package/dist/node_modules/date-fns/locale/_lib/buildMatchPatternFn.js +0 -22
  98. package/dist/node_modules/date-fns/locale/en-US/_lib/formatDistance.js +0 -103
  99. package/dist/node_modules/date-fns/locale/en-US/_lib/formatLong.js +0 -41
  100. package/dist/node_modules/date-fns/locale/en-US/_lib/formatRelative.js +0 -13
  101. package/dist/node_modules/date-fns/locale/en-US/_lib/localize.js +0 -189
  102. package/dist/node_modules/date-fns/locale/en-US/_lib/match.js +0 -134
  103. package/dist/node_modules/date-fns/locale/en-US.js +0 -28
  104. package/dist/node_modules/date-fns/max.js +0 -49
  105. package/dist/node_modules/date-fns/min.js +0 -49
  106. package/dist/node_modules/date-fns/parse/_lib/Parser.js +0 -27
  107. package/dist/node_modules/date-fns/parse/_lib/Setter.js +0 -59
  108. package/dist/node_modules/date-fns/parse/_lib/constants.js +0 -33
  109. package/dist/node_modules/date-fns/parse/_lib/parsers/AMPMMidnightParser.js +0 -55
  110. package/dist/node_modules/date-fns/parse/_lib/parsers/AMPMParser.js +0 -55
  111. package/dist/node_modules/date-fns/parse/_lib/parsers/DateParser.js +0 -59
  112. package/dist/node_modules/date-fns/parse/_lib/parsers/DayOfYearParser.js +0 -57
  113. package/dist/node_modules/date-fns/parse/_lib/parsers/DayParser.js +0 -64
  114. package/dist/node_modules/date-fns/parse/_lib/parsers/DayPeriodParser.js +0 -56
  115. package/dist/node_modules/date-fns/parse/_lib/parsers/EraParser.js +0 -41
  116. package/dist/node_modules/date-fns/parse/_lib/parsers/ExtendedYearParser.js +0 -24
  117. package/dist/node_modules/date-fns/parse/_lib/parsers/FractionOfSecondParser.js +0 -21
  118. package/dist/node_modules/date-fns/parse/_lib/parsers/Hour0To11Parser.js +0 -36
  119. package/dist/node_modules/date-fns/parse/_lib/parsers/Hour0to23Parser.js +0 -31
  120. package/dist/node_modules/date-fns/parse/_lib/parsers/Hour1To24Parser.js +0 -32
  121. package/dist/node_modules/date-fns/parse/_lib/parsers/Hour1to12Parser.js +0 -38
  122. package/dist/node_modules/date-fns/parse/_lib/parsers/ISODayParser.js +0 -118
  123. package/dist/node_modules/date-fns/parse/_lib/parsers/ISOTimezoneParser.js +0 -47
  124. package/dist/node_modules/date-fns/parse/_lib/parsers/ISOTimezoneWithZParser.js +0 -47
  125. package/dist/node_modules/date-fns/parse/_lib/parsers/ISOWeekParser.js +0 -48
  126. package/dist/node_modules/date-fns/parse/_lib/parsers/ISOWeekYearParser.js +0 -44
  127. package/dist/node_modules/date-fns/parse/_lib/parsers/LocalDayParser.js +0 -96
  128. package/dist/node_modules/date-fns/parse/_lib/parsers/LocalWeekParser.js +0 -47
  129. package/dist/node_modules/date-fns/parse/_lib/parsers/LocalWeekYearParser.js +0 -76
  130. package/dist/node_modules/date-fns/parse/_lib/parsers/MinuteParser.js +0 -31
  131. package/dist/node_modules/date-fns/parse/_lib/parsers/MonthParser.js +0 -86
  132. package/dist/node_modules/date-fns/parse/_lib/parsers/QuarterParser.js +0 -83
  133. package/dist/node_modules/date-fns/parse/_lib/parsers/SecondParser.js +0 -31
  134. package/dist/node_modules/date-fns/parse/_lib/parsers/StandAloneLocalDayParser.js +0 -97
  135. package/dist/node_modules/date-fns/parse/_lib/parsers/StandAloneMonthParser.js +0 -86
  136. package/dist/node_modules/date-fns/parse/_lib/parsers/StandAloneQuarterParser.js +0 -83
  137. package/dist/node_modules/date-fns/parse/_lib/parsers/TimestampMillisecondsParser.js +0 -19
  138. package/dist/node_modules/date-fns/parse/_lib/parsers/TimestampSecondsParser.js +0 -19
  139. package/dist/node_modules/date-fns/parse/_lib/parsers/YearParser.js +0 -62
  140. package/dist/node_modules/date-fns/parse/_lib/parsers.js +0 -110
  141. package/dist/node_modules/date-fns/parse/_lib/utils.js +0 -135
  142. package/dist/node_modules/date-fns/parse.js +0 -497
  143. package/dist/node_modules/date-fns/setDay.js +0 -59
  144. package/dist/node_modules/date-fns/setISODay.js +0 -40
  145. package/dist/node_modules/date-fns/setISOWeek.js +0 -39
  146. package/dist/node_modules/date-fns/setMonth.js +0 -46
  147. package/dist/node_modules/date-fns/setWeek.js +0 -53
  148. package/dist/node_modules/date-fns/setYear.js +0 -40
  149. package/dist/node_modules/date-fns/startOfDay.js +0 -35
  150. package/dist/node_modules/date-fns/startOfISOWeek.js +0 -35
  151. package/dist/node_modules/date-fns/startOfISOWeekYear.js +0 -42
  152. package/dist/node_modules/date-fns/startOfMonth.js +0 -37
  153. package/dist/node_modules/date-fns/startOfWeek.js +0 -53
  154. package/dist/node_modules/date-fns/startOfWeekYear.js +0 -64
  155. package/dist/node_modules/date-fns/startOfYear.js +0 -36
  156. package/dist/node_modules/date-fns/toDate.js +0 -46
  157. package/dist/node_modules/date-fns/transpose.js +0 -52
  158. package/dist/node_modules/get-nonce/dist/es2015/index.js +0 -8
  159. package/dist/node_modules/react-day-picker/dist/esm/DayPicker.js +0 -320
  160. package/dist/node_modules/react-day-picker/dist/esm/UI.js +0 -122
  161. package/dist/node_modules/react-day-picker/dist/esm/classes/CalendarDay.js +0 -33
  162. package/dist/node_modules/react-day-picker/dist/esm/classes/CalendarMonth.js +0 -14
  163. package/dist/node_modules/react-day-picker/dist/esm/classes/CalendarWeek.js +0 -13
  164. package/dist/node_modules/react-day-picker/dist/esm/classes/DateLib.js +0 -604
  165. package/dist/node_modules/react-day-picker/dist/esm/components/Button.js +0 -13
  166. package/dist/node_modules/react-day-picker/dist/esm/components/CaptionLabel.js +0 -13
  167. package/dist/node_modules/react-day-picker/dist/esm/components/Chevron.js +0 -20
  168. package/dist/node_modules/react-day-picker/dist/esm/components/Day.js +0 -18
  169. package/dist/node_modules/react-day-picker/dist/esm/components/DayButton.js +0 -19
  170. package/dist/node_modules/react-day-picker/dist/esm/components/Dropdown.js +0 -21
  171. package/dist/node_modules/react-day-picker/dist/esm/components/DropdownNav.js +0 -13
  172. package/dist/node_modules/react-day-picker/dist/esm/components/Footer.js +0 -13
  173. package/dist/node_modules/react-day-picker/dist/esm/components/Month.js +0 -15
  174. package/dist/node_modules/react-day-picker/dist/esm/components/MonthCaption.js +0 -14
  175. package/dist/node_modules/react-day-picker/dist/esm/components/MonthGrid.js +0 -13
  176. package/dist/node_modules/react-day-picker/dist/esm/components/Months.js +0 -13
  177. package/dist/node_modules/react-day-picker/dist/esm/components/MonthsDropdown.js +0 -15
  178. package/dist/node_modules/react-day-picker/dist/esm/components/Nav.js +0 -31
  179. package/dist/node_modules/react-day-picker/dist/esm/components/NextMonthButton.js +0 -15
  180. package/dist/node_modules/react-day-picker/dist/esm/components/Option.js +0 -13
  181. package/dist/node_modules/react-day-picker/dist/esm/components/PreviousMonthButton.js +0 -15
  182. package/dist/node_modules/react-day-picker/dist/esm/components/Root.js +0 -14
  183. package/dist/node_modules/react-day-picker/dist/esm/components/Select.js +0 -13
  184. package/dist/node_modules/react-day-picker/dist/esm/components/Week.js +0 -14
  185. package/dist/node_modules/react-day-picker/dist/esm/components/WeekNumber.js +0 -14
  186. package/dist/node_modules/react-day-picker/dist/esm/components/WeekNumberHeader.js +0 -13
  187. package/dist/node_modules/react-day-picker/dist/esm/components/Weekday.js +0 -13
  188. package/dist/node_modules/react-day-picker/dist/esm/components/Weekdays.js +0 -14
  189. package/dist/node_modules/react-day-picker/dist/esm/components/Weeks.js +0 -13
  190. package/dist/node_modules/react-day-picker/dist/esm/components/YearsDropdown.js +0 -15
  191. package/dist/node_modules/react-day-picker/dist/esm/components/custom-components.js +0 -26
  192. package/dist/node_modules/react-day-picker/dist/esm/formatters/formatCaption.js +0 -26
  193. package/dist/node_modules/react-day-picker/dist/esm/formatters/formatDay.js +0 -19
  194. package/dist/node_modules/react-day-picker/dist/esm/formatters/formatMonthDropdown.js +0 -18
  195. package/dist/node_modules/react-day-picker/dist/esm/formatters/formatWeekNumber.js +0 -21
  196. package/dist/node_modules/react-day-picker/dist/esm/formatters/formatWeekNumberHeader.js +0 -13
  197. package/dist/node_modules/react-day-picker/dist/esm/formatters/formatWeekdayName.js +0 -19
  198. package/dist/node_modules/react-day-picker/dist/esm/formatters/formatYearDropdown.js +0 -23
  199. package/dist/node_modules/react-day-picker/dist/esm/formatters/index.js +0 -7
  200. package/dist/node_modules/react-day-picker/dist/esm/helpers/calculateFocusTarget.js +0 -73
  201. package/dist/node_modules/react-day-picker/dist/esm/helpers/createGetModifiers.js +0 -95
  202. package/dist/node_modules/react-day-picker/dist/esm/helpers/endOfBroadcastWeek.js +0 -22
  203. package/dist/node_modules/react-day-picker/dist/esm/helpers/getBroadcastWeeksInMonth.js +0 -28
  204. package/dist/node_modules/react-day-picker/dist/esm/helpers/getClassNamesForModifiers.js +0 -33
  205. package/dist/node_modules/react-day-picker/dist/esm/helpers/getComponents.js +0 -20
  206. package/dist/node_modules/react-day-picker/dist/esm/helpers/getDataAttributes.js +0 -27
  207. package/dist/node_modules/react-day-picker/dist/esm/helpers/getDates.js +0 -59
  208. package/dist/node_modules/react-day-picker/dist/esm/helpers/getDays.js +0 -19
  209. package/dist/node_modules/react-day-picker/dist/esm/helpers/getDefaultClassNames.js +0 -33
  210. package/dist/node_modules/react-day-picker/dist/esm/helpers/getDisplayMonths.js +0 -24
  211. package/dist/node_modules/react-day-picker/dist/esm/helpers/getFocusableDate.js +0 -46
  212. package/dist/node_modules/react-day-picker/dist/esm/helpers/getFormatters.js +0 -24
  213. package/dist/node_modules/react-day-picker/dist/esm/helpers/getInitialMonth.js +0 -27
  214. package/dist/node_modules/react-day-picker/dist/esm/helpers/getLabels.js +0 -53
  215. package/dist/node_modules/react-day-picker/dist/esm/helpers/getMonthOptions.js +0 -33
  216. package/dist/node_modules/react-day-picker/dist/esm/helpers/getMonths.js +0 -69
  217. package/dist/node_modules/react-day-picker/dist/esm/helpers/getNavMonth.js +0 -51
  218. package/dist/node_modules/react-day-picker/dist/esm/helpers/getNextFocus.js +0 -40
  219. package/dist/node_modules/react-day-picker/dist/esm/helpers/getNextMonth.js +0 -36
  220. package/dist/node_modules/react-day-picker/dist/esm/helpers/getPreviousMonth.js +0 -37
  221. package/dist/node_modules/react-day-picker/dist/esm/helpers/getStyleForModifiers.js +0 -27
  222. package/dist/node_modules/react-day-picker/dist/esm/helpers/getWeekdays.js +0 -26
  223. package/dist/node_modules/react-day-picker/dist/esm/helpers/getWeeks.js +0 -14
  224. package/dist/node_modules/react-day-picker/dist/esm/helpers/getYearOptions.js +0 -36
  225. package/dist/node_modules/react-day-picker/dist/esm/helpers/startOfBroadcastWeek.js +0 -27
  226. package/dist/node_modules/react-day-picker/dist/esm/helpers/useControlledValue.js +0 -31
  227. package/dist/node_modules/react-day-picker/dist/esm/labels/index.js +0 -11
  228. package/dist/node_modules/react-day-picker/dist/esm/labels/labelDayButton.js +0 -32
  229. package/dist/node_modules/react-day-picker/dist/esm/labels/labelGrid.js +0 -25
  230. package/dist/node_modules/react-day-picker/dist/esm/labels/labelGridcell.js +0 -22
  231. package/dist/node_modules/react-day-picker/dist/esm/labels/labelMonthDropdown.js +0 -14
  232. package/dist/node_modules/react-day-picker/dist/esm/labels/labelNav.js +0 -13
  233. package/dist/node_modules/react-day-picker/dist/esm/labels/labelNext.js +0 -16
  234. package/dist/node_modules/react-day-picker/dist/esm/labels/labelPrevious.js +0 -15
  235. package/dist/node_modules/react-day-picker/dist/esm/labels/labelWeekNumber.js +0 -15
  236. package/dist/node_modules/react-day-picker/dist/esm/labels/labelWeekNumberHeader.js +0 -14
  237. package/dist/node_modules/react-day-picker/dist/esm/labels/labelWeekday.js +0 -18
  238. package/dist/node_modules/react-day-picker/dist/esm/labels/labelYearDropdown.js +0 -14
  239. package/dist/node_modules/react-day-picker/dist/esm/locale/en-US.js +0 -67
  240. package/dist/node_modules/react-day-picker/dist/esm/selection/useMulti.js +0 -57
  241. package/dist/node_modules/react-day-picker/dist/esm/selection/useRange.js +0 -45
  242. package/dist/node_modules/react-day-picker/dist/esm/selection/useSingle.js +0 -44
  243. package/dist/node_modules/react-day-picker/dist/esm/useAnimation.js +0 -174
  244. package/dist/node_modules/react-day-picker/dist/esm/useCalendar.js +0 -113
  245. package/dist/node_modules/react-day-picker/dist/esm/useDayPicker.js +0 -25
  246. package/dist/node_modules/react-day-picker/dist/esm/useFocus.js +0 -56
  247. package/dist/node_modules/react-day-picker/dist/esm/useSelection.js +0 -31
  248. package/dist/node_modules/react-day-picker/dist/esm/utils/addToRange.js +0 -95
  249. package/dist/node_modules/react-day-picker/dist/esm/utils/convertMatchersToTimeZone.js +0 -57
  250. package/dist/node_modules/react-day-picker/dist/esm/utils/dateMatchModifiers.js +0 -62
  251. package/dist/node_modules/react-day-picker/dist/esm/utils/rangeContainsDayOfWeek.js +0 -30
  252. package/dist/node_modules/react-day-picker/dist/esm/utils/rangeContainsModifiers.js +0 -74
  253. package/dist/node_modules/react-day-picker/dist/esm/utils/rangeIncludesDate.js +0 -35
  254. package/dist/node_modules/react-day-picker/dist/esm/utils/rangeOverlaps.js +0 -21
  255. package/dist/node_modules/react-day-picker/dist/esm/utils/toTimeZone.js +0 -16
  256. package/dist/node_modules/react-day-picker/dist/esm/utils/typeguards.js +0 -66
  257. package/dist/node_modules/react-remove-scroll/dist/es2015/Combination.js +0 -9
  258. package/dist/node_modules/react-remove-scroll/dist/es2015/SideEffect.js +0 -167
  259. package/dist/node_modules/react-remove-scroll/dist/es2015/UI.js +0 -38
  260. package/dist/node_modules/react-remove-scroll/dist/es2015/aggresiveCapture.js +0 -21
  261. package/dist/node_modules/react-remove-scroll/dist/es2015/handleScroll.js +0 -110
  262. package/dist/node_modules/react-remove-scroll/dist/es2015/medium.js +0 -5
  263. package/dist/node_modules/react-remove-scroll/dist/es2015/sidecar.js +0 -7
  264. package/dist/node_modules/react-remove-scroll-bar/dist/es2015/component.js +0 -56
  265. package/dist/node_modules/react-remove-scroll-bar/dist/es2015/constants.js +0 -10
  266. package/dist/node_modules/react-remove-scroll-bar/dist/es2015/utils.js +0 -31
  267. package/dist/node_modules/react-style-singleton/dist/es2015/component.js +0 -19
  268. package/dist/node_modules/react-style-singleton/dist/es2015/hook.js +0 -25
  269. package/dist/node_modules/react-style-singleton/dist/es2015/singleton.js +0 -51
  270. package/dist/node_modules/tslib/tslib.es6.js +0 -56
  271. package/dist/node_modules/use-callback-ref/dist/es2015/assignRef.js +0 -24
  272. package/dist/node_modules/use-callback-ref/dist/es2015/useMergeRef.js +0 -48
  273. package/dist/node_modules/use-callback-ref/dist/es2015/useRef.js +0 -42
  274. package/dist/node_modules/use-sidecar/dist/es2015/exports.js +0 -21
  275. package/dist/node_modules/use-sidecar/dist/es2015/medium.js +0 -77
package/README.md CHANGED
@@ -9,11 +9,11 @@
9
9
  <a href="https://www.npmjs.com/package/@coopdigital/react"><img src="https://img.shields.io/npm/v/%40coopdigital%2Freact?color=E85A00" alt="npm version" /></a>
10
10
  <img alt="NPM Last Update" src="https://img.shields.io/npm/last-update/%40coopdigital%2Freact?label=published&color=6762F9">
11
11
  <img alt="NPM Downloads" src="https://img.shields.io/npm/d18m/%40coopdigital%2Freact?color=819C00">
12
- <a href="https://static.coop.co.uk/experience-kit-storybook-react"><img src="https://img.shields.io/badge/storybook-react-F85792" alt="storybook" /></a>
12
+ <a href="https://experience.coop.co.uk/react/"><img src="https://img.shields.io/badge/storybook-react-F85792" alt="storybook" /></a>
13
13
 
14
14
  > React components for the Experience Library design system.
15
15
 
16
- You can see the full range of components and documentation on the [Experience Kit Storybook](https://static.coop.co.uk/experience-kit-storybook-react)
16
+ You can see the full range of components and documentation on the [Experience Kit Storybook](https://experience.coop.co.uk/react/)
17
17
 
18
18
  ## Getting started
19
19
 
@@ -2,7 +2,7 @@
2
2
  "use client";
3
3
  import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
4
4
  import clsx from 'clsx';
5
- import React__default, { useState, useCallback } from 'react';
5
+ import React, { useState, useCallback } from 'react';
6
6
  import { hasUserBg } from '../../utils/index.js';
7
7
  import { LoadingIcon } from '../icons/LoadingIcon.js';
8
8
 
@@ -33,7 +33,7 @@ const Button = ({ as, children, className, href, isDisabled = false, isFullWidth
33
33
  ...props,
34
34
  };
35
35
  const finalChildren = isPending || isLoading ? (jsxs(Fragment, { children: [loadingText, jsx(LoadingIcon, { stroke: "currentColor", strokeWidth: "1px" })] })) : (children);
36
- return React__default.createElement(element, { ...componentProps, ref }, finalChildren);
36
+ return React.createElement(element, { ...componentProps, ref }, finalChildren);
37
37
  };
38
38
 
39
39
  export { Button, Button as default };
@@ -1,6 +1,6 @@
1
1
  import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
2
2
  import clsx from 'clsx';
3
- import React__default from 'react';
3
+ import React from 'react';
4
4
  import { useSlots } from '../../hooks/useSlots.js';
5
5
  import { hasUserBg } from '../../utils/index.js';
6
6
  import { ChevronRightIcon } from '../icons/ChevronRightIcon.js';
@@ -35,12 +35,12 @@ const Card = ({ chevron = false, children, className, href, hrefAs, imagePositio
35
35
  ...props,
36
36
  };
37
37
  if (href && slots.CardHeading) {
38
- slots.CardHeading = React__default.createElement(linkElement, linkProps, slots.CardHeading);
38
+ slots.CardHeading = React.createElement(linkElement, linkProps, slots.CardHeading);
39
39
  }
40
- return (jsxs("article", { ...componentProps, ref: ref, children: [slots.CardImage, slots.CardBadge, React__default.createElement(hasLinkWrapper ? linkElement : "div", hasLinkWrapper ? { href, ...innerProps } : innerProps, jsxs("div", { className: "coop-card--content", children: [slots.CardLabel, slots.CardHeading, slots.CardBody, slots.Children] }), chevron && (jsx("span", { "aria-hidden": "true", className: "coop-card--icon", role: "presentation", children: jsx(ChevronRightIcon, {}) })))] }));
40
+ return (jsxs("article", { ...componentProps, ref: ref, children: [slots.CardImage, slots.CardBadge, React.createElement(hasLinkWrapper ? linkElement : "div", hasLinkWrapper ? { href, ...innerProps } : innerProps, jsxs("div", { className: "coop-card--content", children: [slots.CardLabel, slots.CardHeading, slots.CardBody, slots.Children] }), chevron && (jsx("span", { "aria-hidden": "true", className: "coop-card--icon", role: "presentation", children: jsx(ChevronRightIcon, {}) })))] }));
41
41
  };
42
42
  const CardHeading = ({ as = "h3", children, className }) => {
43
- return React__default.createElement(as, { className: clsx("coop-card--heading", className) }, children);
43
+ return React.createElement(as, { className: clsx("coop-card--heading", className) }, children);
44
44
  };
45
45
  const CardLabel = ({ children, className }) => {
46
46
  return jsx("span", { className: clsx("coop-card--label", className), children: children });
@@ -3,6 +3,7 @@
3
3
  import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
4
4
  import clsx from 'clsx';
5
5
  import { useMemo, useReducer, useCallback } from 'react';
6
+ import { DayPicker } from 'react-day-picker';
6
7
  import { useId } from '../../hooks/useId.js';
7
8
  import { Button } from '../Button/Button.js';
8
9
  import { CalendarIcon } from '../icons/CalendarIcon.js';
@@ -11,7 +12,6 @@ import { TickIcon } from '../icons/TickIcon.js';
11
12
  import { Popover } from '../Popover/Popover.js';
12
13
  import { TextInput } from '../TextInput/TextInput.js';
13
14
  import { getInitialDate, getStartDate, getEndDate, getDefaultMonth, getDateValues, shouldClose, shouldSkipParsing } from './datepicker-utils.js';
14
- import { DayPicker } from '../../node_modules/react-day-picker/dist/esm/DayPicker.js';
15
15
 
16
16
  const now = new Date();
17
17
  const componentConfig = {
@@ -92,6 +92,7 @@ const DatePicker = ({ className, closeOnSelect = true, dateFormat = "dd/MM/yyyy"
92
92
  const resetState = useCallback(() => setState({ ...initialState, [mode]: undefined }), [mode]);
93
93
  const componentProps = {
94
94
  className: clsx("coop-datepicker", className),
95
+ "data-disabled": disabled !== null && disabled !== void 0 ? disabled : undefined,
95
96
  "data-error": error || undefined,
96
97
  "data-mode": mode,
97
98
  ...props,
@@ -119,7 +120,7 @@ const DatePicker = ({ className, closeOnSelect = true, dateFormat = "dd/MM/yyyy"
119
120
  };
120
121
  return (jsxs("div", { ...componentProps, children: [jsxs(Popover, { onOpenChange: setOpen, open: state.open, children: [jsx(Popover.Anchor, { className: "coop-datepicker-inner", children: jsx(TextInput, { autoComplete: "off", className: "coop-datepicker-input", disabled: disabled, id: uid + componentConfig.fieldSuffix,
121
122
  //maxLength={dateFormat.length}
122
- name: name + componentConfig.fieldSuffix, onChange: updateFromInput, placeholder: getPlaceholder(), ref: ref, required: required, size: size, suffix: jsx(Popover.Trigger, { "aria-label": "Choose date", className: "coop-datepicker-trigger", children: jsx(CalendarIcon, { width: 24 }) }), suffixInline: true, value: (_f = (_e = state === null || state === void 0 ? void 0 : state[mode]) === null || _e === void 0 ? void 0 : _e.input) !== null && _f !== void 0 ? _f : "" }) }), jsxs(Popover.Content, { "aria-label": "Date picker", className: "coop-datepicker-calendar bg-white", collisionPadding: 16, sideOffset: 4, children: [jsx(Calendar
123
+ name: name + componentConfig.fieldSuffix, onChange: updateFromInput, placeholder: getPlaceholder(), ref: ref, required: required, size: size, suffix: disabled ? (jsx("span", { className: "coop-datepicker-trigger", children: jsx(CalendarIcon, { width: 24 }) })) : (jsx(Popover.Trigger, { "aria-label": "Choose date", className: "coop-datepicker-trigger", children: jsx(CalendarIcon, { width: 24 }) })), suffixInline: true, value: (_f = (_e = state === null || state === void 0 ? void 0 : state[mode]) === null || _e === void 0 ? void 0 : _e.input) !== null && _f !== void 0 ? _f : "" }) }), jsxs(Popover.Content, { "aria-label": "Date picker", className: "coop-datepicker-calendar bg-white", collisionPadding: 16, sideOffset: 4, children: [jsx(Calendar
123
124
  // jsx-ally throws here because we set autoFocus, but this
124
125
  // is not a standard element. Daypicker uses this value to
125
126
  // focus the day rather than the nav when it renders.
@@ -1,8 +1,4 @@
1
- import { isValid } from '../../node_modules/date-fns/isValid.js';
2
- import { parse } from '../../node_modules/date-fns/parse.js';
3
- import { addYears } from '../../node_modules/date-fns/addYears.js';
4
- import { format } from '../../node_modules/date-fns/format.js';
5
- import { isBefore } from '../../node_modules/date-fns/isBefore.js';
1
+ import { addYears, isValid, parse, format, isBefore } from 'date-fns';
6
2
 
7
3
  function isValidDate(date) {
8
4
  return !!date && typeof date !== "string" && typeof date !== "number" && isValid(date);
@@ -1,4 +1,4 @@
1
- import type { HTMLAttributes, JSX, Ref } from "react";
1
+ import type { HTMLAttributes, Ref } from "react";
2
2
  import React from "react";
3
3
  import { type ErrorProps } from "../FieldMarkers/Error";
4
4
  import { type HintProps } from "../FieldMarkers/Hint";
@@ -19,27 +19,10 @@ interface FieldProps extends HTMLAttributes<HTMLDivElement> {
19
19
  /** **(Optional)** Specify a custom React ref for this component. */
20
20
  ref?: Ref<HTMLDivElement>;
21
21
  }
22
- interface ControlProps extends HTMLAttributes<HTMLDivElement> {
23
- /** **(Optional)** Elements inside the form control. */
24
- children?: string | React.ReactNode;
25
- /** **(Optional)** Specify additional CSS classes to be applied to the component. */
26
- className?: string;
27
- }
28
- export declare const FieldControl: {
29
- ({ children, className, ...props }: ControlProps): JSX.Element;
30
- config: {
31
- name: string;
32
- };
33
- };
34
- export declare const Field: (({ boxed, children, className, error, hideErrorBar, ref, ...props }: FieldProps) => import("react/jsx-runtime").JSX.Element) & {
35
- Control: {
36
- ({ children, className, ...props }: ControlProps): JSX.Element;
37
- config: {
38
- name: string;
39
- };
40
- };
41
- Error: {
42
- (props: ErrorProps): import("react/jsx-runtime").JSX.Element;
22
+ export declare const Field: {
23
+ ({ boxed, children, className, error, hideErrorBar, ref, ...props }: FieldProps): import("react/jsx-runtime").JSX.Element;
24
+ Label: {
25
+ (props: LabelProps): import("react/jsx-runtime").JSX.Element;
43
26
  config: {
44
27
  name: string;
45
28
  };
@@ -50,8 +33,8 @@ export declare const Field: (({ boxed, children, className, error, hideErrorBar,
50
33
  name: string;
51
34
  };
52
35
  };
53
- Label: {
54
- (props: LabelProps): import("react/jsx-runtime").JSX.Element;
36
+ Error: {
37
+ (props: ErrorProps): import("react/jsx-runtime").JSX.Element;
55
38
  config: {
56
39
  name: string;
57
40
  };
@@ -1,6 +1,6 @@
1
- import { jsx, jsxs } from 'react/jsx-runtime';
1
+ import { jsxs, jsx } from 'react/jsx-runtime';
2
2
  import clsx from 'clsx';
3
- import React__default from 'react';
3
+ import React from 'react';
4
4
  import { useId } from '../../hooks/useId.js';
5
5
  import { useSlots } from '../../hooks/useSlots.js';
6
6
  import { Error } from '../FieldMarkers/Error.js';
@@ -14,7 +14,7 @@ const componentSlots = {
14
14
  FieldHint: null,
15
15
  FieldLabel: null,
16
16
  };
17
- const Root = ({ boxed = false, children, className, error = false, hideErrorBar = false, ref, ...props }) => {
17
+ const Field = ({ boxed = false, children, className, error = false, hideErrorBar = false, ref, ...props }) => {
18
18
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
19
19
  const slots = { ...useSlots(componentSlots, children) };
20
20
  const hasMarkers = !!((_b = (_a = slots.FieldLabel) !== null && _a !== void 0 ? _a : slots.FieldError) !== null && _b !== void 0 ? _b : slots.FieldHint);
@@ -33,7 +33,7 @@ const Root = ({ boxed = false, children, className, error = false, hideErrorBar
33
33
  return true;
34
34
  });
35
35
  }
36
- if (React__default.isValidElement(control)) {
36
+ if (React.isValidElement(control)) {
37
37
  const controlProps = control.props;
38
38
  controlId = (_c = controlProps.id) !== null && _c !== void 0 ? _c : controlId;
39
39
  controlDisabled = (_d = controlProps.disabled) !== null && _d !== void 0 ? _d : false;
@@ -41,10 +41,10 @@ const Root = ({ boxed = false, children, className, error = false, hideErrorBar
41
41
  isInline = (_k = (_j = (_h = control === null || control === void 0 ? void 0 : control.type) === null || _h === void 0 ? void 0 : _h.config) === null || _j === void 0 ? void 0 : _j.isInline) !== null && _k !== void 0 ? _k : false;
42
42
  slots.Control = controlProps.id
43
43
  ? control
44
- : React__default.cloneElement(control, { id: controlId });
44
+ : React.cloneElement(control, { id: controlId });
45
45
  }
46
- if (React__default.isValidElement(slots.FieldLabel) && !slots.FieldLabel.props.htmlFor) {
47
- slots.FieldLabel = React__default.cloneElement(slots.FieldLabel, {
46
+ if (React.isValidElement(slots.FieldLabel) && !slots.FieldLabel.props.htmlFor) {
47
+ slots.FieldLabel = React.cloneElement(slots.FieldLabel, {
48
48
  htmlFor: controlId + controlSuffix,
49
49
  });
50
50
  }
@@ -58,21 +58,14 @@ const Root = ({ boxed = false, children, className, error = false, hideErrorBar
58
58
  };
59
59
  return (jsxs("div", { ...componentProps, ref: ref, children: [!isInline && hasMarkers && (jsxs("div", { className: "coop-field-markers", children: [slots.FieldLabel, slots.FieldHint, slots.FieldError] })), slots.Control && (jsxs("div", { className: "coop-field-control", children: [slots.Control, isInline && hasMarkers && (jsxs("div", { className: "coop-field-markers", children: [slots.FieldLabel, slots.FieldHint, slots.FieldError] }))] })), slots.Children] }));
60
60
  };
61
- const FieldControl = ({ children, className, ...props }) => {
62
- return (jsx("div", { className: clsx("coop-field-control ", className), ...props, children: children }));
63
- };
64
61
  const FieldLabel = (props) => jsx(Label, { ...props });
65
62
  const FieldHint = (props) => jsx(Hint, { ...props });
66
63
  const FieldError = (props) => jsx(Error, { ...props });
67
- FieldControl.config = { name: "FieldControl" };
68
64
  FieldLabel.config = { name: "FieldLabel" };
69
65
  FieldHint.config = { name: "FieldHint" };
70
66
  FieldError.config = { name: "FieldError" };
71
- const Field = Object.assign(Root, {
72
- Control: FieldControl,
73
- Error: FieldError,
74
- Hint: FieldHint,
75
- Label: FieldLabel,
76
- });
67
+ Field.Label = FieldLabel;
68
+ Field.Hint = FieldHint;
69
+ Field.Error = FieldError;
77
70
 
78
- export { Field, FieldControl, Field as default };
71
+ export { Field, Field as default };
@@ -1,5 +1,4 @@
1
1
  import { Field } from './Field.js';
2
- export { FieldControl } from './Field.js';
3
2
 
4
3
 
5
4
 
@@ -21,23 +21,8 @@ export interface FieldsetProps extends FieldsetHTMLAttributes<HTMLFieldSetElemen
21
21
  /** **(Optional)** Specify the size of the Fieldset and all its descendents. */
22
22
  size?: StandardSizes;
23
23
  }
24
- interface FieldsetFieldsProps {
25
- /** **(Optional)** Specify whether all descendent Fields should render inside a box. */
26
- boxed?: boolean;
27
- /** **(Optional)** Form elements inside the Fieldset.Fields container. */
28
- children?: string | React.ReactNode;
29
- /** **(Optional)** Specify additional CSS classes to be applied to the component. */
30
- className?: string;
31
- /** **(Optional)** Specify the CheckboxGroup orientation. */
32
- orientation?: "horizontal" | "vertical";
33
- }
34
- export declare const FieldsetFields: {
35
- ({ boxed, children, className, orientation, ...props }: FieldsetFieldsProps): JSX.Element;
36
- config: {
37
- name: string;
38
- };
39
- };
40
- export declare const Fieldset: (({ children, className, disabled, error, hideErrorBar, ref, size, ...props }: FieldsetProps) => JSX.Element) & {
24
+ export declare const Fieldset: {
25
+ ({ children, className, disabled, error, hideErrorBar, ref, size, ...props }: FieldsetProps): JSX.Element;
41
26
  Error: {
42
27
  (props: ErrorProps): import("react/jsx-runtime").JSX.Element;
43
28
  config: {
@@ -63,4 +48,14 @@ export declare const Fieldset: (({ children, className, disabled, error, hideErr
63
48
  };
64
49
  };
65
50
  };
51
+ interface FieldsetFieldsProps {
52
+ /** **(Optional)** Specify whether all descendent Fields should render inside a box. */
53
+ boxed?: boolean;
54
+ /** **(Optional)** Form elements inside the Fieldset.Fields container. */
55
+ children?: string | React.ReactNode;
56
+ /** **(Optional)** Specify additional CSS classes to be applied to the component. */
57
+ className?: string;
58
+ /** **(Optional)** Specify the CheckboxGroup orientation. */
59
+ orientation?: "horizontal" | "vertical";
60
+ }
66
61
  export default Fieldset;
@@ -4,7 +4,7 @@ import { Error } from '../FieldMarkers/Error.js';
4
4
  import { Hint } from '../FieldMarkers/Hint.js';
5
5
  import { Legend } from '../FieldMarkers/Legend.js';
6
6
 
7
- const Root = ({ children, className, disabled, error = false, hideErrorBar = false, ref, size = "md", ...props }) => {
7
+ const Fieldset = ({ children, className, disabled, error = false, hideErrorBar = false, ref, size = "md", ...props }) => {
8
8
  const componentProps = {
9
9
  "aria-disabled": disabled,
10
10
  className: clsx("coop-fieldset", className),
@@ -32,11 +32,9 @@ FieldsetFields.config = { name: "FieldsetField" };
32
32
  FieldsetLegend.config = { name: "FieldsetLegend" };
33
33
  FieldsetHint.config = { name: "FieldsetHint" };
34
34
  FieldsetError.config = { name: "FieldsetError" };
35
- const Fieldset = Object.assign(Root, {
36
- Error: FieldsetError,
37
- Fields: FieldsetFields,
38
- Hint: FieldsetHint,
39
- Legend: FieldsetLegend,
40
- });
35
+ Fieldset.Error = FieldsetError;
36
+ Fieldset.Fields = FieldsetFields;
37
+ Fieldset.Hint = FieldsetHint;
38
+ Fieldset.Legend = FieldsetLegend;
41
39
 
42
- export { Fieldset, FieldsetFields, Fieldset as default };
40
+ export { Fieldset, Fieldset as default };
@@ -1,6 +1,6 @@
1
1
  import { jsx } from 'react/jsx-runtime';
2
2
  import clsx from 'clsx';
3
- import React__default from 'react';
3
+ import React from 'react';
4
4
  import { useSlots } from '../../hooks/useSlots.js';
5
5
  import { hasUserBg } from '../../utils/index.js';
6
6
 
@@ -19,7 +19,7 @@ const Pill = ({ as, children, className, href, ref, size = "md", ...props }) =>
19
19
  };
20
20
  // https://github.com/facebook/react/issues/34775
21
21
  // eslint-disable-next-line react-hooks/refs
22
- return React__default.createElement(element, { ...componentProps, ref }, slots.PillBadge, slots.Children);
22
+ return React.createElement(element, { ...componentProps, ref }, slots.PillBadge, slots.Children);
23
23
  };
24
24
  const PillBadge = ({ children, className }) => {
25
25
  return (jsx("span", { className: clsx("coop-pill--badge", !hasUserBg(className) && "bg-red", className), children: children }));
@@ -1,5 +1,5 @@
1
1
  import { jsxs, jsx } from 'react/jsx-runtime';
2
- import { Root as Root2, Portal, Trigger, Content as Content2, Arrow as Arrow2, Close, Anchor as Anchor2 } from '../../node_modules/@radix-ui/react-popover/dist/index.js';
2
+ import * as RadixPopover from '@radix-ui/react-popover';
3
3
  import clsx from 'clsx';
4
4
  import { useSlots } from '../../hooks/useSlots.js';
5
5
  import { hasUserBg, bgClassToColor } from '../../utils/index.js';
@@ -12,7 +12,7 @@ const componentSlots = {
12
12
  const Popover = ({ children, ...props }) => {
13
13
  var _a;
14
14
  const slots = useSlots(componentSlots, children);
15
- return (jsxs(Root2, { ...props, children: [(_a = slots.PopoverAnchor) !== null && _a !== void 0 ? _a : slots.PopoverTrigger, jsx(Portal, { children: slots.PopoverContent })] }));
15
+ return (jsxs(RadixPopover.Root, { ...props, children: [(_a = slots.PopoverAnchor) !== null && _a !== void 0 ? _a : slots.PopoverTrigger, jsx(RadixPopover.Portal, { children: slots.PopoverContent })] }));
16
16
  };
17
17
  const PopoverContent = ({ align = "center", alignOffset = 0, asChild = false, avoidCollisions = true, children, className, collisionPadding = 16, ref, side = "bottom", sideOffset = 4, style, ...props }) => {
18
18
  const componentProps = {
@@ -31,7 +31,7 @@ const PopoverContent = ({ align = "center", alignOffset = 0, asChild = false, av
31
31
  ...style,
32
32
  "--popover-bg": `var(--color-${bgClassToColor(componentProps.className)})`,
33
33
  };
34
- return (jsxs(Content2, { ref: ref, ...componentProps, children: [children, jsx(Arrow2, { className: "coop-popover-arrow" })] }));
34
+ return (jsxs(RadixPopover.Content, { ref: ref, ...componentProps, children: [children, jsx(RadixPopover.Arrow, { className: "coop-popover-arrow" })] }));
35
35
  };
36
36
  const PopoverTrigger = ({ asChild = false, children, className, ...props }) => {
37
37
  const componentProps = {
@@ -46,7 +46,7 @@ const PopoverTrigger = ({ asChild = false, children, className, ...props }) => {
46
46
  className: clsx("coop-popover-trigger", className),
47
47
  ...props,
48
48
  };
49
- return jsx(Trigger, { ...componentProps, children: children });
49
+ return jsx(RadixPopover.Trigger, { ...componentProps, children: children });
50
50
  };
51
51
  const PopoverClose = ({ asChild = false, children, className, ...props }) => {
52
52
  const componentProps = {
@@ -54,14 +54,14 @@ const PopoverClose = ({ asChild = false, children, className, ...props }) => {
54
54
  className: clsx("coop-popover-close", className),
55
55
  ...props,
56
56
  };
57
- return (jsx(Close, { "aria-label": "Close", ...componentProps, children: children }));
57
+ return (jsx(RadixPopover.Close, { "aria-label": "Close", ...componentProps, children: children }));
58
58
  };
59
59
  const PopoverAnchor = ({ asChild = false, children, ...props }) => {
60
60
  const componentProps = {
61
61
  asChild,
62
62
  ...props,
63
63
  };
64
- return jsx(Anchor2, { ...componentProps, children: children });
64
+ return jsx(RadixPopover.Anchor, { ...componentProps, children: children });
65
65
  };
66
66
  PopoverTrigger.config = { name: "PopoverTrigger" };
67
67
  PopoverContent.config = { name: "PopoverContent" };
@@ -2,7 +2,7 @@
2
2
  "use client";
3
3
  import { jsx, jsxs } from 'react/jsx-runtime';
4
4
  import clsx from 'clsx';
5
- import React__default, { useState, useCallback } from 'react';
5
+ import React, { useState, useCallback } from 'react';
6
6
  import { useId } from '../../hooks/useId.js';
7
7
  import { useSlots } from '../../hooks/useSlots.js';
8
8
  import { hasUserBorder } from '../../utils/index.js';
@@ -15,7 +15,7 @@ const componentSlots = {
15
15
  SearchboxButton: null,
16
16
  SearchboxInput: null,
17
17
  };
18
- const defaultButtonText = React__default.createElement(SearchIcon, {
18
+ const defaultButtonText = React.createElement(SearchIcon, {
19
19
  alt: "Search",
20
20
  stroke: "currentColor",
21
21
  width: 24,
@@ -49,11 +49,11 @@ const Searchbox = ({ action, children, className, id, label, labelVisible = fals
49
49
  onSubmit: onSubmit ? handleSubmit : undefined,
50
50
  ...props,
51
51
  };
52
- slots.SearchboxButton = React__default.cloneElement(slots.SearchboxButton, {
52
+ slots.SearchboxButton = React.cloneElement(slots.SearchboxButton, {
53
53
  isLoading: isPending,
54
54
  size,
55
55
  });
56
- slots.SearchboxInput = React__default.cloneElement(slots.SearchboxInput, {
56
+ slots.SearchboxInput = React.cloneElement(slots.SearchboxInput, {
57
57
  autoCapitalize: "off",
58
58
  id: uid,
59
59
  size,
@@ -1,6 +1,6 @@
1
1
  import { jsxs, jsx } from 'react/jsx-runtime';
2
2
  import clsx from 'clsx';
3
- import React__default from 'react';
3
+ import React from 'react';
4
4
  import { ChevronRightIcon } from '../icons/ChevronRightIcon.js';
5
5
  import { Image } from '../Image/Image.js';
6
6
 
@@ -10,7 +10,7 @@ const Signpost = ({ as, children, className, headingLevel = "h3", href, image, r
10
10
  className: clsx("coop-signpost", className),
11
11
  ...props,
12
12
  };
13
- return (jsxs("div", { ...componentProps, ref: ref, children: [image && jsx(Image, { crop: "wide", ...image }), React__default.createElement(element, { href }, jsxs("div", { className: "coop-signpost--content", children: [React__default.createElement(headingLevel, { className: "coop-signpost--heading" }, children), jsx("span", { "aria-hidden": "true", className: "coop-signpost--icon", role: "presentation", children: jsx(ChevronRightIcon, {}) })] }))] }));
13
+ return (jsxs("div", { ...componentProps, ref: ref, children: [image && jsx(Image, { crop: "wide", ...image }), React.createElement(element, { href }, jsxs("div", { className: "coop-signpost--content", children: [React.createElement(headingLevel, { className: "coop-signpost--heading" }, children), jsx("span", { "aria-hidden": "true", className: "coop-signpost--icon", role: "presentation", children: jsx(ChevronRightIcon, {}) })] }))] }));
14
14
  };
15
15
 
16
16
  export { Signpost, Signpost as default };
@@ -1,5 +1,5 @@
1
1
  import clsx from 'clsx';
2
- import React__default from 'react';
2
+ import React from 'react';
3
3
  import { hasUserBg } from '../../utils/index.js';
4
4
 
5
5
  const Tag = ({ as, children, className, href, ref, size = "md", ...props }) => {
@@ -10,7 +10,7 @@ const Tag = ({ as, children, className, href, ref, size = "md", ...props }) => {
10
10
  href,
11
11
  ...props,
12
12
  };
13
- return React__default.createElement(element, { ...componentProps, ref }, children);
13
+ return React.createElement(element, { ...componentProps, ref }, children);
14
14
  };
15
15
 
16
16
  export { Tag, Tag as default };
@@ -1,3 +1,5 @@
1
+
2
+ "use client";
1
3
  import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
2
4
  import clsx from 'clsx';
3
5
  import { useState } from 'react';
@@ -1,11 +1,11 @@
1
- import React__default from 'react';
1
+ import React from 'react';
2
2
 
3
3
  function isKey(x, k) {
4
4
  return k in x;
5
5
  }
6
6
  function getSlotName(node) {
7
7
  var _a, _b, _c;
8
- if (React__default.isValidElement(node) &&
8
+ if (React.isValidElement(node) &&
9
9
  node.type &&
10
10
  typeof node.type !== "string" &&
11
11
  typeof node.type !== "symbol") {
@@ -14,7 +14,7 @@ function getSlotName(node) {
14
14
  return false;
15
15
  }
16
16
  function useSlots(componentSlots, children, options) {
17
- return React__default.Children.toArray(children).reduce((slots, child) => {
17
+ return React.Children.toArray(children).reduce((slots, child) => {
18
18
  var _a;
19
19
  const slotName = getSlotName(child);
20
20
  if (child && slotName && isKey(componentSlots, slotName)) {
package/dist/index.js CHANGED
@@ -5,8 +5,8 @@ export { Card } from './components/Card/Card.js';
5
5
  export { Checkbox } from './components/Checkbox/Checkbox.js';
6
6
  export { DatePicker } from './components/DatePicker/DatePicker.js';
7
7
  export { Expandable } from './components/Expandable/Expandable.js';
8
- export { Field, FieldControl } from './components/Field/Field.js';
9
- export { Fieldset, FieldsetFields } from './components/Fieldset/Fieldset.js';
8
+ export { Field } from './components/Field/Field.js';
9
+ export { Fieldset } from './components/Fieldset/Fieldset.js';
10
10
  export { Flourish } from './components/Flourish/Flourish.js';
11
11
  export { Form } from './components/Form/Form.js';
12
12
  export { Image } from './components/Image/Image.js';
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@coopdigital/react",
3
3
  "type": "module",
4
- "version": "0.55.0",
4
+ "version": "0.57.0",
5
5
  "private": false,
6
6
  "publishConfig": {
7
7
  "access": "public"
@@ -59,20 +59,20 @@
59
59
  "description": "React components for the Experience Library design system",
60
60
  "devDependencies": {
61
61
  "@axe-core/playwright": "^4.11.1",
62
- "@playwright/test": "^1.58.1",
63
- "@storybook/addon-a11y": "^10.2.7",
64
- "@storybook/addon-docs": "^10.2.7",
65
- "@storybook/addon-onboarding": "^10.2.7",
66
- "@storybook/react-vite": "^10.2.7",
62
+ "@playwright/test": "^1.58.2",
63
+ "@storybook/addon-a11y": "^10.2.17",
64
+ "@storybook/addon-docs": "^10.2.17",
65
+ "@storybook/addon-onboarding": "^10.2.17",
66
+ "@storybook/react-vite": "^10.2.17",
67
67
  "@testing-library/jest-dom": "^6.9.1",
68
68
  "@testing-library/react": "^16.3.2",
69
- "@types/react": "^19.2.13",
69
+ "@types/react": "^19.2.14",
70
70
  "@types/react-dom": "^19.2.3",
71
71
  "react": "^19.2.4",
72
72
  "react-dom": "^19.2.4",
73
73
  "resize-observer-polyfill": "^1.5.1",
74
- "serve": "^14.2.5",
75
- "storybook": "^10.2.7",
74
+ "serve": "^14.2.6",
75
+ "storybook": "^10.2.17",
76
76
  "storybook-addon-tag-badges": "^3.0.6"
77
77
  },
78
78
  "peerDependencies": {
@@ -83,10 +83,10 @@
83
83
  "storybook": "$storybook"
84
84
  },
85
85
  "dependencies": {
86
- "@coopdigital/styles": "^0.46.0",
86
+ "@coopdigital/styles": "^0.47.0",
87
87
  "@radix-ui/react-popover": "^1.1.15",
88
88
  "clsx": "^2.1.1",
89
89
  "react-day-picker": "^9.12.0"
90
90
  },
91
- "gitHead": "a893acdaff1f6dc817bb01d77988b1bd9dd85ad1"
91
+ "gitHead": "317b2f6af79b7aa2362a87303b887160e08f95d4"
92
92
  }
@@ -250,6 +250,7 @@ export const DatePicker = ({
250
250
 
251
251
  const componentProps = {
252
252
  className: clsx("coop-datepicker", className),
253
+ "data-disabled": disabled ?? undefined,
253
254
  "data-error": error || undefined,
254
255
  "data-mode": mode,
255
256
  ...props,
@@ -300,9 +301,15 @@ export const DatePicker = ({
300
301
  required={required}
301
302
  size={size}
302
303
  suffix={
303
- <Popover.Trigger aria-label="Choose date" className="coop-datepicker-trigger">
304
- <CalendarIcon width={24} />
305
- </Popover.Trigger>
304
+ disabled ? (
305
+ <span className="coop-datepicker-trigger">
306
+ <CalendarIcon width={24} />
307
+ </span>
308
+ ) : (
309
+ <Popover.Trigger aria-label="Choose date" className="coop-datepicker-trigger">
310
+ <CalendarIcon width={24} />
311
+ </Popover.Trigger>
312
+ )
306
313
  }
307
314
  suffixInline={true}
308
315
  value={state?.[mode]?.input ?? ""}
@@ -1,4 +1,4 @@
1
- import type { HTMLAttributes, HTMLProps, JSX, Ref } from "react"
1
+ import type { HTMLAttributes, HTMLProps, Ref } from "react"
2
2
 
3
3
  import clsx from "clsx"
4
4
  import React from "react"
@@ -35,7 +35,7 @@ interface FieldProps extends HTMLAttributes<HTMLDivElement> {
35
35
  ref?: Ref<HTMLDivElement>
36
36
  }
37
37
 
38
- const Root = ({
38
+ export const Field = ({
39
39
  boxed = false,
40
40
  children,
41
41
  className,
@@ -116,40 +116,16 @@ const Root = ({
116
116
  </div>
117
117
  )
118
118
  }
119
-
120
- interface ControlProps extends HTMLAttributes<HTMLDivElement> {
121
- /** **(Optional)** Elements inside the form control. */
122
- children?: string | React.ReactNode
123
- /** **(Optional)** Specify additional CSS classes to be applied to the component. */
124
- className?: string
125
- }
126
-
127
- export const FieldControl = ({ children, className, ...props }: ControlProps): JSX.Element => {
128
- return (
129
- <div className={clsx("coop-field-control ", className)} {...props}>
130
- {children}
131
- </div>
132
- )
133
- }
134
-
135
119
  const FieldLabel = (props: LabelProps) => <BaseLabel {...props} />
136
120
  const FieldHint = (props: HintProps) => <BaseHint {...props} />
137
121
  const FieldError = (props: ErrorProps) => <BaseError {...props} />
138
122
 
139
- FieldControl.config = { name: "FieldControl" }
140
123
  FieldLabel.config = { name: "FieldLabel" }
141
124
  FieldHint.config = { name: "FieldHint" }
142
125
  FieldError.config = { name: "FieldError" }
143
126
 
144
- export const Field = Object.assign(Root, {
145
- Control: FieldControl,
146
- Error: FieldError,
147
- Hint: FieldHint,
148
- Label: FieldLabel,
149
- })
150
-
151
- // Field.Label = FieldLabel
152
- // Field.Hint = FieldHint
153
- // Field.Error = FieldError
127
+ Field.Label = FieldLabel
128
+ Field.Hint = FieldHint
129
+ Field.Error = FieldError
154
130
 
155
131
  export default Field