@react-spectrum/s2 1.4.0 → 1.5.1

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 (419) hide show
  1. package/dist/exports/CenterBaseline.cjs +12 -0
  2. package/dist/exports/CenterBaseline.cjs.map +1 -0
  3. package/dist/exports/CenterBaseline.mjs +7 -0
  4. package/dist/exports/CenterBaseline.mjs.map +1 -0
  5. package/dist/exports/Skeleton.cjs +1 -0
  6. package/dist/exports/Skeleton.cjs.map +1 -1
  7. package/dist/exports/Skeleton.mjs +2 -2
  8. package/dist/exports/Skeleton.mjs.map +1 -1
  9. package/dist/exports/index.cjs +3 -0
  10. package/dist/exports/index.cjs.map +1 -1
  11. package/dist/exports/index.mjs +3 -1
  12. package/dist/exports/index.mjs.map +1 -1
  13. package/dist/private/Accordion.cjs +2 -2
  14. package/dist/private/Accordion.css +2 -2
  15. package/dist/private/Accordion.mjs +2 -2
  16. package/dist/private/ActionBar.cjs +59 -59
  17. package/dist/private/ActionBar.cjs.map +1 -1
  18. package/dist/private/ActionBar.css +58 -58
  19. package/dist/private/ActionBar.css.map +1 -1
  20. package/dist/private/ActionBar.mjs +59 -59
  21. package/dist/private/ActionBar.mjs.map +1 -1
  22. package/dist/private/ActionButton.cjs +247 -247
  23. package/dist/private/ActionButton.cjs.map +1 -1
  24. package/dist/private/ActionButton.css +169 -169
  25. package/dist/private/ActionButton.css.map +1 -1
  26. package/dist/private/ActionButton.mjs +247 -247
  27. package/dist/private/ActionButton.mjs.map +1 -1
  28. package/dist/private/ActionButtonGroup.cjs +15 -15
  29. package/dist/private/ActionButtonGroup.css +9 -9
  30. package/dist/private/ActionButtonGroup.mjs +15 -15
  31. package/dist/private/ActionMenu.cjs.map +1 -1
  32. package/dist/private/ActionMenu.mjs.map +1 -1
  33. package/dist/private/Add.cjs +10 -10
  34. package/dist/private/Add.css +6 -6
  35. package/dist/private/Add.mjs +10 -10
  36. package/dist/private/AlertDialog.cjs +3 -3
  37. package/dist/private/AlertDialog.cjs.map +1 -1
  38. package/dist/private/AlertDialog.css +3 -3
  39. package/dist/private/AlertDialog.css.map +1 -1
  40. package/dist/private/AlertDialog.mjs +3 -3
  41. package/dist/private/AlertDialog.mjs.map +1 -1
  42. package/dist/private/Asterisk.cjs +6 -6
  43. package/dist/private/Asterisk.css +4 -4
  44. package/dist/private/Asterisk.mjs +6 -6
  45. package/dist/private/Avatar.cjs +16 -16
  46. package/dist/private/Avatar.css +16 -16
  47. package/dist/private/Avatar.mjs +16 -16
  48. package/dist/private/AvatarGroup.cjs +120 -120
  49. package/dist/private/AvatarGroup.css +31 -31
  50. package/dist/private/AvatarGroup.mjs +120 -120
  51. package/dist/private/Badge.cjs +197 -197
  52. package/dist/private/Badge.css +125 -125
  53. package/dist/private/Badge.mjs +197 -197
  54. package/dist/private/Breadcrumbs.cjs +234 -234
  55. package/dist/private/Breadcrumbs.cjs.map +1 -1
  56. package/dist/private/Breadcrumbs.css +100 -100
  57. package/dist/private/Breadcrumbs.css.map +1 -1
  58. package/dist/private/Breadcrumbs.mjs +234 -234
  59. package/dist/private/Breadcrumbs.mjs.map +1 -1
  60. package/dist/private/Button.cjs +335 -326
  61. package/dist/private/Button.cjs.map +1 -1
  62. package/dist/private/Button.css +176 -172
  63. package/dist/private/Button.css.map +1 -1
  64. package/dist/private/Button.mjs +335 -326
  65. package/dist/private/Button.mjs.map +1 -1
  66. package/dist/private/ButtonGroup.cjs +23 -20
  67. package/dist/private/ButtonGroup.cjs.map +1 -1
  68. package/dist/private/ButtonGroup.css +19 -15
  69. package/dist/private/ButtonGroup.css.map +1 -1
  70. package/dist/private/ButtonGroup.mjs +23 -20
  71. package/dist/private/ButtonGroup.mjs.map +1 -1
  72. package/dist/private/Calendar.cjs +232 -232
  73. package/dist/private/Calendar.cjs.map +1 -1
  74. package/dist/private/Calendar.css +149 -149
  75. package/dist/private/Calendar.css.map +1 -1
  76. package/dist/private/Calendar.mjs +232 -232
  77. package/dist/private/Calendar.mjs.map +1 -1
  78. package/dist/private/Card.cjs +309 -309
  79. package/dist/private/Card.css +206 -206
  80. package/dist/private/Card.mjs +309 -309
  81. package/dist/private/CardView.cjs +17 -17
  82. package/dist/private/CardView.css +17 -17
  83. package/dist/private/CardView.mjs +17 -17
  84. package/dist/private/CenterBaseline.cjs +1 -1
  85. package/dist/private/CenterBaseline.cjs.map +1 -1
  86. package/dist/private/CenterBaseline.css +2 -2
  87. package/dist/private/CenterBaseline.css.map +1 -1
  88. package/dist/private/CenterBaseline.mjs +1 -1
  89. package/dist/private/CenterBaseline.mjs.map +1 -1
  90. package/dist/private/Checkbox.cjs +188 -188
  91. package/dist/private/Checkbox.css +110 -110
  92. package/dist/private/Checkbox.mjs +188 -188
  93. package/dist/private/CheckboxGroup.cjs +43 -43
  94. package/dist/private/CheckboxGroup.css +37 -37
  95. package/dist/private/CheckboxGroup.mjs +43 -43
  96. package/dist/private/Checkmark.cjs +12 -12
  97. package/dist/private/Checkmark.css +8 -8
  98. package/dist/private/Checkmark.mjs +12 -12
  99. package/dist/private/Chevron.cjs +12 -12
  100. package/dist/private/Chevron.css +10 -10
  101. package/dist/private/Chevron.mjs +12 -12
  102. package/dist/private/ClearButton.cjs +30 -30
  103. package/dist/private/ClearButton.css +30 -30
  104. package/dist/private/ClearButton.mjs +30 -30
  105. package/dist/private/CloseButton.cjs +52 -52
  106. package/dist/private/CloseButton.cjs.map +1 -1
  107. package/dist/private/CloseButton.css +46 -46
  108. package/dist/private/CloseButton.css.map +1 -1
  109. package/dist/private/CloseButton.mjs +52 -52
  110. package/dist/private/CloseButton.mjs.map +1 -1
  111. package/dist/private/ColorArea.cjs +16 -16
  112. package/dist/private/ColorArea.css +16 -16
  113. package/dist/private/ColorArea.mjs +16 -16
  114. package/dist/private/ColorField.cjs +31 -31
  115. package/dist/private/ColorField.css +27 -27
  116. package/dist/private/ColorField.mjs +31 -31
  117. package/dist/private/ColorHandle.cjs +27 -27
  118. package/dist/private/ColorHandle.css +42 -42
  119. package/dist/private/ColorHandle.mjs +27 -27
  120. package/dist/private/ColorSlider.cjs +108 -108
  121. package/dist/private/ColorSlider.css +52 -52
  122. package/dist/private/ColorSlider.mjs +108 -108
  123. package/dist/private/ColorSwatch.cjs +29 -29
  124. package/dist/private/ColorSwatch.css +29 -29
  125. package/dist/private/ColorSwatch.mjs +29 -29
  126. package/dist/private/ColorSwatchPicker.cjs +29 -29
  127. package/dist/private/ColorSwatchPicker.css +48 -48
  128. package/dist/private/ColorSwatchPicker.mjs +29 -29
  129. package/dist/private/ColorWheel.cjs +26 -26
  130. package/dist/private/ColorWheel.css +17 -17
  131. package/dist/private/ColorWheel.mjs +26 -26
  132. package/dist/private/ComboBox.cjs +381 -381
  133. package/dist/private/ComboBox.cjs.map +1 -1
  134. package/dist/private/ComboBox.css +188 -188
  135. package/dist/private/ComboBox.css.map +1 -1
  136. package/dist/private/ComboBox.mjs +381 -381
  137. package/dist/private/ComboBox.mjs.map +1 -1
  138. package/dist/private/ContextualHelp.cjs +5 -5
  139. package/dist/private/ContextualHelp.cjs.map +1 -1
  140. package/dist/private/ContextualHelp.css +50 -50
  141. package/dist/private/ContextualHelp.css.map +1 -1
  142. package/dist/private/ContextualHelp.mjs +5 -5
  143. package/dist/private/ContextualHelp.mjs.map +1 -1
  144. package/dist/private/CornerTriangle.cjs +8 -8
  145. package/dist/private/CornerTriangle.css +6 -6
  146. package/dist/private/CornerTriangle.mjs +8 -8
  147. package/dist/private/Cross.cjs +14 -14
  148. package/dist/private/Cross.css +10 -10
  149. package/dist/private/Cross.mjs +14 -14
  150. package/dist/private/CustomDialog.cjs +25 -25
  151. package/dist/private/CustomDialog.css +25 -25
  152. package/dist/private/CustomDialog.mjs +25 -25
  153. package/dist/private/Dash.cjs +10 -10
  154. package/dist/private/Dash.css +6 -6
  155. package/dist/private/Dash.mjs +10 -10
  156. package/dist/private/DateField.cjs +73 -73
  157. package/dist/private/DateField.css +77 -77
  158. package/dist/private/DateField.mjs +73 -73
  159. package/dist/private/DatePicker.cjs +172 -172
  160. package/dist/private/DatePicker.cjs.map +1 -1
  161. package/dist/private/DatePicker.css +128 -128
  162. package/dist/private/DatePicker.css.map +1 -1
  163. package/dist/private/DatePicker.mjs +172 -172
  164. package/dist/private/DatePicker.mjs.map +1 -1
  165. package/dist/private/DateRangePicker.cjs +55 -55
  166. package/dist/private/DateRangePicker.cjs.map +1 -1
  167. package/dist/private/DateRangePicker.css +59 -59
  168. package/dist/private/DateRangePicker.css.map +1 -1
  169. package/dist/private/DateRangePicker.mjs +55 -55
  170. package/dist/private/DateRangePicker.mjs.map +1 -1
  171. package/dist/private/Dialog.cjs +17 -17
  172. package/dist/private/Dialog.css +70 -70
  173. package/dist/private/Dialog.mjs +17 -17
  174. package/dist/private/Disclosure.cjs +144 -122
  175. package/dist/private/Disclosure.cjs.map +1 -1
  176. package/dist/private/Disclosure.css +112 -112
  177. package/dist/private/Disclosure.css.map +1 -1
  178. package/dist/private/Disclosure.mjs +144 -122
  179. package/dist/private/Disclosure.mjs.map +1 -1
  180. package/dist/private/Divider.cjs +25 -25
  181. package/dist/private/Divider.css +25 -25
  182. package/dist/private/Divider.mjs +25 -25
  183. package/dist/private/DragHandle.cjs +8 -8
  184. package/dist/private/DragHandle.css +6 -6
  185. package/dist/private/DragHandle.mjs +8 -8
  186. package/dist/private/DragPreview.cjs +154 -154
  187. package/dist/private/DragPreview.css +106 -106
  188. package/dist/private/DragPreview.mjs +154 -154
  189. package/dist/private/DropZone.cjs +61 -61
  190. package/dist/private/DropZone.cjs.map +1 -1
  191. package/dist/private/DropZone.css +57 -57
  192. package/dist/private/DropZone.css.map +1 -1
  193. package/dist/private/DropZone.mjs +61 -61
  194. package/dist/private/DropZone.mjs.map +1 -1
  195. package/dist/private/Field.cjs +360 -360
  196. package/dist/private/Field.cjs.map +1 -1
  197. package/dist/private/Field.css +160 -160
  198. package/dist/private/Field.css.map +1 -1
  199. package/dist/private/Field.mjs +360 -360
  200. package/dist/private/Field.mjs.map +1 -1
  201. package/dist/private/Form.cjs +9 -9
  202. package/dist/private/Form.css +9 -9
  203. package/dist/private/Form.mjs +9 -9
  204. package/dist/private/FullscreenDialog.cjs +5 -5
  205. package/dist/private/FullscreenDialog.css +78 -78
  206. package/dist/private/FullscreenDialog.mjs +5 -5
  207. package/dist/private/IllustratedMessage.cjs +228 -228
  208. package/dist/private/IllustratedMessage.css +72 -72
  209. package/dist/private/IllustratedMessage.mjs +228 -228
  210. package/dist/private/Image.cjs +14 -14
  211. package/dist/private/Image.css +14 -14
  212. package/dist/private/Image.mjs +14 -14
  213. package/dist/private/InlineAlert.cjs +100 -100
  214. package/dist/private/InlineAlert.cjs.map +1 -1
  215. package/dist/private/InlineAlert.css +76 -76
  216. package/dist/private/InlineAlert.css.map +1 -1
  217. package/dist/private/InlineAlert.mjs +100 -100
  218. package/dist/private/InlineAlert.mjs.map +1 -1
  219. package/dist/private/LabeledValue.cjs +134 -134
  220. package/dist/private/LabeledValue.css +63 -63
  221. package/dist/private/LabeledValue.mjs +134 -134
  222. package/dist/private/Link.cjs +49 -49
  223. package/dist/private/Link.css +41 -41
  224. package/dist/private/Link.mjs +49 -49
  225. package/dist/private/LinkOut.cjs +8 -8
  226. package/dist/private/LinkOut.css +8 -8
  227. package/dist/private/LinkOut.mjs +8 -8
  228. package/dist/private/ListView.cjs +245 -245
  229. package/dist/private/ListView.cjs.map +1 -1
  230. package/dist/private/ListView.css +177 -177
  231. package/dist/private/ListView.css.map +1 -1
  232. package/dist/private/ListView.mjs +245 -245
  233. package/dist/private/ListView.mjs.map +1 -1
  234. package/dist/private/Menu.cjs +446 -446
  235. package/dist/private/Menu.cjs.map +1 -1
  236. package/dist/private/Menu.css +196 -196
  237. package/dist/private/Menu.css.map +1 -1
  238. package/dist/private/Menu.mjs +446 -446
  239. package/dist/private/Menu.mjs.map +1 -1
  240. package/dist/private/Meter.cjs +153 -153
  241. package/dist/private/Meter.css +91 -91
  242. package/dist/private/Meter.mjs +153 -153
  243. package/dist/private/Modal.cjs +74 -74
  244. package/dist/private/Modal.css +59 -59
  245. package/dist/private/Modal.mjs +74 -74
  246. package/dist/private/NotificationBadge.cjs +56 -56
  247. package/dist/private/NotificationBadge.cjs.map +1 -1
  248. package/dist/private/NotificationBadge.css +49 -49
  249. package/dist/private/NotificationBadge.css.map +1 -1
  250. package/dist/private/NotificationBadge.mjs +56 -56
  251. package/dist/private/NotificationBadge.mjs.map +1 -1
  252. package/dist/private/NumberField.cjs +114 -114
  253. package/dist/private/NumberField.css +99 -99
  254. package/dist/private/NumberField.mjs +114 -114
  255. package/dist/private/Picker.cjs +275 -275
  256. package/dist/private/Picker.cjs.map +1 -1
  257. package/dist/private/Picker.css +173 -173
  258. package/dist/private/Picker.css.map +1 -1
  259. package/dist/private/Picker.mjs +275 -275
  260. package/dist/private/Picker.mjs.map +1 -1
  261. package/dist/private/Popover.cjs +95 -95
  262. package/dist/private/Popover.cjs.map +1 -1
  263. package/dist/private/Popover.css +75 -75
  264. package/dist/private/Popover.css.map +1 -1
  265. package/dist/private/Popover.mjs +95 -95
  266. package/dist/private/Popover.mjs.map +1 -1
  267. package/dist/private/ProgressBar.cjs +163 -163
  268. package/dist/private/ProgressBar.css +99 -99
  269. package/dist/private/ProgressBar.mjs +163 -163
  270. package/dist/private/ProgressCircle.cjs +34 -31
  271. package/dist/private/ProgressCircle.cjs.map +1 -1
  272. package/dist/private/ProgressCircle.css +24 -24
  273. package/dist/private/ProgressCircle.css.map +1 -1
  274. package/dist/private/ProgressCircle.mjs +34 -31
  275. package/dist/private/ProgressCircle.mjs.map +1 -1
  276. package/dist/private/Provider.cjs +19 -19
  277. package/dist/private/Provider.css +15 -15
  278. package/dist/private/Provider.mjs +19 -19
  279. package/dist/private/RadioGroup.cjs +208 -208
  280. package/dist/private/RadioGroup.css +113 -113
  281. package/dist/private/RadioGroup.mjs +208 -208
  282. package/dist/private/RangeCalendar.cjs +16 -16
  283. package/dist/private/RangeCalendar.cjs.map +1 -1
  284. package/dist/private/RangeCalendar.css +17 -17
  285. package/dist/private/RangeCalendar.css.map +1 -1
  286. package/dist/private/RangeCalendar.mjs +16 -16
  287. package/dist/private/RangeCalendar.mjs.map +1 -1
  288. package/dist/private/RangeSlider.cjs.map +1 -1
  289. package/dist/private/RangeSlider.mjs.map +1 -1
  290. package/dist/private/SearchField.cjs +41 -41
  291. package/dist/private/SearchField.css +45 -45
  292. package/dist/private/SearchField.mjs +41 -41
  293. package/dist/private/SegmentedControl.cjs +178 -178
  294. package/dist/private/SegmentedControl.css +123 -123
  295. package/dist/private/SegmentedControl.mjs +178 -178
  296. package/dist/private/SelectBoxGroup.cjs +142 -142
  297. package/dist/private/SelectBoxGroup.css +120 -120
  298. package/dist/private/SelectBoxGroup.mjs +142 -142
  299. package/dist/private/Slider.cjs +292 -292
  300. package/dist/private/Slider.css +159 -159
  301. package/dist/private/Slider.mjs +292 -292
  302. package/dist/private/StatusLight.cjs +115 -115
  303. package/dist/private/StatusLight.css +59 -59
  304. package/dist/private/StatusLight.mjs +115 -115
  305. package/dist/private/Switch.cjs +171 -171
  306. package/dist/private/Switch.css +85 -85
  307. package/dist/private/Switch.mjs +171 -171
  308. package/dist/private/TableView.cjs +551 -534
  309. package/dist/private/TableView.cjs.map +1 -1
  310. package/dist/private/TableView.css +329 -303
  311. package/dist/private/TableView.css.map +1 -1
  312. package/dist/private/TableView.mjs +551 -534
  313. package/dist/private/TableView.mjs.map +1 -1
  314. package/dist/private/Tabs.cjs +131 -125
  315. package/dist/private/Tabs.cjs.map +1 -1
  316. package/dist/private/Tabs.css +105 -105
  317. package/dist/private/Tabs.css.map +1 -1
  318. package/dist/private/Tabs.mjs +131 -125
  319. package/dist/private/Tabs.mjs.map +1 -1
  320. package/dist/private/TabsPicker.cjs +127 -127
  321. package/dist/private/TabsPicker.css +108 -108
  322. package/dist/private/TabsPicker.mjs +127 -127
  323. package/dist/private/TagGroup.cjs +203 -203
  324. package/dist/private/TagGroup.cjs.map +1 -1
  325. package/dist/private/TagGroup.css +146 -146
  326. package/dist/private/TagGroup.css.map +1 -1
  327. package/dist/private/TagGroup.mjs +203 -203
  328. package/dist/private/TagGroup.mjs.map +1 -1
  329. package/dist/private/TextField.cjs +58 -58
  330. package/dist/private/TextField.css +54 -54
  331. package/dist/private/TextField.mjs +58 -58
  332. package/dist/private/TimeField.cjs +51 -51
  333. package/dist/private/TimeField.css +47 -47
  334. package/dist/private/TimeField.mjs +51 -51
  335. package/dist/private/Toast.cjs +120 -120
  336. package/dist/private/Toast.cjs.map +1 -1
  337. package/dist/private/Toast.css +110 -110
  338. package/dist/private/Toast.css.map +1 -1
  339. package/dist/private/Toast.mjs +120 -120
  340. package/dist/private/Toast.mjs.map +1 -1
  341. package/dist/private/ToggleButton.cjs +16 -16
  342. package/dist/private/ToggleButton.css +23 -23
  343. package/dist/private/ToggleButton.mjs +16 -16
  344. package/dist/private/Tooltip.cjs +86 -86
  345. package/dist/private/Tooltip.css +70 -70
  346. package/dist/private/Tooltip.mjs +86 -86
  347. package/dist/private/TreeView.cjs +229 -229
  348. package/dist/private/TreeView.cjs.map +1 -1
  349. package/dist/private/TreeView.css +184 -184
  350. package/dist/private/TreeView.css.map +1 -1
  351. package/dist/private/TreeView.mjs +229 -229
  352. package/dist/private/TreeView.mjs.map +1 -1
  353. package/dist/private/dnd-utils.cjs +42 -42
  354. package/dist/private/dnd-utils.css +39 -39
  355. package/dist/private/dnd-utils.mjs +42 -42
  356. package/dist/types/exports/CenterBaseline.d.ts +1 -0
  357. package/dist/types/exports/Skeleton.d.ts +1 -1
  358. package/dist/types/exports/index.d.ts +1 -0
  359. package/dist/types/src/CenterBaseline.d.ts +17 -0
  360. package/dist/types/src/ContextualHelp.d.ts +1 -1
  361. package/dist/types/src/Disclosure.d.ts +6 -1
  362. package/dist/types/src/ListView.d.ts +1 -1
  363. package/dist/types/src/Menu.d.ts +1 -1
  364. package/dist/types/src/Popover.d.ts +2 -2
  365. package/dist/types/src/style-utils.d.ts +4 -1
  366. package/exports/CenterBaseline.ts +1 -0
  367. package/exports/Skeleton.ts +1 -1
  368. package/exports/index.ts +2 -0
  369. package/icons/Icon.cjs +10 -10
  370. package/icons/Icon.css +9 -9
  371. package/icons/Icon.mjs +10 -10
  372. package/icons/Skeleton.cjs +2 -2
  373. package/icons/Skeleton.css +6 -6
  374. package/icons/Skeleton.mjs +2 -2
  375. package/package.json +6 -6
  376. package/src/ActionBar.tsx +0 -1
  377. package/src/ActionButton.tsx +0 -1
  378. package/src/ActionMenu.tsx +0 -1
  379. package/src/AlertDialog.tsx +0 -1
  380. package/src/Breadcrumbs.tsx +0 -4
  381. package/src/Button.tsx +12 -3
  382. package/src/ButtonGroup.tsx +1 -0
  383. package/src/Calendar.tsx +0 -1
  384. package/src/CenterBaseline.tsx +17 -0
  385. package/src/CloseButton.tsx +0 -1
  386. package/src/ComboBox.tsx +0 -1
  387. package/src/ContextualHelp.tsx +1 -2
  388. package/src/DatePicker.tsx +0 -1
  389. package/src/DateRangePicker.tsx +0 -1
  390. package/src/Disclosure.tsx +92 -79
  391. package/src/DropZone.tsx +0 -1
  392. package/src/Field.tsx +0 -1
  393. package/src/InlineAlert.tsx +0 -1
  394. package/src/ListView.tsx +0 -2
  395. package/src/Menu.tsx +1 -8
  396. package/src/NotificationBadge.tsx +0 -1
  397. package/src/Picker.tsx +0 -1
  398. package/src/Popover.tsx +2 -1
  399. package/src/ProgressCircle.tsx +1 -1
  400. package/src/RangeCalendar.tsx +0 -1
  401. package/src/RangeSlider.tsx +0 -1
  402. package/src/TableView.tsx +75 -37
  403. package/src/Tabs.tsx +9 -2
  404. package/src/TagGroup.tsx +0 -1
  405. package/src/Toast.tsx +0 -3
  406. package/src/TreeView.tsx +0 -1
  407. package/src/style-utils.ts +13 -2
  408. package/style/__tests__/style-macro.test.js +73 -71
  409. package/style/dist/main.cjs +25 -25
  410. package/style/dist/module.mjs +13 -13
  411. package/style/dist/properties.mjs +3 -3
  412. package/style/dist/spectrum-theme.cjs +224 -224
  413. package/style/dist/spectrum-theme.mjs +217 -217
  414. package/style/dist/style-macro.cjs +100 -100
  415. package/style/dist/style-macro.mjs +94 -94
  416. package/style/dist/style-utils.cjs +51 -39
  417. package/style/dist/style-utils.cjs.map +1 -1
  418. package/style/dist/style-utils.mjs +50 -38
  419. package/style/dist/style-utils.mjs.map +1 -1
@@ -1,282 +1,282 @@
1
1
  @layer _.a {
2
- .-ICUGx-_pc131 {
2
+ .-ICUGx-_pc151 {
3
3
  --s2-color-scheme: light dark;
4
4
  }
5
5
 
6
- .-ICUGx-_pb131 {
6
+ .-ICUGx-_pb151 {
7
7
  --s2-color-scheme: light;
8
8
  }
9
9
 
10
- .-ICUGx-_pa131 {
10
+ .-ICUGx-_pa151 {
11
11
  --s2-color-scheme: dark;
12
12
  }
13
13
 
14
- ._pK8eoyd131 {
14
+ ._pK8eoyd151 {
15
15
  color-scheme: var(--s2-color-scheme);
16
16
  }
17
17
 
18
- .-NvXmrd-_ZN8Gi4c131 {
18
+ .-NvXmrd-_ZN8Gi4c151 {
19
19
  --lightningcss-light: initial;
20
20
  }
21
21
 
22
- .-NvXmrd-_ZLmU131 {
22
+ .-NvXmrd-_ZLmU151 {
23
23
  --lightningcss-light: ;
24
24
  }
25
25
 
26
- .-j9blY-_ZLmU131 {
26
+ .-j9blY-_ZLmU151 {
27
27
  --lightningcss-dark: ;
28
28
  }
29
29
 
30
- .-j9blY-_ZN8Gi4c131 {
30
+ .-j9blY-_ZN8Gi4c151 {
31
31
  --lightningcss-dark: initial;
32
32
  }
33
33
 
34
- .-Ovbhqd-g_g131 {
34
+ .-Ovbhqd-g_g151 {
35
35
  --s2-container-bg: light-dark(#fff, #222);
36
36
  }
37
37
 
38
- .gEzkoQe131 {
38
+ .gEzkoQe151 {
39
39
  background-color: var(--s2-container-bg);
40
40
  }
41
41
 
42
- .oc131 {
42
+ .oc151 {
43
43
  border-start-start-radius: .625rem;
44
44
  }
45
45
 
46
- .nc131 {
46
+ .nc151 {
47
47
  border-start-end-radius: .625rem;
48
48
  }
49
49
 
50
- .kc131 {
50
+ .kc151 {
51
51
  border-end-start-radius: .625rem;
52
52
  }
53
53
 
54
- .jc131 {
54
+ .jc151 {
55
55
  border-end-end-radius: .625rem;
56
56
  }
57
57
 
58
- ._rgr5H3d131 {
58
+ ._rgr5H3d151 {
59
59
  filter: drop-shadow(0 0 2px light-dark(#0000001f, #0000005c)) drop-shadow(0 2px 6px light-dark(#0000000a, #0000001f)) drop-shadow(0 4px 12px light-dark(#00000014, #0000003d));
60
60
  }
61
61
 
62
- ._nLeasBb131 {
62
+ ._nLeasBb151 {
63
63
  box-shadow: 0 4px 12px light-dark(#00000014, #0000003d), 0 2px 6px light-dark(#0000000a, #0000001f), 0 0 2px light-dark(#0000001f, #0000005c);
64
64
  }
65
65
 
66
- ._nd131 {
66
+ ._nd151 {
67
67
  box-shadow: none;
68
68
  }
69
69
 
70
- ._Lf131 {
70
+ ._Lf151 {
71
71
  outline-style: solid;
72
72
  }
73
73
 
74
- ._Mb131 {
74
+ ._Mb151 {
75
75
  outline-width: 1px;
76
76
  }
77
77
 
78
- .Oye39g131 {
78
+ .Oye39g151 {
79
79
  outline-color: light-dark(#fff0, #323232);
80
80
  }
81
81
 
82
- .Zz131 {
82
+ .Zz151 {
83
83
  width: calc(21rem * var(--s2-scale));
84
84
  }
85
85
 
86
- .ZB131 {
86
+ .ZB151 {
87
87
  width: calc(26rem * var(--s2-scale));
88
88
  }
89
89
 
90
- .ZE131 {
90
+ .ZE151 {
91
91
  width: calc(36rem * var(--s2-scale));
92
92
  }
93
93
 
94
- .LEmL1Zb131 {
94
+ .LEmL1Zb151 {
95
95
  max-width: calc(100vw - 24px);
96
96
  }
97
97
 
98
- .sd131 {
98
+ .sd151 {
99
99
  display: flex;
100
100
  }
101
101
 
102
- ._Ia131 {
102
+ ._Ia151 {
103
103
  opacity: 0;
104
104
  opacity: 0;
105
105
  }
106
106
 
107
- .-_8PloMd-F131 {
107
+ .-_8PloMd-F151 {
108
108
  --translateY: 4px;
109
109
  }
110
110
 
111
- .-_8PloMd-l131 {
111
+ .-_8PloMd-l151 {
112
112
  --translateY: -4px;
113
113
  }
114
114
 
115
- .-_8PloMd-s131 {
115
+ .-_8PloMd-s151 {
116
116
  --translateY: 0px;
117
117
  }
118
118
 
119
- .-_7PloMd-G131 {
119
+ .-_7PloMd-G151 {
120
120
  --translateX: 4px;
121
121
  }
122
122
 
123
- .-_7PloMd-m131 {
123
+ .-_7PloMd-m151 {
124
124
  --translateX: -4px;
125
125
  }
126
126
 
127
- .-_7PloMd-s131 {
127
+ .-_7PloMd-s151 {
128
128
  --translateX: 0px;
129
129
  }
130
130
 
131
- .YmenWad131 {
131
+ .YmenWad151 {
132
132
  transition-property: opacity, translate;
133
133
  }
134
134
 
135
- .Xc131 {
135
+ .Xc151 {
136
136
  transition-duration: .2s;
137
137
  }
138
138
 
139
- ._2c131 {
139
+ ._2c151 {
140
140
  transition-timing-function: cubic-bezier(.5, 0, 1, 1);
141
141
  }
142
142
 
143
- ._Bb131 {
143
+ ._Bb151 {
144
144
  isolation: isolate;
145
145
  }
146
146
 
147
- ._Ob131 {
147
+ ._Ob151 {
148
148
  pointer-events: none;
149
149
  }
150
150
 
151
- .sb131 {
151
+ .sb151 {
152
152
  display: block;
153
153
  }
154
154
 
155
- .tEzkoQe131 {
155
+ .tEzkoQe151 {
156
156
  fill: var(--s2-container-bg);
157
157
  }
158
158
 
159
- .Zl131 {
159
+ .Zl151 {
160
160
  width: calc(1.125rem * var(--s2-scale));
161
161
  }
162
162
 
163
- .Fh131 {
163
+ .Fh151 {
164
164
  height: calc(.5625rem * var(--s2-scale));
165
165
  }
166
166
 
167
- ._Sb131 {
167
+ ._Sb151 {
168
168
  rotate: 0deg;
169
169
  }
170
170
 
171
- ._Sc131 {
171
+ ._Sc151 {
172
172
  rotate: 180deg;
173
173
  }
174
174
 
175
- ._Sa131 {
175
+ ._Sa151 {
176
176
  rotate: -90deg;
177
177
  }
178
178
 
179
- ._Sd131 {
179
+ ._Sd151 {
180
180
  rotate: 90deg;
181
181
  }
182
182
 
183
- .-_7PloMd-e131 {
183
+ .-_7PloMd-e151 {
184
184
  --translateX: -25%;
185
185
  }
186
186
 
187
- .-_7PloMd-y131 {
187
+ .-_7PloMd-y151 {
188
188
  --translateX: 25%;
189
189
  }
190
190
 
191
- .__Ya131 {
191
+ .__Ya151 {
192
192
  translate: var(--translateX, 0) var(--translateY, 0);
193
193
  }
194
194
 
195
- ._Vb131 {
195
+ ._Vb151 {
196
196
  stroke-width: 1px;
197
197
  }
198
198
 
199
- .Vye39g131 {
199
+ .Vye39g151 {
200
200
  stroke: light-dark(#fff0, #323232);
201
201
  }
202
202
 
203
- .Tt131 {
203
+ .Tt151 {
204
204
  padding-top: 8px;
205
205
  }
206
206
 
207
- .Td131 {
207
+ .Td151 {
208
208
  padding-top: 0;
209
209
  }
210
210
 
211
- .Qt131 {
211
+ .Qt151 {
212
212
  padding-bottom: 8px;
213
213
  }
214
214
 
215
- .Qd131 {
215
+ .Qd151 {
216
216
  padding-bottom: 0;
217
217
  }
218
218
 
219
- .St131 {
219
+ .St151 {
220
220
  padding-inline-start: 8px;
221
221
  }
222
222
 
223
- .Sd131 {
223
+ .Sd151 {
224
224
  padding-inline-start: 0;
225
225
  }
226
226
 
227
- .Rt131 {
227
+ .Rt151 {
228
228
  padding-inline-end: 8px;
229
229
  }
230
230
 
231
- .Rd131 {
231
+ .Rd151 {
232
232
  padding-inline-end: 0;
233
233
  }
234
234
 
235
- ._oa131 {
235
+ ._oa151 {
236
236
  box-sizing: border-box;
237
237
  }
238
238
 
239
- ._Le131 {
239
+ ._Le151 {
240
240
  outline-style: none;
241
241
  }
242
242
 
243
- .oi131 {
243
+ .oi151 {
244
244
  border-start-start-radius: inherit;
245
245
  }
246
246
 
247
- .ni131 {
247
+ .ni151 {
248
248
  border-start-end-radius: inherit;
249
249
  }
250
250
 
251
- .ki131 {
251
+ .ki151 {
252
252
  border-end-start-radius: inherit;
253
253
  }
254
254
 
255
- .ji131 {
255
+ .ji151 {
256
256
  border-end-end-radius: inherit;
257
257
  }
258
258
 
259
- ._Na131 {
259
+ ._Na151 {
260
260
  overflow-x: auto;
261
261
  }
262
262
 
263
- .Pa131 {
263
+ .Pa151 {
264
264
  overflow-y: auto;
265
265
  }
266
266
 
267
- ._Pc131 {
267
+ ._Pc151 {
268
268
  position: relative;
269
269
  }
270
270
 
271
- .Za131 {
271
+ .Za151 {
272
272
  width: 100%;
273
273
  }
274
274
 
275
- .L40ub4c131 {
275
+ .L40ub4c151 {
276
276
  max-width: inherit;
277
277
  }
278
278
 
279
- .K40ub4c131 {
279
+ .K40ub4c151 {
280
280
  max-height: inherit;
281
281
  }
282
282
  }
@@ -285,11 +285,11 @@
285
285
 
286
286
  @layer _.b.D1v0V {
287
287
  @media (prefers-color-scheme: dark) {
288
- .-NvXmrd-D1v0V_ZLmU131 {
288
+ .-NvXmrd-D1v0V_ZLmU151 {
289
289
  --lightningcss-light: ;
290
290
  }
291
291
 
292
- .-j9blY-D1v0V_ZN8Gi4c131 {
292
+ .-j9blY-D1v0V_ZN8Gi4c151 {
293
293
  --lightningcss-dark: initial;
294
294
  }
295
295
  }
@@ -297,15 +297,15 @@
297
297
 
298
298
  @layer _.b.l {
299
299
  @media (forced-colors: active) {
300
- .-Ovbhqd-lga131 {
300
+ .-Ovbhqd-lga151 {
301
301
  --s2-container-bg: Background;
302
302
  }
303
303
 
304
- .Ola131 {
304
+ .Ola151 {
305
305
  outline-color: buttonborder;
306
306
  }
307
307
 
308
- .Vlb131 {
308
+ .Vlb151 {
309
309
  stroke: buttonborder;
310
310
  }
311
311
  }
@@ -1 +1 @@
1
- {"mappings":"AC+Ec;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAmFF;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAuJU;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;;AA1OR;;AAAA;EAAA;IAAA;;;;IAAA;;;;;;AAAA;EAAA;IAAA;;;;IAAA;;;;IAmFF","sources":["6d7a68425d879d5d","packages/@react-spectrum/s2/src/Popover.tsx"],"sourcesContent":["@import \"0dd0ca29757a362f\";\n@import \"81768260922dd838\";\n@import \"1f6a63d51b6d4755\";\n","/*\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 {\n Popover as AriaPopover,\n PopoverProps as AriaPopoverProps,\n OverlayArrow\n} from 'react-aria-components/Popover';\nimport {ColorSchemeContext} from './Provider';\nimport {composeRenderProps} from 'react-aria-components/composeRenderProps';\nimport {ContextValue} from 'react-aria-components/slots';\nimport {\n createContext,\n ForwardedRef,\n forwardRef,\n ReactNode,\n useCallback,\n useContext,\n useMemo\n} from 'react';\nimport {DialogProps, OverlayTriggerStateContext} from 'react-aria-components/Dialog';\nimport {DOMRef, DOMRefValue, GlobalDOMAttributes} from '@react-types/shared';\nimport {\n getAllowedOverrides,\n heightProperties,\n UnsafeStyles,\n widthProperties\n} from './style-utils' with {type: 'macro'};\nimport {lightDark, setColorScheme, style} from '../style' with {type: 'macro'};\nimport {mergeRefs} from 'react-aria/mergeRefs';\nimport {mergeStyles} from '../style/runtime';\nimport {StyleString} from '../style/types' with {type: 'macro'};\nimport {useDOMRef} from './useDOMRef';\nimport {useLocale} from 'react-aria/I18nProvider';\nimport {useSpectrumContextProps} from './useSpectrumContextProps';\n\nexport interface PopoverProps\n extends\n UnsafeStyles,\n Omit<\n AriaPopoverProps,\n | 'arrowSize'\n | 'isNonModal'\n | 'arrowBoundaryOffset'\n | 'isKeyboardDismissDisabled'\n | 'shouldCloseOnInteractOutside'\n | 'shouldUpdatePosition'\n | 'style'\n | 'className'\n | 'render'\n | keyof GlobalDOMAttributes\n > {\n /**\n * The styles of the popover.\n */\n styles?: StyleString;\n /**\n * Whether a popover's arrow should be hidden.\n *\n * @default false\n */\n hideArrow?: boolean;\n /**\n * The size of the Popover. If not specified, the popover fits its contents.\n */\n size?: 'S' | 'M' | 'L';\n /** The type of overlay that should be rendered when on a mobile device. */\n // mobileType?: 'modal' | 'fullscreen' | 'fullscreenTakeover' // TODO: add tray back in\n}\n\nlet popover = style(\n {\n ...setColorScheme(),\n '--s2-container-bg': {\n type: 'backgroundColor',\n value: {\n default: 'layer-2',\n forcedColors: 'Background'\n }\n },\n backgroundColor: '--s2-container-bg',\n borderRadius: 'lg',\n filter: {\n isArrowShown: 'elevated'\n },\n // Use box-shadow instead of filter when an arrow is not shown.\n // This fixes the shadow stacking problem with submenus.\n boxShadow: {\n default: 'elevated',\n isArrowShown: 'none'\n },\n outlineStyle: 'solid',\n outlineWidth: 1,\n outlineColor: {\n default: lightDark('transparent-white-25', 'gray-200'),\n forcedColors: 'ButtonBorder'\n },\n width: {\n size: {\n // Copied from designs, not sure if correct.\n S: 336,\n M: 416,\n L: 576\n }\n },\n // Don't be larger than full screen minus 2 * containerPadding\n maxWidth: 'calc(100vw - 24px)',\n boxSizing: 'border-box',\n display: 'flex',\n opacity: {\n isEntering: 0,\n isExiting: 0\n },\n translateY: {\n placement: {\n top: {\n isEntering: 4,\n isExiting: 4\n },\n bottom: {\n isEntering: -4,\n isExiting: -4\n }\n },\n isSubmenu: 0\n },\n translateX: {\n placement: {\n left: {\n isEntering: 4,\n isExiting: 4\n },\n right: {\n isEntering: -4,\n isExiting: -4\n }\n },\n isSubmenu: 0\n },\n transition: '[opacity, translate]',\n transitionDuration: 200,\n transitionTimingFunction: {\n isExiting: 'in'\n },\n isolation: 'isolate',\n pointerEvents: {\n isExiting: 'none'\n }\n },\n getAllowedOverrides()\n);\n// TODO: animations and real Popover Arrow\n\nlet arrow = style({\n display: 'block',\n fill: '--s2-container-bg',\n width: 18,\n height: 9,\n rotate: {\n default: 180,\n placement: {\n top: 0,\n bottom: 180,\n left: -90,\n right: 90\n }\n },\n translateX: {\n placement: {\n left: '-25%',\n right: '25%'\n }\n },\n strokeWidth: 1,\n stroke: {\n default: lightDark('transparent-white-25', 'gray-200'),\n forcedColors: 'ButtonBorder'\n }\n});\n\nexport const PopoverContext =\n createContext<ContextValue<PopoverProps, DOMRefValue<HTMLDivElement>>>(null);\nexport const InPopoverContext = createContext(false);\n\nexport const PopoverBase = forwardRef(function PopoverBase(\n props: PopoverProps,\n ref: ForwardedRef<HTMLDivElement | null>\n) {\n let {hideArrow = false, UNSAFE_className = '', UNSAFE_style, styles, size} = props;\n let colorScheme = useContext(ColorSchemeContext);\n let {locale, direction} = useLocale();\n\n // TODO: should we pass through lang and dir props in RAC?\n let popoverRef = useCallback(\n (el: HTMLDivElement) => {\n if (el) {\n el.lang = locale;\n el.dir = direction;\n }\n },\n [locale, direction]\n );\n // Memoed so it doesn't break ComboBox/Picker scrolling\n let mergedRef = useMemo(() => mergeRefs(popoverRef, ref), [ref, popoverRef]);\n\n // On small devices, show a modal (or eventually a tray) instead of a popover.\n // TODO: reverted this until we have trays.\n // let isMobile = useIsMobileDevice();\n // if (isMobile && process.env.NODE_ENV !== 'test') {\n // let mappedChildren = typeof children === 'function'\n // ? (renderProps: ModalRenderProps) => children({...renderProps, defaultChildren: null, trigger, placement: 'bottom'})\n // : children;\n\n // return (\n // <Modal size={size} isDismissable>\n // {composeRenderProps(mappedChildren, (children, {state}) => (\n // <>\n // {children}\n // {/* Add additional dismiss button at the end to match popovers. */}\n // <DismissButton onDismiss={state.close} />\n // </>\n // ))}\n // </Modal>\n // );\n // }\n\n // TODO: this still isn't the final popover 'tip', copying various ones out of the designs files yields different results\n // containerPadding not working as expected\n return (\n <AriaPopover\n {...props}\n offset={(props.offset ?? 8) + (hideArrow ? 0 : 8)}\n ref={mergedRef}\n style={{\n ...UNSAFE_style,\n // Override default z-index from useOverlayPosition. We use isolation: isolate instead.\n zIndex: undefined\n }}\n className={renderProps =>\n UNSAFE_className +\n mergeStyles(\n popover({\n ...renderProps,\n size,\n isArrowShown: !hideArrow,\n colorScheme,\n isSubmenu: renderProps.trigger === 'SubmenuTrigger'\n }),\n styles\n )\n }>\n {composeRenderProps(props.children, (children, renderProps) => (\n <>\n {!hideArrow && (\n <OverlayArrow className=\"\">\n <svg viewBox=\"0 0 18 10\" className={arrow(renderProps)}>\n <path\n transform=\"translate(0 -1)\"\n d=\"M1 1L7.93799 8.52588C8.07224 8.67448 8.23607 8.79362 8.41895 8.87524C8.60182 8.95687 8.79973 8.9993 9 9C9.19984 8.99882 9.39724 8.95606 9.57959 8.87427C9.76193 8.79248 9.9253 8.67336 10.0591 8.5249L17 1\"\n />\n </svg>\n </OverlayArrow>\n )}\n <InPopoverContext.Provider value>{children}</InPopoverContext.Provider>\n </>\n ))}\n </AriaPopover>\n );\n});\n\ntype PopoverStylesProp = StyleString<\n (typeof widthProperties)[number] | (typeof heightProperties)[number]\n>;\nexport interface PopoverDialogProps\n extends\n Pick<\n PopoverProps,\n | 'size'\n | 'hideArrow'\n | 'placement'\n | 'shouldFlip'\n | 'containerPadding'\n | 'offset'\n | 'crossOffset'\n | 'triggerRef'\n | 'isOpen'\n | 'onOpenChange'\n >,\n Omit<DialogProps, 'children' | 'className' | 'style' | 'render' | keyof GlobalDOMAttributes>,\n UnsafeStyles {\n /**\n * The children of the popover.\n */\n children?: ReactNode;\n /**\n * The amount of padding around the contents of the dialog.\n *\n * @default 'default'\n */\n padding?: 'default' | 'none';\n /** Spectrum-defined styles, returned by the `style()` macro. */\n styles?: PopoverStylesProp;\n}\n\nconst innerDivStyle = style(\n {\n padding: {\n padding: {\n default: 8,\n none: 0\n }\n },\n boxSizing: 'border-box',\n outlineStyle: 'none',\n borderRadius: 'inherit',\n overflow: 'auto',\n position: 'relative',\n width: 'full',\n maxSize: 'inherit'\n },\n getAllowedOverrides({height: true})\n);\n\n/**\n * A popover is an overlay element positioned relative to a trigger.\n */\nexport const Popover = forwardRef(function Popover(\n props: PopoverDialogProps,\n ref: DOMRef<HTMLDivElement>\n) {\n [props, ref] = useSpectrumContextProps(props, ref, PopoverContext);\n let domRef = useDOMRef(ref);\n let {UNSAFE_className, UNSAFE_style, styles, padding = 'default', ...otherProps} = props;\n\n return (\n <PopoverBase {...otherProps} ref={domRef}>\n {composeRenderProps(props.children, children => (\n <div\n style={UNSAFE_style}\n className={(UNSAFE_className || '') + innerDivStyle({padding}, styles)}>\n {/* Reset OverlayTriggerStateContext so the buttons inside the dialog don't retain their hover state. */}\n <OverlayTriggerStateContext.Provider value={null}>\n {children}\n </OverlayTriggerStateContext.Provider>\n </div>\n ))}\n </PopoverBase>\n );\n});\n"],"names":[],"version":3,"file":"Popover.css.map"}
1
+ {"mappings":"AC8Ec;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAmFF;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAyJU;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;;AA5OR;;AAAA;EAAA;IAAA;;;;IAAA;;;;;;AAAA;EAAA;IAAA;;;;IAAA;;;;IAmFF","sources":["6d7a68425d879d5d","packages/@react-spectrum/s2/src/Popover.tsx"],"sourcesContent":["@import \"0dd0ca29757a362f\";\n@import \"81768260922dd838\";\n@import \"1f6a63d51b6d4755\";\n","/*\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 {\n Popover as AriaPopover,\n PopoverProps as AriaPopoverProps,\n OverlayArrow\n} from 'react-aria-components/Popover';\nimport {ColorSchemeContext} from './Provider';\nimport {composeRenderProps} from 'react-aria-components/composeRenderProps';\nimport {ContextValue} from 'react-aria-components/slots';\nimport {\n createContext,\n ForwardedRef,\n forwardRef,\n ReactNode,\n useCallback,\n useContext,\n useMemo\n} from 'react';\nimport {DialogProps, OverlayTriggerStateContext} from 'react-aria-components/Dialog';\nimport {DOMRef, DOMRefValue, GlobalDOMAttributes} from '@react-types/shared';\nimport {\n getAllowedOverrides,\n heightProperties,\n UnsafeStyles,\n widthProperties\n} from './style-utils' with {type: 'macro'};\nimport {lightDark, setColorScheme, style} from '../style' with {type: 'macro'};\nimport {mergeRefs} from 'react-aria/mergeRefs';\nimport {mergeStyles} from '../style/runtime';\nimport {StyleString} from '../style/types' with {type: 'macro'};\nimport {useDOMRef} from './useDOMRef';\nimport {useLocale} from 'react-aria/I18nProvider';\nimport {useSpectrumContextProps} from './useSpectrumContextProps';\n\nexport interface PopoverProps\n extends\n UnsafeStyles,\n Omit<\n AriaPopoverProps,\n | 'arrowSize'\n | 'arrowBoundaryOffset'\n | 'isKeyboardDismissDisabled'\n | 'shouldCloseOnInteractOutside'\n | 'shouldUpdatePosition'\n | 'style'\n | 'className'\n | 'render'\n | keyof GlobalDOMAttributes\n > {\n /**\n * The styles of the popover.\n */\n styles?: StyleString;\n /**\n * Whether a popover's arrow should be hidden.\n *\n * @default false\n */\n hideArrow?: boolean;\n /**\n * The size of the Popover. If not specified, the popover fits its contents.\n */\n size?: 'S' | 'M' | 'L';\n /** The type of overlay that should be rendered when on a mobile device. */\n // mobileType?: 'modal' | 'fullscreen' | 'fullscreenTakeover' // TODO: add tray back in\n}\n\nlet popover = style(\n {\n ...setColorScheme(),\n '--s2-container-bg': {\n type: 'backgroundColor',\n value: {\n default: 'layer-2',\n forcedColors: 'Background'\n }\n },\n backgroundColor: '--s2-container-bg',\n borderRadius: 'lg',\n filter: {\n isArrowShown: 'elevated'\n },\n // Use box-shadow instead of filter when an arrow is not shown.\n // This fixes the shadow stacking problem with submenus.\n boxShadow: {\n default: 'elevated',\n isArrowShown: 'none'\n },\n outlineStyle: 'solid',\n outlineWidth: 1,\n outlineColor: {\n default: lightDark('transparent-white-25', 'gray-200'),\n forcedColors: 'ButtonBorder'\n },\n width: {\n size: {\n // Copied from designs, not sure if correct.\n S: 336,\n M: 416,\n L: 576\n }\n },\n // Don't be larger than full screen minus 2 * containerPadding\n maxWidth: 'calc(100vw - 24px)',\n boxSizing: 'border-box',\n display: 'flex',\n opacity: {\n isEntering: 0,\n isExiting: 0\n },\n translateY: {\n placement: {\n top: {\n isEntering: 4,\n isExiting: 4\n },\n bottom: {\n isEntering: -4,\n isExiting: -4\n }\n },\n isSubmenu: 0\n },\n translateX: {\n placement: {\n left: {\n isEntering: 4,\n isExiting: 4\n },\n right: {\n isEntering: -4,\n isExiting: -4\n }\n },\n isSubmenu: 0\n },\n transition: '[opacity, translate]',\n transitionDuration: 200,\n transitionTimingFunction: {\n isExiting: 'in'\n },\n isolation: 'isolate',\n pointerEvents: {\n isExiting: 'none'\n }\n },\n getAllowedOverrides()\n);\n// TODO: animations and real Popover Arrow\n\nlet arrow = style({\n display: 'block',\n fill: '--s2-container-bg',\n width: 18,\n height: 9,\n rotate: {\n default: 180,\n placement: {\n top: 0,\n bottom: 180,\n left: -90,\n right: 90\n }\n },\n translateX: {\n placement: {\n left: '-25%',\n right: '25%'\n }\n },\n strokeWidth: 1,\n stroke: {\n default: lightDark('transparent-white-25', 'gray-200'),\n forcedColors: 'ButtonBorder'\n }\n});\n\nexport const PopoverContext =\n createContext<ContextValue<PopoverProps, DOMRefValue<HTMLDivElement>>>(null);\nexport const InPopoverContext = createContext(false);\n\nexport const PopoverBase = forwardRef(function PopoverBase(\n props: PopoverProps,\n ref: ForwardedRef<HTMLDivElement | null>\n) {\n let {hideArrow = false, UNSAFE_className = '', UNSAFE_style, styles, size} = props;\n let colorScheme = useContext(ColorSchemeContext);\n let {locale, direction} = useLocale();\n\n // TODO: should we pass through lang and dir props in RAC?\n let popoverRef = useCallback(\n (el: HTMLDivElement) => {\n if (el) {\n el.lang = locale;\n el.dir = direction;\n }\n },\n [locale, direction]\n );\n // Memoed so it doesn't break ComboBox/Picker scrolling\n let mergedRef = useMemo(() => mergeRefs(popoverRef, ref), [ref, popoverRef]);\n\n // On small devices, show a modal (or eventually a tray) instead of a popover.\n // TODO: reverted this until we have trays.\n // let isMobile = useIsMobileDevice();\n // if (isMobile && process.env.NODE_ENV !== 'test') {\n // let mappedChildren = typeof children === 'function'\n // ? (renderProps: ModalRenderProps) => children({...renderProps, defaultChildren: null, trigger, placement: 'bottom'})\n // : children;\n\n // return (\n // <Modal size={size} isDismissable>\n // {composeRenderProps(mappedChildren, (children, {state}) => (\n // <>\n // {children}\n // {/* Add additional dismiss button at the end to match popovers. */}\n // <DismissButton onDismiss={state.close} />\n // </>\n // ))}\n // </Modal>\n // );\n // }\n\n // TODO: this still isn't the final popover 'tip', copying various ones out of the designs files yields different results\n // containerPadding not working as expected\n return (\n <AriaPopover\n {...props}\n offset={(props.offset ?? 8) + (hideArrow ? 0 : 8)}\n ref={mergedRef}\n style={{\n ...UNSAFE_style,\n // Override default z-index from useOverlayPosition. We use isolation: isolate instead.\n zIndex: undefined\n }}\n className={renderProps =>\n UNSAFE_className +\n mergeStyles(\n popover({\n ...renderProps,\n size,\n isArrowShown: !hideArrow,\n colorScheme,\n isSubmenu: renderProps.trigger === 'SubmenuTrigger'\n }),\n styles\n )\n }>\n {composeRenderProps(props.children, (children, renderProps) => (\n <>\n {!hideArrow && (\n <OverlayArrow className=\"\">\n <svg viewBox=\"0 0 18 10\" className={arrow(renderProps)}>\n <path\n transform=\"translate(0 -1)\"\n d=\"M1 1L7.93799 8.52588C8.07224 8.67448 8.23607 8.79362 8.41895 8.87524C8.60182 8.95687 8.79973 8.9993 9 9C9.19984 8.99882 9.39724 8.95606 9.57959 8.87427C9.76193 8.79248 9.9253 8.67336 10.0591 8.5249L17 1\"\n />\n </svg>\n </OverlayArrow>\n )}\n <InPopoverContext.Provider value>{children}</InPopoverContext.Provider>\n </>\n ))}\n </AriaPopover>\n );\n});\n\ntype PopoverStylesProp = StyleString<\n (typeof widthProperties)[number] | (typeof heightProperties)[number]\n>;\nexport interface PopoverDialogProps\n extends\n Pick<\n PopoverProps,\n | 'size'\n | 'hideArrow'\n | 'placement'\n | 'shouldFlip'\n | 'containerPadding'\n | 'offset'\n | 'crossOffset'\n | 'getTargetRect'\n | 'isNonModal'\n | 'triggerRef'\n | 'isOpen'\n | 'onOpenChange'\n >,\n Omit<DialogProps, 'children' | 'className' | 'style' | 'render' | keyof GlobalDOMAttributes>,\n UnsafeStyles {\n /**\n * The children of the popover.\n */\n children?: ReactNode;\n /**\n * The amount of padding around the contents of the dialog.\n *\n * @default 'default'\n */\n padding?: 'default' | 'none';\n /** Spectrum-defined styles, returned by the `style()` macro. */\n styles?: PopoverStylesProp;\n}\n\nconst innerDivStyle = style(\n {\n padding: {\n padding: {\n default: 8,\n none: 0\n }\n },\n boxSizing: 'border-box',\n outlineStyle: 'none',\n borderRadius: 'inherit',\n overflow: 'auto',\n position: 'relative',\n width: 'full',\n maxSize: 'inherit'\n },\n getAllowedOverrides({height: true})\n);\n\n/**\n * A popover is an overlay element positioned relative to a trigger.\n */\nexport const Popover = forwardRef(function Popover(\n props: PopoverDialogProps,\n ref: DOMRef<HTMLDivElement>\n) {\n [props, ref] = useSpectrumContextProps(props, ref, PopoverContext);\n let domRef = useDOMRef(ref);\n let {UNSAFE_className, UNSAFE_style, styles, padding = 'default', ...otherProps} = props;\n\n return (\n <PopoverBase {...otherProps} ref={domRef}>\n {composeRenderProps(props.children, children => (\n <div\n style={UNSAFE_style}\n className={(UNSAFE_className || '') + innerDivStyle({padding}, styles)}>\n {/* Reset OverlayTriggerStateContext so the buttons inside the dialog don't retain their hover state. */}\n <OverlayTriggerStateContext.Provider value={null}>\n {children}\n </OverlayTriggerStateContext.Provider>\n </div>\n ))}\n </PopoverBase>\n );\n});\n"],"names":[],"version":3,"file":"Popover.css.map"}