@bspk/ui 1.3.11 → 1.3.16

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 (506) hide show
  1. package/dist/components/Accordion/Accordion.d.ts +22 -20
  2. package/dist/components/Accordion/Accordion.js +22 -20
  3. package/dist/components/Accordion/Accordion.js.map +1 -1
  4. package/dist/components/Accordion/AccordionExample.js +5 -4
  5. package/dist/components/Accordion/AccordionExample.js.map +1 -1
  6. package/dist/components/Avatar/Avatar.d.ts +1 -2
  7. package/dist/components/Avatar/Avatar.js +2 -3
  8. package/dist/components/Avatar/Avatar.js.map +1 -1
  9. package/dist/components/Avatar/avatar.css +13 -8
  10. package/dist/components/Avatar/avatar.css.js +13 -8
  11. package/dist/components/AvatarGroup/AvatarGroup.d.ts +1 -1
  12. package/dist/components/AvatarGroup/AvatarGroup.js +1 -1
  13. package/dist/components/Badge/Badge.d.ts +1 -1
  14. package/dist/components/Badge/Badge.js +1 -1
  15. package/dist/components/Badge/BadgeExample.js +0 -1
  16. package/dist/components/Badge/BadgeExample.js.map +1 -1
  17. package/dist/components/BadgeDot/BadgeDot.d.ts +1 -1
  18. package/dist/components/BadgeDot/BadgeDot.js +1 -1
  19. package/dist/components/BadgeDot/BadgeDotExample.js +0 -1
  20. package/dist/components/BadgeDot/BadgeDotExample.js.map +1 -1
  21. package/dist/components/BannerAlert/BannerAlert.d.ts +14 -12
  22. package/dist/components/BannerAlert/BannerAlert.js +14 -12
  23. package/dist/components/BannerAlert/BannerAlert.js.map +1 -1
  24. package/dist/components/BannerAlert/BannerAlertExample.js +0 -1
  25. package/dist/components/BannerAlert/BannerAlertExample.js.map +1 -1
  26. package/dist/components/Breadcrumb/Breadcrumb.d.ts +20 -18
  27. package/dist/components/Breadcrumb/Breadcrumb.js +20 -18
  28. package/dist/components/Breadcrumb/Breadcrumb.js.map +1 -1
  29. package/dist/components/Button/Button.d.ts +29 -4
  30. package/dist/components/Button/Button.js +33 -8
  31. package/dist/components/Button/Button.js.map +1 -1
  32. package/dist/components/Button/button.css +4 -3
  33. package/dist/components/Button/button.css.js +4 -3
  34. package/dist/components/Calendar/Calendar.d.ts +5 -41
  35. package/dist/components/Calendar/Calendar.js +61 -185
  36. package/dist/components/Calendar/Calendar.js.map +1 -1
  37. package/dist/components/Calendar/CalendarExample.js +0 -1
  38. package/dist/components/Calendar/CalendarExample.js.map +1 -1
  39. package/dist/components/Calendar/calendar.css +35 -28
  40. package/dist/components/Calendar/calendar.css.js +35 -28
  41. package/dist/components/Calendar/index.d.ts +1 -0
  42. package/dist/components/Calendar/index.js +1 -0
  43. package/dist/components/Calendar/index.js.map +1 -1
  44. package/dist/components/Calendar/utils.d.ts +11 -0
  45. package/dist/components/Calendar/utils.js +76 -0
  46. package/dist/components/Calendar/utils.js.map +1 -0
  47. package/dist/components/Card/Card.d.ts +1 -1
  48. package/dist/components/Card/Card.js +1 -1
  49. package/dist/components/Carousel/Carousel.d.ts +8 -8
  50. package/dist/components/Carousel/Carousel.js +8 -8
  51. package/dist/components/Carousel/carousel.css +0 -1
  52. package/dist/components/Carousel/carousel.css.js +0 -1
  53. package/dist/components/Checkbox/Checkbox.d.ts +1 -1
  54. package/dist/components/Checkbox/Checkbox.js +1 -1
  55. package/dist/components/Checkbox/checkbox.css +3 -1
  56. package/dist/components/Checkbox/checkbox.css.js +3 -1
  57. package/dist/components/CheckboxGroup/CheckboxGroup.d.ts +1 -1
  58. package/dist/components/CheckboxGroup/CheckboxGroup.js +1 -1
  59. package/dist/components/CheckboxGroup/checkbox-group.css +1 -1
  60. package/dist/components/CheckboxGroup/checkbox-group.css.js +1 -1
  61. package/dist/components/CheckboxGroupField/CheckboxGroupField.d.ts +1 -1
  62. package/dist/components/CheckboxGroupField/CheckboxGroupField.js +1 -1
  63. package/dist/components/CheckboxOption/CheckboxOption.d.ts +1 -1
  64. package/dist/components/CheckboxOption/CheckboxOption.js +1 -1
  65. package/dist/components/Chip/Chip.d.ts +1 -1
  66. package/dist/components/Chip/Chip.js +1 -1
  67. package/dist/components/ChipGroup/ChipGroup.d.ts +1 -1
  68. package/dist/components/ChipGroup/ChipGroup.js +1 -1
  69. package/dist/components/DatePicker/DatePicker.d.ts +23 -11
  70. package/dist/components/DatePicker/DatePicker.js +20 -83
  71. package/dist/components/DatePicker/DatePicker.js.map +1 -1
  72. package/dist/components/DatePicker/DatePickerExample.d.ts +1 -0
  73. package/dist/components/DatePicker/DatePickerExample.js +10 -2
  74. package/dist/components/DatePicker/DatePickerExample.js.map +1 -1
  75. package/dist/components/DatePicker/date-picker.css +9 -0
  76. package/dist/components/DatePicker/date-picker.css.js +9 -0
  77. package/dist/components/DatePickerField/DatePickerField.d.ts +1 -1
  78. package/dist/components/DatePickerField/DatePickerField.js +1 -1
  79. package/dist/components/Divider/Divider.d.ts +4 -4
  80. package/dist/components/Divider/Divider.js +4 -4
  81. package/dist/components/Divider/DividerExample.js +17 -20
  82. package/dist/components/Divider/DividerExample.js.map +1 -1
  83. package/dist/components/Drawer/Drawer.d.ts +8 -10
  84. package/dist/components/Drawer/Drawer.js +9 -12
  85. package/dist/components/Drawer/Drawer.js.map +1 -1
  86. package/dist/components/Drawer/DrawerExample.d.ts +1 -0
  87. package/dist/components/Drawer/DrawerExample.js +10 -4
  88. package/dist/components/Drawer/DrawerExample.js.map +1 -1
  89. package/dist/components/Drawer/drawer.css +6 -0
  90. package/dist/components/Drawer/drawer.css.js +6 -0
  91. package/dist/components/EmptyState/EmptyState.d.ts +2 -2
  92. package/dist/components/EmptyState/EmptyState.js +4 -7
  93. package/dist/components/EmptyState/EmptyState.js.map +1 -1
  94. package/dist/components/EmptyState/EmptyStateExample.js +5 -6
  95. package/dist/components/EmptyState/EmptyStateExample.js.map +1 -1
  96. package/dist/components/ExamplePlaceholder/ExamplePlaceholder.d.ts +6 -13
  97. package/dist/components/ExamplePlaceholder/ExamplePlaceholder.js +12 -7
  98. package/dist/components/ExamplePlaceholder/ExamplePlaceholder.js.map +1 -1
  99. package/dist/components/Fab/Fab.d.ts +5 -3
  100. package/dist/components/Fab/Fab.js +8 -6
  101. package/dist/components/Fab/Fab.js.map +1 -1
  102. package/dist/components/Fab/FabExample.d.ts +1 -0
  103. package/dist/components/Fab/FabExample.js +6 -0
  104. package/dist/components/Fab/FabExample.js.map +1 -1
  105. package/dist/components/Fab/fab.css +5 -3
  106. package/dist/components/Fab/fab.css.js +5 -3
  107. package/dist/components/FileUpload/FileUpload.d.ts +1 -1
  108. package/dist/components/FileUpload/FileUpload.js +1 -1
  109. package/dist/components/FileUploadItem/FileUploadItem.d.ts +1 -1
  110. package/dist/components/FileUploadItem/FileUploadItem.js +1 -1
  111. package/dist/components/Flex/Flex.d.ts +55 -0
  112. package/dist/components/Flex/Flex.js +38 -0
  113. package/dist/components/Flex/Flex.js.map +1 -0
  114. package/dist/components/Flex/FlexExample.d.ts +5 -0
  115. package/dist/components/Flex/FlexExample.js +13 -0
  116. package/dist/components/Flex/FlexExample.js.map +1 -0
  117. package/dist/components/Flex/index.d.ts +1 -0
  118. package/dist/components/Flex/index.js +2 -0
  119. package/dist/components/Flex/index.js.map +1 -0
  120. package/dist/components/FormField/FormFieldExample.js +0 -1
  121. package/dist/components/FormField/FormFieldExample.js.map +1 -1
  122. package/dist/components/Grid/Grid.d.ts +48 -0
  123. package/dist/components/Grid/Grid.js +36 -0
  124. package/dist/components/Grid/Grid.js.map +1 -0
  125. package/dist/components/Grid/GridExample.d.ts +3 -0
  126. package/dist/components/Grid/GridExample.js +28 -0
  127. package/dist/components/Grid/GridExample.js.map +1 -0
  128. package/dist/components/Grid/index.d.ts +1 -0
  129. package/dist/components/Grid/index.js +2 -0
  130. package/dist/components/Grid/index.js.map +1 -0
  131. package/dist/components/InlineAlert/InlineAlert.d.ts +1 -1
  132. package/dist/components/InlineAlert/InlineAlert.js +1 -1
  133. package/dist/components/Input/Input.d.ts +5 -9
  134. package/dist/components/Input/Input.js +5 -9
  135. package/dist/components/Input/Input.js.map +1 -1
  136. package/dist/components/Input/InputElement.js +3 -6
  137. package/dist/components/Input/InputElement.js.map +1 -1
  138. package/dist/components/Input/InputExample.d.ts +1 -0
  139. package/dist/components/Input/InputExample.js +10 -1
  140. package/dist/components/Input/InputExample.js.map +1 -1
  141. package/dist/components/Input/input.css +6 -1
  142. package/dist/components/Input/input.css.js +6 -1
  143. package/dist/components/InputField/InputField.d.ts +1 -1
  144. package/dist/components/InputField/InputField.js +1 -1
  145. package/dist/components/InputNumber/InputNumber.d.ts +6 -15
  146. package/dist/components/InputNumber/InputNumber.js +6 -15
  147. package/dist/components/InputNumber/InputNumber.js.map +1 -1
  148. package/dist/components/InputNumber/InputNumberExample.d.ts +1 -0
  149. package/dist/components/InputNumber/InputNumberExample.js +10 -1
  150. package/dist/components/InputNumber/InputNumberExample.js.map +1 -1
  151. package/dist/components/InputNumber/input-number.css +6 -4
  152. package/dist/components/InputNumber/input-number.css.js +6 -4
  153. package/dist/components/InputNumberField/InputNumberField.d.ts +1 -1
  154. package/dist/components/InputNumberField/InputNumberField.js +1 -1
  155. package/dist/components/InputPhone/InputPhone.d.ts +7 -9
  156. package/dist/components/InputPhone/InputPhone.js +19 -19
  157. package/dist/components/InputPhone/InputPhone.js.map +1 -1
  158. package/dist/components/InputPhone/InputPhoneExample.d.ts +2 -1
  159. package/dist/components/InputPhone/InputPhoneExample.js +9 -1
  160. package/dist/components/InputPhone/InputPhoneExample.js.map +1 -1
  161. package/dist/components/InputPhoneField/InputPhoneField.d.ts +1 -1
  162. package/dist/components/InputPhoneField/InputPhoneField.js +1 -1
  163. package/dist/components/Link/Link.d.ts +1 -1
  164. package/dist/components/Link/Link.js +1 -1
  165. package/dist/components/ListItem/ListItem.d.ts +1 -1
  166. package/dist/components/ListItem/ListItem.js +1 -1
  167. package/dist/components/Menu/Menu.d.ts +1 -3
  168. package/dist/components/Menu/Menu.js +1 -3
  169. package/dist/components/Menu/Menu.js.map +1 -1
  170. package/dist/components/Modal/Modal.d.ts +1 -3
  171. package/dist/components/Modal/Modal.js +2 -4
  172. package/dist/components/Modal/Modal.js.map +1 -1
  173. package/dist/components/OTPInput/OTPInput.d.ts +1 -1
  174. package/dist/components/OTPInput/OTPInput.js +1 -1
  175. package/dist/components/OTPInput/OTPInputExample.js +0 -1
  176. package/dist/components/OTPInput/OTPInputExample.js.map +1 -1
  177. package/dist/components/PageControl/PageControl.d.ts +1 -1
  178. package/dist/components/PageControl/PageControl.js +1 -1
  179. package/dist/components/PageControl/PageControlExample.js +0 -1
  180. package/dist/components/PageControl/PageControlExample.js.map +1 -1
  181. package/dist/components/PageHeader/PageHeader.d.ts +57 -0
  182. package/dist/components/PageHeader/PageHeader.js +28 -0
  183. package/dist/components/PageHeader/PageHeader.js.map +1 -0
  184. package/dist/components/PageHeader/PageHeaderExample.d.ts +4 -0
  185. package/dist/components/PageHeader/PageHeaderExample.js +56 -0
  186. package/dist/components/PageHeader/PageHeaderExample.js.map +1 -0
  187. package/dist/components/PageHeader/index.d.ts +1 -0
  188. package/dist/components/PageHeader/index.js +2 -0
  189. package/dist/components/PageHeader/index.js.map +1 -0
  190. package/dist/components/PageHeader/page-header.css +35 -0
  191. package/dist/components/PageHeader/page-header.css.js +40 -0
  192. package/dist/components/Pagination/Pagination.d.ts +2 -2
  193. package/dist/components/Pagination/Pagination.js +8 -3
  194. package/dist/components/Pagination/Pagination.js.map +1 -1
  195. package/dist/components/Pagination/pagination.css +8 -2
  196. package/dist/components/Pagination/pagination.css.js +8 -2
  197. package/dist/components/Password/Password.d.ts +11 -16
  198. package/dist/components/Password/Password.js +11 -16
  199. package/dist/components/Password/Password.js.map +1 -1
  200. package/dist/components/Password/PasswordExample.d.ts +1 -0
  201. package/dist/components/Password/PasswordExample.js +9 -0
  202. package/dist/components/Password/PasswordExample.js.map +1 -1
  203. package/dist/components/PasswordField/PasswordField.d.ts +1 -1
  204. package/dist/components/PasswordField/PasswordField.js +1 -1
  205. package/dist/components/Popover/Popover.d.ts +1 -1
  206. package/dist/components/Popover/Popover.js +1 -1
  207. package/dist/components/Popover/PopoverExample.js +0 -1
  208. package/dist/components/Popover/PopoverExample.js.map +1 -1
  209. package/dist/components/Popover/popover.css +7 -5
  210. package/dist/components/Popover/popover.css.js +7 -5
  211. package/dist/components/ProgressBar/ProgressBar.d.ts +1 -1
  212. package/dist/components/ProgressBar/ProgressBar.js +1 -1
  213. package/dist/components/ProgressCircle/ProgressCircle.d.ts +1 -1
  214. package/dist/components/ProgressCircle/ProgressCircle.js +1 -1
  215. package/dist/components/ProgressionStepper/ProgressionStepper.d.ts +1 -1
  216. package/dist/components/ProgressionStepper/ProgressionStepper.js +1 -1
  217. package/dist/components/ProgressionStepper/ProgressionStepperExample.js +0 -1
  218. package/dist/components/ProgressionStepper/ProgressionStepperExample.js.map +1 -1
  219. package/dist/components/ProgressionStepper/progression-stepper.css +5 -3
  220. package/dist/components/ProgressionStepper/progression-stepper.css.js +5 -3
  221. package/dist/components/ProgressionStepperBar/ProgressionStepperBar.d.ts +1 -1
  222. package/dist/components/ProgressionStepperBar/ProgressionStepperBar.js +1 -1
  223. package/dist/components/ProgressionStepperBar/progression-stepper-bar.css +6 -6
  224. package/dist/components/ProgressionStepperBar/progression-stepper-bar.css.js +7 -7
  225. package/dist/components/RadioGroup/RadioGroup.d.ts +1 -1
  226. package/dist/components/RadioGroup/RadioGroup.js +1 -1
  227. package/dist/components/RadioGroup/radio-group.css +1 -1
  228. package/dist/components/RadioGroup/radio-group.css.js +1 -1
  229. package/dist/components/RadioGroupField/RadioGroupField.d.ts +1 -1
  230. package/dist/components/RadioGroupField/RadioGroupField.js +1 -1
  231. package/dist/components/Rating/Rating.d.ts +3 -2
  232. package/dist/components/Rating/Rating.js +5 -3
  233. package/dist/components/Rating/Rating.js.map +1 -1
  234. package/dist/components/SearchBar/SearchBar.d.ts +1 -1
  235. package/dist/components/SearchBar/SearchBar.js +3 -4
  236. package/dist/components/SearchBar/SearchBar.js.map +1 -1
  237. package/dist/components/SegmentedControl/SegmentedControl.d.ts +1 -1
  238. package/dist/components/SegmentedControl/SegmentedControl.js +1 -1
  239. package/dist/components/SegmentedControl/segmented-control.css +3 -1
  240. package/dist/components/SegmentedControl/segmented-control.css.js +3 -1
  241. package/dist/components/Select/Select.d.ts +11 -24
  242. package/dist/components/Select/Select.js +11 -24
  243. package/dist/components/Select/Select.js.map +1 -1
  244. package/dist/components/Select/SelectExample.d.ts +1 -0
  245. package/dist/components/Select/SelectExample.js +18 -1
  246. package/dist/components/Select/SelectExample.js.map +1 -1
  247. package/dist/components/SelectField/SelectField.d.ts +1 -1
  248. package/dist/components/SelectField/SelectField.js +1 -1
  249. package/dist/components/Skeleton/Skeleton.d.ts +1 -1
  250. package/dist/components/Skeleton/Skeleton.js +1 -1
  251. package/dist/components/SkeletonText/SkeletonText.d.ts +1 -1
  252. package/dist/components/SkeletonText/SkeletonText.js +1 -1
  253. package/dist/components/Slider/Slider.d.ts +18 -3
  254. package/dist/components/Slider/Slider.js +20 -4
  255. package/dist/components/Slider/Slider.js.map +1 -1
  256. package/dist/components/Slider/SliderExample.d.ts +1 -0
  257. package/dist/components/Slider/SliderExample.js +7 -2
  258. package/dist/components/Slider/SliderExample.js.map +1 -1
  259. package/dist/components/Snackbar/Manager.d.ts +1 -1
  260. package/dist/components/Snackbar/Manager.js +1 -1
  261. package/dist/components/Snackbar/Snackbar.d.ts +1 -1
  262. package/dist/components/Snackbar/Snackbar.js +1 -1
  263. package/dist/components/Snackbar/SnackbarExample.js +0 -1
  264. package/dist/components/Snackbar/SnackbarExample.js.map +1 -1
  265. package/dist/components/Switch/Switch.d.ts +1 -1
  266. package/dist/components/Switch/Switch.js +1 -1
  267. package/dist/components/Switch/switch.css +11 -9
  268. package/dist/components/Switch/switch.css.js +11 -9
  269. package/dist/components/SwitchOption/SwitchOption.d.ts +1 -1
  270. package/dist/components/SwitchOption/SwitchOption.js +1 -1
  271. package/dist/components/TabGroup/TabGroup.d.ts +1 -1
  272. package/dist/components/TabGroup/TabGroup.js +1 -1
  273. package/dist/components/TabGroup/TabGroupExample.js +0 -1
  274. package/dist/components/TabGroup/TabGroupExample.js.map +1 -1
  275. package/dist/components/TabList/TabListExample.js +0 -1
  276. package/dist/components/TabList/TabListExample.js.map +1 -1
  277. package/dist/components/TabList/tab-list.css +5 -3
  278. package/dist/components/TabList/tab-list.css.js +5 -3
  279. package/dist/components/Table/Table.d.ts +2 -2
  280. package/dist/components/Table/Table.js +8 -8
  281. package/dist/components/Table/Table.js.map +1 -1
  282. package/dist/components/Table/TableExample.js +56 -54
  283. package/dist/components/Table/TableExample.js.map +1 -1
  284. package/dist/components/Table/utils.d.ts +2 -2
  285. package/dist/components/Table/utils.js +27 -22
  286. package/dist/components/Table/utils.js.map +1 -1
  287. package/dist/components/Tag/Tag.d.ts +1 -1
  288. package/dist/components/Tag/Tag.js +1 -1
  289. package/dist/components/Textarea/Textarea.d.ts +5 -8
  290. package/dist/components/Textarea/Textarea.js +5 -8
  291. package/dist/components/Textarea/Textarea.js.map +1 -1
  292. package/dist/components/Textarea/TextareaExample.d.ts +1 -0
  293. package/dist/components/Textarea/TextareaExample.js +12 -1
  294. package/dist/components/Textarea/TextareaExample.js.map +1 -1
  295. package/dist/components/Textarea/textarea.css +5 -3
  296. package/dist/components/Textarea/textarea.css.js +5 -3
  297. package/dist/components/TextareaField/TextareaField.d.ts +1 -1
  298. package/dist/components/TextareaField/TextareaField.js +1 -1
  299. package/dist/components/TimePicker/TimePicker.d.ts +5 -9
  300. package/dist/components/TimePicker/TimePicker.js +5 -9
  301. package/dist/components/TimePicker/TimePicker.js.map +1 -1
  302. package/dist/components/TimePicker/TimePickerExample.d.ts +1 -0
  303. package/dist/components/TimePicker/TimePickerExample.js +9 -1
  304. package/dist/components/TimePicker/TimePickerExample.js.map +1 -1
  305. package/dist/components/TimePickerField/TimePickerField.d.ts +1 -1
  306. package/dist/components/TimePickerField/TimePickerField.js +1 -1
  307. package/dist/components/Tooltip/Tooltip.d.ts +1 -1
  308. package/dist/components/Tooltip/Tooltip.js +2 -2
  309. package/dist/components/Tooltip/Tooltip.js.map +1 -1
  310. package/dist/components/Tooltip/tooltip.css +7 -3
  311. package/dist/components/Tooltip/tooltip.css.js +7 -3
  312. package/dist/components/Txt/Txt.d.ts +1 -1
  313. package/dist/components/Txt/Txt.js +1 -1
  314. package/dist/components/UIProvider/UIProvider.js +4 -6
  315. package/dist/components/UIProvider/UIProvider.js.map +1 -1
  316. package/dist/components/UIProvider/UIProviderExample.d.ts +0 -1
  317. package/dist/components/UIProvider/UIProviderExample.js +1 -46
  318. package/dist/components/UIProvider/UIProviderExample.js.map +1 -1
  319. package/dist/hooks/useControlledState.d.ts +7 -0
  320. package/dist/hooks/useControlledState.js +21 -0
  321. package/dist/hooks/useControlledState.js.map +1 -0
  322. package/dist/hooks/{useAddEventListener.js → useEventListener.js} +1 -1
  323. package/dist/hooks/useEventListener.js.map +1 -0
  324. package/dist/types/meta.d.ts +0 -1
  325. package/dist/types/meta.js +0 -7
  326. package/dist/types/meta.js.map +1 -1
  327. package/dist/utils/createCustomEvent.js +1 -1
  328. package/dist/utils/createCustomEvent.js.map +1 -1
  329. package/dist/utils/demo.d.ts +19 -2
  330. package/dist/utils/demo.js.map +1 -1
  331. package/dist/utils/dom.d.ts +1 -0
  332. package/dist/utils/dom.js +5 -0
  333. package/dist/utils/dom.js.map +1 -1
  334. package/dist/utils/handleKeyDown.d.ts +1 -0
  335. package/dist/utils/handleKeyDown.js +9 -3
  336. package/dist/utils/handleKeyDown.js.map +1 -1
  337. package/dist/utils/keyboard.d.ts +3 -1
  338. package/dist/utils/keyboard.js.map +1 -1
  339. package/dist/utils/sendAriaLiveMessage.d.ts +8 -0
  340. package/dist/utils/sendAriaLiveMessage.js +14 -0
  341. package/dist/utils/sendAriaLiveMessage.js.map +1 -0
  342. package/dist/utils/sizing.d.ts +3 -0
  343. package/dist/utils/sizing.js +28 -0
  344. package/dist/utils/sizing.js.map +1 -0
  345. package/dist/utils/uiContext.d.ts +0 -1
  346. package/dist/utils/uiContext.js.map +1 -1
  347. package/meta.ts +9 -8
  348. package/package.json +28 -22
  349. package/src/components/Accordion/Accordion.tsx +22 -20
  350. package/src/components/Accordion/AccordionExample.tsx +5 -4
  351. package/src/components/Avatar/Avatar.tsx +2 -3
  352. package/src/components/Avatar/avatar.scss +9 -6
  353. package/src/components/AvatarGroup/AvatarGroup.tsx +1 -1
  354. package/src/components/Badge/Badge.tsx +1 -1
  355. package/src/components/Badge/BadgeExample.tsx +0 -1
  356. package/src/components/BadgeDot/BadgeDot.tsx +1 -1
  357. package/src/components/BadgeDot/BadgeDotExample.tsx +0 -1
  358. package/src/components/BannerAlert/BannerAlert.tsx +14 -12
  359. package/src/components/BannerAlert/BannerAlertExample.tsx +0 -1
  360. package/src/components/Breadcrumb/Breadcrumb.tsx +20 -18
  361. package/src/components/Button/Button.tsx +36 -10
  362. package/src/components/Button/button.scss +13 -6
  363. package/src/components/Calendar/Calendar.rtl.test.tsx +1 -1
  364. package/src/components/Calendar/Calendar.tsx +156 -371
  365. package/src/components/Calendar/CalendarExample.tsx +0 -1
  366. package/src/components/Calendar/calendar.scss +46 -40
  367. package/src/components/Calendar/index.tsx +1 -0
  368. package/src/components/Calendar/utils.tsx +98 -0
  369. package/src/components/Card/Card.tsx +1 -1
  370. package/src/components/Carousel/Carousel.tsx +8 -8
  371. package/src/components/Carousel/carousel.scss +0 -1
  372. package/src/components/Checkbox/Checkbox.tsx +1 -1
  373. package/src/components/CheckboxGroup/CheckboxGroup.tsx +1 -1
  374. package/src/components/CheckboxGroupField/CheckboxGroupField.tsx +1 -1
  375. package/src/components/CheckboxOption/CheckboxOption.tsx +1 -1
  376. package/src/components/Chip/Chip.tsx +1 -1
  377. package/src/components/ChipGroup/ChipGroup.tsx +1 -1
  378. package/src/components/DatePicker/DatePicker.rtl.test.tsx +1 -1
  379. package/src/components/DatePicker/DatePicker.tsx +51 -106
  380. package/src/components/DatePicker/DatePickerExample.tsx +20 -3
  381. package/src/components/DatePicker/date-picker.scss +11 -0
  382. package/src/components/DatePickerField/DatePickerField.tsx +1 -1
  383. package/src/components/Divider/Divider.tsx +4 -4
  384. package/src/components/Divider/DividerExample.tsx +22 -23
  385. package/src/components/Drawer/Drawer.tsx +9 -16
  386. package/src/components/Drawer/DrawerExample.tsx +28 -4
  387. package/src/components/Drawer/drawer.scss +7 -0
  388. package/src/components/EmptyState/EmptyState.rtl.test.tsx +1 -1
  389. package/src/components/EmptyState/EmptyState.tsx +14 -21
  390. package/src/components/EmptyState/EmptyStateExample.tsx +5 -5
  391. package/src/components/ExamplePlaceholder/ExamplePlaceholder.tsx +17 -22
  392. package/src/components/Fab/Fab.tsx +10 -7
  393. package/src/components/Fab/FabExample.tsx +10 -1
  394. package/src/components/FileUpload/FileUpload.tsx +1 -1
  395. package/src/components/FileUploadItem/FileUploadItem.tsx +1 -1
  396. package/src/components/{Layout/Layout.rtl.test.tsx → Flex/Flex.rtl.test.tsx} +3 -3
  397. package/src/components/Flex/Flex.tsx +100 -0
  398. package/src/components/Flex/FlexExample.tsx +27 -0
  399. package/src/components/Flex/index.tsx +1 -0
  400. package/src/components/FormField/FormFieldExample.tsx +1 -2
  401. package/src/components/Grid/Grid.rtl.test.tsx +19 -0
  402. package/src/components/Grid/Grid.tsx +75 -0
  403. package/src/components/Grid/GridExample.tsx +42 -0
  404. package/src/components/Grid/index.tsx +1 -0
  405. package/src/components/InlineAlert/InlineAlert.tsx +1 -1
  406. package/src/components/Input/Input.tsx +5 -9
  407. package/src/components/Input/InputElement.tsx +4 -7
  408. package/src/components/Input/InputExample.tsx +19 -1
  409. package/src/components/Input/input.scss +9 -1
  410. package/src/components/InputField/InputField.tsx +1 -1
  411. package/src/components/InputNumber/InputNumber.tsx +6 -15
  412. package/src/components/InputNumber/InputNumberExample.tsx +24 -1
  413. package/src/components/InputNumberField/InputNumberField.tsx +1 -1
  414. package/src/components/InputPhone/InputPhone.tsx +18 -17
  415. package/src/components/InputPhone/InputPhoneExample.tsx +27 -2
  416. package/src/components/InputPhoneField/InputPhoneField.tsx +1 -1
  417. package/src/components/Link/Link.tsx +1 -1
  418. package/src/components/ListItem/ListItem.tsx +1 -1
  419. package/src/components/Menu/Menu.tsx +1 -3
  420. package/src/components/Modal/Modal.tsx +2 -4
  421. package/src/components/OTPInput/OTPInput.tsx +1 -1
  422. package/src/components/OTPInput/OTPInputExample.tsx +0 -1
  423. package/src/components/PageControl/PageControl.tsx +1 -1
  424. package/src/components/PageControl/PageControlExample.tsx +0 -1
  425. package/src/components/PageHeader/PageHeader.rtl.test.tsx +18 -0
  426. package/src/components/PageHeader/PageHeader.tsx +78 -0
  427. package/src/components/PageHeader/PageHeaderExample.tsx +58 -0
  428. package/src/components/PageHeader/index.tsx +1 -0
  429. package/src/components/PageHeader/page-header.scss +41 -0
  430. package/src/components/Pagination/Pagination.tsx +14 -3
  431. package/src/components/Pagination/pagination.scss +12 -5
  432. package/src/components/Password/Password.tsx +11 -16
  433. package/src/components/Password/PasswordExample.tsx +18 -1
  434. package/src/components/PasswordField/PasswordField.tsx +1 -1
  435. package/src/components/Popover/Popover.tsx +1 -1
  436. package/src/components/Popover/PopoverExample.tsx +0 -1
  437. package/src/components/ProgressBar/ProgressBar.tsx +1 -1
  438. package/src/components/ProgressCircle/ProgressCircle.tsx +1 -1
  439. package/src/components/ProgressionStepper/ProgressionStepper.tsx +1 -1
  440. package/src/components/ProgressionStepper/ProgressionStepperExample.tsx +0 -1
  441. package/src/components/ProgressionStepperBar/ProgressionStepperBar.tsx +1 -1
  442. package/src/components/RadioGroup/RadioGroup.tsx +1 -1
  443. package/src/components/RadioGroupField/RadioGroupField.tsx +1 -1
  444. package/src/components/Rating/Rating.tsx +7 -3
  445. package/src/components/SearchBar/SearchBar.tsx +3 -5
  446. package/src/components/SegmentedControl/SegmentedControl.tsx +1 -1
  447. package/src/components/Select/Select.tsx +11 -24
  448. package/src/components/Select/SelectExample.tsx +36 -1
  449. package/src/components/SelectField/SelectField.tsx +1 -1
  450. package/src/components/Skeleton/Skeleton.tsx +1 -1
  451. package/src/components/SkeletonText/SkeletonText.tsx +1 -1
  452. package/src/components/Slider/Slider.tsx +21 -4
  453. package/src/components/Slider/SliderExample.tsx +16 -2
  454. package/src/components/Snackbar/Manager.tsx +1 -1
  455. package/src/components/Snackbar/Snackbar.tsx +1 -1
  456. package/src/components/Snackbar/SnackbarExample.tsx +0 -1
  457. package/src/components/Switch/Switch.tsx +1 -1
  458. package/src/components/SwitchOption/SwitchOption.tsx +1 -1
  459. package/src/components/TabGroup/TabGroup.tsx +1 -1
  460. package/src/components/TabGroup/TabGroupExample.tsx +0 -1
  461. package/src/components/TabList/TabListExample.tsx +0 -1
  462. package/src/components/Table/Table.tsx +11 -16
  463. package/src/components/Table/TableExample.tsx +56 -54
  464. package/src/components/Table/utils.ts +31 -20
  465. package/src/components/Tag/Tag.tsx +1 -1
  466. package/src/components/Textarea/Textarea.tsx +5 -8
  467. package/src/components/Textarea/TextareaExample.tsx +21 -1
  468. package/src/components/TextareaField/TextareaField.tsx +1 -1
  469. package/src/components/TimePicker/TimePicker.tsx +5 -9
  470. package/src/components/TimePicker/TimePickerExample.tsx +18 -1
  471. package/src/components/TimePickerField/TimePickerField.tsx +1 -1
  472. package/src/components/Tooltip/Tooltip.tsx +2 -2
  473. package/src/components/Tooltip/tooltip.scss +2 -0
  474. package/src/components/Txt/Txt.tsx +1 -1
  475. package/src/components/UIProvider/UIProvider.tsx +1 -4
  476. package/src/components/UIProvider/UIProviderExample.tsx +0 -83
  477. package/src/hooks/useControlledState.ts +31 -0
  478. package/src/types/meta.ts +0 -8
  479. package/src/utils/createCustomEvent.ts +1 -1
  480. package/src/utils/demo.ts +19 -2
  481. package/src/utils/dom.ts +8 -0
  482. package/src/utils/handleKeyDown.ts +9 -3
  483. package/src/utils/keyboard.ts +5 -2
  484. package/src/utils/sendAriaLiveMessage.ts +17 -0
  485. package/src/utils/sizing.ts +30 -0
  486. package/src/utils/uiContext.ts +0 -1
  487. package/.scripts/index.ts +0 -110
  488. package/dist/components/Layout/Layout.d.ts +0 -50
  489. package/dist/components/Layout/Layout.js +0 -28
  490. package/dist/components/Layout/Layout.js.map +0 -1
  491. package/dist/components/Layout/LayoutExample.d.ts +0 -4
  492. package/dist/components/Layout/LayoutExample.js +0 -9
  493. package/dist/components/Layout/LayoutExample.js.map +0 -1
  494. package/dist/components/Layout/index.d.ts +0 -1
  495. package/dist/components/Layout/index.js +0 -2
  496. package/dist/components/Layout/index.js.map +0 -1
  497. package/dist/components/UIProvider/AriaLiveMessageHandler.d.ts +0 -13
  498. package/dist/components/UIProvider/AriaLiveMessageHandler.js +0 -31
  499. package/dist/components/UIProvider/AriaLiveMessageHandler.js.map +0 -1
  500. package/dist/hooks/useAddEventListener.js.map +0 -1
  501. package/src/components/Layout/Layout.tsx +0 -85
  502. package/src/components/Layout/LayoutExample.tsx +0 -17
  503. package/src/components/Layout/index.tsx +0 -1
  504. package/src/components/UIProvider/AriaLiveMessageHandler.tsx +0 -46
  505. /package/dist/hooks/{useAddEventListener.d.ts → useEventListener.d.ts} +0 -0
  506. /package/src/hooks/{useAddEventListener.ts → useEventListener.ts} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"Breadcrumb.js","sourceRoot":"","sources":["../../../src/components/Breadcrumb/Breadcrumb.tsx"],"names":[],"mappings":";AAAA,OAAO,mBAAmB,CAAC;AAC3B,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAkB,MAAM,sBAAsB,CAAC;AAC1E,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzC,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAgCtC;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,UAAU,UAAU,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,GAAG,EAAE,EAAE,WAAW,EAAmB;IAC/E,MAAM,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;IAEzB,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAElC,OAAO,CACH,4BAAgB,YAAY,eAAW,YAAY,EAAC,EAAE,EAAE,EAAE,YACtD,yBACI,yBACI,KAAC,IAAI,IAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,GAAI,EACpD,KAAC,eAAe,0BAAe,IAC9B,EACJ,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAChB,KAAC,kBAAkB,IAAC,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,WAAW,EAAE,WAAW,GAAI,CACpG,CAAC,CAAC,CAAC,CACA,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,CAChD,yBACI,KAAC,IAAI,OAAK,IAAI,GAAI,EAClB,KAAC,eAAe,0BAAe,KAF1B,cAAc,GAAG,EAAE,CAGvB,CACR,CAAC,CACL,EACD,6BAAiB,MAAM,YACnB,KAAC,GAAG,IAAC,OAAO,EAAC,WAAW,YAAE,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,GAAO,GAC7D,IACJ,GACH,CACT,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"Breadcrumb.js","sourceRoot":"","sources":["../../../src/components/Breadcrumb/Breadcrumb.tsx"],"names":[],"mappings":";AAAA,OAAO,mBAAmB,CAAC;AAC3B,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAkB,MAAM,sBAAsB,CAAC;AAC1E,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzC,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAgCtC;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,UAAU,UAAU,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,GAAG,EAAE,EAAE,WAAW,EAAmB;IAC/E,MAAM,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;IAEzB,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAElC,OAAO,CACH,4BAAgB,YAAY,eAAW,YAAY,EAAC,EAAE,EAAE,EAAE,YACtD,yBACI,yBACI,KAAC,IAAI,IAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,GAAI,EACpD,KAAC,eAAe,0BAAe,IAC9B,EACJ,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAChB,KAAC,kBAAkB,IAAC,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,WAAW,EAAE,WAAW,GAAI,CACpG,CAAC,CAAC,CAAC,CACA,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,CAChD,yBACI,KAAC,IAAI,OAAK,IAAI,GAAI,EAClB,KAAC,eAAe,0BAAe,KAF1B,cAAc,GAAG,EAAE,CAGvB,CACR,CAAC,CACL,EACD,6BAAiB,MAAM,YACnB,KAAC,GAAG,IAAC,OAAO,EAAC,WAAW,YAAE,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,GAAO,GAC7D,IACJ,GACH,CACT,CAAC;AACN,CAAC"}
@@ -2,7 +2,7 @@ import './button.scss';
2
2
  import { AriaAttributes, ElementType, ReactNode } from 'react';
3
3
  import { ButtonSize, CommonProps, ElementProps, SetRef } from '-/types/common';
4
4
  export type ButtonVariant = 'primary' | 'secondary' | 'tertiary';
5
- export type ButtonProps<As extends ElementType = ElementType> = CommonProps<'disabled' | 'owner'> & {
5
+ export type ButtonProps<As extends ElementType = ElementType> = CommonProps<'aria-label' | 'disabled' | 'owner'> & {
6
6
  /**
7
7
  * The label of the button.
8
8
  *
@@ -66,7 +66,7 @@ export type ButtonProps<As extends ElementType = ElementType> = CommonProps<'dis
66
66
  */
67
67
  children?: ReactNode;
68
68
  /** The tool tip text that appears when hovered. */
69
- toolTip?: string;
69
+ tooltip?: string;
70
70
  /** The function to call when the button is clicked. */
71
71
  onClick?: (event: React.MouseEvent<HTMLButtonElement, MouseEvent>) => void;
72
72
  /** A ref to the Button element. */
@@ -79,10 +79,35 @@ export type ButtonProps<As extends ElementType = ElementType> = CommonProps<'dis
79
79
  * import { Button } from '@bspk/ui/Button';
80
80
  * import { SvgPerson } from '@bspk/icons/Person';
81
81
  *
82
- * <Button label="Click Me" size="medium" onClick={() => action('Button clicked')} icon={<SvgPerson />} />;
82
+ * () => {
83
+ * return (
84
+ * <div>
85
+ * <p>Standard usage</p>
86
+ * <Button label="Click Me" onClick={() => action('Button clicked')} icon={<SvgPerson />} />
87
+ * <p style={{ marginTop: '20px' }}>Custom usage</p>
88
+ * <Button
89
+ * aria-label="Hello world example"
90
+ * label="Custom Icon"
91
+ * onClick={() => action('Button clicked')}
92
+ * variant="secondary"
93
+ * tooltip="Hello world"
94
+ * >
95
+ * <svg
96
+ * focusable="false"
97
+ * aria-hidden="true"
98
+ * xmlns="http://www.w3.org/2000/svg"
99
+ * viewBox="0 0 24 24"
100
+ * fill="currentColor"
101
+ * >
102
+ * <path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-1 17.93c-3.95-.49-7-3.85-7-7.93 0-.62.08-1.21.21-1.79L9 15v1c0 1.1.9 2 2 2v1.93zm6.9-2.54c-.26-.81-1-1.39-1.9-1.39h-1v-3c0-.55-.45-1-1-1H8v-2h2c.55 0 1-.45 1-1V7h2c1.1 0 2-.9 2-2v-.41c2.93 1.19 5 4.06 5 7.41 0 2.08-.8 3.97-2.1 5.39z"></path>
103
+ * </svg>
104
+ * </Button>
105
+ * </div>
106
+ * );
107
+ * };
83
108
  *
84
109
  * @name Button
85
- * @phase UXReview
110
+ * @phase Stable
86
111
  */
87
112
  export declare function Button<As extends ElementType = ElementType>(props: AriaAttributes & ElementProps<ButtonProps<As>, As>): JSX.Element;
88
113
  /** Copyright 2025 Anywhere Real Estate - CC BY 4.0 */
@@ -9,19 +9,44 @@ import { Tooltip } from '../Tooltip';
9
9
  * import { Button } from '@bspk/ui/Button';
10
10
  * import { SvgPerson } from '@bspk/icons/Person';
11
11
  *
12
- * <Button label="Click Me" size="medium" onClick={() => action('Button clicked')} icon={<SvgPerson />} />;
12
+ * () => {
13
+ * return (
14
+ * <div>
15
+ * <p>Standard usage</p>
16
+ * <Button label="Click Me" onClick={() => action('Button clicked')} icon={<SvgPerson />} />
17
+ * <p style={{ marginTop: '20px' }}>Custom usage</p>
18
+ * <Button
19
+ * aria-label="Hello world example"
20
+ * label="Custom Icon"
21
+ * onClick={() => action('Button clicked')}
22
+ * variant="secondary"
23
+ * tooltip="Hello world"
24
+ * >
25
+ * <svg
26
+ * focusable="false"
27
+ * aria-hidden="true"
28
+ * xmlns="http://www.w3.org/2000/svg"
29
+ * viewBox="0 0 24 24"
30
+ * fill="currentColor"
31
+ * >
32
+ * <path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-1 17.93c-3.95-.49-7-3.85-7-7.93 0-.62.08-1.21.21-1.79L9 15v1c0 1.1.9 2 2 2v1.93zm6.9-2.54c-.26-.81-1-1.39-1.9-1.39h-1v-3c0-.55-.45-1-1-1H8v-2h2c.55 0 1-.45 1-1V7h2c1.1 0 2-.9 2-2v-.41c2.93 1.19 5 4.06 5 7.41 0 2.08-.8 3.97-2.1 5.39z"></path>
33
+ * </svg>
34
+ * </Button>
35
+ * </div>
36
+ * );
37
+ * };
13
38
  *
14
39
  * @name Button
15
- * @phase UXReview
40
+ * @phase Stable
16
41
  */
17
42
  export function Button(props) {
18
- const { size = 'medium', variant = 'primary', destructive = false, width = 'hug', as: As = 'button', disabled = false, label: labelProp, icon, iconOnly: iconOnlyProp = false, toolTip: toolTipProp, children, innerRef, owner, role, ...containerProps } = props;
43
+ const { size = 'medium', variant = 'primary', destructive = false, width = 'hug', as: As = 'button', disabled = false, label: labelProp, icon, iconOnly: iconOnlyProp = false, tooltip: tooltipProp, children, innerRef, owner, role, 'aria-label': ariaLabel, ...containerProps } = props;
19
44
  const label = typeof children === 'string' ? children : labelProp || '';
20
45
  // ignore iconOnly if there is no icon
21
46
  const iconOnly = iconOnlyProp === true && !!icon;
22
- // if toolTip text is not provided and iconOnly is true, toolTip text should be label
23
- const toolTip = toolTipProp || (iconOnly ? label : undefined);
24
- const button = (triggerProps) => (_jsxs(As, { type: As === 'button' ? 'button' : undefined, ...containerProps, ...triggerProps, "aria-label": label, "data-bspk": "button", "data-bspk-owner": owner || undefined, "data-destructive": destructive || undefined, "data-size": size, "data-touch-target-parent": true, "data-variant": variant, "data-width": width, disabled: disabled || undefined, onBlur: (e) => {
47
+ // if tooltip text is not provided and iconOnly is true, tooltip text should be label
48
+ const tooltip = tooltipProp || (iconOnly ? label : undefined);
49
+ const button = (triggerProps) => (_jsxs(As, { type: As === 'button' ? 'button' : undefined, ...containerProps, ...triggerProps, "aria-label": ariaLabel || label, "data-bspk": "button", "data-bspk-owner": owner || undefined, "data-destructive": destructive || undefined, "data-size": size, "data-touch-target-parent": true, "data-variant": variant, "data-width": width, disabled: disabled || undefined, onBlur: (e) => {
25
50
  triggerProps.onBlur?.();
26
51
  containerProps.onBlur?.(e);
27
52
  }, onFocus: (e) => {
@@ -34,8 +59,8 @@ export function Button(props) {
34
59
  triggerProps.onMouseOver?.();
35
60
  containerProps.onMouseOver?.(e);
36
61
  }, ref: innerRef, role: role || (As !== 'button' ? 'button' : undefined), children: [children && typeof children !== 'string' ? (children) : (_jsxs(_Fragment, { children: [!!icon && isValidElement(icon) && (_jsx("span", { "aria-hidden": true, "data-button-icon": true, children: icon })), !iconOnly && _jsx("span", { "data-button-label": true, children: label })] })), _jsx("span", { "data-touch-target": true })] }));
37
- if (toolTip)
38
- return (_jsx(Tooltip, { label: toolTip, placement: "top", children: button }));
62
+ if (tooltip)
63
+ return (_jsx(Tooltip, { label: tooltip, placement: "top", children: button }));
39
64
  return button({});
40
65
  }
41
66
  //# sourceMappingURL=Button.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Button.js","sourceRoot":"","sources":["../../../src/components/Button/Button.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Button.js","sourceRoot":"","sources":["../../../src/components/Button/Button.tsx"],"names":[],"mappings":"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"}
@@ -78,6 +78,7 @@
78
78
  display: flex;
79
79
  flex-direction: column;
80
80
  align-items: center;
81
+ justify-content: center;
81
82
  }
82
83
  [data-bspk=button] [data-button-label] {
83
84
  display: flex;
@@ -103,7 +104,7 @@
103
104
  [data-pseudo=focus] > [data-bspk=button][data-variant=primary]:not([disabled]), [data-bspk=button][data-variant=primary]:not([disabled]):focus-visible {
104
105
  outline: solid 2px var(--stroke-neutral-focus);
105
106
  }
106
- [data-bspk=button][data-variant=primary][data-destructive] {
107
+ [data-bspk=button][data-variant=primary][data-destructive]:not([disabled]) {
107
108
  --primary-background: var(--status-error);
108
109
  color: var(--foreground-brand-on-primary);
109
110
  }
@@ -125,7 +126,7 @@
125
126
  [data-pseudo=focus] > [data-bspk=button][data-variant=secondary]:not([disabled]), [data-bspk=button][data-variant=secondary]:not([disabled]):focus-visible {
126
127
  outline: solid 2px var(--stroke-neutral-focus);
127
128
  }
128
- [data-bspk=button][data-variant=secondary][data-destructive] {
129
+ [data-bspk=button][data-variant=secondary][data-destructive]:not([disabled]) {
129
130
  background: transparent;
130
131
  color: var(--status-error);
131
132
  border: solid var(--button-border-width) var(--status-error);
@@ -146,7 +147,7 @@
146
147
  [data-pseudo=focus] > [data-bspk=button][data-variant=tertiary]:not([disabled]), [data-bspk=button][data-variant=tertiary]:not([disabled]):focus-visible {
147
148
  outline: solid 2px var(--stroke-neutral-focus);
148
149
  }
149
- [data-bspk=button][data-variant=tertiary][data-destructive] {
150
+ [data-bspk=button][data-variant=tertiary][data-destructive]:not([disabled]) {
150
151
  color: var(--status-error);
151
152
  }
152
153
 
@@ -81,6 +81,7 @@ style.appendChild(document.createTextNode(`[data-bspk=button] {
81
81
  display: flex;
82
82
  flex-direction: column;
83
83
  align-items: center;
84
+ justify-content: center;
84
85
  }
85
86
  [data-bspk=button] [data-button-label] {
86
87
  display: flex;
@@ -106,7 +107,7 @@ style.appendChild(document.createTextNode(`[data-bspk=button] {
106
107
  [data-pseudo=focus] > [data-bspk=button][data-variant=primary]:not([disabled]), [data-bspk=button][data-variant=primary]:not([disabled]):focus-visible {
107
108
  outline: solid 2px var(--stroke-neutral-focus);
108
109
  }
109
- [data-bspk=button][data-variant=primary][data-destructive] {
110
+ [data-bspk=button][data-variant=primary][data-destructive]:not([disabled]) {
110
111
  --primary-background: var(--status-error);
111
112
  color: var(--foreground-brand-on-primary);
112
113
  }
@@ -128,7 +129,7 @@ style.appendChild(document.createTextNode(`[data-bspk=button] {
128
129
  [data-pseudo=focus] > [data-bspk=button][data-variant=secondary]:not([disabled]), [data-bspk=button][data-variant=secondary]:not([disabled]):focus-visible {
129
130
  outline: solid 2px var(--stroke-neutral-focus);
130
131
  }
131
- [data-bspk=button][data-variant=secondary][data-destructive] {
132
+ [data-bspk=button][data-variant=secondary][data-destructive]:not([disabled]) {
132
133
  background: transparent;
133
134
  color: var(--status-error);
134
135
  border: solid var(--button-border-width) var(--status-error);
@@ -149,7 +150,7 @@ style.appendChild(document.createTextNode(`[data-bspk=button] {
149
150
  [data-pseudo=focus] > [data-bspk=button][data-variant=tertiary]:not([disabled]), [data-bspk=button][data-variant=tertiary]:not([disabled]):focus-visible {
150
151
  outline: solid 2px var(--stroke-neutral-focus);
151
152
  }
152
- [data-bspk=button][data-variant=tertiary][data-destructive] {
153
+ [data-bspk=button][data-variant=tertiary][data-destructive]:not([disabled]) {
153
154
  color: var(--status-error);
154
155
  }
155
156
 
@@ -1,36 +1,4 @@
1
1
  import './calendar.scss';
2
- import { ReactNode } from 'react';
3
- import { ButtonProps } from '-/components/Button';
4
- export type Direction = '<' | '<<' | '>' | '>>';
5
- export type Kind = 'day' | 'month' | 'year';
6
- export type ConfigKind = {
7
- header: Record<Direction, {
8
- label: string;
9
- incrementFn: (date: Date, amount: number) => Date;
10
- } | null> & {
11
- label: (baseDate: Date, setKind: (next: Kind) => void) => ReactNode;
12
- };
13
- columns: number;
14
- range: {
15
- start: (date: Date) => Date;
16
- end: (date: Date) => Date;
17
- };
18
- compare: (dateLeft: Date, dateRight: Date) => boolean;
19
- incrementFn: (date: Date, amount: number) => Date;
20
- optionFormatStr: string;
21
- listboxLabel: string;
22
- listBoxHeader?: ReactNode;
23
- ariaFormatStr: string;
24
- optionProps?: (params: {
25
- baseDate: Date;
26
- date: Date;
27
- isActive: boolean;
28
- isSelected: boolean;
29
- onChange: (next: Date) => void;
30
- setBaseDate: (next: Date) => void;
31
- setKind: (next: Kind) => void;
32
- }) => Partial<ButtonProps>;
33
- };
34
2
  export type CalendarProps = {
35
3
  /**
36
4
  * The currently selected date
@@ -41,25 +9,21 @@ export type CalendarProps = {
41
9
  /** Fires when the date changes with the new date */
42
10
  onChange: (newDate: Date) => void;
43
11
  /**
44
- * Determines how the Calendar will appear.
45
- *
46
- * @default flat
47
- */
48
- variant?: 'elevated' | 'flat';
49
- /**
50
- * If focus trap should be enabled within the calendar component.
12
+ * When true, keyboard focus is trapped within the calendar component on initial render.
51
13
  *
52
14
  * Only applicable if the Calendar is used in a popover like in DatePicker.
53
15
  *
54
16
  * @default false
55
17
  */
56
18
  focusTrap?: boolean;
19
+ /** The id of the calendar component. */
20
+ id?: string;
57
21
  };
58
22
  /**
59
23
  * Allows customers to select the date, month, and year.
60
24
  *
61
25
  * @name Calendar
62
- * @phase UXReview
26
+ * @phase Stable
63
27
  */
64
- export declare function Calendar({ value: valueProp, onChange, variant, focusTrap }: CalendarProps): import("react/jsx-runtime").JSX.Element;
28
+ export declare function Calendar({ id, value: valueProp, onChange, focusTrap }: CalendarProps): import("react/jsx-runtime").JSX.Element;
65
29
  /** Copyright 2025 Anywhere Real Estate - CC BY 4.0 */
@@ -1,199 +1,75 @@
1
- import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import './calendar.css.js';
3
3
  import { SvgChevronLeft } from '@bspk/icons/ChevronLeft';
4
4
  import { SvgChevronRight } from '@bspk/icons/ChevronRight';
5
5
  import { SvgKeyboardDoubleArrowLeft } from '@bspk/icons/KeyboardDoubleArrowLeft';
6
6
  import { SvgKeyboardDoubleArrowRight } from '@bspk/icons/KeyboardDoubleArrowRight';
7
- import { addDays, addMonths, addYears, endOfMonth, endOfWeek, format, startOfDecade, startOfMonth, startOfWeek, isValid, isSameDay, isSameMonth, isSameYear, setMonth, endOfDecade, } from 'date-fns';
8
- import { FocusTrap } from 'focus-trap-react';
9
- import { useMemo, useState, useEffect } from 'react';
7
+ import { addMonths, addYears, eachDayOfInterval, endOfMonth, endOfWeek, format, isSameDay, isValid, startOfMonth, startOfToday, startOfWeek, } from 'date-fns';
8
+ import { useMemo, useRef, useState } from 'react';
9
+ import { useKeyDownCaptures, optionIdGenerator } from './utils';
10
10
  import { Button } from '../Button';
11
11
  import { useId } from '../../hooks/useId';
12
- import { getElementById } from '../../utils/dom';
13
- import { handleKeyDown } from '../../utils/handleKeyDown';
14
- /**
15
- * Configuration for each of the calendar picker modes (day, month, year)
16
- *
17
- * This helps keep the main component cleaner and easier to read and avoid lots of conditionals.
18
- */
19
- const CONFIG = {
20
- day: {
21
- header: {
22
- '<<': { label: 'Previous Year', incrementFn: addYears },
23
- '<': { label: 'Previous Month', incrementFn: addMonths },
24
- label: (baseDate, setKind) => (_jsxs(_Fragment, { children: [_jsx(Button, { "aria-label": `Change Month, currently ${format(baseDate, 'MMMM')}`, "data-month": true, iconOnly: true, label: format(baseDate, 'MMMM'), onClick: () => setKind('month'), size: "large", variant: "tertiary" }), _jsx(Button, { "aria-label": `Change Year, currently ${baseDate.getFullYear()}`, "data-year": true, iconOnly: true, label: `${baseDate.getFullYear()}`, onClick: () => setKind('year'), size: "large", variant: "tertiary" })] })),
25
- '>': { label: 'Next Month', incrementFn: addMonths },
26
- '>>': { label: 'Next Year', incrementFn: addYears },
27
- },
28
- columns: 7,
29
- range: {
30
- start: (date) => startOfWeek(startOfMonth(date), { weekStartsOn: 0 }),
31
- end: (date) => endOfWeek(endOfMonth(date), { weekStartsOn: 0 }),
32
- },
33
- compare: isSameDay,
34
- incrementFn: addDays,
35
- optionFormatStr: 'd',
36
- listboxLabel: 'Select Date',
37
- ariaFormatStr: 'do MMMM yyyy',
38
- listBoxHeader: (_jsxs("div", { "data-day-headers": true, children: [_jsx("span", { children: "Sun" }), _jsx("span", { children: "Mon" }), _jsx("span", { children: "Tue" }), _jsx("span", { children: "Wed" }), _jsx("span", { children: "Thu" }), _jsx("span", { children: "Fri" }), _jsx("span", { children: "Sat" })] })),
39
- optionProps: ({ date, baseDate, isSelected, setBaseDate, onChange, isActive }) => ({
40
- 'data-non-month-day': date.getMonth() !== baseDate.getMonth() ? true : undefined,
41
- onClick: () => {
42
- setBaseDate(date);
43
- onChange(date);
44
- },
45
- variant: isSelected ? 'primary' : isActive ? 'secondary' : 'tertiary',
46
- }),
47
- },
48
- month: {
49
- header: {
50
- '<': { label: 'Previous Year', incrementFn: addYears },
51
- '<<': null,
52
- label: (baseDate, setKind) => (_jsx(Button, { "aria-label": `Change Year, currently ${baseDate.getFullYear()}`, iconOnly: true, label: `${baseDate.getFullYear()}`, onClick: () => setKind('year'), size: "large", variant: "tertiary" })),
53
- '>>': null,
54
- '>': { label: 'Next Year', incrementFn: addYears },
55
- },
56
- columns: 3,
57
- range: {
58
- start: (date) => setMonth(date, 0),
59
- end: (date) => setMonth(date, 11),
60
- },
61
- incrementFn: addMonths,
62
- compare: isSameMonth,
63
- optionFormatStr: 'MMM',
64
- listboxLabel: 'Select Month',
65
- ariaFormatStr: 'MMMM yyyy',
66
- optionProps: ({ date, setBaseDate, setKind, isActive }) => ({
67
- onClick: () => {
68
- setBaseDate(date);
69
- setKind('day');
70
- },
71
- variant: isActive ? 'secondary' : 'tertiary',
72
- }),
73
- },
74
- year: {
75
- header: {
76
- '<': { label: 'Earlier Years', incrementFn: (d) => addYears(d, -10) },
77
- '<<': null,
78
- label: (baseDate, setKind) => (_jsx(Button, { "aria-label": `Change Decade, currently ${startOfDecade(baseDate).getFullYear()} to ${endOfDecade(baseDate).getFullYear()}`, iconOnly: true, label: `${startOfDecade(baseDate).getFullYear() - 1} - ${startOfDecade(baseDate).getFullYear() + 10}`, onClick: () => setKind('year'), size: "large", variant: "tertiary" })),
79
- '>>': null,
80
- '>': { label: 'Later Years', incrementFn: (d) => addYears(d, 10) },
81
- },
82
- columns: 4,
83
- range: {
84
- start: (date) => addYears(startOfDecade(date), -1),
85
- end: (date) => addYears(endOfDecade(date), 1),
86
- },
87
- compare: isSameYear,
88
- incrementFn: addYears,
89
- optionFormatStr: 'yyyy',
90
- listboxLabel: 'Select Year',
91
- ariaFormatStr: 'yyyy',
92
- optionProps: ({ date, setBaseDate, setKind, isActive }) => ({
93
- onClick: () => {
94
- setBaseDate(date);
95
- setKind('month');
96
- },
97
- variant: isActive ? 'secondary' : 'tertiary',
98
- }),
99
- },
100
- };
12
+ import { getEventCode } from '../../utils/handleKeyDown';
101
13
  /**
102
14
  * Allows customers to select the date, month, and year.
103
15
  *
104
16
  * @name Calendar
105
- * @phase UXReview
17
+ * @phase Stable
106
18
  */
107
- export function Calendar({ value: valueProp, onChange, variant = 'flat', focusTrap = false }) {
108
- const baseId = useId();
109
- const [kind, setKind] = useState('day');
110
- const config = useMemo(() => CONFIG[kind], [kind]);
111
- const value = useMemo(() => (valueProp && isValid(valueProp) ? valueProp : new Date()), [valueProp]);
112
- const [baseDate, setBaseDate] = useState(value);
113
- useEffect(() => setBaseDate(value), [value]);
114
- const { items } = useItemsAndRange(config, baseDate, baseId);
115
- const { handleKeyDownCapture } = useKeyDownCaptures({ config, baseDate, setBaseDate });
116
- const calendar = (_jsxs("div", { "data-bspk": "calendar", "data-kind": kind, "data-variant": variant || 'flat', children: [_jsxs("div", { "data-header": true, children: [_jsx(HeaderButton, { baseDate: baseDate, config: config.header['<<'], direction: "<<", setBaseDate: setBaseDate }), _jsx(HeaderButton, { baseDate: baseDate, config: config.header['<'], direction: "<", setBaseDate: setBaseDate }), _jsx("span", { "data-title": true, children: config.header.label(baseDate, setKind) }), _jsx(HeaderButton, { baseDate: baseDate, config: config.header['>'], direction: ">", setBaseDate: setBaseDate }), _jsx(HeaderButton, { baseDate: baseDate, config: config.header['>>'], direction: ">>", setBaseDate: setBaseDate })] }), config.listBoxHeader, _jsx("div", { "aria-label": config.listboxLabel, "data-body": true, onKeyDownCapture: handleKeyDownCapture, ref: (node) => {
117
- if (!focusTrap)
118
- return;
119
- const idToFocus = items.find(({ value: date }) => config.compare(date, baseDate))?.id;
120
- node?.querySelector(`[id="${idToFocus}"]`)?.focus();
121
- }, role: "listbox", children: items.map(({ value: date, label, id, 'aria-label': ariaLabel }) => {
122
- const isSelected = config.compare(date, value);
123
- const isActive = config.compare(date, baseDate);
124
- const isFocusable = isActive || (!baseDate && isSelected);
125
- return (_jsx(Button, { "aria-label": ariaLabel, "aria-selected": isSelected || undefined, "data-active": isActive || undefined, id: id, innerRef: (node) => {
126
- if (isFocusable && focusTrap)
127
- node?.focus();
128
- }, label: label, role: "option", size: "large", tabIndex: isFocusable ? 0 : -1, width: "hug", ...config.optionProps?.({
129
- date,
130
- baseDate,
131
- isSelected,
132
- isActive,
133
- setBaseDate,
134
- onChange,
135
- setKind,
136
- }) }, date.toString()));
137
- }) })] }));
138
- return focusTrap ? (_jsx(FocusTrap, { focusTrapOptions: {
139
- fallbackFocus: () => {
140
- const idToFocus = items.find(({ value: date }) => config.compare(date, baseDate))?.id;
141
- return getElementById(idToFocus);
142
- },
143
- clickOutsideDeactivates: true,
144
- }, children: calendar })) : (calendar);
145
- }
146
- /** Generates the items (days, months, years) to display based on the grid and the range start and end */
147
- function useItemsAndRange(config, value, baseId) {
148
- return useMemo(() => {
149
- const start = config.range.start(value);
150
- const end = config.range.end(value);
151
- const nextItems = [];
152
- for (let date = start; date <= end; date = config.incrementFn(date, 1)) {
153
- const label = format(date, config.optionFormatStr);
154
- nextItems.push({
155
- value: date,
156
- label,
157
- 'aria-label': format(date, config.ariaFormatStr),
158
- id: `${baseId}-option-${format(date, 'MM-dd-yyyy')}`,
159
- });
160
- }
161
- return { items: nextItems, range: { start, end } };
162
- }, [config, value, baseId]);
163
- }
164
- const useKeyDownCaptures = ({ config, baseDate, setBaseDate, }) => {
165
- const handleItemArrows = (direction) => (event) => {
166
- event.preventDefault();
167
- event.stopPropagation();
168
- // Determine the direction and amount to move the base date
169
- // down/right is positive, up/left is negative
170
- const multiplier = direction === 'down' || direction === 'right' ? 1 : -1;
171
- // Moving left/right moves one increment, moving up/down moves the number of columns
172
- // (e.g. in day mode, left/right moves one day, up/down moves 7 days)
173
- // In month mode, left/right moves one month, up/down moves 3 months
174
- // In year mode, left/right moves one year, up/down moves 4 years
175
- // This is determined by the number of columns in the grid for each mode
176
- const amount = direction === 'left' || direction === 'right' ? 1 : config.columns;
177
- const next = config.incrementFn(baseDate, amount * multiplier);
178
- setBaseDate(next);
179
- };
180
- return {
181
- handleKeyDownCapture: handleKeyDown({
182
- ArrowDown: handleItemArrows('down'),
183
- ArrowUp: handleItemArrows('up'),
184
- ArrowLeft: handleItemArrows('left'),
185
- ArrowRight: handleItemArrows('right'),
186
- }),
187
- };
188
- };
189
- const HEADER_DIRECTION_ICONS = {
190
- '<': _jsx(SvgChevronLeft, {}),
191
- '<<': _jsx(SvgKeyboardDoubleArrowLeft, {}),
192
- '>': _jsx(SvgChevronRight, {}),
193
- '>>': _jsx(SvgKeyboardDoubleArrowRight, {}),
194
- };
195
- // eslint-disable-next-line react/no-multi-comp
196
- function HeaderButton({ direction, config, setBaseDate, baseDate, }) {
197
- return (config && (_jsx(Button, { icon: HEADER_DIRECTION_ICONS[direction], iconOnly: true, label: config.label, onClick: () => setBaseDate(config.incrementFn(baseDate, direction.startsWith('<') ? -1 : 1)), size: "large", variant: "tertiary" }, direction)));
19
+ export function Calendar({ id, value: valueProp, onChange, focusTrap = false }) {
20
+ const baseId = useId(id);
21
+ const gridId = `${baseId}-grid`;
22
+ const generateOptionId = useMemo(() => optionIdGenerator(baseId), [baseId]);
23
+ const firstButtonRef = useRef(null);
24
+ const lastButtonRef = useRef(null);
25
+ const gridRef = useRef(null);
26
+ const [activeDate, setActiveDate] = useState(valueProp && isValid(valueProp) ? valueProp : startOfToday());
27
+ const rows = useMemo(() =>
28
+ // generate all days to be shown in the month view
29
+ eachDayOfInterval({
30
+ start: startOfWeek(startOfMonth(activeDate), { weekStartsOn: 0 }),
31
+ end: endOfWeek(endOfMonth(activeDate), { weekStartsOn: 0 }),
32
+ })
33
+ // create groups of 7 for each week
34
+ .reduce((row, item) => {
35
+ const previousRow = row[row.length - 1];
36
+ if (row.length === 0 || previousRow.length === 7)
37
+ return [...row, [item]];
38
+ previousRow.push(item);
39
+ return row;
40
+ }, []), [activeDate]);
41
+ const [focusDay, setFocusDay] = useState(focusTrap);
42
+ const { handleKeyDownCapture } = useKeyDownCaptures({
43
+ activeDate,
44
+ setActiveDate,
45
+ rows,
46
+ focusActiveDay: () => setFocusDay(true),
47
+ });
48
+ return (_jsxs("div", { "data-bspk": "calendar", id: baseId, children: [_jsxs("div", { "data-header": true, children: [_jsx(Button, { icon: _jsx(SvgKeyboardDoubleArrowLeft, {}), iconOnly: true, innerRef: (node) => (firstButtonRef.current = node), label: "Previous Year", onClick: () => setActiveDate(addYears(activeDate, -1)), onKeyDown: (event) => {
49
+ if (focusTrap && getEventCode(event) === 'Shift+Tab') {
50
+ event.preventDefault();
51
+ event.stopPropagation();
52
+ setFocusDay(true);
53
+ }
54
+ }, size: "large", variant: "tertiary" }), _jsx(Button, { icon: _jsx(SvgChevronLeft, {}), iconOnly: true, label: "Previous Month", onClick: () => setActiveDate(addMonths(activeDate, -1)), size: "large", variant: "tertiary" }), _jsx("span", { "data-title": true, children: format(activeDate, 'MMMM yyyy') }), _jsx(Button, { icon: _jsx(SvgChevronRight, {}), iconOnly: true, label: "Next Month", onClick: () => setActiveDate(addMonths(activeDate, 1)), size: "large", variant: "tertiary" }), _jsx(Button, { icon: _jsx(SvgKeyboardDoubleArrowRight, {}), iconOnly: true, innerRef: (node) => (lastButtonRef.current = node), label: "Next Year", onClick: () => setActiveDate(addYears(activeDate, 1)), size: "large", variant: "tertiary" })] }), _jsxs("table", { role: "grid", children: [_jsx("thead", { children: _jsxs("tr", { children: [_jsx("th", { abbr: "Sunday", scope: "col", children: "Sun" }), _jsx("th", { abbr: "Monday", scope: "col", children: "Mon" }), _jsx("th", { abbr: "Tuesday", scope: "col", children: "Tue" }), _jsx("th", { abbr: "Wednesday", scope: "col", children: "Wed" }), _jsx("th", { abbr: "Thursday", scope: "col", children: "Thu" }), _jsx("th", { abbr: "Friday", scope: "col", children: "Fri" }), _jsx("th", { abbr: "Saturday", scope: "col", children: "Sat" })] }) }), _jsx("tbody", { id: gridId, onKeyDownCapture: (event) => {
55
+ handleKeyDownCapture(event);
56
+ if (focusTrap && getEventCode(event) === 'Tab') {
57
+ event.preventDefault();
58
+ event.stopPropagation();
59
+ firstButtonRef.current?.focus();
60
+ }
61
+ }, ref: (node) => (gridRef.current = node), children: rows.map((week) => (_jsx("tr", { children: week.map((date) => {
62
+ const label = format(date, 'd');
63
+ const optionId = generateOptionId(date);
64
+ const isActive = isSameDay(date, activeDate);
65
+ return (_jsx("td", { "aria-label": format(date, 'do MMMM yyyy'), "data-selected": isActive || undefined, id: optionId, onClick: () => onChange(date), ref: (node) => {
66
+ if (!focusDay || !isActive || !node)
67
+ return;
68
+ setTimeout(() => {
69
+ node.focus({ preventScroll: true });
70
+ }, 0);
71
+ setFocusDay(false);
72
+ }, role: isActive ? 'gridcell' : undefined, tabIndex: isActive ? 0 : -1, children: label }, date.toString()));
73
+ }) }, `week${week[0].toString()}`))) })] })] }));
198
74
  }
199
75
  //# sourceMappingURL=Calendar.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Calendar.js","sourceRoot":"","sources":["../../../src/components/Calendar/Calendar.tsx"],"names":[],"mappings":";AAAA,OAAO,iBAAiB,CAAC;AACzB,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,0BAA0B,EAAE,MAAM,qCAAqC,CAAC;AACjF,OAAO,EAAE,2BAA2B,EAAE,MAAM,sCAAsC,CAAC;AACnF,OAAO,EACH,OAAO,EACP,SAAS,EACT,QAAQ,EACR,UAAU,EACV,SAAS,EACT,MAAM,EACN,aAAa,EACb,YAAY,EACZ,WAAW,EACX,OAAO,EACP,SAAS,EACT,WAAW,EACX,UAAU,EACV,QAAQ,EACR,WAAW,GACd,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,QAAQ,EAA4B,SAAS,EAAE,MAAM,OAAO,CAAC;AAC/E,OAAO,EAAE,MAAM,EAAe,MAAM,qBAAqB,CAAC;AAE1D,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAqCtD;;;;GAIG;AACH,MAAM,MAAM,GAA6B;IACrC,GAAG,EAAE;QACD,MAAM,EAAE;YACJ,IAAI,EAAE,EAAE,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,QAAQ,EAAE;YACvD,GAAG,EAAE,EAAE,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,SAAS,EAAE;YACxD,KAAK,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,CAAC,CAC1B,8BACI,KAAC,MAAM,kBACS,2BAA2B,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,sBAEjE,QAAQ,QACR,KAAK,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,EAC/B,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAC/B,IAAI,EAAC,OAAO,EACZ,OAAO,EAAC,UAAU,GACpB,EACF,KAAC,MAAM,kBACS,0BAA0B,QAAQ,CAAC,WAAW,EAAE,EAAE,qBAE9D,QAAQ,QACR,KAAK,EAAE,GAAG,QAAQ,CAAC,WAAW,EAAE,EAAE,EAClC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,EAC9B,IAAI,EAAC,OAAO,EACZ,OAAO,EAAC,UAAU,GACpB,IACH,CACN;YACD,GAAG,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE;YACpD,IAAI,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE;SACtD;QACD,OAAO,EAAE,CAAC;QACV,KAAK,EAAE;YACH,KAAK,EAAE,CAAC,IAAU,EAAE,EAAE,CAAC,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC;YAC3E,GAAG,EAAE,CAAC,IAAU,EAAE,EAAE,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC;SACxE;QACD,OAAO,EAAE,SAAS;QAClB,WAAW,EAAE,OAAO;QACpB,eAAe,EAAE,GAAG;QACpB,YAAY,EAAE,aAAa;QAC3B,aAAa,EAAE,cAAc;QAC7B,aAAa,EAAE,CACX,oDACI,iCAAgB,EAChB,iCAAgB,EAChB,iCAAgB,EAChB,iCAAgB,EAChB,iCAAgB,EAChB,iCAAgB,EAChB,iCAAgB,IACd,CACT;QACD,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;YAC/E,oBAAoB,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;YAChF,OAAO,EAAE,GAAG,EAAE;gBACV,WAAW,CAAC,IAAI,CAAC,CAAC;gBAClB,QAAQ,CAAC,IAAI,CAAC,CAAC;YACnB,CAAC;YACD,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU;SACxE,CAAC;KACL;IACD,KAAK,EAAE;QACH,MAAM,EAAE;YACJ,GAAG,EAAE,EAAE,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,QAAQ,EAAE;YACtD,IAAI,EAAE,IAAI;YACV,KAAK,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,CAAC,CAC1B,KAAC,MAAM,kBACS,0BAA0B,QAAQ,CAAC,WAAW,EAAE,EAAE,EAC9D,QAAQ,QACR,KAAK,EAAE,GAAG,QAAQ,CAAC,WAAW,EAAE,EAAE,EAClC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,EAC9B,IAAI,EAAC,OAAO,EACZ,OAAO,EAAC,UAAU,GACpB,CACL;YACD,IAAI,EAAE,IAAI;YACV,GAAG,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE;SACrD;QACD,OAAO,EAAE,CAAC;QACV,KAAK,EAAE;YACH,KAAK,EAAE,CAAC,IAAU,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;YACxC,GAAG,EAAE,CAAC,IAAU,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC;SAC1C;QACD,WAAW,EAAE,SAAS;QACtB,OAAO,EAAE,WAAW;QACpB,eAAe,EAAE,KAAK;QACtB,YAAY,EAAE,cAAc;QAC5B,aAAa,EAAE,WAAW;QAC1B,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;YACxD,OAAO,EAAE,GAAG,EAAE;gBACV,WAAW,CAAC,IAAI,CAAC,CAAC;gBAClB,OAAO,CAAC,KAAK,CAAC,CAAC;YACnB,CAAC;YACD,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU;SAC/C,CAAC;KACL;IACD,IAAI,EAAE;QACF,MAAM,EAAE;YACJ,GAAG,EAAE,EAAE,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;YACrE,IAAI,EAAE,IAAI;YACV,KAAK,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,CAAC,CAC1B,KAAC,MAAM,kBACS,4BAA4B,aAAa,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,OAAO,WAAW,CAC3F,QAAQ,CACX,CAAC,WAAW,EAAE,EAAE,EACjB,QAAQ,QACR,KAAK,EAAE,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC,MAAM,aAAa,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,GAAG,EAAE,EAAE,EACrG,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,EAC9B,IAAI,EAAC,OAAO,EACZ,OAAO,EAAC,UAAU,GACpB,CACL;YACD,IAAI,EAAE,IAAI;YACV,GAAG,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE;SACrE;QACD,OAAO,EAAE,CAAC;QACV,KAAK,EAAE;YACH,KAAK,EAAE,CAAC,IAAU,EAAE,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;YACxD,GAAG,EAAE,CAAC,IAAU,EAAE,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;SACtD;QACD,OAAO,EAAE,UAAU;QACnB,WAAW,EAAE,QAAQ;QACrB,eAAe,EAAE,MAAM;QACvB,YAAY,EAAE,aAAa;QAC3B,aAAa,EAAE,MAAM;QACrB,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;YACxD,OAAO,EAAE,GAAG,EAAE;gBACV,WAAW,CAAC,IAAI,CAAC,CAAC;gBAClB,OAAO,CAAC,OAAO,CAAC,CAAC;YACrB,CAAC;YACD,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU;SAC/C,CAAC;KACL;CACJ,CAAC;AA2BF;;;;;GAKG;AACH,MAAM,UAAU,QAAQ,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,GAAG,MAAM,EAAE,SAAS,GAAG,KAAK,EAAiB;IACvG,MAAM,MAAM,GAAG,KAAK,EAAE,CAAC;IACvB,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAO,KAAK,CAAC,CAAC;IAC9C,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IACnD,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,SAAS,IAAI,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;IAErG,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAO,KAAK,CAAC,CAAC;IACtD,SAAS,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAE7C,MAAM,EAAE,KAAK,EAAE,GAAG,gBAAgB,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IAE7D,MAAM,EAAE,oBAAoB,EAAE,GAAG,kBAAkB,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,CAAC;IAEvF,MAAM,QAAQ,GAAG,CACb,4BAAe,UAAU,eAAY,IAAI,kBAAgB,OAAO,IAAI,MAAM,aACtE,+CACI,KAAC,YAAY,IACT,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAC3B,SAAS,EAAC,IAAI,EACd,WAAW,EAAE,WAAW,GAC1B,EACF,KAAC,YAAY,IAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,SAAS,EAAC,GAAG,EAAC,WAAW,EAAE,WAAW,GAAI,EACxG,6CAAkB,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,OAAO,CAAC,GAAQ,EAChE,KAAC,YAAY,IAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,SAAS,EAAC,GAAG,EAAC,WAAW,EAAE,WAAW,GAAI,EACxG,KAAC,YAAY,IACT,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAC3B,SAAS,EAAC,IAAI,EACd,WAAW,EAAE,WAAW,GAC1B,IACA,EACL,MAAM,CAAC,aAAa,EACrB,4BACgB,MAAM,CAAC,YAAY,qBAE/B,gBAAgB,EAAE,oBAAoB,EACtC,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE;oBACV,IAAI,CAAC,SAAS;wBAAE,OAAO;oBAEvB,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC;oBACtF,IAAI,EAAE,aAAa,CAAc,QAAQ,SAAS,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC;gBACrE,CAAC,EACD,IAAI,EAAC,SAAS,YAEb,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,YAAY,EAAE,SAAS,EAAE,EAAE,EAAE;oBAC/D,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;oBAC/C,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;oBAChD,MAAM,WAAW,GAAG,QAAQ,IAAI,CAAC,CAAC,QAAQ,IAAI,UAAU,CAAC,CAAC;oBAC1D,OAAO,CACH,KAAC,MAAM,kBACS,SAAS,mBACN,UAAU,IAAI,SAAS,iBACzB,QAAQ,IAAI,SAAS,EAClC,EAAE,EAAE,EAAE,EACN,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE;4BACf,IAAI,WAAW,IAAI,SAAS;gCAAE,IAAI,EAAE,KAAK,EAAE,CAAC;wBAChD,CAAC,EAED,KAAK,EAAE,KAAK,EACZ,IAAI,EAAC,QAAQ,EACb,IAAI,EAAC,OAAO,EACZ,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAC9B,KAAK,EAAC,KAAK,KACP,MAAM,CAAC,WAAW,EAAE,CAAC;4BACrB,IAAI;4BACJ,QAAQ;4BACR,UAAU;4BACV,QAAQ;4BACR,WAAW;4BACX,QAAQ;4BACR,OAAO;yBACV,CAAC,IAdG,IAAI,CAAC,QAAQ,EAAE,CAetB,CACL,CAAC;gBACN,CAAC,CAAC,GACA,IACJ,CACT,CAAC;IAEF,OAAO,SAAS,CAAC,CAAC,CAAC,CACf,KAAC,SAAS,IACN,gBAAgB,EAAE;YACd,aAAa,EAAE,GAAG,EAAE;gBAChB,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC;gBACtF,OAAO,cAAc,CAAC,SAAS,CAAE,CAAC;YACtC,CAAC;YACD,uBAAuB,EAAE,IAAI;SAChC,YAEA,QAAQ,GACD,CACf,CAAC,CAAC,CAAC,CACA,QAAQ,CACX,CAAC;AACN,CAAC;AAED,yGAAyG;AACzG,SAAS,gBAAgB,CAAC,MAAkB,EAAE,KAAW,EAAE,MAAc;IACrE,OAAO,OAAO,CAAC,GAAG,EAAE;QAChB,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACxC,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACpC,MAAM,SAAS,GAAwC,EAAE,CAAC;QAE1D,KAAK,IAAI,IAAI,GAAG,KAAK,EAAE,IAAI,IAAI,GAAG,EAAE,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;YACrE,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,eAAe,CAAC,CAAC;YACnD,SAAS,CAAC,IAAI,CAAC;gBACX,KAAK,EAAE,IAAI;gBACX,KAAK;gBACL,YAAY,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,aAAa,CAAC;gBAChD,EAAE,EAAE,GAAG,MAAM,WAAW,MAAM,CAAC,IAAI,EAAE,YAAY,CAAC,EAAE;aACvD,CAAC,CAAC;QACP,CAAC;QAED,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC;IACvD,CAAC,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;AAChC,CAAC;AAED,MAAM,kBAAkB,GAAG,CAAC,EACxB,MAAM,EACN,QAAQ,EACR,WAAW,GAKd,EAAE,EAAE;IACD,MAAM,gBAAgB,GAAG,CAAC,SAA2C,EAAE,EAAE,CAAC,CAAC,KAAoB,EAAE,EAAE;QAC/F,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,KAAK,CAAC,eAAe,EAAE,CAAC;QACxB,2DAA2D;QAC3D,8CAA8C;QAC9C,MAAM,UAAU,GAAG,SAAS,KAAK,MAAM,IAAI,SAAS,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1E,oFAAoF;QACpF,qEAAqE;QACrE,oEAAoE;QACpE,iEAAiE;QACjE,wEAAwE;QACxE,MAAM,MAAM,GAAG,SAAS,KAAK,MAAM,IAAI,SAAS,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;QAClF,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU,CAAC,CAAC;QAC/D,WAAW,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC,CAAC;IAEF,OAAO;QACH,oBAAoB,EAAE,aAAa,CAAC;YAChC,SAAS,EAAE,gBAAgB,CAAC,MAAM,CAAC;YACnC,OAAO,EAAE,gBAAgB,CAAC,IAAI,CAAC;YAC/B,SAAS,EAAE,gBAAgB,CAAC,MAAM,CAAC;YACnC,UAAU,EAAE,gBAAgB,CAAC,OAAO,CAAC;SACxC,CAAC;KACL,CAAC;AACN,CAAC,CAAC;AAEF,MAAM,sBAAsB,GAAiC;IACzD,GAAG,EAAE,KAAC,cAAc,KAAG;IACvB,IAAI,EAAE,KAAC,0BAA0B,KAAG;IACpC,GAAG,EAAE,KAAC,eAAe,KAAG;IACxB,IAAI,EAAE,KAAC,2BAA2B,KAAG;CACxC,CAAC;AAEF,+CAA+C;AAC/C,SAAS,YAAY,CAAC,EAClB,SAAS,EACT,MAAM,EACN,WAAW,EACX,QAAQ,GAMX;IACG,OAAO,CACH,MAAM,IAAI,CACN,KAAC,MAAM,IACH,IAAI,EAAE,sBAAsB,CAAC,SAAS,CAAC,EACvC,QAAQ,EAAE,IAAI,EAEd,KAAK,EAAE,MAAM,CAAC,KAAK,EACnB,OAAO,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAC5F,IAAI,EAAC,OAAO,EACZ,OAAO,EAAC,UAAU,IAJb,SAAS,CAKhB,CACL,CACJ,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"Calendar.js","sourceRoot":"","sources":["../../../src/components/Calendar/Calendar.tsx"],"names":[],"mappings":"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"}
@@ -14,7 +14,6 @@ export const presets = [
14
14
  },
15
15
  ];
16
16
  export const CalendarExample = {
17
- containerStyle: { width: '100%' },
18
17
  defaultState: {
19
18
  value: undefined,
20
19
  },
@@ -1 +1 @@
1
- {"version":3,"file":"CalendarExample.js","sourceRoot":"","sources":["../../../src/components/Calendar/CalendarExample.tsx"],"names":[],"mappings":";AAGA,MAAM,CAAC,MAAM,OAAO,GAA4B;IAC5C;QACI,KAAK,EAAE,oBAAoB;QAC3B,SAAS,EAAE;YACP,KAAK,EAAE,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC;SAC/B;KACJ;IACD;QACI,KAAK,EAAE,kBAAkB;QACzB,SAAS,EAAE;YACP,KAAK,EAAE,SAAS;SACnB;KACJ;CACJ,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAoC;IAC5D,cAAc,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE;IACjC,YAAY,EAAE;QACV,KAAK,EAAE,SAAS;KACnB;IACD,YAAY,EAAE,CAAC,WAAW,CAAC;IAC3B,OAAO;IACP,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,KAAC,SAAS,OAAK,KAAK,GAAI;IAC1D,QAAQ,EAAE,EAAE;IACZ,QAAQ,EAAE;QACN,SAAS,EAAE,KAAK;KACnB;CACJ,CAAC"}
1
+ {"version":3,"file":"CalendarExample.js","sourceRoot":"","sources":["../../../src/components/Calendar/CalendarExample.tsx"],"names":[],"mappings":";AAGA,MAAM,CAAC,MAAM,OAAO,GAA4B;IAC5C;QACI,KAAK,EAAE,oBAAoB;QAC3B,SAAS,EAAE;YACP,KAAK,EAAE,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC;SAC/B;KACJ;IACD;QACI,KAAK,EAAE,kBAAkB;QACzB,SAAS,EAAE;YACP,KAAK,EAAE,SAAS;SACnB;KACJ;CACJ,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAoC;IAC5D,YAAY,EAAE;QACV,KAAK,EAAE,SAAS;KACnB;IACD,YAAY,EAAE,CAAC,WAAW,CAAC;IAC3B,OAAO;IACP,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,KAAC,SAAS,OAAK,KAAK,GAAI;IAC1D,QAAQ,EAAE,EAAE;IACZ,QAAQ,EAAE;QACN,SAAS,EAAE,KAAK;KACnB;CACJ,CAAC"}