@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/Card.tsx
CHANGED
|
@@ -253,7 +253,11 @@ let preview = style({
|
|
|
253
253
|
|
|
254
254
|
const image = style({
|
|
255
255
|
width: 'full',
|
|
256
|
-
aspectRatio:
|
|
256
|
+
aspectRatio: {
|
|
257
|
+
layout: {
|
|
258
|
+
grid: '3/2'
|
|
259
|
+
}
|
|
260
|
+
},
|
|
257
261
|
objectFit: 'cover',
|
|
258
262
|
userSelect: 'none',
|
|
259
263
|
pointerEvents: 'none'
|
|
@@ -346,7 +350,10 @@ let footer = style({
|
|
|
346
350
|
paddingTop: 'calc(var(--card-spacing) * 1.5 / 2)'
|
|
347
351
|
});
|
|
348
352
|
|
|
349
|
-
export const InternalCardViewContext = createContext
|
|
353
|
+
export const InternalCardViewContext = createContext({
|
|
354
|
+
ElementType: 'div' as 'div' | typeof GridListItem,
|
|
355
|
+
layout: 'grid' as 'grid' | 'waterfall'
|
|
356
|
+
});
|
|
350
357
|
export const CardContext = createContext<ContextValue<Partial<CardProps>, DOMRefValue<HTMLDivElement>>>(null);
|
|
351
358
|
|
|
352
359
|
interface InternalCardContextValue {
|
|
@@ -377,8 +384,12 @@ const actionButtonSize = {
|
|
|
377
384
|
XL: 'L'
|
|
378
385
|
} as const;
|
|
379
386
|
|
|
387
|
+
/**
|
|
388
|
+
* A Card summarizes an object that a user can select or navigate to.
|
|
389
|
+
*/
|
|
380
390
|
export const Card = forwardRef(function Card(props: CardProps, ref: DOMRef<HTMLDivElement>) {
|
|
381
391
|
[props] = useSpectrumContextProps(props, ref, CardContext);
|
|
392
|
+
let {ElementType, layout} = useContext(InternalCardViewContext);
|
|
382
393
|
let domRef = useDOMRef(ref);
|
|
383
394
|
let {density = 'regular', size = 'M', variant = 'primary', UNSAFE_className = '', UNSAFE_style, styles, id, ...otherProps} = props;
|
|
384
395
|
let isQuiet = variant === 'quiet';
|
|
@@ -386,7 +397,7 @@ export const Card = forwardRef(function Card(props: CardProps, ref: DOMRef<HTMLD
|
|
|
386
397
|
let children = (
|
|
387
398
|
<Provider
|
|
388
399
|
values={[
|
|
389
|
-
[ImageContext, {alt: '', styles: image}],
|
|
400
|
+
[ImageContext, {alt: '', styles: image({layout})}],
|
|
390
401
|
[TextContext, {
|
|
391
402
|
slots: {
|
|
392
403
|
[DEFAULT_SLOT]: {},
|
|
@@ -413,7 +424,6 @@ export const Card = forwardRef(function Card(props: CardProps, ref: DOMRef<HTMLD
|
|
|
413
424
|
</Provider>
|
|
414
425
|
);
|
|
415
426
|
|
|
416
|
-
let ElementType = useContext(InternalCardViewContext);
|
|
417
427
|
if (ElementType === 'div' || isSkeleton) {
|
|
418
428
|
return (
|
|
419
429
|
<div
|
|
@@ -560,6 +570,7 @@ export const CollectionCardPreview = forwardRef(function CollectionCardPreview(p
|
|
|
560
570
|
export interface AssetCardProps extends Omit<CardProps, 'density'> {}
|
|
561
571
|
|
|
562
572
|
export const AssetCard = forwardRef(function AssetCard(props: AssetCardProps, ref: DOMRef<HTMLDivElement>) {
|
|
573
|
+
let {layout} = useContext(InternalCardViewContext);
|
|
563
574
|
return (
|
|
564
575
|
<Card {...props} ref={ref} density="regular">
|
|
565
576
|
{composeRenderProps(props.children, children => (
|
|
@@ -569,11 +580,15 @@ export const AssetCard = forwardRef(function AssetCard(props: AssetCardProps, re
|
|
|
569
580
|
alt: '',
|
|
570
581
|
styles: style({
|
|
571
582
|
width: 'full',
|
|
572
|
-
aspectRatio:
|
|
583
|
+
aspectRatio: {
|
|
584
|
+
layout: {
|
|
585
|
+
grid: 'square'
|
|
586
|
+
}
|
|
587
|
+
},
|
|
573
588
|
objectFit: 'contain',
|
|
574
589
|
pointerEvents: 'none',
|
|
575
590
|
userSelect: 'none'
|
|
576
|
-
})
|
|
591
|
+
})({layout})
|
|
577
592
|
}],
|
|
578
593
|
[IllustrationContext, {
|
|
579
594
|
render(icon) {
|
|
@@ -620,7 +635,7 @@ export interface UserCardProps extends Omit<CardProps, 'density' | 'variant'> {
|
|
|
620
635
|
variant?: 'primary' | 'secondary' | 'tertiary'
|
|
621
636
|
}
|
|
622
637
|
|
|
623
|
-
export const UserCard = forwardRef(function UserCard(props:
|
|
638
|
+
export const UserCard = forwardRef(function UserCard(props: UserCardProps, ref: DOMRef<HTMLDivElement>) {
|
|
624
639
|
let {size = 'M'} = props;
|
|
625
640
|
return (
|
|
626
641
|
<Card {...props} ref={ref} density="spacious">
|
package/src/CardView.tsx
CHANGED
|
@@ -192,6 +192,9 @@ const wrapperStyles = style({
|
|
|
192
192
|
|
|
193
193
|
export const CardViewContext = createContext<ContextValue<Partial<CardViewProps<any>>, DOMRefValue<HTMLDivElement>>>(null);
|
|
194
194
|
|
|
195
|
+
/**
|
|
196
|
+
* A CardView displays a group of related objects, with support for selection and bulk actions.
|
|
197
|
+
*/
|
|
195
198
|
export const CardView = /*#__PURE__*/ (forwardRef as forwardRefType)(function CardView<T extends object>(props: CardViewProps<T>, ref: DOMRef<HTMLDivElement>) {
|
|
196
199
|
[props, ref] = useSpectrumContextProps(props, ref, CardViewContext);
|
|
197
200
|
let {
|
|
@@ -282,9 +285,14 @@ export const CardView = /*#__PURE__*/ (forwardRef as forwardRefType)(function Ca
|
|
|
282
285
|
}
|
|
283
286
|
} : undefined;
|
|
284
287
|
|
|
288
|
+
let cardViewCtx = useMemo(() => ({
|
|
289
|
+
layout: layoutName,
|
|
290
|
+
ElementType: GridListItem
|
|
291
|
+
}), [layoutName]);
|
|
292
|
+
|
|
285
293
|
let cardView = (
|
|
286
294
|
<Virtualizer layout={layout} layoutOptions={options}>
|
|
287
|
-
<InternalCardViewContext.Provider value={
|
|
295
|
+
<InternalCardViewContext.Provider value={cardViewCtx}>
|
|
288
296
|
<CardContext.Provider value={ctx}>
|
|
289
297
|
<ImageCoordinator>
|
|
290
298
|
<AriaGridList
|
package/src/ColorArea.tsx
CHANGED
|
@@ -13,7 +13,8 @@
|
|
|
13
13
|
import {
|
|
14
14
|
ColorArea as AriaColorArea,
|
|
15
15
|
ColorAreaProps as AriaColorAreaProps,
|
|
16
|
-
ContextValue
|
|
16
|
+
ContextValue,
|
|
17
|
+
useLocale
|
|
17
18
|
} from 'react-aria-components';
|
|
18
19
|
import {ColorHandle} from './ColorHandle';
|
|
19
20
|
import {createContext, forwardRef} from 'react';
|
|
@@ -34,6 +35,7 @@ export const ColorArea = forwardRef(function ColorArea(props: ColorAreaProps, re
|
|
|
34
35
|
[props, ref] = useSpectrumContextProps(props, ref, ColorAreaContext);
|
|
35
36
|
let {UNSAFE_className = '', UNSAFE_style, styles} = props;
|
|
36
37
|
let containerRef = useDOMRef(ref);
|
|
38
|
+
let {direction} = useLocale();
|
|
37
39
|
return (
|
|
38
40
|
<AriaColorArea
|
|
39
41
|
{...props}
|
|
@@ -67,7 +69,13 @@ export const ColorArea = forwardRef(function ColorArea(props: ColorAreaProps, re
|
|
|
67
69
|
{({state}) =>
|
|
68
70
|
(<ColorHandle
|
|
69
71
|
containerRef={containerRef}
|
|
70
|
-
getPosition={() =>
|
|
72
|
+
getPosition={() => {
|
|
73
|
+
let {x, y} = state.getThumbPosition();
|
|
74
|
+
return {
|
|
75
|
+
x: direction === 'ltr' ? x : 1 - x,
|
|
76
|
+
y
|
|
77
|
+
};
|
|
78
|
+
}} />)
|
|
71
79
|
}
|
|
72
80
|
</AriaColorArea>
|
|
73
81
|
);
|
package/src/ColorField.tsx
CHANGED
|
@@ -13,7 +13,8 @@
|
|
|
13
13
|
import {
|
|
14
14
|
ColorField as AriaColorField,
|
|
15
15
|
ColorFieldProps as AriaColorFieldProps,
|
|
16
|
-
ContextValue
|
|
16
|
+
ContextValue,
|
|
17
|
+
InputProps
|
|
17
18
|
} from 'react-aria-components';
|
|
18
19
|
import {createContext, forwardRef, Ref, useContext, useImperativeHandle, useRef} from 'react';
|
|
19
20
|
import {createFocusableRef} from '@react-spectrum/utils';
|
|
@@ -25,7 +26,7 @@ import {style} from '../style' with {type: 'macro'};
|
|
|
25
26
|
import {TextFieldRef} from '@react-types/textfield';
|
|
26
27
|
import {useSpectrumContextProps} from './useSpectrumContextProps';
|
|
27
28
|
|
|
28
|
-
export interface ColorFieldProps extends Omit<AriaColorFieldProps, 'children' | 'className' | 'style' | keyof GlobalDOMAttributes>, StyleProps, SpectrumLabelableProps, HelpTextProps {
|
|
29
|
+
export interface ColorFieldProps extends Omit<AriaColorFieldProps, 'children' | 'className' | 'style' | keyof GlobalDOMAttributes>, StyleProps, SpectrumLabelableProps, HelpTextProps, Pick<InputProps, 'placeholder'> {
|
|
29
30
|
/**
|
|
30
31
|
* The size of the color field.
|
|
31
32
|
*
|
package/src/ColorSlider.tsx
CHANGED
|
@@ -41,7 +41,7 @@ export const ColorSlider = forwardRef(function ColorSlider(props: ColorSliderPro
|
|
|
41
41
|
let {UNSAFE_className = '', UNSAFE_style, styles} = props;
|
|
42
42
|
let containerRef = useDOMRef(ref);
|
|
43
43
|
let trackRef = useRef(null);
|
|
44
|
-
let {locale} = useLocale();
|
|
44
|
+
let {direction, locale} = useLocale();
|
|
45
45
|
|
|
46
46
|
return (
|
|
47
47
|
<AriaColorSlider
|
|
@@ -133,7 +133,8 @@ export const ColorSlider = forwardRef(function ColorSlider(props: ColorSliderPro
|
|
|
133
133
|
<ColorHandle
|
|
134
134
|
containerRef={trackRef}
|
|
135
135
|
getPosition={() => {
|
|
136
|
-
let
|
|
136
|
+
let thumbLeft = direction === 'ltr' ? state.getThumbPercent(0) : 1 - state.getThumbPercent(0);
|
|
137
|
+
let x = state.orientation === 'horizontal' ? thumbLeft : 0.5;
|
|
137
138
|
let y = state.orientation === 'horizontal' ? 0.5 : 1 - state.getThumbPercent(0);
|
|
138
139
|
return {x, y};
|
|
139
140
|
}} />
|
package/src/ComboBox.tsx
CHANGED
|
@@ -21,6 +21,7 @@ import {
|
|
|
21
21
|
ComboBoxStateContext,
|
|
22
22
|
ContextValue,
|
|
23
23
|
InputContext,
|
|
24
|
+
InputProps,
|
|
24
25
|
ListBox,
|
|
25
26
|
ListBoxItem,
|
|
26
27
|
ListBoxItemProps,
|
|
@@ -33,6 +34,7 @@ import {
|
|
|
33
34
|
Virtualizer
|
|
34
35
|
} from 'react-aria-components';
|
|
35
36
|
import {AsyncLoadable, GlobalDOMAttributes, HelpTextProps, LoadingState, SpectrumLabelableProps} from '@react-types/shared';
|
|
37
|
+
import {AvatarContext} from './Avatar';
|
|
36
38
|
import {BaseCollection, CollectionNode, createLeafComponent} from '@react-aria/collections';
|
|
37
39
|
import {baseColor, edgeToText, focusRing, space, style} from '../style' with {type: 'macro'};
|
|
38
40
|
import {centerBaseline} from './CenterBaseline';
|
|
@@ -59,7 +61,7 @@ import intlMessages from '../intl/*.json';
|
|
|
59
61
|
import {mergeRefs, useResizeObserver, useSlotId} from '@react-aria/utils';
|
|
60
62
|
import {Node} from 'react-stately';
|
|
61
63
|
import {Placement} from 'react-aria';
|
|
62
|
-
import {
|
|
64
|
+
import {Popover} from './Popover';
|
|
63
65
|
import {pressScale} from './pressScale';
|
|
64
66
|
import {ProgressCircle} from './ProgressCircle';
|
|
65
67
|
import {TextFieldRef} from '@react-types/textfield';
|
|
@@ -83,7 +85,8 @@ export interface ComboBoxProps<T extends object> extends
|
|
|
83
85
|
HelpTextProps,
|
|
84
86
|
Pick<ListBoxProps<T>, 'items' | 'dependencies'>,
|
|
85
87
|
Pick<AriaPopoverProps, 'shouldFlip'>,
|
|
86
|
-
Pick<AsyncLoadable, 'onLoadMore'
|
|
88
|
+
Pick<AsyncLoadable, 'onLoadMore'>,
|
|
89
|
+
Pick<InputProps, 'placeholder'> {
|
|
87
90
|
/** The contents of the collection. */
|
|
88
91
|
children: ReactNode | ((item: T) => ReactNode),
|
|
89
92
|
/**
|
|
@@ -304,6 +307,11 @@ const dividerStyle = style({
|
|
|
304
307
|
width: 'full'
|
|
305
308
|
});
|
|
306
309
|
|
|
310
|
+
const avatar = style({
|
|
311
|
+
gridArea: 'icon',
|
|
312
|
+
marginEnd: 'text-to-visual'
|
|
313
|
+
});
|
|
314
|
+
|
|
307
315
|
// Not from any design, just following the sizing of the existing rows
|
|
308
316
|
export const LOADER_ROW_HEIGHTS = {
|
|
309
317
|
S: {
|
|
@@ -363,6 +371,13 @@ export interface ComboBoxItemProps extends Omit<ListBoxItemProps, 'children' | '
|
|
|
363
371
|
children: ReactNode
|
|
364
372
|
}
|
|
365
373
|
|
|
374
|
+
const avatarSize = {
|
|
375
|
+
S: 16,
|
|
376
|
+
M: 20,
|
|
377
|
+
L: 22,
|
|
378
|
+
XL: 26
|
|
379
|
+
} as const;
|
|
380
|
+
|
|
366
381
|
const checkmarkIconSize = {
|
|
367
382
|
S: 'XS',
|
|
368
383
|
M: 'M',
|
|
@@ -392,6 +407,11 @@ export function ComboBoxItem(props: ComboBoxItemProps): ReactNode {
|
|
|
392
407
|
icon: {render: centerBaseline({slot: 'icon', styles: iconCenterWrapper}), styles: icon}
|
|
393
408
|
}
|
|
394
409
|
}],
|
|
410
|
+
[AvatarContext, {
|
|
411
|
+
slots: {
|
|
412
|
+
avatar: {size: avatarSize[size], styles: avatar}
|
|
413
|
+
}
|
|
414
|
+
}],
|
|
395
415
|
[TextContext, {
|
|
396
416
|
slots: {
|
|
397
417
|
label: {styles: label({size})},
|
|
@@ -399,7 +419,7 @@ export function ComboBoxItem(props: ComboBoxItemProps): ReactNode {
|
|
|
399
419
|
}
|
|
400
420
|
}]
|
|
401
421
|
]}>
|
|
402
|
-
{!isLink && <CheckmarkIcon size={checkmarkIconSize[size]} className={checkmark({...renderProps, size})} />}
|
|
422
|
+
{!isLink && !props.onAction && <CheckmarkIcon size={checkmarkIconSize[size]} className={checkmark({...renderProps, size})} />}
|
|
403
423
|
{typeof children === 'string' ? <Text slot="label">{children}</Text> : children}
|
|
404
424
|
</Provider>
|
|
405
425
|
</>
|
|
@@ -478,7 +498,7 @@ const ComboboxInner = forwardRef(function ComboboxInner(props: ComboBoxProps<any
|
|
|
478
498
|
}
|
|
479
499
|
|
|
480
500
|
let triggerRef = useRef<HTMLDivElement>(null);
|
|
481
|
-
|
|
501
|
+
// Make menu width match input + button
|
|
482
502
|
let [triggerWidth, setTriggerWidth] = useState<string | null>(null);
|
|
483
503
|
let onResize = useCallback(() => {
|
|
484
504
|
if (triggerRef.current) {
|
|
@@ -643,57 +663,62 @@ const ComboboxInner = forwardRef(function ComboboxInner(props: ComboBoxProps<any
|
|
|
643
663
|
description={descriptionMessage}>
|
|
644
664
|
{errorMessage}
|
|
645
665
|
</HelpText>
|
|
646
|
-
<
|
|
666
|
+
<Popover
|
|
647
667
|
hideArrow
|
|
648
668
|
triggerRef={triggerRef}
|
|
649
669
|
offset={menuOffset}
|
|
650
670
|
placement={`${direction} ${align}` as Placement}
|
|
651
671
|
shouldFlip={shouldFlip}
|
|
652
672
|
UNSAFE_style={{
|
|
653
|
-
width: menuWidth ?
|
|
654
|
-
// manually subtract border as we can't set Popover to border-box, it causes the contents to spill out
|
|
655
|
-
'--trigger-width': `calc(${triggerWidth} - 2px)`
|
|
673
|
+
'--trigger-width': (menuWidth ? menuWidth + 'px' : triggerWidth)
|
|
656
674
|
} as CSSProperties}
|
|
675
|
+
padding="none"
|
|
657
676
|
styles={style({
|
|
658
677
|
minWidth: '--trigger-width',
|
|
659
678
|
width: '--trigger-width'
|
|
660
679
|
})}>
|
|
661
|
-
<
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
'
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
680
|
+
<div
|
|
681
|
+
className={style({
|
|
682
|
+
display: 'flex',
|
|
683
|
+
size: 'full'
|
|
684
|
+
})}>
|
|
685
|
+
<Provider
|
|
686
|
+
values={[
|
|
687
|
+
[HeaderContext, {styles: listboxHeader({size})}],
|
|
688
|
+
[HeadingContext, {
|
|
689
|
+
// @ts-ignore
|
|
690
|
+
role: 'presentation',
|
|
691
|
+
styles: sectionHeading
|
|
692
|
+
}],
|
|
693
|
+
[TextContext, {
|
|
694
|
+
slots: {
|
|
695
|
+
'description': {styles: description({size})}
|
|
696
|
+
}
|
|
697
|
+
}]
|
|
698
|
+
]}>
|
|
699
|
+
<Virtualizer
|
|
700
|
+
layout={ListLayout}
|
|
701
|
+
layoutOptions={{
|
|
702
|
+
estimatedRowHeight: 32,
|
|
703
|
+
padding: 8,
|
|
704
|
+
estimatedHeadingHeight: 50,
|
|
705
|
+
loaderHeight: LOADER_ROW_HEIGHTS[size][scale]
|
|
706
|
+
}}>
|
|
707
|
+
<ListBox
|
|
708
|
+
dependencies={props.dependencies}
|
|
709
|
+
renderEmptyState={() => (
|
|
710
|
+
<span className={emptyStateText({size})}>
|
|
711
|
+
{loadingState === 'loading' ? stringFormatter.format('table.loading') : stringFormatter.format('combobox.noResults')}
|
|
712
|
+
</span>
|
|
713
|
+
)}
|
|
714
|
+
items={items}
|
|
715
|
+
className={listbox({size})}>
|
|
716
|
+
{renderer}
|
|
717
|
+
</ListBox>
|
|
718
|
+
</Virtualizer>
|
|
719
|
+
</Provider>
|
|
720
|
+
</div>
|
|
721
|
+
</Popover>
|
|
697
722
|
</InternalComboboxContext.Provider>
|
|
698
723
|
</>
|
|
699
724
|
);
|
package/src/ContextualHelp.tsx
CHANGED
|
@@ -11,7 +11,7 @@ import InfoIcon from '../s2wf-icons/S2_Icon_InfoCircle_20_N.svg';
|
|
|
11
11
|
// @ts-ignore
|
|
12
12
|
import intlMessages from '../intl/*.json';
|
|
13
13
|
import {mergeStyles} from '../style/runtime';
|
|
14
|
-
import {
|
|
14
|
+
import {Popover, PopoverDialogProps} from './Popover';
|
|
15
15
|
import {space, style} from '../style' with {type: 'macro'};
|
|
16
16
|
import {StyleProps} from './style-utils' with { type: 'macro' };
|
|
17
17
|
import {useLocalizedStringFormatter} from '@react-aria/i18n';
|
|
@@ -39,11 +39,12 @@ export interface ContextualHelpProps extends
|
|
|
39
39
|
size?: 'XS' | 'S'
|
|
40
40
|
}
|
|
41
41
|
|
|
42
|
-
const
|
|
43
|
-
fontFamily: 'sans',
|
|
42
|
+
const wrappingDiv = style({
|
|
44
43
|
minWidth: 268,
|
|
45
44
|
width: 268,
|
|
46
|
-
padding: 24
|
|
45
|
+
padding: 24,
|
|
46
|
+
boxSizing: 'border-box',
|
|
47
|
+
height: 'full'
|
|
47
48
|
});
|
|
48
49
|
|
|
49
50
|
export const ContextualHelpContext = createContext<ContextValue<Partial<ContextualHelpProps>, FocusableRefValue<HTMLButtonElement>>>(null);
|
|
@@ -96,39 +97,42 @@ export const ContextualHelp = forwardRef(function ContextualHelp(props: Contextu
|
|
|
96
97
|
isQuiet>
|
|
97
98
|
{variant === 'info' ? <InfoIcon /> : <HelpIcon />}
|
|
98
99
|
</ActionButton>
|
|
99
|
-
<
|
|
100
|
+
<Popover
|
|
101
|
+
padding="none"
|
|
100
102
|
placement={placement}
|
|
101
103
|
shouldFlip={shouldFlip}
|
|
102
104
|
// not working => containerPadding={containerPadding}
|
|
103
105
|
offset={offset}
|
|
104
106
|
crossOffset={crossOffset}
|
|
105
|
-
hideArrow
|
|
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
|
-
|
|
107
|
+
hideArrow>
|
|
108
|
+
<div
|
|
109
|
+
className={wrappingDiv}>
|
|
110
|
+
<RACDialog className={mergeStyles(dialogInner, style({borderRadius: 'none', margin: 'calc(self(paddingTop) * -1)', padding: 24}))}>
|
|
111
|
+
<Provider
|
|
112
|
+
values={[
|
|
113
|
+
[TextContext, {
|
|
114
|
+
slots: {
|
|
115
|
+
[DEFAULT_SLOT]: {}
|
|
116
|
+
}
|
|
117
|
+
}],
|
|
118
|
+
[HeadingContext, {styles: style({
|
|
119
|
+
font: 'heading-xs',
|
|
120
|
+
margin: 0,
|
|
121
|
+
marginBottom: space(8) // This only makes it 10px on mobile and should be 12px
|
|
122
|
+
})}],
|
|
123
|
+
[ContentContext, {styles: style({
|
|
124
|
+
font: 'body-sm'
|
|
125
|
+
})}],
|
|
126
|
+
[FooterContext, {styles: style({
|
|
127
|
+
font: 'body-sm',
|
|
128
|
+
marginTop: 16
|
|
129
|
+
})}]
|
|
130
|
+
]}>
|
|
131
|
+
{children}
|
|
132
|
+
</Provider>
|
|
133
|
+
</RACDialog>
|
|
134
|
+
</div>
|
|
135
|
+
</Popover>
|
|
132
136
|
</DialogTrigger>
|
|
133
137
|
);
|
|
134
138
|
});
|
package/src/CustomDialog.tsx
CHANGED
|
@@ -53,7 +53,7 @@ const dialogStyle = style({
|
|
|
53
53
|
position: 'relative',
|
|
54
54
|
size: 'full',
|
|
55
55
|
maxSize: 'inherit'
|
|
56
|
-
}, getAllowedOverrides({height: true}));
|
|
56
|
+
}, getAllowedOverrides({height: true, width: true}));
|
|
57
57
|
|
|
58
58
|
/**
|
|
59
59
|
* A CustomDialog is a floating window with a custom layout.
|
package/src/DateField.tsx
CHANGED
|
@@ -87,6 +87,10 @@ const iconStyles = style({
|
|
|
87
87
|
justifyContent: 'end'
|
|
88
88
|
});
|
|
89
89
|
|
|
90
|
+
/**
|
|
91
|
+
* DateFields allow users to enter and edit date and time values using a keyboard.
|
|
92
|
+
* Each part of a date value is displayed in an individually editable segment.
|
|
93
|
+
*/
|
|
90
94
|
export const DateField = /*#__PURE__*/ (forwardRef as forwardRefType)(function DateField<T extends DateValue>(
|
|
91
95
|
props: DateFieldProps<T>, ref: Ref<HTMLDivElement>
|
|
92
96
|
): ReactElement {
|
package/src/DatePicker.tsx
CHANGED
|
@@ -33,7 +33,7 @@ import {FieldGroup, FieldLabel, HelpText} from './Field';
|
|
|
33
33
|
import {forwardRefType, GlobalDOMAttributes, HelpTextProps, SpectrumLabelableProps} from '@react-types/shared';
|
|
34
34
|
// @ts-ignore
|
|
35
35
|
import intlMessages from '../intl/*.json';
|
|
36
|
-
import {
|
|
36
|
+
import {Popover} from './Popover';
|
|
37
37
|
import {pressScale} from './pressScale';
|
|
38
38
|
import {useLocalizedStringFormatter} from '@react-aria/i18n';
|
|
39
39
|
import {useSpectrumContextProps} from './useSpectrumContextProps';
|
|
@@ -41,7 +41,7 @@ import {useSpectrumContextProps} from './useSpectrumContextProps';
|
|
|
41
41
|
|
|
42
42
|
export interface DatePickerProps<T extends DateValue> extends
|
|
43
43
|
Omit<AriaDatePickerProps<T>, 'children' | 'className' | 'style' | keyof GlobalDOMAttributes>,
|
|
44
|
-
Pick<CalendarProps<T>, 'createCalendar' | 'pageBehavior' | 'isDateUnavailable'>,
|
|
44
|
+
Pick<CalendarProps<T>, 'createCalendar' | 'pageBehavior' | 'firstDayOfWeek' | 'isDateUnavailable'>,
|
|
45
45
|
StyleProps,
|
|
46
46
|
SpectrumLabelableProps,
|
|
47
47
|
HelpTextProps {
|
|
@@ -119,6 +119,9 @@ export const timeField = style({
|
|
|
119
119
|
width: 'unset'
|
|
120
120
|
});
|
|
121
121
|
|
|
122
|
+
/**
|
|
123
|
+
* DatePickers combine a DateField and a Calendar popover to allow users to enter or select a date and time value.
|
|
124
|
+
*/
|
|
122
125
|
export const DatePicker = /*#__PURE__*/ (forwardRef as forwardRefType)(function DatePicker<T extends DateValue>(
|
|
123
126
|
props: DatePickerProps<T>, ref: Ref<HTMLDivElement>
|
|
124
127
|
): ReactElement {
|
|
@@ -237,25 +240,30 @@ export const DatePicker = /*#__PURE__*/ (forwardRef as forwardRefType)(function
|
|
|
237
240
|
|
|
238
241
|
export function CalendarPopover(props: PropsWithChildren): ReactElement {
|
|
239
242
|
return (
|
|
240
|
-
<
|
|
243
|
+
<Popover
|
|
241
244
|
hideArrow
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
245
|
+
padding="none">
|
|
246
|
+
<div
|
|
247
|
+
className={style({
|
|
248
|
+
paddingX: 16,
|
|
249
|
+
paddingY: 32,
|
|
250
|
+
overflow: 'auto',
|
|
251
|
+
display: 'flex',
|
|
252
|
+
flexDirection: 'column',
|
|
253
|
+
gap: 16,
|
|
254
|
+
boxSizing: 'border-box',
|
|
255
|
+
size: 'full'
|
|
256
|
+
})}>
|
|
257
|
+
<Dialog>
|
|
258
|
+
<Provider
|
|
259
|
+
values={[
|
|
260
|
+
[OverlayTriggerStateContext, null]
|
|
261
|
+
]}>
|
|
262
|
+
{props.children}
|
|
263
|
+
</Provider>
|
|
264
|
+
</Dialog>
|
|
265
|
+
</div>
|
|
266
|
+
</Popover>
|
|
259
267
|
);
|
|
260
268
|
}
|
|
261
269
|
|
package/src/DateRangePicker.tsx
CHANGED
|
@@ -33,7 +33,7 @@ import {useSpectrumContextProps} from './useSpectrumContextProps';
|
|
|
33
33
|
|
|
34
34
|
export interface DateRangePickerProps<T extends DateValue> extends
|
|
35
35
|
Omit<AriaDateRangePickerProps<T>, 'children' | 'className' | 'style' | keyof GlobalDOMAttributes>,
|
|
36
|
-
Pick<RangeCalendarProps<T>, 'createCalendar' | 'pageBehavior' | 'isDateUnavailable'>,
|
|
36
|
+
Pick<RangeCalendarProps<T>, 'createCalendar' | 'pageBehavior' | 'firstDayOfWeek' | 'isDateUnavailable'>,
|
|
37
37
|
StyleProps,
|
|
38
38
|
SpectrumLabelableProps,
|
|
39
39
|
HelpTextProps {
|
|
@@ -52,6 +52,10 @@ export interface DateRangePickerProps<T extends DateValue> extends
|
|
|
52
52
|
|
|
53
53
|
export const DateRangePickerContext = createContext<ContextValue<Partial<DateRangePickerProps<any>>, HTMLDivElement>>(null);
|
|
54
54
|
|
|
55
|
+
/**
|
|
56
|
+
* DateRangePickers combine two DateFields and a RangeCalendar popover to allow users
|
|
57
|
+
* to enter or select a date and time range.
|
|
58
|
+
*/
|
|
55
59
|
export const DateRangePicker = /*#__PURE__*/ (forwardRef as forwardRefType)(function DateRangePicker<T extends DateValue>(
|
|
56
60
|
props: DateRangePickerProps<T>, ref: Ref<HTMLDivElement>
|
|
57
61
|
): ReactElement {
|
package/src/Dialog.tsx
CHANGED
|
@@ -33,7 +33,7 @@ export interface DialogProps extends Omit<RACDialogProps, 'className' | 'style'
|
|
|
33
33
|
*
|
|
34
34
|
* @default 'M'
|
|
35
35
|
*/
|
|
36
|
-
size?: 'S' | 'M' | 'L',
|
|
36
|
+
size?: 'S' | 'M' | 'L' | 'XL',
|
|
37
37
|
/** Whether pressing the escape key to close the dialog should be disabled. */
|
|
38
38
|
isKeyboardDismissDisabled?: boolean
|
|
39
39
|
}
|
|
@@ -57,10 +57,13 @@ const header = style({
|
|
|
57
57
|
|
|
58
58
|
const content = style({
|
|
59
59
|
flexGrow: 1,
|
|
60
|
+
flexShrink: {
|
|
61
|
+
[`@container (height < ${500 / 16}rem)`]: 0
|
|
62
|
+
},
|
|
60
63
|
overflowY: {
|
|
61
64
|
default: 'auto',
|
|
62
|
-
// Make the whole dialog scroll rather than only the content when the height
|
|
63
|
-
[`@
|
|
65
|
+
// Make the whole dialog scroll rather than only the content when the height is small.
|
|
66
|
+
[`@container (height < ${500 / 16}rem)`]: 'visible'
|
|
64
67
|
},
|
|
65
68
|
font: 'body',
|
|
66
69
|
// TODO: adjust margin on mobile?
|