@react-spectrum/s2 1.0.0 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (629) hide show
  1. package/dist/Accordion.cjs +3 -3
  2. package/dist/Accordion.cjs.map +1 -1
  3. package/dist/Accordion.css +2 -2
  4. package/dist/Accordion.css.map +1 -1
  5. package/dist/Accordion.mjs +3 -3
  6. package/dist/Accordion.mjs.map +1 -1
  7. package/dist/ActionBar.cjs +62 -61
  8. package/dist/ActionBar.cjs.map +1 -1
  9. package/dist/ActionBar.css +58 -58
  10. package/dist/ActionBar.css.map +1 -1
  11. package/dist/ActionBar.mjs +62 -61
  12. package/dist/ActionBar.mjs.map +1 -1
  13. package/dist/ActionButton.cjs +234 -234
  14. package/dist/ActionButton.cjs.map +1 -1
  15. package/dist/ActionButton.css +160 -160
  16. package/dist/ActionButton.css.map +1 -1
  17. package/dist/ActionButton.mjs +234 -234
  18. package/dist/ActionButton.mjs.map +1 -1
  19. package/dist/ActionButtonGroup.cjs +16 -16
  20. package/dist/ActionButtonGroup.css +9 -9
  21. package/dist/ActionButtonGroup.mjs +16 -16
  22. package/dist/Add.cjs +10 -10
  23. package/dist/Add.css +6 -6
  24. package/dist/Add.mjs +10 -10
  25. package/dist/AlertDialog.cjs +3 -3
  26. package/dist/AlertDialog.css +3 -3
  27. package/dist/AlertDialog.mjs +3 -3
  28. package/dist/Asterisk.cjs +6 -6
  29. package/dist/Asterisk.css +4 -4
  30. package/dist/Asterisk.mjs +6 -6
  31. package/dist/Avatar.cjs +17 -17
  32. package/dist/Avatar.css +16 -16
  33. package/dist/Avatar.mjs +17 -17
  34. package/dist/AvatarGroup.cjs +121 -121
  35. package/dist/AvatarGroup.css +31 -31
  36. package/dist/AvatarGroup.mjs +121 -121
  37. package/dist/Badge.cjs +197 -197
  38. package/dist/Badge.css +125 -125
  39. package/dist/Badge.mjs +197 -197
  40. package/dist/Breadcrumbs.cjs +235 -235
  41. package/dist/Breadcrumbs.cjs.map +1 -1
  42. package/dist/Breadcrumbs.css +100 -100
  43. package/dist/Breadcrumbs.css.map +1 -1
  44. package/dist/Breadcrumbs.mjs +235 -235
  45. package/dist/Breadcrumbs.mjs.map +1 -1
  46. package/dist/Button.cjs +333 -333
  47. package/dist/Button.cjs.map +1 -1
  48. package/dist/Button.css +174 -174
  49. package/dist/Button.css.map +1 -1
  50. package/dist/Button.mjs +333 -333
  51. package/dist/Button.mjs.map +1 -1
  52. package/dist/ButtonGroup.cjs +21 -21
  53. package/dist/ButtonGroup.css +15 -15
  54. package/dist/ButtonGroup.mjs +21 -21
  55. package/dist/Calendar.cjs +169 -169
  56. package/dist/Calendar.cjs.map +1 -1
  57. package/dist/Calendar.css +134 -134
  58. package/dist/Calendar.css.map +1 -1
  59. package/dist/Calendar.mjs +169 -169
  60. package/dist/Calendar.mjs.map +1 -1
  61. package/dist/Card.cjs +310 -310
  62. package/dist/Card.cjs.map +1 -1
  63. package/dist/Card.css +206 -206
  64. package/dist/Card.css.map +1 -1
  65. package/dist/Card.mjs +310 -310
  66. package/dist/Card.mjs.map +1 -1
  67. package/dist/CardView.cjs +19 -19
  68. package/dist/CardView.cjs.map +1 -1
  69. package/dist/CardView.css +17 -17
  70. package/dist/CardView.css.map +1 -1
  71. package/dist/CardView.mjs +19 -19
  72. package/dist/CardView.mjs.map +1 -1
  73. package/dist/CenterBaseline.cjs +1 -1
  74. package/dist/CenterBaseline.css +2 -2
  75. package/dist/CenterBaseline.mjs +1 -1
  76. package/dist/Checkbox.cjs +162 -162
  77. package/dist/Checkbox.cjs.map +1 -1
  78. package/dist/Checkbox.css +95 -91
  79. package/dist/Checkbox.css.map +1 -1
  80. package/dist/Checkbox.mjs +162 -162
  81. package/dist/Checkbox.mjs.map +1 -1
  82. package/dist/CheckboxGroup.cjs +44 -44
  83. package/dist/CheckboxGroup.cjs.map +1 -1
  84. package/dist/CheckboxGroup.css +37 -37
  85. package/dist/CheckboxGroup.css.map +1 -1
  86. package/dist/CheckboxGroup.mjs +44 -44
  87. package/dist/CheckboxGroup.mjs.map +1 -1
  88. package/dist/Checkmark.cjs +12 -12
  89. package/dist/Checkmark.css +8 -8
  90. package/dist/Checkmark.mjs +12 -12
  91. package/dist/Chevron.cjs +12 -12
  92. package/dist/Chevron.css +10 -10
  93. package/dist/Chevron.mjs +12 -12
  94. package/dist/ClearButton.cjs +30 -30
  95. package/dist/ClearButton.css +30 -30
  96. package/dist/ClearButton.mjs +30 -30
  97. package/dist/CloseButton.cjs +56 -56
  98. package/dist/CloseButton.css +47 -47
  99. package/dist/CloseButton.mjs +56 -56
  100. package/dist/ColorArea.cjs +17 -17
  101. package/dist/ColorArea.cjs.map +1 -1
  102. package/dist/ColorArea.css +16 -16
  103. package/dist/ColorArea.css.map +1 -1
  104. package/dist/ColorArea.mjs +17 -17
  105. package/dist/ColorArea.mjs.map +1 -1
  106. package/dist/ColorField.cjs +32 -32
  107. package/dist/ColorField.cjs.map +1 -1
  108. package/dist/ColorField.css +27 -27
  109. package/dist/ColorField.css.map +1 -1
  110. package/dist/ColorField.mjs +32 -32
  111. package/dist/ColorField.mjs.map +1 -1
  112. package/dist/ColorHandle.cjs +27 -27
  113. package/dist/ColorHandle.css +42 -42
  114. package/dist/ColorHandle.mjs +27 -27
  115. package/dist/ColorSlider.cjs +109 -109
  116. package/dist/ColorSlider.cjs.map +1 -1
  117. package/dist/ColorSlider.css +52 -52
  118. package/dist/ColorSlider.css.map +1 -1
  119. package/dist/ColorSlider.mjs +109 -109
  120. package/dist/ColorSlider.mjs.map +1 -1
  121. package/dist/ColorSwatch.cjs +30 -30
  122. package/dist/ColorSwatch.cjs.map +1 -1
  123. package/dist/ColorSwatch.css +29 -29
  124. package/dist/ColorSwatch.css.map +1 -1
  125. package/dist/ColorSwatch.mjs +30 -30
  126. package/dist/ColorSwatch.mjs.map +1 -1
  127. package/dist/ColorSwatchPicker.cjs +30 -30
  128. package/dist/ColorSwatchPicker.css +48 -48
  129. package/dist/ColorSwatchPicker.mjs +30 -30
  130. package/dist/ColorWheel.cjs +31 -27
  131. package/dist/ColorWheel.cjs.map +1 -1
  132. package/dist/ColorWheel.css +17 -17
  133. package/dist/ColorWheel.css.map +1 -1
  134. package/dist/ColorWheel.mjs +31 -27
  135. package/dist/ColorWheel.mjs.map +1 -1
  136. package/dist/ComboBox.cjs +383 -383
  137. package/dist/ComboBox.cjs.map +1 -1
  138. package/dist/ComboBox.css +187 -187
  139. package/dist/ComboBox.css.map +1 -1
  140. package/dist/ComboBox.mjs +383 -383
  141. package/dist/ComboBox.mjs.map +1 -1
  142. package/dist/ContextualHelp.cjs +70 -41
  143. package/dist/ContextualHelp.cjs.map +1 -1
  144. package/dist/ContextualHelp.css +71 -71
  145. package/dist/ContextualHelp.css.map +1 -1
  146. package/dist/ContextualHelp.mjs +74 -46
  147. package/dist/ContextualHelp.mjs.map +1 -1
  148. package/dist/Cross.cjs +14 -14
  149. package/dist/Cross.css +10 -10
  150. package/dist/Cross.mjs +14 -14
  151. package/dist/CustomDialog.cjs +26 -26
  152. package/dist/CustomDialog.cjs.map +1 -1
  153. package/dist/CustomDialog.css +25 -25
  154. package/dist/CustomDialog.css.map +1 -1
  155. package/dist/CustomDialog.mjs +26 -26
  156. package/dist/CustomDialog.mjs.map +1 -1
  157. package/dist/Dash.cjs +10 -10
  158. package/dist/Dash.css +6 -6
  159. package/dist/Dash.mjs +10 -10
  160. package/dist/DateField.cjs +74 -74
  161. package/dist/DateField.cjs.map +1 -1
  162. package/dist/DateField.css +77 -77
  163. package/dist/DateField.css.map +1 -1
  164. package/dist/DateField.mjs +74 -74
  165. package/dist/DateField.mjs.map +1 -1
  166. package/dist/DatePicker.cjs +173 -173
  167. package/dist/DatePicker.cjs.map +1 -1
  168. package/dist/DatePicker.css +128 -128
  169. package/dist/DatePicker.css.map +1 -1
  170. package/dist/DatePicker.mjs +173 -173
  171. package/dist/DatePicker.mjs.map +1 -1
  172. package/dist/DateRangePicker.cjs +56 -56
  173. package/dist/DateRangePicker.cjs.map +1 -1
  174. package/dist/DateRangePicker.css +59 -59
  175. package/dist/DateRangePicker.css.map +1 -1
  176. package/dist/DateRangePicker.mjs +56 -56
  177. package/dist/DateRangePicker.mjs.map +1 -1
  178. package/dist/Dialog.cjs +17 -17
  179. package/dist/Dialog.cjs.map +1 -1
  180. package/dist/Dialog.css +70 -70
  181. package/dist/Dialog.css.map +1 -1
  182. package/dist/Dialog.mjs +17 -17
  183. package/dist/Dialog.mjs.map +1 -1
  184. package/dist/Disclosure.cjs +120 -120
  185. package/dist/Disclosure.cjs.map +1 -1
  186. package/dist/Disclosure.css +112 -112
  187. package/dist/Disclosure.css.map +1 -1
  188. package/dist/Disclosure.mjs +120 -120
  189. package/dist/Disclosure.mjs.map +1 -1
  190. package/dist/Divider.cjs +26 -26
  191. package/dist/Divider.cjs.map +1 -1
  192. package/dist/Divider.css +25 -25
  193. package/dist/Divider.css.map +1 -1
  194. package/dist/Divider.mjs +26 -26
  195. package/dist/Divider.mjs.map +1 -1
  196. package/dist/DropZone.cjs +62 -62
  197. package/dist/DropZone.cjs.map +1 -1
  198. package/dist/DropZone.css +57 -57
  199. package/dist/DropZone.css.map +1 -1
  200. package/dist/DropZone.mjs +62 -62
  201. package/dist/DropZone.mjs.map +1 -1
  202. package/dist/Field.cjs +351 -351
  203. package/dist/Field.cjs.map +1 -1
  204. package/dist/Field.css +147 -147
  205. package/dist/Field.css.map +1 -1
  206. package/dist/Field.mjs +351 -351
  207. package/dist/Field.mjs.map +1 -1
  208. package/dist/Form.cjs +10 -10
  209. package/dist/Form.cjs.map +1 -1
  210. package/dist/Form.css +9 -9
  211. package/dist/Form.css.map +1 -1
  212. package/dist/Form.mjs +10 -10
  213. package/dist/Form.mjs.map +1 -1
  214. package/dist/FullscreenDialog.cjs +5 -5
  215. package/dist/FullscreenDialog.cjs.map +1 -1
  216. package/dist/FullscreenDialog.css +78 -78
  217. package/dist/FullscreenDialog.css.map +1 -1
  218. package/dist/FullscreenDialog.mjs +5 -5
  219. package/dist/FullscreenDialog.mjs.map +1 -1
  220. package/dist/IllustratedMessage.cjs +229 -229
  221. package/dist/IllustratedMessage.css +72 -72
  222. package/dist/IllustratedMessage.mjs +229 -229
  223. package/dist/Image.cjs +14 -14
  224. package/dist/Image.css +14 -14
  225. package/dist/Image.mjs +14 -14
  226. package/dist/InlineAlert.cjs +101 -101
  227. package/dist/InlineAlert.css +76 -76
  228. package/dist/InlineAlert.mjs +101 -101
  229. package/dist/Link.cjs +50 -50
  230. package/dist/Link.cjs.map +1 -1
  231. package/dist/Link.css +41 -41
  232. package/dist/Link.css.map +1 -1
  233. package/dist/Link.mjs +50 -50
  234. package/dist/Link.mjs.map +1 -1
  235. package/dist/LinkOut.cjs +8 -8
  236. package/dist/LinkOut.css +8 -8
  237. package/dist/LinkOut.mjs +8 -8
  238. package/dist/ListView.cjs +777 -0
  239. package/dist/ListView.cjs.map +1 -0
  240. package/dist/ListView.css +740 -0
  241. package/dist/ListView.css.map +1 -0
  242. package/dist/ListView.mjs +770 -0
  243. package/dist/ListView.mjs.map +1 -0
  244. package/dist/Menu.cjs +540 -445
  245. package/dist/Menu.cjs.map +1 -1
  246. package/dist/Menu.css +234 -190
  247. package/dist/Menu.css.map +1 -1
  248. package/dist/Menu.mjs +541 -447
  249. package/dist/Menu.mjs.map +1 -1
  250. package/dist/Meter.cjs +154 -154
  251. package/dist/Meter.cjs.map +1 -1
  252. package/dist/Meter.css +91 -91
  253. package/dist/Meter.css.map +1 -1
  254. package/dist/Meter.mjs +154 -154
  255. package/dist/Meter.mjs.map +1 -1
  256. package/dist/Modal.cjs +66 -66
  257. package/dist/Modal.cjs.map +1 -1
  258. package/dist/Modal.css +54 -54
  259. package/dist/Modal.css.map +1 -1
  260. package/dist/Modal.mjs +66 -66
  261. package/dist/Modal.mjs.map +1 -1
  262. package/dist/NotificationBadge.cjs +57 -57
  263. package/dist/NotificationBadge.css +49 -49
  264. package/dist/NotificationBadge.mjs +57 -57
  265. package/dist/NumberField.cjs +115 -115
  266. package/dist/NumberField.cjs.map +1 -1
  267. package/dist/NumberField.css +99 -99
  268. package/dist/NumberField.css.map +1 -1
  269. package/dist/NumberField.mjs +115 -115
  270. package/dist/NumberField.mjs.map +1 -1
  271. package/dist/Picker.cjs +337 -285
  272. package/dist/Picker.cjs.map +1 -1
  273. package/dist/Picker.css +173 -173
  274. package/dist/Picker.css.map +1 -1
  275. package/dist/Picker.mjs +339 -287
  276. package/dist/Picker.mjs.map +1 -1
  277. package/dist/Popover.cjs +89 -89
  278. package/dist/Popover.cjs.map +1 -1
  279. package/dist/Popover.css +70 -70
  280. package/dist/Popover.css.map +1 -1
  281. package/dist/Popover.mjs +89 -89
  282. package/dist/Popover.mjs.map +1 -1
  283. package/dist/ProgressBar.cjs +164 -164
  284. package/dist/ProgressBar.cjs.map +1 -1
  285. package/dist/ProgressBar.css +99 -99
  286. package/dist/ProgressBar.css.map +1 -1
  287. package/dist/ProgressBar.mjs +164 -164
  288. package/dist/ProgressBar.mjs.map +1 -1
  289. package/dist/ProgressCircle.cjs +32 -32
  290. package/dist/ProgressCircle.cjs.map +1 -1
  291. package/dist/ProgressCircle.css +24 -24
  292. package/dist/ProgressCircle.css.map +1 -1
  293. package/dist/ProgressCircle.mjs +32 -32
  294. package/dist/ProgressCircle.mjs.map +1 -1
  295. package/dist/Provider.cjs +11 -11
  296. package/dist/Provider.css +10 -10
  297. package/dist/Provider.mjs +11 -11
  298. package/dist/Radio.cjs +146 -146
  299. package/dist/Radio.cjs.map +1 -1
  300. package/dist/Radio.css +78 -78
  301. package/dist/Radio.css.map +1 -1
  302. package/dist/Radio.mjs +146 -146
  303. package/dist/Radio.mjs.map +1 -1
  304. package/dist/RadioGroup.cjs +42 -42
  305. package/dist/RadioGroup.cjs.map +1 -1
  306. package/dist/RadioGroup.css +37 -37
  307. package/dist/RadioGroup.css.map +1 -1
  308. package/dist/RadioGroup.mjs +42 -42
  309. package/dist/RadioGroup.mjs.map +1 -1
  310. package/dist/RangeCalendar.cjs +8 -8
  311. package/dist/RangeCalendar.cjs.map +1 -1
  312. package/dist/RangeCalendar.css +10 -10
  313. package/dist/RangeCalendar.css.map +1 -1
  314. package/dist/RangeCalendar.mjs +8 -8
  315. package/dist/RangeCalendar.mjs.map +1 -1
  316. package/dist/SearchField.cjs +42 -42
  317. package/dist/SearchField.cjs.map +1 -1
  318. package/dist/SearchField.css +45 -45
  319. package/dist/SearchField.css.map +1 -1
  320. package/dist/SearchField.mjs +42 -42
  321. package/dist/SearchField.mjs.map +1 -1
  322. package/dist/SegmentedControl.cjs +180 -180
  323. package/dist/SegmentedControl.css +123 -123
  324. package/dist/SegmentedControl.mjs +180 -180
  325. package/dist/SelectBoxGroup.cjs +144 -144
  326. package/dist/SelectBoxGroup.cjs.map +1 -1
  327. package/dist/SelectBoxGroup.css +120 -120
  328. package/dist/SelectBoxGroup.css.map +1 -1
  329. package/dist/SelectBoxGroup.mjs +144 -144
  330. package/dist/SelectBoxGroup.mjs.map +1 -1
  331. package/dist/Slider.cjs +295 -295
  332. package/dist/Slider.cjs.map +1 -1
  333. package/dist/Slider.css +154 -154
  334. package/dist/Slider.css.map +1 -1
  335. package/dist/Slider.mjs +295 -295
  336. package/dist/Slider.mjs.map +1 -1
  337. package/dist/StatusLight.cjs +116 -116
  338. package/dist/StatusLight.css +59 -59
  339. package/dist/StatusLight.mjs +116 -116
  340. package/dist/Switch.cjs +155 -155
  341. package/dist/Switch.cjs.map +1 -1
  342. package/dist/Switch.css +74 -74
  343. package/dist/Switch.css.map +1 -1
  344. package/dist/Switch.mjs +155 -155
  345. package/dist/Switch.mjs.map +1 -1
  346. package/dist/TableView.cjs +448 -424
  347. package/dist/TableView.cjs.map +1 -1
  348. package/dist/TableView.css +232 -204
  349. package/dist/TableView.css.map +1 -1
  350. package/dist/TableView.mjs +450 -426
  351. package/dist/TableView.mjs.map +1 -1
  352. package/dist/Tabs.cjs +127 -127
  353. package/dist/Tabs.cjs.map +1 -1
  354. package/dist/Tabs.css +105 -105
  355. package/dist/Tabs.css.map +1 -1
  356. package/dist/Tabs.mjs +127 -127
  357. package/dist/Tabs.mjs.map +1 -1
  358. package/dist/TabsPicker.cjs +127 -127
  359. package/dist/TabsPicker.cjs.map +1 -1
  360. package/dist/TabsPicker.css +108 -108
  361. package/dist/TabsPicker.css.map +1 -1
  362. package/dist/TabsPicker.mjs +127 -127
  363. package/dist/TabsPicker.mjs.map +1 -1
  364. package/dist/TagGroup.cjs +204 -204
  365. package/dist/TagGroup.cjs.map +1 -1
  366. package/dist/TagGroup.css +146 -146
  367. package/dist/TagGroup.css.map +1 -1
  368. package/dist/TagGroup.mjs +204 -204
  369. package/dist/TagGroup.mjs.map +1 -1
  370. package/dist/TextField.cjs +59 -59
  371. package/dist/TextField.cjs.map +1 -1
  372. package/dist/TextField.css +54 -54
  373. package/dist/TextField.css.map +1 -1
  374. package/dist/TextField.mjs +59 -59
  375. package/dist/TextField.mjs.map +1 -1
  376. package/dist/TimeField.cjs +52 -52
  377. package/dist/TimeField.cjs.map +1 -1
  378. package/dist/TimeField.css +47 -47
  379. package/dist/TimeField.css.map +1 -1
  380. package/dist/TimeField.mjs +52 -52
  381. package/dist/TimeField.mjs.map +1 -1
  382. package/dist/Toast.cjs +121 -121
  383. package/dist/Toast.cjs.map +1 -1
  384. package/dist/Toast.css +110 -110
  385. package/dist/Toast.css.map +1 -1
  386. package/dist/Toast.mjs +122 -122
  387. package/dist/Toast.mjs.map +1 -1
  388. package/dist/ToggleButton.cjs +3 -3
  389. package/dist/ToggleButton.cjs.map +1 -1
  390. package/dist/ToggleButton.css +12 -12
  391. package/dist/ToggleButton.css.map +1 -1
  392. package/dist/ToggleButton.mjs +3 -3
  393. package/dist/ToggleButton.mjs.map +1 -1
  394. package/dist/ToggleButtonGroup.cjs.map +1 -1
  395. package/dist/ToggleButtonGroup.mjs.map +1 -1
  396. package/dist/Tooltip.cjs +78 -78
  397. package/dist/Tooltip.cjs.map +1 -1
  398. package/dist/Tooltip.css +65 -65
  399. package/dist/Tooltip.css.map +1 -1
  400. package/dist/Tooltip.mjs +78 -78
  401. package/dist/Tooltip.mjs.map +1 -1
  402. package/dist/TreeView.cjs +191 -141
  403. package/dist/TreeView.cjs.map +1 -1
  404. package/dist/TreeView.css +143 -127
  405. package/dist/TreeView.css.map +1 -1
  406. package/dist/TreeView.mjs +191 -141
  407. package/dist/TreeView.mjs.map +1 -1
  408. package/dist/ar-AE.cjs +1 -0
  409. package/dist/ar-AE.cjs.map +1 -1
  410. package/dist/ar-AE.mjs +1 -0
  411. package/dist/ar-AE.mjs.map +1 -1
  412. package/dist/bg-BG.cjs +1 -0
  413. package/dist/bg-BG.cjs.map +1 -1
  414. package/dist/bg-BG.mjs +1 -0
  415. package/dist/bg-BG.mjs.map +1 -1
  416. package/dist/cs-CZ.cjs +1 -0
  417. package/dist/cs-CZ.cjs.map +1 -1
  418. package/dist/cs-CZ.mjs +1 -0
  419. package/dist/cs-CZ.mjs.map +1 -1
  420. package/dist/da-DK.cjs +1 -0
  421. package/dist/da-DK.cjs.map +1 -1
  422. package/dist/da-DK.mjs +1 -0
  423. package/dist/da-DK.mjs.map +1 -1
  424. package/dist/de-DE.cjs +1 -0
  425. package/dist/de-DE.cjs.map +1 -1
  426. package/dist/de-DE.mjs +1 -0
  427. package/dist/de-DE.mjs.map +1 -1
  428. package/dist/el-GR.cjs +1 -0
  429. package/dist/el-GR.cjs.map +1 -1
  430. package/dist/el-GR.mjs +1 -0
  431. package/dist/el-GR.mjs.map +1 -1
  432. package/dist/en-US.cjs +1 -0
  433. package/dist/en-US.cjs.map +1 -1
  434. package/dist/en-US.mjs +1 -0
  435. package/dist/en-US.mjs.map +1 -1
  436. package/dist/es-ES.cjs +1 -0
  437. package/dist/es-ES.cjs.map +1 -1
  438. package/dist/es-ES.mjs +1 -0
  439. package/dist/es-ES.mjs.map +1 -1
  440. package/dist/et-EE.cjs +1 -0
  441. package/dist/et-EE.cjs.map +1 -1
  442. package/dist/et-EE.mjs +1 -0
  443. package/dist/et-EE.mjs.map +1 -1
  444. package/dist/fi-FI.cjs +1 -0
  445. package/dist/fi-FI.cjs.map +1 -1
  446. package/dist/fi-FI.mjs +1 -0
  447. package/dist/fi-FI.mjs.map +1 -1
  448. package/dist/fr-FR.cjs +1 -0
  449. package/dist/fr-FR.cjs.map +1 -1
  450. package/dist/fr-FR.mjs +1 -0
  451. package/dist/fr-FR.mjs.map +1 -1
  452. package/dist/he-IL.cjs +1 -0
  453. package/dist/he-IL.cjs.map +1 -1
  454. package/dist/he-IL.mjs +1 -0
  455. package/dist/he-IL.mjs.map +1 -1
  456. package/dist/hr-HR.cjs +1 -0
  457. package/dist/hr-HR.cjs.map +1 -1
  458. package/dist/hr-HR.mjs +1 -0
  459. package/dist/hr-HR.mjs.map +1 -1
  460. package/dist/hu-HU.cjs +1 -0
  461. package/dist/hu-HU.cjs.map +1 -1
  462. package/dist/hu-HU.mjs +1 -0
  463. package/dist/hu-HU.mjs.map +1 -1
  464. package/dist/it-IT.cjs +1 -0
  465. package/dist/it-IT.cjs.map +1 -1
  466. package/dist/it-IT.mjs +1 -0
  467. package/dist/it-IT.mjs.map +1 -1
  468. package/dist/ja-JP.cjs +1 -0
  469. package/dist/ja-JP.cjs.map +1 -1
  470. package/dist/ja-JP.mjs +1 -0
  471. package/dist/ja-JP.mjs.map +1 -1
  472. package/dist/ko-KR.cjs +1 -0
  473. package/dist/ko-KR.cjs.map +1 -1
  474. package/dist/ko-KR.mjs +1 -0
  475. package/dist/ko-KR.mjs.map +1 -1
  476. package/dist/lt-LT.cjs +1 -0
  477. package/dist/lt-LT.cjs.map +1 -1
  478. package/dist/lt-LT.mjs +1 -0
  479. package/dist/lt-LT.mjs.map +1 -1
  480. package/dist/lv-LV.cjs +1 -0
  481. package/dist/lv-LV.cjs.map +1 -1
  482. package/dist/lv-LV.mjs +1 -0
  483. package/dist/lv-LV.mjs.map +1 -1
  484. package/dist/main.cjs +7 -0
  485. package/dist/main.cjs.map +1 -1
  486. package/dist/module.mjs +5 -3
  487. package/dist/module.mjs.map +1 -1
  488. package/dist/nb-NO.cjs +1 -0
  489. package/dist/nb-NO.cjs.map +1 -1
  490. package/dist/nb-NO.mjs +1 -0
  491. package/dist/nb-NO.mjs.map +1 -1
  492. package/dist/nl-NL.cjs +1 -0
  493. package/dist/nl-NL.cjs.map +1 -1
  494. package/dist/nl-NL.mjs +1 -0
  495. package/dist/nl-NL.mjs.map +1 -1
  496. package/dist/pl-PL.cjs +1 -0
  497. package/dist/pl-PL.cjs.map +1 -1
  498. package/dist/pl-PL.mjs +1 -0
  499. package/dist/pl-PL.mjs.map +1 -1
  500. package/dist/pt-BR.cjs +1 -0
  501. package/dist/pt-BR.cjs.map +1 -1
  502. package/dist/pt-BR.mjs +1 -0
  503. package/dist/pt-BR.mjs.map +1 -1
  504. package/dist/pt-PT.cjs +1 -0
  505. package/dist/pt-PT.cjs.map +1 -1
  506. package/dist/pt-PT.mjs +1 -0
  507. package/dist/pt-PT.mjs.map +1 -1
  508. package/dist/ro-RO.cjs +1 -0
  509. package/dist/ro-RO.cjs.map +1 -1
  510. package/dist/ro-RO.mjs +1 -0
  511. package/dist/ro-RO.mjs.map +1 -1
  512. package/dist/ru-RU.cjs +1 -0
  513. package/dist/ru-RU.cjs.map +1 -1
  514. package/dist/ru-RU.mjs +1 -0
  515. package/dist/ru-RU.mjs.map +1 -1
  516. package/dist/sk-SK.cjs +1 -0
  517. package/dist/sk-SK.cjs.map +1 -1
  518. package/dist/sk-SK.mjs +1 -0
  519. package/dist/sk-SK.mjs.map +1 -1
  520. package/dist/sl-SI.cjs +1 -0
  521. package/dist/sl-SI.cjs.map +1 -1
  522. package/dist/sl-SI.mjs +1 -0
  523. package/dist/sl-SI.mjs.map +1 -1
  524. package/dist/sr-SP.cjs +1 -0
  525. package/dist/sr-SP.cjs.map +1 -1
  526. package/dist/sr-SP.mjs +1 -0
  527. package/dist/sr-SP.mjs.map +1 -1
  528. package/dist/sv-SE.cjs +1 -0
  529. package/dist/sv-SE.cjs.map +1 -1
  530. package/dist/sv-SE.mjs +1 -0
  531. package/dist/sv-SE.mjs.map +1 -1
  532. package/dist/tr-TR.cjs +1 -0
  533. package/dist/tr-TR.cjs.map +1 -1
  534. package/dist/tr-TR.mjs +1 -0
  535. package/dist/tr-TR.mjs.map +1 -1
  536. package/dist/types.d.ts +143 -76
  537. package/dist/types.d.ts.map +1 -1
  538. package/dist/uk-UA.cjs +1 -0
  539. package/dist/uk-UA.cjs.map +1 -1
  540. package/dist/uk-UA.mjs +1 -0
  541. package/dist/uk-UA.mjs.map +1 -1
  542. package/dist/zh-CN.cjs +1 -0
  543. package/dist/zh-CN.cjs.map +1 -1
  544. package/dist/zh-CN.mjs +1 -0
  545. package/dist/zh-CN.mjs.map +1 -1
  546. package/dist/zh-TW.cjs +1 -0
  547. package/dist/zh-TW.cjs.map +1 -1
  548. package/dist/zh-TW.mjs +1 -0
  549. package/dist/zh-TW.mjs.map +1 -1
  550. package/icons/Icon.cjs +12 -12
  551. package/icons/Icon.css +9 -9
  552. package/icons/Icon.mjs +12 -12
  553. package/icons/Skeleton.cjs +2 -2
  554. package/icons/Skeleton.cjs.map +1 -1
  555. package/icons/Skeleton.css +6 -6
  556. package/icons/Skeleton.mjs +2 -2
  557. package/icons/Skeleton.mjs.map +1 -1
  558. package/icons/runtime.cjs +16 -3
  559. package/icons/runtime.cjs.map +1 -1
  560. package/icons/runtime.mjs +16 -3
  561. package/icons/runtime.mjs.map +1 -1
  562. package/package.json +21 -21
  563. package/src/Accordion.tsx +1 -1
  564. package/src/ActionBar.tsx +2 -2
  565. package/src/ActionButton.tsx +1 -1
  566. package/src/Breadcrumbs.tsx +2 -2
  567. package/src/Button.tsx +2 -2
  568. package/src/Calendar.tsx +1 -1
  569. package/src/Card.tsx +1 -1
  570. package/src/CardView.tsx +1 -1
  571. package/src/Checkbox.tsx +2 -1
  572. package/src/CheckboxGroup.tsx +1 -1
  573. package/src/CoachMark.tsx +1 -1
  574. package/src/ColorArea.tsx +1 -1
  575. package/src/ColorField.tsx +1 -1
  576. package/src/ColorSlider.tsx +1 -1
  577. package/src/ColorSwatch.tsx +1 -1
  578. package/src/ColorWheel.tsx +2 -2
  579. package/src/ComboBox.tsx +4 -3
  580. package/src/ContextualHelp.tsx +81 -43
  581. package/src/CustomDialog.tsx +1 -1
  582. package/src/DateField.tsx +1 -1
  583. package/src/DatePicker.tsx +1 -1
  584. package/src/DateRangePicker.tsx +1 -1
  585. package/src/Dialog.tsx +1 -1
  586. package/src/Disclosure.tsx +2 -2
  587. package/src/Divider.tsx +1 -1
  588. package/src/DropZone.tsx +1 -1
  589. package/src/Field.tsx +6 -6
  590. package/src/Form.tsx +1 -1
  591. package/src/FullscreenDialog.tsx +1 -1
  592. package/src/Link.tsx +1 -1
  593. package/src/ListView.tsx +782 -0
  594. package/src/Menu.tsx +111 -29
  595. package/src/Meter.tsx +1 -1
  596. package/src/Modal.tsx +1 -1
  597. package/src/NumberField.tsx +1 -1
  598. package/src/Picker.tsx +75 -14
  599. package/src/Popover.tsx +2 -1
  600. package/src/ProgressBar.tsx +1 -1
  601. package/src/ProgressCircle.tsx +1 -1
  602. package/src/Radio.tsx +1 -1
  603. package/src/RadioGroup.tsx +1 -1
  604. package/src/RangeCalendar.tsx +1 -1
  605. package/src/SearchField.tsx +1 -1
  606. package/src/SelectBoxGroup.tsx +1 -1
  607. package/src/Slider.tsx +1 -1
  608. package/src/Switch.tsx +1 -1
  609. package/src/TableView.tsx +37 -19
  610. package/src/Tabs.tsx +4 -4
  611. package/src/TabsPicker.tsx +2 -2
  612. package/src/TagGroup.tsx +2 -2
  613. package/src/TextField.tsx +1 -1
  614. package/src/TimeField.tsx +1 -1
  615. package/src/Toast.tsx +3 -3
  616. package/src/ToggleButton.tsx +1 -1
  617. package/src/ToggleButtonGroup.tsx +1 -1
  618. package/src/Tooltip.tsx +1 -1
  619. package/src/TreeView.tsx +53 -12
  620. package/src/index.ts +6 -3
  621. package/style/__tests__/mergeStyles.test.ts +68 -0
  622. package/style/__tests__/style-macro.test.js +50 -30
  623. package/style/dist/style-macro.cjs +65 -14
  624. package/style/dist/style-macro.cjs.map +1 -1
  625. package/style/dist/style-macro.mjs +65 -14
  626. package/style/dist/style-macro.mjs.map +1 -1
  627. package/style/runtime.ts +21 -5
  628. package/style/style-macro.ts +81 -16
  629. package/style/__tests__/mergeStyles.test.js +0 -32
package/dist/Calendar.cjs CHANGED
@@ -52,205 +52,205 @@ const $e9e9a0d15c3364d7$export$3b805cea1f178355 = /*#__PURE__*/ (0, $425Kz$react
52
52
  const $e9e9a0d15c3364d7$var$calendarStyles = function anonymous(props, overrides) {
53
53
  let rules = " ";
54
54
  let width = false;
55
- let matches = (overrides || '').matchAll(/(?:^|\s)(J|G|I|H|_u|_v|_s|__A|_d|_J|z|y|B|A|_P|_9|W|_l|_A|_z|_6|Z|N|L)[^\s]+/g);
55
+ let matches = String(overrides || '').matchAll(/(?:^|\s)(J|G|I|H|_u|_v|_s|__A|_d|_J|z|y|B|A|_P|_9|W|_l|_A|_z|_6|Z|N|L)[^\s]+/g);
56
56
  for (let p of matches){
57
57
  if (p[1] === "Z") width = true;
58
58
  rules += p[0];
59
59
  }
60
- rules += ' sd1';
61
- rules += ' _ta1';
62
- rules += ' Uj1';
63
- rules += ' qj1';
64
- if (!width) rules += ' ZJ1';
65
- rules += ' __ca1';
60
+ rules += ' sd12';
61
+ rules += ' _ta12';
62
+ rules += ' Uj12';
63
+ rules += ' qj12';
64
+ if (!width) rules += ' ZJ12';
65
+ rules += ' __ca12';
66
66
  return rules;
67
67
  };
68
- const $e9e9a0d15c3364d7$var$headerStyles = " sd1 eb1 _Ce1 Za1";
69
- const $e9e9a0d15c3364d7$var$headingStyles = " sd1 eb1 _Ce1 Jy1 Gy1 Iy1 Hy1 Za1";
70
- const $e9e9a0d15c3364d7$var$titleStyles = " uk1 ucJ9TBTb1 ud3Euai1 uea1 ugb1 uhd1 uje1 u2NhKxcl1 uic1 -_6BNtrc-e1 vx1 xd1 _xa1 xX0cczbc1 _xX0cczba1 xfd1 _xfa1 xfX0cczbc1 _xfX0cczba1 _Fd1 _FnuYUweb1 po1 _Wa1 _ub1 _va1 _sa1 Na1";
71
- const $e9e9a0d15c3364d7$var$headerCellStyles = " uk1 ucJ9TBTb1 ud3Euai1 uea1 ugb1 uhd1 uje1 u2NhKxcl1 uic1 -_6BNtrc-c1 vx1 xd1 _xa1 xX0cczbc1 _xX0cczba1 xfd1 _xfa1 xfX0cczbc1 _xfX0cczba1 _Fd1 _FnuYUweb1 po1 ri1 _Wa1 Sp1 Sbd1 Rp1 Rkd1 Qe1";
68
+ const $e9e9a0d15c3364d7$var$headerStyles = " sd12 eb12 _Ce12 Za12";
69
+ const $e9e9a0d15c3364d7$var$headingStyles = " sd12 eb12 _Ce12 Jy12 Gy12 Iy12 Hy12 Za12";
70
+ const $e9e9a0d15c3364d7$var$titleStyles = " uk12 ucJ9TBTb12 ud3Euai12 uea12 ugb12 uhd12 uje12 u2NhKxcl12 uic12 -_6BNtrc-e12 vx12 xd12 _xa12 xX0cczbc12 _xX0cczba12 xfd12 _xfa12 xfX0cczbc12 _xfX0cczba12 _Fd12 _FnuYUweb12 po12 _Wa12 _ub12 _va12 _sa12 Na12";
71
+ const $e9e9a0d15c3364d7$var$headerCellStyles = " uk12 ucJ9TBTb12 ud3Euai12 uea12 ugb12 uhd12 uje12 u2NhKxcl12 uic12 -_6BNtrc-c12 vx12 xd12 _xa12 xX0cczbc12 _xX0cczba12 xfd12 _xfa12 xfX0cczbc12 _xfX0cczba12 _Fd12 _FnuYUweb12 po12 ri12 _Wa12 Sp12 Sbd12 Rp12 Rkd12 Qe12";
72
72
  const $e9e9a0d15c3364d7$var$cellStyles = function anonymous(props) {
73
73
  let rules = " ";
74
- rules += ' _Le1';
75
- rules += ' -uq4sQ-Sp1';
76
- if (props.isFirstChild) rules += ' Sd1';
77
- else rules += ' Sp1';
78
- if (props.isLastChild) rules += ' Rd1';
79
- else rules += ' Rp1';
80
- if (props.isFirstWeek) rules += ' Td1';
81
- else rules += ' Tj1';
82
- rules += ' Qj1';
83
- rules += ' _Pc1';
84
- rules += ' ZC1';
85
- rules += ' Fx1';
86
- if (props.isOutsideMonth) rules += ' sk1';
87
- else rules += ' sd1';
88
- rules += ' eb1';
89
- rules += ' _Ca1';
90
- rules += ' __ca1';
74
+ rules += ' _Le12';
75
+ rules += ' -uq4sQ-Sp12';
76
+ if (props.isFirstChild) rules += ' Sd12';
77
+ else rules += ' Sp12';
78
+ if (props.isLastChild) rules += ' Rd12';
79
+ else rules += ' Rp12';
80
+ if (props.isFirstWeek) rules += ' Td12';
81
+ else rules += ' Tj12';
82
+ rules += ' Qj12';
83
+ rules += ' _Pc12';
84
+ rules += ' ZC12';
85
+ rules += ' Fx12';
86
+ if (props.isOutsideMonth) rules += ' sk12';
87
+ else rules += ' sd12';
88
+ rules += ' eb12';
89
+ rules += ' _Ca12';
90
+ rules += ' __ca12';
91
91
  return rules;
92
92
  };
93
93
  const $e9e9a0d15c3364d7$var$cellInnerStyles = function anonymous(props) {
94
94
  let rules = " ";
95
- if (props.isFocusVisible) rules += ' _Lf1';
96
- else rules += ' _Le1';
97
- rules += ' Oh1';
98
- rules += ' Olc1';
99
- rules += ' _Mc1';
100
- if (props.isSelectionEnd) rules += ' _Kd1';
101
- else if (props.isSelectionStart) rules += ' _Kd1';
95
+ if (props.isFocusVisible) rules += ' _Lf12';
96
+ else rules += ' _Le12';
97
+ rules += ' Oh12';
98
+ rules += ' Olc12';
99
+ rules += ' _Mc12';
100
+ if (props.isSelectionEnd) rules += ' _Kd12';
101
+ else if (props.isSelectionStart) rules += ' _Kd12';
102
102
  else if (props.isSelected) {
103
- if (props.selectionMode === "range") rules += ' _Kb1';
104
- else if (props.selectionMode === "single") rules += ' _Kd1';
105
- } else if (props.isToday) rules += ' _Kd1';
106
- else rules += ' _Kb1';
107
- rules += ' Yd1';
108
- rules += ' Yle1';
109
- rules += ' Xb1';
110
- rules += ' Xlb1';
111
- rules += ' _2b1';
112
- rules += ' _2lb1';
113
- rules += ' _Pc1';
114
- rules += ' uk1';
115
- rules += ' ucJ9TBTb1';
116
- rules += ' ud3Euai1';
117
- rules += ' uea1';
118
- rules += ' ugb1';
119
- rules += ' uhd1';
120
- rules += ' uje1';
121
- rules += ' u2NhKxcl1';
122
- rules += ' uic1';
123
- rules += ' -_6BNtrc-c1';
124
- rules += ' vx1';
125
- rules += ' xb1';
126
- rules += ' _xa1';
127
- rules += ' _Fb1';
128
- rules += ' _FnuYUwec1';
129
- if (props.isDisabled) rules += ' pp1';
130
- else if (props.isSelectionEnd) rules += ' px1';
131
- else if (props.isSelectionStart) rules += ' px1';
103
+ if (props.selectionMode === "range") rules += ' _Kb12';
104
+ else if (props.selectionMode === "single") rules += ' _Kd12';
105
+ } else if (props.isToday) rules += ' _Kd12';
106
+ else rules += ' _Kb12';
107
+ rules += ' Yd12';
108
+ rules += ' Yle12';
109
+ rules += ' Xb12';
110
+ rules += ' Xlb12';
111
+ rules += ' _2b12';
112
+ rules += ' _2lb12';
113
+ rules += ' _Pc12';
114
+ rules += ' uk12';
115
+ rules += ' ucJ9TBTb12';
116
+ rules += ' ud3Euai12';
117
+ rules += ' uea12';
118
+ rules += ' ugb12';
119
+ rules += ' uhd12';
120
+ rules += ' uje12';
121
+ rules += ' u2NhKxcl12';
122
+ rules += ' uic12';
123
+ rules += ' -_6BNtrc-c12';
124
+ rules += ' vx12';
125
+ rules += ' xb12';
126
+ rules += ' _xa12';
127
+ rules += ' _Fb12';
128
+ rules += ' _FnuYUwec12';
129
+ if (props.isDisabled) rules += ' pp12';
130
+ else if (props.isSelectionEnd) rules += ' px12';
131
+ else if (props.isSelectionStart) rules += ' px12';
132
132
  else if (props.isSelected) {
133
- if (props.selectionMode === "range") rules += ' pt1';
134
- else rules += ' px1';
135
- } else rules += ' pt1';
136
- if (props.isDisabled) rules += ' plc1';
137
- else if (props.isSelectionEnd) rules += ' ple1';
138
- else if (props.isSelectionStart) rules += ' ple1';
139
- else if (props.isSelected) rules += ' ple1';
140
- else if (props.isToday) rules += ' pla1';
141
- else rules += ' plb1';
142
- rules += ' ri1';
143
- rules += ' Za1';
144
- rules += ' Fx1';
145
- rules += ' og1';
146
- rules += ' ng1';
147
- rules += ' kg1';
148
- rules += ' jg1';
149
- rules += ' sd1';
150
- rules += ' eb1';
151
- rules += ' _Ca1';
152
- rules += ' _yb1';
133
+ if (props.selectionMode === "range") rules += ' pt12';
134
+ else rules += ' px12';
135
+ } else rules += ' pt12';
136
+ if (props.isDisabled) rules += ' plc12';
137
+ else if (props.isSelectionEnd) rules += ' ple12';
138
+ else if (props.isSelectionStart) rules += ' ple12';
139
+ else if (props.isSelected) rules += ' ple12';
140
+ else if (props.isToday) rules += ' pla12';
141
+ else rules += ' plb12';
142
+ rules += ' ri12';
143
+ rules += ' Za12';
144
+ rules += ' Fx12';
145
+ rules += ' og12';
146
+ rules += ' ng12';
147
+ rules += ' kg12';
148
+ rules += ' jg12';
149
+ rules += ' sd12';
150
+ rules += ' eb12';
151
+ rules += ' _Ca12';
152
+ rules += ' _yb12';
153
153
  if (props.isSelectionEnd) {
154
154
  if (props.isInvalid) {
155
155
  if (props.isFocusVisible) {
156
- if (props.isUnavailable) rules += ' g7aei81';
157
- else rules += ' gYvV9s1';
158
- } else if (props.isPressed) rules += ' gYvV9s1';
156
+ if (props.isUnavailable) rules += ' g7aei812';
157
+ else rules += ' gYvV9s12';
158
+ } else if (props.isPressed) rules += ' gYvV9s12';
159
159
  else if (props.isHovered) {
160
- if (props.isUnavailable) rules += ' g7aei81';
161
- else rules += ' gYvV9s1';
162
- } else rules += ' g7aei81';
163
- } else if (props.isDisabled) rules += ' g91';
164
- else if (props.isFocusVisible) rules += ' gUgARdd1';
165
- else if (props.isPressed) rules += ' gUgARdd1';
166
- else if (props.isHovered) rules += ' gUgARdd1';
167
- else rules += ' g5qAiPc1';
160
+ if (props.isUnavailable) rules += ' g7aei812';
161
+ else rules += ' gYvV9s12';
162
+ } else rules += ' g7aei812';
163
+ } else if (props.isDisabled) rules += ' g912';
164
+ else if (props.isFocusVisible) rules += ' gUgARdd12';
165
+ else if (props.isPressed) rules += ' gUgARdd12';
166
+ else if (props.isHovered) rules += ' gUgARdd12';
167
+ else rules += ' g5qAiPc12';
168
168
  } else if (props.isSelectionStart) {
169
169
  if (props.isInvalid) {
170
170
  if (props.isFocusVisible) {
171
- if (props.isUnavailable) rules += ' g7aei81';
172
- else rules += ' gYvV9s1';
173
- } else if (props.isPressed) rules += ' gYvV9s1';
171
+ if (props.isUnavailable) rules += ' g7aei812';
172
+ else rules += ' gYvV9s12';
173
+ } else if (props.isPressed) rules += ' gYvV9s12';
174
174
  else if (props.isHovered) {
175
- if (props.isUnavailable) rules += ' g7aei81';
176
- else rules += ' gYvV9s1';
177
- } else rules += ' g7aei81';
178
- } else if (props.isDisabled) rules += ' g91';
179
- else if (props.isFocusVisible) rules += ' gUgARdd1';
180
- else if (props.isPressed) rules += ' gUgARdd1';
181
- else if (props.isHovered) rules += ' gUgARdd1';
182
- else rules += ' g5qAiPc1';
175
+ if (props.isUnavailable) rules += ' g7aei812';
176
+ else rules += ' gYvV9s12';
177
+ } else rules += ' g7aei812';
178
+ } else if (props.isDisabled) rules += ' g912';
179
+ else if (props.isFocusVisible) rules += ' gUgARdd12';
180
+ else if (props.isPressed) rules += ' gUgARdd12';
181
+ else if (props.isHovered) rules += ' gUgARdd12';
182
+ else rules += ' g5qAiPc12';
183
183
  } else if (props.isSelected) {
184
184
  if (props.selectionMode === "range") {
185
185
  if (props.isHovered) {
186
186
  if (props.isInvalid) {
187
- if (props.isUnavailable) rules += ' g91';
188
- else rules += ' gJj9Tpd1';
189
- } else rules += ' gNAacne1';
187
+ if (props.isUnavailable) rules += ' g912';
188
+ else rules += ' gJj9Tpd12';
189
+ } else rules += ' gNAacne12';
190
190
  }
191
191
  } else if (props.selectionMode === "single") {
192
192
  if (props.isInvalid) {
193
- if (props.isFocusVisible) rules += ' gYvV9s1';
194
- else if (props.isPressed) rules += ' gYvV9s1';
195
- else if (props.isHovered) rules += ' gYvV9s1';
196
- else rules += ' g7aei81';
197
- } else if (props.isDisabled) rules += ' g91';
198
- else if (props.isFocusVisible) rules += ' gUgARdd1';
199
- else if (props.isPressed) rules += ' gUgARdd1';
200
- else if (props.isHovered) rules += ' gUgARdd1';
201
- else rules += ' g5qAiPc1';
193
+ if (props.isFocusVisible) rules += ' gYvV9s12';
194
+ else if (props.isPressed) rules += ' gYvV9s12';
195
+ else if (props.isHovered) rules += ' gYvV9s12';
196
+ else rules += ' g7aei812';
197
+ } else if (props.isDisabled) rules += ' g912';
198
+ else if (props.isFocusVisible) rules += ' gUgARdd12';
199
+ else if (props.isPressed) rules += ' gUgARdd12';
200
+ else if (props.isHovered) rules += ' gUgARdd12';
201
+ else rules += ' g5qAiPc12';
202
202
  }
203
203
  } else if (props.isToday) {
204
- if (props.isDisabled) rules += ' gH1';
204
+ if (props.isDisabled) rules += ' gH12';
205
205
  else {
206
- if (props.isPressed) rules += ' gw1';
207
- else if (props.isFocusVisible) rules += ' gw1';
208
- else if (props.isHovered) rules += ' gw1';
209
- else rules += ' gE1';
206
+ if (props.isPressed) rules += ' gw12';
207
+ else if (props.isFocusVisible) rules += ' gw12';
208
+ else if (props.isHovered) rules += ' gw12';
209
+ else rules += ' gE12';
210
210
  }
211
- } else if (props.isDisabled) rules += ' g91';
212
- else if (props.isPressed) rules += ' gH1';
211
+ } else if (props.isDisabled) rules += ' g912';
212
+ else if (props.isPressed) rules += ' gH12';
213
213
  else if (props.isHovered) {
214
- if (props.isUnavailable) rules += ' g91';
215
- else rules += ' gH1';
216
- } else rules += ' g91';
217
- if (props.isUnavailable) rules += ' gl91';
218
- else if (props.isSelectionEnd) rules += ' gle1';
219
- else if (props.isSelectionStart) rules += ' gle1';
214
+ if (props.isUnavailable) rules += ' g912';
215
+ else rules += ' gH12';
216
+ } else rules += ' g912';
217
+ if (props.isUnavailable) rules += ' gl912';
218
+ else if (props.isSelectionEnd) rules += ' gle12';
219
+ else if (props.isSelectionStart) rules += ' gle12';
220
220
  else if (props.isSelected) {
221
221
  if (props.selectionMode === "range") {
222
- if (props.isHovered) rules += ' gle1';
223
- } else if (props.selectionMode === "single") rules += ' gle1';
224
- } else if (props.isHovered) rules += ' gle1';
225
- else if (props.isToday) rules += ' glb1';
226
- else rules += ' gl91';
222
+ if (props.isHovered) rules += ' gle12';
223
+ } else if (props.selectionMode === "single") rules += ' gle12';
224
+ } else if (props.isHovered) rules += ' gle12';
225
+ else if (props.isToday) rules += ' glb12';
226
+ else rules += ' gl912';
227
227
  return rules;
228
228
  };
229
- const $e9e9a0d15c3364d7$var$unavailableStyles = " _Pa1 WzErnCb1 _EjhYzGc1 _RjhYzGc1 FlAZvq1 _ZN7ydnb1 og1 ng1 kg1 jg1 g5ZbAob1";
229
+ const $e9e9a0d15c3364d7$var$unavailableStyles = " _Pa12 WzErnCb12 _EjhYzGc12 _RjhYzGc12 FlAZvq12 _ZN7ydnb12 og12 ng12 kg12 jg12 g5ZbAob12";
230
230
  const $e9e9a0d15c3364d7$var$selectionSpanStyles = function anonymous(props) {
231
231
  let rules = " ";
232
- rules += ' _Pa1';
233
- rules += ' _9a1';
234
- rules += ' Wr1';
235
- rules += ' _AOJNuv1';
236
- rules += ' _zr1';
237
- rules += ' _lr1';
238
- rules += ' _kc1';
239
- rules += ' hc1';
240
- rules += ' mc1';
241
- rules += ' lc1';
242
- rules += ' _ja1';
243
- if (props.isInvalid) rules += ' ip1';
244
- else rules += ' ix1';
245
- rules += ' ilb1';
246
- rules += ' og1';
247
- rules += ' kg1';
248
- rules += ' ng1';
249
- rules += ' jg1';
250
- if (props.isInvalid) rules += ' gZbQnx1';
251
- else rules += ' gG1';
252
- rules += ' gle1';
253
- rules += ' _yb1';
232
+ rules += ' _Pa12';
233
+ rules += ' _9a12';
234
+ rules += ' Wr12';
235
+ rules += ' _AOJNuv12';
236
+ rules += ' _zr12';
237
+ rules += ' _lr12';
238
+ rules += ' _kc12';
239
+ rules += ' hc12';
240
+ rules += ' mc12';
241
+ rules += ' lc12';
242
+ rules += ' _ja12';
243
+ if (props.isInvalid) rules += ' ip12';
244
+ else rules += ' ix12';
245
+ rules += ' ilb12';
246
+ rules += ' og12';
247
+ rules += ' kg12';
248
+ rules += ' ng12';
249
+ rules += ' jg12';
250
+ if (props.isInvalid) rules += ' gZbQnx12';
251
+ else rules += ' gG12';
252
+ rules += ' gle12';
253
+ rules += ' _yb12';
254
254
  return rules;
255
255
  };
256
256
  const $e9e9a0d15c3364d7$export$e1aef45b828286de = /*#__PURE__*/ (0, $425Kz$react.forwardRef)(function Calendar(props, ref) {
@@ -295,7 +295,7 @@ const $e9e9a0d15c3364d7$export$e1aef45b828286de = /*#__PURE__*/ (0, $425Kz$react
295
295
  })
296
296
  }),
297
297
  /*#__PURE__*/ (0, $425Kz$reactjsxruntime.jsx)("div", {
298
- className: " sd1 _tc1 Uj1 qj1 Za1 ed1",
298
+ className: " sd12 _tc12 Uj12 qj12 Za12 ed12",
299
299
  children: Array.from({
300
300
  length: visibleMonths
301
301
  }).map((_, i)=>/*#__PURE__*/ (0, $425Kz$reactjsxruntime.jsx)($e9e9a0d15c3364d7$export$5bd780d491cfc46c, {
@@ -324,7 +324,7 @@ const $e9e9a0d15c3364d7$export$5bd780d491cfc46c = (props)=>{
324
324
  let firstDayOfWeek = rangeCalendarProps?.firstDayOfWeek ?? calendarProps?.firstDayOfWeek;
325
325
  // use isolation to start a new stacking context so that we can use zIndex -1 for the selection span.
326
326
  return /*#__PURE__*/ (0, $425Kz$reactjsxruntime.jsxs)((0, $425Kz$reactariacomponents.CalendarGrid), {
327
- className: " __na1 __oe1 _Bb1",
327
+ className: " __na12 __oe12 _Bb12",
328
328
  offset: {
329
329
  months: props.months
330
330
  },
@@ -388,13 +388,13 @@ const $e9e9a0d15c3364d7$export$77af08ed164baa7 = ()=>{
388
388
  else return /*#__PURE__*/ (0, $425Kz$reactjsxruntime.jsxs)((0, $425Kz$react.Fragment), {
389
389
  children: [
390
390
  /*#__PURE__*/ (0, $425Kz$reactjsxruntime.jsx)("div", {
391
- className: " _6b1 ZC1"
391
+ className: " _6b12 ZC12"
392
392
  }),
393
393
  /*#__PURE__*/ (0, $425Kz$reactjsxruntime.jsx)("div", {
394
- className: " _6b1 Zo1"
394
+ className: " _6b12 Zo12"
395
395
  }),
396
396
  /*#__PURE__*/ (0, $425Kz$reactjsxruntime.jsx)("div", {
397
- className: " _6b1 ZC1"
397
+ className: " _6b12 ZC12"
398
398
  }),
399
399
  /*#__PURE__*/ (0, $425Kz$reactjsxruntime.jsx)("div", {
400
400
  className: $e9e9a0d15c3364d7$var$titleStyles,
@@ -411,12 +411,12 @@ const $e9e9a0d15c3364d7$export$adb29da0ac001538 = (props1)=>{
411
411
  className: function anonymous(props) {
412
412
  let rules = " ";
413
413
  if (props.direction === "rtl") {
414
- rules += ' -Z4Pn4c-a1';
415
- rules += ' __Ha1';
414
+ rules += ' -Z4Pn4c-a12';
415
+ rules += ' __Ha12';
416
416
  }
417
417
  if (props.direction === "rtl") {
418
- rules += ' -_04Pn4c-a1';
419
- rules += ' __Ha1';
418
+ rules += ' -_04Pn4c-a12';
419
+ rules += ' __Ha12';
420
420
  }
421
421
  return rules;
422
422
  }({
@@ -499,7 +499,7 @@ const $e9e9a0d15c3364d7$var$CalendarCellInner = (props)=>{
499
499
  // when valid, only show background for available selected dates
500
500
  let isBackgroundStyleApplied = isSelected && isRangeSelection && (isInvalid || !isUnavailable) && (isDateInRange(prevDay) || nextDay.month === date.month && isDateInRange(nextDay));
501
501
  return /*#__PURE__*/ (0, $425Kz$reactjsxruntime.jsxs)("div", {
502
- className: " _Pc1 ZvFFGYc1 -_4Isswc-ZvFFGYc1 -Z_-ZC1",
502
+ className: " _Pc12 ZvFFGYc12 -_4Isswc-ZvFFGYc12 -Z_-ZC12",
503
503
  children: [
504
504
  /*#__PURE__*/ (0, $425Kz$reactjsxruntime.jsxs)("div", {
505
505
  ref: ref,
@@ -1 +1 @@
1
- {"mappings":"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","sources":["packages/@react-spectrum/s2/src/Calendar.tsx"],"sourcesContent":["/*\n * Copyright 2024 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {ActionButton, Header, HeaderContext, Heading, HeadingContext, pressScale} from './';\nimport {\n Calendar as AriaCalendar,\n CalendarCell as AriaCalendarCell,\n CalendarContext as AriaCalendarContext,\n CalendarGrid as AriaCalendarGrid,\n CalendarHeaderCell as AriaCalendarHeaderCell,\n CalendarProps as AriaCalendarProps,\n ButtonProps,\n CalendarCellProps,\n CalendarCellRenderProps,\n CalendarGridBody,\n CalendarGridHeader,\n CalendarHeaderCellProps,\n CalendarState,\n CalendarStateContext,\n ContextValue,\n DateValue,\n Provider,\n RangeCalendarContext,\n RangeCalendarState,\n RangeCalendarStateContext,\n Text,\n useSlottedContext\n} from 'react-aria-components';\nimport {AriaCalendarGridProps} from '@react-aria/calendar';\nimport {baseColor, focusRing, lightDark, style} from '../style' with {type: 'macro'};\nimport {\n CalendarDate,\n getDayOfWeek,\n startOfMonth\n} from '@internationalized/date';\nimport ChevronLeftIcon from '../s2wf-icons/S2_Icon_ChevronLeft_20_N.svg';\nimport ChevronRightIcon from '../s2wf-icons/S2_Icon_ChevronRight_20_N.svg';\nimport {forwardRefType, GlobalDOMAttributes} from '@react-types/shared';\nimport {getAllowedOverrides, StyleProps} from './style-utils' with {type: 'macro'};\nimport {helpTextStyles} from './Field';\n// @ts-ignore\nimport intlMessages from '../intl/*.json';\nimport React, {createContext, CSSProperties, ForwardedRef, forwardRef, Fragment, PropsWithChildren, ReactElement, ReactNode, useContext, useMemo, useRef} from 'react';\nimport {useDateFormatter, useLocale, useLocalizedStringFormatter} from '@react-aria/i18n';\nimport {useSpectrumContextProps} from './useSpectrumContextProps';\n\n\nexport interface CalendarProps<T extends DateValue>\n extends Omit<AriaCalendarProps<T>, 'visibleDuration' | 'style' | 'className' | 'styles' | 'children' | keyof GlobalDOMAttributes>,\n StyleProps {\n /**\n * The error message to display when the calendar is invalid.\n */\n errorMessage?: ReactNode,\n /**\n * The number of months to display at once.\n * @default 1\n */\n visibleMonths?: number\n}\n\nexport const CalendarContext = createContext<ContextValue<Partial<CalendarProps<any>>, HTMLDivElement>>(null);\n\nconst calendarStyles = style({\n display: 'flex',\n flexDirection: 'column',\n gap: 24,\n width: 'fit',\n disableTapHighlight: true\n}, getAllowedOverrides());\n\nconst headerStyles = style({\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n width: 'full'\n});\n\nconst headingStyles = style({\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n margin: 0,\n width: 'full'\n});\n\nconst titleStyles = style({\n font: 'title-lg',\n textAlign: 'center',\n flexGrow: 1,\n flexShrink: 0,\n flexBasis: '0%',\n minWidth: 0\n});\n\nconst headerCellStyles = style({\n font: 'title-sm',\n cursor: 'default',\n textAlign: 'center',\n paddingStart: {\n default: 4,\n ':first-child': 0\n },\n paddingEnd: {\n default: 4,\n ':last-child': 0\n },\n paddingBottom: 12\n});\n\nconst cellStyles = style({\n outlineStyle: 'none',\n '--cell-gap': {\n type: 'paddingStart',\n value: 4\n },\n paddingStart: {\n default: 4,\n isFirstChild: 0\n },\n paddingEnd: {\n default: 4,\n isLastChild: 0\n },\n paddingTop: {\n default: 2,\n isFirstWeek: 0\n },\n paddingBottom: 2,\n position: 'relative',\n width: 32,\n height: 32,\n display: {\n default: 'flex',\n isOutsideMonth: 'none'\n },\n alignItems: 'center',\n justifyContent: 'center',\n disableTapHighlight: true\n});\n\nconst cellInnerStyles = style<CalendarCellRenderProps & {selectionMode: 'single' | 'range'}>({\n ...focusRing(),\n transition: {\n default: 'default',\n forcedColors: 'none'\n },\n outlineOffset: {\n default: -2,\n isToday: 2,\n isSelected: {\n selectionMode: {\n single: 2,\n range: -2\n }\n },\n isSelectionStart: 2,\n isSelectionEnd: 2\n },\n position: 'relative',\n font: 'body-sm',\n cursor: 'default',\n width: 'full',\n height: 32,\n borderRadius: 'full',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n forcedColorAdjust: 'none',\n backgroundColor: {\n default: 'transparent',\n isHovered: {\n default: 'gray-100',\n isUnavailable: 'transparent'\n },\n isPressed: 'gray-100',\n isDisabled: 'transparent',\n isToday: {\n default: baseColor('gray-300'),\n isDisabled: 'disabled'\n },\n isSelected: {\n selectionMode: {\n single: {\n default: lightDark('accent-900', 'accent-700'),\n isHovered: lightDark('accent-1000', 'accent-600'),\n isPressed: lightDark('accent-1000', 'accent-600'),\n isFocusVisible: lightDark('accent-1000', 'accent-600'),\n isDisabled: 'transparent',\n isInvalid: {\n default: lightDark('negative-900', 'negative-700'),\n isHovered: lightDark('negative-1000', 'negative-600'),\n isPressed: lightDark('negative-1000', 'negative-600'),\n isFocusVisible: lightDark('negative-1000', 'negative-600')\n }\n },\n range: {\n isHovered: {\n default: 'blue-500',\n isInvalid: {\n default: 'negative-300',\n isUnavailable: 'transparent'\n }\n }\n }\n }\n },\n isSelectionStart: {\n default: lightDark('accent-900', 'accent-700'),\n isHovered: lightDark('accent-1000', 'accent-600'),\n isPressed: lightDark('accent-1000', 'accent-600'),\n isFocusVisible: lightDark('accent-1000', 'accent-600'),\n isDisabled: 'transparent',\n isInvalid: {\n default: lightDark('negative-900', 'negative-700'),\n isHovered: {\n default: lightDark('negative-1000', 'negative-600'),\n isUnavailable: lightDark('negative-900', 'negative-700')\n },\n isPressed: lightDark('negative-1000', 'negative-600'),\n isFocusVisible: {\n default: lightDark('negative-1000', 'negative-600'),\n isUnavailable: lightDark('negative-900', 'negative-700')\n }\n }\n },\n isSelectionEnd: {\n default: lightDark('accent-900', 'accent-700'),\n isHovered: lightDark('accent-1000', 'accent-600'),\n isPressed: lightDark('accent-1000', 'accent-600'),\n isFocusVisible: lightDark('accent-1000', 'accent-600'),\n isDisabled: 'transparent',\n isInvalid: {\n default: lightDark('negative-900', 'negative-700'),\n isHovered: {\n default: lightDark('negative-1000', 'negative-600'),\n isUnavailable: lightDark('negative-900', 'negative-700')\n },\n isPressed: lightDark('negative-1000', 'negative-600'),\n isFocusVisible: {\n default: lightDark('negative-1000', 'negative-600'),\n isUnavailable: lightDark('negative-900', 'negative-700')\n }\n }\n },\n forcedColors: {\n default: 'transparent',\n isToday: 'ButtonFace',\n isHovered: 'Highlight',\n isSelected: {\n selectionMode: {\n single: 'Highlight',\n range: {\n isHovered: 'Highlight'\n }\n }\n },\n isSelectionStart: 'Highlight',\n isSelectionEnd: 'Highlight',\n isUnavailable: 'transparent'\n }\n },\n color: {\n default: 'neutral',\n isSelected: {\n default: 'white',\n selectionMode: {\n range: 'neutral'\n }\n },\n isSelectionStart: 'white',\n isSelectionEnd: 'white',\n isDisabled: 'disabled',\n forcedColors: {\n default: 'ButtonText',\n isToday: 'ButtonFace',\n isSelected: 'HighlightText',\n isSelectionStart: 'HighlightText',\n isSelectionEnd: 'HighlightText',\n isDisabled: 'GrayText'\n }\n }\n});\n\nconst unavailableStyles = style({\n position: 'absolute',\n top: 'calc(50% - 1px)',\n left: 'calc(25% - 1px)',\n right: 'calc(25% - 1px)',\n height: 2,\n transform: 'rotate(-16deg)',\n borderRadius: 'full',\n backgroundColor: '[currentColor]'\n});\n\nconst selectionSpanStyles = style<{isInvalid?: boolean}>({\n position: 'absolute',\n zIndex: -1,\n top: 0,\n insetStart: 'calc(-1 * var(--selection-span) * (var(--cell-width) + var(--cell-gap) + var(--cell-gap)))',\n insetEnd: 0,\n bottom: 0,\n borderWidth: 2,\n borderStyle: 'dashed',\n borderColor: {\n default: 'blue-800', // focus-indicator-color\n isInvalid: 'negative-900',\n forcedColors: {\n default: 'ButtonText'\n }\n },\n borderStartRadius: 'full',\n borderEndRadius: 'full',\n backgroundColor: {\n default: 'blue-subtle',\n isInvalid: 'negative-100',\n forcedColors: {\n default: 'Highlight'\n }\n },\n forcedColorAdjust: 'none'\n});\n\n/**\n * Calendars display a grid of days in one or more months and allow users to select a single date.\n */\nexport const Calendar = /*#__PURE__*/ (forwardRef as forwardRefType)(function Calendar<T extends DateValue>(props: CalendarProps<T>, ref: ForwardedRef<HTMLDivElement>) {\n [props, ref] = useSpectrumContextProps(props, ref, CalendarContext);\n let {\n visibleMonths = 1,\n errorMessage,\n UNSAFE_style,\n UNSAFE_className,\n styles,\n ...otherProps\n } = props;\n let stringFormatter = useLocalizedStringFormatter(intlMessages, '@react-spectrum/s2');\n return (\n <AriaCalendar\n {...otherProps}\n ref={ref}\n visibleDuration={{months: visibleMonths}}\n style={UNSAFE_style}\n className={(UNSAFE_className || '') + calendarStyles(null, styles)}>\n {({isInvalid, isDisabled}) => {\n return (\n <>\n <Provider\n values={[\n [HeaderContext, null],\n [HeadingContext, null]\n ]}>\n <Header styles={headerStyles}>\n <CalendarButton slot=\"previous\"><ChevronLeftIcon /></CalendarButton>\n <CalendarHeading />\n <CalendarButton slot=\"next\"><ChevronRightIcon /></CalendarButton>\n </Header>\n </Provider>\n <div\n className={style({\n display: 'flex',\n flexDirection: 'row',\n gap: 24,\n width: 'full',\n alignItems: 'start'\n })}>\n {Array.from({length: visibleMonths}).map((_, i) => (\n <CalendarGrid months={i} key={i} />\n ))}\n </div>\n {isInvalid && (\n <Text slot=\"errorMessage\" className={helpTextStyles({isInvalid, isDisabled, size: 'M'})}>\n {errorMessage || stringFormatter.format('calendar.invalidSelection', {selectedCount: 1})}\n </Text>\n )}\n </>\n );\n }}\n </AriaCalendar>\n );\n});\n\nexport const CalendarGrid = (props: Omit<AriaCalendarGridProps, 'children'> & PropsWithChildren & {months: number}): ReactElement => {\n let rangeCalendarProps = useSlottedContext(RangeCalendarContext);\n let calendarProps = useSlottedContext(AriaCalendarContext);\n let firstDayOfWeek = rangeCalendarProps?.firstDayOfWeek ?? calendarProps?.firstDayOfWeek;\n\n // use isolation to start a new stacking context so that we can use zIndex -1 for the selection span.\n return (\n <AriaCalendarGrid\n className={style({\n borderCollapse: 'collapse',\n borderSpacing: 0,\n isolation: 'isolate'\n })}\n offset={{months: props.months}}>\n <CalendarGridHeader className=\"\">\n {(day) => (\n <CalendarHeaderCell>\n {day}\n </CalendarHeaderCell>\n )}\n </CalendarGridHeader>\n <CalendarGridBody className=\"\">\n {(date) => (\n <CalendarCell date={date} firstDayOfWeek={firstDayOfWeek} />\n )}\n </CalendarGridBody>\n </AriaCalendarGrid>\n );\n};\n\n// Ordinarily the heading is a formatted date range, ie January 2025 - February 2025.\n// However, we want to show each month individually.\nexport const CalendarHeading = (): ReactElement => {\n let calendarStateContext = useContext(CalendarStateContext);\n let rangeCalendarStateContext = useContext(RangeCalendarStateContext);\n let {visibleRange, timeZone} = calendarStateContext ?? rangeCalendarStateContext ?? {};\n let currentMonth = visibleRange?.start ?? visibleRange?.end;\n let monthFormatter = useDateFormatter({\n month: 'long',\n year: 'numeric',\n era: currentMonth && currentMonth.calendar.identifier === 'gregory' && currentMonth.era === 'BC' ? 'short' : undefined,\n calendar: visibleRange?.start.calendar.identifier,\n timeZone\n });\n let months = useMemo(() => {\n if (!visibleRange) {\n return [];\n }\n let months: string[] = [];\n for (let i = visibleRange.start; i.compare(visibleRange.end) <= 0; i = i.add({months: 1})) {\n // TODO: account for the first week possibly overlapping, like with a custom 454 calendar.\n // there has to be a better way to do this...\n if (i.month === visibleRange.start.month) {\n i = i.add({weeks: 1});\n }\n months.push(monthFormatter.format(i.toDate(timeZone!)));\n }\n return months;\n }, [visibleRange, monthFormatter, timeZone]);\n\n return (\n <Heading styles={headingStyles}>\n {months.map((month, i) => {\n if (i === 0) {\n return (\n <Fragment key={month}>\n <div className={titleStyles}>{month}</div>\n </Fragment>\n );\n } else {\n return (\n <Fragment key={month}>\n {/* Spacers to account for Next/Previous buttons and gap, spelled out to show the math */}\n <div className={style({visibility: 'hidden', width: 32})} />\n <div className={style({visibility: 'hidden', width: 24})} />\n <div className={style({visibility: 'hidden', width: 32})} />\n <div className={titleStyles}>{month}</div>\n </Fragment>\n );\n }\n })}\n </Heading>\n );\n};\n\nexport const CalendarButton = (props: Omit<ButtonProps, 'children'> & {children: ReactNode}): ReactElement => {\n let {direction} = useLocale();\n return (\n <div\n className={\n style({\n scale: {\n direction: {\n rtl: -1\n }\n }\n })({direction})\n }>\n <ActionButton\n {...props}\n isQuiet>\n {props.children}\n </ActionButton>\n </div>\n );\n};\n\nconst CalendarHeaderCell = (props: Omit<CalendarHeaderCellProps, 'children'> & PropsWithChildren): ReactElement => {\n return (\n <AriaCalendarHeaderCell className={headerCellStyles}>\n {props.children}\n </AriaCalendarHeaderCell>\n );\n};\n\nconst CalendarCell = (props: Omit<CalendarCellProps, 'children'> & {firstDayOfWeek: 'sun' | 'mon' | 'tue' | 'wed' | 'thu' | 'fri' | 'sat' | undefined}): ReactElement => {\n let {locale} = useLocale();\n let firstDayOfWeek = props.firstDayOfWeek;\n // Calculate the day and week index based on the date.\n let {dayIndex, weekIndex} = useWeekAndDayIndices(props.date, locale, firstDayOfWeek);\n\n let calendarStateContext = useContext(CalendarStateContext);\n let rangeCalendarStateContext = useContext(RangeCalendarStateContext);\n let state = (calendarStateContext ?? rangeCalendarStateContext)!;\n\n let isFirstWeek = weekIndex === 0;\n let isFirstChild = dayIndex === 0;\n let isLastChild = dayIndex === 6;\n\n return (\n <AriaCalendarCell\n date={props.date}\n className={(renderProps) => cellStyles({...renderProps, isFirstChild, isLastChild, isFirstWeek})}>\n {(renderProps) => <CalendarCellInner {...props} weekIndex={weekIndex} dayIndex={dayIndex} state={state} isRangeSelection={!!rangeCalendarStateContext} renderProps={renderProps} />}\n </AriaCalendarCell>\n );\n};\n\nconst CalendarCellInner = (props: Omit<CalendarCellProps, 'children'> & {isRangeSelection: boolean, state: CalendarState | RangeCalendarState, weekIndex: number, dayIndex: number, renderProps?: CalendarCellRenderProps, date: DateValue}): ReactElement => {\n let {weekIndex, dayIndex, date, renderProps, state, isRangeSelection} = props;\n let {getDatesInWeek} = state;\n let ref = useRef<HTMLDivElement>(null);\n let {isUnavailable, formattedDate, isSelected, isSelectionStart, isSelectionEnd, isInvalid} = renderProps!;\n // only apply the selection start/end styles if the start/end date is actually selectable (aka not unavailable)\n // or if the range is invalid and thus we still want to show the styles even if the start/end date is an unavailable one\n isSelectionStart = isSelectionStart && (!isUnavailable || isInvalid);\n isSelectionEnd = isSelectionEnd && (!isUnavailable || isInvalid);\n\n let startDate = startOfMonth(date);\n let datesInWeek = getDatesInWeek(weekIndex, startDate);\n\n let isDateInRange = (checkDate: CalendarDate) => {\n if (!('highlightedRange' in state) || !state.highlightedRange) {\n return state.isSelected(checkDate);\n }\n // if invalid, check if date is within the full range boundaries\n if (isInvalid) {\n return checkDate.compare(state.highlightedRange.start) >= 0 &&\n checkDate.compare(state.highlightedRange.end) <= 0;\n }\n\n return state.isSelected(checkDate);\n };\n\n // Starting from the current day, find the first day before it in the current week that is not selected.\n // Then, the span of selected days is the current day minus the first unselected day.\n let firstUnselectedInRangeInWeek = datesInWeek.slice(0, dayIndex + 1).reverse().findIndex((date, i) => {\n return date && i > 0 && (!isDateInRange(date) || date.month !== props.date.month);\n });\n\n let selectionSpan = -1;\n if (firstUnselectedInRangeInWeek > -1 && isSelected) {\n selectionSpan = firstUnselectedInRangeInWeek - 1;\n } else if (isSelected) {\n selectionSpan = dayIndex;\n }\n let prevDay = date.subtract({days: 1});\n let nextDay = date.add({days: 1});\n\n // when invalid, show background for all selected dates (including unavailable) to make continuous range appearance\n // when valid, only show background for available selected dates\n let isBackgroundStyleApplied = (\n isSelected\n && isRangeSelection\n && (isInvalid || !isUnavailable)\n && (isDateInRange(prevDay)\n || (nextDay.month === date.month && isDateInRange(nextDay)))\n );\n\n return (\n <div\n className={style({\n position: 'relative',\n width: 32,\n '--cell-width': {\n type: 'width',\n value: '[self(width)]'\n }\n })}>\n <div\n ref={ref}\n style={pressScale(ref, {})(renderProps!)}\n className={cellInnerStyles({...renderProps!, isSelectionStart, isSelectionEnd, selectionMode: isRangeSelection ? 'range' : 'single'})}>\n <div>\n {formattedDate}\n </div>\n {isUnavailable && <div className={unavailableStyles} role=\"presentation\" />}\n </div>\n {isBackgroundStyleApplied && <div style={{'--selection-span': selectionSpan} as CSSProperties} className={selectionSpanStyles({isInvalid})} role=\"presentation\" />}\n </div>\n );\n};\n\ntype DayOfWeek = 'sun' | 'mon' | 'tue' | 'wed' | 'thu' | 'fri' | 'sat';\n\n/**\n * Calculate the week index (0-based) and day index (0-based) for a given date within a month in a calendar.\n * @param date - The date to calculate indices for.\n * @param locale - The locale string (e.g., 'en-US', 'fr-FR', 'hi-IN-u-ca-indian').\n * @param firstDayOfWeek - Optional override for the first day of the week ('sun', 'mon', 'tue', etc.).\n * @returns Object with weekIndex and dayIndex.\n */\nfunction useWeekAndDayIndices(\n date: CalendarDate,\n locale: string,\n firstDayOfWeek?: DayOfWeek\n) {\n let {dayIndex, weekIndex} = useMemo(() => {\n // Get the day index within the week (0-6)\n const dayIndex = getDayOfWeek(date, locale, firstDayOfWeek);\n\n const monthStart = startOfMonth(date);\n\n // Calculate the week index by finding which week this date falls into\n // within the month's calendar grid\n const monthStartDayOfWeek = getDayOfWeek(monthStart, locale, firstDayOfWeek);\n const dayOfMonth = date.day;\n\n const weekIndex = Math.floor((dayOfMonth + monthStartDayOfWeek - 1) / 7);\n\n return {\n weekIndex,\n dayIndex\n };\n }, [date, locale, firstDayOfWeek]);\n\n return {dayIndex, weekIndex};\n}\n"],"names":[],"version":3,"file":"Calendar.cjs.map"}
1
+ {"mappings":"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","sources":["packages/@react-spectrum/s2/src/Calendar.tsx"],"sourcesContent":["/*\n * Copyright 2024 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {ActionButton, Header, HeaderContext, Heading, HeadingContext, pressScale} from './';\nimport {\n Calendar as AriaCalendar,\n CalendarCell as AriaCalendarCell,\n CalendarContext as AriaCalendarContext,\n CalendarGrid as AriaCalendarGrid,\n CalendarHeaderCell as AriaCalendarHeaderCell,\n CalendarProps as AriaCalendarProps,\n ButtonProps,\n CalendarCellProps,\n CalendarCellRenderProps,\n CalendarGridBody,\n CalendarGridHeader,\n CalendarHeaderCellProps,\n CalendarState,\n CalendarStateContext,\n ContextValue,\n DateValue,\n Provider,\n RangeCalendarContext,\n RangeCalendarState,\n RangeCalendarStateContext,\n Text,\n useSlottedContext\n} from 'react-aria-components';\nimport {AriaCalendarGridProps} from '@react-aria/calendar';\nimport {baseColor, focusRing, lightDark, style} from '../style' with {type: 'macro'};\nimport {\n CalendarDate,\n getDayOfWeek,\n startOfMonth\n} from '@internationalized/date';\nimport ChevronLeftIcon from '../s2wf-icons/S2_Icon_ChevronLeft_20_N.svg';\nimport ChevronRightIcon from '../s2wf-icons/S2_Icon_ChevronRight_20_N.svg';\nimport {forwardRefType, GlobalDOMAttributes} from '@react-types/shared';\nimport {getAllowedOverrides, StyleProps} from './style-utils' with {type: 'macro'};\nimport {helpTextStyles} from './Field';\n// @ts-ignore\nimport intlMessages from '../intl/*.json';\nimport React, {createContext, CSSProperties, ForwardedRef, forwardRef, Fragment, PropsWithChildren, ReactElement, ReactNode, useContext, useMemo, useRef} from 'react';\nimport {useDateFormatter, useLocale, useLocalizedStringFormatter} from '@react-aria/i18n';\nimport {useSpectrumContextProps} from './useSpectrumContextProps';\n\n\nexport interface CalendarProps<T extends DateValue>\n extends Omit<AriaCalendarProps<T>, 'visibleDuration' | 'style' | 'className' | 'render' | 'styles' | 'children' | keyof GlobalDOMAttributes>,\n StyleProps {\n /**\n * The error message to display when the calendar is invalid.\n */\n errorMessage?: ReactNode,\n /**\n * The number of months to display at once.\n * @default 1\n */\n visibleMonths?: number\n}\n\nexport const CalendarContext = createContext<ContextValue<Partial<CalendarProps<any>>, HTMLDivElement>>(null);\n\nconst calendarStyles = style({\n display: 'flex',\n flexDirection: 'column',\n gap: 24,\n width: 'fit',\n disableTapHighlight: true\n}, getAllowedOverrides());\n\nconst headerStyles = style({\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n width: 'full'\n});\n\nconst headingStyles = style({\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n margin: 0,\n width: 'full'\n});\n\nconst titleStyles = style({\n font: 'title-lg',\n textAlign: 'center',\n flexGrow: 1,\n flexShrink: 0,\n flexBasis: '0%',\n minWidth: 0\n});\n\nconst headerCellStyles = style({\n font: 'title-sm',\n cursor: 'default',\n textAlign: 'center',\n paddingStart: {\n default: 4,\n ':first-child': 0\n },\n paddingEnd: {\n default: 4,\n ':last-child': 0\n },\n paddingBottom: 12\n});\n\nconst cellStyles = style({\n outlineStyle: 'none',\n '--cell-gap': {\n type: 'paddingStart',\n value: 4\n },\n paddingStart: {\n default: 4,\n isFirstChild: 0\n },\n paddingEnd: {\n default: 4,\n isLastChild: 0\n },\n paddingTop: {\n default: 2,\n isFirstWeek: 0\n },\n paddingBottom: 2,\n position: 'relative',\n width: 32,\n height: 32,\n display: {\n default: 'flex',\n isOutsideMonth: 'none'\n },\n alignItems: 'center',\n justifyContent: 'center',\n disableTapHighlight: true\n});\n\nconst cellInnerStyles = style<CalendarCellRenderProps & {selectionMode: 'single' | 'range'}>({\n ...focusRing(),\n transition: {\n default: 'default',\n forcedColors: 'none'\n },\n outlineOffset: {\n default: -2,\n isToday: 2,\n isSelected: {\n selectionMode: {\n single: 2,\n range: -2\n }\n },\n isSelectionStart: 2,\n isSelectionEnd: 2\n },\n position: 'relative',\n font: 'body-sm',\n cursor: 'default',\n width: 'full',\n height: 32,\n borderRadius: 'full',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n forcedColorAdjust: 'none',\n backgroundColor: {\n default: 'transparent',\n isHovered: {\n default: 'gray-100',\n isUnavailable: 'transparent'\n },\n isPressed: 'gray-100',\n isDisabled: 'transparent',\n isToday: {\n default: baseColor('gray-300'),\n isDisabled: 'disabled'\n },\n isSelected: {\n selectionMode: {\n single: {\n default: lightDark('accent-900', 'accent-700'),\n isHovered: lightDark('accent-1000', 'accent-600'),\n isPressed: lightDark('accent-1000', 'accent-600'),\n isFocusVisible: lightDark('accent-1000', 'accent-600'),\n isDisabled: 'transparent',\n isInvalid: {\n default: lightDark('negative-900', 'negative-700'),\n isHovered: lightDark('negative-1000', 'negative-600'),\n isPressed: lightDark('negative-1000', 'negative-600'),\n isFocusVisible: lightDark('negative-1000', 'negative-600')\n }\n },\n range: {\n isHovered: {\n default: 'blue-500',\n isInvalid: {\n default: 'negative-300',\n isUnavailable: 'transparent'\n }\n }\n }\n }\n },\n isSelectionStart: {\n default: lightDark('accent-900', 'accent-700'),\n isHovered: lightDark('accent-1000', 'accent-600'),\n isPressed: lightDark('accent-1000', 'accent-600'),\n isFocusVisible: lightDark('accent-1000', 'accent-600'),\n isDisabled: 'transparent',\n isInvalid: {\n default: lightDark('negative-900', 'negative-700'),\n isHovered: {\n default: lightDark('negative-1000', 'negative-600'),\n isUnavailable: lightDark('negative-900', 'negative-700')\n },\n isPressed: lightDark('negative-1000', 'negative-600'),\n isFocusVisible: {\n default: lightDark('negative-1000', 'negative-600'),\n isUnavailable: lightDark('negative-900', 'negative-700')\n }\n }\n },\n isSelectionEnd: {\n default: lightDark('accent-900', 'accent-700'),\n isHovered: lightDark('accent-1000', 'accent-600'),\n isPressed: lightDark('accent-1000', 'accent-600'),\n isFocusVisible: lightDark('accent-1000', 'accent-600'),\n isDisabled: 'transparent',\n isInvalid: {\n default: lightDark('negative-900', 'negative-700'),\n isHovered: {\n default: lightDark('negative-1000', 'negative-600'),\n isUnavailable: lightDark('negative-900', 'negative-700')\n },\n isPressed: lightDark('negative-1000', 'negative-600'),\n isFocusVisible: {\n default: lightDark('negative-1000', 'negative-600'),\n isUnavailable: lightDark('negative-900', 'negative-700')\n }\n }\n },\n forcedColors: {\n default: 'transparent',\n isToday: 'ButtonFace',\n isHovered: 'Highlight',\n isSelected: {\n selectionMode: {\n single: 'Highlight',\n range: {\n isHovered: 'Highlight'\n }\n }\n },\n isSelectionStart: 'Highlight',\n isSelectionEnd: 'Highlight',\n isUnavailable: 'transparent'\n }\n },\n color: {\n default: 'neutral',\n isSelected: {\n default: 'white',\n selectionMode: {\n range: 'neutral'\n }\n },\n isSelectionStart: 'white',\n isSelectionEnd: 'white',\n isDisabled: 'disabled',\n forcedColors: {\n default: 'ButtonText',\n isToday: 'ButtonFace',\n isSelected: 'HighlightText',\n isSelectionStart: 'HighlightText',\n isSelectionEnd: 'HighlightText',\n isDisabled: 'GrayText'\n }\n }\n});\n\nconst unavailableStyles = style({\n position: 'absolute',\n top: 'calc(50% - 1px)',\n left: 'calc(25% - 1px)',\n right: 'calc(25% - 1px)',\n height: 2,\n transform: 'rotate(-16deg)',\n borderRadius: 'full',\n backgroundColor: '[currentColor]'\n});\n\nconst selectionSpanStyles = style<{isInvalid?: boolean}>({\n position: 'absolute',\n zIndex: -1,\n top: 0,\n insetStart: 'calc(-1 * var(--selection-span) * (var(--cell-width) + var(--cell-gap) + var(--cell-gap)))',\n insetEnd: 0,\n bottom: 0,\n borderWidth: 2,\n borderStyle: 'dashed',\n borderColor: {\n default: 'blue-800', // focus-indicator-color\n isInvalid: 'negative-900',\n forcedColors: {\n default: 'ButtonText'\n }\n },\n borderStartRadius: 'full',\n borderEndRadius: 'full',\n backgroundColor: {\n default: 'blue-subtle',\n isInvalid: 'negative-100',\n forcedColors: {\n default: 'Highlight'\n }\n },\n forcedColorAdjust: 'none'\n});\n\n/**\n * Calendars display a grid of days in one or more months and allow users to select a single date.\n */\nexport const Calendar = /*#__PURE__*/ (forwardRef as forwardRefType)(function Calendar<T extends DateValue>(props: CalendarProps<T>, ref: ForwardedRef<HTMLDivElement>) {\n [props, ref] = useSpectrumContextProps(props, ref, CalendarContext);\n let {\n visibleMonths = 1,\n errorMessage,\n UNSAFE_style,\n UNSAFE_className,\n styles,\n ...otherProps\n } = props;\n let stringFormatter = useLocalizedStringFormatter(intlMessages, '@react-spectrum/s2');\n return (\n <AriaCalendar\n {...otherProps}\n ref={ref}\n visibleDuration={{months: visibleMonths}}\n style={UNSAFE_style}\n className={(UNSAFE_className || '') + calendarStyles(null, styles)}>\n {({isInvalid, isDisabled}) => {\n return (\n <>\n <Provider\n values={[\n [HeaderContext, null],\n [HeadingContext, null]\n ]}>\n <Header styles={headerStyles}>\n <CalendarButton slot=\"previous\"><ChevronLeftIcon /></CalendarButton>\n <CalendarHeading />\n <CalendarButton slot=\"next\"><ChevronRightIcon /></CalendarButton>\n </Header>\n </Provider>\n <div\n className={style({\n display: 'flex',\n flexDirection: 'row',\n gap: 24,\n width: 'full',\n alignItems: 'start'\n })}>\n {Array.from({length: visibleMonths}).map((_, i) => (\n <CalendarGrid months={i} key={i} />\n ))}\n </div>\n {isInvalid && (\n <Text slot=\"errorMessage\" className={helpTextStyles({isInvalid, isDisabled, size: 'M'})}>\n {errorMessage || stringFormatter.format('calendar.invalidSelection', {selectedCount: 1})}\n </Text>\n )}\n </>\n );\n }}\n </AriaCalendar>\n );\n});\n\nexport const CalendarGrid = (props: Omit<AriaCalendarGridProps, 'children'> & PropsWithChildren & {months: number}): ReactElement => {\n let rangeCalendarProps = useSlottedContext(RangeCalendarContext);\n let calendarProps = useSlottedContext(AriaCalendarContext);\n let firstDayOfWeek = rangeCalendarProps?.firstDayOfWeek ?? calendarProps?.firstDayOfWeek;\n\n // use isolation to start a new stacking context so that we can use zIndex -1 for the selection span.\n return (\n <AriaCalendarGrid\n className={style({\n borderCollapse: 'collapse',\n borderSpacing: 0,\n isolation: 'isolate'\n })}\n offset={{months: props.months}}>\n <CalendarGridHeader className=\"\">\n {(day) => (\n <CalendarHeaderCell>\n {day}\n </CalendarHeaderCell>\n )}\n </CalendarGridHeader>\n <CalendarGridBody className=\"\">\n {(date) => (\n <CalendarCell date={date} firstDayOfWeek={firstDayOfWeek} />\n )}\n </CalendarGridBody>\n </AriaCalendarGrid>\n );\n};\n\n// Ordinarily the heading is a formatted date range, ie January 2025 - February 2025.\n// However, we want to show each month individually.\nexport const CalendarHeading = (): ReactElement => {\n let calendarStateContext = useContext(CalendarStateContext);\n let rangeCalendarStateContext = useContext(RangeCalendarStateContext);\n let {visibleRange, timeZone} = calendarStateContext ?? rangeCalendarStateContext ?? {};\n let currentMonth = visibleRange?.start ?? visibleRange?.end;\n let monthFormatter = useDateFormatter({\n month: 'long',\n year: 'numeric',\n era: currentMonth && currentMonth.calendar.identifier === 'gregory' && currentMonth.era === 'BC' ? 'short' : undefined,\n calendar: visibleRange?.start.calendar.identifier,\n timeZone\n });\n let months = useMemo(() => {\n if (!visibleRange) {\n return [];\n }\n let months: string[] = [];\n for (let i = visibleRange.start; i.compare(visibleRange.end) <= 0; i = i.add({months: 1})) {\n // TODO: account for the first week possibly overlapping, like with a custom 454 calendar.\n // there has to be a better way to do this...\n if (i.month === visibleRange.start.month) {\n i = i.add({weeks: 1});\n }\n months.push(monthFormatter.format(i.toDate(timeZone!)));\n }\n return months;\n }, [visibleRange, monthFormatter, timeZone]);\n\n return (\n <Heading styles={headingStyles}>\n {months.map((month, i) => {\n if (i === 0) {\n return (\n <Fragment key={month}>\n <div className={titleStyles}>{month}</div>\n </Fragment>\n );\n } else {\n return (\n <Fragment key={month}>\n {/* Spacers to account for Next/Previous buttons and gap, spelled out to show the math */}\n <div className={style({visibility: 'hidden', width: 32})} />\n <div className={style({visibility: 'hidden', width: 24})} />\n <div className={style({visibility: 'hidden', width: 32})} />\n <div className={titleStyles}>{month}</div>\n </Fragment>\n );\n }\n })}\n </Heading>\n );\n};\n\nexport const CalendarButton = (props: Omit<ButtonProps, 'children'> & {children: ReactNode}): ReactElement => {\n let {direction} = useLocale();\n return (\n <div\n className={\n style({\n scale: {\n direction: {\n rtl: -1\n }\n }\n })({direction})\n }>\n <ActionButton\n {...props}\n isQuiet>\n {props.children}\n </ActionButton>\n </div>\n );\n};\n\nconst CalendarHeaderCell = (props: Omit<CalendarHeaderCellProps, 'children'> & PropsWithChildren): ReactElement => {\n return (\n <AriaCalendarHeaderCell className={headerCellStyles}>\n {props.children}\n </AriaCalendarHeaderCell>\n );\n};\n\nconst CalendarCell = (props: Omit<CalendarCellProps, 'children'> & {firstDayOfWeek: 'sun' | 'mon' | 'tue' | 'wed' | 'thu' | 'fri' | 'sat' | undefined}): ReactElement => {\n let {locale} = useLocale();\n let firstDayOfWeek = props.firstDayOfWeek;\n // Calculate the day and week index based on the date.\n let {dayIndex, weekIndex} = useWeekAndDayIndices(props.date, locale, firstDayOfWeek);\n\n let calendarStateContext = useContext(CalendarStateContext);\n let rangeCalendarStateContext = useContext(RangeCalendarStateContext);\n let state = (calendarStateContext ?? rangeCalendarStateContext)!;\n\n let isFirstWeek = weekIndex === 0;\n let isFirstChild = dayIndex === 0;\n let isLastChild = dayIndex === 6;\n\n return (\n <AriaCalendarCell\n date={props.date}\n className={(renderProps) => cellStyles({...renderProps, isFirstChild, isLastChild, isFirstWeek})}>\n {(renderProps) => <CalendarCellInner {...props} weekIndex={weekIndex} dayIndex={dayIndex} state={state} isRangeSelection={!!rangeCalendarStateContext} renderProps={renderProps} />}\n </AriaCalendarCell>\n );\n};\n\nconst CalendarCellInner = (props: Omit<CalendarCellProps, 'children'> & {isRangeSelection: boolean, state: CalendarState | RangeCalendarState, weekIndex: number, dayIndex: number, renderProps?: CalendarCellRenderProps, date: DateValue}): ReactElement => {\n let {weekIndex, dayIndex, date, renderProps, state, isRangeSelection} = props;\n let {getDatesInWeek} = state;\n let ref = useRef<HTMLDivElement>(null);\n let {isUnavailable, formattedDate, isSelected, isSelectionStart, isSelectionEnd, isInvalid} = renderProps!;\n // only apply the selection start/end styles if the start/end date is actually selectable (aka not unavailable)\n // or if the range is invalid and thus we still want to show the styles even if the start/end date is an unavailable one\n isSelectionStart = isSelectionStart && (!isUnavailable || isInvalid);\n isSelectionEnd = isSelectionEnd && (!isUnavailable || isInvalid);\n\n let startDate = startOfMonth(date);\n let datesInWeek = getDatesInWeek(weekIndex, startDate);\n\n let isDateInRange = (checkDate: CalendarDate) => {\n if (!('highlightedRange' in state) || !state.highlightedRange) {\n return state.isSelected(checkDate);\n }\n // if invalid, check if date is within the full range boundaries\n if (isInvalid) {\n return checkDate.compare(state.highlightedRange.start) >= 0 &&\n checkDate.compare(state.highlightedRange.end) <= 0;\n }\n\n return state.isSelected(checkDate);\n };\n\n // Starting from the current day, find the first day before it in the current week that is not selected.\n // Then, the span of selected days is the current day minus the first unselected day.\n let firstUnselectedInRangeInWeek = datesInWeek.slice(0, dayIndex + 1).reverse().findIndex((date, i) => {\n return date && i > 0 && (!isDateInRange(date) || date.month !== props.date.month);\n });\n\n let selectionSpan = -1;\n if (firstUnselectedInRangeInWeek > -1 && isSelected) {\n selectionSpan = firstUnselectedInRangeInWeek - 1;\n } else if (isSelected) {\n selectionSpan = dayIndex;\n }\n let prevDay = date.subtract({days: 1});\n let nextDay = date.add({days: 1});\n\n // when invalid, show background for all selected dates (including unavailable) to make continuous range appearance\n // when valid, only show background for available selected dates\n let isBackgroundStyleApplied = (\n isSelected\n && isRangeSelection\n && (isInvalid || !isUnavailable)\n && (isDateInRange(prevDay)\n || (nextDay.month === date.month && isDateInRange(nextDay)))\n );\n\n return (\n <div\n className={style({\n position: 'relative',\n width: 32,\n '--cell-width': {\n type: 'width',\n value: '[self(width)]'\n }\n })}>\n <div\n ref={ref}\n style={pressScale(ref, {})(renderProps!)}\n className={cellInnerStyles({...renderProps!, isSelectionStart, isSelectionEnd, selectionMode: isRangeSelection ? 'range' : 'single'})}>\n <div>\n {formattedDate}\n </div>\n {isUnavailable && <div className={unavailableStyles} role=\"presentation\" />}\n </div>\n {isBackgroundStyleApplied && <div style={{'--selection-span': selectionSpan} as CSSProperties} className={selectionSpanStyles({isInvalid})} role=\"presentation\" />}\n </div>\n );\n};\n\ntype DayOfWeek = 'sun' | 'mon' | 'tue' | 'wed' | 'thu' | 'fri' | 'sat';\n\n/**\n * Calculate the week index (0-based) and day index (0-based) for a given date within a month in a calendar.\n * @param date - The date to calculate indices for.\n * @param locale - The locale string (e.g., 'en-US', 'fr-FR', 'hi-IN-u-ca-indian').\n * @param firstDayOfWeek - Optional override for the first day of the week ('sun', 'mon', 'tue', etc.).\n * @returns Object with weekIndex and dayIndex.\n */\nfunction useWeekAndDayIndices(\n date: CalendarDate,\n locale: string,\n firstDayOfWeek?: DayOfWeek\n) {\n let {dayIndex, weekIndex} = useMemo(() => {\n // Get the day index within the week (0-6)\n const dayIndex = getDayOfWeek(date, locale, firstDayOfWeek);\n\n const monthStart = startOfMonth(date);\n\n // Calculate the week index by finding which week this date falls into\n // within the month's calendar grid\n const monthStartDayOfWeek = getDayOfWeek(monthStart, locale, firstDayOfWeek);\n const dayOfMonth = date.day;\n\n const weekIndex = Math.floor((dayOfMonth + monthStartDayOfWeek - 1) / 7);\n\n return {\n weekIndex,\n dayIndex\n };\n }, [date, locale, firstDayOfWeek]);\n\n return {dayIndex, weekIndex};\n}\n"],"names":[],"version":3,"file":"Calendar.cjs.map"}