@coopdigital/react 1.12.0 → 1.13.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 (368) hide show
  1. package/dist/components/AlertBanner/AlertBanner.d.ts +29 -28
  2. package/dist/components/AlertBanner/AlertBanner.js +16 -12
  3. package/dist/components/AlertBanner/index.d.ts +2 -4
  4. package/dist/components/AlertBanner/index.js +5 -0
  5. package/dist/components/Author/Author.d.ts +25 -23
  6. package/dist/components/Author/Author.js +24 -17
  7. package/dist/components/Author/index.d.ts +2 -4
  8. package/dist/components/Author/index.js +5 -0
  9. package/dist/components/Button/Button.d.ts +33 -33
  10. package/dist/components/Button/Button.js +34 -33
  11. package/dist/components/Button/index.d.ts +2 -4
  12. package/dist/components/Button/index.js +5 -0
  13. package/dist/components/Card/Card.d.ts +91 -90
  14. package/dist/components/Card/Card.js +76 -43
  15. package/dist/components/Card/index.d.ts +2 -4
  16. package/dist/components/Card/index.js +5 -0
  17. package/dist/components/Checkbox/Checkbox.d.ts +26 -25
  18. package/dist/components/Checkbox/Checkbox.js +20 -20
  19. package/dist/components/Checkbox/index.d.ts +2 -4
  20. package/dist/components/Checkbox/index.js +5 -0
  21. package/dist/components/DatePicker/DatePicker.d.ts +63 -62
  22. package/dist/components/DatePicker/DatePicker.js +237 -136
  23. package/dist/components/DatePicker/datepicker-utils.d.ts +6 -66
  24. package/dist/components/DatePicker/datepicker-utils.js +164 -175
  25. package/dist/components/DatePicker/index.d.ts +2 -4
  26. package/dist/components/DatePicker/index.js +5 -0
  27. package/dist/components/Dialog/Dialog.d.ts +81 -80
  28. package/dist/components/Dialog/Dialog.js +98 -94
  29. package/dist/components/Dialog/index.d.ts +2 -4
  30. package/dist/components/Dialog/index.js +5 -0
  31. package/dist/components/Expandable/Expandable.d.ts +40 -39
  32. package/dist/components/Expandable/Expandable.js +30 -22
  33. package/dist/components/Expandable/index.d.ts +2 -4
  34. package/dist/components/Expandable/index.js +5 -0
  35. package/dist/components/Field/Field.context.js +6 -8
  36. package/dist/components/Field/Field.d.ts +51 -51
  37. package/dist/components/Field/Field.js +80 -57
  38. package/dist/components/Field/index.d.ts +2 -4
  39. package/dist/components/Field/index.js +5 -6
  40. package/dist/components/FieldMarkers/Error.d.ts +11 -10
  41. package/dist/components/FieldMarkers/Error.js +11 -10
  42. package/dist/components/FieldMarkers/Hint.d.ts +11 -10
  43. package/dist/components/FieldMarkers/Hint.js +11 -10
  44. package/dist/components/FieldMarkers/Label.d.ts +12 -11
  45. package/dist/components/FieldMarkers/Label.js +14 -14
  46. package/dist/components/FieldMarkers/Legend.d.ts +12 -11
  47. package/dist/components/FieldMarkers/Legend.js +18 -11
  48. package/dist/components/Fieldset/Fieldset.d.ts +72 -71
  49. package/dist/components/Fieldset/Fieldset.js +29 -28
  50. package/dist/components/Fieldset/index.d.ts +2 -4
  51. package/dist/components/Fieldset/index.js +5 -0
  52. package/dist/components/Flourish/Flourish.d.ts +18 -17
  53. package/dist/components/Flourish/Flourish.js +15 -10
  54. package/dist/components/Flourish/index.d.ts +2 -4
  55. package/dist/components/Flourish/index.js +5 -0
  56. package/dist/components/Form/Form.d.ts +15 -14
  57. package/dist/components/Form/Form.js +10 -9
  58. package/dist/components/Form/index.d.ts +2 -4
  59. package/dist/components/Form/index.js +5 -0
  60. package/dist/components/Image/Image.d.ts +21 -20
  61. package/dist/components/Image/Image.js +37 -31
  62. package/dist/components/Image/index.d.ts +2 -4
  63. package/dist/components/Image/index.js +5 -0
  64. package/dist/components/LoadingSpinner/LoadingSpinner.d.ts +14 -12
  65. package/dist/components/LoadingSpinner/LoadingSpinner.js +12 -13
  66. package/dist/components/LoadingSpinner/index.d.ts +2 -4
  67. package/dist/components/LoadingSpinner/index.js +5 -0
  68. package/dist/components/Logo/Logo.d.ts +18 -16
  69. package/dist/components/Logo/Logo.js +20 -0
  70. package/dist/components/Logo/index.d.ts +2 -4
  71. package/dist/components/Logo/index.js +5 -0
  72. package/dist/components/Pill/Pill.d.ts +34 -34
  73. package/dist/components/Pill/Pill.js +26 -20
  74. package/dist/components/Pill/index.d.ts +2 -4
  75. package/dist/components/Pill/index.js +5 -0
  76. package/dist/components/Popover/Popover.d.ts +91 -90
  77. package/dist/components/Popover/Popover.js +64 -55
  78. package/dist/components/Popover/index.d.ts +2 -4
  79. package/dist/components/Popover/index.js +5 -0
  80. package/dist/components/Radio/Radio.d.ts +26 -25
  81. package/dist/components/Radio/Radio.js +20 -21
  82. package/dist/components/Radio/index.d.ts +2 -4
  83. package/dist/components/Radio/index.js +5 -0
  84. package/dist/components/RootSVG/RootSVG.d.ts +7 -6
  85. package/dist/components/RootSVG/RootSVG.js +19 -9
  86. package/dist/components/RootSVG/index.d.ts +2 -4
  87. package/dist/components/RootSVG/index.js +5 -0
  88. package/dist/components/Searchbox/Searchbox.context.js +6 -7
  89. package/dist/components/Searchbox/Searchbox.d.ts +49 -47
  90. package/dist/components/Searchbox/Searchbox.js +85 -60
  91. package/dist/components/Searchbox/index.d.ts +2 -4
  92. package/dist/components/Searchbox/index.js +5 -0
  93. package/dist/components/Select/Select.d.ts +58 -52
  94. package/dist/components/Select/Select.js +29 -20
  95. package/dist/components/Select/index.d.ts +2 -4
  96. package/dist/components/Select/index.js +5 -0
  97. package/dist/components/Signpost/Signpost.d.ts +25 -24
  98. package/dist/components/Signpost/Signpost.js +25 -13
  99. package/dist/components/Signpost/index.d.ts +2 -4
  100. package/dist/components/Signpost/index.js +5 -0
  101. package/dist/components/SkipNav/SkipNav.d.ts +20 -19
  102. package/dist/components/SkipNav/SkipNav.js +25 -18
  103. package/dist/components/SkipNav/index.d.ts +2 -4
  104. package/dist/components/SkipNav/index.js +5 -0
  105. package/dist/components/Squircle/Squircle.d.ts +17 -16
  106. package/dist/components/Squircle/Squircle.js +12 -11
  107. package/dist/components/Squircle/index.d.ts +2 -4
  108. package/dist/components/Squircle/index.js +5 -0
  109. package/dist/components/Tag/Tag.d.ts +21 -21
  110. package/dist/components/Tag/Tag.js +16 -13
  111. package/dist/components/Tag/index.d.ts +2 -4
  112. package/dist/components/Tag/index.js +5 -0
  113. package/dist/components/TextInput/TextInput.d.ts +41 -35
  114. package/dist/components/TextInput/TextInput.js +45 -28
  115. package/dist/components/TextInput/index.d.ts +2 -4
  116. package/dist/components/TextInput/index.js +5 -5
  117. package/dist/components/Textarea/Textarea.d.ts +44 -38
  118. package/dist/components/Textarea/Textarea.js +49 -35
  119. package/dist/components/Textarea/index.d.ts +2 -4
  120. package/dist/components/Textarea/index.js +5 -0
  121. package/dist/components/ValidationSummary/ValidationSummary.d.ts +73 -73
  122. package/dist/components/ValidationSummary/ValidationSummary.js +72 -62
  123. package/dist/components/ValidationSummary/index.d.ts +2 -4
  124. package/dist/components/ValidationSummary/index.js +5 -0
  125. package/dist/components/ValidationSummary/validationsummary-utils.js +7 -10
  126. package/dist/components/icons/AccountCircleFilledIcon.d.ts +6 -4
  127. package/dist/components/icons/AccountCircleFilledIcon.js +21 -17
  128. package/dist/components/icons/AccountCircleIcon.d.ts +6 -4
  129. package/dist/components/icons/AccountCircleIcon.js +21 -17
  130. package/dist/components/icons/AccountFilledIcon.d.ts +6 -4
  131. package/dist/components/icons/AccountFilledIcon.js +21 -17
  132. package/dist/components/icons/AccountIcon.d.ts +6 -4
  133. package/dist/components/icons/AccountIcon.js +21 -17
  134. package/dist/components/icons/AddIcon.d.ts +6 -4
  135. package/dist/components/icons/AddIcon.js +21 -17
  136. package/dist/components/icons/AppsFilledIcon.d.ts +6 -4
  137. package/dist/components/icons/AppsFilledIcon.js +21 -17
  138. package/dist/components/icons/AppsIcon.d.ts +6 -4
  139. package/dist/components/icons/AppsIcon.js +21 -17
  140. package/dist/components/icons/ArrowDownIcon.d.ts +6 -4
  141. package/dist/components/icons/ArrowDownIcon.js +21 -17
  142. package/dist/components/icons/ArrowLeftIcon.d.ts +6 -4
  143. package/dist/components/icons/ArrowLeftIcon.js +21 -17
  144. package/dist/components/icons/ArrowRightIcon.d.ts +6 -4
  145. package/dist/components/icons/ArrowRightIcon.js +21 -17
  146. package/dist/components/icons/ArrowUpIcon.d.ts +6 -4
  147. package/dist/components/icons/ArrowUpIcon.js +21 -17
  148. package/dist/components/icons/BackspaceFilledIcon.d.ts +6 -4
  149. package/dist/components/icons/BackspaceFilledIcon.js +21 -17
  150. package/dist/components/icons/BackspaceIcon.d.ts +6 -4
  151. package/dist/components/icons/BackspaceIcon.js +21 -17
  152. package/dist/components/icons/BasketFilledIcon.d.ts +6 -4
  153. package/dist/components/icons/BasketFilledIcon.js +21 -17
  154. package/dist/components/icons/BasketIcon.d.ts +6 -4
  155. package/dist/components/icons/BasketIcon.js +21 -17
  156. package/dist/components/icons/BellFilledIcon.d.ts +6 -4
  157. package/dist/components/icons/BellFilledIcon.js +28 -17
  158. package/dist/components/icons/BellIcon.d.ts +6 -4
  159. package/dist/components/icons/BellIcon.js +21 -17
  160. package/dist/components/icons/BroomIcon.d.ts +6 -4
  161. package/dist/components/icons/BroomIcon.js +21 -17
  162. package/dist/components/icons/CalendarFilledIcon.d.ts +6 -4
  163. package/dist/components/icons/CalendarFilledIcon.js +21 -17
  164. package/dist/components/icons/CalendarIcon.d.ts +6 -4
  165. package/dist/components/icons/CalendarIcon.js +21 -17
  166. package/dist/components/icons/CashFilledIcon.d.ts +6 -4
  167. package/dist/components/icons/CashFilledIcon.js +21 -17
  168. package/dist/components/icons/CashIcon.d.ts +6 -4
  169. package/dist/components/icons/CashIcon.js +29 -17
  170. package/dist/components/icons/ChevronDownIcon.d.ts +6 -4
  171. package/dist/components/icons/ChevronDownIcon.js +21 -17
  172. package/dist/components/icons/ChevronLeftIcon.d.ts +6 -4
  173. package/dist/components/icons/ChevronLeftIcon.js +21 -17
  174. package/dist/components/icons/ChevronRightIcon.d.ts +6 -4
  175. package/dist/components/icons/ChevronRightIcon.js +21 -17
  176. package/dist/components/icons/ChevronUpIcon.d.ts +6 -4
  177. package/dist/components/icons/ChevronUpIcon.js +21 -17
  178. package/dist/components/icons/CircleBurgerFilledIcon.d.ts +6 -4
  179. package/dist/components/icons/CircleBurgerFilledIcon.js +21 -17
  180. package/dist/components/icons/CircleBurgerIcon.d.ts +6 -4
  181. package/dist/components/icons/CircleBurgerIcon.js +21 -17
  182. package/dist/components/icons/ClipboardFilledIcon.d.ts +6 -4
  183. package/dist/components/icons/ClipboardFilledIcon.js +21 -17
  184. package/dist/components/icons/ClipboardIcon.d.ts +6 -4
  185. package/dist/components/icons/ClipboardIcon.js +21 -17
  186. package/dist/components/icons/ClockFilledIcon.d.ts +6 -4
  187. package/dist/components/icons/ClockFilledIcon.js +25 -17
  188. package/dist/components/icons/ClockIcon.d.ts +6 -4
  189. package/dist/components/icons/ClockIcon.js +21 -17
  190. package/dist/components/icons/CloseAltFilledIcon.d.ts +6 -4
  191. package/dist/components/icons/CloseAltFilledIcon.js +25 -17
  192. package/dist/components/icons/CloseAltIcon.d.ts +6 -4
  193. package/dist/components/icons/CloseAltIcon.js +21 -17
  194. package/dist/components/icons/CogIcon.d.ts +6 -4
  195. package/dist/components/icons/CogIcon.js +21 -17
  196. package/dist/components/icons/CommunityFilledIcon.d.ts +6 -4
  197. package/dist/components/icons/CommunityFilledIcon.js +21 -17
  198. package/dist/components/icons/CommunityIcon.d.ts +6 -4
  199. package/dist/components/icons/CommunityIcon.js +21 -17
  200. package/dist/components/icons/ComputerIcon.d.ts +6 -4
  201. package/dist/components/icons/ComputerIcon.js +21 -17
  202. package/dist/components/icons/ContactFilledIcon.d.ts +6 -4
  203. package/dist/components/icons/ContactFilledIcon.js +21 -17
  204. package/dist/components/icons/ContactIcon.d.ts +6 -4
  205. package/dist/components/icons/ContactIcon.js +21 -17
  206. package/dist/components/icons/ContactlessFilledIcon.d.ts +6 -4
  207. package/dist/components/icons/ContactlessFilledIcon.js +21 -17
  208. package/dist/components/icons/ContactlessIcon.d.ts +6 -4
  209. package/dist/components/icons/ContactlessIcon.js +21 -17
  210. package/dist/components/icons/CoopLiveIcon.d.ts +6 -4
  211. package/dist/components/icons/CoopLiveIcon.js +25 -17
  212. package/dist/components/icons/CoopLocationFilledIcon.d.ts +6 -4
  213. package/dist/components/icons/CoopLocationFilledIcon.js +26 -17
  214. package/dist/components/icons/CoopLogoIcon.d.ts +6 -4
  215. package/dist/components/icons/CoopLogoIcon.js +21 -17
  216. package/dist/components/icons/CoopMembershipCardFilledIcon.d.ts +6 -4
  217. package/dist/components/icons/CoopMembershipCardFilledIcon.js +29 -17
  218. package/dist/components/icons/CreditCardFilledIcon.d.ts +6 -4
  219. package/dist/components/icons/CreditCardFilledIcon.js +25 -17
  220. package/dist/components/icons/CreditCardIcon.d.ts +6 -4
  221. package/dist/components/icons/CreditCardIcon.js +21 -17
  222. package/dist/components/icons/CrossIcon.d.ts +6 -4
  223. package/dist/components/icons/CrossIcon.js +21 -17
  224. package/dist/components/icons/DocumentIcon.d.ts +6 -4
  225. package/dist/components/icons/DocumentIcon.js +21 -17
  226. package/dist/components/icons/DownloadIcon.d.ts +6 -4
  227. package/dist/components/icons/DownloadIcon.js +21 -17
  228. package/dist/components/icons/EnterStoreIcon.d.ts +6 -4
  229. package/dist/components/icons/EnterStoreIcon.js +21 -17
  230. package/dist/components/icons/ExitStoreIcon.d.ts +6 -4
  231. package/dist/components/icons/ExitStoreIcon.js +21 -17
  232. package/dist/components/icons/EyeFilledIcon.d.ts +6 -4
  233. package/dist/components/icons/EyeFilledIcon.js +21 -17
  234. package/dist/components/icons/EyeIcon.d.ts +6 -4
  235. package/dist/components/icons/EyeIcon.js +21 -17
  236. package/dist/components/icons/EyeStrikeFilledIcon.d.ts +6 -4
  237. package/dist/components/icons/EyeStrikeFilledIcon.js +21 -17
  238. package/dist/components/icons/EyeStrikeIcon.d.ts +6 -4
  239. package/dist/components/icons/EyeStrikeIcon.js +21 -17
  240. package/dist/components/icons/FeedbackFilledIcon.d.ts +6 -4
  241. package/dist/components/icons/FeedbackFilledIcon.js +24 -17
  242. package/dist/components/icons/FeedbackIcon.d.ts +6 -4
  243. package/dist/components/icons/FeedbackIcon.js +21 -17
  244. package/dist/components/icons/FilterIcon.d.ts +6 -4
  245. package/dist/components/icons/FilterIcon.js +21 -17
  246. package/dist/components/icons/GiftCardFilledIcon.d.ts +6 -4
  247. package/dist/components/icons/GiftCardFilledIcon.js +21 -17
  248. package/dist/components/icons/GiftCardIcon.d.ts +6 -4
  249. package/dist/components/icons/GiftCardIcon.js +21 -17
  250. package/dist/components/icons/GiftFilledIcon.d.ts +6 -4
  251. package/dist/components/icons/GiftFilledIcon.js +21 -17
  252. package/dist/components/icons/GiftIcon.d.ts +6 -4
  253. package/dist/components/icons/GiftIcon.js +21 -17
  254. package/dist/components/icons/HelpFilledIcon.d.ts +6 -4
  255. package/dist/components/icons/HelpFilledIcon.js +21 -17
  256. package/dist/components/icons/HelpIcon.d.ts +6 -4
  257. package/dist/components/icons/HelpIcon.js +21 -17
  258. package/dist/components/icons/HomeFilledIcon.d.ts +6 -4
  259. package/dist/components/icons/HomeFilledIcon.js +21 -17
  260. package/dist/components/icons/HomeIcon.d.ts +6 -4
  261. package/dist/components/icons/HomeIcon.js +21 -17
  262. package/dist/components/icons/HowDoIAssistantIcon.d.ts +6 -4
  263. package/dist/components/icons/HowDoIAssistantIcon.js +21 -17
  264. package/dist/components/icons/InfoIcon.d.ts +6 -4
  265. package/dist/components/icons/InfoIcon.js +21 -17
  266. package/dist/components/icons/KebabIcon.d.ts +6 -4
  267. package/dist/components/icons/KebabIcon.js +21 -17
  268. package/dist/components/icons/LoadingIcon.d.ts +6 -4
  269. package/dist/components/icons/LoadingIcon.js +21 -17
  270. package/dist/components/icons/LocationFilledIcon.d.ts +6 -4
  271. package/dist/components/icons/LocationFilledIcon.js +21 -17
  272. package/dist/components/icons/LocationIcon.d.ts +6 -4
  273. package/dist/components/icons/LocationIcon.js +21 -17
  274. package/dist/components/icons/LogoutIcon.d.ts +6 -4
  275. package/dist/components/icons/LogoutIcon.js +21 -17
  276. package/dist/components/icons/MailIcon.d.ts +6 -4
  277. package/dist/components/icons/MailIcon.js +21 -17
  278. package/dist/components/icons/MenuIcon.d.ts +6 -4
  279. package/dist/components/icons/MenuIcon.js +21 -17
  280. package/dist/components/icons/MessageIcon.d.ts +6 -4
  281. package/dist/components/icons/MessageIcon.js +21 -17
  282. package/dist/components/icons/MinusIcon.d.ts +6 -4
  283. package/dist/components/icons/MinusIcon.js +21 -17
  284. package/dist/components/icons/NotesFilledIcon.d.ts +6 -4
  285. package/dist/components/icons/NotesFilledIcon.js +21 -17
  286. package/dist/components/icons/NotesIcon.d.ts +6 -4
  287. package/dist/components/icons/NotesIcon.js +21 -17
  288. package/dist/components/icons/OpenNewIcon.d.ts +6 -4
  289. package/dist/components/icons/OpenNewIcon.js +25 -17
  290. package/dist/components/icons/OwnBagIcon.d.ts +6 -4
  291. package/dist/components/icons/OwnBagIcon.js +21 -17
  292. package/dist/components/icons/PadlockIcon.d.ts +6 -4
  293. package/dist/components/icons/PadlockIcon.js +21 -17
  294. package/dist/components/icons/PencilIcon.d.ts +6 -4
  295. package/dist/components/icons/PencilIcon.js +21 -17
  296. package/dist/components/icons/PhoneIcon.d.ts +6 -4
  297. package/dist/components/icons/PhoneIcon.js +21 -17
  298. package/dist/components/icons/PowerIcon.d.ts +6 -4
  299. package/dist/components/icons/PowerIcon.js +21 -17
  300. package/dist/components/icons/SaveFilledIcon.d.ts +6 -4
  301. package/dist/components/icons/SaveFilledIcon.js +21 -17
  302. package/dist/components/icons/SaveIcon.d.ts +6 -4
  303. package/dist/components/icons/SaveIcon.js +21 -17
  304. package/dist/components/icons/ScooterIcon.d.ts +6 -4
  305. package/dist/components/icons/ScooterIcon.js +21 -17
  306. package/dist/components/icons/SearchFilledIcon.d.ts +6 -4
  307. package/dist/components/icons/SearchFilledIcon.js +21 -17
  308. package/dist/components/icons/SearchIcon.d.ts +6 -4
  309. package/dist/components/icons/SearchIcon.js +21 -17
  310. package/dist/components/icons/SendIcon.d.ts +6 -4
  311. package/dist/components/icons/SendIcon.js +21 -17
  312. package/dist/components/icons/SpannerIcon.d.ts +6 -4
  313. package/dist/components/icons/SpannerIcon.js +21 -17
  314. package/dist/components/icons/StarFilledIcon.d.ts +6 -4
  315. package/dist/components/icons/StarFilledIcon.js +24 -17
  316. package/dist/components/icons/StarIcon.d.ts +6 -4
  317. package/dist/components/icons/StarIcon.js +21 -17
  318. package/dist/components/icons/TickAltFilledIcon.d.ts +6 -4
  319. package/dist/components/icons/TickAltFilledIcon.js +25 -17
  320. package/dist/components/icons/TickAltIcon.d.ts +6 -4
  321. package/dist/components/icons/TickAltIcon.js +21 -17
  322. package/dist/components/icons/TickIcon.d.ts +6 -4
  323. package/dist/components/icons/TickIcon.js +21 -17
  324. package/dist/components/icons/TruckIcon.d.ts +6 -4
  325. package/dist/components/icons/TruckIcon.js +21 -17
  326. package/dist/components/icons/UserWipeIcon.d.ts +6 -4
  327. package/dist/components/icons/UserWipeIcon.js +21 -17
  328. package/dist/components/icons/VoucherFilledIcon.d.ts +6 -4
  329. package/dist/components/icons/VoucherFilledIcon.js +21 -17
  330. package/dist/components/icons/VoucherIcon.d.ts +6 -4
  331. package/dist/components/icons/VoucherIcon.js +21 -17
  332. package/dist/components/icons/WarningCircleFilledIcon.d.ts +6 -4
  333. package/dist/components/icons/WarningCircleFilledIcon.js +25 -17
  334. package/dist/components/icons/WarningCircleIcon.d.ts +6 -4
  335. package/dist/components/icons/WarningCircleIcon.js +29 -17
  336. package/dist/components/icons/WarningFilledIcon.d.ts +6 -4
  337. package/dist/components/icons/WarningFilledIcon.js +21 -17
  338. package/dist/components/icons/WarningIcon.d.ts +6 -4
  339. package/dist/components/icons/WarningIcon.js +21 -17
  340. package/dist/components/icons/WifiIcon.d.ts +6 -4
  341. package/dist/components/icons/WifiIcon.js +21 -17
  342. package/dist/components/icons/WriteIcon.d.ts +6 -4
  343. package/dist/components/icons/WriteIcon.js +27 -17
  344. package/dist/components/icons/index.d.ts +110 -109
  345. package/dist/components/icons/index.js +110 -109
  346. package/dist/hooks/index.d.ts +4 -0
  347. package/dist/hooks/index.js +4 -0
  348. package/dist/hooks/useDebounce.d.ts +4 -1
  349. package/dist/hooks/useDebounce.js +13 -13
  350. package/dist/hooks/useId.d.ts +5 -2
  351. package/dist/hooks/useId.js +7 -7
  352. package/dist/hooks/useSlots.d.ts +5 -8
  353. package/dist/hooks/useSlots.js +30 -50
  354. package/dist/index.d.ts +28 -27
  355. package/dist/index.js +28 -27
  356. package/dist/types/colors.d.ts +10 -10
  357. package/dist/types/index.d.ts +4 -16
  358. package/dist/utils/index.d.ts +8 -5
  359. package/dist/utils/index.js +9 -13
  360. package/package.json +4 -3
  361. package/src/components/Select/Select.tsx +7 -0
  362. package/src/components/TextInput/TextInput.tsx +7 -0
  363. package/src/components/Textarea/Textarea.tsx +7 -0
  364. package/src/hooks/index.ts +3 -0
  365. package/src/index.ts +27 -27
  366. package/dist/components/Field/Field.context.d.ts +0 -14
  367. package/dist/components/Searchbox/Searchbox.context.d.ts +0 -13
  368. package/dist/components/ValidationSummary/validationsummary-utils.d.ts +0 -2
@@ -1,54 +1,56 @@
1
- import type { FormHTMLAttributes, JSX, RefObject } from "react";
2
- import React from "react";
3
- import { StandardSizes } from "../../types";
4
- import { type ButtonProps } from "../Button";
5
- import { TextInputProps } from "../TextInput";
6
- export interface SearchboxProps extends FormHTMLAttributes<HTMLFormElement> {
7
- /** **(Optional)** Specify a server endpoint to submit the form. Will be ignored if onSubmit is also set. */
8
- action?: string;
9
- /** **(Optional)** Specify props to forward to the Button element. Use `label` to set Button text. */
10
- button?: Pick<ButtonProps, "className" | "loadingText"> & {
11
- label?: React.ReactNode;
12
- };
13
- /** **(Optional)** Specify additional CSS classes to be applied to the component. */
14
- className?: string;
15
- /** **(Optional)** Specify the TextInput id. Will be auto-generated if not set. */
16
- id?: string;
17
- /** Specify the label displayed above the search field. Hidden by default, but visible to screen readers. */
18
- label: string;
19
- /** **(Optional)** Specify whether the label should be visible to humans or screenreaders. */
20
- labelVisible?: boolean;
21
- /** **(Optional)** Specify the TextInput name, also used as the URL search parameter. Defaults to `query`. */
22
- name?: string;
23
- /** **(Optional)** Callback to run when the form is submitted. If this is an async function, it will be awaited and the Searchbox will be in a pending state until the promise is resolved. */
24
- onSubmit?: React.SubmitEventHandler<HTMLElement> | undefined;
25
- /** **(Optional)** Specify the TextInput placeholder text Do not use in place of a form label. */
26
- placeholder?: string;
27
- /** **(Optional)** Specify a custom React ref for this component. */
28
- ref?: RefObject<HTMLFormElement | null>;
29
- /** **(Optional)** Specify the Searchbox size. */
30
- size?: StandardSizes;
31
- /** **(Optional)** Specify the Searchbox variant. */
32
- variant?: "solid" | "ghost";
1
+ import { ButtonProps } from "../Button/Button.js";
2
+ import "../Button/index.js";
3
+ import { StandardSizes } from "../../types/index.js";
4
+ import { TextInputProps } from "../TextInput/TextInput.js";
5
+ import "../TextInput/index.js";
6
+ import React, { FormHTMLAttributes, JSX, RefObject } from "react";
7
+ //#region src/components/Searchbox/Searchbox.d.ts
8
+ interface SearchboxProps extends FormHTMLAttributes<HTMLFormElement> {
9
+ /** **(Optional)** Specify a server endpoint to submit the form. Will be ignored if onSubmit is also set. */
10
+ action?: string;
11
+ /** **(Optional)** Specify props to forward to the Button element. Use `label` to set Button text. */
12
+ button?: Pick<ButtonProps, "className" | "loadingText"> & {
13
+ label?: React.ReactNode;
14
+ };
15
+ /** **(Optional)** Specify additional CSS classes to be applied to the component. */
16
+ className?: string;
17
+ /** **(Optional)** Specify the TextInput id. Will be auto-generated if not set. */
18
+ id?: string;
19
+ /** Specify the label displayed above the search field. Hidden by default, but visible to screen readers. */
20
+ label: string;
21
+ /** **(Optional)** Specify whether the label should be visible to humans or screenreaders. */
22
+ labelVisible?: boolean;
23
+ /** **(Optional)** Specify the TextInput name, also used as the URL search parameter. Defaults to `query`. */
24
+ name?: string;
25
+ /** **(Optional)** Callback to run when the form is submitted. If this is an async function, it will be awaited and the Searchbox will be in a pending state until the promise is resolved. */
26
+ onSubmit?: React.SubmitEventHandler<HTMLElement> | undefined;
27
+ /** **(Optional)** Specify the TextInput placeholder text Do not use in place of a form label. */
28
+ placeholder?: string;
29
+ /** **(Optional)** Specify a custom React ref for this component. */
30
+ ref?: RefObject<HTMLFormElement | null>;
31
+ /** **(Optional)** Specify the Searchbox size. */
32
+ size?: StandardSizes;
33
+ /** **(Optional)** Specify the Searchbox variant. */
34
+ variant?: "solid" | "ghost";
33
35
  }
34
36
  declare const Searchbox: {
35
- ({ action, children, className, id, label, labelVisible, onSubmit, ref, size, variant, ...props }: SearchboxProps): JSX.Element;
36
- Button: {
37
- ({ children, ...props }: ButtonProps): JSX.Element;
38
- displayName: string;
39
- };
40
- Input: {
41
- (props: TextInputProps): JSX.Element;
42
- displayName: string;
43
- };
44
- };
45
- declare const SearchboxButton: {
37
+ ({ action, children, className, id, label, labelVisible, onSubmit, ref, size, variant, ...props }: SearchboxProps): JSX.Element;
38
+ Button: {
46
39
  ({ children, ...props }: ButtonProps): JSX.Element;
47
40
  displayName: string;
48
- };
49
- declare const SearchboxInput: {
41
+ };
42
+ Input: {
50
43
  (props: TextInputProps): JSX.Element;
51
44
  displayName: string;
45
+ };
46
+ };
47
+ declare const SearchboxButton: {
48
+ ({ children, ...props }: ButtonProps): JSX.Element;
49
+ displayName: string;
50
+ };
51
+ declare const SearchboxInput: {
52
+ (props: TextInputProps): JSX.Element;
53
+ displayName: string;
52
54
  };
53
- export default Searchbox;
54
- export { Searchbox, SearchboxButton, SearchboxInput };
55
+ //#endregion
56
+ export { Searchbox, Searchbox as default, SearchboxButton, SearchboxInput, SearchboxProps };
@@ -1,73 +1,98 @@
1
1
  "use client";
2
- import { jsx, jsxs } from 'react/jsx-runtime';
3
- import clsx from 'clsx';
4
- import { useState, useCallback } from 'react';
5
- import { useId } from '../../hooks/useId.js';
6
- import { useSlots } from '../../hooks/useSlots.js';
7
- import { getSlotProp, hasUserBorder } from '../../utils/index.js';
8
- import { Button } from '../Button/Button.js';
9
- import { FieldLabel, Field } from '../Field/Field.js';
10
- import { SearchIcon } from '../icons/SearchIcon.js';
11
- import { TextInput } from '../TextInput/TextInput.js';
12
- import { SearchboxContext, useSearchbox } from './Searchbox.context.js';
13
-
2
+ import { getSlotProp, hasUserBorder } from "../../utils/index.js";
3
+ import { useId as useId$1 } from "../../hooks/useId.js";
4
+ import { SearchIcon } from "../icons/SearchIcon.js";
5
+ import { Button } from "../Button/Button.js";
6
+ import { useSlots } from "../../hooks/useSlots.js";
7
+ import TextInput_default from "../TextInput/index.js";
8
+ import { FieldLabel } from "../Field/Field.js";
9
+ import Field_default from "../Field/index.js";
10
+ import { SearchboxContext, useSearchbox } from "./Searchbox.context.js";
11
+ import clsx from "clsx";
12
+ import { jsx, jsxs } from "react/jsx-runtime";
13
+ import { useCallback, useState } from "react";
14
+ //#region src/components/Searchbox/Searchbox.tsx
14
15
  const componentSlots = {
15
- SearchboxButton: null,
16
- SearchboxInput: null,
16
+ SearchboxButton: null,
17
+ SearchboxInput: null
17
18
  };
18
19
  const Searchbox = ({ action, children, className, id, label, labelVisible = false, onSubmit, ref, size, variant = "solid", ...props }) => {
19
- var _a, _b;
20
- const slots = useSlots(componentSlots, children);
21
- const uid = useId(id);
22
- const [isPending, setIsPending] = useState(false);
23
- const inputId = (_a = getSlotProp(slots.SearchboxInput, "id")) !== null && _a !== void 0 ? _a : uid + "__input";
24
- const buttonId = (_b = getSlotProp(slots.SearchboxButton, "id")) !== null && _b !== void 0 ? _b : uid + "__button";
25
- const handleSubmit = useCallback(async (event) => {
26
- event.preventDefault();
27
- if (isPending || !onSubmit)
28
- return;
29
- setIsPending(true);
30
- try {
31
- await Promise.resolve(onSubmit(event));
32
- }
33
- finally {
34
- setIsPending(false);
35
- }
36
- }, [onSubmit, isPending]);
37
- let borderClass = "";
38
- if (!hasUserBorder(className)) {
39
- borderClass = variant === "ghost" ? "border-teal" : "border-grey";
40
- }
41
- const formProps = {
42
- action: action !== null && action !== void 0 ? action : undefined,
43
- className: clsx("coop-searchbox", borderClass, className),
44
- "data-size": size !== null && size !== void 0 ? size : undefined,
45
- "data-variant": variant.length && variant !== "solid" ? variant : undefined,
46
- id: id !== null && id !== void 0 ? id : undefined,
47
- onSubmit: onSubmit ? handleSubmit : undefined,
48
- ...props,
49
- };
50
- return (jsx(SearchboxContext.Provider, { value: { buttonId, inputId, isLoading: isPending, ref, size }, children: jsxs("form", { ...formProps, ref: ref, children: [label && (jsx(FieldLabel, { htmlFor: inputId !== null && inputId !== void 0 ? inputId : uid, isVisible: labelVisible, children: label })), jsxs("div", { className: clsx("coop-searchbox--inner"), children: [jsx(Field, { children: slots.SearchboxInput }), slots.SearchboxButton] })] }) }));
20
+ const slots = useSlots(componentSlots, children);
21
+ const uid = useId$1(id);
22
+ const [isPending, setIsPending] = useState(false);
23
+ const inputId = getSlotProp(slots.SearchboxInput, "id") ?? uid + "__input";
24
+ const buttonId = getSlotProp(slots.SearchboxButton, "id") ?? uid + "__button";
25
+ const handleSubmit = useCallback(async (event) => {
26
+ event.preventDefault();
27
+ if (isPending || !onSubmit) return;
28
+ setIsPending(true);
29
+ try {
30
+ await Promise.resolve(onSubmit(event));
31
+ } finally {
32
+ setIsPending(false);
33
+ }
34
+ }, [onSubmit, isPending]);
35
+ let borderClass = "";
36
+ if (!hasUserBorder(className)) borderClass = variant === "ghost" ? "border-teal" : "border-grey";
37
+ const formProps = {
38
+ action: action ?? void 0,
39
+ className: clsx("coop-searchbox", borderClass, className),
40
+ "data-size": size ?? void 0,
41
+ "data-variant": variant.length && variant !== "solid" ? variant : void 0,
42
+ id: id ?? void 0,
43
+ onSubmit: onSubmit ? handleSubmit : void 0,
44
+ ...props
45
+ };
46
+ return /* @__PURE__ */ jsx(SearchboxContext.Provider, {
47
+ value: {
48
+ buttonId,
49
+ inputId,
50
+ isLoading: isPending,
51
+ ref,
52
+ size
53
+ },
54
+ children: /* @__PURE__ */ jsxs("form", {
55
+ ...formProps,
56
+ ref,
57
+ children: [label && /* @__PURE__ */ jsx(FieldLabel, {
58
+ htmlFor: inputId ?? uid,
59
+ isVisible: labelVisible,
60
+ children: label
61
+ }), /* @__PURE__ */ jsxs("div", {
62
+ className: clsx("coop-searchbox--inner"),
63
+ children: [/* @__PURE__ */ jsx(Field_default, { children: slots.SearchboxInput }), slots.SearchboxButton]
64
+ })]
65
+ })
66
+ });
51
67
  };
52
68
  const SearchboxButton = ({ children, ...props }) => {
53
- // const uid = useId(id)
54
- const searchbox = useSearchbox();
55
- const buttonProps = {
56
- children: children !== null && children !== void 0 ? children : (jsx(SearchIcon, { alt: "Search", id: searchbox.buttonId + "__icon", stroke: "currentColor", width: "24" })),
57
- id: searchbox.buttonId,
58
- isLoading: searchbox.isLoading,
59
- size: searchbox.size,
60
- ...props,
61
- };
62
- return jsx(Button, { ...buttonProps });
69
+ const searchbox = useSearchbox();
70
+ return /* @__PURE__ */ jsx(Button, {
71
+ children: children ?? /* @__PURE__ */ jsx(SearchIcon, {
72
+ alt: "Search",
73
+ id: searchbox.buttonId + "__icon",
74
+ stroke: "currentColor",
75
+ width: "24"
76
+ }),
77
+ id: searchbox.buttonId,
78
+ isLoading: searchbox.isLoading,
79
+ size: searchbox.size,
80
+ ...props
81
+ });
63
82
  };
64
83
  SearchboxButton.displayName = "Searchbox.Button";
65
84
  const SearchboxInput = (props) => {
66
- const searchbox = useSearchbox();
67
- return (jsx(TextInput, { autoCapitalize: "off", id: searchbox.inputId, size: searchbox.size, type: "search", ...props }));
85
+ const searchbox = useSearchbox();
86
+ return /* @__PURE__ */ jsx(TextInput_default, {
87
+ autoCapitalize: "off",
88
+ id: searchbox.inputId,
89
+ size: searchbox.size,
90
+ type: "search",
91
+ ...props
92
+ });
68
93
  };
69
94
  SearchboxInput.displayName = "Searchbox.Input";
70
95
  Searchbox.Button = SearchboxButton;
71
96
  Searchbox.Input = SearchboxInput;
72
-
73
- export { Searchbox, SearchboxButton, SearchboxInput, Searchbox as default };
97
+ //#endregion
98
+ export { Searchbox, Searchbox as default, SearchboxButton, SearchboxInput };
@@ -1,4 +1,2 @@
1
- import Searchbox from "./Searchbox";
2
- export default Searchbox;
3
- export { Searchbox };
4
- export * from "./Searchbox";
1
+ import { Searchbox, SearchboxButton, SearchboxInput, SearchboxProps } from "./Searchbox.js";
2
+ export { Searchbox, Searchbox as default, SearchboxButton, SearchboxInput, SearchboxProps };
@@ -0,0 +1,5 @@
1
+ import { Searchbox, SearchboxButton, SearchboxInput } from "./Searchbox.js";
2
+ //#region src/components/Searchbox/index.ts
3
+ var Searchbox_default = Searchbox;
4
+ //#endregion
5
+ export { Searchbox, SearchboxButton, SearchboxInput, Searchbox_default as default };
@@ -1,66 +1,72 @@
1
- import type { JSX, OptgroupHTMLAttributes, OptionHTMLAttributes, ReactNode, Ref, SelectHTMLAttributes } from "react";
2
- import { StandardSizes } from "../../../src/types";
3
- export interface SelectProps extends Omit<SelectHTMLAttributes<HTMLSelectElement>, "size"> {
4
- /** **(Optional)** Options inside the Select. This should be a set of `Select.Option` or `Select.OptionGroup` components. */
5
- children?: ReactNode;
6
- /** **(Optional)** Specify additional CSS classes to be applied to the component. */
7
- className?: string;
8
- /** **(Optional)** Specify whether the Select should be disabled. Refer to Experience Library guidance on disabled form controls and accessibility. */
9
- disabled?: boolean;
10
- /** **(Optional)** Specify the Select error state. */
11
- error?: boolean;
12
- /** **(Optional)** Specify the Select id. Will be auto-generated if not set. */
13
- id?: string;
14
- /** Specify the Select name. */
15
- name: string;
16
- /** **(Optional)** Specify a custom React ref for this component. */
17
- ref?: Ref<HTMLSelectElement>;
18
- /** **(Optional)** Specify the Select size. */
19
- size?: StandardSizes;
1
+ import { StandardSizes } from "../../types/index.js";
2
+ import { JSX, OptgroupHTMLAttributes, OptionHTMLAttributes, ReactNode, Ref, SelectHTMLAttributes } from "react";
3
+ //#region src/components/Select/Select.d.ts
4
+ interface SelectProps extends Omit<SelectHTMLAttributes<HTMLSelectElement>, "size"> {
5
+ /** **(Optional)** Options inside the Select. This should be a set of `Select.Option` or `Select.OptionGroup` components. */
6
+ children?: ReactNode;
7
+ /** **(Optional)** Specify additional CSS classes to be applied to the component. */
8
+ className?: string;
9
+ /** **(Optional)** Specify whether the Select should be disabled. Refer to Experience Library guidance on disabled form controls and accessibility. */
10
+ disabled?: boolean;
11
+ /** **(Optional)** Specify the Select error state. */
12
+ error?: boolean;
13
+ /** **(Optional)** Specify the wrapper behaviour. When true, width is fit-content, otherwise it expands to 100%.
14
+ *
15
+ * Default: false
16
+ */
17
+ fit?: boolean;
18
+ /** **(Optional)** Specify the Select id. Will be auto-generated if not set. */
19
+ id?: string;
20
+ /** Specify the Select name. */
21
+ name: string;
22
+ /** **(Optional)** Specify a custom React ref for this component. */
23
+ ref?: Ref<HTMLSelectElement>;
24
+ /** **(Optional)** Specify the Select size. */
25
+ size?: StandardSizes;
20
26
  }
21
27
  interface SelectOptionGroupProps extends OptgroupHTMLAttributes<HTMLOptGroupElement> {
22
- /** **(Optional)** Main content inside the Select option. It can be any valid JSX or string. */
23
- children?: ReactNode;
24
- /** Specify the Select option group label. */
25
- label: string;
28
+ /** **(Optional)** Main content inside the Select option. It can be any valid JSX or string. */
29
+ children?: ReactNode;
30
+ /** Specify the Select option group label. */
31
+ label: string;
26
32
  }
27
33
  interface SelectOptionProps extends OptionHTMLAttributes<HTMLOptionElement> {
28
- /** **(Optional)** Main content inside the Select option. It can be any valid JSX or string. */
29
- children?: ReactNode;
30
- /** **(Optional)** Specify additional CSS classes to be applied to the Select option. */
31
- className?: string;
32
- /** Value of Select option. */
33
- value: string;
34
+ /** **(Optional)** Main content inside the Select option. It can be any valid JSX or string. */
35
+ children?: ReactNode;
36
+ /** **(Optional)** Specify additional CSS classes to be applied to the Select option. */
37
+ className?: string;
38
+ /** Value of Select option. */
39
+ value: string;
34
40
  }
35
41
  declare const Select: {
36
- ({ children, className, disabled, error, id, name, ref, size, ...props }: SelectProps): JSX.Element;
42
+ ({ children, className, disabled, error, fit, id, name, ref, size, ...props }: SelectProps): JSX.Element;
43
+ slot: {
44
+ name: string;
45
+ };
46
+ OptionGroup: {
47
+ ({ children, ...props }: SelectOptionGroupProps): JSX.Element;
37
48
  slot: {
38
- name: string;
39
- };
40
- OptionGroup: {
41
- ({ children, ...props }: SelectOptionGroupProps): JSX.Element;
42
- slot: {
43
- name: string;
44
- };
49
+ name: string;
45
50
  };
46
- Option: {
47
- ({ children, className, ...props }: SelectOptionProps): JSX.Element;
48
- slot: {
49
- name: string;
50
- };
51
+ };
52
+ Option: {
53
+ ({ children, className, ...props }: SelectOptionProps): JSX.Element;
54
+ slot: {
55
+ name: string;
51
56
  };
57
+ };
52
58
  };
53
59
  declare const SelectOptionGroup: {
54
- ({ children, ...props }: SelectOptionGroupProps): JSX.Element;
55
- slot: {
56
- name: string;
57
- };
60
+ ({ children, ...props }: SelectOptionGroupProps): JSX.Element;
61
+ slot: {
62
+ name: string;
63
+ };
58
64
  };
59
65
  declare const SelectOption: {
60
- ({ children, className, ...props }: SelectOptionProps): JSX.Element;
61
- slot: {
62
- name: string;
63
- };
66
+ ({ children, className, ...props }: SelectOptionProps): JSX.Element;
67
+ slot: {
68
+ name: string;
69
+ };
64
70
  };
65
- export default Select;
66
- export { Select, SelectOption, SelectOptionGroup };
71
+ //#endregion
72
+ export { Select, Select as default, SelectOption, SelectOptionGroup, SelectProps };
@@ -1,31 +1,40 @@
1
1
  "use client";
2
- import { jsx } from 'react/jsx-runtime';
3
- import clsx from 'clsx';
4
- import { useField } from '../Field/Field.context.js';
5
-
6
- const Select = ({ children, className, disabled, error, id, name, ref, size, ...props }) => {
7
- const field = useField();
8
- const componentProps = {
9
- className: clsx("coop-select", "coop-field-element", className),
10
- "data-error": error !== null && error !== void 0 ? error : undefined,
11
- "data-size": size !== null && size !== void 0 ? size : undefined,
12
- disabled,
13
- id: id !== null && id !== void 0 ? id : field === null || field === void 0 ? void 0 : field.id,
14
- name,
15
- ...props,
16
- };
17
- return (jsx("select", { ...componentProps, ref: ref, children: children }));
2
+ import { useField } from "../Field/Field.context.js";
3
+ import clsx from "clsx";
4
+ import { jsx } from "react/jsx-runtime";
5
+ //#region src/components/Select/Select.tsx
6
+ const Select = ({ children, className, disabled, error, fit = false, id, name, ref, size, ...props }) => {
7
+ const field = useField();
8
+ return /* @__PURE__ */ jsx("select", {
9
+ className: clsx("coop-select", "coop-field-element", className),
10
+ "data-error": error ?? void 0,
11
+ "data-fit": fit || void 0,
12
+ "data-size": size ?? void 0,
13
+ disabled,
14
+ id: id ?? field?.id,
15
+ name,
16
+ ...props,
17
+ ref,
18
+ children
19
+ });
18
20
  };
19
21
  const SelectOptionGroup = ({ children, ...props }) => {
20
- return jsx("optgroup", { ...props, children: children });
22
+ return /* @__PURE__ */ jsx("optgroup", {
23
+ ...props,
24
+ children
25
+ });
21
26
  };
22
27
  const SelectOption = ({ children, className, ...props }) => {
23
- return (jsx("option", { className: clsx("coop-select--option", className), ...props, children: children }));
28
+ return /* @__PURE__ */ jsx("option", {
29
+ className: clsx("coop-select--option", className),
30
+ ...props,
31
+ children
32
+ });
24
33
  };
25
34
  Select.slot = { name: "Select" };
26
35
  SelectOption.slot = { name: "SelectOption" };
27
36
  SelectOptionGroup.slot = { name: "SelectOptionGroup" };
28
37
  Select.OptionGroup = SelectOptionGroup;
29
38
  Select.Option = SelectOption;
30
-
31
- export { Select, SelectOption, SelectOptionGroup, Select as default };
39
+ //#endregion
40
+ export { Select, Select as default, SelectOption, SelectOptionGroup };
@@ -1,4 +1,2 @@
1
- import Select from "./Select";
2
- export default Select;
3
- export { Select };
4
- export * from "./Select";
1
+ import { Select, SelectOption, SelectOptionGroup, SelectProps } from "./Select.js";
2
+ export { Select, Select as default, SelectOption, SelectOptionGroup, SelectProps };
@@ -0,0 +1,5 @@
1
+ import { Select, SelectOption, SelectOptionGroup } from "./Select.js";
2
+ //#region src/components/Select/index.ts
3
+ var Select_default = Select;
4
+ //#endregion
5
+ export { Select, SelectOption, SelectOptionGroup, Select_default as default };
@@ -1,27 +1,28 @@
1
- import type { ForwardRefExoticComponent, HTMLAttributes, JSX, Ref } from "react";
2
- import React from "react";
3
- import { ImageProps } from "../Image";
4
- export interface SignpostProps extends HTMLAttributes<HTMLDivElement> {
5
- /** **(Optional)** Specify a custom element to override default `a`. */
6
- as?: React.FC<any> | ForwardRefExoticComponent<any> | string;
7
- /** Main content inside the component. It can be any valid JSX or string. */
8
- children: React.ReactNode;
9
- /** **(Optional)** Specify additional CSS classes to be applied to the component. */
10
- className?: string;
11
- /** **(Optional)** Specify the level of the Signpost heading. */
12
- headingLevel?: "h2" | "h3" | "h4" | "h5" | "h6";
13
- /** Specify the URL that the Signpost component will link to when clicked. */
14
- href?: string;
15
- /** **(Optional)** Specify properties of the Signpost Image. */
16
- image?: ImageProps;
17
- /** **(Optional)** Specify a custom React ref for this component. */
18
- ref?: Ref<HTMLDivElement>;
1
+ import { ImageProps } from "../Image/Image.js";
2
+ import "../Image/index.js";
3
+ import React, { ForwardRefExoticComponent, HTMLAttributes, JSX, Ref } from "react";
4
+ //#region src/components/Signpost/Signpost.d.ts
5
+ interface SignpostProps extends HTMLAttributes<HTMLDivElement> {
6
+ /** **(Optional)** Specify a custom element to override default `a`. */
7
+ as?: React.FC<any> | ForwardRefExoticComponent<any> | string;
8
+ /** Main content inside the component. It can be any valid JSX or string. */
9
+ children: React.ReactNode;
10
+ /** **(Optional)** Specify additional CSS classes to be applied to the component. */
11
+ className?: string;
12
+ /** **(Optional)** Specify the level of the Signpost heading. */
13
+ headingLevel?: "h2" | "h3" | "h4" | "h5" | "h6";
14
+ /** Specify the URL that the Signpost component will link to when clicked. */
15
+ href?: string;
16
+ /** **(Optional)** Specify properties of the Signpost Image. */
17
+ image?: ImageProps;
18
+ /** **(Optional)** Specify a custom React ref for this component. */
19
+ ref?: Ref<HTMLDivElement>;
19
20
  }
20
21
  declare const Signpost: {
21
- ({ as, children, className, headingLevel, href, image, ref, ...props }: SignpostProps): JSX.Element;
22
- slot: {
23
- name: string;
24
- };
22
+ ({ as, children, className, headingLevel, href, image, ref, ...props }: SignpostProps): JSX.Element;
23
+ slot: {
24
+ name: string;
25
+ };
25
26
  };
26
- export default Signpost;
27
- export { Signpost };
27
+ //#endregion
28
+ export { Signpost, Signpost as default, SignpostProps };
@@ -1,17 +1,29 @@
1
- import { jsxs, jsx } from 'react/jsx-runtime';
2
- import clsx from 'clsx';
3
- import React from 'react';
4
- import { ChevronRightIcon } from '../icons/ChevronRightIcon.js';
5
- import { Image } from '../Image/Image.js';
6
-
1
+ import { Image } from "../Image/Image.js";
2
+ import { ChevronRightIcon } from "../icons/ChevronRightIcon.js";
3
+ import clsx from "clsx";
4
+ import { jsx, jsxs } from "react/jsx-runtime";
5
+ import React from "react";
6
+ //#region src/components/Signpost/Signpost.tsx
7
7
  const Signpost = ({ as, children, className, headingLevel = "h3", href, image, ref, ...props }) => {
8
- const element = as !== null && as !== void 0 ? as : "a";
9
- const componentProps = {
10
- className: clsx("coop-signpost", className),
11
- ...props,
12
- };
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, {}) })] }))] }));
8
+ const element = as ?? "a";
9
+ return /* @__PURE__ */ jsxs("div", {
10
+ className: clsx("coop-signpost", className),
11
+ ...props,
12
+ ref,
13
+ children: [image && /* @__PURE__ */ jsx(Image, {
14
+ crop: "wide",
15
+ ...image
16
+ }), React.createElement(element, { href }, /* @__PURE__ */ jsxs("div", {
17
+ className: "coop-signpost--content",
18
+ children: [React.createElement(headingLevel, { className: "coop-signpost--heading" }, children), /* @__PURE__ */ jsx("span", {
19
+ "aria-hidden": "true",
20
+ className: "coop-signpost--icon",
21
+ role: "presentation",
22
+ children: /* @__PURE__ */ jsx(ChevronRightIcon, {})
23
+ })]
24
+ }))]
25
+ });
14
26
  };
15
27
  Signpost.slot = { name: "Signpost" };
16
-
28
+ //#endregion
17
29
  export { Signpost, Signpost as default };
@@ -1,4 +1,2 @@
1
- import Signpost from "./Signpost";
2
- export default Signpost;
3
- export { Signpost };
4
- export * from "./Signpost";
1
+ import { Signpost, SignpostProps } from "./Signpost.js";
2
+ export { Signpost, Signpost as default, SignpostProps };
@@ -0,0 +1,5 @@
1
+ import { Signpost } from "./Signpost.js";
2
+ //#region src/components/Signpost/index.ts
3
+ var Signpost_default = Signpost;
4
+ //#endregion
5
+ export { Signpost, Signpost_default as default };