@webiny/admin-ui 0.0.0-unstable.7be00a75a9 → 0.0.0-unstable.7c2def32a7

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 (595) hide show
  1. package/Accordion/Accordion.d.ts +7 -6
  2. package/Accordion/Accordion.stories.d.ts +1 -1
  3. package/Accordion/Accordion.stories.js.map +1 -1
  4. package/Accordion/components/AccordionContent.js +4 -1
  5. package/Accordion/components/AccordionContent.js.map +1 -1
  6. package/Accordion/components/AccordionItem.d.ts +8 -6
  7. package/Accordion/components/AccordionItem.js.map +1 -1
  8. package/Accordion/components/AccordionItemAction.d.ts +7 -6
  9. package/Accordion/components/AccordionItemDragHandle.d.ts +2 -1
  10. package/Accordion/components/AccordionItemDragHandle.js +2 -1
  11. package/Accordion/components/AccordionItemDragHandle.js.map +1 -1
  12. package/Accordion/components/AccordionItemIcon.d.ts +7 -6
  13. package/Accordion/components/AccordionItemSeparator.d.ts +7 -6
  14. package/Accordion/components/AccordionTrigger.js +4 -2
  15. package/Accordion/components/AccordionTrigger.js.map +1 -1
  16. package/Alert/Alert.d.ts +21 -19
  17. package/Alert/Alert.stories.d.ts +1 -1
  18. package/Alert/Alert.stories.js.map +1 -1
  19. package/AutoComplete/AutoComplete.d.ts +7 -6
  20. package/AutoComplete/AutoComplete.stories.d.ts +1 -1
  21. package/AutoComplete/AutoComplete.stories.js.map +1 -1
  22. package/AutoComplete/primitives/AutoCompletePrimitive.d.ts +13 -6
  23. package/AutoComplete/primitives/AutoCompletePrimitive.js +1 -0
  24. package/AutoComplete/primitives/AutoCompletePrimitive.js.map +1 -1
  25. package/AutoComplete/primitives/AutoCompletePrimitive.stories.d.ts +1 -1
  26. package/AutoComplete/primitives/AutoCompletePrimitive.stories.js.map +1 -1
  27. package/Avatar/Avatar.d.ts +9 -8
  28. package/Avatar/Avatar.stories.d.ts +1 -1
  29. package/Avatar/Avatar.stories.js.map +1 -1
  30. package/Avatar/components/AvatarFallback.d.ts +7 -6
  31. package/Avatar/components/AvatarImage.d.ts +7 -6
  32. package/BetaBadge/BetaBadge.d.ts +6 -0
  33. package/BetaBadge/BetaBadge.js +7 -0
  34. package/BetaBadge/BetaBadge.js.map +1 -0
  35. package/Breadcrumbs/Breadcrumbs.d.ts +54 -0
  36. package/Breadcrumbs/Breadcrumbs.js +66 -0
  37. package/Breadcrumbs/Breadcrumbs.js.map +1 -0
  38. package/Breadcrumbs/Breadcrumbs.stories.d.ts +9 -0
  39. package/Breadcrumbs/Breadcrumbs.stories.js +71 -0
  40. package/Breadcrumbs/Breadcrumbs.stories.js.map +1 -0
  41. package/Breadcrumbs/index.d.ts +1 -0
  42. package/Breadcrumbs/index.js +1 -0
  43. package/Button/Button.d.ts +10 -9
  44. package/Button/Button.js +7 -0
  45. package/Button/Button.js.map +1 -1
  46. package/Button/Button.mdx +13 -0
  47. package/Button/Button.stories.d.ts +2 -1
  48. package/Button/Button.stories.js +9 -2
  49. package/Button/Button.stories.js.map +1 -1
  50. package/Button/CopyButton.d.ts +7 -6
  51. package/Button/IconButton.d.ts +10 -9
  52. package/Button/IconButton.stories.d.ts +1 -1
  53. package/Button/IconButton.stories.js.map +1 -1
  54. package/Calendar/Calendar.d.ts +7 -6
  55. package/Calendar/calendarClassNames.js +1 -1
  56. package/Calendar/calendarClassNames.js.map +1 -1
  57. package/Card/Card.d.ts +8 -22
  58. package/Card/Card.stories.d.ts +1 -1
  59. package/Card/Card.stories.js.map +1 -1
  60. package/Card/components/CancelAction.d.ts +8 -6
  61. package/Card/components/CardContent.d.ts +6 -6
  62. package/Card/components/CardTitle.d.ts +2 -2
  63. package/Card/components/ConfirmAction.d.ts +8 -6
  64. package/Card/components/Icon.d.ts +7 -6
  65. package/Checkbox/Checkbox.d.ts +7 -6
  66. package/Checkbox/Checkbox.stories.d.ts +1 -1
  67. package/Checkbox/Checkbox.stories.js.map +1 -1
  68. package/Checkbox/primitives/CheckboxPrimitive.d.ts +17 -12
  69. package/Checkbox/primitives/CheckboxPrimitive.stories.d.ts +1 -1
  70. package/Checkbox/primitives/CheckboxPrimitive.stories.js.map +1 -1
  71. package/CheckboxGroup/CheckboxGroup.d.ts +7 -6
  72. package/CheckboxGroup/CheckboxGroup.stories.d.ts +1 -1
  73. package/CheckboxGroup/CheckboxGroup.stories.js.map +1 -1
  74. package/CheckboxGroup/primitives/CheckboxGroupPrimitive.d.ts +20 -12
  75. package/CheckboxGroup/primitives/CheckboxGroupPrimitive.stories.d.ts +1 -1
  76. package/CheckboxGroup/primitives/CheckboxGroupPrimitive.stories.js.map +1 -1
  77. package/CodeEditor/CodeEditor.d.ts +7 -6
  78. package/CodeEditor/CodeEditor.stories.d.ts +1 -1
  79. package/CodeEditor/CodeEditor.stories.js.map +1 -1
  80. package/CodeEditor/CodeEditorPrimitive.d.ts +7 -6
  81. package/CodeEditor/CodeEditorPrimitive.js +3 -1
  82. package/CodeEditor/CodeEditorPrimitive.js.map +1 -1
  83. package/CodeEditor/CodeEditorPrimitive.stories.d.ts +1 -1
  84. package/CodeEditor/CodeEditorPrimitive.stories.js.map +1 -1
  85. package/ColorPicker/ColorPicker.d.ts +7 -6
  86. package/ColorPicker/ColorPicker.stories.d.ts +1 -1
  87. package/ColorPicker/ColorPicker.stories.js.map +1 -1
  88. package/ColorPicker/primitives/ColorPickerPrimitive.d.ts +7 -6
  89. package/ColorPicker/primitives/ColorPickerPrimitive.stories.d.ts +1 -1
  90. package/ColorPicker/primitives/ColorPickerPrimitive.stories.js.map +1 -1
  91. package/Command/Command.d.ts +10 -8
  92. package/Command/components/List.d.ts +1 -1
  93. package/Command/components/List.js +9 -5
  94. package/Command/components/List.js.map +1 -1
  95. package/DataList/DataListModal.d.ts +6 -3
  96. package/DataTable/DataTable.d.ts +23 -12
  97. package/DataTable/DataTable.js +18 -7
  98. package/DataTable/DataTable.js.map +1 -1
  99. package/DataTable/DataTable.stories.d.ts +1 -1
  100. package/DataTable/DataTable.stories.js.map +1 -1
  101. package/DataTable/components/ColumnsVisibility.d.ts +5 -4
  102. package/DataTable/components/ColumnsVisibility.js +7 -3
  103. package/DataTable/components/ColumnsVisibility.js.map +1 -1
  104. package/DatePicker/DatePicker.d.ts +11 -7
  105. package/DatePicker/DatePicker.js +10 -2
  106. package/DatePicker/DatePicker.js.map +1 -1
  107. package/DatePicker/DatePicker.stories.d.ts +11 -1
  108. package/DatePicker/DatePicker.stories.js +44 -1
  109. package/DatePicker/DatePicker.stories.js.map +1 -1
  110. package/DatePicker/primitives/BirthdayPicker.d.ts +13 -0
  111. package/DatePicker/primitives/BirthdayPicker.js +355 -0
  112. package/DatePicker/primitives/BirthdayPicker.js.map +1 -0
  113. package/DatePicker/primitives/BirthdayPickerCell.d.ts +14 -0
  114. package/DatePicker/primitives/BirthdayPickerCell.js +19 -0
  115. package/DatePicker/primitives/BirthdayPickerCell.js.map +1 -0
  116. package/DatePicker/primitives/BirthdayPickerSegments.d.ts +9 -0
  117. package/DatePicker/primitives/BirthdayPickerSegments.js +43 -0
  118. package/DatePicker/primitives/BirthdayPickerSegments.js.map +1 -0
  119. package/DatePicker/primitives/DateOnlyPicker.js +2 -2
  120. package/DatePicker/primitives/DateOnlyPicker.js.map +1 -1
  121. package/DatePicker/primitives/DatePickerPrimitive.d.ts +7 -6
  122. package/DatePicker/primitives/DatePickerPrimitive.js +3 -0
  123. package/DatePicker/primitives/DatePickerPrimitive.js.map +1 -1
  124. package/DatePicker/primitives/DateRangePicker.js +3 -3
  125. package/DatePicker/primitives/DateRangePicker.js.map +1 -1
  126. package/DatePicker/primitives/DateTimePicker.d.ts +1 -1
  127. package/DatePicker/primitives/DateTimePicker.js +26 -18
  128. package/DatePicker/primitives/DateTimePicker.js.map +1 -1
  129. package/DatePicker/primitives/MultipleDatesPicker.js +3 -3
  130. package/DatePicker/primitives/MultipleDatesPicker.js.map +1 -1
  131. package/DatePicker/primitives/components/DatePickerTrigger.js +2 -2
  132. package/DatePicker/primitives/components/DatePickerTrigger.js.map +1 -1
  133. package/DatePicker/utils/birthdayHelpers.d.ts +77 -0
  134. package/DatePicker/utils/birthdayHelpers.js +145 -0
  135. package/DatePicker/utils/birthdayHelpers.js.map +1 -0
  136. package/DatePicker/utils/birthdayHelpers.test.d.ts +1 -0
  137. package/DatePicker/utils/birthdayHelpers.test.js +394 -0
  138. package/DatePicker/utils/birthdayHelpers.test.js.map +1 -0
  139. package/DatePicker/utils/dateHelpers.d.ts +6 -1
  140. package/DatePicker/utils/dateHelpers.js +13 -5
  141. package/DatePicker/utils/dateHelpers.js.map +1 -1
  142. package/DatePicker/utils/dateHelpers.test.d.ts +1 -0
  143. package/DatePicker/utils/dateHelpers.test.js +32 -0
  144. package/DatePicker/utils/dateHelpers.test.js.map +1 -0
  145. package/DatePicker/utils/index.d.ts +1 -0
  146. package/DatePicker/utils/index.js +1 -0
  147. package/DatePicker/utils/timezoneHelpers.d.ts +3 -0
  148. package/DatePicker/utils/timezoneHelpers.js +32 -0
  149. package/DatePicker/utils/timezoneHelpers.js.map +1 -0
  150. package/DatePicker/utils/types.d.ts +15 -2
  151. package/Dialog/Dialog.d.ts +8 -22
  152. package/Dialog/Dialog.stories.d.ts +1 -1
  153. package/Dialog/Dialog.stories.js.map +1 -1
  154. package/Dialog/components/CancelAction.d.ts +8 -6
  155. package/Dialog/components/ConfirmAction.d.ts +8 -6
  156. package/Dialog/components/DialogContent.d.ts +1 -1
  157. package/Dialog/components/DialogFooter.d.ts +1 -1
  158. package/Dialog/components/DialogTitle.d.ts +1 -1
  159. package/Dialog/components/Icon.d.ts +7 -6
  160. package/DragCursor/DragCursor.d.ts +7 -0
  161. package/DragCursor/DragCursor.js +21 -0
  162. package/DragCursor/DragCursor.js.map +1 -0
  163. package/DragCursor/DragCursor.stories.d.ts +10 -0
  164. package/DragCursor/DragCursor.stories.js +97 -0
  165. package/DragCursor/DragCursor.stories.js.map +1 -0
  166. package/DragCursor/index.d.ts +1 -0
  167. package/DragCursor/index.js +1 -0
  168. package/Drawer/Drawer.d.ts +18 -28
  169. package/Drawer/Drawer.js +2 -1
  170. package/Drawer/Drawer.js.map +1 -1
  171. package/Drawer/Drawer.stories.d.ts +2 -1
  172. package/Drawer/Drawer.stories.js +21 -2
  173. package/Drawer/Drawer.stories.js.map +1 -1
  174. package/Drawer/components/CancelButton.d.ts +8 -6
  175. package/Drawer/components/ConfirmButton.d.ts +8 -6
  176. package/Drawer/components/DrawerContent.d.ts +1 -1
  177. package/Drawer/components/DrawerHeader.d.ts +2 -2
  178. package/Drawer/components/DrawerHeader.js +11 -8
  179. package/Drawer/components/DrawerHeader.js.map +1 -1
  180. package/Drawer/components/Icon.d.ts +7 -6
  181. package/Drawer/components/Icon.js +3 -4
  182. package/Drawer/components/Icon.js.map +1 -1
  183. package/DropdownMenu/DropdownMenu.stories.d.ts +1 -1
  184. package/DropdownMenu/DropdownMenu.stories.js.map +1 -1
  185. package/DropdownMenu/components/DropdownMenuItem.d.ts +8 -2
  186. package/DropdownMenu/components/DropdownMenuItem.js +11 -3
  187. package/DropdownMenu/components/DropdownMenuItem.js.map +1 -1
  188. package/DropdownMenu/components/DropdownMenuLink.d.ts +9 -8
  189. package/DropdownMenu/components/DropdownMenuSeparator.d.ts +7 -6
  190. package/EditableTitle/EditableTitle.d.ts +67 -0
  191. package/EditableTitle/EditableTitle.js +73 -0
  192. package/EditableTitle/EditableTitle.js.map +1 -0
  193. package/EditableTitle/index.d.ts +1 -0
  194. package/EditableTitle/index.js +1 -0
  195. package/EmptyState/EmptyState.d.ts +43 -0
  196. package/EmptyState/EmptyState.js +93 -0
  197. package/EmptyState/EmptyState.js.map +1 -0
  198. package/EmptyState/EmptyState.stories.d.ts +13 -0
  199. package/EmptyState/EmptyState.stories.js +136 -0
  200. package/EmptyState/EmptyState.stories.js.map +1 -0
  201. package/EmptyState/illustrations/ContentIllustration.d.ts +2 -0
  202. package/EmptyState/illustrations/ContentIllustration.js +100 -0
  203. package/EmptyState/illustrations/ContentIllustration.js.map +1 -0
  204. package/EmptyState/illustrations/LayoutIllustration.d.ts +2 -0
  205. package/EmptyState/illustrations/LayoutIllustration.js +93 -0
  206. package/EmptyState/illustrations/LayoutIllustration.js.map +1 -0
  207. package/EmptyState/illustrations/ListingIllustration.d.ts +2 -0
  208. package/EmptyState/illustrations/ListingIllustration.js +92 -0
  209. package/EmptyState/illustrations/ListingIllustration.js.map +1 -0
  210. package/EmptyState/illustrations/SelectIllustration.d.ts +2 -0
  211. package/EmptyState/illustrations/SelectIllustration.js +100 -0
  212. package/EmptyState/illustrations/SelectIllustration.js.map +1 -0
  213. package/EmptyState/illustrations/TableIllustration.d.ts +2 -0
  214. package/EmptyState/illustrations/TableIllustration.js +233 -0
  215. package/EmptyState/illustrations/TableIllustration.js.map +1 -0
  216. package/EmptyState/illustrations/UploadIllustration.d.ts +2 -0
  217. package/EmptyState/illustrations/UploadIllustration.js +77 -0
  218. package/EmptyState/illustrations/UploadIllustration.js.map +1 -0
  219. package/EmptyState/illustrations/index.d.ts +6 -0
  220. package/EmptyState/illustrations/index.js +6 -0
  221. package/EmptyState/index.d.ts +1 -0
  222. package/EmptyState/index.js +1 -0
  223. package/FilePicker/FilePicker.d.ts +19 -18
  224. package/FilePicker/FilePicker.stories.d.ts +7 -1
  225. package/FilePicker/FilePicker.stories.js +24 -1
  226. package/FilePicker/FilePicker.stories.js.map +1 -1
  227. package/FilePicker/primitives/FilePickerPrimitive.d.ts +20 -19
  228. package/FilePicker/primitives/FilePickerPrimitive.stories.d.ts +1 -1
  229. package/FilePicker/primitives/FilePickerPrimitive.stories.js.map +1 -1
  230. package/FilePicker/primitives/components/Trigger.d.ts +1 -1
  231. package/FilePicker/primitives/components/previews/ImagePreview/ImagePreview.d.ts +19 -7
  232. package/FilePicker/primitives/components/previews/ImagePreview/ImagePreview.js +15 -6
  233. package/FilePicker/primitives/components/previews/ImagePreview/ImagePreview.js.map +1 -1
  234. package/FilePicker/primitives/components/previews/ItemActions.js +1 -1
  235. package/FilePicker/primitives/components/previews/ItemActions.js.map +1 -1
  236. package/FilePicker/primitives/components/previews/ItemDescription.js +1 -1
  237. package/FilePicker/primitives/components/previews/ItemDescription.js.map +1 -1
  238. package/FilePicker/primitives/components/previews/RichItemPreview/FileType.d.ts +5 -0
  239. package/FilePicker/primitives/components/previews/RichItemPreview/FileType.js +45 -0
  240. package/FilePicker/primitives/components/previews/RichItemPreview/FileType.js.map +1 -0
  241. package/FilePicker/primitives/components/previews/RichItemPreview/Placeholder.d.ts +5 -0
  242. package/FilePicker/primitives/components/previews/RichItemPreview/Placeholder.js +14 -0
  243. package/FilePicker/primitives/components/previews/RichItemPreview/Placeholder.js.map +1 -0
  244. package/FilePicker/primitives/components/previews/RichItemPreview/RichItemPreview.d.ts +12 -6
  245. package/FilePicker/primitives/components/previews/RichItemPreview/RichItemPreview.js +54 -12
  246. package/FilePicker/primitives/components/previews/RichItemPreview/RichItemPreview.js.map +1 -1
  247. package/FilePicker/primitives/components/previews/RichItemPreview/RichItemThumbnail.d.ts +11 -1
  248. package/FilePicker/primitives/components/previews/RichItemPreview/RichItemThumbnail.js +8 -61
  249. package/FilePicker/primitives/components/previews/RichItemPreview/RichItemThumbnail.js.map +1 -1
  250. package/FilePicker/primitives/components/previews/RichItemPreview/Thumbnail.d.ts +11 -0
  251. package/FilePicker/primitives/components/previews/RichItemPreview/Thumbnail.js +24 -0
  252. package/FilePicker/primitives/components/previews/RichItemPreview/Thumbnail.js.map +1 -0
  253. package/FilePicker/primitives/components/previews/RichItemPreview/ThumbnailActions.d.ts +10 -0
  254. package/FilePicker/primitives/components/previews/RichItemPreview/ThumbnailActions.js +46 -0
  255. package/FilePicker/primitives/components/previews/RichItemPreview/ThumbnailActions.js.map +1 -0
  256. package/FilePicker/primitives/components/previews/TextOnlyPreview/TextOnlyPreview.d.ts +7 -6
  257. package/FilePicker/primitives/components/previews/TruncatedFileName.d.ts +7 -0
  258. package/FilePicker/primitives/components/previews/TruncatedFileName.js +20 -0
  259. package/FilePicker/primitives/components/previews/TruncatedFileName.js.map +1 -0
  260. package/FilePicker/primitives/components/previews/fileName.d.ts +4 -0
  261. package/FilePicker/primitives/components/previews/fileName.js +26 -0
  262. package/FilePicker/primitives/components/previews/fileName.js.map +1 -0
  263. package/FilePicker/primitives/components/previews/index.d.ts +1 -0
  264. package/FilePicker/primitives/components/previews/index.js +1 -0
  265. package/FilePicker/primitives/components/previews/variants.d.ts +1 -1
  266. package/FillViewport/FillViewport.d.ts +63 -0
  267. package/FillViewport/FillViewport.js +67 -0
  268. package/FillViewport/FillViewport.js.map +1 -0
  269. package/FillViewport/index.d.ts +1 -0
  270. package/FillViewport/index.js +1 -0
  271. package/FormComponent/Description.d.ts +7 -6
  272. package/FormComponent/ErrorMessage.d.ts +7 -6
  273. package/FormComponent/Label.d.ts +7 -6
  274. package/FormComponent/Note.d.ts +7 -6
  275. package/Grid/Grid.d.ts +25 -23
  276. package/Grid/Grid.js.map +1 -1
  277. package/Grid/Grid.stories.d.ts +1 -1
  278. package/Grid/Grid.stories.js.map +1 -1
  279. package/HeaderBar/HeaderBar.d.ts +7 -6
  280. package/HeaderBar/HeaderBar.stories.d.ts +1 -1
  281. package/HeaderBar/HeaderBar.stories.js.map +1 -1
  282. package/Heading/Heading.d.ts +8 -7
  283. package/Heading/Heading.stories.d.ts +1 -1
  284. package/Heading/Heading.stories.js.map +1 -1
  285. package/Icon/Icon.d.ts +9 -8
  286. package/Icon/Icon.stories.d.ts +1 -1
  287. package/Icon/Icon.stories.js.map +1 -1
  288. package/IconPicker/IconPicker.d.ts +7 -6
  289. package/IconPicker/IconPicker.stories.d.ts +1 -1
  290. package/IconPicker/IconPicker.stories.js.map +1 -1
  291. package/IconPicker/primitives/IconPickerPrimitive.d.ts +1 -1
  292. package/IconPicker/primitives/IconPickerPrimitive.js +1 -2
  293. package/IconPicker/primitives/IconPickerPrimitive.js.map +1 -1
  294. package/IconPicker/primitives/IconPickerPrimitive.stories.d.ts +1 -1
  295. package/IconPicker/primitives/IconPickerPrimitive.stories.js.map +1 -1
  296. package/IconPicker/primitives/components/IconPickerTrigger.d.ts +1 -1
  297. package/ImageEditor/AspectRatioPreview.d.ts +16 -0
  298. package/ImageEditor/AspectRatioPreview.js +26 -0
  299. package/ImageEditor/AspectRatioPreview.js.map +1 -0
  300. package/ImageEditor/CropHotspotEditor.d.ts +22 -0
  301. package/ImageEditor/CropHotspotEditor.js +402 -0
  302. package/ImageEditor/CropHotspotEditor.js.map +1 -0
  303. package/ImageEditor/ImageEditor.d.ts +18 -0
  304. package/ImageEditor/ImageEditor.js +151 -0
  305. package/ImageEditor/ImageEditor.js.map +1 -0
  306. package/ImageEditor/ImageEditor.stories.d.ts +6 -0
  307. package/ImageEditor/ImageEditor.stories.js +42 -0
  308. package/ImageEditor/ImageEditor.stories.js.map +1 -0
  309. package/ImageEditor/MetaFields.d.ts +12 -0
  310. package/ImageEditor/MetaFields.js +20 -0
  311. package/ImageEditor/MetaFields.js.map +1 -0
  312. package/ImageEditor/SectionLabel.d.ts +8 -0
  313. package/ImageEditor/SectionLabel.js +7 -0
  314. package/ImageEditor/SectionLabel.js.map +1 -0
  315. package/ImageEditor/geometry.d.ts +46 -0
  316. package/ImageEditor/geometry.js +126 -0
  317. package/ImageEditor/geometry.js.map +1 -0
  318. package/ImageEditor/index.d.ts +3 -0
  319. package/ImageEditor/index.js +3 -0
  320. package/ImageEditor/types.d.ts +52 -0
  321. package/ImageEditor/types.js +35 -0
  322. package/ImageEditor/types.js.map +1 -0
  323. package/Input/Input.d.ts +7 -6
  324. package/Input/Input.stories.d.ts +1 -1
  325. package/Input/Input.stories.js.map +1 -1
  326. package/Input/InputPrimitive.d.ts +9 -8
  327. package/Input/InputPrimitive.stories.d.ts +1 -1
  328. package/Input/InputPrimitive.stories.js.map +1 -1
  329. package/Label/Label.d.ts +8 -7
  330. package/Label/Label.stories.d.ts +1 -1
  331. package/Label/Label.stories.js.map +1 -1
  332. package/Label/components/LabelValue.d.ts +1 -1
  333. package/Link/Link.d.ts +3 -3
  334. package/Link/Link.js +1 -1
  335. package/Link/Link.js.map +1 -1
  336. package/Link/Link.stories.d.ts +1 -1
  337. package/Link/Link.stories.js.map +1 -1
  338. package/List/List.d.ts +8 -7
  339. package/List/List.stories.d.ts +1 -1
  340. package/List/List.stories.js.map +1 -1
  341. package/List/components/ListItem.d.ts +7 -6
  342. package/List/components/ListItemAction.d.ts +7 -6
  343. package/List/components/ListItemHandle.d.ts +7 -6
  344. package/List/components/ListItemIcon.d.ts +7 -6
  345. package/List/components/ListItemSeparator.d.ts +7 -6
  346. package/Loader/Loader.d.ts +9 -8
  347. package/Loader/Loader.stories.d.ts +1 -1
  348. package/Loader/Loader.stories.js.map +1 -1
  349. package/Loader/OverlayLoader.d.ts +7 -6
  350. package/Loader/OverlayLoader.stories.d.ts +1 -1
  351. package/Loader/OverlayLoader.stories.js.map +1 -1
  352. package/Markdown/Markdown.d.ts +47 -0
  353. package/Markdown/Markdown.js +17 -0
  354. package/Markdown/Markdown.js.map +1 -0
  355. package/Markdown/index.d.ts +1 -0
  356. package/Markdown/index.js +1 -0
  357. package/MultiAutoComplete/MultiAutoComplete.d.ts +7 -6
  358. package/MultiAutoComplete/MultiAutoComplete.stories.d.ts +1 -1
  359. package/MultiAutoComplete/MultiAutoComplete.stories.js.map +1 -1
  360. package/MultiAutoComplete/primitives/MultiAutoCompletePrimitive.d.ts +13 -6
  361. package/MultiAutoComplete/primitives/MultiAutoCompletePrimitive.js +1 -0
  362. package/MultiAutoComplete/primitives/MultiAutoCompletePrimitive.js.map +1 -1
  363. package/MultiAutoComplete/primitives/MultiAutoCompletePrimitive.stories.d.ts +1 -1
  364. package/MultiAutoComplete/primitives/MultiAutoCompletePrimitive.stories.js.map +1 -1
  365. package/MultiAutoComplete/primitives/presenters/MultiAutoCompletePresenterWithFreeInput.d.ts +3 -3
  366. package/MultiAutoComplete/primitives/useMultiAutoComplete.d.ts +3 -3
  367. package/MultiFilePicker/MultiFilePicker.d.ts +19 -18
  368. package/MultiFilePicker/MultiFilePicker.stories.d.ts +1 -1
  369. package/MultiFilePicker/MultiFilePicker.stories.js.map +1 -1
  370. package/MultiFilePicker/primitives/MultiFilePickerPrimitive.d.ts +19 -18
  371. package/MultiFilePicker/primitives/MultiFilePickerPrimitive.stories.d.ts +1 -1
  372. package/MultiFilePicker/primitives/MultiFilePickerPrimitive.stories.js.map +1 -1
  373. package/MultiSelect/MultiSelect.d.ts +7 -6
  374. package/MultiSelect/MultiSelect.stories.d.ts +1 -1
  375. package/MultiSelect/MultiSelect.stories.js.map +1 -1
  376. package/MultiSelect/primitives/MultiSelectPrimitive.d.ts +10 -6
  377. package/MultiSelect/primitives/MultiSelectPrimitive.js +12 -5
  378. package/MultiSelect/primitives/MultiSelectPrimitive.js.map +1 -1
  379. package/Popover/Popover.d.ts +7 -6
  380. package/Popover/Popover.stories.d.ts +8 -1
  381. package/Popover/Popover.stories.js +24 -1
  382. package/Popover/Popover.stories.js.map +1 -1
  383. package/Popover/primitives/PopoverPrimitive.d.ts +7 -7
  384. package/Popover/primitives/components/PopoverContent.js +6 -1
  385. package/Popover/primitives/components/PopoverContent.js.map +1 -1
  386. package/ProgressBar/ProgressBar.d.ts +7 -6
  387. package/ProgressBar/ProgressBar.stories.d.ts +1 -1
  388. package/ProgressBar/ProgressBar.stories.js.map +1 -1
  389. package/RadioGroup/RadioGroup.d.ts +7 -6
  390. package/RadioGroup/RadioGroup.stories.d.ts +1 -1
  391. package/RadioGroup/RadioGroup.stories.js.map +1 -1
  392. package/RadioGroup/primitives/Radio.d.ts +7 -6
  393. package/RadioGroup/primitives/RadioGroupPrimitive.d.ts +5 -1
  394. package/RadioGroup/primitives/RadioGroupPrimitive.stories.d.ts +1 -1
  395. package/RadioGroup/primitives/RadioGroupPrimitive.stories.js.map +1 -1
  396. package/RangeSlider/RangeSlider.d.ts +7 -6
  397. package/RangeSlider/RangeSlider.stories.d.ts +1 -1
  398. package/RangeSlider/RangeSlider.stories.js.map +1 -1
  399. package/RangeSlider/primitives/RangeSliderPrimitive.stories.d.ts +1 -1
  400. package/RangeSlider/primitives/RangeSliderPrimitive.stories.js.map +1 -1
  401. package/ScrollArea/ScrollArea.d.ts +16 -2
  402. package/ScrollArea/ScrollArea.js +25 -11
  403. package/ScrollArea/ScrollArea.js.map +1 -1
  404. package/ScrollArea/ScrollArea.stories.d.ts +1 -1
  405. package/ScrollArea/ScrollArea.stories.js.map +1 -1
  406. package/SegmentedControl/SegmentedControl.d.ts +11 -6
  407. package/SegmentedControl/SegmentedControl.js +6 -2
  408. package/SegmentedControl/SegmentedControl.js.map +1 -1
  409. package/SegmentedControl/SegmentedControl.stories.d.ts +5 -1
  410. package/SegmentedControl/SegmentedControl.stories.js +100 -2
  411. package/SegmentedControl/SegmentedControl.stories.js.map +1 -1
  412. package/SegmentedControl/SegmentedControlTab.d.ts +10 -0
  413. package/SegmentedControl/SegmentedControlTab.js +21 -0
  414. package/SegmentedControl/SegmentedControlTab.js.map +1 -0
  415. package/SegmentedControl/SegmentedControlTabs.d.ts +14 -0
  416. package/SegmentedControl/SegmentedControlTabs.js +71 -0
  417. package/SegmentedControl/SegmentedControlTabs.js.map +1 -0
  418. package/SegmentedControl/SegmentedControlTabsContext.d.ts +19 -0
  419. package/SegmentedControl/SegmentedControlTabsContext.js +11 -0
  420. package/SegmentedControl/SegmentedControlTabsContext.js.map +1 -0
  421. package/SegmentedControl/index.d.ts +2 -0
  422. package/SegmentedControl/index.js +2 -0
  423. package/SegmentedControl/primitives/SegmentedControlPrimitive.d.ts +6 -2
  424. package/SegmentedControl/primitives/SegmentedControlPrimitive.js +4 -3
  425. package/SegmentedControl/primitives/SegmentedControlPrimitive.js.map +1 -1
  426. package/SegmentedControl/primitives/SegmentedControlPrimitive.stories.d.ts +2 -1
  427. package/SegmentedControl/primitives/SegmentedControlPrimitive.stories.js +8 -1
  428. package/SegmentedControl/primitives/SegmentedControlPrimitive.stories.js.map +1 -1
  429. package/Select/Select.d.ts +7 -6
  430. package/Select/Select.stories.d.ts +1 -1
  431. package/Select/Select.stories.js.map +1 -1
  432. package/Select/primitives/SelectPrimitive.stories.d.ts +1 -1
  433. package/Select/primitives/SelectPrimitive.stories.js.map +1 -1
  434. package/Select/primitives/components/SelectContent.js +4 -6
  435. package/Select/primitives/components/SelectContent.js.map +1 -1
  436. package/Select/primitives/components/SelectTrigger.d.ts +2 -2
  437. package/Separator/Separator.d.ts +9 -8
  438. package/Separator/Separator.stories.d.ts +1 -1
  439. package/Separator/Separator.stories.js.map +1 -1
  440. package/Sidebar/Sidebar.d.ts +9 -6
  441. package/Sidebar/Sidebar.stories.d.ts +1 -1
  442. package/Sidebar/Sidebar.stories.js.map +1 -1
  443. package/Sidebar/components/SidebarContent.js +1 -1
  444. package/Sidebar/components/SidebarContent.js.map +1 -1
  445. package/Sidebar/components/SidebarIcon.d.ts +7 -6
  446. package/Sidebar/components/SidebarProvider.d.ts +4 -4
  447. package/Sidebar/components/SidebarRoot.js +1 -1
  448. package/Sidebar/components/SidebarRoot.js.map +1 -1
  449. package/Sidebar/components/items/SidebarMenuGroup.d.ts +9 -8
  450. package/Sidebar/components/items/SidebarMenuItem.d.ts +13 -9
  451. package/Sidebar/components/items/SidebarMenuItem.js +3 -1
  452. package/Sidebar/components/items/SidebarMenuItem.js.map +1 -1
  453. package/Sidebar/components/items/SidebarMenuItemBadge.d.ts +6 -0
  454. package/Sidebar/components/items/SidebarMenuItemBadge.js +7 -0
  455. package/Sidebar/components/items/SidebarMenuItemBadge.js.map +1 -0
  456. package/Sidebar/components/items/SidebarMenuItemIcon.d.ts +7 -6
  457. package/Sidebar/components/items/SidebarMenuLink.d.ts +12 -9
  458. package/Sidebar/components/items/SidebarMenuLink.js +3 -1
  459. package/Sidebar/components/items/SidebarMenuLink.js.map +1 -1
  460. package/Sidebar/components/items/SidebarMenuProvider.d.ts +4 -4
  461. package/Sidebar/components/items/SidebarMenuRootButton.d.ts +1 -1
  462. package/Sidebar/components/items/SidebarMenuRootButton.js +8 -3
  463. package/Sidebar/components/items/SidebarMenuRootButton.js.map +1 -1
  464. package/Sidebar/components/items/SidebarMenuRootItem.d.ts +9 -7
  465. package/Sidebar/components/items/SidebarMenuSubButton.d.ts +1 -1
  466. package/Sidebar/components/items/SidebarMenuSubButton.js +14 -6
  467. package/Sidebar/components/items/SidebarMenuSubButton.js.map +1 -1
  468. package/Sidebar/components/items/SidebarMenuSubItem.js +3 -3
  469. package/Sidebar/components/items/SidebarMenuSubItem.js.map +1 -1
  470. package/Sidebar/components/items/SidebarMenuSubItemIndentation.js +2 -1
  471. package/Sidebar/components/items/SidebarMenuSubItemIndentation.js.map +1 -1
  472. package/Skeleton/Skeleton.d.ts +9 -7
  473. package/Skeleton/Skeleton.js +10 -4
  474. package/Skeleton/Skeleton.js.map +1 -1
  475. package/Skeleton/Skeleton.stories.d.ts +3 -1
  476. package/Skeleton/Skeleton.stories.js +28 -2
  477. package/Skeleton/Skeleton.stories.js.map +1 -1
  478. package/Slider/Slider.d.ts +7 -6
  479. package/Slider/Slider.stories.d.ts +1 -1
  480. package/Slider/Slider.stories.js.map +1 -1
  481. package/Slider/primitives/SliderPrimitive.stories.d.ts +1 -1
  482. package/Slider/primitives/SliderPrimitive.stories.js.map +1 -1
  483. package/SteppedProgress/SteppedProgress.d.ts +7 -6
  484. package/SteppedProgress/SteppedProgress.stories.d.ts +1 -1
  485. package/SteppedProgress/SteppedProgress.stories.js.map +1 -1
  486. package/SteppedProgress/SteppedProgressItem.d.ts +7 -6
  487. package/Switch/Switch.d.ts +10 -9
  488. package/Switch/Switch.js +21 -7
  489. package/Switch/Switch.js.map +1 -1
  490. package/Switch/Switch.stories.d.ts +1 -1
  491. package/Switch/Switch.stories.js.map +1 -1
  492. package/Switch/domains/SwitchItemDto.d.ts +1 -1
  493. package/Switch/primitives/SwitchPrimitive.d.ts +10 -6
  494. package/Switch/primitives/SwitchPrimitive.js +4 -3
  495. package/Switch/primitives/SwitchPrimitive.js.map +1 -1
  496. package/Switch/primitives/SwitchPrimitive.stories.d.ts +1 -1
  497. package/Switch/primitives/SwitchPrimitive.stories.js.map +1 -1
  498. package/Table/Table.d.ts +12 -10
  499. package/Table/components/Direction.d.ts +1 -1
  500. package/Tabs/Tabs.d.ts +14 -7
  501. package/Tabs/Tabs.js +32 -11
  502. package/Tabs/Tabs.js.map +1 -1
  503. package/Tabs/Tabs.mdx +27 -0
  504. package/Tabs/Tabs.stories.d.ts +2 -1
  505. package/Tabs/Tabs.stories.js +19 -1
  506. package/Tabs/Tabs.stories.js.map +1 -1
  507. package/Tabs/components/Content.d.ts +1 -1
  508. package/Tabs/components/List.d.ts +2 -2
  509. package/Tabs/components/Tab.d.ts +7 -6
  510. package/Tabs/components/Trigger.d.ts +3 -2
  511. package/Tabs/components/Trigger.js +8 -3
  512. package/Tabs/components/Trigger.js.map +1 -1
  513. package/Tag/Tag.d.ts +8 -7
  514. package/Tag/Tag.stories.d.ts +1 -1
  515. package/Tag/Tag.stories.js.map +1 -1
  516. package/Tags/Tags.d.ts +7 -6
  517. package/Tags/Tags.stories.d.ts +1 -1
  518. package/Tags/Tags.stories.js.map +1 -1
  519. package/Tags/primitives/TagsPrimitive.d.ts +7 -6
  520. package/Tags/primitives/TagsPrimitive.stories.d.ts +1 -1
  521. package/Tags/primitives/TagsPrimitive.stories.js.map +1 -1
  522. package/Text/Text.d.ts +8 -7
  523. package/Text/Text.stories.d.ts +1 -1
  524. package/Text/Text.stories.js.map +1 -1
  525. package/Textarea/Textarea.d.ts +7 -6
  526. package/Textarea/Textarea.stories.d.ts +1 -1
  527. package/Textarea/Textarea.stories.js.map +1 -1
  528. package/Textarea/TextareaPrimitive.d.ts +9 -8
  529. package/Textarea/TextareaPrimitive.stories.d.ts +1 -1
  530. package/Textarea/TextareaPrimitive.stories.js.map +1 -1
  531. package/TimeAgo/TimeAgo.stories.d.ts +1 -1
  532. package/TimeAgo/TimeAgo.stories.js.map +1 -1
  533. package/TimeAgo/getElapsedSeconds.js +3 -3
  534. package/TimeAgo/getElapsedSeconds.js.map +1 -1
  535. package/Toast/Toast.d.ts +7 -6
  536. package/Toast/components/ToastActions.d.ts +7 -6
  537. package/Toast/components/ToastDescription.d.ts +7 -6
  538. package/Toast/components/ToastTitle.d.ts +7 -6
  539. package/Toast/useToast.stories.d.ts +1 -1
  540. package/Toast/useToast.stories.js.map +1 -1
  541. package/Toggle/Toggle.d.ts +7 -6
  542. package/Toggle/Toggle.stories.d.ts +1 -1
  543. package/Toggle/Toggle.stories.js.map +1 -1
  544. package/Toggle/primitives/TogglePrimitive.d.ts +13 -9
  545. package/Toggle/primitives/TogglePrimitive.stories.d.ts +1 -1
  546. package/Toggle/primitives/TogglePrimitive.stories.js.map +1 -1
  547. package/ToggleGroup/ToggleGroup.d.ts +7 -6
  548. package/ToggleGroup/ToggleGroup.stories.d.ts +1 -1
  549. package/ToggleGroup/ToggleGroup.stories.js.map +1 -1
  550. package/ToggleGroup/domains/ToggleGroupItem.d.ts +3 -0
  551. package/ToggleGroup/domains/ToggleGroupItem.js +6 -1
  552. package/ToggleGroup/domains/ToggleGroupItem.js.map +1 -1
  553. package/ToggleGroup/domains/ToggleGroupItemFormatted.d.ts +1 -0
  554. package/ToggleGroup/domains/ToggleGroupItemFormatter.js +2 -1
  555. package/ToggleGroup/domains/ToggleGroupItemFormatter.js.map +1 -1
  556. package/ToggleGroup/domains/ToggleGroupItemParams.d.ts +1 -0
  557. package/ToggleGroup/primitives/ToggleGroupPrimitive.d.ts +13 -9
  558. package/ToggleGroup/primitives/ToggleGroupPrimitive.js +12 -3
  559. package/ToggleGroup/primitives/ToggleGroupPrimitive.js.map +1 -1
  560. package/ToggleGroup/primitives/ToggleGroupPrimitive.stories.d.ts +1 -1
  561. package/ToggleGroup/primitives/ToggleGroupPrimitive.stories.js.map +1 -1
  562. package/Tooltip/Tooltip.d.ts +7 -6
  563. package/Tooltip/Tooltip.stories.d.ts +1 -1
  564. package/Tooltip/Tooltip.stories.js.map +1 -1
  565. package/Tree/Tree.d.ts +7 -6
  566. package/Tree/Tree.stories.d.ts +1 -1
  567. package/Tree/Tree.stories.js.map +1 -1
  568. package/Tree/components/Item.d.ts +7 -6
  569. package/Tree/components/ItemCollapseTrigger.d.ts +7 -6
  570. package/Tree/components/ItemContent.d.ts +8 -6
  571. package/Tree/components/ItemDragHandle.d.ts +7 -6
  572. package/Tree/components/ItemIcon.d.ts +7 -6
  573. package/Tree/components/ItemPlaceholder.d.ts +7 -6
  574. package/Tree/components/ItemSubIndentation.d.ts +7 -6
  575. package/Tree/useTree.js +6 -2
  576. package/Tree/useTree.js.map +1 -1
  577. package/Widget/Widget.d.ts +8 -22
  578. package/Widget/Widget.stories.d.ts +1 -1
  579. package/Widget/Widget.stories.js.map +1 -1
  580. package/Widget/components/Icon.d.ts +7 -6
  581. package/Widget/components/WidgetAction.d.ts +8 -6
  582. package/Widget/components/WidgetContent.d.ts +5 -5
  583. package/exports/admin/ui.d.ts +3 -0
  584. package/exports/admin/ui.js +3 -0
  585. package/hooks/index.d.ts +1 -0
  586. package/hooks/index.js +1 -0
  587. package/hooks/useEscapeScrollLock.d.ts +13 -0
  588. package/hooks/useEscapeScrollLock.js +21 -0
  589. package/hooks/useEscapeScrollLock.js.map +1 -0
  590. package/index.d.ts +8 -0
  591. package/index.js +8 -0
  592. package/package.json +33 -35
  593. package/theme.css +52 -0
  594. package/utils.js +53 -34
  595. package/utils.js.map +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DatePicker/primitives/BirthdayPickerSegments.js","sources":["../../../src/DatePicker/primitives/BirthdayPickerSegments.tsx"],"sourcesContent":["import React from \"react\";\nimport { cn } from \"~/utils.js\";\nimport { type BirthdayParts, type BirthdayStep, pad } from \"../utils/birthdayHelpers.js\";\n\ninterface BirthdayPickerSegmentsProps {\n parts: BirthdayParts;\n activeStep?: BirthdayStep;\n onStepClick?: (step: BirthdayStep) => void;\n}\n\nconst BirthdayPickerSegments = ({\n parts,\n activeStep,\n onStepClick\n}: BirthdayPickerSegmentsProps) => {\n const segments: Array<{ step: BirthdayStep; text: string; filled: boolean }> = [\n { step: \"day\", text: parts.day ? pad(parts.day) : \"DD\", filled: !!parts.day },\n { step: \"month\", text: parts.month ? pad(parts.month) : \"MM\", filled: !!parts.month },\n { step: \"year\", text: parts.year ? String(parts.year) : \"YYYY\", filled: !!parts.year }\n ];\n\n return (\n <span className=\"flex items-center gap-xs tabular-nums whitespace-nowrap\">\n {segments.map((segment, index) => {\n // A filled part takes the input's value colour; an empty one reads as its placeholder.\n const className = cn(\n \"transition-colors\",\n !segment.filled && \"text-neutral-dimmed\",\n activeStep === segment.step && \"text-accent-primary\"\n );\n return (\n <React.Fragment key={segment.step}>\n {index > 0 ? <span className=\"text-neutral-dimmed\">/</span> : null}\n {onStepClick ? (\n <button\n type=\"button\"\n tabIndex={-1}\n data-step={segment.step}\n className={cn(className, \"cursor-pointer outline-none\")}\n onClick={() => onStepClick(segment.step)}\n >\n {segment.text}\n </button>\n ) : (\n <span className={className}>{segment.text}</span>\n )}\n </React.Fragment>\n );\n })}\n </span>\n );\n};\n\nexport { BirthdayPickerSegments };\n"],"names":["BirthdayPickerSegments","parts","activeStep","onStepClick","segments","pad","String","segment","index","className","cn","React"],"mappings":";;;AAUA,MAAMA,yBAAyB,CAAC,EAC5BC,KAAK,EACLC,UAAU,EACVC,WAAW,EACe;IAC1B,MAAMC,WAAyE;QAC3E;YAAE,MAAM;YAAO,MAAMH,MAAM,GAAG,GAAGI,IAAIJ,MAAM,GAAG,IAAI;YAAM,QAAQ,CAAC,CAACA,MAAM,GAAG;QAAC;QAC5E;YAAE,MAAM;YAAS,MAAMA,MAAM,KAAK,GAAGI,IAAIJ,MAAM,KAAK,IAAI;YAAM,QAAQ,CAAC,CAACA,MAAM,KAAK;QAAC;QACpF;YAAE,MAAM;YAAQ,MAAMA,MAAM,IAAI,GAAGK,OAAOL,MAAM,IAAI,IAAI;YAAQ,QAAQ,CAAC,CAACA,MAAM,IAAI;QAAC;KACxF;IAED,OAAO,WAAP,GACI,oBAAC;QAAK,WAAU;OACXG,SAAS,GAAG,CAAC,CAACG,SAASC;QAEpB,MAAMC,YAAYC,GACd,qBACA,CAACH,QAAQ,MAAM,IAAI,uBACnBL,eAAeK,QAAQ,IAAI,IAAI;QAEnC,OAAO,WAAP,GACI,oBAACI,MAAAA,QAAc;YAAC,KAAKJ,QAAQ,IAAI;WAC5BC,QAAQ,IAAI,WAAJ,GAAI,oBAAC;YAAK,WAAU;WAAsB,OAAW,MAC7DL,cAAc,WAAdA,GACG,oBAAC;YACG,MAAK;YACL,UAAU;YACV,aAAWI,QAAQ,IAAI;YACvB,WAAWG,GAAGD,WAAW;YACzB,SAAS,IAAMN,YAAYI,QAAQ,IAAI;WAEtCA,QAAQ,IAAI,kBAGjB,oBAAC;YAAK,WAAWE;WAAYF,QAAQ,IAAI;IAIzD;AAGZ"}
@@ -3,7 +3,7 @@ import { format } from "date-fns";
3
3
  import { Button } from "../../Button/index.js";
4
4
  import { Calendar } from "../../Calendar/index.js";
5
5
  import { PopoverPrimitive } from "../../Popover/index.js";
6
- import { formatDateForDisplay } from "../utils/dateHelpers.js";
6
+ import { formatDateForDisplay, parseDateValue } from "../utils/dateHelpers.js";
7
7
  import { DatePickerTrigger } from "./components/DatePickerTrigger.js";
8
8
  const DateOnlyPicker = ({ value, onChange, placeholder, disabled, size, variant, invalid, weekStartsOn, onOpenChange, className, presets, displayFormat })=>{
9
9
  const [open, setOpen] = useState(false);
@@ -16,7 +16,7 @@ const DateOnlyPicker = ({ value, onChange, placeholder, disabled, size, variant,
16
16
  handleOpenChange(false);
17
17
  };
18
18
  const displayValue = formatDateForDisplay(value, "date", displayFormat);
19
- const selectedDate = value ? new Date(value) : void 0;
19
+ const selectedDate = value ? parseDateValue(value) : void 0;
20
20
  return /*#__PURE__*/ react.createElement("div", {
21
21
  className: className
22
22
  }, /*#__PURE__*/ react.createElement(PopoverPrimitive, {
@@ -1 +1 @@
1
- {"version":3,"file":"DatePicker/primitives/DateOnlyPicker.js","sources":["../../../src/DatePicker/primitives/DateOnlyPicker.tsx"],"sourcesContent":["import React, { useState } from \"react\";\nimport { format } from \"date-fns\";\nimport { Button } from \"~/Button/index.js\";\nimport { Calendar } from \"~/Calendar/index.js\";\nimport { PopoverPrimitive } from \"~/Popover/index.js\";\nimport type { DateOnlyPickerProps } from \"../utils/types.js\";\nimport { formatDateForDisplay } from \"../utils/dateHelpers.js\";\nimport { DatePickerTrigger } from \"./components/DatePickerTrigger.js\";\n\nconst DateOnlyPicker = ({\n value,\n onChange,\n placeholder,\n disabled,\n size,\n variant,\n invalid,\n weekStartsOn,\n onOpenChange,\n className,\n presets,\n displayFormat\n}: DateOnlyPickerProps) => {\n const [open, setOpen] = useState(false);\n\n const handleOpenChange = (isOpen: boolean) => {\n setOpen(isOpen);\n if (onOpenChange) {\n onOpenChange(isOpen);\n }\n };\n\n const handlePresetClick = (computeDate: () => Date) => {\n if (onChange) {\n onChange(format(computeDate(), \"yyyy-MM-dd\"));\n }\n handleOpenChange(false);\n };\n\n const displayValue = formatDateForDisplay(value, \"date\", displayFormat);\n const selectedDate = value ? new Date(value) : undefined;\n\n return (\n <div className={className}>\n <PopoverPrimitive open={open} onOpenChange={handleOpenChange}>\n <DatePickerTrigger\n displayValue={displayValue}\n placeholder={placeholder ?? \"Pick a date\"}\n disabled={disabled}\n size={size}\n variant={variant}\n invalid={invalid}\n />\n <PopoverPrimitive.Content align=\"start\">\n <div className={presets?.length ? \"flex\" : undefined}>\n <Calendar\n mode=\"single\"\n selected={selectedDate}\n onSelect={date => {\n if (onChange) {\n onChange(date ? format(date, \"yyyy-MM-dd\") : undefined);\n }\n handleOpenChange(false);\n }}\n weekStartsOn={weekStartsOn}\n />\n {presets && presets.length > 0 && (\n <div className=\"flex flex-col gap-xs border-l-sm border-neutral-muted p-sm min-w-[130px]\">\n {presets.map(preset => {\n const presetDate = format(preset.value(), \"yyyy-MM-dd\");\n return (\n <Button\n key={preset.label}\n variant={value === presetDate ? \"primary\" : \"ghost\"}\n size=\"sm\"\n text={preset.label}\n onClick={() => handlePresetClick(preset.value)}\n />\n );\n })}\n </div>\n )}\n </div>\n </PopoverPrimitive.Content>\n </PopoverPrimitive>\n </div>\n );\n};\n\nexport { DateOnlyPicker };\n"],"names":["DateOnlyPicker","value","onChange","placeholder","disabled","size","variant","invalid","weekStartsOn","onOpenChange","className","presets","displayFormat","open","setOpen","useState","handleOpenChange","isOpen","handlePresetClick","computeDate","format","displayValue","formatDateForDisplay","selectedDate","Date","undefined","PopoverPrimitive","DatePickerTrigger","Calendar","date","preset","presetDate","Button"],"mappings":";;;;;;;AASA,MAAMA,iBAAiB,CAAC,EACpBC,KAAK,EACLC,QAAQ,EACRC,WAAW,EACXC,QAAQ,EACRC,IAAI,EACJC,OAAO,EACPC,OAAO,EACPC,YAAY,EACZC,YAAY,EACZC,SAAS,EACTC,OAAO,EACPC,aAAa,EACK;IAClB,MAAM,CAACC,MAAMC,QAAQ,GAAGC,SAAS;IAEjC,MAAMC,mBAAmB,CAACC;QACtBH,QAAQG;QACR,IAAIR,cACAA,aAAaQ;IAErB;IAEA,MAAMC,oBAAoB,CAACC;QACvB,IAAIjB,UACAA,SAASkB,OAAOD,eAAe;QAEnCH,iBAAiB;IACrB;IAEA,MAAMK,eAAeC,qBAAqBrB,OAAO,QAAQW;IACzD,MAAMW,eAAetB,QAAQ,IAAIuB,KAAKvB,SAASwB;IAE/C,OAAO,WAAP,GACI,oBAAC;QAAI,WAAWf;qBACZ,oBAACgB,kBAAgBA;QAAC,MAAMb;QAAM,cAAcG;qBACxC,oBAACW,mBAAiBA;QACd,cAAcN;QACd,aAAalB,eAAe;QAC5B,UAAUC;QACV,MAAMC;QACN,SAASC;QACT,SAASC;sBAEb,oBAACmB,iBAAiB,OAAO;QAAC,OAAM;qBAC5B,oBAAC;QAAI,WAAWf,SAAS,SAAS,SAASc;qBACvC,oBAACG,UAAQA;QACL,MAAK;QACL,UAAUL;QACV,UAAUM,CAAAA;YACN,IAAI3B,UACAA,SAAS2B,OAAOT,OAAOS,MAAM,gBAAgBJ;YAEjDT,iBAAiB;QACrB;QACA,cAAcR;QAEjBG,WAAWA,QAAQ,MAAM,GAAG,KAAK,WAAL,GACzB,oBAAC;QAAI,WAAU;OACVA,QAAQ,GAAG,CAACmB,CAAAA;QACT,MAAMC,aAAaX,OAAOU,OAAO,KAAK,IAAI;QAC1C,OAAO,WAAP,GACI,oBAACE,QAAMA;YACH,KAAKF,OAAO,KAAK;YACjB,SAAS7B,UAAU8B,aAAa,YAAY;YAC5C,MAAK;YACL,MAAMD,OAAO,KAAK;YAClB,SAAS,IAAMZ,kBAAkBY,OAAO,KAAK;;IAGzD;AAQhC"}
1
+ {"version":3,"file":"DatePicker/primitives/DateOnlyPicker.js","sources":["../../../src/DatePicker/primitives/DateOnlyPicker.tsx"],"sourcesContent":["import React, { useState } from \"react\";\nimport { format } from \"date-fns\";\nimport { Button } from \"~/Button/index.js\";\nimport { Calendar } from \"~/Calendar/index.js\";\nimport { PopoverPrimitive } from \"~/Popover/index.js\";\nimport type { DateOnlyPickerProps } from \"../utils/types.js\";\nimport { formatDateForDisplay, parseDateValue } from \"../utils/dateHelpers.js\";\nimport { DatePickerTrigger } from \"./components/DatePickerTrigger.js\";\n\nconst DateOnlyPicker = ({\n value,\n onChange,\n placeholder,\n disabled,\n size,\n variant,\n invalid,\n weekStartsOn,\n onOpenChange,\n className,\n presets,\n displayFormat\n}: DateOnlyPickerProps) => {\n const [open, setOpen] = useState(false);\n\n const handleOpenChange = (isOpen: boolean) => {\n setOpen(isOpen);\n if (onOpenChange) {\n onOpenChange(isOpen);\n }\n };\n\n const handlePresetClick = (computeDate: () => Date) => {\n if (onChange) {\n onChange(format(computeDate(), \"yyyy-MM-dd\"));\n }\n handleOpenChange(false);\n };\n\n const displayValue = formatDateForDisplay(value, \"date\", displayFormat);\n const selectedDate = value ? parseDateValue(value) : undefined;\n\n return (\n <div className={className}>\n <PopoverPrimitive open={open} onOpenChange={handleOpenChange}>\n <DatePickerTrigger\n displayValue={displayValue}\n placeholder={placeholder ?? \"Pick a date\"}\n disabled={disabled}\n size={size}\n variant={variant}\n invalid={invalid}\n />\n <PopoverPrimitive.Content align=\"start\">\n <div className={presets?.length ? \"flex\" : undefined}>\n <Calendar\n mode=\"single\"\n selected={selectedDate}\n onSelect={date => {\n if (onChange) {\n onChange(date ? format(date, \"yyyy-MM-dd\") : undefined);\n }\n handleOpenChange(false);\n }}\n weekStartsOn={weekStartsOn}\n />\n {presets && presets.length > 0 && (\n <div className=\"flex flex-col gap-xs border-l-sm border-neutral-muted p-sm min-w-[130px]\">\n {presets.map(preset => {\n const presetDate = format(preset.value(), \"yyyy-MM-dd\");\n return (\n <Button\n key={preset.label}\n variant={value === presetDate ? \"primary\" : \"ghost\"}\n size=\"sm\"\n text={preset.label}\n onClick={() => handlePresetClick(preset.value)}\n />\n );\n })}\n </div>\n )}\n </div>\n </PopoverPrimitive.Content>\n </PopoverPrimitive>\n </div>\n );\n};\n\nexport { DateOnlyPicker };\n"],"names":["DateOnlyPicker","value","onChange","placeholder","disabled","size","variant","invalid","weekStartsOn","onOpenChange","className","presets","displayFormat","open","setOpen","useState","handleOpenChange","isOpen","handlePresetClick","computeDate","format","displayValue","formatDateForDisplay","selectedDate","parseDateValue","undefined","PopoverPrimitive","DatePickerTrigger","Calendar","date","preset","presetDate","Button"],"mappings":";;;;;;;AASA,MAAMA,iBAAiB,CAAC,EACpBC,KAAK,EACLC,QAAQ,EACRC,WAAW,EACXC,QAAQ,EACRC,IAAI,EACJC,OAAO,EACPC,OAAO,EACPC,YAAY,EACZC,YAAY,EACZC,SAAS,EACTC,OAAO,EACPC,aAAa,EACK;IAClB,MAAM,CAACC,MAAMC,QAAQ,GAAGC,SAAS;IAEjC,MAAMC,mBAAmB,CAACC;QACtBH,QAAQG;QACR,IAAIR,cACAA,aAAaQ;IAErB;IAEA,MAAMC,oBAAoB,CAACC;QACvB,IAAIjB,UACAA,SAASkB,OAAOD,eAAe;QAEnCH,iBAAiB;IACrB;IAEA,MAAMK,eAAeC,qBAAqBrB,OAAO,QAAQW;IACzD,MAAMW,eAAetB,QAAQuB,eAAevB,SAASwB;IAErD,OAAO,WAAP,GACI,oBAAC;QAAI,WAAWf;qBACZ,oBAACgB,kBAAgBA;QAAC,MAAMb;QAAM,cAAcG;qBACxC,oBAACW,mBAAiBA;QACd,cAAcN;QACd,aAAalB,eAAe;QAC5B,UAAUC;QACV,MAAMC;QACN,SAASC;QACT,SAASC;sBAEb,oBAACmB,iBAAiB,OAAO;QAAC,OAAM;qBAC5B,oBAAC;QAAI,WAAWf,SAAS,SAAS,SAASc;qBACvC,oBAACG,UAAQA;QACL,MAAK;QACL,UAAUL;QACV,UAAUM,CAAAA;YACN,IAAI3B,UACAA,SAAS2B,OAAOT,OAAOS,MAAM,gBAAgBJ;YAEjDT,iBAAiB;QACrB;QACA,cAAcR;QAEjBG,WAAWA,QAAQ,MAAM,GAAG,KAAK,WAAL,GACzB,oBAAC;QAAI,WAAU;OACVA,QAAQ,GAAG,CAACmB,CAAAA;QACT,MAAMC,aAAaX,OAAOU,OAAO,KAAK,IAAI;QAC1C,OAAO,WAAP,GACI,oBAACE,QAAMA;YACH,KAAKF,OAAO,KAAK;YACjB,SAAS7B,UAAU8B,aAAa,YAAY;YAC5C,MAAK;YACL,MAAMD,OAAO,KAAK;YAClB,SAAS,IAAMZ,kBAAkBY,OAAO,KAAK;;IAGzD;AAQhC"}
@@ -1,20 +1,21 @@
1
1
  import React from "react";
2
2
  import type { DatePickerPrimitiveProps } from "../utils/types.js";
3
- declare const DatePickerPrimitive: ((props: DatePickerPrimitiveProps) => React.JSX.Element) & {
4
- original: (props: DatePickerPrimitiveProps) => React.JSX.Element;
3
+ declare const DecoratableDatePickerPrimitive: (props: DatePickerPrimitiveProps) => React.JSX.Element;
4
+ declare const DatePickerPrimitive: typeof DecoratableDatePickerPrimitive & {
5
+ original: typeof DecoratableDatePickerPrimitive;
5
6
  originalName: string;
6
7
  displayName: string;
7
8
  } & {
8
- original: ((props: DatePickerPrimitiveProps) => React.JSX.Element) & {
9
- original: (props: DatePickerPrimitiveProps) => React.JSX.Element;
9
+ original: typeof DecoratableDatePickerPrimitive & {
10
+ original: typeof DecoratableDatePickerPrimitive;
10
11
  originalName: string;
11
12
  displayName: string;
12
13
  };
13
14
  originalName: string;
14
15
  displayName: string;
15
16
  } & {
16
- createDecorator: (decorator: import("@webiny/react-composition/types.js").ComponentDecorator<((props: DatePickerPrimitiveProps) => React.JSX.Element) & {
17
- original: (props: DatePickerPrimitiveProps) => React.JSX.Element;
17
+ createDecorator: (decorator: import("@webiny/react-composition/types.js").ComponentDecorator<typeof DecoratableDatePickerPrimitive & {
18
+ original: typeof DecoratableDatePickerPrimitive;
18
19
  originalName: string;
19
20
  displayName: string;
20
21
  }>) => (props: unknown) => React.JSX.Element;
@@ -1,6 +1,7 @@
1
1
  import react from "react";
2
2
  import { makeDecoratable } from "../../utils.js";
3
3
  import { DateOnlyPicker } from "./DateOnlyPicker.js";
4
+ import { BirthdayPicker } from "./BirthdayPicker.js";
4
5
  import { TimeOnlyPicker } from "./TimeOnlyPicker.js";
5
6
  import { DateTimePicker } from "./DateTimePicker.js";
6
7
  import { MonthPicker } from "./MonthPicker.js";
@@ -14,6 +15,8 @@ const DecoratableDatePickerPrimitive = (props)=>{
14
15
  switch(props.type){
15
16
  case "date":
16
17
  return /*#__PURE__*/ react.createElement(DateOnlyPicker, props);
18
+ case "birthday":
19
+ return /*#__PURE__*/ react.createElement(BirthdayPicker, props);
17
20
  case "time":
18
21
  return /*#__PURE__*/ react.createElement(TimeOnlyPicker, props);
19
22
  case "dateTimeLocal":
@@ -1 +1 @@
1
- {"version":3,"file":"DatePicker/primitives/DatePickerPrimitive.js","sources":["../../../src/DatePicker/primitives/DatePickerPrimitive.tsx"],"sourcesContent":["import React from \"react\";\nimport { makeDecoratable } from \"~/utils.js\";\nimport type { DatePickerPrimitiveProps } from \"../utils/types.js\";\nimport { DateOnlyPicker } from \"./DateOnlyPicker.js\";\nimport { TimeOnlyPicker } from \"./TimeOnlyPicker.js\";\nimport { DateTimePicker } from \"./DateTimePicker.js\";\nimport { MonthPicker } from \"./MonthPicker.js\";\nimport { WeekPicker } from \"./WeekPicker.js\";\nimport { YearPicker } from \"./YearPicker.js\";\nimport { DateRangePicker } from \"./DateRangePicker.js\";\nimport { MultipleDatesPicker } from \"./MultipleDatesPicker.js\";\nimport { MultipleMonthsPicker } from \"./MultipleMonthsPicker.js\";\nimport { MultipleYearsPicker } from \"./MultipleYearsPicker.js\";\n\nconst DecoratableDatePickerPrimitive = (props: DatePickerPrimitiveProps) => {\n switch (props.type) {\n case \"date\":\n return <DateOnlyPicker {...props} />;\n case \"time\":\n return <TimeOnlyPicker {...props} />;\n case \"dateTimeLocal\":\n return <DateTimePicker {...props} withTimezone={false} />;\n case \"dateTimeTz\":\n return <DateTimePicker {...props} withTimezone={true} />;\n case \"month\":\n return <MonthPicker {...props} />;\n case \"week\":\n return <WeekPicker {...props} />;\n case \"year\":\n return <YearPicker {...props} />;\n case \"dateRange\":\n return <DateRangePicker {...props} />;\n case \"multipleDates\":\n return <MultipleDatesPicker {...props} />;\n case \"multipleMonths\":\n return <MultipleMonthsPicker {...props} />;\n case \"multipleYears\":\n return <MultipleYearsPicker {...props} />;\n }\n};\n\nconst DatePickerPrimitive = makeDecoratable(\"DatePickerPrimitive\", DecoratableDatePickerPrimitive);\n\nexport { DatePickerPrimitive, type DatePickerPrimitiveProps };\n"],"names":["DecoratableDatePickerPrimitive","props","DateOnlyPicker","TimeOnlyPicker","DateTimePicker","MonthPicker","WeekPicker","YearPicker","DateRangePicker","MultipleDatesPicker","MultipleMonthsPicker","MultipleYearsPicker","DatePickerPrimitive","makeDecoratable"],"mappings":";;;;;;;;;;;;AAcA,MAAMA,iCAAiC,CAACC;IACpC,OAAQA,MAAM,IAAI;QACd,KAAK;YACD,OAAO,WAAP,GAAO,oBAACC,gBAAmBD;QAC/B,KAAK;YACD,OAAO,WAAP,GAAO,oBAACE,gBAAmBF;QAC/B,KAAK;YACD,OAAO,WAAP,GAAO,oBAACG,gBAAcA;gBAAE,GAAGH,KAAK;gBAAE,cAAc;;QACpD,KAAK;YACD,OAAO,WAAP,GAAO,oBAACG,gBAAcA;gBAAE,GAAGH,KAAK;gBAAE,cAAc;;QACpD,KAAK;YACD,OAAO,WAAP,GAAO,oBAACI,aAAgBJ;QAC5B,KAAK;YACD,OAAO,WAAP,GAAO,oBAACK,YAAeL;QAC3B,KAAK;YACD,OAAO,WAAP,GAAO,oBAACM,YAAeN;QAC3B,KAAK;YACD,OAAO,WAAP,GAAO,oBAACO,iBAAoBP;QAChC,KAAK;YACD,OAAO,WAAP,GAAO,oBAACQ,qBAAwBR;QACpC,KAAK;YACD,OAAO,WAAP,GAAO,oBAACS,sBAAyBT;QACrC,KAAK;YACD,OAAO,WAAP,GAAO,oBAACU,qBAAwBV;IACxC;AACJ;AAEA,MAAMW,sBAAsBC,gBAAgB,uBAAuBb"}
1
+ {"version":3,"file":"DatePicker/primitives/DatePickerPrimitive.js","sources":["../../../src/DatePicker/primitives/DatePickerPrimitive.tsx"],"sourcesContent":["import React from \"react\";\nimport { makeDecoratable } from \"~/utils.js\";\nimport type { DatePickerPrimitiveProps } from \"../utils/types.js\";\nimport { DateOnlyPicker } from \"./DateOnlyPicker.js\";\nimport { BirthdayPicker } from \"./BirthdayPicker.js\";\nimport { TimeOnlyPicker } from \"./TimeOnlyPicker.js\";\nimport { DateTimePicker } from \"./DateTimePicker.js\";\nimport { MonthPicker } from \"./MonthPicker.js\";\nimport { WeekPicker } from \"./WeekPicker.js\";\nimport { YearPicker } from \"./YearPicker.js\";\nimport { DateRangePicker } from \"./DateRangePicker.js\";\nimport { MultipleDatesPicker } from \"./MultipleDatesPicker.js\";\nimport { MultipleMonthsPicker } from \"./MultipleMonthsPicker.js\";\nimport { MultipleYearsPicker } from \"./MultipleYearsPicker.js\";\n\nconst DecoratableDatePickerPrimitive = (props: DatePickerPrimitiveProps) => {\n switch (props.type) {\n case \"date\":\n return <DateOnlyPicker {...props} />;\n case \"birthday\":\n return <BirthdayPicker {...props} />;\n case \"time\":\n return <TimeOnlyPicker {...props} />;\n case \"dateTimeLocal\":\n return <DateTimePicker {...props} withTimezone={false} />;\n case \"dateTimeTz\":\n return <DateTimePicker {...props} withTimezone={true} />;\n case \"month\":\n return <MonthPicker {...props} />;\n case \"week\":\n return <WeekPicker {...props} />;\n case \"year\":\n return <YearPicker {...props} />;\n case \"dateRange\":\n return <DateRangePicker {...props} />;\n case \"multipleDates\":\n return <MultipleDatesPicker {...props} />;\n case \"multipleMonths\":\n return <MultipleMonthsPicker {...props} />;\n case \"multipleYears\":\n return <MultipleYearsPicker {...props} />;\n }\n};\n\nconst DatePickerPrimitive = makeDecoratable(\"DatePickerPrimitive\", DecoratableDatePickerPrimitive);\n\nexport { DatePickerPrimitive, type DatePickerPrimitiveProps };\n"],"names":["DecoratableDatePickerPrimitive","props","DateOnlyPicker","BirthdayPicker","TimeOnlyPicker","DateTimePicker","MonthPicker","WeekPicker","YearPicker","DateRangePicker","MultipleDatesPicker","MultipleMonthsPicker","MultipleYearsPicker","DatePickerPrimitive","makeDecoratable"],"mappings":";;;;;;;;;;;;;AAeA,MAAMA,iCAAiC,CAACC;IACpC,OAAQA,MAAM,IAAI;QACd,KAAK;YACD,OAAO,WAAP,GAAO,oBAACC,gBAAmBD;QAC/B,KAAK;YACD,OAAO,WAAP,GAAO,oBAACE,gBAAmBF;QAC/B,KAAK;YACD,OAAO,WAAP,GAAO,oBAACG,gBAAmBH;QAC/B,KAAK;YACD,OAAO,WAAP,GAAO,oBAACI,gBAAcA;gBAAE,GAAGJ,KAAK;gBAAE,cAAc;;QACpD,KAAK;YACD,OAAO,WAAP,GAAO,oBAACI,gBAAcA;gBAAE,GAAGJ,KAAK;gBAAE,cAAc;;QACpD,KAAK;YACD,OAAO,WAAP,GAAO,oBAACK,aAAgBL;QAC5B,KAAK;YACD,OAAO,WAAP,GAAO,oBAACM,YAAeN;QAC3B,KAAK;YACD,OAAO,WAAP,GAAO,oBAACO,YAAeP;QAC3B,KAAK;YACD,OAAO,WAAP,GAAO,oBAACQ,iBAAoBR;QAChC,KAAK;YACD,OAAO,WAAP,GAAO,oBAACS,qBAAwBT;QACpC,KAAK;YACD,OAAO,WAAP,GAAO,oBAACU,sBAAyBV;QACrC,KAAK;YACD,OAAO,WAAP,GAAO,oBAACW,qBAAwBX;IACxC;AACJ;AAEA,MAAMY,sBAAsBC,gBAAgB,uBAAuBd"}
@@ -2,7 +2,7 @@ import react, { useState } from "react";
2
2
  import { format } from "date-fns";
3
3
  import { Calendar } from "../../Calendar/index.js";
4
4
  import { PopoverPrimitive } from "../../Popover/index.js";
5
- import { formatDateForDisplay } from "../utils/dateHelpers.js";
5
+ import { formatDateForDisplay, parseDateValue } from "../utils/dateHelpers.js";
6
6
  import { DatePickerTrigger } from "./components/DatePickerTrigger.js";
7
7
  const toDateStr = (d)=>format(d, "yyyy-MM-dd");
8
8
  const DateRangePicker = ({ value, onChange, placeholder, disabled, size, variant, invalid, weekStartsOn, onOpenChange, className, displayFormat })=>{
@@ -19,8 +19,8 @@ const DateRangePicker = ({ value, onChange, placeholder, disabled, size, variant
19
19
  }) : onChange(void 0);
20
20
  };
21
21
  const selected = value?.from ? {
22
- from: new Date(value.from),
23
- to: value.to ? new Date(value.to) : void 0
22
+ from: parseDateValue(value.from),
23
+ to: value.to ? parseDateValue(value.to) : void 0
24
24
  } : void 0;
25
25
  return /*#__PURE__*/ react.createElement("div", {
26
26
  className: className
@@ -1 +1 @@
1
- {"version":3,"file":"DatePicker/primitives/DateRangePicker.js","sources":["../../../src/DatePicker/primitives/DateRangePicker.tsx"],"sourcesContent":["import React, { useState } from \"react\";\nimport { format } from \"date-fns\";\nimport type { DateRange } from \"react-day-picker\";\nimport { Calendar } from \"~/Calendar/index.js\";\nimport { PopoverPrimitive } from \"~/Popover/index.js\";\nimport type { DateRangePickerProps } from \"../utils/types.js\";\nimport { formatDateForDisplay } from \"../utils/dateHelpers.js\";\nimport { DatePickerTrigger } from \"./components/DatePickerTrigger.js\";\n\nconst toDateStr = (d: Date) => format(d, \"yyyy-MM-dd\");\n\nconst DateRangePicker = ({\n value,\n onChange,\n placeholder,\n disabled,\n size,\n variant,\n invalid,\n weekStartsOn,\n onOpenChange,\n className,\n displayFormat\n}: DateRangePickerProps) => {\n const [open, setOpen] = useState(false);\n\n const handleOpenChange = (isOpen: boolean) => {\n setOpen(isOpen);\n if (onOpenChange) {\n onOpenChange(isOpen);\n }\n };\n\n const displayValue = formatDateForDisplay(value, \"dateRange\", displayFormat);\n\n const handleRangeSelect = (range: DateRange | undefined) => {\n if (onChange) {\n if (range?.from) {\n onChange({\n from: toDateStr(range.from),\n to: range.to ? toDateStr(range.to) : undefined\n });\n } else {\n onChange(undefined);\n }\n }\n };\n\n const selected: DateRange | undefined = value?.from\n ? { from: new Date(value.from), to: value.to ? new Date(value.to) : undefined }\n : undefined;\n\n return (\n <div className={className}>\n <PopoverPrimitive open={open} onOpenChange={handleOpenChange}>\n <DatePickerTrigger\n displayValue={displayValue}\n placeholder={placeholder ?? \"Pick a date range\"}\n disabled={disabled}\n size={size}\n variant={variant}\n invalid={invalid}\n />\n <PopoverPrimitive.Content align=\"start\">\n <Calendar\n mode=\"range\"\n selected={selected}\n onSelect={handleRangeSelect}\n numberOfMonths={2}\n weekStartsOn={weekStartsOn}\n />\n </PopoverPrimitive.Content>\n </PopoverPrimitive>\n </div>\n );\n};\n\nexport { DateRangePicker };\n"],"names":["toDateStr","d","format","DateRangePicker","value","onChange","placeholder","disabled","size","variant","invalid","weekStartsOn","onOpenChange","className","displayFormat","open","setOpen","useState","handleOpenChange","isOpen","displayValue","formatDateForDisplay","handleRangeSelect","range","undefined","selected","Date","PopoverPrimitive","DatePickerTrigger","Calendar"],"mappings":";;;;;;AASA,MAAMA,YAAY,CAACC,IAAYC,OAAOD,GAAG;AAEzC,MAAME,kBAAkB,CAAC,EACrBC,KAAK,EACLC,QAAQ,EACRC,WAAW,EACXC,QAAQ,EACRC,IAAI,EACJC,OAAO,EACPC,OAAO,EACPC,YAAY,EACZC,YAAY,EACZC,SAAS,EACTC,aAAa,EACM;IACnB,MAAM,CAACC,MAAMC,QAAQ,GAAGC,SAAS;IAEjC,MAAMC,mBAAmB,CAACC;QACtBH,QAAQG;QACR,IAAIP,cACAA,aAAaO;IAErB;IAEA,MAAMC,eAAeC,qBAAqBjB,OAAO,aAAaU;IAE9D,MAAMQ,oBAAoB,CAACC;QACvB,IAAIlB,UACIkB,OAAO,OACPlB,SAAS;YACL,MAAML,UAAUuB,MAAM,IAAI;YAC1B,IAAIA,MAAM,EAAE,GAAGvB,UAAUuB,MAAM,EAAE,IAAIC;QACzC,KAEAnB,SAASmB;IAGrB;IAEA,MAAMC,WAAkCrB,OAAO,OACzC;QAAE,MAAM,IAAIsB,KAAKtB,MAAM,IAAI;QAAG,IAAIA,MAAM,EAAE,GAAG,IAAIsB,KAAKtB,MAAM,EAAE,IAAIoB;IAAU,IAC5EA;IAEN,OAAO,WAAP,GACI,oBAAC;QAAI,WAAWX;qBACZ,oBAACc,kBAAgBA;QAAC,MAAMZ;QAAM,cAAcG;qBACxC,oBAACU,mBAAiBA;QACd,cAAcR;QACd,aAAad,eAAe;QAC5B,UAAUC;QACV,MAAMC;QACN,SAASC;QACT,SAASC;sBAEb,oBAACiB,iBAAiB,OAAO;QAAC,OAAM;qBAC5B,oBAACE,UAAQA;QACL,MAAK;QACL,UAAUJ;QACV,UAAUH;QACV,gBAAgB;QAChB,cAAcX;;AAMtC"}
1
+ {"version":3,"file":"DatePicker/primitives/DateRangePicker.js","sources":["../../../src/DatePicker/primitives/DateRangePicker.tsx"],"sourcesContent":["import React, { useState } from \"react\";\nimport { format } from \"date-fns\";\nimport type { DateRange } from \"react-day-picker\";\nimport { Calendar } from \"~/Calendar/index.js\";\nimport { PopoverPrimitive } from \"~/Popover/index.js\";\nimport type { DateRangePickerProps } from \"../utils/types.js\";\nimport { formatDateForDisplay, parseDateValue } from \"../utils/dateHelpers.js\";\nimport { DatePickerTrigger } from \"./components/DatePickerTrigger.js\";\n\nconst toDateStr = (d: Date) => format(d, \"yyyy-MM-dd\");\n\nconst DateRangePicker = ({\n value,\n onChange,\n placeholder,\n disabled,\n size,\n variant,\n invalid,\n weekStartsOn,\n onOpenChange,\n className,\n displayFormat\n}: DateRangePickerProps) => {\n const [open, setOpen] = useState(false);\n\n const handleOpenChange = (isOpen: boolean) => {\n setOpen(isOpen);\n if (onOpenChange) {\n onOpenChange(isOpen);\n }\n };\n\n const displayValue = formatDateForDisplay(value, \"dateRange\", displayFormat);\n\n const handleRangeSelect = (range: DateRange | undefined) => {\n if (onChange) {\n if (range?.from) {\n onChange({\n from: toDateStr(range.from),\n to: range.to ? toDateStr(range.to) : undefined\n });\n } else {\n onChange(undefined);\n }\n }\n };\n\n const selected: DateRange | undefined = value?.from\n ? { from: parseDateValue(value.from), to: value.to ? parseDateValue(value.to) : undefined }\n : undefined;\n\n return (\n <div className={className}>\n <PopoverPrimitive open={open} onOpenChange={handleOpenChange}>\n <DatePickerTrigger\n displayValue={displayValue}\n placeholder={placeholder ?? \"Pick a date range\"}\n disabled={disabled}\n size={size}\n variant={variant}\n invalid={invalid}\n />\n <PopoverPrimitive.Content align=\"start\">\n <Calendar\n mode=\"range\"\n selected={selected}\n onSelect={handleRangeSelect}\n numberOfMonths={2}\n weekStartsOn={weekStartsOn}\n />\n </PopoverPrimitive.Content>\n </PopoverPrimitive>\n </div>\n );\n};\n\nexport { DateRangePicker };\n"],"names":["toDateStr","d","format","DateRangePicker","value","onChange","placeholder","disabled","size","variant","invalid","weekStartsOn","onOpenChange","className","displayFormat","open","setOpen","useState","handleOpenChange","isOpen","displayValue","formatDateForDisplay","handleRangeSelect","range","undefined","selected","parseDateValue","PopoverPrimitive","DatePickerTrigger","Calendar"],"mappings":";;;;;;AASA,MAAMA,YAAY,CAACC,IAAYC,OAAOD,GAAG;AAEzC,MAAME,kBAAkB,CAAC,EACrBC,KAAK,EACLC,QAAQ,EACRC,WAAW,EACXC,QAAQ,EACRC,IAAI,EACJC,OAAO,EACPC,OAAO,EACPC,YAAY,EACZC,YAAY,EACZC,SAAS,EACTC,aAAa,EACM;IACnB,MAAM,CAACC,MAAMC,QAAQ,GAAGC,SAAS;IAEjC,MAAMC,mBAAmB,CAACC;QACtBH,QAAQG;QACR,IAAIP,cACAA,aAAaO;IAErB;IAEA,MAAMC,eAAeC,qBAAqBjB,OAAO,aAAaU;IAE9D,MAAMQ,oBAAoB,CAACC;QACvB,IAAIlB,UACIkB,OAAO,OACPlB,SAAS;YACL,MAAML,UAAUuB,MAAM,IAAI;YAC1B,IAAIA,MAAM,EAAE,GAAGvB,UAAUuB,MAAM,EAAE,IAAIC;QACzC,KAEAnB,SAASmB;IAGrB;IAEA,MAAMC,WAAkCrB,OAAO,OACzC;QAAE,MAAMsB,eAAetB,MAAM,IAAI;QAAG,IAAIA,MAAM,EAAE,GAAGsB,eAAetB,MAAM,EAAE,IAAIoB;IAAU,IACxFA;IAEN,OAAO,WAAP,GACI,oBAAC;QAAI,WAAWX;qBACZ,oBAACc,kBAAgBA;QAAC,MAAMZ;QAAM,cAAcG;qBACxC,oBAACU,mBAAiBA;QACd,cAAcR;QACd,aAAad,eAAe;QAC5B,UAAUC;QACV,MAAMC;QACN,SAASC;QACT,SAASC;sBAEb,oBAACiB,iBAAiB,OAAO;QAAC,OAAM;qBAC5B,oBAACE,UAAQA;QACL,MAAK;QACL,UAAUJ;QACV,UAAUH;QACV,gBAAgB;QAChB,cAAcX;;AAMtC"}
@@ -3,5 +3,5 @@ import type { DateTimeLocalPickerProps, DateTimeTzPickerProps } from "../utils/t
3
3
  type DateTimePickerInternalProps = (DateTimeLocalPickerProps | DateTimeTzPickerProps) & {
4
4
  withTimezone: boolean;
5
5
  };
6
- declare const DateTimePicker: ({ value, onChange, placeholder, disabled, size, variant, invalid, weekStartsOn, onOpenChange, className, withTimezone, displayFormat }: DateTimePickerInternalProps) => React.JSX.Element;
6
+ declare const DateTimePicker: ({ value, onChange, placeholder, disabled, size, variant, invalid, weekStartsOn, onOpenChange, className, withTimezone, displayFormat, minDate, maxDate }: DateTimePickerInternalProps) => React.JSX.Element;
7
7
  export { DateTimePicker };
@@ -1,53 +1,49 @@
1
1
  import react, { useState } from "react";
2
- import { format } from "date-fns";
3
2
  import { UTC_TIMEZONES } from "@webiny/utils";
4
3
  import { Calendar } from "../../Calendar/index.js";
5
4
  import { PopoverPrimitive } from "../../Popover/index.js";
6
5
  import { SelectPrimitive } from "../../Select/index.js";
7
6
  import { extractTimezone, formatDateForDisplay, formatTimeValue, getLocalTimezone, parseTimeValue, toIsoWithTz } from "../utils/dateHelpers.js";
7
+ import { parseToDate, utcToTimezoneDate } from "../utils/timezoneHelpers.js";
8
8
  import { DatePickerTrigger } from "./components/DatePickerTrigger.js";
9
9
  import { TimePicker } from "./components/TimePicker.js";
10
10
  const timezoneOptions = UTC_TIMEZONES.map((tz)=>({
11
11
  value: tz.value,
12
12
  label: tz.label
13
13
  }));
14
- function parseToDate(value) {
15
- if (!value) return;
16
- const d = new Date(value);
17
- if (Number.isNaN(d.getTime())) return;
18
- return d;
19
- }
20
- const DateTimePicker = ({ value, onChange, placeholder, disabled, size, variant, invalid, weekStartsOn, onOpenChange, className, withTimezone, displayFormat })=>{
14
+ const DateTimePicker = ({ value, onChange, placeholder, disabled, size, variant, invalid, weekStartsOn, onOpenChange, className, withTimezone, displayFormat, minDate, maxDate })=>{
21
15
  const [open, setOpen] = useState(false);
22
16
  const existingTz = withTimezone && value ? extractTimezone(value) : void 0;
23
- const [timezone, setTimezone] = useState(existingTz || getLocalTimezone());
17
+ const [selectedTimezone, setSelectedTimezone] = useState(getLocalTimezone());
18
+ const timezone = existingTz || selectedTimezone;
24
19
  const handleOpenChange = (isOpen)=>{
25
20
  setOpen(isOpen);
26
21
  if (onOpenChange) onOpenChange(isOpen);
27
22
  };
28
23
  const currentDate = parseToDate(value);
29
- const displayValue = withTimezone ? formatDateForDisplay(value, "dateTimeTz", displayFormat) : formatDateForDisplay(value, "dateTimeLocal", displayFormat);
30
- const timeValue = currentDate ? formatTimeValue(currentDate) : "";
24
+ const displayDate = withTimezone && currentDate ? utcToTimezoneDate(currentDate, timezone) : currentDate;
25
+ const displayValue = withTimezone ? displayDate ? formatDateForDisplay(toIsoWithTz(displayDate, timezone), "dateTimeTz", displayFormat) : void 0 : formatDateForDisplay(value, "dateTimeLocal", displayFormat);
26
+ const timeValue = displayDate ? formatTimeValue(displayDate) : "";
31
27
  const emitChange = (date, tz)=>{
32
28
  if (!onChange) return;
33
- withTimezone ? onChange(toIsoWithTz(date, tz || timezone)) : onChange(format(date, "yyyy-MM-dd'T'HH:mm:ss"));
29
+ withTimezone ? onChange(toIsoWithTz(date, tz || timezone)) : onChange(date.toISOString());
34
30
  };
35
31
  const handleDateSelect = (date)=>{
36
32
  if (!date) return;
37
- if (currentDate) date.setHours(currentDate.getHours(), currentDate.getMinutes());
33
+ if (displayDate) date.setHours(displayDate.getHours(), displayDate.getMinutes());
38
34
  emitChange(date);
39
35
  };
40
36
  const handleTimeChange = (time)=>{
41
37
  if (!time) return;
42
38
  const parsed = parseTimeValue(time);
43
39
  if (!parsed) return;
44
- const base = currentDate ? new Date(currentDate) : new Date();
40
+ const base = displayDate ? new Date(displayDate) : new Date();
45
41
  base.setHours(parsed.hours, parsed.minutes, 0, 0);
46
42
  emitChange(base);
47
43
  };
48
44
  const handleTimezoneChange = (tz)=>{
49
- setTimezone(tz);
50
- if (currentDate) emitChange(currentDate, tz);
45
+ setSelectedTimezone(tz);
46
+ if (displayDate) emitChange(displayDate, tz);
51
47
  };
52
48
  return /*#__PURE__*/ react.createElement("div", {
53
49
  className: className
@@ -67,9 +63,21 @@ const DateTimePicker = ({ value, onChange, placeholder, disabled, size, variant,
67
63
  className: "flex flex-col gap-sm"
68
64
  }, /*#__PURE__*/ react.createElement(Calendar, {
69
65
  mode: "single",
70
- selected: currentDate,
66
+ selected: displayDate,
71
67
  onSelect: handleDateSelect,
72
- weekStartsOn: weekStartsOn
68
+ weekStartsOn: weekStartsOn,
69
+ disabled: [
70
+ ...minDate ? [
71
+ {
72
+ before: minDate
73
+ }
74
+ ] : [],
75
+ ...maxDate ? [
76
+ {
77
+ after: maxDate
78
+ }
79
+ ] : []
80
+ ]
73
81
  }), /*#__PURE__*/ react.createElement("div", {
74
82
  className: "flex gap-sm px-md pb-md"
75
83
  }, /*#__PURE__*/ react.createElement("div", {
@@ -1 +1 @@
1
- {"version":3,"file":"DatePicker/primitives/DateTimePicker.js","sources":["../../../src/DatePicker/primitives/DateTimePicker.tsx"],"sourcesContent":["import React, { useState } from \"react\";\nimport { format } from \"date-fns\";\nimport { UTC_TIMEZONES } from \"@webiny/utils\";\nimport { Calendar } from \"~/Calendar/index.js\";\nimport { PopoverPrimitive } from \"~/Popover/index.js\";\nimport { SelectPrimitive } from \"~/Select/index.js\";\nimport type { DateTimeLocalPickerProps, DateTimeTzPickerProps } from \"../utils/types.js\";\nimport {\n extractTimezone,\n formatDateForDisplay,\n formatTimeValue,\n getLocalTimezone,\n parseTimeValue,\n toIsoWithTz\n} from \"../utils/dateHelpers.js\";\nimport { DatePickerTrigger } from \"./components/DatePickerTrigger.js\";\nimport { TimePicker } from \"./components/TimePicker.js\";\n\ntype DateTimePickerInternalProps = (DateTimeLocalPickerProps | DateTimeTzPickerProps) & {\n withTimezone: boolean;\n};\n\nconst timezoneOptions = UTC_TIMEZONES.map(tz => ({ value: tz.value, label: tz.label }));\n\nfunction parseToDate(value: string | undefined): Date | undefined {\n if (!value) {\n return undefined;\n }\n const d = new Date(value);\n if (Number.isNaN(d.getTime())) {\n return undefined;\n }\n return d;\n}\n\nconst DateTimePicker = ({\n value,\n onChange,\n placeholder,\n disabled,\n size,\n variant,\n invalid,\n weekStartsOn,\n onOpenChange,\n className,\n withTimezone,\n displayFormat\n}: DateTimePickerInternalProps) => {\n const [open, setOpen] = useState(false);\n\n const existingTz = withTimezone && value ? extractTimezone(value as string) : undefined;\n const [timezone, setTimezone] = useState(existingTz || getLocalTimezone());\n\n const handleOpenChange = (isOpen: boolean) => {\n setOpen(isOpen);\n if (onOpenChange) {\n onOpenChange(isOpen);\n }\n };\n\n const currentDate = parseToDate(value);\n\n const displayValue = withTimezone\n ? formatDateForDisplay(value, \"dateTimeTz\", displayFormat)\n : formatDateForDisplay(value, \"dateTimeLocal\", displayFormat);\n\n const timeValue = currentDate ? formatTimeValue(currentDate) : \"\";\n\n const emitChange = (date: Date, tz?: string) => {\n if (!onChange) {\n return;\n }\n if (withTimezone) {\n onChange(toIsoWithTz(date, tz || timezone));\n } else {\n onChange(format(date, \"yyyy-MM-dd'T'HH:mm:ss\"));\n }\n };\n\n const handleDateSelect = (date: Date | undefined) => {\n if (!date) {\n return;\n }\n if (currentDate) {\n date.setHours(currentDate.getHours(), currentDate.getMinutes());\n }\n emitChange(date);\n };\n\n const handleTimeChange = (time: string | undefined) => {\n if (!time) {\n return;\n }\n const parsed = parseTimeValue(time);\n if (!parsed) {\n return;\n }\n const base = currentDate ? new Date(currentDate) : new Date();\n base.setHours(parsed.hours, parsed.minutes, 0, 0);\n emitChange(base);\n };\n\n const handleTimezoneChange = (tz: string) => {\n setTimezone(tz);\n if (currentDate) {\n emitChange(currentDate, tz);\n }\n };\n\n return (\n <div className={className}>\n <PopoverPrimitive open={open} onOpenChange={handleOpenChange}>\n <DatePickerTrigger\n displayValue={displayValue}\n placeholder={placeholder ?? \"Pick date & time\"}\n disabled={disabled}\n size={size}\n variant={variant}\n invalid={invalid}\n />\n <PopoverPrimitive.Content align=\"start\">\n <div className=\"flex flex-col gap-sm\">\n <Calendar\n mode=\"single\"\n selected={currentDate}\n onSelect={handleDateSelect}\n weekStartsOn={weekStartsOn}\n />\n <div className=\"flex gap-sm px-md pb-md\">\n <div className=\"flex-1\">\n <TimePicker\n value={timeValue}\n onChange={handleTimeChange}\n disabled={disabled}\n size=\"md\"\n />\n </div>\n {withTimezone && (\n <div className=\"flex-1\">\n <SelectPrimitive\n value={timezone}\n onChange={handleTimezoneChange}\n options={timezoneOptions}\n disabled={disabled}\n size=\"md\"\n />\n </div>\n )}\n </div>\n </div>\n </PopoverPrimitive.Content>\n </PopoverPrimitive>\n </div>\n );\n};\n\nexport { DateTimePicker };\n"],"names":["timezoneOptions","UTC_TIMEZONES","tz","parseToDate","value","d","Date","Number","DateTimePicker","onChange","placeholder","disabled","size","variant","invalid","weekStartsOn","onOpenChange","className","withTimezone","displayFormat","open","setOpen","useState","existingTz","extractTimezone","undefined","timezone","setTimezone","getLocalTimezone","handleOpenChange","isOpen","currentDate","displayValue","formatDateForDisplay","timeValue","formatTimeValue","emitChange","date","toIsoWithTz","format","handleDateSelect","handleTimeChange","time","parsed","parseTimeValue","base","handleTimezoneChange","PopoverPrimitive","DatePickerTrigger","Calendar","TimePicker","SelectPrimitive"],"mappings":";;;;;;;;;AAsBA,MAAMA,kBAAkBC,cAAc,GAAG,CAACC,CAAAA,KAAO;QAAE,OAAOA,GAAG,KAAK;QAAE,OAAOA,GAAG,KAAK;IAAC;AAEpF,SAASC,YAAYC,KAAyB;IAC1C,IAAI,CAACA,OACD;IAEJ,MAAMC,IAAI,IAAIC,KAAKF;IACnB,IAAIG,OAAO,KAAK,CAACF,EAAE,OAAO,KACtB;IAEJ,OAAOA;AACX;AAEA,MAAMG,iBAAiB,CAAC,EACpBJ,KAAK,EACLK,QAAQ,EACRC,WAAW,EACXC,QAAQ,EACRC,IAAI,EACJC,OAAO,EACPC,OAAO,EACPC,YAAY,EACZC,YAAY,EACZC,SAAS,EACTC,YAAY,EACZC,aAAa,EACa;IAC1B,MAAM,CAACC,MAAMC,QAAQ,GAAGC,SAAS;IAEjC,MAAMC,aAAaL,gBAAgBd,QAAQoB,gBAAgBpB,SAAmBqB;IAC9E,MAAM,CAACC,UAAUC,YAAY,GAAGL,SAASC,cAAcK;IAEvD,MAAMC,mBAAmB,CAACC;QACtBT,QAAQS;QACR,IAAId,cACAA,aAAac;IAErB;IAEA,MAAMC,cAAc5B,YAAYC;IAEhC,MAAM4B,eAAed,eACfe,qBAAqB7B,OAAO,cAAce,iBAC1Cc,qBAAqB7B,OAAO,iBAAiBe;IAEnD,MAAMe,YAAYH,cAAcI,gBAAgBJ,eAAe;IAE/D,MAAMK,aAAa,CAACC,MAAYnC;QAC5B,IAAI,CAACO,UACD;QAEAS,eACAT,SAAS6B,YAAYD,MAAMnC,MAAMwB,aAEjCjB,SAAS8B,OAAOF,MAAM;IAE9B;IAEA,MAAMG,mBAAmB,CAACH;QACtB,IAAI,CAACA,MACD;QAEJ,IAAIN,aACAM,KAAK,QAAQ,CAACN,YAAY,QAAQ,IAAIA,YAAY,UAAU;QAEhEK,WAAWC;IACf;IAEA,MAAMI,mBAAmB,CAACC;QACtB,IAAI,CAACA,MACD;QAEJ,MAAMC,SAASC,eAAeF;QAC9B,IAAI,CAACC,QACD;QAEJ,MAAME,OAAOd,cAAc,IAAIzB,KAAKyB,eAAe,IAAIzB;QACvDuC,KAAK,QAAQ,CAACF,OAAO,KAAK,EAAEA,OAAO,OAAO,EAAE,GAAG;QAC/CP,WAAWS;IACf;IAEA,MAAMC,uBAAuB,CAAC5C;QAC1ByB,YAAYzB;QACZ,IAAI6B,aACAK,WAAWL,aAAa7B;IAEhC;IAEA,OAAO,WAAP,GACI,oBAAC;QAAI,WAAWe;qBACZ,oBAAC8B,kBAAgBA;QAAC,MAAM3B;QAAM,cAAcS;qBACxC,oBAACmB,mBAAiBA;QACd,cAAchB;QACd,aAAatB,eAAe;QAC5B,UAAUC;QACV,MAAMC;QACN,SAASC;QACT,SAASC;sBAEb,oBAACiC,iBAAiB,OAAO;QAAC,OAAM;qBAC5B,oBAAC;QAAI,WAAU;qBACX,oBAACE,UAAQA;QACL,MAAK;QACL,UAAUlB;QACV,UAAUS;QACV,cAAczB;sBAElB,oBAAC;QAAI,WAAU;qBACX,oBAAC;QAAI,WAAU;qBACX,oBAACmC,YAAUA;QACP,OAAOhB;QACP,UAAUO;QACV,UAAU9B;QACV,MAAK;SAGZO,gBAAgB,WAAhBA,GACG,oBAAC;QAAI,WAAU;qBACX,oBAACiC,iBAAeA;QACZ,OAAOzB;QACP,UAAUoB;QACV,SAAS9C;QACT,UAAUW;QACV,MAAK;;AAU7C"}
1
+ {"version":3,"file":"DatePicker/primitives/DateTimePicker.js","sources":["../../../src/DatePicker/primitives/DateTimePicker.tsx"],"sourcesContent":["import React, { useState } from \"react\";\nimport { UTC_TIMEZONES } from \"@webiny/utils\";\nimport { Calendar } from \"~/Calendar/index.js\";\nimport { PopoverPrimitive } from \"~/Popover/index.js\";\nimport { SelectPrimitive } from \"~/Select/index.js\";\nimport type { DateTimeLocalPickerProps, DateTimeTzPickerProps } from \"../utils/types.js\";\nimport {\n extractTimezone,\n formatDateForDisplay,\n formatTimeValue,\n getLocalTimezone,\n parseTimeValue,\n toIsoWithTz\n} from \"../utils/dateHelpers.js\";\nimport { parseToDate, utcToTimezoneDate } from \"../utils/timezoneHelpers.js\";\nimport { DatePickerTrigger } from \"./components/DatePickerTrigger.js\";\nimport { TimePicker } from \"./components/TimePicker.js\";\n\ntype DateTimePickerInternalProps = (DateTimeLocalPickerProps | DateTimeTzPickerProps) & {\n withTimezone: boolean;\n};\n\nconst timezoneOptions = UTC_TIMEZONES.map(tz => ({ value: tz.value, label: tz.label }));\n\nconst DateTimePicker = ({\n value,\n onChange,\n placeholder,\n disabled,\n size,\n variant,\n invalid,\n weekStartsOn,\n onOpenChange,\n className,\n withTimezone,\n displayFormat,\n minDate,\n maxDate\n}: DateTimePickerInternalProps) => {\n const [open, setOpen] = useState(false);\n\n const existingTz = withTimezone && value ? extractTimezone(value) : undefined;\n const [selectedTimezone, setSelectedTimezone] = useState(getLocalTimezone());\n // The value carries its own offset; the selected one applies only until a value exists.\n const timezone = existingTz || selectedTimezone;\n\n const handleOpenChange = (isOpen: boolean) => {\n setOpen(isOpen);\n if (onOpenChange) {\n onOpenChange(isOpen);\n }\n };\n\n const currentDate = parseToDate(value);\n\n const displayDate =\n withTimezone && currentDate ? utcToTimezoneDate(currentDate, timezone) : currentDate;\n\n const displayValue = withTimezone\n ? displayDate\n ? formatDateForDisplay(toIsoWithTz(displayDate, timezone), \"dateTimeTz\", displayFormat)\n : undefined\n : formatDateForDisplay(value, \"dateTimeLocal\", displayFormat);\n\n const timeValue = displayDate ? formatTimeValue(displayDate) : \"\";\n\n const emitChange = (date: Date, tz?: string) => {\n if (!onChange) {\n return;\n }\n if (withTimezone) {\n // Wall time of `date` is the time in the selected timezone: \"2026-05-01T14:30:00+02:00\".\n onChange(toIsoWithTz(date, tz || timezone));\n } else {\n // Absolute instant: \"2026-05-01T12:30:00.000Z\".\n onChange(date.toISOString());\n }\n };\n\n const handleDateSelect = (date: Date | undefined) => {\n if (!date) {\n return;\n }\n if (displayDate) {\n date.setHours(displayDate.getHours(), displayDate.getMinutes());\n }\n emitChange(date);\n };\n\n const handleTimeChange = (time: string | undefined) => {\n if (!time) {\n return;\n }\n const parsed = parseTimeValue(time);\n if (!parsed) {\n return;\n }\n const base = displayDate ? new Date(displayDate) : new Date();\n base.setHours(parsed.hours, parsed.minutes, 0, 0);\n emitChange(base);\n };\n\n const handleTimezoneChange = (tz: string) => {\n setSelectedTimezone(tz);\n // Keep the picked wall time, re-label it with the new offset.\n if (displayDate) {\n emitChange(displayDate, tz);\n }\n };\n\n return (\n <div className={className}>\n <PopoverPrimitive open={open} onOpenChange={handleOpenChange}>\n <DatePickerTrigger\n displayValue={displayValue}\n placeholder={placeholder ?? \"Pick date & time\"}\n disabled={disabled}\n size={size}\n variant={variant}\n invalid={invalid}\n />\n <PopoverPrimitive.Content align=\"start\">\n <div className=\"flex flex-col gap-sm\">\n <Calendar\n mode=\"single\"\n selected={displayDate}\n onSelect={handleDateSelect}\n weekStartsOn={weekStartsOn}\n disabled={[\n ...(minDate ? [{ before: minDate }] : []),\n ...(maxDate ? [{ after: maxDate }] : [])\n ]}\n />\n <div className=\"flex gap-sm px-md pb-md\">\n <div className=\"flex-1\">\n <TimePicker\n value={timeValue}\n onChange={handleTimeChange}\n disabled={disabled}\n size=\"md\"\n />\n </div>\n {withTimezone && (\n <div className=\"flex-1\">\n <SelectPrimitive\n value={timezone}\n onChange={handleTimezoneChange}\n options={timezoneOptions}\n disabled={disabled}\n size=\"md\"\n />\n </div>\n )}\n </div>\n </div>\n </PopoverPrimitive.Content>\n </PopoverPrimitive>\n </div>\n );\n};\n\nexport { DateTimePicker };\n"],"names":["timezoneOptions","UTC_TIMEZONES","tz","DateTimePicker","value","onChange","placeholder","disabled","size","variant","invalid","weekStartsOn","onOpenChange","className","withTimezone","displayFormat","minDate","maxDate","open","setOpen","useState","existingTz","extractTimezone","undefined","selectedTimezone","setSelectedTimezone","getLocalTimezone","timezone","handleOpenChange","isOpen","currentDate","parseToDate","displayDate","utcToTimezoneDate","displayValue","formatDateForDisplay","toIsoWithTz","timeValue","formatTimeValue","emitChange","date","handleDateSelect","handleTimeChange","time","parsed","parseTimeValue","base","Date","handleTimezoneChange","PopoverPrimitive","DatePickerTrigger","Calendar","TimePicker","SelectPrimitive"],"mappings":";;;;;;;;;AAsBA,MAAMA,kBAAkBC,cAAc,GAAG,CAACC,CAAAA,KAAO;QAAE,OAAOA,GAAG,KAAK;QAAE,OAAOA,GAAG,KAAK;IAAC;AAEpF,MAAMC,iBAAiB,CAAC,EACpBC,KAAK,EACLC,QAAQ,EACRC,WAAW,EACXC,QAAQ,EACRC,IAAI,EACJC,OAAO,EACPC,OAAO,EACPC,YAAY,EACZC,YAAY,EACZC,SAAS,EACTC,YAAY,EACZC,aAAa,EACbC,OAAO,EACPC,OAAO,EACmB;IAC1B,MAAM,CAACC,MAAMC,QAAQ,GAAGC,SAAS;IAEjC,MAAMC,aAAaP,gBAAgBV,QAAQkB,gBAAgBlB,SAASmB;IACpE,MAAM,CAACC,kBAAkBC,oBAAoB,GAAGL,SAASM;IAEzD,MAAMC,WAAWN,cAAcG;IAE/B,MAAMI,mBAAmB,CAACC;QACtBV,QAAQU;QACR,IAAIjB,cACAA,aAAaiB;IAErB;IAEA,MAAMC,cAAcC,YAAY3B;IAEhC,MAAM4B,cACFlB,gBAAgBgB,cAAcG,kBAAkBH,aAAaH,YAAYG;IAE7E,MAAMI,eAAepB,eACfkB,cACIG,qBAAqBC,YAAYJ,aAAaL,WAAW,cAAcZ,iBACvEQ,SACJY,qBAAqB/B,OAAO,iBAAiBW;IAEnD,MAAMsB,YAAYL,cAAcM,gBAAgBN,eAAe;IAE/D,MAAMO,aAAa,CAACC,MAAYtC;QAC5B,IAAI,CAACG,UACD;QAEAS,eAEAT,SAAS+B,YAAYI,MAAMtC,MAAMyB,aAGjCtB,SAASmC,KAAK,WAAW;IAEjC;IAEA,MAAMC,mBAAmB,CAACD;QACtB,IAAI,CAACA,MACD;QAEJ,IAAIR,aACAQ,KAAK,QAAQ,CAACR,YAAY,QAAQ,IAAIA,YAAY,UAAU;QAEhEO,WAAWC;IACf;IAEA,MAAME,mBAAmB,CAACC;QACtB,IAAI,CAACA,MACD;QAEJ,MAAMC,SAASC,eAAeF;QAC9B,IAAI,CAACC,QACD;QAEJ,MAAME,OAAOd,cAAc,IAAIe,KAAKf,eAAe,IAAIe;QACvDD,KAAK,QAAQ,CAACF,OAAO,KAAK,EAAEA,OAAO,OAAO,EAAE,GAAG;QAC/CL,WAAWO;IACf;IAEA,MAAME,uBAAuB,CAAC9C;QAC1BuB,oBAAoBvB;QAEpB,IAAI8B,aACAO,WAAWP,aAAa9B;IAEhC;IAEA,OAAO,WAAP,GACI,oBAAC;QAAI,WAAWW;qBACZ,oBAACoC,kBAAgBA;QAAC,MAAM/B;QAAM,cAAcU;qBACxC,oBAACsB,mBAAiBA;QACd,cAAchB;QACd,aAAa5B,eAAe;QAC5B,UAAUC;QACV,MAAMC;QACN,SAASC;QACT,SAASC;sBAEb,oBAACuC,iBAAiB,OAAO;QAAC,OAAM;qBAC5B,oBAAC;QAAI,WAAU;qBACX,oBAACE,UAAQA;QACL,MAAK;QACL,UAAUnB;QACV,UAAUS;QACV,cAAc9B;QACd,UAAU;eACFK,UAAU;gBAAC;oBAAE,QAAQA;gBAAQ;aAAE,GAAG,EAAE;eACpCC,UAAU;gBAAC;oBAAE,OAAOA;gBAAQ;aAAE,GAAG,EAAE;SAC1C;sBAEL,oBAAC;QAAI,WAAU;qBACX,oBAAC;QAAI,WAAU;qBACX,oBAACmC,YAAUA;QACP,OAAOf;QACP,UAAUK;QACV,UAAUnC;QACV,MAAK;SAGZO,gBAAgB,WAAhBA,GACG,oBAAC;QAAI,WAAU;qBACX,oBAACuC,iBAAeA;QACZ,OAAO1B;QACP,UAAUqB;QACV,SAAShD;QACT,UAAUO;QACV,MAAK;;AAU7C"}
@@ -2,7 +2,7 @@ import react, { useState } from "react";
2
2
  import { format } from "date-fns";
3
3
  import { Calendar } from "../../Calendar/index.js";
4
4
  import { PopoverPrimitive } from "../../Popover/index.js";
5
- import { formatDateForDisplay } from "../utils/dateHelpers.js";
5
+ import { formatDateForDisplay, parseDateValue } from "../utils/dateHelpers.js";
6
6
  import { DatePickerTrigger } from "./components/DatePickerTrigger.js";
7
7
  import { SelectedTagsList } from "./components/SelectedTagsList.js";
8
8
  const toDateStr = (d)=>format(d, "yyyy-MM-dd");
@@ -14,7 +14,7 @@ const MultipleDatesPicker = ({ value: valueProp, onChange, placeholder, disabled
14
14
  if (onOpenChange) onOpenChange(isOpen);
15
15
  };
16
16
  const displayValue = formatDateForDisplay(value, "multipleDates");
17
- const selectedDates = value.map((s)=>new Date(s));
17
+ const selectedDates = value.map((s)=>parseDateValue(s));
18
18
  const handleSelect = (dates)=>{
19
19
  if (onChange) {
20
20
  const sorted = [
@@ -28,7 +28,7 @@ const MultipleDatesPicker = ({ value: valueProp, onChange, placeholder, disabled
28
28
  };
29
29
  const tagItems = value.map((d)=>({
30
30
  key: d,
31
- label: format(new Date(d), "MMM d, yyyy")
31
+ label: format(parseDateValue(d), "MMM d, yyyy")
32
32
  }));
33
33
  return /*#__PURE__*/ react.createElement("div", {
34
34
  className: className
@@ -1 +1 @@
1
- {"version":3,"file":"DatePicker/primitives/MultipleDatesPicker.js","sources":["../../../src/DatePicker/primitives/MultipleDatesPicker.tsx"],"sourcesContent":["import React, { useState } from \"react\";\nimport { format } from \"date-fns\";\nimport { Calendar } from \"~/Calendar/index.js\";\nimport { PopoverPrimitive } from \"~/Popover/index.js\";\nimport type { MultipleDatesPickerProps } from \"../utils/types.js\";\nimport { formatDateForDisplay } from \"../utils/dateHelpers.js\";\nimport { DatePickerTrigger } from \"./components/DatePickerTrigger.js\";\nimport { SelectedTagsList } from \"./components/SelectedTagsList.js\";\n\nconst toDateStr = (d: Date) => format(d, \"yyyy-MM-dd\");\n\nconst MultipleDatesPicker = ({\n value: valueProp,\n onChange,\n placeholder,\n disabled,\n size,\n variant,\n invalid,\n weekStartsOn,\n onOpenChange,\n className\n}: MultipleDatesPickerProps) => {\n const value = valueProp ?? [];\n const [open, setOpen] = useState(false);\n\n const handleOpenChange = (isOpen: boolean) => {\n setOpen(isOpen);\n if (onOpenChange) {\n onOpenChange(isOpen);\n }\n };\n\n const displayValue = formatDateForDisplay(value, \"multipleDates\");\n\n const selectedDates = value.map(s => new Date(s));\n\n const handleSelect = (dates: Date[] | undefined) => {\n if (onChange) {\n const sorted = [...(dates ?? [])].sort((a, b) => a.getTime() - b.getTime());\n onChange(sorted.map(toDateStr));\n }\n };\n\n const handleRemove = (key: string) => {\n if (onChange) {\n onChange(value.filter(d => d !== key));\n }\n };\n\n const tagItems = value.map(d => ({\n key: d,\n label: format(new Date(d), \"MMM d, yyyy\")\n }));\n\n return (\n <div className={className}>\n <PopoverPrimitive open={open} onOpenChange={handleOpenChange}>\n <DatePickerTrigger\n displayValue={displayValue}\n placeholder={placeholder ?? \"Pick dates\"}\n disabled={disabled}\n size={size}\n variant={variant}\n invalid={invalid}\n />\n <PopoverPrimitive.Content align=\"start\">\n <Calendar\n mode=\"multiple\"\n selected={selectedDates}\n onSelect={handleSelect}\n weekStartsOn={weekStartsOn}\n />\n </PopoverPrimitive.Content>\n </PopoverPrimitive>\n <SelectedTagsList items={tagItems} onRemove={handleRemove} disabled={disabled} />\n </div>\n );\n};\n\nexport { MultipleDatesPicker };\n"],"names":["toDateStr","d","format","MultipleDatesPicker","valueProp","onChange","placeholder","disabled","size","variant","invalid","weekStartsOn","onOpenChange","className","value","open","setOpen","useState","handleOpenChange","isOpen","displayValue","formatDateForDisplay","selectedDates","s","Date","handleSelect","dates","sorted","a","b","handleRemove","key","tagItems","PopoverPrimitive","DatePickerTrigger","Calendar","SelectedTagsList"],"mappings":";;;;;;;AASA,MAAMA,YAAY,CAACC,IAAYC,OAAOD,GAAG;AAEzC,MAAME,sBAAsB,CAAC,EACzB,OAAOC,SAAS,EAChBC,QAAQ,EACRC,WAAW,EACXC,QAAQ,EACRC,IAAI,EACJC,OAAO,EACPC,OAAO,EACPC,YAAY,EACZC,YAAY,EACZC,SAAS,EACc;IACvB,MAAMC,QAAQV,aAAa,EAAE;IAC7B,MAAM,CAACW,MAAMC,QAAQ,GAAGC,SAAS;IAEjC,MAAMC,mBAAmB,CAACC;QACtBH,QAAQG;QACR,IAAIP,cACAA,aAAaO;IAErB;IAEA,MAAMC,eAAeC,qBAAqBP,OAAO;IAEjD,MAAMQ,gBAAgBR,MAAM,GAAG,CAACS,CAAAA,IAAK,IAAIC,KAAKD;IAE9C,MAAME,eAAe,CAACC;QAClB,IAAIrB,UAAU;YACV,MAAMsB,SAAS;mBAAKD,SAAS,EAAE;aAAE,CAAC,IAAI,CAAC,CAACE,GAAGC,IAAMD,EAAE,OAAO,KAAKC,EAAE,OAAO;YACxExB,SAASsB,OAAO,GAAG,CAAC3B;QACxB;IACJ;IAEA,MAAM8B,eAAe,CAACC;QAClB,IAAI1B,UACAA,SAASS,MAAM,MAAM,CAACb,CAAAA,IAAKA,MAAM8B;IAEzC;IAEA,MAAMC,WAAWlB,MAAM,GAAG,CAACb,CAAAA,IAAM;YAC7B,KAAKA;YACL,OAAOC,OAAO,IAAIsB,KAAKvB,IAAI;QAC/B;IAEA,OAAO,WAAP,GACI,oBAAC;QAAI,WAAWY;qBACZ,oBAACoB,kBAAgBA;QAAC,MAAMlB;QAAM,cAAcG;qBACxC,oBAACgB,mBAAiBA;QACd,cAAcd;QACd,aAAad,eAAe;QAC5B,UAAUC;QACV,MAAMC;QACN,SAASC;QACT,SAASC;sBAEb,oBAACuB,iBAAiB,OAAO;QAAC,OAAM;qBAC5B,oBAACE,UAAQA;QACL,MAAK;QACL,UAAUb;QACV,UAAUG;QACV,cAAcd;wBAI1B,oBAACyB,kBAAgBA;QAAC,OAAOJ;QAAU,UAAUF;QAAc,UAAUvB;;AAGjF"}
1
+ {"version":3,"file":"DatePicker/primitives/MultipleDatesPicker.js","sources":["../../../src/DatePicker/primitives/MultipleDatesPicker.tsx"],"sourcesContent":["import React, { useState } from \"react\";\nimport { format } from \"date-fns\";\nimport { Calendar } from \"~/Calendar/index.js\";\nimport { PopoverPrimitive } from \"~/Popover/index.js\";\nimport type { MultipleDatesPickerProps } from \"../utils/types.js\";\nimport { formatDateForDisplay, parseDateValue } from \"../utils/dateHelpers.js\";\nimport { DatePickerTrigger } from \"./components/DatePickerTrigger.js\";\nimport { SelectedTagsList } from \"./components/SelectedTagsList.js\";\n\nconst toDateStr = (d: Date) => format(d, \"yyyy-MM-dd\");\n\nconst MultipleDatesPicker = ({\n value: valueProp,\n onChange,\n placeholder,\n disabled,\n size,\n variant,\n invalid,\n weekStartsOn,\n onOpenChange,\n className\n}: MultipleDatesPickerProps) => {\n const value = valueProp ?? [];\n const [open, setOpen] = useState(false);\n\n const handleOpenChange = (isOpen: boolean) => {\n setOpen(isOpen);\n if (onOpenChange) {\n onOpenChange(isOpen);\n }\n };\n\n const displayValue = formatDateForDisplay(value, \"multipleDates\");\n\n const selectedDates = value.map(s => parseDateValue(s));\n\n const handleSelect = (dates: Date[] | undefined) => {\n if (onChange) {\n const sorted = [...(dates ?? [])].sort((a, b) => a.getTime() - b.getTime());\n onChange(sorted.map(toDateStr));\n }\n };\n\n const handleRemove = (key: string) => {\n if (onChange) {\n onChange(value.filter(d => d !== key));\n }\n };\n\n const tagItems = value.map(d => ({\n key: d,\n label: format(parseDateValue(d), \"MMM d, yyyy\")\n }));\n\n return (\n <div className={className}>\n <PopoverPrimitive open={open} onOpenChange={handleOpenChange}>\n <DatePickerTrigger\n displayValue={displayValue}\n placeholder={placeholder ?? \"Pick dates\"}\n disabled={disabled}\n size={size}\n variant={variant}\n invalid={invalid}\n />\n <PopoverPrimitive.Content align=\"start\">\n <Calendar\n mode=\"multiple\"\n selected={selectedDates}\n onSelect={handleSelect}\n weekStartsOn={weekStartsOn}\n />\n </PopoverPrimitive.Content>\n </PopoverPrimitive>\n <SelectedTagsList items={tagItems} onRemove={handleRemove} disabled={disabled} />\n </div>\n );\n};\n\nexport { MultipleDatesPicker };\n"],"names":["toDateStr","d","format","MultipleDatesPicker","valueProp","onChange","placeholder","disabled","size","variant","invalid","weekStartsOn","onOpenChange","className","value","open","setOpen","useState","handleOpenChange","isOpen","displayValue","formatDateForDisplay","selectedDates","s","parseDateValue","handleSelect","dates","sorted","a","b","handleRemove","key","tagItems","PopoverPrimitive","DatePickerTrigger","Calendar","SelectedTagsList"],"mappings":";;;;;;;AASA,MAAMA,YAAY,CAACC,IAAYC,OAAOD,GAAG;AAEzC,MAAME,sBAAsB,CAAC,EACzB,OAAOC,SAAS,EAChBC,QAAQ,EACRC,WAAW,EACXC,QAAQ,EACRC,IAAI,EACJC,OAAO,EACPC,OAAO,EACPC,YAAY,EACZC,YAAY,EACZC,SAAS,EACc;IACvB,MAAMC,QAAQV,aAAa,EAAE;IAC7B,MAAM,CAACW,MAAMC,QAAQ,GAAGC,SAAS;IAEjC,MAAMC,mBAAmB,CAACC;QACtBH,QAAQG;QACR,IAAIP,cACAA,aAAaO;IAErB;IAEA,MAAMC,eAAeC,qBAAqBP,OAAO;IAEjD,MAAMQ,gBAAgBR,MAAM,GAAG,CAACS,CAAAA,IAAKC,eAAeD;IAEpD,MAAME,eAAe,CAACC;QAClB,IAAIrB,UAAU;YACV,MAAMsB,SAAS;mBAAKD,SAAS,EAAE;aAAE,CAAC,IAAI,CAAC,CAACE,GAAGC,IAAMD,EAAE,OAAO,KAAKC,EAAE,OAAO;YACxExB,SAASsB,OAAO,GAAG,CAAC3B;QACxB;IACJ;IAEA,MAAM8B,eAAe,CAACC;QAClB,IAAI1B,UACAA,SAASS,MAAM,MAAM,CAACb,CAAAA,IAAKA,MAAM8B;IAEzC;IAEA,MAAMC,WAAWlB,MAAM,GAAG,CAACb,CAAAA,IAAM;YAC7B,KAAKA;YACL,OAAOC,OAAOsB,eAAevB,IAAI;QACrC;IAEA,OAAO,WAAP,GACI,oBAAC;QAAI,WAAWY;qBACZ,oBAACoB,kBAAgBA;QAAC,MAAMlB;QAAM,cAAcG;qBACxC,oBAACgB,mBAAiBA;QACd,cAAcd;QACd,aAAad,eAAe;QAC5B,UAAUC;QACV,MAAMC;QACN,SAASC;QACT,SAASC;sBAEb,oBAACuB,iBAAiB,OAAO;QAAC,OAAM;qBAC5B,oBAACE,UAAQA;QACL,MAAK;QACL,UAAUb;QACV,UAAUG;QACV,cAAcd;wBAI1B,oBAACyB,kBAAgBA;QAAC,OAAOJ;QAAU,UAAUF;QAAc,UAAUvB;;AAGjF"}
@@ -19,10 +19,10 @@ const DatePickerTriggerInner = /*#__PURE__*/ forwardRef(({ displayValue, placeho
19
19
  size,
20
20
  variant,
21
21
  invalid
22
- }), "cursor-pointer justify-between select-none", disabled && "pointer-events-none opacity-50", className),
22
+ }), "cursor-pointer justify-between select-none min-w-0 overflow-hidden", disabled && "pointer-events-none opacity-50", className),
23
23
  ...props
24
24
  }, /*#__PURE__*/ react.createElement("span", {
25
- className: cn(!displayValue && "text-neutral-dimmed")
25
+ className: cn("truncate", !displayValue && "text-neutral-dimmed")
26
26
  }, displayValue || placeholder || "Select..."), /*#__PURE__*/ react.createElement(Icon, {
27
27
  icon: /*#__PURE__*/ react.createElement(IconComponent, null),
28
28
  label: iconLabel,
@@ -1 +1 @@
1
- {"version":3,"file":"DatePicker/primitives/components/DatePickerTrigger.js","sources":["../../../../src/DatePicker/primitives/components/DatePickerTrigger.tsx"],"sourcesContent":["import React, { forwardRef } from \"react\";\nimport { ReactComponent as CalendarMonthIcon } from \"@webiny/icons/calendar_month.svg\";\nimport { ReactComponent as ScheduleIcon } from \"@webiny/icons/schedule.svg\";\nimport { Icon } from \"~/Icon/index.js\";\nimport { inputVariants, type InputPrimitiveProps } from \"~/Input/index.js\";\nimport { PopoverPrimitive } from \"~/Popover/index.js\";\nimport { cn } from \"~/utils.js\";\n\ninterface DatePickerTriggerProps {\n displayValue?: string;\n placeholder?: string;\n disabled?: boolean;\n size?: InputPrimitiveProps[\"size\"];\n variant?: InputPrimitiveProps[\"variant\"];\n invalid?: InputPrimitiveProps[\"invalid\"];\n iconType?: \"calendar\" | \"time\";\n}\n\nconst DatePickerTriggerInner = forwardRef<\n HTMLDivElement,\n DatePickerTriggerProps & React.HTMLAttributes<HTMLDivElement>\n>(\n (\n {\n displayValue,\n placeholder,\n disabled,\n size,\n variant,\n invalid,\n iconType = \"calendar\",\n className,\n ...props\n },\n ref\n ) => {\n const IconComponent = iconType === \"time\" ? ScheduleIcon : CalendarMonthIcon;\n const iconLabel = iconType === \"time\" ? \"Time\" : \"Calendar\";\n\n return (\n <PopoverPrimitive.Trigger asChild>\n <div\n ref={ref}\n role=\"button\"\n tabIndex={0}\n data-disabled={disabled}\n className={cn(\n inputVariants({ size, variant, invalid }),\n \"cursor-pointer justify-between select-none\",\n disabled && \"pointer-events-none opacity-50\",\n className\n )}\n {...props}\n >\n <span className={cn(!displayValue && \"text-neutral-dimmed\")}>\n {displayValue || placeholder || \"Select...\"}\n </span>\n <Icon icon={<IconComponent />} label={iconLabel} size=\"sm\" color=\"inherit\" />\n </div>\n </PopoverPrimitive.Trigger>\n );\n }\n);\n\nDatePickerTriggerInner.displayName = \"DatePickerTrigger\";\n\nexport { DatePickerTriggerInner as DatePickerTrigger, type DatePickerTriggerProps };\n"],"names":["DatePickerTriggerInner","forwardRef","displayValue","placeholder","disabled","size","variant","invalid","iconType","className","props","ref","IconComponent","ScheduleIcon","CalendarMonthIcon","iconLabel","PopoverPrimitive","cn","inputVariants","Icon"],"mappings":";;;;;;;AAkBA,MAAMA,yBAAyB,WAAHA,GAAGC,WAI3B,CACI,EACIC,YAAY,EACZC,WAAW,EACXC,QAAQ,EACRC,IAAI,EACJC,OAAO,EACPC,OAAO,EACPC,WAAW,UAAU,EACrBC,SAAS,EACT,GAAGC,OACN,EACDC;IAEA,MAAMC,gBAAgBJ,AAAa,WAAbA,WAAsBK,8BAAeC;IAC3D,MAAMC,YAAYP,AAAa,WAAbA,WAAsB,SAAS;IAEjD,OAAO,WAAP,GACI,oBAACQ,iBAAiB,OAAO;QAAC;qBACtB,oBAAC;QACG,KAAKL;QACL,MAAK;QACL,UAAU;QACV,iBAAeP;QACf,WAAWa,GACPC,cAAc;YAAEb;YAAMC;YAASC;QAAQ,IACvC,8CACAH,YAAY,kCACZK;QAEH,GAAGC,KAAK;qBAET,oBAAC;QAAK,WAAWO,GAAG,CAACf,gBAAgB;OAChCA,gBAAgBC,eAAe,4BAEpC,oBAACgB,MAAIA;QAAC,oBAAM,oBAACP,eAAAA;QAAkB,OAAOG;QAAW,MAAK;QAAK,OAAM;;AAIjF;AAGJf,uBAAuB,WAAW,GAAG"}
1
+ {"version":3,"file":"DatePicker/primitives/components/DatePickerTrigger.js","sources":["../../../../src/DatePicker/primitives/components/DatePickerTrigger.tsx"],"sourcesContent":["import React, { forwardRef } from \"react\";\nimport { ReactComponent as CalendarMonthIcon } from \"@webiny/icons/calendar_month.svg\";\nimport { ReactComponent as ScheduleIcon } from \"@webiny/icons/schedule.svg\";\nimport { Icon } from \"~/Icon/index.js\";\nimport { inputVariants, type InputPrimitiveProps } from \"~/Input/index.js\";\nimport { PopoverPrimitive } from \"~/Popover/index.js\";\nimport { cn } from \"~/utils.js\";\n\ninterface DatePickerTriggerProps {\n displayValue?: string;\n placeholder?: string;\n disabled?: boolean;\n size?: InputPrimitiveProps[\"size\"];\n variant?: InputPrimitiveProps[\"variant\"];\n invalid?: InputPrimitiveProps[\"invalid\"];\n iconType?: \"calendar\" | \"time\";\n}\n\nconst DatePickerTriggerInner = forwardRef<\n HTMLDivElement,\n DatePickerTriggerProps & React.HTMLAttributes<HTMLDivElement>\n>(\n (\n {\n displayValue,\n placeholder,\n disabled,\n size,\n variant,\n invalid,\n iconType = \"calendar\",\n className,\n ...props\n },\n ref\n ) => {\n const IconComponent = iconType === \"time\" ? ScheduleIcon : CalendarMonthIcon;\n const iconLabel = iconType === \"time\" ? \"Time\" : \"Calendar\";\n\n return (\n <PopoverPrimitive.Trigger asChild>\n <div\n ref={ref}\n role=\"button\"\n tabIndex={0}\n data-disabled={disabled}\n className={cn(\n inputVariants({ size, variant, invalid }),\n \"cursor-pointer justify-between select-none min-w-0 overflow-hidden\",\n disabled && \"pointer-events-none opacity-50\",\n className\n )}\n {...props}\n >\n <span className={cn(\"truncate\", !displayValue && \"text-neutral-dimmed\")}>\n {displayValue || placeholder || \"Select...\"}\n </span>\n <Icon icon={<IconComponent />} label={iconLabel} size=\"sm\" color=\"inherit\" />\n </div>\n </PopoverPrimitive.Trigger>\n );\n }\n);\n\nDatePickerTriggerInner.displayName = \"DatePickerTrigger\";\n\nexport { DatePickerTriggerInner as DatePickerTrigger, type DatePickerTriggerProps };\n"],"names":["DatePickerTriggerInner","forwardRef","displayValue","placeholder","disabled","size","variant","invalid","iconType","className","props","ref","IconComponent","ScheduleIcon","CalendarMonthIcon","iconLabel","PopoverPrimitive","cn","inputVariants","Icon"],"mappings":";;;;;;;AAkBA,MAAMA,yBAAyB,WAAHA,GAAGC,WAI3B,CACI,EACIC,YAAY,EACZC,WAAW,EACXC,QAAQ,EACRC,IAAI,EACJC,OAAO,EACPC,OAAO,EACPC,WAAW,UAAU,EACrBC,SAAS,EACT,GAAGC,OACN,EACDC;IAEA,MAAMC,gBAAgBJ,AAAa,WAAbA,WAAsBK,8BAAeC;IAC3D,MAAMC,YAAYP,AAAa,WAAbA,WAAsB,SAAS;IAEjD,OAAO,WAAP,GACI,oBAACQ,iBAAiB,OAAO;QAAC;qBACtB,oBAAC;QACG,KAAKL;QACL,MAAK;QACL,UAAU;QACV,iBAAeP;QACf,WAAWa,GACPC,cAAc;YAAEb;YAAMC;YAASC;QAAQ,IACvC,sEACAH,YAAY,kCACZK;QAEH,GAAGC,KAAK;qBAET,oBAAC;QAAK,WAAWO,GAAG,YAAY,CAACf,gBAAgB;OAC5CA,gBAAgBC,eAAe,4BAEpC,oBAACgB,MAAIA;QAAC,oBAAM,oBAACP,eAAAA;QAAkB,OAAOG;QAAW,MAAK;QAAK,OAAM;;AAIjF;AAGJf,uBAAuB,WAAW,GAAG"}
@@ -0,0 +1,77 @@
1
+ /**
2
+ * Logic for the step-by-step birthday picker: the date is picked as day, then month, then year.
3
+ * Months are 1-based throughout (1 = January).
4
+ */
5
+ export interface BirthdayParts {
6
+ day?: number;
7
+ month?: number;
8
+ year?: number;
9
+ }
10
+ export type BirthdayStep = "day" | "month" | "year";
11
+ export declare const DEFAULT_BIRTHDAY_YEARS_BACK = 120;
12
+ /** The first and last date the picker may produce. Either may be left open. */
13
+ export interface BirthdayLimits {
14
+ minDate?: Date;
15
+ maxDate?: Date;
16
+ }
17
+ /** The dates the picker may produce: one of the offered years, within the limits. */
18
+ export interface BirthdayRange extends BirthdayLimits {
19
+ years: number[];
20
+ }
21
+ /**
22
+ * Reads the day, month and year from a `YYYY-MM-DD` value. A value that carries a time
23
+ * (`2026-05-01T00:00:00.000Z`) still yields its date part. Anything else yields no parts.
24
+ */
25
+ export declare function parseBirthdayValue(value: string | undefined | null): BirthdayParts;
26
+ /**
27
+ * Returns the `YYYY-MM-DD` value, or `undefined` while any part is still missing.
28
+ */
29
+ export declare function formatBirthdayValue(parts: BirthdayParts): string | undefined;
30
+ export declare function pad(value: number): string;
31
+ export declare function isLeapYear(year: number): boolean;
32
+ /**
33
+ * Days in a month. Without a year, February counts 29 days, because the year is picked
34
+ * after the month and a leap year may still be chosen.
35
+ */
36
+ export declare function daysInMonth(month: number, year?: number): number;
37
+ /**
38
+ * Whether the range holds a date with every part set in `parts`. An unset year is looked
39
+ * for among the offered years; an unset month or day can be any.
40
+ */
41
+ export declare function isInBirthdayRange(parts: BirthdayParts, range: BirthdayRange): boolean;
42
+ /** A day is unavailable when no date in the range falls on it. */
43
+ export declare function isDayDisabled(day: number, range?: BirthdayRange): boolean;
44
+ /**
45
+ * A month is unavailable when it can't hold the chosen day (31 rules out the 30-day months
46
+ * and February), or when no date in the range has the chosen day in that month.
47
+ */
48
+ export declare function isMonthDisabled(month: number, parts: BirthdayParts, range?: BirthdayRange): boolean;
49
+ /**
50
+ * A year is unavailable when it can't hold the chosen day and month (29 February in a
51
+ * non-leap year), or when the date it makes falls outside the range.
52
+ */
53
+ export declare function isYearDisabled(year: number, parts: BirthdayParts, range?: BirthdayRange): boolean;
54
+ /**
55
+ * Picking a day clears whatever comes after it that can no longer hold it: the month when
56
+ * the month is too short or the range has no such date, otherwise the year when only the
57
+ * year is the problem (29 February, or a date past a limit).
58
+ */
59
+ export declare function pickDay(parts: BirthdayParts, day: number, range?: BirthdayRange): BirthdayParts;
60
+ /**
61
+ * Picking a month keeps the day (only months that hold it can be picked) and clears the
62
+ * year when that year can't hold the date.
63
+ */
64
+ export declare function pickMonth(parts: BirthdayParts, month: number, range?: BirthdayRange): BirthdayParts;
65
+ export declare function pickYear(parts: BirthdayParts, year: number): BirthdayParts;
66
+ /**
67
+ * The step to show after a pick, or `undefined` when the picker should close. A missing part
68
+ * comes first. Once the date is complete, the picker walks on to the steps after `current`
69
+ * that weren't picked while it was open, so editing a saved date still goes day, month, year.
70
+ */
71
+ export declare function nextBirthdayStep(parts: BirthdayParts, current: BirthdayStep, picked: ReadonlySet<BirthdayStep>): BirthdayStep | undefined;
72
+ /**
73
+ * The years to offer, newest first. The default runs from this year back
74
+ * `DEFAULT_BIRTHDAY_YEARS_BACK` years, moved and cut to fit the limits. A year already set
75
+ * outside the range is added, so an existing value is never hidden.
76
+ */
77
+ export declare function birthdayYears(yearRange?: [number, number], includeYear?: number, limits?: BirthdayLimits): number[];