@bspk/ui 1.3.7 → 1.3.9

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 (398) hide show
  1. package/dist/components/Accordion/Accordion.d.ts +19 -3
  2. package/dist/components/Accordion/Accordion.js +20 -3
  3. package/dist/components/Accordion/Accordion.js.map +1 -1
  4. package/dist/components/Avatar/Avatar.d.ts +13 -14
  5. package/dist/components/Avatar/Avatar.js +13 -14
  6. package/dist/components/Avatar/Avatar.js.map +1 -1
  7. package/dist/components/AvatarGroup/AvatarGroup.d.ts +29 -12
  8. package/dist/components/AvatarGroup/AvatarGroup.js +29 -12
  9. package/dist/components/AvatarGroup/AvatarGroup.js.map +1 -1
  10. package/dist/components/Badge/Badge.d.ts +1 -3
  11. package/dist/components/Badge/Badge.js +1 -3
  12. package/dist/components/Badge/Badge.js.map +1 -1
  13. package/dist/components/BadgeDot/BadgeDot.d.ts +4 -4
  14. package/dist/components/BadgeDot/BadgeDot.js +5 -4
  15. package/dist/components/BadgeDot/BadgeDot.js.map +1 -1
  16. package/dist/components/BannerAlert/BannerAlert.d.ts +11 -12
  17. package/dist/components/BannerAlert/BannerAlert.js +11 -12
  18. package/dist/components/BannerAlert/BannerAlert.js.map +1 -1
  19. package/dist/components/BottomNavigation/BottomNavigation.d.ts +6 -3
  20. package/dist/components/BottomNavigation/BottomNavigation.js +6 -3
  21. package/dist/components/BottomNavigation/BottomNavigation.js.map +1 -1
  22. package/dist/components/BottomNavigation/BottomNavigationExample.js +31 -36
  23. package/dist/components/BottomNavigation/BottomNavigationExample.js.map +1 -1
  24. package/dist/components/BottomNavigation/bottom-navigation.css +8 -1
  25. package/dist/components/BottomNavigation/bottom-navigation.css.js +8 -1
  26. package/dist/components/Breadcrumb/Breadcrumb.d.ts +17 -18
  27. package/dist/components/Breadcrumb/Breadcrumb.js +17 -18
  28. package/dist/components/Breadcrumb/Breadcrumb.js.map +1 -1
  29. package/dist/components/Button/Button.d.ts +1 -11
  30. package/dist/components/Button/Button.js +1 -11
  31. package/dist/components/Button/Button.js.map +1 -1
  32. package/dist/components/Button/ButtonExample.js +1 -3
  33. package/dist/components/Button/ButtonExample.js.map +1 -1
  34. package/dist/components/ButtonDock/ButtonDock.d.ts +10 -14
  35. package/dist/components/ButtonDock/ButtonDock.js +10 -14
  36. package/dist/components/ButtonDock/ButtonDock.js.map +1 -1
  37. package/dist/components/Card/Card.d.ts +8 -10
  38. package/dist/components/Card/Card.js +6 -10
  39. package/dist/components/Card/Card.js.map +1 -1
  40. package/dist/components/Carousel/Carousel.d.ts +9 -13
  41. package/dist/components/Carousel/Carousel.js +9 -13
  42. package/dist/components/Carousel/Carousel.js.map +1 -1
  43. package/dist/components/Carousel/CarouselExample.js +14 -14
  44. package/dist/components/Carousel/CarouselExample.js.map +1 -1
  45. package/dist/components/Checkbox/Checkbox.d.ts +7 -4
  46. package/dist/components/Checkbox/Checkbox.js +7 -4
  47. package/dist/components/Checkbox/Checkbox.js.map +1 -1
  48. package/dist/components/Checkbox/CheckboxExample.js +4 -1
  49. package/dist/components/Checkbox/CheckboxExample.js.map +1 -1
  50. package/dist/components/CheckboxGroup/CheckboxGroup.d.ts +3 -3
  51. package/dist/components/CheckboxGroup/CheckboxGroup.js +3 -3
  52. package/dist/components/CheckboxOption/CheckboxOption.d.ts +4 -4
  53. package/dist/components/CheckboxOption/CheckboxOption.js +4 -4
  54. package/dist/components/Chip/Chip.d.ts +3 -7
  55. package/dist/components/Chip/Chip.js +3 -7
  56. package/dist/components/Chip/Chip.js.map +1 -1
  57. package/dist/components/Chip/ChipExample.js +50 -3
  58. package/dist/components/Chip/ChipExample.js.map +1 -1
  59. package/dist/components/ChipGroup/ChipGroup.d.ts +21 -10
  60. package/dist/components/ChipGroup/ChipGroup.js +21 -10
  61. package/dist/components/ChipGroup/ChipGroup.js.map +1 -1
  62. package/dist/components/ChipGroup/ChipGroupExample.js +1 -0
  63. package/dist/components/ChipGroup/ChipGroupExample.js.map +1 -1
  64. package/dist/components/DatePicker/DatePicker.d.ts +13 -12
  65. package/dist/components/DatePicker/DatePicker.js +13 -12
  66. package/dist/components/DatePicker/DatePicker.js.map +1 -1
  67. package/dist/components/Dialog/Dialog.d.ts +11 -6
  68. package/dist/components/Dialog/Dialog.js +11 -6
  69. package/dist/components/Dialog/Dialog.js.map +1 -1
  70. package/dist/components/Divider/Divider.d.ts +5 -9
  71. package/dist/components/Divider/Divider.js +5 -9
  72. package/dist/components/Divider/Divider.js.map +1 -1
  73. package/dist/components/Divider/DividerExample.js +16 -1
  74. package/dist/components/Divider/DividerExample.js.map +1 -1
  75. package/dist/components/Drawer/Drawer.d.ts +3 -3
  76. package/dist/components/Drawer/Drawer.js +3 -3
  77. package/dist/components/EmptyState/EmptyState.d.ts +3 -7
  78. package/dist/components/EmptyState/EmptyState.js +3 -7
  79. package/dist/components/EmptyState/EmptyState.js.map +1 -1
  80. package/dist/components/Fab/Fab.d.ts +4 -5
  81. package/dist/components/Fab/Fab.js +4 -6
  82. package/dist/components/Fab/Fab.js.map +1 -1
  83. package/dist/components/Fab/FabExample.d.ts +2 -1
  84. package/dist/components/Fab/FabExample.js +20 -2
  85. package/dist/components/Fab/FabExample.js.map +1 -1
  86. package/dist/components/Field/Field.d.ts +4 -5
  87. package/dist/components/Field/Field.js +4 -5
  88. package/dist/components/Field/Field.js.map +1 -1
  89. package/dist/components/FileUpload/FileUpload.d.ts +3 -3
  90. package/dist/components/FileUpload/FileUpload.js +3 -3
  91. package/dist/components/FileUploadItem/FileUploadItem.d.ts +6 -10
  92. package/dist/components/FileUploadItem/FileUploadItem.js +6 -10
  93. package/dist/components/FileUploadItem/FileUploadItem.js.map +1 -1
  94. package/dist/components/FormField/FormField.d.ts +5 -16
  95. package/dist/components/FormField/FormField.js +5 -16
  96. package/dist/components/FormField/FormField.js.map +1 -1
  97. package/dist/components/Img/Img.d.ts +1 -3
  98. package/dist/components/Img/Img.js +1 -3
  99. package/dist/components/Img/Img.js.map +1 -1
  100. package/dist/components/InlineAlert/InlineAlert.d.ts +1 -3
  101. package/dist/components/InlineAlert/InlineAlert.js +1 -3
  102. package/dist/components/InlineAlert/InlineAlert.js.map +1 -1
  103. package/dist/components/Input/Input.d.ts +13 -13
  104. package/dist/components/Input/Input.js +13 -13
  105. package/dist/components/Input/InputElement.d.ts +11 -5
  106. package/dist/components/Input/InputElement.js +11 -5
  107. package/dist/components/Input/InputElement.js.map +1 -1
  108. package/dist/components/Input/InputExample.js +1 -0
  109. package/dist/components/Input/InputExample.js.map +1 -1
  110. package/dist/components/InputNumber/InputNumber.d.ts +20 -20
  111. package/dist/components/InputNumber/InputNumber.js +20 -20
  112. package/dist/components/InputNumber/InputNumberExample.js +3 -0
  113. package/dist/components/InputNumber/InputNumberExample.js.map +1 -1
  114. package/dist/components/InputPhone/InputPhone.d.ts +21 -16
  115. package/dist/components/InputPhone/InputPhone.js +21 -16
  116. package/dist/components/InputPhone/InputPhone.js.map +1 -1
  117. package/dist/components/InputPhone/InputPhoneExample.js +3 -0
  118. package/dist/components/InputPhone/InputPhoneExample.js.map +1 -1
  119. package/dist/components/Layout/Layout.d.ts +1 -3
  120. package/dist/components/Layout/Layout.js +1 -3
  121. package/dist/components/Layout/Layout.js.map +1 -1
  122. package/dist/components/Link/Link.d.ts +1 -3
  123. package/dist/components/Link/Link.js +1 -3
  124. package/dist/components/Link/Link.js.map +1 -1
  125. package/dist/components/ListItem/ListItem.d.ts +22 -21
  126. package/dist/components/ListItem/ListItem.js +19 -16
  127. package/dist/components/ListItem/ListItem.js.map +1 -1
  128. package/dist/components/Menu/Menu.d.ts +5 -9
  129. package/dist/components/Menu/Menu.js +5 -9
  130. package/dist/components/Menu/Menu.js.map +1 -1
  131. package/dist/components/Modal/Modal.d.ts +4 -4
  132. package/dist/components/Modal/Modal.js +4 -4
  133. package/dist/components/Modal/Modal.js.map +1 -1
  134. package/dist/components/Modal/modal.css +12 -1
  135. package/dist/components/Modal/modal.css.js +12 -1
  136. package/dist/components/OTPInput/OTPInput.d.ts +1 -3
  137. package/dist/components/OTPInput/OTPInput.js +1 -3
  138. package/dist/components/OTPInput/OTPInput.js.map +1 -1
  139. package/dist/components/PageControl/PageControl.d.ts +1 -3
  140. package/dist/components/PageControl/PageControl.js +1 -3
  141. package/dist/components/PageControl/PageControl.js.map +1 -1
  142. package/dist/components/Pagination/Pagination.d.ts +6 -7
  143. package/dist/components/Pagination/Pagination.js +28 -15
  144. package/dist/components/Pagination/Pagination.js.map +1 -1
  145. package/dist/components/Pagination/pagination.css +5 -14
  146. package/dist/components/Pagination/pagination.css.js +5 -14
  147. package/dist/components/Password/Password.d.ts +19 -20
  148. package/dist/components/Password/Password.js +19 -20
  149. package/dist/components/Password/Password.js.map +1 -1
  150. package/dist/components/Password/PasswordExample.d.ts +3 -0
  151. package/dist/components/Password/PasswordExample.js +6 -0
  152. package/dist/components/Password/PasswordExample.js.map +1 -0
  153. package/dist/components/Popover/Popover.d.ts +11 -20
  154. package/dist/components/Popover/Popover.js +11 -20
  155. package/dist/components/Popover/Popover.js.map +1 -1
  156. package/dist/components/Popover/PopoverExample.js +1 -1
  157. package/dist/components/Popover/PopoverExample.js.map +1 -1
  158. package/dist/components/ProgressBar/ProgressBar.d.ts +1 -3
  159. package/dist/components/ProgressBar/ProgressBar.js +1 -3
  160. package/dist/components/ProgressBar/ProgressBar.js.map +1 -1
  161. package/dist/components/ProgressCircle/ProgressCircle.d.ts +1 -3
  162. package/dist/components/ProgressCircle/ProgressCircle.js +1 -3
  163. package/dist/components/ProgressCircle/ProgressCircle.js.map +1 -1
  164. package/dist/components/ProgressionStepper/ProgressionStepper.d.ts +1 -3
  165. package/dist/components/ProgressionStepper/ProgressionStepper.js +1 -3
  166. package/dist/components/ProgressionStepper/ProgressionStepper.js.map +1 -1
  167. package/dist/components/Radio/RadioExample.js +4 -1
  168. package/dist/components/Radio/RadioExample.js.map +1 -1
  169. package/dist/components/RadioGroup/RadioGroup.d.ts +2 -2
  170. package/dist/components/RadioGroup/RadioGroup.js +2 -2
  171. package/dist/components/Rating/Rating.d.ts +2 -4
  172. package/dist/components/Rating/Rating.js +8 -6
  173. package/dist/components/Rating/Rating.js.map +1 -1
  174. package/dist/components/Rating/RatingExample.js +17 -1
  175. package/dist/components/Rating/RatingExample.js.map +1 -1
  176. package/dist/components/SearchBar/SearchBar.d.ts +2 -2
  177. package/dist/components/SearchBar/SearchBar.js +2 -2
  178. package/dist/components/SearchBar/SearchBarExample.js +3 -0
  179. package/dist/components/SearchBar/SearchBarExample.js.map +1 -1
  180. package/dist/components/SegmentedControl/SegmentedControl.d.ts +3 -3
  181. package/dist/components/SegmentedControl/SegmentedControl.js +3 -3
  182. package/dist/components/SegmentedControl/SegmentedControlExample.js +10 -12
  183. package/dist/components/SegmentedControl/SegmentedControlExample.js.map +1 -1
  184. package/dist/components/Select/Select.d.ts +24 -25
  185. package/dist/components/Select/Select.js +24 -25
  186. package/dist/components/Select/Select.js.map +1 -1
  187. package/dist/components/Select/SelectExample.js +1 -0
  188. package/dist/components/Select/SelectExample.js.map +1 -1
  189. package/dist/components/Skeleton/Skeleton.d.ts +10 -14
  190. package/dist/components/Skeleton/Skeleton.js +10 -14
  191. package/dist/components/Skeleton/Skeleton.js.map +1 -1
  192. package/dist/components/Skeleton/SkeletonExample.js +4 -3
  193. package/dist/components/Skeleton/SkeletonExample.js.map +1 -1
  194. package/dist/components/SkeletonText/SkeletonText.d.ts +5 -9
  195. package/dist/components/SkeletonText/SkeletonText.js +5 -9
  196. package/dist/components/SkeletonText/SkeletonText.js.map +1 -1
  197. package/dist/components/Slider/Slider.d.ts +2 -2
  198. package/dist/components/Slider/Slider.js +2 -2
  199. package/dist/components/Slider/SliderExample.js +40 -18
  200. package/dist/components/Slider/SliderExample.js.map +1 -1
  201. package/dist/components/Snackbar/Manager.d.ts +29 -0
  202. package/dist/components/Snackbar/Manager.js +35 -0
  203. package/dist/components/Snackbar/Manager.js.map +1 -0
  204. package/dist/components/Snackbar/Snackbar.d.ts +23 -5
  205. package/dist/components/Snackbar/Snackbar.js +23 -4
  206. package/dist/components/Snackbar/Snackbar.js.map +1 -1
  207. package/dist/components/Snackbar/SnackbarExample.js +8 -1
  208. package/dist/components/Snackbar/SnackbarExample.js.map +1 -1
  209. package/dist/components/Snackbar/index.d.ts +1 -0
  210. package/dist/components/Snackbar/index.js +1 -0
  211. package/dist/components/Snackbar/index.js.map +1 -1
  212. package/dist/components/StylesProviderDemo/StylesProviderDemo.d.ts +1 -3
  213. package/dist/components/StylesProviderDemo/StylesProviderDemo.js +1 -3
  214. package/dist/components/StylesProviderDemo/StylesProviderDemo.js.map +1 -1
  215. package/dist/components/Switch/Switch.d.ts +2 -2
  216. package/dist/components/Switch/Switch.js +2 -2
  217. package/dist/components/Switch/SwitchExample.js +4 -1
  218. package/dist/components/Switch/SwitchExample.js.map +1 -1
  219. package/dist/components/TabGroup/TabGroup.d.ts +2 -2
  220. package/dist/components/TabGroup/TabGroup.js +2 -2
  221. package/dist/components/TabGroup/TabGroupExample.js +5 -11
  222. package/dist/components/TabGroup/TabGroupExample.js.map +1 -1
  223. package/dist/components/TabGroup/tab-group.css +1 -0
  224. package/dist/components/TabGroup/tab-group.css.js +1 -0
  225. package/dist/components/TabList/TabList.d.ts +2 -2
  226. package/dist/components/TabList/TabList.js +2 -2
  227. package/dist/components/TabList/tab-list.css +0 -1
  228. package/dist/components/TabList/tab-list.css.js +0 -1
  229. package/dist/components/Table/Table.d.ts +53 -16
  230. package/dist/components/Table/Table.js +53 -16
  231. package/dist/components/Table/Table.js.map +1 -1
  232. package/dist/components/Table/table.css +0 -1
  233. package/dist/components/Table/table.css.js +0 -1
  234. package/dist/components/Tag/Tag.d.ts +1 -3
  235. package/dist/components/Tag/Tag.js +1 -3
  236. package/dist/components/Tag/Tag.js.map +1 -1
  237. package/dist/components/Textarea/Textarea.d.ts +13 -13
  238. package/dist/components/Textarea/Textarea.js +13 -13
  239. package/dist/components/Textarea/TextareaExample.js +3 -0
  240. package/dist/components/Textarea/TextareaExample.js.map +1 -1
  241. package/dist/components/TimePicker/TimePicker.d.ts +14 -14
  242. package/dist/components/TimePicker/TimePicker.js +14 -14
  243. package/dist/components/TimePicker/TimePickerExample.js +3 -0
  244. package/dist/components/TimePicker/TimePickerExample.js.map +1 -1
  245. package/dist/components/ToggleOption/ToggleOption.js +1 -1
  246. package/dist/components/ToggleOption/ToggleOption.js.map +1 -1
  247. package/dist/components/ToggleOption/toggle-option.css +2 -49
  248. package/dist/components/ToggleOption/toggle-option.css.js +2 -49
  249. package/dist/components/Tooltip/Tooltip.d.ts +3 -7
  250. package/dist/components/Tooltip/Tooltip.js +3 -7
  251. package/dist/components/Tooltip/Tooltip.js.map +1 -1
  252. package/dist/components/Tooltip/TooltipExample.js +23 -3
  253. package/dist/components/Tooltip/TooltipExample.js.map +1 -1
  254. package/dist/components/Txt/Txt.d.ts +1 -3
  255. package/dist/components/Txt/Txt.js +1 -3
  256. package/dist/components/Txt/Txt.js.map +1 -1
  257. package/dist/components/UIProvider/AriaLiveMessageHandler.js +3 -2
  258. package/dist/components/UIProvider/AriaLiveMessageHandler.js.map +1 -1
  259. package/dist/hooks/useAddEventListener.d.ts +1 -2
  260. package/dist/hooks/useAddEventListener.js.map +1 -1
  261. package/dist/hooks/useRadioState.d.ts +1 -1
  262. package/dist/hooks/useTimeout.d.ts +1 -2
  263. package/dist/hooks/useTimeout.js +20 -4
  264. package/dist/hooks/useTimeout.js.map +1 -1
  265. package/dist/types/common.d.ts +3 -0
  266. package/dist/types/common.js.map +1 -1
  267. package/dist/types/meta.d.ts +1 -0
  268. package/dist/types/meta.js.map +1 -1
  269. package/dist/utils/createCustomEvent.d.ts +17 -0
  270. package/dist/utils/createCustomEvent.js +21 -0
  271. package/dist/utils/createCustomEvent.js.map +1 -0
  272. package/dist/utils/createExampleChildElement.js +3 -3
  273. package/dist/utils/createExampleChildElement.js.map +1 -1
  274. package/dist/utils/demo.d.ts +18 -26
  275. package/dist/utils/demo.js.map +1 -1
  276. package/meta.ts +6 -1
  277. package/package.json +1 -1
  278. package/src/components/Accordion/Accordion.tsx +20 -3
  279. package/src/components/Avatar/Avatar.tsx +13 -14
  280. package/src/components/AvatarGroup/AvatarGroup.tsx +30 -13
  281. package/src/components/Badge/Badge.tsx +1 -3
  282. package/src/components/BadgeDot/BadgeDot.tsx +6 -4
  283. package/src/components/BannerAlert/BannerAlert.tsx +11 -12
  284. package/src/components/BottomNavigation/BottomNavigation.tsx +6 -3
  285. package/src/components/BottomNavigation/BottomNavigationExample.tsx +31 -36
  286. package/src/components/BottomNavigation/bottom-navigation.scss +10 -1
  287. package/src/components/Breadcrumb/Breadcrumb.tsx +17 -18
  288. package/src/components/Button/Button.tsx +1 -11
  289. package/src/components/Button/ButtonExample.tsx +1 -2
  290. package/src/components/ButtonDock/ButtonDock.tsx +10 -14
  291. package/src/components/Card/Card.tsx +9 -11
  292. package/src/components/Carousel/Carousel.tsx +9 -13
  293. package/src/components/Carousel/CarouselExample.tsx +25 -25
  294. package/src/components/Checkbox/Checkbox.tsx +7 -4
  295. package/src/components/Checkbox/CheckboxExample.tsx +4 -3
  296. package/src/components/CheckboxGroup/CheckboxGroup.tsx +3 -3
  297. package/src/components/CheckboxOption/CheckboxOption.tsx +4 -4
  298. package/src/components/Chip/Chip.tsx +3 -7
  299. package/src/components/Chip/ChipExample.tsx +52 -3
  300. package/src/components/ChipGroup/ChipGroup.tsx +21 -10
  301. package/src/components/ChipGroup/ChipGroupExample.tsx +1 -1
  302. package/src/components/DatePicker/DatePicker.tsx +13 -12
  303. package/src/components/Dialog/Dialog.tsx +11 -6
  304. package/src/components/Divider/Divider.tsx +5 -9
  305. package/src/components/Divider/DividerExample.tsx +18 -1
  306. package/src/components/Drawer/Drawer.tsx +3 -3
  307. package/src/components/EmptyState/EmptyState.tsx +3 -7
  308. package/src/components/Fab/Fab.tsx +8 -5
  309. package/src/components/Fab/FabExample.tsx +22 -3
  310. package/src/components/Field/Field.tsx +4 -5
  311. package/src/components/FileUpload/FileUpload.tsx +3 -3
  312. package/src/components/FileUploadItem/FileUploadItem.tsx +6 -10
  313. package/src/components/FormField/FormField.tsx +5 -16
  314. package/src/components/Img/Img.tsx +1 -3
  315. package/src/components/InlineAlert/InlineAlert.tsx +1 -3
  316. package/src/components/Input/Input.tsx +13 -13
  317. package/src/components/Input/InputElement.tsx +11 -5
  318. package/src/components/Input/InputExample.tsx +1 -0
  319. package/src/components/InputNumber/InputNumber.tsx +20 -20
  320. package/src/components/InputNumber/InputNumberExample.tsx +3 -0
  321. package/src/components/InputPhone/InputPhone.tsx +21 -16
  322. package/src/components/InputPhone/InputPhoneExample.tsx +3 -0
  323. package/src/components/Layout/Layout.tsx +1 -3
  324. package/src/components/Link/Link.tsx +1 -3
  325. package/src/components/ListItem/ListItem.tsx +22 -20
  326. package/src/components/Menu/Menu.tsx +5 -9
  327. package/src/components/Modal/Modal.tsx +10 -5
  328. package/src/components/Modal/modal.scss +13 -1
  329. package/src/components/OTPInput/OTPInput.tsx +1 -3
  330. package/src/components/PageControl/PageControl.tsx +1 -3
  331. package/src/components/Pagination/Pagination.tsx +50 -24
  332. package/src/components/Pagination/pagination.scss +7 -17
  333. package/src/components/Password/Password.tsx +19 -20
  334. package/src/components/Password/PasswordExample.tsx +8 -0
  335. package/src/components/Popover/Popover.tsx +11 -20
  336. package/src/components/Popover/PopoverExample.tsx +1 -1
  337. package/src/components/ProgressBar/ProgressBar.tsx +1 -3
  338. package/src/components/ProgressCircle/ProgressCircle.tsx +1 -3
  339. package/src/components/ProgressionStepper/ProgressionStepper.tsx +1 -3
  340. package/src/components/Radio/RadioExample.tsx +4 -3
  341. package/src/components/RadioGroup/RadioGroup.tsx +2 -2
  342. package/src/components/Rating/Rating.tsx +34 -14
  343. package/src/components/Rating/RatingExample.tsx +18 -1
  344. package/src/components/SearchBar/SearchBar.tsx +2 -2
  345. package/src/components/SearchBar/SearchBarExample.tsx +3 -0
  346. package/src/components/SegmentedControl/SegmentedControl.tsx +3 -3
  347. package/src/components/SegmentedControl/SegmentedControlExample.tsx +10 -12
  348. package/src/components/Select/Select.tsx +24 -25
  349. package/src/components/Select/SelectExample.tsx +1 -0
  350. package/src/components/Skeleton/Skeleton.tsx +10 -14
  351. package/src/components/Skeleton/SkeletonExample.tsx +5 -3
  352. package/src/components/SkeletonText/SkeletonText.tsx +5 -9
  353. package/src/components/Slider/Slider.tsx +2 -2
  354. package/src/components/Slider/SliderExample.tsx +42 -17
  355. package/src/components/Snackbar/Manager.tsx +64 -0
  356. package/src/components/Snackbar/Snackbar.tsx +23 -6
  357. package/src/components/Snackbar/SnackbarExample.tsx +28 -6
  358. package/src/components/Snackbar/index.tsx +1 -0
  359. package/src/components/StylesProviderDemo/StylesProviderDemo.tsx +1 -3
  360. package/src/components/Switch/Switch.tsx +2 -2
  361. package/src/components/Switch/SwitchExample.tsx +4 -1
  362. package/src/components/TabGroup/TabGroup.tsx +2 -2
  363. package/src/components/TabGroup/TabGroupExample.tsx +5 -11
  364. package/src/components/TabGroup/tab-group.scss +1 -0
  365. package/src/components/TabList/TabList.tsx +2 -2
  366. package/src/components/TabList/tab-list.scss +0 -1
  367. package/src/components/Table/Table.tsx +53 -16
  368. package/src/components/Table/table.scss +0 -1
  369. package/src/components/Tag/Tag.tsx +1 -3
  370. package/src/components/Textarea/Textarea.tsx +13 -13
  371. package/src/components/Textarea/TextareaExample.tsx +3 -0
  372. package/src/components/TimePicker/TimePicker.tsx +14 -14
  373. package/src/components/TimePicker/TimePickerExample.tsx +3 -1
  374. package/src/components/ToggleOption/ToggleOption.tsx +1 -0
  375. package/src/components/ToggleOption/toggle-option.scss +2 -61
  376. package/src/components/Tooltip/Tooltip.tsx +3 -7
  377. package/src/components/Tooltip/TooltipExample.tsx +23 -11
  378. package/src/components/Txt/Txt.tsx +1 -3
  379. package/src/components/UIProvider/AriaLiveMessageHandler.tsx +4 -2
  380. package/src/hooks/useAddEventListener.ts +1 -3
  381. package/src/hooks/useTimeout.ts +1 -5
  382. package/src/types/common.ts +4 -0
  383. package/src/types/meta.ts +1 -0
  384. package/src/utils/createCustomEvent.ts +35 -0
  385. package/src/utils/createExampleChildElement.tsx +3 -8
  386. package/src/utils/demo.ts +24 -27
  387. package/dist/components/ListItem/ListItemButton.d.ts +0 -2
  388. package/dist/components/ListItem/ListItemButton.js +0 -7
  389. package/dist/components/ListItem/ListItemButton.js.map +0 -1
  390. package/dist/components/Pagination/PageInput.d.ts +0 -4
  391. package/dist/components/Pagination/PageInput.js +0 -36
  392. package/dist/components/Pagination/PageInput.js.map +0 -1
  393. package/dist/hooks/usePaginationState.d.ts +0 -4
  394. package/dist/hooks/usePaginationState.js +0 -22
  395. package/dist/hooks/usePaginationState.js.map +0 -1
  396. package/src/components/ListItem/ListItemButton.tsx +0 -6
  397. package/src/components/Pagination/PageInput.tsx +0 -65
  398. package/src/hooks/usePaginationState.tsx +0 -24
@@ -1,55 +1,8 @@
1
1
  /** * This file is generated by the build script.
2
2
  * Do not edit this file directly. */
3
3
  const style = document.createElement('style');
4
- style.appendChild(document.createTextNode(`[data-bspk=toggle-option] {
5
- display: grid;
6
- width: 100%;
7
- grid-template-columns: auto 1fr;
8
- grid-column-gap: var(--spacing-sizing-02);
9
- user-select: none;
10
- background: unset;
11
- border: unset;
12
- cursor: pointer;
13
- min-height: var(--spacing-sizing-08);
14
- max-width: 100%;
15
- padding: var(--spacing-sizing-01);
16
- }
17
- [data-bspk=toggle-option]:has([data-description]) {
18
- align-items: unset;
19
- }
20
- @media (any-pointer: coarse) {
21
- [data-bspk=toggle-option] {
22
- min-height: var(--spacing-sizing-12);
23
- }
24
- }
25
- [data-bspk=toggle-option] [data-control],
26
- [data-bspk=toggle-option] [data-label],
27
- [data-bspk=toggle-option] [data-description] {
28
- display: flex;
29
- flex-direction: row;
30
- align-items: center;
31
- justify-content: start;
32
- }
33
- [data-bspk=toggle-option] [data-label] {
34
- color: var(--foreground-neutral-on-surface);
35
- font: var(--labels-base);
36
- }
37
- [data-bspk=toggle-option] [data-description] {
38
- grid-column-start: 2;
39
- font: var(--body-small);
40
- color: var(--foreground-neutral-on-surface-variant-01);
41
- }
42
- [data-pseudo=focus] [data-bspk=toggle-option]:not([aria-disabled]), [data-bspk=toggle-option]:not([aria-disabled]):focus-visible, [data-bspk=toggle-option]:not([aria-disabled]):has(*:focus-visible) {
43
- outline: var(--stroke-neutral-focus) 2px solid;
44
- }
45
- [data-bspk=toggle-option][aria-disabled] {
46
- cursor: not-allowed;
47
- }
48
- [data-bspk=toggle-option][aria-disabled] [data-label] {
49
- color: var(--foreground-neutral-disabled-on-surface);
50
- }
51
- [data-bspk=toggle-option][aria-disabled] [data-description] {
52
- color: var(--foreground-neutral-disabled-on-surface);
4
+ style.appendChild(document.createTextNode(`[data-bspk-owner=toggle-option] {
5
+ align-items: start;
53
6
  }
54
7
 
55
8
  /** Copyright 2025 Anywhere Real Estate - CC BY 4.0 */
@@ -39,13 +39,9 @@ export type TooltipProps = {
39
39
  * import { Tooltip } from '@bspk/ui/Tooltip';
40
40
  * import { Button } from '@bspk/ui/Button';
41
41
  *
42
- * function Example() {
43
- * return (
44
- * <Tooltip label="I explain what this button does" placement="top">
45
- * {(triggerProps) => <Button {...triggerProps}>Click me</Button>}
46
- * </Tooltip>
47
- * );
48
- * }
42
+ * <Tooltip label="I explain what this button does" placement="top">
43
+ * {(triggerProps) => <Button {...triggerProps}>Click me</Button>}
44
+ * </Tooltip>;
49
45
  *
50
46
  * @name Tooltip
51
47
  * @phase UXReview
@@ -11,13 +11,9 @@ import { useId } from '../../hooks/useId';
11
11
  * import { Tooltip } from '@bspk/ui/Tooltip';
12
12
  * import { Button } from '@bspk/ui/Button';
13
13
  *
14
- * function Example() {
15
- * return (
16
- * <Tooltip label="I explain what this button does" placement="top">
17
- * {(triggerProps) => <Button {...triggerProps}>Click me</Button>}
18
- * </Tooltip>
19
- * );
20
- * }
14
+ * <Tooltip label="I explain what this button does" placement="top">
15
+ * {(triggerProps) => <Button {...triggerProps}>Click me</Button>}
16
+ * </Tooltip>;
21
17
  *
22
18
  * @name Tooltip
23
19
  * @phase UXReview
@@ -1 +1 @@
1
- {"version":3,"file":"Tooltip.js","sourceRoot":"","sources":["../../../src/components/Tooltip/Tooltip.tsx"],"names":[],"mappings":";AAAA,OAAO,gBAAgB,CAAC;AACxB,OAAO,EAAgB,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAa,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAmCtC;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,OAAO,CAAC,EAAE,SAAS,GAAG,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,GAAG,KAAK,EAAE,QAAQ,GAAG,IAAI,EAAgB;IAC3G,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;IACnB,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAExC,MAAM,QAAQ,GAAG,MAAM,CAAqB,IAAI,CAAC,CAAC;IAElD,MAAM,EAAE,cAAc,EAAE,cAAc,EAAE,QAAQ,EAAE,GAAG,WAAW,CAAC;QAC7D,SAAS;QACT,QAAQ,EAAE,OAAO;QACjB,aAAa,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/B,QAAQ;QACR,IAAI,EAAE,CAAC,IAAI;QACX,QAAQ,EAAE,KAAK;KAClB,CAAC,CAAC;IAEH,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAC,EAAE,CAAC,CAAC;IAElC,OAAO,CACH,8BACK,QAAQ,CAAC;gBACN,WAAW,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;gBAChC,YAAY,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;gBAClC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;gBAC5B,MAAM,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;gBAC5B,iBAAiB,EAAE,EAAE;aACxB,CAAC,EACD,KAAK,IAAI,CACN,KAAC,MAAM,cACH,4BACc,SAAS,oBACH,cAAc,EAAE,MAAM,EAAE,SAAS,EACjD,EAAE,EAAE,EAAE,EACN,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE;wBACV,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;wBAC3B,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,aAAa,CAAc,qBAAqB,EAAE,IAAI,CAAC,CAAC,CAAC;oBAC5F,CAAC,EACD,IAAI,EAAC,SAAS,EACd,KAAK,EAAE,cAAc,aAErB,4CAAiB,KAAK,GAAQ,EAC9B,wDAGI,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE;gCACV,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC;4BAC5B,CAAC,EACD,KAAK,EAAE;gCACH,MAAM,EAAE,gCAAgC;gCACxC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gCACzB,IAAI,EAAE,cAAc,CAAC,KAAK,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;gCAC3E,GAAG,EAAE,cAAc,CAAC,KAAK,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;6BAC7E,GACH,IACA,GACD,CACZ,IACF,CACN,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"Tooltip.js","sourceRoot":"","sources":["../../../src/components/Tooltip/Tooltip.tsx"],"names":[],"mappings":";AAAA,OAAO,gBAAgB,CAAC;AACxB,OAAO,EAAgB,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAa,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAmCtC;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,OAAO,CAAC,EAAE,SAAS,GAAG,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,GAAG,KAAK,EAAE,QAAQ,GAAG,IAAI,EAAgB;IAC3G,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;IACnB,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAExC,MAAM,QAAQ,GAAG,MAAM,CAAqB,IAAI,CAAC,CAAC;IAElD,MAAM,EAAE,cAAc,EAAE,cAAc,EAAE,QAAQ,EAAE,GAAG,WAAW,CAAC;QAC7D,SAAS;QACT,QAAQ,EAAE,OAAO;QACjB,aAAa,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/B,QAAQ;QACR,IAAI,EAAE,CAAC,IAAI;QACX,QAAQ,EAAE,KAAK;KAClB,CAAC,CAAC;IAEH,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAC,EAAE,CAAC,CAAC;IAElC,OAAO,CACH,8BACK,QAAQ,CAAC;gBACN,WAAW,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;gBAChC,YAAY,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;gBAClC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;gBAC5B,MAAM,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;gBAC5B,iBAAiB,EAAE,EAAE;aACxB,CAAC,EACD,KAAK,IAAI,CACN,KAAC,MAAM,cACH,4BACc,SAAS,oBACH,cAAc,EAAE,MAAM,EAAE,SAAS,EACjD,EAAE,EAAE,EAAE,EACN,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE;wBACV,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;wBAC3B,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,aAAa,CAAc,qBAAqB,EAAE,IAAI,CAAC,CAAC,CAAC;oBAC5F,CAAC,EACD,IAAI,EAAC,SAAS,EACd,KAAK,EAAE,cAAc,aAErB,4CAAiB,KAAK,GAAQ,EAC9B,wDAGI,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE;gCACV,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC;4BAC5B,CAAC,EACD,KAAK,EAAE;gCACH,MAAM,EAAE,gCAAgC;gCACxC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gCACzB,IAAI,EAAE,cAAc,CAAC,KAAK,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;gCAC3E,GAAG,EAAE,cAAc,CAAC,KAAK,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;6BAC7E,GACH,IACA,GACD,CACZ,IACF,CACN,CAAC;AACN,CAAC"}
@@ -1,8 +1,28 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
- import { Button } from '../Button';
3
2
  export const TooltipExample = {
4
- render: ({ props: state, Component }) => {
5
- return (_jsx(Component, { ...state, label: `Hover over me ${state.label || ''}`, placement: [state.placement].flat()[0] || 'top', children: (triggerProps) => _jsx(Button, { ...triggerProps, label: "Hover over me", variant: "secondary" }) }));
3
+ defaultState: {
4
+ children: (triggerProps) => _jsx("span", { ...triggerProps, children: "Hover me" }),
5
+ },
6
+ presets: [
7
+ {
8
+ label: 'Long Label Tooltip',
9
+ propState: {
10
+ label: 'This is a longer tooltip label to demonstrate how the tooltip handles more content.',
11
+ placement: 'top',
12
+ children: (triggerProps) => _jsx("span", { ...triggerProps, children: "Long Tooltip Label" }),
13
+ },
14
+ },
15
+ {
16
+ label: 'No Label',
17
+ propState: {
18
+ label: '',
19
+ placement: 'top',
20
+ children: (triggerProps) => _jsx("span", { ...triggerProps, children: "No Label" }),
21
+ },
22
+ },
23
+ ],
24
+ render: ({ props, Component }) => {
25
+ return _jsx(Component, { ...props, children: props.children || (() => _jsx("span", { children: "No Hover" })) });
6
26
  },
7
27
  };
8
28
  //# sourceMappingURL=TooltipExample.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TooltipExample.js","sourceRoot":"","sources":["../../../src/components/Tooltip/TooltipExample.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAG7C,MAAM,CAAC,MAAM,cAAc,GAAmC;IAC1D,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE;QACpC,OAAO,CACH,KAAC,SAAS,OACF,KAAK,EACT,KAAK,EAAE,iBAAiB,KAAK,CAAC,KAAK,IAAI,EAAE,EAAE,EAC3C,SAAS,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,YAE9C,CAAC,YAAY,EAAE,EAAE,CAAC,KAAC,MAAM,OAAK,YAAY,EAAE,KAAK,EAAC,eAAe,EAAC,OAAO,EAAC,WAAW,GAAG,GACjF,CACf,CAAC;IACN,CAAC;CACJ,CAAC"}
1
+ {"version":3,"file":"TooltipExample.js","sourceRoot":"","sources":["../../../src/components/Tooltip/TooltipExample.tsx"],"names":[],"mappings":";AAGA,MAAM,CAAC,MAAM,cAAc,GAAmC;IAC1D,YAAY,EAAE;QACV,QAAQ,EAAE,CAAC,YAAY,EAAE,EAAE,CAAC,kBAAU,YAAY,yBAAiB;KACtE;IACD,OAAO,EAAE;QACL;YACI,KAAK,EAAE,oBAAoB;YAC3B,SAAS,EAAE;gBACP,KAAK,EAAE,qFAAqF;gBAC5F,SAAS,EAAE,KAAK;gBAChB,QAAQ,EAAE,CAAC,YAAY,EAAE,EAAE,CAAC,kBAAU,YAAY,mCAA2B;aAChF;SACJ;QACD;YACI,KAAK,EAAE,UAAU;YACjB,SAAS,EAAE;gBACP,KAAK,EAAE,EAAE;gBACT,SAAS,EAAE,KAAK;gBAChB,QAAQ,EAAE,CAAC,YAAY,EAAE,EAAE,CAAC,kBAAU,YAAY,yBAAiB;aACtE;SACJ;KACJ;IACD,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE;QAC7B,OAAO,KAAC,SAAS,OAAK,KAAK,YAAG,KAAK,CAAC,QAAQ,IAAI,CAAC,GAAG,EAAE,CAAC,sCAAqB,CAAC,GAAa,CAAC;IAC/F,CAAC;CACJ,CAAC"}
@@ -45,9 +45,7 @@ export type TxtProps<As extends ElementType = ElementType> = {
45
45
  * @example
46
46
  * import { Txt } from '@bspk/ui/Txt';
47
47
  *
48
- * function Example() {
49
- * return <Txt>Example Txt</Txt>;
50
- * }
48
+ * <Txt>Example Txt</Txt>;
51
49
  *
52
50
  * @name Txt
53
51
  * @phase UXReview
@@ -6,9 +6,7 @@ import { SkeletonText } from '../SkeletonText';
6
6
  * @example
7
7
  * import { Txt } from '@bspk/ui/Txt';
8
8
  *
9
- * function Example() {
10
- * return <Txt>Example Txt</Txt>;
11
- * }
9
+ * <Txt>Example Txt</Txt>;
12
10
  *
13
11
  * @name Txt
14
12
  * @phase UXReview
@@ -1 +1 @@
1
- {"version":3,"file":"Txt.js","sourceRoot":"","sources":["../../../src/components/Txt/Txt.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AA2CzD;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,GAAG,CAAuC,EACtD,QAAQ,EACR,EAAE,EACF,OAAO,GAAG,WAAW,EACrB,KAAK,EAAE,SAAS,EAChB,aAAa,GAAG,CAAC,EACjB,OAAO,EACP,GAAG,cAAc,EACY;IAC7B,MAAM,OAAO,GAAG,QAAQ,EAAE,QAAQ,EAAE,CAAC;IAErC,IAAI,CAAC,OAAO;QAAE,OAAO,aAAa,CAAC,CAAC,CAAC,KAAC,YAAY,IAAC,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,OAAO,GAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IAErG,MAAM,EAAE,GAAgB,EAAE,IAAI,MAAM,CAAC;IAErC,OAAO,CACH,KAAC,EAAE,OACK,cAAc,eACR,KAAK,EACf,KAAK,EAAE;YACH,GAAG,SAAS;YACZ,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,OAAO,GAAG;SAClD,YAEA,OAAO,GACP,CACR,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"Txt.js","sourceRoot":"","sources":["../../../src/components/Txt/Txt.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AA2CzD;;;;;;;;;;GAUG;AACH,MAAM,UAAU,GAAG,CAAuC,EACtD,QAAQ,EACR,EAAE,EACF,OAAO,GAAG,WAAW,EACrB,KAAK,EAAE,SAAS,EAChB,aAAa,GAAG,CAAC,EACjB,OAAO,EACP,GAAG,cAAc,EACY;IAC7B,MAAM,OAAO,GAAG,QAAQ,EAAE,QAAQ,EAAE,CAAC;IAErC,IAAI,CAAC,OAAO;QAAE,OAAO,aAAa,CAAC,CAAC,CAAC,KAAC,YAAY,IAAC,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,OAAO,GAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IAErG,MAAM,EAAE,GAAgB,EAAE,IAAI,MAAM,CAAC;IAErC,OAAO,CACH,KAAC,EAAE,OACK,cAAc,eACR,KAAK,EACf,KAAK,EAAE;YACH,GAAG,SAAS;YACZ,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,OAAO,GAAG;SAClD,YAEA,OAAO,GACP,CACR,CAAC;AACN,CAAC"}
@@ -2,8 +2,9 @@ import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { useState } from 'react';
3
3
  import { useEventListener } from '../../hooks/useAddEventListener';
4
4
  import { useTimeout } from '../../hooks/useTimeout';
5
+ const CUSTOM_EVENT_NAME = 'bspk-aria-live';
5
6
  export function sendAriaLiveMessage(message, live = 'polite') {
6
- document.dispatchEvent(new CustomEvent('aria-live', { detail: { message, live } }));
7
+ document.dispatchEvent(new CustomEvent(CUSTOM_EVENT_NAME, { detail: { message, live } }));
7
8
  }
8
9
  /**
9
10
  * AriaLiveMessageHandler is a single use component that listens for aria-live messages and displays them to the user.
@@ -19,7 +20,7 @@ export function sendAriaLiveMessage(message, live = 'polite') {
19
20
  export function AriaLiveMessageHandler() {
20
21
  const [ariaLiveMessage, setAriaLiveMessage] = useState(undefined);
21
22
  const timeout = useTimeout();
22
- useEventListener('aria-live', (event) => {
23
+ useEventListener(CUSTOM_EVENT_NAME, (event) => {
23
24
  const { message, live } = event.detail;
24
25
  // Clear any existing message to ensure that screen readers read the new message
25
26
  setAriaLiveMessage(undefined);
@@ -1 +1 @@
1
- {"version":3,"file":"AriaLiveMessageHandler.js","sourceRoot":"","sources":["../../../src/components/UIProvider/AriaLiveMessageHandler.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAGhD,MAAM,UAAU,mBAAmB,CAAC,OAAe,EAAE,OAA+B,QAAQ;IACxF,QAAQ,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;AACxF,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,sBAAsB;IAClC,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAA8B,SAAS,CAAC,CAAC;IAE/F,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAE7B,gBAAgB,CACZ,WAAW,EACX,CAAC,KAAkB,EAAE,EAAE;QACnB,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC;QACvC,gFAAgF;QAChF,kBAAkB,CAAC,SAAS,CAAC,CAAC;QAC9B,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,IAAI,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IACnF,CAAC,EACD,QAAQ,CACX,CAAC;IAEF,OAAO,CACH,eAAe,IAAI,CACf,2BAAgB,eAAe,EAAE,IAAI,IAAI,QAAQ,wBAAe,IAAI,EAAC,OAAO,YACvE,eAAe,EAAE,OAAO,GACvB,CACT,CACJ,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"AriaLiveMessageHandler.js","sourceRoot":"","sources":["../../../src/components/UIProvider/AriaLiveMessageHandler.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAGhD,MAAM,iBAAiB,GAAG,gBAAgB,CAAC;AAE3C,MAAM,UAAU,mBAAmB,CAAC,OAAe,EAAE,OAA+B,QAAQ;IACxF,QAAQ,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,iBAAiB,EAAE,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;AAC9F,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,sBAAsB;IAClC,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAA8B,SAAS,CAAC,CAAC;IAE/F,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAE7B,gBAAgB,CACZ,iBAAiB,EACjB,CAAC,KAAkB,EAAE,EAAE;QACnB,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC;QACvC,gFAAgF;QAChF,kBAAkB,CAAC,SAAS,CAAC,CAAC;QAC9B,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,IAAI,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IACnF,CAAC,EACD,QAAQ,CACX,CAAC;IAEF,OAAO,CACH,eAAe,IAAI,CACf,2BAAgB,eAAe,EAAE,IAAI,IAAI,QAAQ,wBAAe,IAAI,EAAC,OAAO,YACvE,eAAe,EAAE,OAAO,GACvB,CACT,CACJ,CAAC;AACN,CAAC"}
@@ -1,2 +1 @@
1
- export type CustomEventName = 'aria-live';
2
- export declare function useEventListener<KW extends keyof WindowEventMap, KH extends keyof HTMLElementEventMap & keyof SVGElementEventMap, KM extends keyof MediaQueryListEventMap, T extends Document | HTMLElement | MediaQueryList | SVGAElement | Window = HTMLElement>(eventName: CustomEventName | KH | KM | KW, handler: (event: Event | HTMLElementEventMap[KH] | MediaQueryListEventMap[KM] | SVGElementEventMap[KH] | WindowEventMap[KW]) => void, element?: T, disabled?: boolean, options?: AddEventListenerOptions | boolean): void;
1
+ export declare function useEventListener<KW extends keyof WindowEventMap, KH extends keyof HTMLElementEventMap & keyof SVGElementEventMap, KM extends keyof MediaQueryListEventMap, T extends Document | HTMLElement | MediaQueryList | SVGAElement | Window = HTMLElement>(eventName: KH | KM | KW | string, handler: (event: Event | HTMLElementEventMap[KH] | MediaQueryListEventMap[KM] | SVGElementEventMap[KH] | WindowEventMap[KW]) => void, element?: T, disabled?: boolean, options?: AddEventListenerOptions | boolean): void;
@@ -1 +1 @@
1
- {"version":3,"file":"useAddEventListener.js","sourceRoot":"","sources":["../../src/hooks/useAddEventListener.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAI5D,MAAM,UAAU,gBAAgB,CAM5B,SAAyC,EACzC,OAOS,EACT,OAAW,EACX,QAAkB,EAClB,OAA2C;IAE3C,mCAAmC;IACnC,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;IAErC,mBAAmB,CAAC,GAAG,EAAE;QACrB,YAAY,CAAC,OAAO,GAAG,OAAO,CAAC;IACnC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAEd,mBAAmB,CAAC,GAAG,EAAE;QACrB,IAAI,QAAQ;YAAE,OAAO;QAErB,8BAA8B;QAC9B,MAAM,aAAa,GAAe,OAAO,IAAI,MAAM,CAAC;QAEpD,IAAI,CAAC,CAAC,aAAa,IAAI,aAAa,CAAC,gBAAgB,CAAC;YAAE,OAAO;QAE/D,kEAAkE;QAClE,MAAM,QAAQ,GAAmB,CAAC,KAAK,EAAE,EAAE;YACvC,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAChC,CAAC,CAAC;QAEF,aAAa,CAAC,gBAAgB,CAAC,SAAS,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;QAE7D,mCAAmC;QACnC,OAAO,GAAG,EAAE;YACR,aAAa,CAAC,mBAAmB,CAAC,SAAS,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;QACpE,CAAC,CAAC;IACN,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;AACtC,CAAC"}
1
+ {"version":3,"file":"useAddEventListener.js","sourceRoot":"","sources":["../../src/hooks/useAddEventListener.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,MAAM,UAAU,gBAAgB,CAM5B,SAAgC,EAChC,OAOS,EACT,OAAW,EACX,QAAkB,EAClB,OAA2C;IAE3C,mCAAmC;IACnC,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;IAErC,mBAAmB,CAAC,GAAG,EAAE;QACrB,YAAY,CAAC,OAAO,GAAG,OAAO,CAAC;IACnC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAEd,mBAAmB,CAAC,GAAG,EAAE;QACrB,IAAI,QAAQ;YAAE,OAAO;QAErB,8BAA8B;QAC9B,MAAM,aAAa,GAAe,OAAO,IAAI,MAAM,CAAC;QAEpD,IAAI,CAAC,CAAC,aAAa,IAAI,aAAa,CAAC,gBAAgB,CAAC;YAAE,OAAO;QAE/D,kEAAkE;QAClE,MAAM,QAAQ,GAAmB,CAAC,KAAK,EAAE,EAAE;YACvC,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAChC,CAAC,CAAC;QAEF,aAAa,CAAC,gBAAgB,CAAC,SAAS,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;QAE7D,mCAAmC;QACnC,OAAO,GAAG,EAAE;YACR,aAAa,CAAC,mBAAmB,CAAC,SAAS,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;QACpE,CAAC,CAAC;IACN,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;AACtC,CAAC"}
@@ -18,6 +18,6 @@ import { RadioProps } from '-/components/Radio';
18
18
  export declare function useRadioState(name: string, externalState?: [value: string | undefined, onChange: (next: string) => void]): {
19
19
  radioProps: (radioValue: string) => Pick<RadioProps, "checked" | "name" | "onChange" | "value">;
20
20
  value: string | undefined;
21
- setValue: (next: string) => void;
21
+ setValue: import("react").Dispatch<import("react").SetStateAction<string | undefined>>;
22
22
  };
23
23
  /** Copyright 2025 Anywhere Real Estate - CC BY 4.0 */
@@ -22,6 +22,5 @@ export type TimeoutHook = {
22
22
  *
23
23
  * @returns A ref object that can be used to store a timeout id.
24
24
  */
25
- export declare function useTimeout(): TimeoutHook;
26
- export declare function useTimeout(initialCallback: () => void, durationMs: number): TimeoutHook;
25
+ export declare function useTimeout(durationMs?: number): TimeoutHook;
27
26
  /** Copyright 2025 Anywhere Real Estate - CC BY 4.0 */
@@ -1,12 +1,28 @@
1
1
  import { useRef, useEffect, useMemo } from 'react';
2
- export function useTimeout(initialCallback, durationMs = 1000) {
2
+ /**
3
+ * A hook that creates a timeout that is automatically cleared when the component is unmounted.
4
+ *
5
+ * @example
6
+ * import { useTimeout } from '@bspk/ui/hooks/useTimeout';
7
+ * import { useEffect } from 'react';
8
+ *
9
+ * function MyComponent() {
10
+ * const timeout = useTimeout();
11
+ *
12
+ * const handleClick = () => {
13
+ * timeout.set(() => console.log('Timeout triggered'), 1000);
14
+ * };
15
+ *
16
+ * return <Button onClick={handleClick}>Click here then check the console.</Button>;
17
+ * }
18
+ *
19
+ * @returns A ref object that can be used to store a timeout id.
20
+ */
21
+ export function useTimeout(durationMs = 1000) {
3
22
  const timeoutRef = useRef(null);
4
23
  useEffect(() => {
5
24
  if (timeoutRef.current)
6
25
  clearTimeout(timeoutRef.current);
7
- if (initialCallback)
8
- timeoutRef.current = setTimeout(initialCallback, durationMs);
9
- // eslint-disable-next-line react-hooks/exhaustive-deps -- only run at mount
10
26
  }, []);
11
27
  return useMemo(() => ({
12
28
  clear: () => {
@@ -1 +1 @@
1
- {"version":3,"file":"useTimeout.js","sourceRoot":"","sources":["../../src/hooks/useTimeout.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AA6BnD,MAAM,UAAU,UAAU,CAAC,eAA4B,EAAE,UAAU,GAAG,IAAI;IACtE,MAAM,UAAU,GAAG,MAAM,CAAuC,IAAI,CAAC,CAAC;IAEtE,SAAS,CAAC,GAAG,EAAE;QACX,IAAI,UAAU,CAAC,OAAO;YAAE,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QACzD,IAAI,eAAe;YAAE,UAAU,CAAC,OAAO,GAAG,UAAU,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;QAClF,4EAA4E;IAChF,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,OAAO,CACV,GAAG,EAAE,CAAC,CAAC;QACH,KAAK,EAAE,GAAG,EAAE;YACR,IAAI,UAAU,CAAC,OAAO;gBAAE,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAC7D,CAAC;QACD,GAAG,EAAE,CAAC,QAAoB,EAAE,EAAE,GAAG,UAAU,EAAE,EAAE;YAC3C,IAAI,UAAU,CAAC,OAAO;gBAAE,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YACzD,UAAU,CAAC,OAAO,GAAG,UAAU,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QAClD,CAAC;QACD,GAAG,EAAE,UAAU;KAClB,CAAC,EACF,CAAC,UAAU,CAAC,CACf,CAAC;AACN,CAAC;AAED,sDAAsD"}
1
+ {"version":3,"file":"useTimeout.js","sourceRoot":"","sources":["../../src/hooks/useTimeout.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAQnD;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,UAAU,CAAC,UAAU,GAAG,IAAI;IACxC,MAAM,UAAU,GAAG,MAAM,CAAuC,IAAI,CAAC,CAAC;IAEtE,SAAS,CAAC,GAAG,EAAE;QACX,IAAI,UAAU,CAAC,OAAO;YAAE,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IAC7D,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,OAAO,CACV,GAAG,EAAE,CAAC,CAAC;QACH,KAAK,EAAE,GAAG,EAAE;YACR,IAAI,UAAU,CAAC,OAAO;gBAAE,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAC7D,CAAC;QACD,GAAG,EAAE,CAAC,QAAoB,EAAE,EAAE,GAAG,UAAU,EAAE,EAAE;YAC3C,IAAI,UAAU,CAAC,OAAO;gBAAE,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YACzD,UAAU,CAAC,OAAO,GAAG,UAAU,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QAClD,CAAC;QACD,GAAG,EAAE,UAAU;KAClB,CAAC,EACF,CAAC,UAAU,CAAC,CACf,CAAC;AACN,CAAC;AAED,sDAAsD"}
@@ -5,6 +5,7 @@
5
5
  *
6
6
  * @bspk/ui/Txt".
7
7
  */
8
+ import { IconName } from '@bspk/icons';
8
9
  import { JSXElementConstructor, ReactNode, ComponentPropsWithoutRef, AriaRole, ChangeEvent, KeyboardEvent, CSSProperties } from 'react';
9
10
  export type AlertVariant = 'error' | 'informational' | 'success' | 'warning';
10
11
  /** Sets a ref to the given element. */
@@ -17,6 +18,8 @@ export type CSSWithVariables = CSSProperties | (CSSProperties & {
17
18
  });
18
19
  export type DataProps = Record<`data-${string}`, string>;
19
20
  export type ButtonSize = 'large' | 'medium' | 'small' | 'x-small';
21
+ /** The name of an icon in the Bspk icon library. */
22
+ export type BspkIcon = IconName;
20
23
  export type CallToActionButton = {
21
24
  /**
22
25
  * The label of the call to action button.
@@ -1 +1 @@
1
- {"version":3,"file":"common.js","sourceRoot":"","sources":["../../src/types/common.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;;AAyKH,sDAAsD"}
1
+ {"version":3,"file":"common.js","sourceRoot":"","sources":["../../src/types/common.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;;AA6KH,sDAAsD"}
@@ -33,6 +33,7 @@ export type TypeProperty = {
33
33
  minimum?: number;
34
34
  maximum?: number;
35
35
  example?: string;
36
+ arrayType?: string;
36
37
  };
37
38
  export type ComponentMeta = BaseMeta & {
38
39
  slug: string;
@@ -1 +1 @@
1
- {"version":3,"file":"meta.js","sourceRoot":"","sources":["../../src/types/meta.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,CAAC,MAAM,qBAAqB,GAAqB;IACnD,SAAS,EAAE,qDAAqD;IAChE,SAAS,EAAE,mDAAmD;IAC9D,KAAK,EAAE,+CAA+C;IACtD,UAAU,EAAE,mCAAmC;IAC/C,QAAQ,EAAE,mBAAmB;CAChC,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAOzB;IACA,OAAO,EAAE;QACL,KAAK,EAAE,SAAS;QAChB,EAAE,EAAE,SAAS;QACb,WAAW,EACP,4IAA4I;KACnJ;IACD,GAAG,EAAE;QACD,KAAK,EAAE,aAAa;QACpB,EAAE,EAAE,KAAK;QACT,WAAW,EACP,+JAA+J;KACtK;IACD,QAAQ,EAAE;QACN,KAAK,EAAE,WAAW;QAClB,EAAE,EAAE,UAAU;QACd,WAAW,EACP,+LAA+L;KACtM;IACD,MAAM,EAAE;QACJ,KAAK,EAAE,QAAQ;QACf,EAAE,EAAE,QAAQ;QACZ,WAAW,EACP,sJAAsJ;KAC7J;IACD,OAAO,EAAE;QACL,KAAK,EAAE,SAAS;QAChB,EAAE,EAAE,SAAS;QACb,WAAW,EAAE,mEAAmE;KACnF;CACJ,CAAC;AAmDF,sDAAsD"}
1
+ {"version":3,"file":"meta.js","sourceRoot":"","sources":["../../src/types/meta.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,CAAC,MAAM,qBAAqB,GAAqB;IACnD,SAAS,EAAE,qDAAqD;IAChE,SAAS,EAAE,mDAAmD;IAC9D,KAAK,EAAE,+CAA+C;IACtD,UAAU,EAAE,mCAAmC;IAC/C,QAAQ,EAAE,mBAAmB;CAChC,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAOzB;IACA,OAAO,EAAE;QACL,KAAK,EAAE,SAAS;QAChB,EAAE,EAAE,SAAS;QACb,WAAW,EACP,4IAA4I;KACnJ;IACD,GAAG,EAAE;QACD,KAAK,EAAE,aAAa;QACpB,EAAE,EAAE,KAAK;QACT,WAAW,EACP,+JAA+J;KACtK;IACD,QAAQ,EAAE;QACN,KAAK,EAAE,WAAW;QAClB,EAAE,EAAE,UAAU;QACd,WAAW,EACP,+LAA+L;KACtM;IACD,MAAM,EAAE;QACJ,KAAK,EAAE,QAAQ;QACf,EAAE,EAAE,QAAQ;QACZ,WAAW,EACP,sJAAsJ;KAC7J;IACD,OAAO,EAAE;QACL,KAAK,EAAE,SAAS;QAChB,EAAE,EAAE,SAAS;QACb,WAAW,EAAE,mEAAmE;KACnF;CACJ,CAAC;AAoDF,sDAAsD"}
@@ -0,0 +1,17 @@
1
+ export type CustomEventDetail = Array<CustomEventDetail> | Function | boolean | number | string | {
2
+ [key: string]: CustomEventDetail;
3
+ } | null | undefined;
4
+ export type CustomEventHandler<TDetail extends CustomEventDetail> = (detail: TDetail) => void;
5
+ /**
6
+ * Like React.createContext but for custom events using the DOM's CustomEvent system.
7
+ *
8
+ * This allows for communication between components without using React.Context, which can cause unnecessary re-renders.
9
+ *
10
+ * This generator ensures only safe detail types are used. !important;
11
+ */
12
+ export declare function createCustomEvent<TDetail extends CustomEventDetail>(
13
+ /** The name of the custom event to create. Prefix with 'bspk-' to avoid conflicts. */
14
+ eventName: string): {
15
+ send(detail: TDetail): void;
16
+ useEventListener(listener: CustomEventHandler<TDetail>): void;
17
+ };
@@ -0,0 +1,21 @@
1
+ import { useEventListener } from '../hooks/useAddEventListener';
2
+ /**
3
+ * Like React.createContext but for custom events using the DOM's CustomEvent system.
4
+ *
5
+ * This allows for communication between components without using React.Context, which can cause unnecessary re-renders.
6
+ *
7
+ * This generator ensures only safe detail types are used. !important;
8
+ */
9
+ export function createCustomEvent(
10
+ /** The name of the custom event to create. Prefix with 'bspk-' to avoid conflicts. */
11
+ eventName) {
12
+ return {
13
+ send(detail) {
14
+ document.dispatchEvent(new CustomEvent(eventName, { detail }));
15
+ },
16
+ useEventListener(listener) {
17
+ useEventListener(eventName, (event) => listener(event.detail), document);
18
+ },
19
+ };
20
+ }
21
+ //# sourceMappingURL=createCustomEvent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createCustomEvent.js","sourceRoot":"","sources":["../../src/utils/createCustomEvent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAe/D;;;;;;GAMG;AACH,MAAM,UAAU,iBAAiB;AAC7B,sFAAsF;AACtF,SAAiB;IAEjB,OAAO;QACH,IAAI,CAAC,MAAe;YAChB,QAAQ,CAAC,aAAa,CAAC,IAAI,WAAW,CAAU,SAAS,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;QAC5E,CAAC;QACD,gBAAgB,CAAC,QAAqC;YAClD,gBAAgB,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAE,KAA8B,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,CAAC;QACvG,CAAC;KACJ,CAAC;AACN,CAAC"}
@@ -2,9 +2,9 @@ import { jsx as _jsx } from "react/jsx-runtime";
2
2
  /* eslint-disable @typescript-eslint/no-explicit-any */ import { SvgContentCopy } from '@bspk/icons/ContentCopy';
3
3
  import { SvgDiamond } from '@bspk/icons/Diamond';
4
4
  import { Avatar } from '../components/Avatar';
5
+ import { Button } from '../components/Button';
5
6
  import { Checkbox } from '../components/Checkbox';
6
7
  import { Img } from '../components/Img';
7
- import { ListItem } from '../components/ListItem';
8
8
  import { Radio } from '../components/Radio';
9
9
  import { Switch } from '../components/Switch';
10
10
  import { Tag } from '../components/Tag';
@@ -29,9 +29,9 @@ export function createExampleChildElement({ exampleState, name, setState, action
29
29
  componentName,
30
30
  };
31
31
  }
32
- if (componentName === 'ListItemButton')
32
+ if (componentName === 'Button')
33
33
  return {
34
- element: (_jsx(ListItem.Button, { icon: _jsx(SvgContentCopy, {}), label: "LI Button", onClick: () => action('ListItem button clicked') })),
34
+ element: (_jsx(Button, { icon: _jsx(SvgContentCopy, {}), label: "LI Button", onClick: () => action('ListItem button clicked') })),
35
35
  componentName,
36
36
  };
37
37
  if (componentName === 'Img')
@@ -1 +1 @@
1
- {"version":3,"file":"createExampleChildElement.js","sourceRoot":"","sources":["../../src/utils/createExampleChildElement.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"createExampleChildElement.js","sourceRoot":"","sources":["../../src/utils/createExampleChildElement.tsx"],"names":[],"mappings":"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"}
@@ -1,20 +1,6 @@
1
1
  import { CSSProperties, ReactNode } from 'react';
2
2
  import { AlertVariant, DataProps } from '-/types/common';
3
- import { ComponentMeta } from '-/types/meta';
4
- export type TypeProperty = {
5
- name: string;
6
- description?: string;
7
- type?: string[] | string;
8
- default?: unknown;
9
- required?: boolean;
10
- options?: number[] | string[];
11
- variants?: string[];
12
- references?: string[];
13
- minimum?: number;
14
- maximum?: number;
15
- example?: string;
16
- exampleType?: string;
17
- };
3
+ import { ComponentMeta, TypeProperty } from '-/types/meta';
18
4
  export type DemoAction = (message: string, variant?: AlertVariant) => void;
19
5
  export type DemoSetState<Props = Record<string, unknown>> = (next: Partial<Props> | ((prev: Props) => Partial<Props>)) => void;
20
6
  export type TypePropertyDemo = Omit<TypeProperty, 'example'> & {
@@ -45,8 +31,18 @@ export type ComponentVariantOverride<Props> = {
45
31
  options: Props[K][];
46
32
  };
47
33
  };
34
+ export type ComponentPageSection<Props = Record<string, unknown>> = {
35
+ title: string;
36
+ content: (params: {
37
+ Component?: React.ComponentType<Props>;
38
+ props: Props;
39
+ CodeExample: CodeExample;
40
+ Syntax: Syntax;
41
+ }) => React.ReactNode;
42
+ location?: 'afterDemo' | 'beforeDemo';
43
+ };
48
44
  export type ComponentVariantOverrides<Props = Record<string, unknown>, PropName extends keyof Props = keyof Props> = {
49
- [Key in PropName]?: ComponentVariantOverride<Props> | false | ((props: Props) => ComponentVariantOverride<Props>);
45
+ [Key in PropName]?: ComponentVariantOverride<Props> | false;
50
46
  };
51
47
  export type ComponentExample<Props = Record<string, unknown>, PropName extends keyof Props = keyof Props> = {
52
48
  /**
@@ -91,16 +87,7 @@ export type ComponentExample<Props = Record<string, unknown>, PropName extends k
91
87
  */
92
88
  disableProps?: PropName[] | true;
93
89
  /** The sections of the example. */
94
- sections?: {
95
- title: string;
96
- content: (params: {
97
- Component: React.ComponentType<Props>;
98
- props: Props;
99
- CodeExample: CodeExample;
100
- Syntax: Syntax;
101
- }) => React.ReactNode;
102
- location?: 'afterDemo' | 'beforeDemo';
103
- }[];
90
+ sections?: ComponentPageSection<Props>[];
104
91
  };
105
92
  export type Syntax = (params: {
106
93
  code: string;
@@ -125,6 +112,11 @@ export type ComponentExampleFn<Props = Record<string, unknown>> = (params: {
125
112
  }) => ComponentExample<Props>;
126
113
  export type OnHandlers = `on${string}`;
127
114
  export type Preset<Props> = {
115
+ /**
116
+ * A description of the design pattern this preset demonstrates. When applied, it showcases the specific use case or
117
+ * behavior of the component.
118
+ */
119
+ designPattern?: string;
128
120
  /** The name of the preset. This is used to display the preset in the UI. */
129
121
  label: string;
130
122
  /** The props of the component. This is used to set props of the component. These values can't be changed in the UI. */
@@ -1 +1 @@
1
- {"version":3,"file":"demo.js","sourceRoot":"","sources":["../../src/utils/demo.ts"],"names":[],"mappings":"AAAA,uDAAuD;AAiKvD,MAAM,UAAU,SAAS,CAAC,SAAiB,KAAK;IAC5C,OAAO,GAAG,MAAM,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;AACrE,CAAC"}
1
+ {"version":3,"file":"demo.js","sourceRoot":"","sources":["../../src/utils/demo.ts"],"names":[],"mappings":"AAAA,uDAAuD;AA8JvD,MAAM,UAAU,SAAS,CAAC,SAAiB,KAAK;IAC5C,OAAO,GAAG,MAAM,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;AACrE,CAAC"}
package/meta.ts CHANGED
@@ -332,17 +332,22 @@ function generateTypes() {
332
332
  ? context.componentFile?.jsDocs?.find(({ id }) => id === kebabCase(definition.description!))
333
333
  : undefined;
334
334
 
335
+ const type = definition.type?.toString();
336
+
337
+ const arrayType = type?.match(/Array<(.+)>/)?.[1];
338
+
335
339
  const next: TypeProperty = {
336
340
  name,
337
341
  required: required?.includes(name),
338
342
  description: jsDoc?.description || definition.description,
339
343
  default: definition.default === 'undefined' ? undefined : definition.default,
340
- type: definition.type?.toString(),
344
+ type,
341
345
  exampleType: jsDoc?.exampleType,
342
346
  minimum: definition.minimum,
343
347
  maximum: definition.maximum,
344
348
  options: jsDoc?.options?.split(',').map((o) => o.trim()),
345
349
  example: jsDoc?.example,
350
+ arrayType,
346
351
  };
347
352
 
348
353
  if (next.name.match(/^on[A-Z]/)) next.type = 'function';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bspk/ui",
3
- "version": "1.3.7",
3
+ "version": "1.3.9",
4
4
  "license": "CC-BY-4.0",
5
5
  "type": "module",
6
6
  "files": [
@@ -1,3 +1,4 @@
1
+ /* eslint-disable @cspell/spellchecker */
1
2
  import './accordion.scss';
2
3
  import { SvgKeyboardArrowDown } from '@bspk/icons/KeyboardArrowDown';
3
4
  import { SvgKeyboardArrowUp } from '@bspk/icons/KeyboardArrowUp';
@@ -68,9 +69,25 @@ export type AccordionProps = {
68
69
  * @example
69
70
  * import { Accordion } from '@bspk/ui/Accordion';
70
71
  *
71
- * function Example() {
72
- * return <Accordion items={[{ id: 1, title: 'Section', children: 'Example content' }]} />;
73
- * }
72
+ * <Accordion
73
+ * singleOpen={true}
74
+ * items={[
75
+ * {
76
+ * id: 1,
77
+ * title: 'Lawrence Welk',
78
+ * subtitle: 'The Champagne Music Maker',
79
+ * children:
80
+ * 'Lawrence Welk was an American accordionist, bandleader, and television impresario, who hosted The Lawrence Welk Show from 1951 to 1982.',
81
+ * },
82
+ * {
83
+ * id: 2,
84
+ * title: 'Myron Floren',
85
+ * subtitle: 'The Happy Norwegian',
86
+ * children:
87
+ * 'Myron Floren was an American accordionist best known as the featured accordionist on The Lawrence Welk Show.',
88
+ * },
89
+ * ]}
90
+ * />;
74
91
  *
75
92
  * @name Accordion
76
93
  * @phase UXReview
@@ -85,21 +85,20 @@ export type AvatarProps = CommonProps<'disabled'> & {
85
85
  *
86
86
  * @example
87
87
  * import { Avatar } from '@bspk/ui/Avatar';
88
- * import { SvgPerson } from '@bspk/icons/Person';
89
88
  *
90
- * function Example() {
91
- * return (
92
- * <Avatar
93
- * color="blue"
94
- * icon={<SvgPerson />}
95
- * image="/avatar-01.png"
96
- * initials="AR"
97
- * name="Andre Giant"
98
- * showTooltip
99
- * size="large"
100
- * />
101
- * );
102
- * }
89
+ * <Avatar
90
+ * color="blue"
91
+ * showIcon
92
+ * image="/avatar-01.png"
93
+ * initials="AR"
94
+ * name="Andre Giant"
95
+ * hideTooltip
96
+ * size="large"
97
+ * disabled={false}
98
+ * onClick={() => action('Launch avatar popover')}
99
+ * showIcon={false}
100
+ * hideTooltip={true}
101
+ * />;
103
102
  *
104
103
  * @exampleDescription The image if provided is displayed first, followed by the icon if provided, and finally the initials. If no initials are provided, the first two letters of the name will be used as initials.
105
104
  *