@react-spectrum/s2 0.11.1 → 0.12.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.
- package/dist/Accordion.cjs +3 -3
- package/dist/Accordion.css +2 -2
- package/dist/Accordion.mjs +3 -3
- package/dist/ActionBar.cjs +61 -62
- package/dist/ActionBar.cjs.map +1 -1
- package/dist/ActionBar.css +62 -66
- package/dist/ActionBar.css.map +1 -1
- package/dist/ActionBar.mjs +61 -62
- package/dist/ActionBar.mjs.map +1 -1
- package/dist/ActionButton.cjs +356 -250
- package/dist/ActionButton.cjs.map +1 -1
- package/dist/ActionButton.css +208 -144
- package/dist/ActionButton.css.map +1 -1
- package/dist/ActionButton.mjs +357 -251
- package/dist/ActionButton.mjs.map +1 -1
- package/dist/ActionButtonGroup.cjs +16 -16
- package/dist/ActionButtonGroup.css +9 -9
- package/dist/ActionButtonGroup.mjs +16 -16
- package/dist/Add.cjs +10 -10
- package/dist/Add.css +6 -6
- package/dist/Add.mjs +10 -10
- package/dist/AlertDialog.cjs +3 -3
- package/dist/AlertDialog.css +3 -3
- package/dist/AlertDialog.mjs +3 -3
- package/dist/Asterisk.cjs +6 -6
- package/dist/Asterisk.css +4 -4
- package/dist/Asterisk.mjs +6 -6
- package/dist/Avatar.cjs +20 -16
- package/dist/Avatar.cjs.map +1 -1
- package/dist/Avatar.css +22 -14
- package/dist/Avatar.css.map +1 -1
- package/dist/Avatar.mjs +20 -16
- package/dist/Avatar.mjs.map +1 -1
- package/dist/AvatarGroup.cjs +135 -135
- package/dist/AvatarGroup.css +33 -33
- package/dist/AvatarGroup.mjs +135 -135
- package/dist/Badge.cjs +207 -207
- package/dist/Badge.css +127 -127
- package/dist/Badge.mjs +207 -207
- package/dist/Breadcrumbs.cjs +255 -255
- package/dist/Breadcrumbs.css +109 -109
- package/dist/Breadcrumbs.mjs +255 -255
- package/dist/Button.cjs +356 -354
- package/dist/Button.cjs.map +1 -1
- package/dist/Button.css +179 -179
- package/dist/Button.css.map +1 -1
- package/dist/Button.mjs +357 -356
- package/dist/Button.mjs.map +1 -1
- package/dist/ButtonGroup.cjs +21 -21
- package/dist/ButtonGroup.css +15 -15
- package/dist/ButtonGroup.mjs +21 -21
- package/dist/Calendar.cjs +127 -127
- package/dist/Calendar.cjs.map +1 -1
- package/dist/Calendar.css +134 -134
- package/dist/Calendar.css.map +1 -1
- package/dist/Calendar.mjs +127 -127
- package/dist/Calendar.mjs.map +1 -1
- package/dist/Card.cjs +335 -311
- package/dist/Card.cjs.map +1 -1
- package/dist/Card.css +213 -213
- package/dist/Card.css.map +1 -1
- package/dist/Card.mjs +335 -311
- package/dist/Card.mjs.map +1 -1
- package/dist/CardView.cjs +25 -19
- package/dist/CardView.cjs.map +1 -1
- package/dist/CardView.css +16 -16
- package/dist/CardView.css.map +1 -1
- package/dist/CardView.mjs +26 -20
- package/dist/CardView.mjs.map +1 -1
- package/dist/CenterBaseline.cjs +1 -1
- package/dist/CenterBaseline.css +2 -2
- package/dist/CenterBaseline.mjs +1 -1
- package/dist/Checkbox.cjs +171 -171
- package/dist/Checkbox.css +92 -92
- package/dist/Checkbox.mjs +171 -171
- package/dist/CheckboxGroup.cjs +46 -46
- package/dist/CheckboxGroup.css +38 -38
- package/dist/CheckboxGroup.mjs +46 -46
- package/dist/Checkmark.cjs +12 -12
- package/dist/Checkmark.css +8 -8
- package/dist/Checkmark.mjs +12 -12
- package/dist/Chevron.cjs +12 -12
- package/dist/Chevron.css +10 -10
- package/dist/Chevron.mjs +12 -12
- package/dist/ClearButton.cjs +29 -29
- package/dist/ClearButton.css +29 -29
- package/dist/ClearButton.mjs +29 -29
- package/dist/CloseButton.cjs +55 -55
- package/dist/CloseButton.css +46 -46
- package/dist/CloseButton.mjs +55 -55
- package/dist/ColorArea.cjs +25 -18
- package/dist/ColorArea.cjs.map +1 -1
- package/dist/ColorArea.css +16 -16
- package/dist/ColorArea.css.map +1 -1
- package/dist/ColorArea.mjs +26 -19
- package/dist/ColorArea.mjs.map +1 -1
- package/dist/ColorField.cjs +33 -33
- package/dist/ColorField.cjs.map +1 -1
- package/dist/ColorField.css +28 -28
- package/dist/ColorField.css.map +1 -1
- package/dist/ColorField.mjs +33 -33
- package/dist/ColorField.mjs.map +1 -1
- package/dist/ColorHandle.cjs +27 -27
- package/dist/ColorHandle.css +43 -43
- package/dist/ColorHandle.mjs +27 -27
- package/dist/ColorSlider.cjs +122 -121
- package/dist/ColorSlider.cjs.map +1 -1
- package/dist/ColorSlider.css +54 -54
- package/dist/ColorSlider.css.map +1 -1
- package/dist/ColorSlider.mjs +122 -121
- package/dist/ColorSlider.mjs.map +1 -1
- package/dist/ColorSwatch.cjs +30 -30
- package/dist/ColorSwatch.css +29 -29
- package/dist/ColorSwatch.mjs +30 -30
- package/dist/ColorSwatchPicker.cjs +28 -28
- package/dist/ColorSwatchPicker.css +46 -46
- package/dist/ColorSwatchPicker.mjs +28 -28
- package/dist/ColorWheel.cjs +26 -26
- package/dist/ColorWheel.css +17 -17
- package/dist/ColorWheel.mjs +26 -26
- package/dist/ComboBox.cjs +474 -452
- package/dist/ComboBox.cjs.map +1 -1
- package/dist/ComboBox.css +213 -185
- package/dist/ComboBox.css.map +1 -1
- package/dist/ComboBox.mjs +475 -453
- package/dist/ComboBox.mjs.map +1 -1
- package/dist/ContextualHelp.cjs +36 -33
- package/dist/ContextualHelp.cjs.map +1 -1
- package/dist/ContextualHelp.css +68 -60
- package/dist/ContextualHelp.css.map +1 -1
- package/dist/ContextualHelp.mjs +37 -34
- package/dist/ContextualHelp.mjs.map +1 -1
- package/dist/Cross.cjs +14 -14
- package/dist/Cross.css +10 -10
- package/dist/Cross.mjs +14 -14
- package/dist/CustomDialog.cjs +26 -26
- package/dist/CustomDialog.cjs.map +1 -1
- package/dist/CustomDialog.css +25 -25
- package/dist/CustomDialog.css.map +1 -1
- package/dist/CustomDialog.mjs +26 -26
- package/dist/CustomDialog.mjs.map +1 -1
- package/dist/Dash.cjs +10 -10
- package/dist/Dash.css +6 -6
- package/dist/Dash.mjs +10 -10
- package/dist/DateField.cjs +74 -74
- package/dist/DateField.cjs.map +1 -1
- package/dist/DateField.css +77 -77
- package/dist/DateField.css.map +1 -1
- package/dist/DateField.mjs +74 -74
- package/dist/DateField.mjs.map +1 -1
- package/dist/DatePicker.cjs +194 -191
- package/dist/DatePicker.cjs.map +1 -1
- package/dist/DatePicker.css +138 -126
- package/dist/DatePicker.css.map +1 -1
- package/dist/DatePicker.mjs +195 -192
- package/dist/DatePicker.mjs.map +1 -1
- package/dist/DateRangePicker.cjs +57 -57
- package/dist/DateRangePicker.cjs.map +1 -1
- package/dist/DateRangePicker.css +60 -60
- package/dist/DateRangePicker.css.map +1 -1
- package/dist/DateRangePicker.mjs +57 -57
- package/dist/DateRangePicker.mjs.map +1 -1
- package/dist/Dialog.cjs +17 -17
- package/dist/Dialog.cjs.map +1 -1
- package/dist/Dialog.css +88 -84
- package/dist/Dialog.css.map +1 -1
- package/dist/Dialog.mjs +17 -17
- package/dist/Dialog.mjs.map +1 -1
- package/dist/Disclosure.cjs +128 -147
- package/dist/Disclosure.cjs.map +1 -1
- package/dist/Disclosure.css +144 -112
- package/dist/Disclosure.css.map +1 -1
- package/dist/Disclosure.mjs +128 -147
- package/dist/Disclosure.mjs.map +1 -1
- package/dist/Divider.cjs +26 -26
- package/dist/Divider.css +25 -25
- package/dist/Divider.mjs +26 -26
- package/dist/DropZone.cjs +63 -63
- package/dist/DropZone.cjs.map +1 -1
- package/dist/DropZone.css +58 -58
- package/dist/DropZone.css.map +1 -1
- package/dist/DropZone.mjs +63 -63
- package/dist/DropZone.mjs.map +1 -1
- package/dist/Field.cjs +370 -370
- package/dist/Field.cjs.map +1 -1
- package/dist/Field.css +146 -142
- package/dist/Field.css.map +1 -1
- package/dist/Field.mjs +370 -370
- package/dist/Field.mjs.map +1 -1
- package/dist/Form.cjs +10 -10
- package/dist/Form.css +9 -9
- package/dist/Form.mjs +10 -10
- package/dist/FullscreenDialog.cjs +5 -5
- package/dist/FullscreenDialog.cjs.map +1 -1
- package/dist/FullscreenDialog.css +93 -93
- package/dist/FullscreenDialog.css.map +1 -1
- package/dist/FullscreenDialog.mjs +5 -5
- package/dist/FullscreenDialog.mjs.map +1 -1
- package/dist/IllustratedMessage.cjs +257 -257
- package/dist/IllustratedMessage.css +78 -78
- package/dist/IllustratedMessage.mjs +257 -257
- package/dist/Image.cjs +25 -17
- package/dist/Image.cjs.map +1 -1
- package/dist/Image.css +14 -14
- package/dist/Image.css.map +1 -1
- package/dist/Image.mjs +25 -17
- package/dist/Image.mjs.map +1 -1
- package/dist/InlineAlert.cjs +138 -153
- package/dist/InlineAlert.cjs.map +1 -1
- package/dist/InlineAlert.css +82 -151
- package/dist/InlineAlert.css.map +1 -1
- package/dist/InlineAlert.mjs +138 -153
- package/dist/InlineAlert.mjs.map +1 -1
- package/dist/Link.cjs +55 -55
- package/dist/Link.css +46 -46
- package/dist/Link.mjs +55 -55
- package/dist/LinkOut.cjs +8 -8
- package/dist/LinkOut.css +8 -8
- package/dist/LinkOut.mjs +8 -8
- package/dist/Menu.cjs +529 -501
- package/dist/Menu.cjs.map +1 -1
- package/dist/Menu.css +195 -191
- package/dist/Menu.css.map +1 -1
- package/dist/Menu.mjs +529 -502
- package/dist/Menu.mjs.map +1 -1
- package/dist/Meter.cjs +164 -164
- package/dist/Meter.css +93 -93
- package/dist/Meter.mjs +164 -164
- package/dist/Modal.cjs +90 -70
- package/dist/Modal.cjs.map +1 -1
- package/dist/Modal.css +76 -60
- package/dist/Modal.css.map +1 -1
- package/dist/Modal.mjs +90 -70
- package/dist/Modal.mjs.map +1 -1
- package/dist/NotificationBadge.cjs +59 -59
- package/dist/NotificationBadge.css +51 -51
- package/dist/NotificationBadge.mjs +59 -59
- package/dist/NumberField.cjs +116 -116
- package/dist/NumberField.cjs.map +1 -1
- package/dist/NumberField.css +100 -100
- package/dist/NumberField.css.map +1 -1
- package/dist/NumberField.mjs +116 -116
- package/dist/NumberField.mjs.map +1 -1
- package/dist/Picker.cjs +424 -349
- package/dist/Picker.cjs.map +1 -1
- package/dist/Picker.css +200 -180
- package/dist/Picker.css.map +1 -1
- package/dist/Picker.mjs +428 -353
- package/dist/Picker.mjs.map +1 -1
- package/dist/Popover.cjs +120 -116
- package/dist/Popover.cjs.map +1 -1
- package/dist/Popover.css +86 -82
- package/dist/Popover.css.map +1 -1
- package/dist/Popover.mjs +121 -118
- package/dist/Popover.mjs.map +1 -1
- package/dist/ProgressBar.cjs +174 -174
- package/dist/ProgressBar.css +101 -101
- package/dist/ProgressBar.mjs +174 -174
- package/dist/ProgressCircle.cjs +32 -32
- package/dist/ProgressCircle.css +24 -24
- package/dist/ProgressCircle.mjs +32 -32
- package/dist/Provider.cjs +11 -11
- package/dist/Provider.cjs.map +1 -1
- package/dist/Provider.css +13 -13
- package/dist/Provider.css.map +1 -1
- package/dist/Provider.mjs +11 -11
- package/dist/Provider.mjs.map +1 -1
- package/dist/Radio.cjs +155 -155
- package/dist/Radio.css +79 -79
- package/dist/Radio.mjs +155 -155
- package/dist/RadioGroup.cjs +43 -43
- package/dist/RadioGroup.css +38 -38
- package/dist/RadioGroup.mjs +43 -43
- package/dist/RangeCalendar.cjs +8 -8
- package/dist/RangeCalendar.cjs.map +1 -1
- package/dist/RangeCalendar.css +10 -10
- package/dist/RangeCalendar.css.map +1 -1
- package/dist/RangeCalendar.mjs +8 -8
- package/dist/RangeCalendar.mjs.map +1 -1
- package/dist/RangeSlider.cjs.map +1 -1
- package/dist/RangeSlider.mjs.map +1 -1
- package/dist/SearchField.cjs +43 -43
- package/dist/SearchField.cjs.map +1 -1
- package/dist/SearchField.css +46 -46
- package/dist/SearchField.css.map +1 -1
- package/dist/SearchField.mjs +43 -43
- package/dist/SearchField.mjs.map +1 -1
- package/dist/SegmentedControl.cjs +193 -224
- package/dist/SegmentedControl.cjs.map +1 -1
- package/dist/SegmentedControl.css +146 -118
- package/dist/SegmentedControl.css.map +1 -1
- package/dist/SegmentedControl.mjs +196 -227
- package/dist/SegmentedControl.mjs.map +1 -1
- package/dist/SelectBoxGroup.cjs +161 -159
- package/dist/SelectBoxGroup.cjs.map +1 -1
- package/dist/SelectBoxGroup.css +123 -123
- package/dist/SelectBoxGroup.css.map +1 -1
- package/dist/SelectBoxGroup.mjs +161 -159
- package/dist/SelectBoxGroup.mjs.map +1 -1
- package/dist/Slider.cjs +300 -300
- package/dist/Slider.css +151 -151
- package/dist/Slider.mjs +300 -300
- package/dist/StatusLight.cjs +126 -126
- package/dist/StatusLight.css +61 -61
- package/dist/StatusLight.mjs +126 -126
- package/dist/Switch.cjs +163 -163
- package/dist/Switch.css +74 -74
- package/dist/Switch.mjs +163 -163
- package/dist/TableView.cjs +340 -328
- package/dist/TableView.cjs.map +1 -1
- package/dist/TableView.css +176 -172
- package/dist/TableView.css.map +1 -1
- package/dist/TableView.mjs +340 -328
- package/dist/TableView.mjs.map +1 -1
- package/dist/Tabs.cjs +150 -190
- package/dist/Tabs.cjs.map +1 -1
- package/dist/Tabs.css +128 -100
- package/dist/Tabs.css.map +1 -1
- package/dist/Tabs.mjs +153 -193
- package/dist/Tabs.mjs.map +1 -1
- package/dist/TabsPicker.cjs +169 -161
- package/dist/TabsPicker.cjs.map +1 -1
- package/dist/TabsPicker.css +116 -124
- package/dist/TabsPicker.css.map +1 -1
- package/dist/TabsPicker.mjs +170 -162
- package/dist/TabsPicker.mjs.map +1 -1
- package/dist/TagGroup.cjs +226 -218
- package/dist/TagGroup.cjs.map +1 -1
- package/dist/TagGroup.css +147 -147
- package/dist/TagGroup.css.map +1 -1
- package/dist/TagGroup.mjs +226 -218
- package/dist/TagGroup.mjs.map +1 -1
- package/dist/TextField.cjs +65 -63
- package/dist/TextField.cjs.map +1 -1
- package/dist/TextField.css +58 -54
- package/dist/TextField.css.map +1 -1
- package/dist/TextField.mjs +65 -63
- package/dist/TextField.mjs.map +1 -1
- package/dist/TimeField.cjs +53 -53
- package/dist/TimeField.cjs.map +1 -1
- package/dist/TimeField.css +48 -48
- package/dist/TimeField.css.map +1 -1
- package/dist/TimeField.mjs +53 -53
- package/dist/TimeField.mjs.map +1 -1
- package/dist/Toast.cjs +120 -120
- package/dist/Toast.css +108 -108
- package/dist/Toast.mjs +120 -120
- package/dist/ToggleButton.cjs +3 -3
- package/dist/ToggleButton.css +12 -12
- package/dist/ToggleButton.mjs +3 -3
- package/dist/Tooltip.cjs +84 -83
- package/dist/Tooltip.cjs.map +1 -1
- package/dist/Tooltip.css +74 -70
- package/dist/Tooltip.css.map +1 -1
- package/dist/Tooltip.mjs +84 -83
- package/dist/Tooltip.mjs.map +1 -1
- package/dist/TreeView.cjs +150 -148
- package/dist/TreeView.cjs.map +1 -1
- package/dist/TreeView.css +147 -147
- package/dist/TreeView.css.map +1 -1
- package/dist/TreeView.mjs +151 -149
- package/dist/TreeView.mjs.map +1 -1
- package/dist/ar-AE.cjs +5 -0
- package/dist/ar-AE.cjs.map +1 -1
- package/dist/ar-AE.mjs +5 -0
- package/dist/ar-AE.mjs.map +1 -1
- package/dist/bg-BG.cjs +5 -0
- package/dist/bg-BG.cjs.map +1 -1
- package/dist/bg-BG.mjs +5 -0
- package/dist/bg-BG.mjs.map +1 -1
- package/dist/cs-CZ.cjs +5 -0
- package/dist/cs-CZ.cjs.map +1 -1
- package/dist/cs-CZ.mjs +5 -0
- package/dist/cs-CZ.mjs.map +1 -1
- package/dist/da-DK.cjs +5 -0
- package/dist/da-DK.cjs.map +1 -1
- package/dist/da-DK.mjs +5 -0
- package/dist/da-DK.mjs.map +1 -1
- package/dist/de-DE.cjs +5 -0
- package/dist/de-DE.cjs.map +1 -1
- package/dist/de-DE.mjs +5 -0
- package/dist/de-DE.mjs.map +1 -1
- package/dist/el-GR.cjs +5 -0
- package/dist/el-GR.cjs.map +1 -1
- package/dist/el-GR.mjs +5 -0
- package/dist/el-GR.mjs.map +1 -1
- package/dist/en-US.cjs +21 -16
- package/dist/en-US.cjs.map +1 -1
- package/dist/en-US.mjs +21 -16
- package/dist/en-US.mjs.map +1 -1
- package/dist/es-ES.cjs +5 -0
- package/dist/es-ES.cjs.map +1 -1
- package/dist/es-ES.mjs +5 -0
- package/dist/es-ES.mjs.map +1 -1
- package/dist/et-EE.cjs +5 -0
- package/dist/et-EE.cjs.map +1 -1
- package/dist/et-EE.mjs +5 -0
- package/dist/et-EE.mjs.map +1 -1
- package/dist/fi-FI.cjs +5 -0
- package/dist/fi-FI.cjs.map +1 -1
- package/dist/fi-FI.mjs +5 -0
- package/dist/fi-FI.mjs.map +1 -1
- package/dist/fr-FR.cjs +5 -0
- package/dist/fr-FR.cjs.map +1 -1
- package/dist/fr-FR.mjs +5 -0
- package/dist/fr-FR.mjs.map +1 -1
- package/dist/he-IL.cjs +5 -0
- package/dist/he-IL.cjs.map +1 -1
- package/dist/he-IL.mjs +5 -0
- package/dist/he-IL.mjs.map +1 -1
- package/dist/hr-HR.cjs +5 -0
- package/dist/hr-HR.cjs.map +1 -1
- package/dist/hr-HR.mjs +5 -0
- package/dist/hr-HR.mjs.map +1 -1
- package/dist/hu-HU.cjs +5 -0
- package/dist/hu-HU.cjs.map +1 -1
- package/dist/hu-HU.mjs +5 -0
- package/dist/hu-HU.mjs.map +1 -1
- package/dist/it-IT.cjs +5 -0
- package/dist/it-IT.cjs.map +1 -1
- package/dist/it-IT.mjs +5 -0
- package/dist/it-IT.mjs.map +1 -1
- package/dist/ja-JP.cjs +5 -0
- package/dist/ja-JP.cjs.map +1 -1
- package/dist/ja-JP.mjs +5 -0
- package/dist/ja-JP.mjs.map +1 -1
- package/dist/ko-KR.cjs +5 -0
- package/dist/ko-KR.cjs.map +1 -1
- package/dist/ko-KR.mjs +5 -0
- package/dist/ko-KR.mjs.map +1 -1
- package/dist/lt-LT.cjs +5 -0
- package/dist/lt-LT.cjs.map +1 -1
- package/dist/lt-LT.mjs +5 -0
- package/dist/lt-LT.mjs.map +1 -1
- package/dist/lv-LV.cjs +5 -0
- package/dist/lv-LV.cjs.map +1 -1
- package/dist/lv-LV.mjs +5 -0
- package/dist/lv-LV.mjs.map +1 -1
- package/dist/main.cjs +2 -0
- package/dist/main.cjs.map +1 -1
- package/dist/module.mjs +3 -3
- package/dist/module.mjs.map +1 -1
- package/dist/nb-NO.cjs +5 -0
- package/dist/nb-NO.cjs.map +1 -1
- package/dist/nb-NO.mjs +5 -0
- package/dist/nb-NO.mjs.map +1 -1
- package/dist/nl-NL.cjs +5 -0
- package/dist/nl-NL.cjs.map +1 -1
- package/dist/nl-NL.mjs +5 -0
- package/dist/nl-NL.mjs.map +1 -1
- package/dist/pl-PL.cjs +5 -0
- package/dist/pl-PL.cjs.map +1 -1
- package/dist/pl-PL.mjs +5 -0
- package/dist/pl-PL.mjs.map +1 -1
- package/dist/pt-BR.cjs +5 -0
- package/dist/pt-BR.cjs.map +1 -1
- package/dist/pt-BR.mjs +5 -0
- package/dist/pt-BR.mjs.map +1 -1
- package/dist/pt-PT.cjs +5 -0
- package/dist/pt-PT.cjs.map +1 -1
- package/dist/pt-PT.mjs +5 -0
- package/dist/pt-PT.mjs.map +1 -1
- package/dist/ro-RO.cjs +5 -0
- package/dist/ro-RO.cjs.map +1 -1
- package/dist/ro-RO.mjs +5 -0
- package/dist/ro-RO.mjs.map +1 -1
- package/dist/ru-RU.cjs +5 -0
- package/dist/ru-RU.cjs.map +1 -1
- package/dist/ru-RU.mjs +5 -0
- package/dist/ru-RU.mjs.map +1 -1
- package/dist/sk-SK.cjs +5 -0
- package/dist/sk-SK.cjs.map +1 -1
- package/dist/sk-SK.mjs +5 -0
- package/dist/sk-SK.mjs.map +1 -1
- package/dist/sl-SI.cjs +5 -0
- package/dist/sl-SI.cjs.map +1 -1
- package/dist/sl-SI.mjs +5 -0
- package/dist/sl-SI.mjs.map +1 -1
- package/dist/sr-SP.cjs +5 -0
- package/dist/sr-SP.cjs.map +1 -1
- package/dist/sr-SP.mjs +5 -0
- package/dist/sr-SP.mjs.map +1 -1
- package/dist/sv-SE.cjs +5 -0
- package/dist/sv-SE.cjs.map +1 -1
- package/dist/sv-SE.mjs +5 -0
- package/dist/sv-SE.mjs.map +1 -1
- package/dist/tr-TR.cjs +5 -0
- package/dist/tr-TR.cjs.map +1 -1
- package/dist/tr-TR.mjs +5 -0
- package/dist/tr-TR.mjs.map +1 -1
- package/dist/types.d.ts +147 -87
- package/dist/types.d.ts.map +1 -1
- package/dist/uk-UA.cjs +5 -0
- package/dist/uk-UA.cjs.map +1 -1
- package/dist/uk-UA.mjs +5 -0
- package/dist/uk-UA.mjs.map +1 -1
- package/dist/zh-CN.cjs +5 -0
- package/dist/zh-CN.cjs.map +1 -1
- package/dist/zh-CN.mjs +5 -0
- package/dist/zh-CN.mjs.map +1 -1
- package/dist/zh-TW.cjs +5 -0
- package/dist/zh-TW.cjs.map +1 -1
- package/dist/zh-TW.mjs +5 -0
- package/dist/zh-TW.mjs.map +1 -1
- package/icons/Icon.cjs +10 -10
- package/icons/Icon.css +9 -9
- package/icons/Icon.mjs +10 -10
- package/icons/Skeleton.cjs +2 -2
- package/icons/Skeleton.css +6 -6
- package/icons/Skeleton.mjs +2 -2
- package/package.json +20 -20
- package/page.css +7 -7
- package/src/ActionBar.tsx +5 -3
- package/src/ActionButton.tsx +112 -32
- package/src/Avatar.tsx +4 -1
- package/src/Button.tsx +27 -28
- package/src/Calendar.tsx +3 -0
- package/src/Card.tsx +22 -7
- package/src/CardView.tsx +9 -1
- package/src/ColorArea.tsx +10 -2
- package/src/ColorField.tsx +3 -2
- package/src/ColorSlider.tsx +3 -2
- package/src/ComboBox.tsx +69 -44
- package/src/ContextualHelp.tsx +36 -32
- package/src/CustomDialog.tsx +1 -1
- package/src/DateField.tsx +4 -0
- package/src/DatePicker.tsx +28 -20
- package/src/DateRangePicker.tsx +5 -1
- package/src/Dialog.tsx +6 -3
- package/src/Disclosure.tsx +20 -16
- package/src/DropZone.tsx +5 -2
- package/src/Field.tsx +4 -1
- package/src/FullscreenDialog.tsx +1 -1
- package/src/Image.tsx +30 -8
- package/src/InlineAlert.tsx +10 -27
- package/src/Menu.tsx +57 -45
- package/src/Modal.tsx +99 -74
- package/src/NumberField.tsx +3 -2
- package/src/Picker.tsx +114 -51
- package/src/Popover.tsx +57 -35
- package/src/Provider.tsx +1 -1
- package/src/RangeCalendar.tsx +3 -0
- package/src/RangeSlider.tsx +3 -0
- package/src/SearchField.tsx +2 -1
- package/src/SegmentedControl.tsx +16 -44
- package/src/SelectBoxGroup.tsx +21 -23
- package/src/TableView.tsx +7 -6
- package/src/Tabs.tsx +34 -70
- package/src/TabsPicker.tsx +35 -26
- package/src/TagGroup.tsx +44 -36
- package/src/TextField.tsx +11 -6
- package/src/TimeField.tsx +4 -0
- package/src/Tooltip.tsx +3 -0
- package/src/TreeView.tsx +2 -2
- package/src/index.ts +3 -2
- package/src/page.macro.ts +2 -2
- package/src/style-utils.ts +4 -3
- package/style/__tests__/style-macro.test.js +56 -56
- package/style/dist/spectrum-theme.cjs +36 -6
- package/style/dist/spectrum-theme.cjs.map +1 -1
- package/style/dist/spectrum-theme.mjs +36 -6
- package/style/dist/spectrum-theme.mjs.map +1 -1
- package/style/dist/types.d.ts +1 -0
- package/style/dist/types.d.ts.map +1 -1
- package/style/spectrum-theme.ts +10 -8
- package/style/tokens.ts +10 -0
package/src/Disclosure.tsx
CHANGED
|
@@ -297,20 +297,23 @@ export interface DisclosurePanelProps extends Omit<RACDisclosurePanelProps, 'cla
|
|
|
297
297
|
|
|
298
298
|
const panelStyles = style({
|
|
299
299
|
font: 'body',
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
}
|
|
300
|
+
height: '--disclosure-panel-height',
|
|
301
|
+
overflow: 'clip',
|
|
302
|
+
transition: {
|
|
303
|
+
default: '[height]',
|
|
304
|
+
'@media (prefers-reduced-motion: reduce)': 'none'
|
|
305
|
+
}
|
|
306
|
+
});
|
|
307
|
+
|
|
308
|
+
const panelInner = style({
|
|
309
|
+
paddingTop: 8,
|
|
310
|
+
paddingBottom: 16,
|
|
306
311
|
paddingX: {
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
XL: space(15)
|
|
313
|
-
}
|
|
312
|
+
size: {
|
|
313
|
+
S: 8,
|
|
314
|
+
M: space(9),
|
|
315
|
+
L: 12,
|
|
316
|
+
XL: space(15)
|
|
314
317
|
}
|
|
315
318
|
}
|
|
316
319
|
});
|
|
@@ -326,15 +329,16 @@ export const DisclosurePanel = forwardRef(function DisclosurePanel(props: Disclo
|
|
|
326
329
|
} = props;
|
|
327
330
|
const domProps = filterDOMProps(otherProps);
|
|
328
331
|
let {size} = useSlottedContext(DisclosureContext)!;
|
|
329
|
-
let {isExpanded} = useContext(DisclosureStateContext)!;
|
|
330
332
|
let panelRef = useDOMRef(ref);
|
|
331
333
|
return (
|
|
332
334
|
<RACDisclosurePanel
|
|
333
335
|
{...domProps}
|
|
334
336
|
ref={panelRef}
|
|
335
337
|
style={UNSAFE_style}
|
|
336
|
-
className={(UNSAFE_className ?? '') + panelStyles
|
|
337
|
-
{
|
|
338
|
+
className={(UNSAFE_className ?? '') + panelStyles}>
|
|
339
|
+
<div className={panelInner({size})}>
|
|
340
|
+
{props.children}
|
|
341
|
+
</div>
|
|
338
342
|
</RACDisclosurePanel>
|
|
339
343
|
);
|
|
340
344
|
});
|
package/src/DropZone.tsx
CHANGED
|
@@ -29,14 +29,17 @@ export interface DropZoneProps extends Omit<RACDropZoneProps, 'className' | 'sty
|
|
|
29
29
|
children: ReactNode,
|
|
30
30
|
/** Whether the drop zone has been filled. */
|
|
31
31
|
isFilled?: boolean,
|
|
32
|
-
/**
|
|
32
|
+
/**
|
|
33
|
+
* The message to replace the default banner message that is shown when the drop zone is filled.
|
|
34
|
+
* @default 'Drop file to replace'
|
|
35
|
+
*/
|
|
33
36
|
replaceMessage?: string,
|
|
34
37
|
/**
|
|
35
38
|
* The size of the DropZone.
|
|
36
39
|
*
|
|
37
40
|
* @default 'M'
|
|
38
41
|
*/
|
|
39
|
-
|
|
42
|
+
size?: 'S' | 'M' | 'L'
|
|
40
43
|
}
|
|
41
44
|
|
|
42
45
|
export const DropZoneContext = createContext<ContextValue<Partial<DropZoneProps>, DOMRefValue<HTMLDivElement>>>(null);
|
package/src/Field.tsx
CHANGED
|
@@ -231,7 +231,10 @@ export const Input = forwardRef(function Input(props: InputProps, ref: Forwarded
|
|
|
231
231
|
className={UNSAFE_className + mergeStyles(style({
|
|
232
232
|
padding: 0,
|
|
233
233
|
backgroundColor: 'transparent',
|
|
234
|
-
color:
|
|
234
|
+
color: {
|
|
235
|
+
default: 'inherit',
|
|
236
|
+
'::placeholder': 'gray-600'
|
|
237
|
+
},
|
|
235
238
|
fontFamily: 'inherit',
|
|
236
239
|
fontSize: 'inherit',
|
|
237
240
|
fontWeight: 'inherit',
|
package/src/FullscreenDialog.tsx
CHANGED
|
@@ -52,7 +52,7 @@ const content = style({
|
|
|
52
52
|
overflowY: {
|
|
53
53
|
default: 'auto',
|
|
54
54
|
// Make the whole dialog scroll rather than only the content when the height it small.
|
|
55
|
-
[`@
|
|
55
|
+
[`@container (height < ${400 / 16}rem)`]: 'visible'
|
|
56
56
|
},
|
|
57
57
|
font: 'body'
|
|
58
58
|
});
|
package/src/Image.tsx
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import {ContextValue, SlotProps} from 'react-aria-components';
|
|
2
|
-
import {createContext, ForwardedRef, forwardRef, HTMLAttributeReferrerPolicy, ReactNode, useCallback, useContext, useMemo, useReducer, useRef, version} from 'react';
|
|
2
|
+
import {createContext, ForwardedRef, forwardRef, HTMLAttributeReferrerPolicy, JSX, ReactNode, useCallback, useContext, useMemo, useReducer, useRef, version} from 'react';
|
|
3
3
|
import {DefaultImageGroup, ImageGroup} from './ImageCoordinator';
|
|
4
4
|
import {loadingStyle, useIsSkeleton, useLoadingAnimation} from './Skeleton';
|
|
5
5
|
import {mergeStyles} from '../style/runtime';
|
|
@@ -42,6 +42,16 @@ export interface ImageProps extends UnsafeStyles, SlotProps {
|
|
|
42
42
|
* [See MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/img#referrerpolicy).
|
|
43
43
|
*/
|
|
44
44
|
referrerPolicy?: HTMLAttributeReferrerPolicy,
|
|
45
|
+
/**
|
|
46
|
+
* The intrinsic width of the image.
|
|
47
|
+
* [See MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/img#width).
|
|
48
|
+
*/
|
|
49
|
+
width?: number,
|
|
50
|
+
/**
|
|
51
|
+
* The intrinsic height of the image.
|
|
52
|
+
* [See MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/img#height).
|
|
53
|
+
*/
|
|
54
|
+
height?: number,
|
|
45
55
|
/** Spectrum-defined styles, returned by the `style()` macro. */
|
|
46
56
|
styles?: StyleString,
|
|
47
57
|
/** A function that is called to render a fallback when the image fails to load. */
|
|
@@ -133,7 +143,10 @@ const imgStyles = style({
|
|
|
133
143
|
transitionDuration: 500
|
|
134
144
|
});
|
|
135
145
|
|
|
136
|
-
|
|
146
|
+
/**
|
|
147
|
+
* An image with support for skeleton loading and custom error states.
|
|
148
|
+
*/
|
|
149
|
+
export const Image = forwardRef(function Image(props: ImageProps, domRef: ForwardedRef<HTMLDivElement>): JSX.Element | null {
|
|
137
150
|
[props, domRef] = useSpectrumContextProps(props, domRef, ImageContext);
|
|
138
151
|
|
|
139
152
|
let {
|
|
@@ -152,7 +165,9 @@ export const Image = forwardRef(function Image(props: ImageProps, domRef: Forwar
|
|
|
152
165
|
fetchPriority,
|
|
153
166
|
loading,
|
|
154
167
|
referrerPolicy,
|
|
155
|
-
slot
|
|
168
|
+
slot,
|
|
169
|
+
width,
|
|
170
|
+
height
|
|
156
171
|
} = props;
|
|
157
172
|
let hidden = (props as ImageContextValue).hidden;
|
|
158
173
|
|
|
@@ -198,10 +213,15 @@ export const Image = forwardRef(function Image(props: ImageProps, domRef: Forwar
|
|
|
198
213
|
}
|
|
199
214
|
|
|
200
215
|
// If the image is already loaded, update state immediately instead of waiting for onLoad.
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
216
|
+
let img = imgRef.current;
|
|
217
|
+
if (state === 'loading' && img?.complete) {
|
|
218
|
+
if (img.naturalWidth === 0 && img.naturalHeight === 0) {
|
|
219
|
+
// Queue a microtask so we don't hit React's update limit.
|
|
220
|
+
// TODO: is this necessary?
|
|
221
|
+
queueMicrotask(onError);
|
|
222
|
+
} else {
|
|
223
|
+
queueMicrotask(onLoad);
|
|
224
|
+
}
|
|
205
225
|
}
|
|
206
226
|
|
|
207
227
|
animation(domRef.current);
|
|
@@ -234,13 +254,15 @@ export const Image = forwardRef(function Image(props: ImageProps, domRef: Forwar
|
|
|
234
254
|
decoding={decoding}
|
|
235
255
|
loading={loading}
|
|
236
256
|
referrerPolicy={referrerPolicy}
|
|
257
|
+
width={width}
|
|
258
|
+
height={height}
|
|
237
259
|
ref={imgRef}
|
|
238
260
|
onLoad={onLoad}
|
|
239
261
|
onError={onError}
|
|
240
262
|
className={imgStyles({isRevealed, isTransitioning})} />
|
|
241
263
|
)}
|
|
242
264
|
</div>
|
|
243
|
-
), [slot, hidden, domRef, UNSAFE_style, UNSAFE_className, styles, isAnimating, errorState, src, alt, crossOrigin, decoding, fetchPriority, loading, referrerPolicy, onLoad, onError, isRevealed, isTransitioning]);
|
|
265
|
+
), [slot, hidden, domRef, UNSAFE_style, UNSAFE_className, styles, isAnimating, errorState, src, alt, crossOrigin, decoding, fetchPriority, loading, referrerPolicy, width, height, onLoad, onError, isRevealed, isTransitioning]);
|
|
244
266
|
});
|
|
245
267
|
|
|
246
268
|
function getFetchPriorityProp(fetchPriority?: 'high' | 'low' | 'auto'): Record<string, string | undefined> {
|
package/src/InlineAlert.tsx
CHANGED
|
@@ -121,7 +121,7 @@ const inlineAlert = style<InlineStylesProps & {isFocusVisible?: boolean}>({
|
|
|
121
121
|
}, getAllowedOverrides());
|
|
122
122
|
|
|
123
123
|
const icon = style<InlineStylesProps>({
|
|
124
|
-
|
|
124
|
+
float: 'inline-end',
|
|
125
125
|
'--iconPrimary': {
|
|
126
126
|
type: 'fill',
|
|
127
127
|
value: {
|
|
@@ -155,18 +155,6 @@ const icon = style<InlineStylesProps>({
|
|
|
155
155
|
}
|
|
156
156
|
});
|
|
157
157
|
|
|
158
|
-
const grid = style({
|
|
159
|
-
display: 'grid',
|
|
160
|
-
columnGap: 24,
|
|
161
|
-
gridTemplateColumns: '1fr auto',
|
|
162
|
-
gridTemplateRows: 'auto auto auto',
|
|
163
|
-
width: 'full',
|
|
164
|
-
gridTemplateAreas: [
|
|
165
|
-
'heading icon',
|
|
166
|
-
'content content'
|
|
167
|
-
]
|
|
168
|
-
});
|
|
169
|
-
|
|
170
158
|
let ICONS = {
|
|
171
159
|
informative: InfoCircle,
|
|
172
160
|
positive: CheckmarkCircle,
|
|
@@ -177,7 +165,6 @@ let ICONS = {
|
|
|
177
165
|
|
|
178
166
|
const heading = style({
|
|
179
167
|
marginTop: 0,
|
|
180
|
-
gridArea: 'heading',
|
|
181
168
|
font: 'title-sm',
|
|
182
169
|
color: {
|
|
183
170
|
default: 'title',
|
|
@@ -193,7 +180,6 @@ const heading = style({
|
|
|
193
180
|
});
|
|
194
181
|
|
|
195
182
|
const content = style({
|
|
196
|
-
gridArea: 'content',
|
|
197
183
|
font: 'body-sm',
|
|
198
184
|
color: {
|
|
199
185
|
default: 'body',
|
|
@@ -256,18 +242,15 @@ export const InlineAlert = /*#__PURE__*/ forwardRef(function InlineAlert(props:
|
|
|
256
242
|
fillStyle,
|
|
257
243
|
isFocusVisible
|
|
258
244
|
}, props.styles)}>
|
|
259
|
-
<
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
{children}
|
|
269
|
-
</Provider>
|
|
270
|
-
</div>
|
|
245
|
+
<Provider
|
|
246
|
+
values={[
|
|
247
|
+
[HeadingContext, {styles: heading({fillStyle})}],
|
|
248
|
+
[ContentContext, {styles: content({fillStyle})}],
|
|
249
|
+
[IconContext, {styles: icon({variant, fillStyle})}]
|
|
250
|
+
]}>
|
|
251
|
+
{Icon && <Icon aria-label={iconAlt} />}
|
|
252
|
+
{children}
|
|
253
|
+
</Provider>
|
|
271
254
|
</div>
|
|
272
255
|
);
|
|
273
256
|
});
|
package/src/Menu.tsx
CHANGED
|
@@ -41,10 +41,10 @@ import {forwardRefType} from './types';
|
|
|
41
41
|
import {HeaderContext, HeadingContext, KeyboardContext, Text, TextContext} from './Content';
|
|
42
42
|
import {IconContext} from './Icon'; // chevron right removed??
|
|
43
43
|
import {ImageContext} from './Image';
|
|
44
|
+
import {InPopoverContext, Popover, PopoverContext} from './Popover';
|
|
44
45
|
import LinkOutIcon from '../ui-icons/LinkOut';
|
|
45
46
|
import {mergeStyles} from '../style/runtime';
|
|
46
47
|
import {Placement, useLocale} from 'react-aria';
|
|
47
|
-
import {PopoverBase} from './Popover';
|
|
48
48
|
import {PressResponder} from '@react-aria/interactions';
|
|
49
49
|
import {pressScale} from './pressScale';
|
|
50
50
|
import {useGlobalListeners} from '@react-aria/utils';
|
|
@@ -211,7 +211,7 @@ export let checkmark = style({
|
|
|
211
211
|
aspectRatio: 'square'
|
|
212
212
|
});
|
|
213
213
|
|
|
214
|
-
let checkbox = style({
|
|
214
|
+
export let checkbox = style({
|
|
215
215
|
gridArea: 'checkmark',
|
|
216
216
|
marginEnd: 'text-to-control'
|
|
217
217
|
});
|
|
@@ -320,6 +320,11 @@ let InternalMenuContext = createContext<{size: 'S' | 'M' | 'L' | 'XL', isSubmenu
|
|
|
320
320
|
|
|
321
321
|
let InternalMenuTriggerContext = createContext<Omit<MenuTriggerProps, 'children'> | null>(null);
|
|
322
322
|
|
|
323
|
+
let wrappingDiv = style({
|
|
324
|
+
display: 'flex',
|
|
325
|
+
size: 'full'
|
|
326
|
+
});
|
|
327
|
+
|
|
323
328
|
/**
|
|
324
329
|
* Menus display a list of actions or options that a user can choose.
|
|
325
330
|
*/
|
|
@@ -335,27 +340,9 @@ export const Menu = /*#__PURE__*/ (forwardRef as forwardRefType)(function Menu<T
|
|
|
335
340
|
hideLinkOutIcon = false
|
|
336
341
|
} = props;
|
|
337
342
|
let ctx = useContext(InternalMenuTriggerContext);
|
|
338
|
-
let
|
|
339
|
-
|
|
340
|
-
// TODO: change offset/crossoffset based on size? scale?
|
|
341
|
-
// actual values?
|
|
342
|
-
let initialPlacement: Placement;
|
|
343
|
-
switch (direction) {
|
|
344
|
-
case 'left':
|
|
345
|
-
case 'right':
|
|
346
|
-
case 'start':
|
|
347
|
-
case 'end':
|
|
348
|
-
initialPlacement = `${direction} ${align === 'end' ? 'bottom' : 'top'}` as Placement;
|
|
349
|
-
break;
|
|
350
|
-
case 'bottom':
|
|
351
|
-
case 'top':
|
|
352
|
-
default:
|
|
353
|
-
initialPlacement = `${direction} ${align}` as Placement;
|
|
354
|
-
}
|
|
355
|
-
if (isSubmenu) {
|
|
356
|
-
initialPlacement = 'end top' as Placement;
|
|
357
|
-
}
|
|
343
|
+
let inPopover = useContext(InPopoverContext);
|
|
358
344
|
|
|
345
|
+
let isPopover = (ctx || isSubmenu) && !inPopover;
|
|
359
346
|
let content = (
|
|
360
347
|
<InternalMenuContext.Provider value={{size, isSubmenu: true, hideLinkOutIcon}}>
|
|
361
348
|
<Provider
|
|
@@ -370,34 +357,30 @@ export const Menu = /*#__PURE__*/ (forwardRef as forwardRefType)(function Menu<T
|
|
|
370
357
|
slots: {
|
|
371
358
|
'description': {styles: description({size})}
|
|
372
359
|
}
|
|
373
|
-
}]
|
|
360
|
+
}],
|
|
361
|
+
[InPopoverContext, false]
|
|
374
362
|
]}>
|
|
375
363
|
<AriaMenu
|
|
376
364
|
{...props}
|
|
377
|
-
className={menu({size, isPopover
|
|
365
|
+
className={menu({size, isPopover}, isPopover ? null : styles)}>
|
|
378
366
|
{children}
|
|
379
367
|
</AriaMenu>
|
|
380
368
|
</Provider>
|
|
381
369
|
</InternalMenuContext.Provider>
|
|
382
370
|
);
|
|
383
371
|
|
|
384
|
-
if (
|
|
372
|
+
if (isPopover) {
|
|
385
373
|
return (
|
|
386
|
-
<
|
|
374
|
+
<Popover
|
|
387
375
|
ref={ref}
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
UNSAFE_style={UNSAFE_style}
|
|
397
|
-
UNSAFE_className={UNSAFE_className}
|
|
398
|
-
styles={styles}>
|
|
399
|
-
{content}
|
|
400
|
-
</PopoverBase>
|
|
376
|
+
padding="none"
|
|
377
|
+
hideArrow>
|
|
378
|
+
<div
|
|
379
|
+
style={UNSAFE_style}
|
|
380
|
+
className={(UNSAFE_className || '') + wrappingDiv}>
|
|
381
|
+
{content}
|
|
382
|
+
</div>
|
|
383
|
+
</Popover>
|
|
401
384
|
);
|
|
402
385
|
}
|
|
403
386
|
|
|
@@ -564,6 +547,21 @@ function MenuTrigger(props: MenuTriggerProps): ReactNode {
|
|
|
564
547
|
}, {once: true, capture: true});
|
|
565
548
|
};
|
|
566
549
|
|
|
550
|
+
let {align = 'start', direction = 'bottom', shouldFlip} = props;
|
|
551
|
+
let placement: Placement;
|
|
552
|
+
switch (direction) {
|
|
553
|
+
case 'left':
|
|
554
|
+
case 'right':
|
|
555
|
+
case 'start':
|
|
556
|
+
case 'end':
|
|
557
|
+
placement = `${direction} ${align === 'end' ? 'bottom' : 'top'}` as Placement;
|
|
558
|
+
break;
|
|
559
|
+
case 'bottom':
|
|
560
|
+
case 'top':
|
|
561
|
+
default:
|
|
562
|
+
placement = `${direction} ${align}` as Placement;
|
|
563
|
+
}
|
|
564
|
+
|
|
567
565
|
return (
|
|
568
566
|
<InternalMenuTriggerContext.Provider
|
|
569
567
|
value={{
|
|
@@ -571,18 +569,32 @@ function MenuTrigger(props: MenuTriggerProps): ReactNode {
|
|
|
571
569
|
direction: props.direction,
|
|
572
570
|
shouldFlip: props.shouldFlip
|
|
573
571
|
}}>
|
|
574
|
-
<
|
|
575
|
-
<
|
|
576
|
-
{
|
|
577
|
-
|
|
578
|
-
|
|
572
|
+
<PopoverContext.Provider value={{hideArrow: true, offset: 8, crossOffset: 0, placement, shouldFlip}}>
|
|
573
|
+
<AriaMenuTrigger {...props}>
|
|
574
|
+
<PressResponder onPressStart={onPressStart} isPressed={isPressed}>
|
|
575
|
+
{props.children}
|
|
576
|
+
</PressResponder>
|
|
577
|
+
</AriaMenuTrigger>
|
|
578
|
+
</PopoverContext.Provider>
|
|
579
579
|
</InternalMenuTriggerContext.Provider>
|
|
580
580
|
);
|
|
581
581
|
}
|
|
582
582
|
|
|
583
583
|
export interface SubmenuTriggerProps extends Omit<AriaSubmenuTriggerProps, 'delay'> {}
|
|
584
584
|
|
|
585
|
-
|
|
585
|
+
function SubmenuTrigger(props: SubmenuTriggerProps): JSX.Element {
|
|
586
|
+
// For submenus, the offset from the edge of the popover should be 10px.
|
|
587
|
+
// Subtract 8px for the padding around the parent menu.
|
|
588
|
+
// Offset by padding + border so that the first item in a submenu lines up with the parent menu item.
|
|
589
|
+
return (
|
|
590
|
+
<AriaSubmenuTrigger {...props}>
|
|
591
|
+
{props.children[0]}
|
|
592
|
+
<PopoverContext.Provider value={{hideArrow: true, offset: -2, crossOffset: -8, placement: 'end top'}}>
|
|
593
|
+
{props.children[1]}
|
|
594
|
+
</PopoverContext.Provider>
|
|
595
|
+
</AriaSubmenuTrigger>
|
|
596
|
+
);
|
|
597
|
+
}
|
|
586
598
|
|
|
587
599
|
export {MenuTrigger, SubmenuTrigger};
|
|
588
600
|
|
package/src/Modal.tsx
CHANGED
|
@@ -24,18 +24,18 @@ interface ModalProps extends ModalOverlayProps {
|
|
|
24
24
|
*
|
|
25
25
|
* @default 'M'
|
|
26
26
|
*/
|
|
27
|
-
size?: 'S' | 'M' | 'L' | 'fullscreen' | 'fullscreenTakeover'
|
|
27
|
+
size?: 'S' | 'M' | 'L' | 'XL' | 'fullscreen' | 'fullscreenTakeover'
|
|
28
28
|
}
|
|
29
29
|
|
|
30
30
|
const modalOverlayStyles = style({
|
|
31
31
|
...colorScheme(),
|
|
32
|
-
position: '
|
|
33
|
-
|
|
32
|
+
position: 'absolute',
|
|
33
|
+
top: 0,
|
|
34
|
+
left: 0,
|
|
35
|
+
width: 'full',
|
|
36
|
+
height: '--page-height',
|
|
34
37
|
isolation: 'isolate',
|
|
35
38
|
backgroundColor: 'transparent-black-500',
|
|
36
|
-
display: 'flex',
|
|
37
|
-
alignItems: 'center',
|
|
38
|
-
justifyContent: 'center',
|
|
39
39
|
opacity: {
|
|
40
40
|
isEntering: 0,
|
|
41
41
|
isExiting: 0
|
|
@@ -47,6 +47,22 @@ const modalOverlayStyles = style({
|
|
|
47
47
|
}
|
|
48
48
|
});
|
|
49
49
|
|
|
50
|
+
const modalWrapper = style({
|
|
51
|
+
position: 'sticky',
|
|
52
|
+
top: 0,
|
|
53
|
+
left: 0,
|
|
54
|
+
width: 'full',
|
|
55
|
+
height: '--visual-viewport-height',
|
|
56
|
+
display: 'flex',
|
|
57
|
+
alignItems: {
|
|
58
|
+
default: 'center',
|
|
59
|
+
size: {
|
|
60
|
+
fullscreenTakeover: 'start'
|
|
61
|
+
}
|
|
62
|
+
},
|
|
63
|
+
justifyContent: 'center'
|
|
64
|
+
});
|
|
65
|
+
|
|
50
66
|
/**
|
|
51
67
|
* A modal is an overlay element which blocks interaction with elements outside it.
|
|
52
68
|
*/
|
|
@@ -68,74 +84,83 @@ export const Modal = forwardRef(function Modal(props: ModalProps, ref: DOMRef<HT
|
|
|
68
84
|
<ModalOverlay
|
|
69
85
|
{...props}
|
|
70
86
|
className={renderProps => modalOverlayStyles({...renderProps, colorScheme})}>
|
|
71
|
-
<
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
87
|
+
<div className={modalWrapper({size: props.size})} style={{containerType: 'size'} as any}>
|
|
88
|
+
<RACModal
|
|
89
|
+
{...props}
|
|
90
|
+
ref={modalRef}
|
|
91
|
+
className={renderProps => style({
|
|
92
|
+
display: 'flex',
|
|
93
|
+
flexDirection: 'column',
|
|
94
|
+
borderRadius: {
|
|
95
|
+
default: 'xl',
|
|
96
|
+
size: {
|
|
97
|
+
fullscreenTakeover: 'none'
|
|
98
|
+
}
|
|
99
|
+
},
|
|
100
|
+
width: {
|
|
101
|
+
size: {
|
|
102
|
+
// Copied from designs, not sure if correct.
|
|
103
|
+
S: 400,
|
|
104
|
+
M: 480,
|
|
105
|
+
L: 640,
|
|
106
|
+
XL: 960,
|
|
107
|
+
fullscreen: 'calc(100% - 40px)',
|
|
108
|
+
fullscreenTakeover: 'full'
|
|
109
|
+
}
|
|
110
|
+
},
|
|
111
|
+
height: {
|
|
112
|
+
size: {
|
|
113
|
+
fullscreen: 'calc(100% - 40px)',
|
|
114
|
+
fullscreenTakeover: 'full'
|
|
115
|
+
}
|
|
116
|
+
},
|
|
117
|
+
maxWidth: {
|
|
118
|
+
default: '90vw',
|
|
119
|
+
size: {
|
|
120
|
+
fullscreen: 'none',
|
|
121
|
+
fullscreenTakeover: 'none'
|
|
122
|
+
}
|
|
123
|
+
},
|
|
124
|
+
maxHeight: {
|
|
125
|
+
default: '90%',
|
|
126
|
+
size: {
|
|
127
|
+
fullscreen: 'none',
|
|
128
|
+
fullscreenTakeover: 'none'
|
|
129
|
+
}
|
|
130
|
+
},
|
|
131
|
+
paddingBottom: {
|
|
132
|
+
size: {
|
|
133
|
+
// Extend background behind the iOS Safari toolbar and keyboard.
|
|
134
|
+
fullscreenTakeover: '[100vh]'
|
|
135
|
+
}
|
|
136
|
+
},
|
|
137
|
+
'--s2-container-bg': {
|
|
138
|
+
type: 'backgroundColor',
|
|
139
|
+
value: 'layer-2'
|
|
140
|
+
},
|
|
141
|
+
backgroundColor: '--s2-container-bg',
|
|
142
|
+
opacity: {
|
|
143
|
+
isEntering: 0,
|
|
144
|
+
isExiting: 0
|
|
145
|
+
},
|
|
146
|
+
translateY: {
|
|
147
|
+
isEntering: 20
|
|
148
|
+
},
|
|
149
|
+
transition: '[opacity, translate]',
|
|
150
|
+
transitionDuration: {
|
|
151
|
+
default: 250,
|
|
152
|
+
isExiting: 130
|
|
153
|
+
},
|
|
154
|
+
transitionDelay: {
|
|
155
|
+
default: 160,
|
|
156
|
+
isExiting: 0
|
|
157
|
+
},
|
|
158
|
+
// Transparent outline for WHCM.
|
|
159
|
+
outlineStyle: 'solid',
|
|
160
|
+
outlineWidth: 1,
|
|
161
|
+
outlineColor: 'transparent'
|
|
162
|
+
})({...renderProps, size: props.size})} />
|
|
163
|
+
</div>
|
|
139
164
|
</ModalOverlay>
|
|
140
165
|
);
|
|
141
166
|
});
|
package/src/NumberField.tsx
CHANGED
|
@@ -19,6 +19,7 @@ import {
|
|
|
19
19
|
ButtonRenderProps,
|
|
20
20
|
ContextValue,
|
|
21
21
|
InputContext,
|
|
22
|
+
InputProps,
|
|
22
23
|
useContextProps
|
|
23
24
|
} from 'react-aria-components';
|
|
24
25
|
import {baseColor, space, style} from '../style' with {type: 'macro'};
|
|
@@ -40,7 +41,8 @@ export interface NumberFieldProps extends
|
|
|
40
41
|
Omit<AriaNumberFieldProps, 'children' | 'className' | 'style' | keyof GlobalDOMAttributes>,
|
|
41
42
|
StyleProps,
|
|
42
43
|
SpectrumLabelableProps,
|
|
43
|
-
HelpTextProps
|
|
44
|
+
HelpTextProps,
|
|
45
|
+
Pick<InputProps, 'placeholder'> {
|
|
44
46
|
/**
|
|
45
47
|
* Whether to hide the increment and decrement buttons.
|
|
46
48
|
* @default false
|
|
@@ -173,7 +175,6 @@ export const NumberField = forwardRef(function NumberField(props: NumberFieldPro
|
|
|
173
175
|
}
|
|
174
176
|
}));
|
|
175
177
|
|
|
176
|
-
|
|
177
178
|
return (
|
|
178
179
|
<AriaNumberField
|
|
179
180
|
ref={domRef}
|