@lumx/react 3.10.1-alpha.0 → 3.10.1-alpha.2

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 (329) hide show
  1. package/_internal/17c3ea1d.js +137 -0
  2. package/_internal/17c3ea1d.js.map +1 -0
  3. package/_internal/1da25128.js +411 -0
  4. package/_internal/1da25128.js.map +1 -0
  5. package/_internal/230173a8.js +13 -0
  6. package/_internal/230173a8.js.map +1 -0
  7. package/_internal/23bdba2d.js +71 -0
  8. package/_internal/23bdba2d.js.map +1 -0
  9. package/_internal/26926e5c.d.ts +36 -0
  10. package/_internal/2a3d237c.js +12 -0
  11. package/_internal/2a3d237c.js.map +1 -0
  12. package/_internal/2c5dbb03.js +26 -0
  13. package/_internal/2c5dbb03.js.map +1 -0
  14. package/_internal/2e2abe51.js +2154 -0
  15. package/_internal/2e2abe51.js.map +1 -0
  16. package/_internal/31490c59.d.ts +167 -0
  17. package/_internal/3181f000.js +14 -0
  18. package/_internal/3181f000.js.map +1 -0
  19. package/_internal/35f100be.d.ts +104 -0
  20. package/_internal/36bd7352.js +219 -0
  21. package/_internal/36bd7352.js.map +1 -0
  22. package/_internal/3a1facc0.js +18 -0
  23. package/_internal/3a1facc0.js.map +1 -0
  24. package/_internal/4c20d932.js +89 -0
  25. package/_internal/4c20d932.js.map +1 -0
  26. package/_internal/4c28d012.js +305 -0
  27. package/_internal/4c28d012.js.map +1 -0
  28. package/_internal/4cd0bf32.js +160 -0
  29. package/_internal/4cd0bf32.js.map +1 -0
  30. package/_internal/4daccdd5.js +25 -0
  31. package/_internal/4daccdd5.js.map +1 -0
  32. package/_internal/524b1d04.js +64 -0
  33. package/_internal/524b1d04.js.map +1 -0
  34. package/_internal/53c94227.js +123 -0
  35. package/_internal/53c94227.js.map +1 -0
  36. package/_internal/54d9ded5.js +418 -0
  37. package/_internal/54d9ded5.js.map +1 -0
  38. package/_internal/56aec41b.js +652 -0
  39. package/_internal/56aec41b.js.map +1 -0
  40. package/_internal/5720caf5.js +124 -0
  41. package/_internal/5720caf5.js.map +1 -0
  42. package/_internal/646f0db6.js +113 -0
  43. package/_internal/646f0db6.js.map +1 -0
  44. package/_internal/6cc8dca8.d.ts +22 -0
  45. package/_internal/7f022f8c.d.ts +34 -0
  46. package/_internal/{index.d.ts → 8d67e1e3.d.ts} +1 -1
  47. package/_internal/b8f2948d.js +691 -0
  48. package/_internal/b8f2948d.js.map +1 -0
  49. package/_internal/bc28d510.js +784 -0
  50. package/_internal/bc28d510.js.map +1 -0
  51. package/_internal/c68d24e4.js +145 -0
  52. package/_internal/c68d24e4.js.map +1 -0
  53. package/_internal/c6c99f76.js +105 -0
  54. package/_internal/c6c99f76.js.map +1 -0
  55. package/_internal/cae46566.js +65 -0
  56. package/_internal/cae46566.js.map +1 -0
  57. package/_internal/components/alert-dialog/index.ts-623b1ed3.d.ts +37 -0
  58. package/_internal/components/alert-dialog/index.ts-f83bd6ef.js +148 -0
  59. package/_internal/components/alert-dialog/index.ts-f83bd6ef.js.map +1 -0
  60. package/_internal/components/autocomplete/index.ts-3f8f125c.js +264 -0
  61. package/_internal/components/autocomplete/index.ts-3f8f125c.js.map +1 -0
  62. package/_internal/components/autocomplete/index.ts-8d6b123f.d.ts +201 -0
  63. package/_internal/components/avatar/index.ts-93ee0ea9.js +89 -0
  64. package/_internal/components/avatar/index.ts-93ee0ea9.js.map +1 -0
  65. package/_internal/components/avatar/index.ts-f92852b4.d.ts +43 -0
  66. package/_internal/components/badge/index.ts-2d7700ef.d.ts +30 -0
  67. package/_internal/components/badge/index.ts-6753d67f.js +88 -0
  68. package/_internal/components/badge/index.ts-6753d67f.js.map +1 -0
  69. package/_internal/components/button/index.ts-031307ce.js +51 -0
  70. package/_internal/components/button/index.ts-031307ce.js.map +1 -0
  71. package/_internal/components/button/index.ts-b29e26a4.d.ts +22 -0
  72. package/_internal/components/checkbox/index.ts-a33166d7.js +127 -0
  73. package/_internal/components/checkbox/index.ts-a33166d7.js.map +1 -0
  74. package/_internal/components/checkbox/index.ts-f82358ff.d.ts +38 -0
  75. package/_internal/components/chip/index.ts-4a91f1a7.d.ts +68 -0
  76. package/_internal/components/chip/index.ts-a2b5b771.js +110 -0
  77. package/_internal/components/chip/index.ts-a2b5b771.js.map +1 -0
  78. package/_internal/components/comment-block/index.ts-58fa051a.js +121 -0
  79. package/_internal/components/comment-block/index.ts-58fa051a.js.map +1 -0
  80. package/_internal/components/comment-block/index.ts-8cfa5af0.d.ts +67 -0
  81. package/_internal/components/date-picker/index.ts-145262d5.js +2 -0
  82. package/_internal/components/date-picker/index.ts-145262d5.js.map +1 -0
  83. package/_internal/components/date-picker/index.ts-70a34fa7.d.ts +95 -0
  84. package/_internal/components/dialog/index.ts-ea044db2.js +224 -0
  85. package/_internal/components/dialog/index.ts-ea044db2.js.map +1 -0
  86. package/_internal/components/dialog/index.ts-eca28654.d.ts +55 -0
  87. package/_internal/components/divider/index.ts-4a56db75.js +55 -0
  88. package/_internal/components/divider/index.ts-4a56db75.js.map +1 -0
  89. package/_internal/components/divider/index.ts-b011d8ca.d.ts +18 -0
  90. package/_internal/components/drag-handle/index.ts-0aebf92f.js +54 -0
  91. package/_internal/components/drag-handle/index.ts-0aebf92f.js.map +1 -0
  92. package/_internal/components/drag-handle/index.ts-3ab31dd1.d.ts +18 -0
  93. package/_internal/components/dropdown/index.ts-2a17db51.js +154 -0
  94. package/_internal/components/dropdown/index.ts-2a17db51.js.map +1 -0
  95. package/_internal/components/dropdown/index.ts-b648a15c.d.ts +87 -0
  96. package/_internal/components/expansion-panel/index.ts-69f09f5b.d.ts +38 -0
  97. package/_internal/components/expansion-panel/index.ts-fae3762e.js +143 -0
  98. package/_internal/components/expansion-panel/index.ts-fae3762e.js.map +1 -0
  99. package/_internal/components/flag/index.ts-8dcd685b.js +56 -0
  100. package/_internal/components/flag/index.ts-8dcd685b.js.map +1 -0
  101. package/_internal/components/flag/index.ts-fda89adb.d.ts +23 -0
  102. package/_internal/components/flex-box/index.ts-87f2b58d.d.ts +43 -0
  103. package/_internal/components/flex-box/index.ts-c216e957.js +60 -0
  104. package/_internal/components/flex-box/index.ts-c216e957.js.map +1 -0
  105. package/_internal/components/generic-block/index.ts-999a62a4.js +115 -0
  106. package/_internal/components/generic-block/index.ts-999a62a4.js.map +1 -0
  107. package/_internal/components/generic-block/index.ts-cd3b0e21.d.ts +106 -0
  108. package/_internal/components/grid/index.ts-67e0694f.d.ts +50 -0
  109. package/_internal/components/grid/index.ts-fdf1b306.js +113 -0
  110. package/_internal/components/grid/index.ts-fdf1b306.js.map +1 -0
  111. package/_internal/components/grid-column/index.ts-97c61cbe.js +64 -0
  112. package/_internal/components/grid-column/index.ts-97c61cbe.js.map +1 -0
  113. package/_internal/components/grid-column/index.ts-c89e1c18.d.ts +31 -0
  114. package/_internal/components/heading/index.ts-0179e9a9.js +112 -0
  115. package/_internal/components/heading/index.ts-0179e9a9.js.map +1 -0
  116. package/_internal/components/heading/index.ts-587579e8.d.ts +37 -0
  117. package/_internal/components/icon/index.ts-740ca1de.js +2 -0
  118. package/_internal/components/icon/index.ts-740ca1de.js.map +1 -0
  119. package/_internal/components/icon/index.ts-b3fa5e15.d.ts +34 -0
  120. package/_internal/components/image-block/index.ts-36b3828f.d.ts +49 -0
  121. package/_internal/components/image-block/index.ts-ef5e2e7d.js +111 -0
  122. package/_internal/components/image-block/index.ts-ef5e2e7d.js.map +1 -0
  123. package/_internal/components/image-lightbox/index.ts-137f85a8.js +765 -0
  124. package/_internal/components/image-lightbox/index.ts-137f85a8.js.map +1 -0
  125. package/_internal/components/image-lightbox/index.ts-2cb92d18.d.ts +75 -0
  126. package/_internal/components/inline-list/index.ts-033dd358.js +76 -0
  127. package/_internal/components/inline-list/index.ts-033dd358.js.map +1 -0
  128. package/_internal/components/inline-list/index.ts-e1c8a3ff.d.ts +34 -0
  129. package/_internal/components/input-helper/index.ts-32a9ca90.d.ts +22 -0
  130. package/_internal/components/input-helper/index.ts-ab3a1ef5.js +75 -0
  131. package/_internal/components/input-helper/index.ts-ab3a1ef5.js.map +1 -0
  132. package/_internal/components/input-label/index.ts-86f2ea41.d.ts +24 -0
  133. package/_internal/components/input-label/index.ts-d6ca5569.js +60 -0
  134. package/_internal/components/input-label/index.ts-d6ca5569.js.map +1 -0
  135. package/_internal/components/lightbox/index.ts-5370e8e6.d.ts +36 -0
  136. package/_internal/components/lightbox/index.ts-7a16cdc7.js +149 -0
  137. package/_internal/components/lightbox/index.ts-7a16cdc7.js.map +1 -0
  138. package/_internal/components/link/index.ts-26435006.d.ts +37 -0
  139. package/_internal/components/link/index.ts-d04f4e53.js +120 -0
  140. package/_internal/components/link/index.ts-d04f4e53.js.map +1 -0
  141. package/_internal/components/link-preview/index.ts-e560a274.d.ts +36 -0
  142. package/_internal/components/link-preview/index.ts-fee89f66.js +109 -0
  143. package/_internal/components/link-preview/index.ts-fee89f66.js.map +1 -0
  144. package/_internal/components/list/index.ts-ab57902e.d.ts +118 -0
  145. package/_internal/components/list/index.ts-f3101625.js +86 -0
  146. package/_internal/components/list/index.ts-f3101625.js.map +1 -0
  147. package/_internal/components/message/index.ts-041cf0cb.js +97 -0
  148. package/_internal/components/message/index.ts-041cf0cb.js.map +1 -0
  149. package/_internal/components/message/index.ts-2d38e0ea.d.ts +37 -0
  150. package/_internal/components/mosaic/index.ts-232d5aed.d.ts +23 -0
  151. package/_internal/components/mosaic/index.ts-d2128cd3.js +94 -0
  152. package/_internal/components/mosaic/index.ts-d2128cd3.js.map +1 -0
  153. package/_internal/components/navigation/index.ts-6d8bea53.d.ts +58 -0
  154. package/_internal/components/navigation/index.ts-e8dc0a7f.js +222 -0
  155. package/_internal/components/navigation/index.ts-e8dc0a7f.js.map +1 -0
  156. package/_internal/components/notification/index.ts-235fd340.js +140 -0
  157. package/_internal/components/notification/index.ts-235fd340.js.map +1 -0
  158. package/_internal/components/notification/index.ts-bb3f03f6.d.ts +34 -0
  159. package/_internal/components/popover/index.ts-2f17a9b6.js +3 -0
  160. package/_internal/components/popover/index.ts-2f17a9b6.js.map +1 -0
  161. package/_internal/components/popover/index.ts-e3b4ff19.d.ts +66 -0
  162. package/_internal/components/post-block/index.ts-0acb9bb4.js +101 -0
  163. package/_internal/components/post-block/index.ts-0acb9bb4.js.map +1 -0
  164. package/_internal/components/post-block/index.ts-9b8ff90b.d.ts +41 -0
  165. package/_internal/components/progress/index.ts-2a713859.js +189 -0
  166. package/_internal/components/progress/index.ts-2a713859.js.map +1 -0
  167. package/_internal/components/progress/index.ts-dfdfa5fb.d.ts +60 -0
  168. package/_internal/components/progress-tracker/index.ts-2649f756.js +312 -0
  169. package/_internal/components/progress-tracker/index.ts-2649f756.js.map +1 -0
  170. package/_internal/components/progress-tracker/index.ts-95320f32.d.ts +101 -0
  171. package/_internal/components/radio-button/index.ts-5eaab4cf.d.ts +54 -0
  172. package/_internal/components/radio-button/index.ts-b4dfb2a0.js +150 -0
  173. package/_internal/components/radio-button/index.ts-b4dfb2a0.js.map +1 -0
  174. package/_internal/components/select/index.ts-a65e3507.d.ts +91 -0
  175. package/_internal/components/select/index.ts-e8fad28b.js +257 -0
  176. package/_internal/components/select/index.ts-e8fad28b.js.map +1 -0
  177. package/_internal/components/side-navigation/index.ts-3f5f3785.d.ts +60 -0
  178. package/_internal/components/side-navigation/index.ts-c9a5fc3e.js +184 -0
  179. package/_internal/components/side-navigation/index.ts-c9a5fc3e.js.map +1 -0
  180. package/_internal/components/skeleton/index.ts-a7daefac.d.ts +75 -0
  181. package/_internal/components/skeleton/index.ts-ffc995af.js +179 -0
  182. package/_internal/components/skeleton/index.ts-ffc995af.js.map +1 -0
  183. package/_internal/components/slider/index.ts-24a0d598.d.ts +52 -0
  184. package/_internal/components/slider/index.ts-72aadf4c.js +308 -0
  185. package/_internal/components/slider/index.ts-72aadf4c.js.map +1 -0
  186. package/_internal/components/slideshow/index.ts-c99f2892.js +151 -0
  187. package/_internal/components/slideshow/index.ts-c99f2892.js.map +1 -0
  188. package/_internal/components/slideshow/index.ts-e49462c6.d.ts +25 -0
  189. package/_internal/components/switch/index.ts-207ba52b.d.ts +34 -0
  190. package/_internal/components/switch/index.ts-542e6eaf.js +115 -0
  191. package/_internal/components/switch/index.ts-542e6eaf.js.map +1 -0
  192. package/_internal/components/table/index.ts-905ce390.js +310 -0
  193. package/_internal/components/table/index.ts-905ce390.js.map +1 -0
  194. package/_internal/components/table/index.ts-c4f39b2d.d.ts +108 -0
  195. package/_internal/components/tabs/index.ts-713119f4.js +289 -0
  196. package/_internal/components/tabs/index.ts-713119f4.js.map +1 -0
  197. package/_internal/components/tabs/index.ts-dbfc48d9.d.ts +106 -0
  198. package/_internal/components/text/index.ts-6afbe8cd.js +2 -0
  199. package/_internal/components/text/index.ts-6afbe8cd.js.map +1 -0
  200. package/_internal/components/text/index.ts-8a812048.d.ts +53 -0
  201. package/_internal/components/text-field/index.ts-92e6b3b3.d.ts +77 -0
  202. package/_internal/components/text-field/index.ts-c3be8563.js +341 -0
  203. package/_internal/components/text-field/index.ts-c3be8563.js.map +1 -0
  204. package/_internal/components/thumbnail/index.ts-16d7b403.js +40 -0
  205. package/_internal/components/thumbnail/index.ts-16d7b403.js.map +1 -0
  206. package/_internal/components/thumbnail/index.ts-1b6c0b48.d.ts +8 -0
  207. package/_internal/components/toolbar/index.ts-813b902e.js +63 -0
  208. package/_internal/components/toolbar/index.ts-813b902e.js.map +1 -0
  209. package/_internal/components/toolbar/index.ts-9f5129d1.d.ts +24 -0
  210. package/_internal/components/tooltip/index.ts-905c847c.js +322 -0
  211. package/_internal/components/tooltip/index.ts-905c847c.js.map +1 -0
  212. package/_internal/components/tooltip/index.ts-c6931e9e.d.ts +35 -0
  213. package/_internal/components/uploader/index.ts-31f21c2a.js +132 -0
  214. package/_internal/components/uploader/index.ts-31f21c2a.js.map +1 -0
  215. package/_internal/components/uploader/index.ts-c3ccba98.d.ts +51 -0
  216. package/_internal/components/user-block/index.ts-18c58e19.d.ts +50 -0
  217. package/_internal/components/user-block/index.ts-d43e5f3c.js +136 -0
  218. package/_internal/components/user-block/index.ts-d43e5f3c.js.map +1 -0
  219. package/_internal/dc3e28c8.d.ts +38 -0
  220. package/_internal/f39a1ba4.js +73 -0
  221. package/_internal/f39a1ba4.js.map +1 -0
  222. package/_internal/f3e77e3e.js +22 -0
  223. package/_internal/f3e77e3e.js.map +1 -0
  224. package/_internal/f502ab30.js +78 -0
  225. package/_internal/f502ab30.js.map +1 -0
  226. package/_internal/f52adbae.js +36 -0
  227. package/_internal/f52adbae.js.map +1 -0
  228. package/_internal/f57e1239.js +205 -0
  229. package/_internal/f57e1239.js.map +1 -0
  230. package/_internal/f5ff1aa4.d.ts +47 -0
  231. package/_internal/fb975afe.js +52 -0
  232. package/_internal/fb975afe.js.map +1 -0
  233. package/index.d.ts +66 -3023
  234. package/index.js +64 -14531
  235. package/index.js.map +1 -1
  236. package/package.json +3 -3
  237. package/src/components/alert-dialog/AlertDialog.tsx +3 -4
  238. package/src/components/autocomplete/Autocomplete.tsx +4 -3
  239. package/src/components/autocomplete/AutocompleteMultiple.tsx +7 -6
  240. package/src/components/avatar/Avatar.tsx +4 -3
  241. package/src/components/badge/Badge.tsx +7 -4
  242. package/src/components/badge/BadgeWrapper.tsx +7 -4
  243. package/src/components/button/Button.tsx +5 -3
  244. package/src/components/button/ButtonGroup.tsx +4 -3
  245. package/src/components/button/ButtonRoot.tsx +4 -3
  246. package/src/components/button/IconButton.tsx +3 -3
  247. package/src/components/checkbox/Checkbox.tsx +4 -3
  248. package/src/components/chip/Chip.tsx +8 -9
  249. package/src/components/chip/ChipGroup.tsx +5 -4
  250. package/src/components/comment-block/CommentBlock.tsx +4 -4
  251. package/src/components/date-picker/DatePicker.tsx +5 -3
  252. package/src/components/date-picker/DatePickerControlled.tsx +6 -3
  253. package/src/components/date-picker/DatePickerField.tsx +4 -3
  254. package/src/components/dialog/Dialog.tsx +4 -3
  255. package/src/components/divider/Divider.tsx +4 -3
  256. package/src/components/drag-handle/DragHandle.test.tsx +1 -1
  257. package/src/components/drag-handle/DragHandle.tsx +4 -3
  258. package/src/components/dropdown/Dropdown.tsx +4 -3
  259. package/src/components/expansion-panel/ExpansionPanel.tsx +4 -3
  260. package/src/components/flag/Flag.tsx +5 -3
  261. package/src/components/flex-box/FlexBox.tsx +8 -5
  262. package/src/components/generic-block/GenericBlock.tsx +4 -1
  263. package/src/components/grid/Grid.tsx +4 -3
  264. package/src/components/grid/GridItem.tsx +4 -3
  265. package/src/components/grid-column/GridColumn.tsx +5 -5
  266. package/src/components/heading/Heading.tsx +8 -4
  267. package/src/components/icon/Icon.tsx +5 -4
  268. package/src/components/image-block/ImageBlock.tsx +4 -3
  269. package/src/components/image-lightbox/ImageLightbox.tsx +4 -3
  270. package/src/components/inline-list/InlineList.tsx +4 -3
  271. package/src/components/input-helper/InputHelper.tsx +7 -4
  272. package/src/components/input-label/InputLabel.tsx +7 -4
  273. package/src/components/lightbox/Lightbox.tsx +4 -3
  274. package/src/components/link/Link.tsx +4 -3
  275. package/src/components/link-preview/LinkPreview.tsx +4 -3
  276. package/src/components/list/List.tsx +7 -5
  277. package/src/components/list/ListDivider.tsx +4 -3
  278. package/src/components/list/ListItem.tsx +4 -3
  279. package/src/components/list/ListSubheader.tsx +4 -3
  280. package/src/components/message/Message.tsx +7 -4
  281. package/src/components/mosaic/Mosaic.tsx +7 -5
  282. package/src/components/navigation/NavigationItem.tsx +1 -1
  283. package/src/components/navigation/NavigationSection.test.tsx +19 -6
  284. package/src/components/notification/Notification.tsx +4 -6
  285. package/src/components/popover/Popover.tsx +3 -2
  286. package/src/components/popover-dialog/PopoverDialog.tsx +5 -3
  287. package/src/components/post-block/PostBlock.tsx +4 -6
  288. package/src/components/progress/Progress.tsx +5 -4
  289. package/src/components/progress/ProgressCircular.tsx +4 -4
  290. package/src/components/progress/ProgressLinear.tsx +4 -4
  291. package/src/components/progress-tracker/ProgressTracker.tsx +5 -3
  292. package/src/components/progress-tracker/ProgressTrackerStep.tsx +5 -5
  293. package/src/components/progress-tracker/ProgressTrackerStepPanel.tsx +24 -24
  294. package/src/components/radio-button/RadioButton.tsx +4 -4
  295. package/src/components/radio-button/RadioGroup.tsx +4 -3
  296. package/src/components/select/Select.tsx +3 -5
  297. package/src/components/select/SelectMultiple.tsx +3 -5
  298. package/src/components/side-navigation/SideNavigation.tsx +4 -4
  299. package/src/components/side-navigation/SideNavigationItem.tsx +4 -5
  300. package/src/components/skeleton/SkeletonCircle.tsx +5 -3
  301. package/src/components/skeleton/SkeletonRectangle.tsx +5 -3
  302. package/src/components/skeleton/SkeletonTypography.tsx +5 -3
  303. package/src/components/slider/Slider.tsx +4 -5
  304. package/src/components/slideshow/Slides.tsx +6 -4
  305. package/src/components/slideshow/Slideshow.tsx +5 -3
  306. package/src/components/slideshow/SlideshowControls.tsx +4 -3
  307. package/src/components/slideshow/SlideshowItem.tsx +4 -3
  308. package/src/components/slideshow/SlideshowItemGroup.tsx +5 -4
  309. package/src/components/switch/Switch.tsx +4 -5
  310. package/src/components/table/Table.tsx +4 -4
  311. package/src/components/table/TableBody.tsx +4 -3
  312. package/src/components/table/TableCell.tsx +5 -5
  313. package/src/components/table/TableHeader.tsx +4 -3
  314. package/src/components/table/TableRow.tsx +4 -3
  315. package/src/components/tabs/Tab.tsx +4 -3
  316. package/src/components/tabs/TabList.tsx +8 -5
  317. package/src/components/tabs/TabPanel.tsx +7 -5
  318. package/src/components/text/Text.tsx +6 -4
  319. package/src/components/text-field/TextField.tsx +4 -3
  320. package/src/components/thumbnail/Thumbnail.tsx +5 -5
  321. package/src/components/toolbar/Toolbar.tsx +4 -3
  322. package/src/components/tooltip/Tooltip.tsx +4 -3
  323. package/src/components/uploader/Uploader.tsx +5 -3
  324. package/src/components/user-block/UserBlock.tsx +6 -4
  325. package/src/testing/utils/commonTestsSuiteRTL.tsx +2 -1
  326. package/src/utils/react/forwardRef.ts +10 -0
  327. package/src/utils/react/forwardRefPolymorphic.ts +10 -0
  328. package/utils/index.d.ts +1 -1
  329. package/src/utils/forwardRefPolymorphic.ts +0 -9
@@ -0,0 +1,652 @@
1
+ import { h as getRootClassName, i as forwardRef, _ as _extends, E as Emphasis, V as VISUALLY_HIDDEN, g as classNames, j as _objectWithoutProperties } from './1da25128.js';
2
+ import React__default, { useState, useRef, useCallback } from 'react';
3
+ import last from 'lodash/last';
4
+ import { o as onEnterPressed, h as handleBasicClasses } from './f57e1239.js';
5
+ import { I as IconButton } from './23bdba2d.js';
6
+ import { d as mdiChevronRight, a as mdiChevronLeft } from './c6c99f76.js';
7
+ import { FlexBox } from './components/flex-box/index.ts-c216e957.js';
8
+ import { Toolbar } from './components/toolbar/index.ts-813b902e.js';
9
+ import { TextField } from './components/text-field/index.ts-c3be8563.js';
10
+ import { T as Text } from './53c94227.js';
11
+ import { a as Button } from './4c20d932.js';
12
+ import { u as useBooleanState } from './2a3d237c.js';
13
+ import { P as Popover } from './54d9ded5.js';
14
+ import { P as Placement } from './2e2abe51.js';
15
+
16
+ /**
17
+ * Add a number of months from a date while resetting the day to prevent month length mismatches.
18
+ */
19
+ function addMonthResetDay(date, monthOffset) {
20
+ const newDate = new Date(date.getTime());
21
+ newDate.setDate(1);
22
+ newDate.setMonth(date.getMonth() + monthOffset);
23
+ return newDate;
24
+ }
25
+
26
+ /**
27
+ * Check if given date is valid.
28
+ */
29
+ const isDateValid = date => date instanceof Date && !Number.isNaN(date.getTime());
30
+
31
+ /**
32
+ * Component display name.
33
+ */
34
+ const COMPONENT_NAME$3 = 'DatePicker';
35
+
36
+ /**
37
+ * Component default class name and class prefix.
38
+ */
39
+ const CLASSNAME$1 = getRootClassName(COMPONENT_NAME$3);
40
+
41
+ /** Get first day of week for locale from the browser API */
42
+ const getFromBrowser = locale => {
43
+ try {
44
+ var _localeMetadata$getWe;
45
+ const localeMetadata = new Intl.Locale(locale.code);
46
+ const {
47
+ firstDay
48
+ } = ((_localeMetadata$getWe = localeMetadata.getWeekInfo) === null || _localeMetadata$getWe === void 0 ? void 0 : _localeMetadata$getWe.call(localeMetadata)) || localeMetadata.weekInfo;
49
+ // Sunday is represented as `0` in Date.getDay()
50
+ if (firstDay === 7) return 0;
51
+ return firstDay;
52
+ } catch (e) {
53
+ return undefined;
54
+ }
55
+ };
56
+
57
+ /** List first day for each locale (could be removed when all browser implement Locale weekInfo) */
58
+ const FIRST_DAY_FOR_LOCALES = [{
59
+ // Locales with Sunday as the first day of the week
60
+ localeRX: /^(af|ar-(dz|eg|sa)|bn|cy|en-(ca|us|za)|fr-ca|gd|he|hi|ja|km|ko|pt-br|te|th|ug|zh-hk)$/i,
61
+ firstDay: 0
62
+ }, {
63
+ // Locales with Monday as the first day of the week
64
+ localeRX: /^(ar-(ma|tn)|az|be|bg|bs|ca|cs|da|de|el|en-(au|gb|ie|in|nz)|eo|es|et|eu|fi|fr|fy|gl|gu|hr|ht|hu|hy|id|is|it|ka|kk|kn|lb|lt|lv|mk|mn|ms|mt|nb|nl|nn|oc|pl|pt|ro|ru|sk|sl|sq|sr|sv|ta|tr|uk|uz|vi|zh-(cn|tw))$/i,
65
+ firstDay: 1
66
+ }, {
67
+ // Locales with Saturday as the first day of the week
68
+ localeRX: /^(ar|fa-ir)$/i,
69
+ firstDay: 6
70
+ }];
71
+
72
+ /** Find first day of week for locale from the constant */
73
+ const getFromConstant = function (locale) {
74
+ let searchBy = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'code';
75
+ // Search for locale (lang + region)
76
+ for (const {
77
+ localeRX,
78
+ firstDay
79
+ } of FIRST_DAY_FOR_LOCALES) {
80
+ if (localeRX.test(locale[searchBy])) return firstDay;
81
+ }
82
+ // Fallback search for locale lang
83
+ if (locale.code !== locale.language) {
84
+ return getFromConstant(locale, 'language');
85
+ }
86
+ return undefined;
87
+ };
88
+
89
+ /**
90
+ * Get first day of the week for the given locale code (language + region).
91
+ */
92
+ const getFirstDayOfWeek = locale => {
93
+ // Get from browser API
94
+ const firstDay = getFromBrowser(locale);
95
+ if (firstDay !== undefined) return firstDay;
96
+
97
+ // Get from constant
98
+ return getFromConstant(locale);
99
+ };
100
+
101
+ const DAYS_PER_WEEK = 7;
102
+
103
+ /**
104
+ * List week days (based on locale) with the week day letter (ex: "M" for "Monday") and week day number
105
+ * (0-based index starting on Sunday).
106
+ */
107
+ const getWeekDays = locale => {
108
+ var _getFirstDayOfWeek;
109
+ const iterDate = new Date();
110
+ const firstDay = (_getFirstDayOfWeek = getFirstDayOfWeek(locale)) !== null && _getFirstDayOfWeek !== void 0 ? _getFirstDayOfWeek : 1;
111
+
112
+ // Go to start of the week
113
+ const offset = firstDay - iterDate.getDay();
114
+ iterDate.setDate(iterDate.getDate() + offset);
115
+
116
+ // Iterate through the days of the week
117
+ const weekDays = [];
118
+ for (let i = 0; i < DAYS_PER_WEEK; i++) {
119
+ // Single letter week day (ex: "M" for "Monday", "L" for "Lundi", etc.)
120
+ const letter = iterDate.toLocaleDateString(locale.code, {
121
+ weekday: 'narrow'
122
+ });
123
+ // Weed day long notation
124
+ const long = iterDate.toLocaleDateString(locale.code, {
125
+ weekday: 'long'
126
+ });
127
+ // Day number (1-based index starting on Monday)
128
+ const number = iterDate.getDay();
129
+ weekDays.push({
130
+ letter,
131
+ number,
132
+ long
133
+ });
134
+ iterDate.setDate(iterDate.getDate() + 1);
135
+ }
136
+ return weekDays;
137
+ };
138
+
139
+ /** Up to 6 rows can appear in a month calendar => 4 weeks + 1 start of month partial week + 1 send of month partial week */
140
+ const MONTH_ROW_COUNT = 6;
141
+
142
+ /**
143
+ * Get month calendar.
144
+ * A list of weeks with days indexed by week day number
145
+ */
146
+ const getMonthCalendar = function (locale) {
147
+ let referenceDate = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : new Date();
148
+ let rangeMinDate = arguments.length > 2 ? arguments[2] : undefined;
149
+ let rangeMaxDate = arguments.length > 3 ? arguments[3] : undefined;
150
+ const month = referenceDate.getMonth();
151
+ const iterDate = new Date(referenceDate.getTime());
152
+ iterDate.setDate(1);
153
+ const weekDays = getWeekDays(locale);
154
+ const lastDayOfWeek = last(weekDays);
155
+ const weeks = [];
156
+ let week = {};
157
+ let rowCount = 0;
158
+ while (rowCount < MONTH_ROW_COUNT) {
159
+ const weekDayNumber = iterDate.getDay();
160
+ const day = {
161
+ date: new Date(iterDate.getTime())
162
+ };
163
+
164
+ // If a range is specified, check if the day is out of range.
165
+ if (rangeMinDate && iterDate <= rangeMinDate || rangeMaxDate && iterDate >= rangeMaxDate) {
166
+ day.isOutOfRange = true;
167
+ }
168
+ if (iterDate.getMonth() === month) {
169
+ week[weekDayNumber] = day;
170
+ }
171
+ if (weekDayNumber === lastDayOfWeek.number) {
172
+ weeks.push(week);
173
+ rowCount += 1;
174
+ week = {};
175
+ }
176
+ iterDate.setDate(iterDate.getDate() + 1);
177
+ }
178
+ if (Object.keys(week).length) weeks.push(week);
179
+ return {
180
+ weeks,
181
+ weekDays
182
+ };
183
+ };
184
+
185
+ /**
186
+ * Check `date1` is on the same day as `date2`.
187
+ */
188
+ const isSameDay = (date1, date2) => isDateValid(date1) && isDateValid(date2) && date1.getFullYear() === date2.getFullYear() && date1.getMonth() === date2.getMonth() && date1.getDate() === date2.getDate();
189
+
190
+ /**
191
+ * Get current browser locale.
192
+ */
193
+ const getCurrentLocale = () => {
194
+ var _navigator$languages;
195
+ return ((_navigator$languages = navigator.languages) === null || _navigator$languages === void 0 ? void 0 : _navigator$languages[0]) || navigator.language;
196
+ };
197
+
198
+ /**
199
+ * Parse locale code
200
+ * @example
201
+ * parseLocale('EN') // => { code: 'en', language: 'en' }
202
+ * parseLocale('en_us') // => { code: 'en-US', language: 'en', region: 'US' }
203
+ * parseLocale('EN-US') // => { code: 'en-US', language: 'en', region: 'US' }
204
+ */
205
+ function parseLocale(locale) {
206
+ const [rawLanguage, rawRegion] = locale.split(/[-_]/);
207
+ if (!rawLanguage) {
208
+ return undefined;
209
+ }
210
+ const language = rawLanguage.toLowerCase();
211
+ let region;
212
+ let code = language;
213
+ if (rawRegion) {
214
+ region = rawRegion.toUpperCase();
215
+ code += `-${region}`;
216
+ }
217
+ return {
218
+ code,
219
+ region,
220
+ language
221
+ };
222
+ }
223
+
224
+ /**
225
+ * Returns the value from the previous render.
226
+ */
227
+ function usePreviousValue(value) {
228
+ const prevValueRef = React__default.useRef();
229
+ const prevValue = prevValueRef.current;
230
+ React__default.useEffect(() => {
231
+ prevValueRef.current = value;
232
+ }, [value]);
233
+ return prevValue;
234
+ }
235
+
236
+ const getYearDisplayName = locale => {
237
+ let label;
238
+ try {
239
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
240
+ // @ts-ignore
241
+ const displayNames = new Intl.DisplayNames(locale, {
242
+ type: 'dateTimeField'
243
+ });
244
+ label = displayNames.of('year');
245
+ } catch (error) {
246
+ label = '';
247
+ }
248
+ return label;
249
+ };
250
+
251
+ function formatDayNumber(locale, date) {
252
+ const formattedDate = date.toLocaleDateString(locale, {
253
+ day: 'numeric'
254
+ });
255
+ if (formattedDate.match(/\d/)) return formattedDate.replace(/\D*(\d+)\D*/g, '$1');
256
+ return formattedDate;
257
+ }
258
+
259
+ /**
260
+ * Defines the props of the component.
261
+ */
262
+
263
+ /**
264
+ * Component display name.
265
+ */
266
+ const COMPONENT_NAME$2 = 'DatePickerControlled';
267
+
268
+ /**
269
+ * DatePickerControlled component.
270
+ *
271
+ * @param props Component props.
272
+ * @param ref Component ref.
273
+ * @return React element.
274
+ */
275
+ const DatePickerControlled = forwardRef((props, ref) => {
276
+ var _RegExp$exec;
277
+ const {
278
+ locale = getCurrentLocale(),
279
+ maxDate,
280
+ minDate,
281
+ nextButtonProps,
282
+ onChange,
283
+ onNextMonthChange,
284
+ onPrevMonthChange,
285
+ previousButtonProps,
286
+ selectedMonth,
287
+ todayOrSelectedDateRef,
288
+ value,
289
+ onMonthChange,
290
+ style
291
+ } = props;
292
+ const {
293
+ weeks,
294
+ weekDays
295
+ } = React__default.useMemo(() => {
296
+ const localeObj = parseLocale(locale);
297
+ return getMonthCalendar(localeObj, selectedMonth, minDate, maxDate);
298
+ }, [locale, minDate, maxDate, selectedMonth]);
299
+ const selectedYear = selectedMonth.getFullYear();
300
+ const formattedYear = selectedMonth.toLocaleDateString(locale, {
301
+ year: 'numeric'
302
+ }).slice(0, 4);
303
+ const [currentYear, setCurrentYear] = React__default.useState(String(selectedYear));
304
+
305
+ // Updates month offset when validating year. Adds or removes 12 months per year when updating year value.
306
+ const updateMonthOffset = React__default.useCallback(newYearValue => {
307
+ const yearNumber = Number(newYearValue);
308
+ if (yearNumber < 0 && yearNumber >= 9999) {
309
+ return;
310
+ }
311
+ const previousYearNumber = selectedMonth.getFullYear();
312
+ const offset = (yearNumber - previousYearNumber) * 12;
313
+ onMonthChange === null || onMonthChange === void 0 ? void 0 : onMonthChange(addMonthResetDay(selectedMonth, offset));
314
+ }, [selectedMonth, onMonthChange]);
315
+ const onYearChange = React__default.useCallback((newYearValue, _, event) => {
316
+ var _event$nativeEvent;
317
+ setCurrentYear(newYearValue);
318
+
319
+ // Detect if change is coming from the spin up/down arrows
320
+ const inputType = event === null || event === void 0 ? void 0 : (_event$nativeEvent = event.nativeEvent) === null || _event$nativeEvent === void 0 ? void 0 : _event$nativeEvent.inputType;
321
+ if (
322
+ // Chrome/Safari
323
+ !inputType ||
324
+ // Firefox
325
+ inputType === 'insertReplacementText') {
326
+ updateMonthOffset(newYearValue);
327
+ }
328
+ }, [updateMonthOffset]);
329
+ const updateYear = React__default.useCallback(() => {
330
+ updateMonthOffset(currentYear);
331
+ }, [updateMonthOffset, currentYear]);
332
+ const updateYearOnEnterPressed = React__default.useMemo(() => onEnterPressed(updateYear), [updateYear]);
333
+ const monthYear = selectedMonth.toLocaleDateString(locale, {
334
+ year: 'numeric',
335
+ month: 'long'
336
+ });
337
+
338
+ // Update current year when selected year changes
339
+ React__default.useEffect(() => {
340
+ setCurrentYear(String(selectedYear));
341
+ }, [selectedYear]);
342
+ const prevSelectedMonth = usePreviousValue(selectedMonth);
343
+ const monthHasChanged = prevSelectedMonth && !isSameDay(selectedMonth, prevSelectedMonth);
344
+
345
+ // Only set the aria-live after the month has changed otherwise it can get announced on mount when used in the popover dialog
346
+ const [labelAriaLive, setLabelAriaLive] = React__default.useState();
347
+ React__default.useEffect(() => {
348
+ if (monthHasChanged) setLabelAriaLive('polite');
349
+ }, [monthHasChanged]);
350
+ const yearLabel = getYearDisplayName(locale);
351
+ return /*#__PURE__*/React__default.createElement("div", {
352
+ ref: ref,
353
+ className: `${CLASSNAME$1}`,
354
+ style: style
355
+ }, /*#__PURE__*/React__default.createElement(Toolbar, {
356
+ className: `${CLASSNAME$1}__toolbar`,
357
+ after: /*#__PURE__*/React__default.createElement(IconButton, _extends({}, nextButtonProps, {
358
+ emphasis: Emphasis.low,
359
+ icon: mdiChevronRight,
360
+ onClick: onNextMonthChange
361
+ })),
362
+ before: /*#__PURE__*/React__default.createElement(IconButton, _extends({}, previousButtonProps, {
363
+ emphasis: Emphasis.low,
364
+ icon: mdiChevronLeft,
365
+ onClick: onPrevMonthChange
366
+ })),
367
+ label: /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement("span", {
368
+ "aria-live": labelAriaLive,
369
+ className: onMonthChange ? VISUALLY_HIDDEN : '',
370
+ dir: "auto"
371
+ }, monthYear), onMonthChange && /*#__PURE__*/React__default.createElement(FlexBox, {
372
+ className: `${CLASSNAME$1}__month`,
373
+ orientation: "horizontal",
374
+ hAlign: "center",
375
+ gap: "regular",
376
+ vAlign: "center",
377
+ dir: "auto"
378
+ }, (_RegExp$exec = RegExp(`(.*)(${formattedYear})(.*)`).exec(monthYear)) === null || _RegExp$exec === void 0 ? void 0 : _RegExp$exec.slice(1).filter(part => part !== '').map(part => part === formattedYear ? /*#__PURE__*/React__default.createElement(TextField, {
379
+ value: currentYear,
380
+ "aria-label": yearLabel,
381
+ onChange: onYearChange,
382
+ type: "number",
383
+ max: 9999,
384
+ min: 0,
385
+ onBlur: updateYear,
386
+ onKeyPress: updateYearOnEnterPressed,
387
+ key: "year",
388
+ className: `${CLASSNAME$1}__year`
389
+ }) : /*#__PURE__*/React__default.createElement(Text, {
390
+ as: "p",
391
+ key: part
392
+ }, part))))
393
+ }), /*#__PURE__*/React__default.createElement("div", {
394
+ className: `${CLASSNAME$1}__calendar`
395
+ }, /*#__PURE__*/React__default.createElement("div", {
396
+ className: `${CLASSNAME$1}__week-days ${CLASSNAME$1}__days-wrapper`
397
+ }, weekDays.map(_ref => {
398
+ let {
399
+ letter,
400
+ number,
401
+ long
402
+ } = _ref;
403
+ return /*#__PURE__*/React__default.createElement("div", {
404
+ key: number,
405
+ className: `${CLASSNAME$1}__day-wrapper`
406
+ }, /*#__PURE__*/React__default.createElement("span", {
407
+ className: `${CLASSNAME$1}__week-day`,
408
+ "aria-hidden": true
409
+ }, letter.toLocaleUpperCase()), /*#__PURE__*/React__default.createElement("span", {
410
+ className: "visually-hidden"
411
+ }, long));
412
+ })), /*#__PURE__*/React__default.createElement("div", {
413
+ className: `${CLASSNAME$1}__month-days ${CLASSNAME$1}__days-wrapper`
414
+ }, weeks.flatMap((week, weekIndex) => {
415
+ return weekDays.map((weekDay, dayIndex) => {
416
+ const {
417
+ date,
418
+ isOutOfRange
419
+ } = week[weekDay.number] || {};
420
+ const key = `${weekIndex}-${dayIndex}`;
421
+ const isToday = !isOutOfRange && date && isSameDay(date, new Date());
422
+ const isSelected = date && value && isSameDay(value, date);
423
+ return /*#__PURE__*/React__default.createElement("div", {
424
+ key: key,
425
+ className: `${CLASSNAME$1}__day-wrapper`
426
+ }, date && /*#__PURE__*/React__default.createElement(Button, {
427
+ ref: isSelected || !value && isToday ? todayOrSelectedDateRef : null,
428
+ className: classNames(`${CLASSNAME$1}__month-day`, {
429
+ [`${CLASSNAME$1}__month-day--is-today`]: isToday
430
+ }),
431
+ disabled: isOutOfRange,
432
+ isSelected: isSelected,
433
+ emphasis: "low",
434
+ onClick: () => onChange(date)
435
+ }, /*#__PURE__*/React__default.createElement("span", {
436
+ "aria-hidden": true
437
+ }, formatDayNumber(locale, date)), /*#__PURE__*/React__default.createElement("span", {
438
+ className: VISUALLY_HIDDEN
439
+ }, date.toLocaleDateString(locale, {
440
+ day: 'numeric',
441
+ month: 'long',
442
+ year: 'numeric'
443
+ }))));
444
+ });
445
+ }))));
446
+ });
447
+ DatePickerControlled.displayName = COMPONENT_NAME$2;
448
+ DatePickerControlled.className = CLASSNAME$1;
449
+
450
+ const _excluded$2 = ["defaultMonth", "locale", "value", "onChange"];
451
+ /**
452
+ * DatePicker component.
453
+ *
454
+ * @param props Component props.
455
+ * @param ref Component ref.
456
+ * @return React element.
457
+ */
458
+ const DatePicker = forwardRef((props, ref) => {
459
+ const {
460
+ defaultMonth,
461
+ locale,
462
+ value,
463
+ onChange
464
+ } = props,
465
+ forwardedProps = _objectWithoutProperties(props, _excluded$2);
466
+ let referenceDate = value || defaultMonth || new Date();
467
+ if (!isDateValid(referenceDate)) {
468
+ // eslint-disable-next-line no-console
469
+ console.warn(`[@lumx/react/DatePicker] Invalid date provided ${referenceDate}`);
470
+ referenceDate = new Date();
471
+ }
472
+ const [selectedMonth, setSelectedMonth] = useState(referenceDate);
473
+ const setPrevMonth = () => setSelectedMonth(current => addMonthResetDay(current, -1));
474
+ const setNextMonth = () => setSelectedMonth(current => addMonthResetDay(current, +1));
475
+ const onDatePickerChange = newDate => {
476
+ onChange(newDate);
477
+ };
478
+ return /*#__PURE__*/React__default.createElement(DatePickerControlled, _extends({
479
+ ref: ref
480
+ }, forwardedProps, {
481
+ defaultMonth: defaultMonth,
482
+ locale: locale,
483
+ value: value,
484
+ onPrevMonthChange: setPrevMonth,
485
+ onNextMonthChange: setNextMonth,
486
+ selectedMonth: selectedMonth,
487
+ onChange: onDatePickerChange,
488
+ onMonthChange: setSelectedMonth
489
+ }));
490
+ });
491
+ DatePicker.displayName = COMPONENT_NAME$3;
492
+ DatePicker.className = CLASSNAME$1;
493
+
494
+ const _excluded$1 = ["defaultMonth", "disabled", "isDisabled", "locale", "maxDate", "minDate", "name", "nextButtonProps", "onChange", "previousButtonProps", "value"];
495
+
496
+ /**
497
+ * Defines the props of the component.
498
+ */
499
+
500
+ /**
501
+ * Component display name.
502
+ */
503
+ const COMPONENT_NAME$1 = 'DatePickerField';
504
+
505
+ /**
506
+ * DatePickerField component.
507
+ *
508
+ * @param props Component props.
509
+ * @param ref Component ref.
510
+ * @return React element.
511
+ */
512
+ const DatePickerField = forwardRef((props, ref) => {
513
+ const {
514
+ defaultMonth,
515
+ disabled,
516
+ isDisabled = disabled,
517
+ locale = getCurrentLocale(),
518
+ maxDate,
519
+ minDate,
520
+ name,
521
+ nextButtonProps,
522
+ onChange,
523
+ previousButtonProps,
524
+ value
525
+ } = props,
526
+ forwardedProps = _objectWithoutProperties(props, _excluded$1);
527
+ const anchorRef = useRef(null);
528
+ const [isOpen, close,, toggleOpen] = useBooleanState(false);
529
+ const handleKeyboardNav = useCallback(evt => {
530
+ if (evt.key === 'Enter' || evt.key === ' ') {
531
+ toggleOpen();
532
+ }
533
+ }, [toggleOpen]);
534
+ const onTextFieldChange = useCallback((textFieldValue, textFieldName, event) => {
535
+ if (!textFieldValue) {
536
+ onChange(undefined, textFieldName, event);
537
+ }
538
+ }, [onChange]);
539
+ const onDatePickerChange = useCallback(newDate => {
540
+ onChange(newDate, name);
541
+ close();
542
+ }, [name, onChange, close]);
543
+
544
+ // Format date for text field
545
+ const textFieldValue = (value === null || value === void 0 ? void 0 : value.toLocaleDateString(locale, {
546
+ year: 'numeric',
547
+ month: 'long',
548
+ day: 'numeric'
549
+ })) || '';
550
+ const todayOrSelectedDateRef = React__default.useRef(null);
551
+ return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(TextField, _extends({
552
+ ref: ref
553
+ }, forwardedProps, {
554
+ name: name,
555
+ forceFocusStyle: isOpen,
556
+ textFieldRef: anchorRef,
557
+ value: textFieldValue,
558
+ onClick: toggleOpen,
559
+ onChange: onTextFieldChange,
560
+ onKeyPress: handleKeyboardNav,
561
+ isDisabled: isDisabled,
562
+ readOnly: true,
563
+ "aria-haspopup": "dialog"
564
+ })), isOpen ? /*#__PURE__*/React__default.createElement(PopoverDialog
565
+ // Can't use `aria-labelledby` targeting the text field label element (not correctly read on some screen readers)
566
+ , {
567
+ "aria-label": forwardedProps.label,
568
+ anchorRef: anchorRef,
569
+ placement: Placement.BOTTOM_START,
570
+ isOpen: isOpen,
571
+ onClose: close
572
+ // On open, focus the selected day or today
573
+ ,
574
+ focusElement: todayOrSelectedDateRef
575
+ }, /*#__PURE__*/React__default.createElement(DatePicker, {
576
+ locale: locale,
577
+ maxDate: maxDate,
578
+ minDate: minDate,
579
+ value: value,
580
+ todayOrSelectedDateRef: todayOrSelectedDateRef,
581
+ onChange: onDatePickerChange,
582
+ defaultMonth: defaultMonth,
583
+ nextButtonProps: nextButtonProps,
584
+ previousButtonProps: previousButtonProps
585
+ })) : null);
586
+ });
587
+ DatePickerField.displayName = COMPONENT_NAME$1;
588
+
589
+ const _excluded = ["children", "isOpen", "focusElement", "aria-label", "label", "className"];
590
+
591
+ /**
592
+ * PopoverDialog props.
593
+ * The PopoverDialog has the same props as the Popover but requires an accessible label.
594
+ */
595
+
596
+ /**
597
+ * Component display name.
598
+ */
599
+ const COMPONENT_NAME = 'PopoverDialog';
600
+
601
+ /**
602
+ * Component default class name and class prefix.
603
+ */
604
+ const CLASSNAME = getRootClassName(COMPONENT_NAME);
605
+
606
+ /**
607
+ * Component default props.
608
+ */
609
+ const DEFAULT_PROPS = {};
610
+
611
+ /**
612
+ * PopoverDialog component.
613
+ * Defines a popover that acts like a dialog
614
+ * * Has a dialog aria role
615
+ * * Sets a focus trap within the popover
616
+ * * Closes on click away and escape.
617
+ */
618
+ const PopoverDialog = forwardRef((props, ref) => {
619
+ const {
620
+ children,
621
+ isOpen,
622
+ focusElement,
623
+ 'aria-label': ariaLabel,
624
+ label = ariaLabel,
625
+ className
626
+ } = props,
627
+ forwardedProps = _objectWithoutProperties(props, _excluded);
628
+ return /*#__PURE__*/React__default.createElement(Popover, _extends({}, forwardedProps, {
629
+ ref: ref,
630
+ className: classNames(className, handleBasicClasses({
631
+ prefix: CLASSNAME
632
+ })),
633
+ role: "dialog",
634
+ "aria-modal": "true"
635
+ /**
636
+ * If a label is set, set as aria-label.
637
+ * If it is undefined, the label can be set using the `aria-label` and `aria-labelledby` props
638
+ */,
639
+ "aria-label": label,
640
+ isOpen: isOpen,
641
+ focusElement: focusElement,
642
+ closeOnClickAway: true,
643
+ closeOnEscape: true,
644
+ withFocusTrap: true
645
+ }), children);
646
+ });
647
+ PopoverDialog.displayName = COMPONENT_NAME;
648
+ PopoverDialog.className = CLASSNAME;
649
+ PopoverDialog.defaultProps = DEFAULT_PROPS;
650
+
651
+ export { DatePicker as D, PopoverDialog as P, DatePickerControlled as a, DatePickerField as b };
652
+ //# sourceMappingURL=56aec41b.js.map