@react-spectrum/s2 0.5.0 → 0.6.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 +5 -8
- package/dist/Accordion.cjs.map +1 -1
- package/dist/Accordion.css +2 -2
- package/dist/Accordion.css.map +1 -1
- package/dist/Accordion.mjs +5 -8
- package/dist/Accordion.mjs.map +1 -1
- package/dist/ActionBar.cjs +264 -0
- package/dist/ActionBar.cjs.map +1 -0
- package/dist/ActionBar.css +267 -0
- package/dist/ActionBar.css.map +1 -0
- package/dist/ActionBar.mjs +257 -0
- package/dist/ActionBar.mjs.map +1 -0
- package/dist/ActionButton.cjs +121 -147
- package/dist/ActionButton.cjs.map +1 -1
- package/dist/ActionButton.css +133 -153
- package/dist/ActionButton.css.map +1 -1
- package/dist/ActionButton.mjs +122 -148
- package/dist/ActionButton.mjs.map +1 -1
- package/dist/ActionButtonGroup.cjs +6 -9
- package/dist/ActionButtonGroup.cjs.map +1 -1
- package/dist/ActionButtonGroup.css +3 -3
- package/dist/ActionButtonGroup.css.map +1 -1
- package/dist/ActionButtonGroup.mjs +6 -9
- package/dist/ActionButtonGroup.mjs.map +1 -1
- package/dist/ActionMenu.cjs +2 -5
- package/dist/ActionMenu.cjs.map +1 -1
- package/dist/ActionMenu.mjs +2 -5
- package/dist/ActionMenu.mjs.map +1 -1
- package/dist/AlertDialog.cjs +2 -5
- package/dist/AlertDialog.cjs.map +1 -1
- package/dist/AlertDialog.css.map +1 -1
- package/dist/AlertDialog.mjs +2 -5
- package/dist/AlertDialog.mjs.map +1 -1
- package/dist/Avatar.cjs +12 -15
- package/dist/Avatar.cjs.map +1 -1
- package/dist/Avatar.css +11 -11
- package/dist/Avatar.css.map +1 -1
- package/dist/Avatar.mjs +12 -15
- package/dist/Avatar.mjs.map +1 -1
- package/dist/AvatarGroup.cjs +99 -102
- package/dist/AvatarGroup.cjs.map +1 -1
- package/dist/AvatarGroup.css +31 -31
- package/dist/AvatarGroup.css.map +1 -1
- package/dist/AvatarGroup.mjs +99 -102
- package/dist/AvatarGroup.mjs.map +1 -1
- package/dist/Badge.cjs +99 -102
- package/dist/Badge.cjs.map +1 -1
- package/dist/Badge.css +76 -76
- package/dist/Badge.css.map +1 -1
- package/dist/Badge.mjs +99 -102
- package/dist/Badge.mjs.map +1 -1
- package/dist/Breadcrumbs.cjs +93 -94
- package/dist/Breadcrumbs.cjs.map +1 -1
- package/dist/Breadcrumbs.css +70 -64
- package/dist/Breadcrumbs.css.map +1 -1
- package/dist/Breadcrumbs.mjs +94 -95
- package/dist/Breadcrumbs.mjs.map +1 -1
- package/dist/Button.cjs +305 -278
- package/dist/Button.cjs.map +1 -1
- package/dist/Button.css +255 -182
- package/dist/Button.css.map +1 -1
- package/dist/Button.mjs +307 -280
- package/dist/Button.mjs.map +1 -1
- package/dist/ButtonGroup.cjs +17 -20
- package/dist/ButtonGroup.cjs.map +1 -1
- package/dist/ButtonGroup.css +11 -11
- package/dist/ButtonGroup.css.map +1 -1
- package/dist/ButtonGroup.mjs +18 -21
- package/dist/ButtonGroup.mjs.map +1 -1
- package/dist/Card.cjs +167 -167
- package/dist/Card.css +121 -121
- package/dist/Card.mjs +167 -167
- package/dist/CardView.cjs +47 -21
- package/dist/CardView.cjs.map +1 -1
- package/dist/CardView.css +39 -15
- package/dist/CardView.css.map +1 -1
- package/dist/CardView.mjs +49 -23
- 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 +58 -62
- package/dist/Checkbox.cjs.map +1 -1
- package/dist/Checkbox.css +54 -54
- package/dist/Checkbox.css.map +1 -1
- package/dist/Checkbox.mjs +59 -63
- package/dist/Checkbox.mjs.map +1 -1
- package/dist/CheckboxGroup.cjs +43 -45
- package/dist/CheckboxGroup.cjs.map +1 -1
- package/dist/CheckboxGroup.css +32 -32
- package/dist/CheckboxGroup.css.map +1 -1
- package/dist/CheckboxGroup.mjs +44 -46
- package/dist/CheckboxGroup.mjs.map +1 -1
- package/dist/ClearButton.cjs +7 -8
- package/dist/ClearButton.cjs.map +1 -1
- package/dist/ClearButton.css +5 -5
- package/dist/ClearButton.css.map +1 -1
- package/dist/ClearButton.mjs +7 -8
- package/dist/ClearButton.mjs.map +1 -1
- package/dist/CloseButton.cjs +40 -53
- package/dist/CloseButton.cjs.map +1 -1
- package/dist/CloseButton.css +45 -49
- package/dist/CloseButton.css.map +1 -1
- package/dist/CloseButton.mjs +40 -53
- package/dist/CloseButton.mjs.map +1 -1
- package/dist/ColorArea.cjs +12 -15
- package/dist/ColorArea.cjs.map +1 -1
- package/dist/ColorArea.css +10 -10
- package/dist/ColorArea.css.map +1 -1
- package/dist/ColorArea.mjs +12 -15
- package/dist/ColorArea.mjs.map +1 -1
- package/dist/ColorField.cjs +31 -34
- package/dist/ColorField.cjs.map +1 -1
- package/dist/ColorField.css +24 -24
- package/dist/ColorField.css.map +1 -1
- package/dist/ColorField.mjs +32 -35
- package/dist/ColorField.mjs.map +1 -1
- package/dist/ColorHandle.cjs +11 -11
- package/dist/ColorHandle.css +19 -19
- package/dist/ColorHandle.mjs +11 -11
- package/dist/ColorSlider.cjs +43 -46
- package/dist/ColorSlider.cjs.map +1 -1
- package/dist/ColorSlider.css +43 -43
- package/dist/ColorSlider.css.map +1 -1
- package/dist/ColorSlider.mjs +44 -47
- package/dist/ColorSlider.mjs.map +1 -1
- package/dist/ColorSwatch.cjs +8 -11
- package/dist/ColorSwatch.cjs.map +1 -1
- package/dist/ColorSwatch.css +14 -14
- package/dist/ColorSwatch.css.map +1 -1
- package/dist/ColorSwatch.mjs +9 -12
- package/dist/ColorSwatch.mjs.map +1 -1
- package/dist/ColorSwatchPicker.cjs +15 -18
- package/dist/ColorSwatchPicker.cjs.map +1 -1
- package/dist/ColorSwatchPicker.css +33 -33
- package/dist/ColorSwatchPicker.css.map +1 -1
- package/dist/ColorSwatchPicker.mjs +15 -18
- package/dist/ColorSwatchPicker.mjs.map +1 -1
- package/dist/ColorWheel.cjs +18 -21
- package/dist/ColorWheel.cjs.map +1 -1
- package/dist/ColorWheel.css +15 -15
- package/dist/ColorWheel.css.map +1 -1
- package/dist/ColorWheel.mjs +18 -21
- package/dist/ColorWheel.mjs.map +1 -1
- package/dist/ComboBox.cjs +61 -61
- package/dist/ComboBox.cjs.map +1 -1
- package/dist/ComboBox.css +52 -52
- package/dist/ComboBox.css.map +1 -1
- package/dist/ComboBox.mjs +62 -62
- package/dist/ComboBox.mjs.map +1 -1
- package/dist/Content.cjs +12 -19
- package/dist/Content.cjs.map +1 -1
- package/dist/Content.mjs +12 -19
- package/dist/Content.mjs.map +1 -1
- package/dist/ContextualHelp.cjs +7 -10
- package/dist/ContextualHelp.cjs.map +1 -1
- package/dist/ContextualHelp.css +23 -23
- package/dist/ContextualHelp.css.map +1 -1
- package/dist/ContextualHelp.mjs +7 -10
- package/dist/ContextualHelp.mjs.map +1 -1
- package/dist/CustomDialog.cjs +10 -13
- package/dist/CustomDialog.cjs.map +1 -1
- package/dist/CustomDialog.css +9 -9
- package/dist/CustomDialog.css.map +1 -1
- package/dist/CustomDialog.mjs +10 -13
- package/dist/CustomDialog.mjs.map +1 -1
- package/dist/Dialog.cjs +12 -16
- package/dist/Dialog.cjs.map +1 -1
- package/dist/Dialog.css +39 -39
- package/dist/Dialog.css.map +1 -1
- package/dist/Dialog.mjs +12 -16
- package/dist/Dialog.mjs.map +1 -1
- package/dist/Disclosure.cjs +60 -69
- package/dist/Disclosure.cjs.map +1 -1
- package/dist/Disclosure.css +49 -49
- package/dist/Disclosure.css.map +1 -1
- package/dist/Disclosure.mjs +61 -70
- package/dist/Disclosure.mjs.map +1 -1
- package/dist/Divider.cjs +15 -19
- package/dist/Divider.cjs.map +1 -1
- package/dist/Divider.css +18 -18
- package/dist/Divider.css.map +1 -1
- package/dist/Divider.mjs +15 -19
- package/dist/Divider.mjs.map +1 -1
- package/dist/DropZone.cjs +30 -33
- package/dist/DropZone.cjs.map +1 -1
- package/dist/DropZone.css +26 -26
- package/dist/DropZone.css.map +1 -1
- package/dist/DropZone.mjs +30 -33
- package/dist/DropZone.mjs.map +1 -1
- package/dist/Field.cjs +133 -131
- package/dist/Field.cjs.map +1 -1
- package/dist/Field.css +76 -84
- package/dist/Field.css.map +1 -1
- package/dist/Field.mjs +133 -131
- package/dist/Field.mjs.map +1 -1
- package/dist/Form.cjs +6 -9
- package/dist/Form.cjs.map +1 -1
- package/dist/Form.css +3 -3
- package/dist/Form.css.map +1 -1
- package/dist/Form.mjs +6 -9
- package/dist/Form.mjs.map +1 -1
- package/dist/FullscreenDialog.cjs +7 -10
- package/dist/FullscreenDialog.cjs.map +1 -1
- package/dist/FullscreenDialog.css +54 -54
- package/dist/FullscreenDialog.css.map +1 -1
- package/dist/FullscreenDialog.mjs +7 -10
- package/dist/FullscreenDialog.mjs.map +1 -1
- package/dist/IllustratedMessage.cjs +128 -132
- package/dist/IllustratedMessage.cjs.map +1 -1
- package/dist/IllustratedMessage.css +58 -58
- package/dist/IllustratedMessage.css.map +1 -1
- package/dist/IllustratedMessage.mjs +128 -132
- package/dist/IllustratedMessage.mjs.map +1 -1
- package/dist/Image.cjs +12 -13
- package/dist/Image.cjs.map +1 -1
- package/dist/Image.css +11 -11
- package/dist/Image.css.map +1 -1
- package/dist/Image.mjs +13 -14
- package/dist/Image.mjs.map +1 -1
- package/dist/InlineAlert.cjs +75 -84
- package/dist/InlineAlert.cjs.map +1 -1
- package/dist/InlineAlert.css +59 -63
- package/dist/InlineAlert.css.map +1 -1
- package/dist/InlineAlert.mjs +76 -85
- package/dist/InlineAlert.mjs.map +1 -1
- package/dist/Link.cjs +36 -39
- package/dist/Link.cjs.map +1 -1
- package/dist/Link.css +42 -42
- package/dist/Link.css.map +1 -1
- package/dist/Link.mjs +37 -40
- package/dist/Link.mjs.map +1 -1
- package/dist/Menu.cjs +322 -234
- package/dist/Menu.cjs.map +1 -1
- package/dist/Menu.css +118 -116
- package/dist/Menu.css.map +1 -1
- package/dist/Menu.mjs +323 -235
- package/dist/Menu.mjs.map +1 -1
- package/dist/Meter.cjs +66 -70
- package/dist/Meter.cjs.map +1 -1
- package/dist/Meter.css +69 -73
- package/dist/Meter.css.map +1 -1
- package/dist/Meter.mjs +66 -70
- package/dist/Meter.mjs.map +1 -1
- package/dist/Modal.cjs +36 -45
- package/dist/Modal.cjs.map +1 -1
- package/dist/Modal.css +48 -72
- package/dist/Modal.css.map +1 -1
- package/dist/Modal.mjs +37 -46
- package/dist/Modal.mjs.map +1 -1
- package/dist/NumberField.cjs +66 -69
- package/dist/NumberField.cjs.map +1 -1
- package/dist/NumberField.css +70 -70
- package/dist/NumberField.css.map +1 -1
- package/dist/NumberField.mjs +67 -70
- package/dist/NumberField.mjs.map +1 -1
- package/dist/Picker.cjs +122 -122
- package/dist/Picker.cjs.map +1 -1
- package/dist/Picker.css +84 -84
- package/dist/Picker.css.map +1 -1
- package/dist/Picker.mjs +123 -123
- package/dist/Picker.mjs.map +1 -1
- package/dist/Popover.cjs +47 -69
- package/dist/Popover.cjs.map +1 -1
- package/dist/Popover.css +55 -126
- package/dist/Popover.css.map +1 -1
- package/dist/Popover.mjs +48 -70
- package/dist/Popover.mjs.map +1 -1
- package/dist/ProgressBar.cjs +85 -87
- package/dist/ProgressBar.cjs.map +1 -1
- package/dist/ProgressBar.css +81 -85
- package/dist/ProgressBar.css.map +1 -1
- package/dist/ProgressBar.mjs +85 -87
- package/dist/ProgressBar.mjs.map +1 -1
- package/dist/ProgressCircle.cjs +16 -18
- package/dist/ProgressCircle.cjs.map +1 -1
- package/dist/ProgressCircle.css +16 -16
- package/dist/ProgressCircle.css.map +1 -1
- package/dist/ProgressCircle.mjs +16 -18
- package/dist/ProgressCircle.mjs.map +1 -1
- package/dist/Provider.cjs +5 -5
- package/dist/Provider.css +6 -6
- package/dist/Provider.mjs +5 -5
- package/dist/Radio.cjs +54 -58
- package/dist/Radio.cjs.map +1 -1
- package/dist/Radio.css +50 -50
- package/dist/Radio.css.map +1 -1
- package/dist/Radio.mjs +55 -59
- package/dist/Radio.mjs.map +1 -1
- package/dist/RadioGroup.cjs +39 -43
- package/dist/RadioGroup.cjs.map +1 -1
- package/dist/RadioGroup.css +32 -32
- package/dist/RadioGroup.css.map +1 -1
- package/dist/RadioGroup.mjs +40 -44
- package/dist/RadioGroup.mjs.map +1 -1
- package/dist/RangeSlider.cjs +2 -3
- package/dist/RangeSlider.cjs.map +1 -1
- package/dist/RangeSlider.mjs +3 -4
- package/dist/RangeSlider.mjs.map +1 -1
- package/dist/SearchField.cjs +34 -37
- package/dist/SearchField.cjs.map +1 -1
- package/dist/SearchField.css +30 -30
- package/dist/SearchField.css.map +1 -1
- package/dist/SearchField.mjs +35 -38
- package/dist/SearchField.mjs.map +1 -1
- package/dist/SegmentedControl.cjs +67 -73
- package/dist/SegmentedControl.cjs.map +1 -1
- package/dist/SegmentedControl.css +63 -63
- package/dist/SegmentedControl.css.map +1 -1
- package/dist/SegmentedControl.mjs +68 -74
- package/dist/SegmentedControl.mjs.map +1 -1
- package/dist/Slider.cjs +111 -112
- package/dist/Slider.cjs.map +1 -1
- package/dist/Slider.css +87 -87
- package/dist/Slider.css.map +1 -1
- package/dist/Slider.mjs +112 -113
- package/dist/Slider.mjs.map +1 -1
- package/dist/StatusLight.cjs +28 -32
- package/dist/StatusLight.cjs.map +1 -1
- package/dist/StatusLight.css +26 -26
- package/dist/StatusLight.css.map +1 -1
- package/dist/StatusLight.mjs +28 -32
- package/dist/StatusLight.mjs.map +1 -1
- package/dist/Switch.cjs +56 -60
- package/dist/Switch.cjs.map +1 -1
- package/dist/Switch.css +48 -48
- package/dist/Switch.css.map +1 -1
- package/dist/Switch.mjs +57 -61
- package/dist/Switch.mjs.map +1 -1
- package/dist/TableView.cjs +209 -196
- package/dist/TableView.cjs.map +1 -1
- package/dist/TableView.css +95 -95
- package/dist/TableView.css.map +1 -1
- package/dist/TableView.mjs +211 -198
- package/dist/TableView.mjs.map +1 -1
- package/dist/Tabs.cjs +59 -62
- package/dist/Tabs.cjs.map +1 -1
- package/dist/Tabs.css +42 -42
- package/dist/Tabs.css.map +1 -1
- package/dist/Tabs.mjs +59 -62
- package/dist/Tabs.mjs.map +1 -1
- package/dist/TagGroup.cjs +122 -124
- package/dist/TagGroup.cjs.map +1 -1
- package/dist/TagGroup.css +93 -93
- package/dist/TagGroup.css.map +1 -1
- package/dist/TagGroup.mjs +122 -124
- package/dist/TagGroup.mjs.map +1 -1
- package/dist/TextField.cjs +44 -55
- package/dist/TextField.cjs.map +1 -1
- package/dist/TextField.css +33 -33
- package/dist/TextField.css.map +1 -1
- package/dist/TextField.mjs +45 -56
- package/dist/TextField.mjs.map +1 -1
- package/dist/ToggleButton.cjs +6 -9
- package/dist/ToggleButton.cjs.map +1 -1
- package/dist/ToggleButton.css +7 -7
- package/dist/ToggleButton.css.map +1 -1
- package/dist/ToggleButton.mjs +6 -9
- package/dist/ToggleButton.mjs.map +1 -1
- package/dist/ToggleButtonGroup.cjs +2 -5
- package/dist/ToggleButtonGroup.cjs.map +1 -1
- package/dist/ToggleButtonGroup.mjs +2 -5
- package/dist/ToggleButtonGroup.mjs.map +1 -1
- package/dist/Tooltip.cjs +48 -48
- package/dist/Tooltip.cjs.map +1 -1
- package/dist/Tooltip.css +55 -70
- package/dist/Tooltip.css.map +1 -1
- package/dist/Tooltip.mjs +49 -49
- package/dist/Tooltip.mjs.map +1 -1
- package/dist/ar-AE.cjs +10 -2
- package/dist/ar-AE.cjs.map +1 -1
- package/dist/ar-AE.mjs +10 -2
- package/dist/ar-AE.mjs.map +1 -1
- package/dist/bg-BG.cjs +11 -2
- package/dist/bg-BG.cjs.map +1 -1
- package/dist/bg-BG.mjs +11 -2
- package/dist/bg-BG.mjs.map +1 -1
- package/dist/cs-CZ.cjs +7 -2
- package/dist/cs-CZ.cjs.map +1 -1
- package/dist/cs-CZ.mjs +7 -2
- package/dist/cs-CZ.mjs.map +1 -1
- package/dist/da-DK.cjs +12 -4
- package/dist/da-DK.cjs.map +1 -1
- package/dist/da-DK.mjs +12 -4
- package/dist/da-DK.mjs.map +1 -1
- package/dist/de-DE.cjs +11 -2
- package/dist/de-DE.cjs.map +1 -1
- package/dist/de-DE.mjs +11 -2
- package/dist/de-DE.mjs.map +1 -1
- package/dist/el-GR.cjs +11 -2
- package/dist/el-GR.cjs.map +1 -1
- package/dist/el-GR.mjs +11 -2
- package/dist/el-GR.mjs.map +1 -1
- package/dist/en-US.cjs +8 -0
- package/dist/en-US.cjs.map +1 -1
- package/dist/en-US.mjs +8 -0
- package/dist/en-US.mjs.map +1 -1
- package/dist/es-ES.cjs +11 -2
- package/dist/es-ES.cjs.map +1 -1
- package/dist/es-ES.mjs +11 -2
- package/dist/es-ES.mjs.map +1 -1
- package/dist/et-EE.cjs +10 -2
- package/dist/et-EE.cjs.map +1 -1
- package/dist/et-EE.mjs +10 -2
- package/dist/et-EE.mjs.map +1 -1
- package/dist/fi-FI.cjs +10 -2
- package/dist/fi-FI.cjs.map +1 -1
- package/dist/fi-FI.mjs +10 -2
- package/dist/fi-FI.mjs.map +1 -1
- package/dist/fr-FR.cjs +11 -2
- package/dist/fr-FR.cjs.map +1 -1
- package/dist/fr-FR.mjs +11 -2
- package/dist/fr-FR.mjs.map +1 -1
- package/dist/he-IL.cjs +11 -2
- package/dist/he-IL.cjs.map +1 -1
- package/dist/he-IL.mjs +11 -2
- package/dist/he-IL.mjs.map +1 -1
- package/dist/hr-HR.cjs +7 -2
- package/dist/hr-HR.cjs.map +1 -1
- package/dist/hr-HR.mjs +7 -2
- package/dist/hr-HR.mjs.map +1 -1
- package/dist/hu-HU.cjs +10 -2
- package/dist/hu-HU.cjs.map +1 -1
- package/dist/hu-HU.mjs +10 -2
- package/dist/hu-HU.mjs.map +1 -1
- package/dist/it-IT.cjs +11 -2
- package/dist/it-IT.cjs.map +1 -1
- package/dist/it-IT.mjs +11 -2
- package/dist/it-IT.mjs.map +1 -1
- package/dist/ja-JP.cjs +10 -2
- package/dist/ja-JP.cjs.map +1 -1
- package/dist/ja-JP.mjs +10 -2
- package/dist/ja-JP.mjs.map +1 -1
- package/dist/ko-KR.cjs +12 -4
- package/dist/ko-KR.cjs.map +1 -1
- package/dist/ko-KR.mjs +12 -4
- package/dist/ko-KR.mjs.map +1 -1
- package/dist/lt-LT.cjs +9 -4
- package/dist/lt-LT.cjs.map +1 -1
- package/dist/lt-LT.mjs +9 -4
- package/dist/lt-LT.mjs.map +1 -1
- package/dist/lv-LV.cjs +11 -3
- package/dist/lv-LV.cjs.map +1 -1
- package/dist/lv-LV.mjs +11 -3
- package/dist/lv-LV.mjs.map +1 -1
- package/dist/main.cjs +4 -0
- package/dist/main.cjs.map +1 -1
- package/dist/module.mjs +3 -1
- package/dist/module.mjs.map +1 -1
- package/dist/nb-NO.cjs +9 -4
- package/dist/nb-NO.cjs.map +1 -1
- package/dist/nb-NO.mjs +9 -4
- package/dist/nb-NO.mjs.map +1 -1
- package/dist/nl-NL.cjs +10 -2
- package/dist/nl-NL.cjs.map +1 -1
- package/dist/nl-NL.mjs +10 -2
- package/dist/nl-NL.mjs.map +1 -1
- package/dist/pl-PL.cjs +8 -3
- package/dist/pl-PL.cjs.map +1 -1
- package/dist/pl-PL.mjs +8 -3
- package/dist/pl-PL.mjs.map +1 -1
- package/dist/pt-BR.cjs +11 -2
- package/dist/pt-BR.cjs.map +1 -1
- package/dist/pt-BR.mjs +11 -2
- package/dist/pt-BR.mjs.map +1 -1
- package/dist/pt-PT.cjs +11 -2
- package/dist/pt-PT.cjs.map +1 -1
- package/dist/pt-PT.mjs +11 -2
- package/dist/pt-PT.mjs.map +1 -1
- package/dist/ro-RO.cjs +12 -3
- package/dist/ro-RO.cjs.map +1 -1
- package/dist/ro-RO.mjs +12 -3
- package/dist/ro-RO.mjs.map +1 -1
- package/dist/ru-RU.cjs +7 -2
- package/dist/ru-RU.cjs.map +1 -1
- package/dist/ru-RU.mjs +7 -2
- package/dist/ru-RU.mjs.map +1 -1
- package/dist/sk-SK.cjs +7 -2
- package/dist/sk-SK.cjs.map +1 -1
- package/dist/sk-SK.mjs +7 -2
- package/dist/sk-SK.mjs.map +1 -1
- package/dist/sl-SI.cjs +7 -2
- package/dist/sl-SI.cjs.map +1 -1
- package/dist/sl-SI.mjs +7 -2
- package/dist/sl-SI.mjs.map +1 -1
- package/dist/sr-SP.cjs +7 -2
- package/dist/sr-SP.cjs.map +1 -1
- package/dist/sr-SP.mjs +7 -2
- package/dist/sr-SP.mjs.map +1 -1
- package/dist/sv-SE.cjs +11 -2
- package/dist/sv-SE.cjs.map +1 -1
- package/dist/sv-SE.mjs +11 -2
- package/dist/sv-SE.mjs.map +1 -1
- package/dist/tr-TR.cjs +10 -2
- package/dist/tr-TR.cjs.map +1 -1
- package/dist/tr-TR.mjs +10 -2
- package/dist/tr-TR.mjs.map +1 -1
- package/dist/types.d.ts +109 -89
- package/dist/types.d.ts.map +1 -1
- package/dist/uk-UA.cjs +7 -2
- package/dist/uk-UA.cjs.map +1 -1
- package/dist/uk-UA.mjs +7 -2
- package/dist/uk-UA.mjs.map +1 -1
- package/dist/zh-CN.cjs +10 -2
- package/dist/zh-CN.cjs.map +1 -1
- package/dist/zh-CN.mjs +10 -2
- package/dist/zh-CN.mjs.map +1 -1
- package/dist/zh-TW.cjs +10 -2
- package/dist/zh-TW.cjs.map +1 -1
- package/dist/zh-TW.mjs +10 -2
- package/dist/zh-TW.mjs.map +1 -1
- package/icons/Skeleton.cjs +2 -2
- package/icons/Skeleton.css +5 -5
- package/icons/Skeleton.mjs +2 -2
- package/package.json +20 -21
- package/src/Accordion.tsx +5 -8
- package/src/ActionBar.tsx +229 -0
- package/src/ActionButton.tsx +25 -52
- package/src/ActionButtonGroup.tsx +9 -11
- package/src/ActionMenu.tsx +5 -8
- package/src/AlertDialog.tsx +5 -8
- package/src/Avatar.tsx +5 -8
- package/src/AvatarGroup.tsx +5 -8
- package/src/Badge.tsx +5 -8
- package/src/Breadcrumbs.tsx +6 -12
- package/src/Button.tsx +197 -154
- package/src/ButtonGroup.tsx +5 -8
- package/src/CardView.tsx +37 -12
- package/src/Checkbox.tsx +6 -9
- package/src/CheckboxGroup.tsx +6 -9
- package/src/ClearButton.tsx +2 -5
- package/src/CloseButton.tsx +21 -31
- package/src/ColorArea.tsx +5 -8
- package/src/ColorField.tsx +5 -8
- package/src/ColorSlider.tsx +5 -8
- package/src/ColorSwatch.tsx +5 -8
- package/src/ColorSwatchPicker.tsx +5 -8
- package/src/ColorWheel.tsx +5 -8
- package/src/ComboBox.tsx +7 -9
- package/src/Content.tsx +12 -30
- package/src/ContextualHelp.tsx +5 -8
- package/src/CustomDialog.tsx +5 -8
- package/src/Dialog.tsx +6 -9
- package/src/Disclosure.tsx +15 -24
- package/src/Divider.tsx +16 -25
- package/src/DropZone.tsx +5 -8
- package/src/Field.tsx +25 -32
- package/src/Form.tsx +5 -8
- package/src/FullscreenDialog.tsx +5 -8
- package/src/IllustratedMessage.tsx +6 -9
- package/src/Image.tsx +3 -6
- package/src/InlineAlert.tsx +6 -10
- package/src/Link.tsx +13 -21
- package/src/Menu.tsx +69 -33
- package/src/Meter.tsx +13 -23
- package/src/Modal.tsx +22 -52
- package/src/NumberField.tsx +5 -8
- package/src/Picker.tsx +7 -9
- package/src/Popover.tsx +30 -104
- package/src/ProgressBar.tsx +14 -24
- package/src/ProgressCircle.tsx +18 -24
- package/src/Radio.tsx +6 -9
- package/src/RadioGroup.tsx +6 -9
- package/src/RangeSlider.tsx +2 -5
- package/src/SearchField.tsx +5 -8
- package/src/SegmentedControl.tsx +10 -16
- package/src/Slider.tsx +2 -5
- package/src/StatusLight.tsx +6 -9
- package/src/Switch.tsx +6 -9
- package/src/TableView.tsx +53 -50
- package/src/Tabs.tsx +5 -8
- package/src/TagGroup.tsx +7 -14
- package/src/TextField.tsx +20 -28
- package/src/ToggleButton.tsx +7 -9
- package/src/ToggleButtonGroup.tsx +5 -8
- package/src/Tooltip.tsx +30 -51
- package/src/bar-utils.ts +3 -10
- package/src/index.ts +2 -0
- package/src/style-utils.ts +15 -8
- package/style/dist/main.cjs +1 -0
- package/style/dist/main.cjs.map +1 -1
- package/style/dist/module.mjs +2 -2
- package/style/dist/module.mjs.map +1 -1
- package/style/dist/spectrum-theme.cjs +72 -5
- package/style/dist/spectrum-theme.cjs.map +1 -1
- package/style/dist/spectrum-theme.mjs +72 -6
- package/style/dist/spectrum-theme.mjs.map +1 -1
- package/style/dist/style-macro.cjs +13 -1
- package/style/dist/style-macro.cjs.map +1 -1
- package/style/dist/style-macro.mjs +13 -1
- package/style/dist/style-macro.mjs.map +1 -1
- package/style/dist/types.d.ts +50 -29
- package/style/dist/types.d.ts.map +1 -1
- package/style/index.ts +1 -1
- package/style/spectrum-theme.ts +72 -7
- package/style/style-macro.ts +20 -4
- package/style/tokens.ts +30 -0
- package/style/types.ts +1 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@react-spectrum/s2",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.6.0",
|
|
4
4
|
"description": "Spectrum 2 UI components in React",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"repository": {
|
|
@@ -57,33 +57,32 @@
|
|
|
57
57
|
"src"
|
|
58
58
|
],
|
|
59
59
|
"dependencies": {
|
|
60
|
-
"@react-aria/collections": "3.0.0-alpha.
|
|
61
|
-
"@react-aria/i18n": "^3.12.
|
|
62
|
-
"@react-aria/interactions": "^3.
|
|
63
|
-
"@react-aria/
|
|
64
|
-
"@react-
|
|
65
|
-
"@react-
|
|
66
|
-
"@react-stately/
|
|
67
|
-
"@react-
|
|
68
|
-
"@react-
|
|
69
|
-
"@react-types/
|
|
70
|
-
"@react-types/
|
|
71
|
-
"@react-types/
|
|
72
|
-
"@react-types/
|
|
73
|
-
"@react-types/
|
|
60
|
+
"@react-aria/collections": "3.0.0-alpha.7",
|
|
61
|
+
"@react-aria/i18n": "^3.12.5",
|
|
62
|
+
"@react-aria/interactions": "^3.23.0",
|
|
63
|
+
"@react-aria/live-announcer": "^3.4.1",
|
|
64
|
+
"@react-aria/utils": "^3.27.0",
|
|
65
|
+
"@react-spectrum/utils": "^3.12.1",
|
|
66
|
+
"@react-stately/layout": "^4.1.1",
|
|
67
|
+
"@react-stately/utils": "^3.10.5",
|
|
68
|
+
"@react-stately/virtualizer": "^4.2.1",
|
|
69
|
+
"@react-types/color": "^3.0.2",
|
|
70
|
+
"@react-types/dialog": "^3.5.15",
|
|
71
|
+
"@react-types/grid": "^3.2.11",
|
|
72
|
+
"@react-types/provider": "^3.8.6",
|
|
73
|
+
"@react-types/shared": "^3.27.0",
|
|
74
|
+
"@react-types/table": "^3.10.4",
|
|
75
|
+
"@react-types/textfield": "^3.11.0",
|
|
74
76
|
"csstype": "^3.0.2",
|
|
75
|
-
"react-aria": "^3.
|
|
76
|
-
"react-aria-components": "^1.
|
|
77
|
+
"react-aria": "^3.37.0",
|
|
78
|
+
"react-aria-components": "^1.6.0"
|
|
77
79
|
},
|
|
78
80
|
"peerDependencies": {
|
|
79
|
-
"@testing-library/react": "^15.0.7",
|
|
80
|
-
"@testing-library/user-event": "^13.0.0 || ^14.0.0",
|
|
81
|
-
"jest": "^29.5.0",
|
|
82
81
|
"react": "^18.0.0 || ^19.0.0-rc.1",
|
|
83
82
|
"react-dom": "^18.0.0 || ^19.0.0-rc.1"
|
|
84
83
|
},
|
|
85
84
|
"publishConfig": {
|
|
86
85
|
"access": "public"
|
|
87
86
|
},
|
|
88
|
-
"gitHead": "
|
|
87
|
+
"gitHead": "09e7f44bebdc9d89122926b2b439a0a38a2814ea"
|
|
89
88
|
}
|
package/src/Accordion.tsx
CHANGED
|
@@ -45,7 +45,10 @@ const accordion = style({
|
|
|
45
45
|
|
|
46
46
|
export const AccordionContext = createContext<ContextValue<AccordionProps, DOMRefValue<HTMLDivElement>>>(null);
|
|
47
47
|
|
|
48
|
-
|
|
48
|
+
/**
|
|
49
|
+
* An accordion is a container for multiple disclosures.
|
|
50
|
+
*/
|
|
51
|
+
export const Accordion = forwardRef(function Accordion(props: AccordionProps, ref: DOMRef<HTMLDivElement>) {
|
|
49
52
|
[props, ref] = useSpectrumContextProps(props, ref, AccordionContext);
|
|
50
53
|
let domRef = useDOMRef(ref);
|
|
51
54
|
let {
|
|
@@ -66,10 +69,4 @@ function Accordion(props: AccordionProps, ref: DOMRef<HTMLDivElement>) {
|
|
|
66
69
|
</DisclosureGroup>
|
|
67
70
|
</DisclosureContext.Provider>
|
|
68
71
|
);
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
/**
|
|
72
|
-
* An accordion is a container for multiple disclosures.
|
|
73
|
-
*/
|
|
74
|
-
let _Accordion = forwardRef(Accordion);
|
|
75
|
-
export {_Accordion as Accordion};
|
|
72
|
+
});
|
|
@@ -0,0 +1,229 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2024 Adobe. All rights reserved.
|
|
3
|
+
* This file is licensed to you under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
* you may not use this file except in compliance with the License. You may obtain a copy
|
|
5
|
+
* of the License at http://www.apache.org/licenses/LICENSE-2.0
|
|
6
|
+
*
|
|
7
|
+
* Unless required by applicable law or agreed to in writing, software distributed under
|
|
8
|
+
* the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
|
|
9
|
+
* OF ANY KIND, either express or implied. See the License for the specific language
|
|
10
|
+
* governing permissions and limitations under the License.
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
import {ActionButtonGroup} from './ActionButtonGroup';
|
|
14
|
+
import {announce} from '@react-aria/live-announcer';
|
|
15
|
+
import {CloseButton} from './CloseButton';
|
|
16
|
+
import {ContextValue, SlotProps} from 'react-aria-components';
|
|
17
|
+
import {createContext, ForwardedRef, forwardRef, ReactElement, ReactNode, RefObject, useCallback, useEffect, useMemo, useRef, useState} from 'react';
|
|
18
|
+
import {DOMRef, DOMRefValue, Key} from '@react-types/shared';
|
|
19
|
+
import {FocusScope, useKeyboard} from 'react-aria';
|
|
20
|
+
// @ts-ignore
|
|
21
|
+
import intlMessages from '../intl/*.json';
|
|
22
|
+
import {style} from '../style' with {type: 'macro'};
|
|
23
|
+
import {useControlledState} from '@react-stately/utils';
|
|
24
|
+
import {useDOMRef} from '@react-spectrum/utils';
|
|
25
|
+
import {useEnterAnimation, useExitAnimation, useObjectRef, useResizeObserver} from '@react-aria/utils';
|
|
26
|
+
import {useLocalizedStringFormatter} from '@react-aria/i18n';
|
|
27
|
+
import {useSpectrumContextProps} from './useSpectrumContextProps';
|
|
28
|
+
|
|
29
|
+
const actionBarStyles = style({
|
|
30
|
+
borderRadius: 'lg',
|
|
31
|
+
'--s2-container-bg': {
|
|
32
|
+
type: 'backgroundColor',
|
|
33
|
+
value: {
|
|
34
|
+
default: 'elevated',
|
|
35
|
+
isEmphasized: 'neutral'
|
|
36
|
+
}
|
|
37
|
+
},
|
|
38
|
+
backgroundColor: '--s2-container-bg',
|
|
39
|
+
boxShadow: 'elevated',
|
|
40
|
+
boxSizing: 'border-box',
|
|
41
|
+
outlineStyle: 'solid',
|
|
42
|
+
outlineWidth: 1,
|
|
43
|
+
outlineOffset: -1,
|
|
44
|
+
outlineColor: {
|
|
45
|
+
default: 'gray-200',
|
|
46
|
+
isEmphasized: 'transparent',
|
|
47
|
+
forcedColors: 'ButtonBorder'
|
|
48
|
+
},
|
|
49
|
+
paddingX: 8,
|
|
50
|
+
paddingY: 12,
|
|
51
|
+
display: 'flex',
|
|
52
|
+
gap: 16,
|
|
53
|
+
alignItems: 'center',
|
|
54
|
+
position: {
|
|
55
|
+
isInContainer: 'absolute'
|
|
56
|
+
},
|
|
57
|
+
bottom: 0,
|
|
58
|
+
insetStart: 8,
|
|
59
|
+
'--insetEnd': {
|
|
60
|
+
type: 'insetEnd',
|
|
61
|
+
value: 8
|
|
62
|
+
},
|
|
63
|
+
width: {
|
|
64
|
+
default: 'full',
|
|
65
|
+
isInContainer: 'auto'
|
|
66
|
+
},
|
|
67
|
+
marginX: 'auto',
|
|
68
|
+
maxWidth: 960,
|
|
69
|
+
transition: 'transform',
|
|
70
|
+
transitionDuration: 200,
|
|
71
|
+
translateY: {
|
|
72
|
+
default: -8,
|
|
73
|
+
isEntering: 'full',
|
|
74
|
+
isExiting: 'full'
|
|
75
|
+
}
|
|
76
|
+
});
|
|
77
|
+
|
|
78
|
+
export interface ActionBarProps extends SlotProps {
|
|
79
|
+
/** A list of ActionButtons to display. */
|
|
80
|
+
children: ReactNode,
|
|
81
|
+
/** Whether the ActionBar should be displayed with a emphasized style. */
|
|
82
|
+
isEmphasized?: boolean,
|
|
83
|
+
/** The number of selected items that the ActionBar is currently linked to. If 0, the ActionBar is hidden. */
|
|
84
|
+
selectedItemCount?: number | 'all',
|
|
85
|
+
/** Handler that is called when the ActionBar clear button is pressed. */
|
|
86
|
+
onClearSelection?: () => void,
|
|
87
|
+
/** A ref to the scrollable element the ActionBar appears above. */
|
|
88
|
+
scrollRef?: RefObject<HTMLElement | null>
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
export const ActionBarContext = createContext<ContextValue<Partial<ActionBarProps>, DOMRefValue<HTMLDivElement>>>(null);
|
|
92
|
+
|
|
93
|
+
export const ActionBar = forwardRef(function ActionBar(props: ActionBarProps, ref: DOMRef<HTMLDivElement>) {
|
|
94
|
+
[props, ref] = useSpectrumContextProps(props, ref, ActionBarContext);
|
|
95
|
+
let domRef = useDOMRef(ref);
|
|
96
|
+
|
|
97
|
+
let isOpen = props.selectedItemCount !== 0;
|
|
98
|
+
let isExiting = useExitAnimation(domRef, isOpen && props.scrollRef != null);
|
|
99
|
+
if (!isOpen && !isExiting) {
|
|
100
|
+
return null;
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
return <ActionBarInner {...props} ref={domRef} isExiting={isExiting} />;
|
|
104
|
+
});
|
|
105
|
+
|
|
106
|
+
const ActionBarInner = forwardRef(function ActionBarInner(props: ActionBarProps & {isExiting: boolean}, ref: ForwardedRef<HTMLDivElement | null>) {
|
|
107
|
+
let {isEmphasized, selectedItemCount = 0, children, onClearSelection, isExiting} = props;
|
|
108
|
+
let stringFormatter = useLocalizedStringFormatter(intlMessages, '@react-spectrum/s2');
|
|
109
|
+
|
|
110
|
+
// Store the last count greater than zero so that we can retain it while rendering the fade-out animation.
|
|
111
|
+
let [lastCount, setLastCount] = useState(selectedItemCount);
|
|
112
|
+
if ((selectedItemCount === 'all' || selectedItemCount > 0) && selectedItemCount !== lastCount) {
|
|
113
|
+
setLastCount(selectedItemCount);
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
// Measure the width of the collection's scrollbar and offset the action bar by that amount.
|
|
117
|
+
let scrollRef = props.scrollRef;
|
|
118
|
+
let [scrollbarWidth, setScrollbarWidth] = useState(0);
|
|
119
|
+
let updateScrollbarWidth = useCallback(() => {
|
|
120
|
+
let el = scrollRef?.current;
|
|
121
|
+
if (el) {
|
|
122
|
+
let w = el.offsetWidth - el.clientWidth;
|
|
123
|
+
setScrollbarWidth(w);
|
|
124
|
+
}
|
|
125
|
+
}, [scrollRef]);
|
|
126
|
+
|
|
127
|
+
useResizeObserver({
|
|
128
|
+
ref: scrollRef,
|
|
129
|
+
onResize: updateScrollbarWidth
|
|
130
|
+
});
|
|
131
|
+
|
|
132
|
+
let {keyboardProps} = useKeyboard({
|
|
133
|
+
onKeyDown(e) {
|
|
134
|
+
if (e.key === 'Escape') {
|
|
135
|
+
e.preventDefault();
|
|
136
|
+
onClearSelection?.();
|
|
137
|
+
} else {
|
|
138
|
+
e.continuePropagation();
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
});
|
|
142
|
+
|
|
143
|
+
// Announce "actions available" on mount.
|
|
144
|
+
let isInitial = useRef(true);
|
|
145
|
+
useEffect(() => {
|
|
146
|
+
if (isInitial.current && scrollRef) {
|
|
147
|
+
isInitial.current = false;
|
|
148
|
+
announce(stringFormatter.format('actionbar.actionsAvailable'));
|
|
149
|
+
}
|
|
150
|
+
}, [stringFormatter, scrollRef]);
|
|
151
|
+
|
|
152
|
+
let objectRef = useObjectRef(ref);
|
|
153
|
+
let isEntering = useEnterAnimation(objectRef, !!scrollRef);
|
|
154
|
+
|
|
155
|
+
return (
|
|
156
|
+
<FocusScope restoreFocus>
|
|
157
|
+
<div
|
|
158
|
+
ref={objectRef}
|
|
159
|
+
{...keyboardProps}
|
|
160
|
+
className={actionBarStyles({isEmphasized, isInContainer: !!scrollRef, isEntering, isExiting})}
|
|
161
|
+
style={{insetInlineEnd: `calc(var(--insetEnd) + ${scrollbarWidth}px)`}}>
|
|
162
|
+
<div className={style({order: 1, marginStart: 'auto'})}>
|
|
163
|
+
<ActionButtonGroup
|
|
164
|
+
staticColor={isEmphasized ? 'auto' : undefined}
|
|
165
|
+
isQuiet
|
|
166
|
+
aria-label={stringFormatter.format('actionbar.actions')}>
|
|
167
|
+
{children}
|
|
168
|
+
</ActionButtonGroup>
|
|
169
|
+
</div>
|
|
170
|
+
<div className={style({order: 0, display: 'flex', alignItems: 'center', gap: 4})}>
|
|
171
|
+
<CloseButton
|
|
172
|
+
staticColor={isEmphasized ? 'auto' : undefined}
|
|
173
|
+
aria-label={stringFormatter.format('actionbar.clearSelection')}
|
|
174
|
+
onPress={() => onClearSelection?.()} />
|
|
175
|
+
<span className={style({font: 'ui', color: {default: 'neutral', isEmphasized: 'gray-25'}})({isEmphasized})}>
|
|
176
|
+
{lastCount === 'all'
|
|
177
|
+
? stringFormatter.format('actionbar.selectedAll')
|
|
178
|
+
: stringFormatter.format('actionbar.selected', {count: lastCount})}
|
|
179
|
+
</span>
|
|
180
|
+
</div>
|
|
181
|
+
</div>
|
|
182
|
+
</FocusScope>
|
|
183
|
+
);
|
|
184
|
+
});
|
|
185
|
+
|
|
186
|
+
interface ActionBarContainerHookProps {
|
|
187
|
+
selectedKeys?: 'all' | Iterable<Key>,
|
|
188
|
+
defaultSelectedKeys?: 'all' | Iterable<Key>,
|
|
189
|
+
onSelectionChange?: (keys: Set<Key>) => void,
|
|
190
|
+
renderActionBar?: (selectedKeys: 'all' | Set<Key>) => ReactElement,
|
|
191
|
+
scrollRef?: RefObject<HTMLElement | null>
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
export function useActionBarContainer(props: ActionBarContainerHookProps) {
|
|
195
|
+
let {renderActionBar, scrollRef} = props;
|
|
196
|
+
let [selectedKeys, setSelectedKeys] = useControlledState(props.selectedKeys, props.defaultSelectedKeys || new Set(), props.onSelectionChange);
|
|
197
|
+
let selectedKeysSet = useMemo(() => selectedKeys === 'all' ? selectedKeys as 'all' : new Set(selectedKeys), [selectedKeys]);
|
|
198
|
+
let actionBar = useMemo(() => renderActionBar?.(selectedKeysSet), [renderActionBar, selectedKeysSet]);
|
|
199
|
+
let selectedItemCount = selectedKeysSet === 'all' ? 'all' as const : selectedKeysSet.size;
|
|
200
|
+
let [actionBarHeight, setActionBarHeight] = useState(0);
|
|
201
|
+
let actionBarRef = useCallback((ref: DOMRefValue | null) => {
|
|
202
|
+
let actionBar = ref?.UNSAFE_getDOMNode();
|
|
203
|
+
if (actionBar) {
|
|
204
|
+
setActionBarHeight(actionBar.offsetHeight + 8);
|
|
205
|
+
} else {
|
|
206
|
+
setActionBarHeight(0);
|
|
207
|
+
}
|
|
208
|
+
}, []);
|
|
209
|
+
|
|
210
|
+
let actionBarContext = useMemo(() => ({
|
|
211
|
+
ref: actionBarRef,
|
|
212
|
+
scrollRef,
|
|
213
|
+
selectedItemCount,
|
|
214
|
+
onClearSelection: () => setSelectedKeys(new Set())
|
|
215
|
+
}), [scrollRef, actionBarRef, selectedItemCount, setSelectedKeys]);
|
|
216
|
+
|
|
217
|
+
let wrappedActionBar = useMemo(() => (
|
|
218
|
+
<ActionBarContext.Provider value={actionBarContext}>
|
|
219
|
+
{actionBar}
|
|
220
|
+
</ActionBarContext.Provider>
|
|
221
|
+
), [actionBarContext, actionBar]);
|
|
222
|
+
|
|
223
|
+
return {
|
|
224
|
+
selectedKeys,
|
|
225
|
+
onSelectionChange: setSelectedKeys,
|
|
226
|
+
actionBar: wrappedActionBar,
|
|
227
|
+
actionBarHeight
|
|
228
|
+
};
|
|
229
|
+
}
|
package/src/ActionButton.tsx
CHANGED
|
@@ -17,7 +17,7 @@ import {ButtonProps, ButtonRenderProps, ContextValue, OverlayTriggerStateContext
|
|
|
17
17
|
import {centerBaseline} from './CenterBaseline';
|
|
18
18
|
import {createContext, forwardRef, ReactNode, useContext} from 'react';
|
|
19
19
|
import {FocusableRef, FocusableRefValue} from '@react-types/shared';
|
|
20
|
-
import {getAllowedOverrides, StyleProps} from './style-utils' with { type: 'macro' };
|
|
20
|
+
import {getAllowedOverrides, staticColor, StyleProps} from './style-utils' with { type: 'macro' };
|
|
21
21
|
import {IconContext} from './Icon';
|
|
22
22
|
import {pressScale} from './pressScale';
|
|
23
23
|
import {SkeletonContext} from './Skeleton';
|
|
@@ -34,7 +34,7 @@ export interface ActionButtonStyleProps {
|
|
|
34
34
|
*/
|
|
35
35
|
size?: 'XS' | 'S' | 'M' | 'L' | 'XL',
|
|
36
36
|
/** The static color style to apply. Useful when the ActionButton appears over a color background. */
|
|
37
|
-
staticColor?: 'black' | 'white',
|
|
37
|
+
staticColor?: 'black' | 'white' | 'auto',
|
|
38
38
|
/** Whether the button should be displayed with a [quiet style](https://spectrum.adobe.com/page/action-button/#Quiet). */
|
|
39
39
|
isQuiet?: boolean
|
|
40
40
|
}
|
|
@@ -59,8 +59,9 @@ export interface ActionButtonProps extends Omit<ButtonProps, 'className' | 'styl
|
|
|
59
59
|
|
|
60
60
|
// These styles handle both ActionButton and ToggleButton
|
|
61
61
|
const iconOnly = ':has([slot=icon], [slot=avatar]):not(:has([data-rsp-slot=text]))';
|
|
62
|
-
export const btnStyles = style<ButtonRenderProps & ActionButtonStyleProps & ToggleButtonStyleProps & ActionGroupItemStyleProps & {isInGroup: boolean}>({
|
|
62
|
+
export const btnStyles = style<ButtonRenderProps & ActionButtonStyleProps & ToggleButtonStyleProps & ActionGroupItemStyleProps & {isInGroup: boolean, isStaticColor: boolean}>({
|
|
63
63
|
...focusRing(),
|
|
64
|
+
...staticColor(),
|
|
64
65
|
display: 'flex',
|
|
65
66
|
alignItems: 'center',
|
|
66
67
|
justifyContent: 'center',
|
|
@@ -98,33 +99,17 @@ export const btnStyles = style<ButtonRenderProps & ActionButtonStyleProps & Togg
|
|
|
98
99
|
isQuiet: 'transparent'
|
|
99
100
|
}
|
|
100
101
|
},
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
default:
|
|
105
|
-
|
|
106
|
-
isQuiet: 'transparent'
|
|
107
|
-
},
|
|
108
|
-
isSelected: {
|
|
109
|
-
default: baseColor('transparent-white-800'),
|
|
110
|
-
isDisabled: {
|
|
111
|
-
default: 'transparent-white-100',
|
|
112
|
-
isQuiet: 'transparent'
|
|
113
|
-
}
|
|
114
|
-
}
|
|
102
|
+
isStaticColor: {
|
|
103
|
+
...baseColor('transparent-overlay-100'),
|
|
104
|
+
default: {
|
|
105
|
+
default: 'transparent-overlay-100',
|
|
106
|
+
isQuiet: 'transparent'
|
|
115
107
|
},
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
default: 'transparent-
|
|
108
|
+
isSelected: {
|
|
109
|
+
default: baseColor('transparent-overlay-800'),
|
|
110
|
+
isDisabled: {
|
|
111
|
+
default: 'transparent-overlay-100',
|
|
120
112
|
isQuiet: 'transparent'
|
|
121
|
-
},
|
|
122
|
-
isSelected: {
|
|
123
|
-
default: baseColor('transparent-black-800'),
|
|
124
|
-
isDisabled: {
|
|
125
|
-
default: 'transparent-black-100',
|
|
126
|
-
isQuiet: 'transparent'
|
|
127
|
-
}
|
|
128
113
|
}
|
|
129
114
|
}
|
|
130
115
|
},
|
|
@@ -143,17 +128,10 @@ export const btnStyles = style<ButtonRenderProps & ActionButtonStyleProps & Togg
|
|
|
143
128
|
isEmphasized: 'white'
|
|
144
129
|
},
|
|
145
130
|
isDisabled: 'disabled',
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
isDisabled: 'transparent-white-400'
|
|
151
|
-
},
|
|
152
|
-
black: {
|
|
153
|
-
default: baseColor('transparent-black-800'),
|
|
154
|
-
isSelected: 'white',
|
|
155
|
-
isDisabled: 'transparent-black-400'
|
|
156
|
-
}
|
|
131
|
+
isStaticColor: {
|
|
132
|
+
default: baseColor('transparent-overlay-800'),
|
|
133
|
+
isSelected: 'auto',
|
|
134
|
+
isDisabled: 'transparent-overlay-400'
|
|
157
135
|
},
|
|
158
136
|
forcedColors: {
|
|
159
137
|
default: 'ButtonText',
|
|
@@ -169,10 +147,7 @@ export const btnStyles = style<ButtonRenderProps & ActionButtonStyleProps & Togg
|
|
|
169
147
|
},
|
|
170
148
|
outlineColor: {
|
|
171
149
|
default: 'focus-ring',
|
|
172
|
-
|
|
173
|
-
white: 'white',
|
|
174
|
-
black: 'black'
|
|
175
|
-
},
|
|
150
|
+
isStaticColor: 'transparent-overlay-1000',
|
|
176
151
|
forcedColors: 'Highlight'
|
|
177
152
|
},
|
|
178
153
|
borderStyle: 'none',
|
|
@@ -255,7 +230,11 @@ const avatarSize = {
|
|
|
255
230
|
|
|
256
231
|
export const ActionButtonContext = createContext<ContextValue<ActionButtonProps, FocusableRefValue<HTMLButtonElement>>>(null);
|
|
257
232
|
|
|
258
|
-
|
|
233
|
+
/**
|
|
234
|
+
* ActionButtons allow users to perform an action.
|
|
235
|
+
* They’re used for similar, task-based options within a workflow, and are ideal for interfaces where buttons aren’t meant to draw a lot of attention.
|
|
236
|
+
*/
|
|
237
|
+
export const ActionButton = forwardRef(function ActionButton(props: ActionButtonProps, ref: FocusableRef<HTMLButtonElement>) {
|
|
259
238
|
[props, ref] = useSpectrumContextProps(props, ref, ActionButtonContext);
|
|
260
239
|
props = useFormProps(props as any);
|
|
261
240
|
let domRef = useFocusableRef(ref);
|
|
@@ -283,6 +262,7 @@ function ActionButton(props: ActionButtonProps, ref: FocusableRef<HTMLButtonElem
|
|
|
283
262
|
// Retain hover styles when an overlay is open.
|
|
284
263
|
isHovered: renderProps.isHovered || overlayTriggerState?.isOpen || false,
|
|
285
264
|
staticColor,
|
|
265
|
+
isStaticColor: !!staticColor,
|
|
286
266
|
size,
|
|
287
267
|
isQuiet,
|
|
288
268
|
density,
|
|
@@ -307,11 +287,4 @@ function ActionButton(props: ActionButtonProps, ref: FocusableRef<HTMLButtonElem
|
|
|
307
287
|
</Provider>
|
|
308
288
|
</RACButton>
|
|
309
289
|
);
|
|
310
|
-
}
|
|
311
|
-
|
|
312
|
-
/**
|
|
313
|
-
* ActionButtons allow users to perform an action.
|
|
314
|
-
* They’re used for similar, task-based options within a workflow, and are ideal for interfaces where buttons aren’t meant to draw a lot of attention.
|
|
315
|
-
*/
|
|
316
|
-
let _ActionButton = forwardRef(ActionButton);
|
|
317
|
-
export {_ActionButton as ActionButton};
|
|
290
|
+
});
|
|
@@ -10,13 +10,14 @@
|
|
|
10
10
|
* governing permissions and limitations under the License.
|
|
11
11
|
*/
|
|
12
12
|
|
|
13
|
+
import {AriaLabelingProps} from '@react-types/shared';
|
|
13
14
|
import {ContextValue, SlotProps, Toolbar} from 'react-aria-components';
|
|
14
15
|
import {createContext, ForwardedRef, forwardRef, ReactNode} from 'react';
|
|
15
16
|
import {getAllowedOverrides, StylesPropWithHeight, UnsafeStyles} from './style-utils' with {type: 'macro'};
|
|
16
17
|
import {style} from '../style' with {type: 'macro'};
|
|
17
18
|
import {useSpectrumContextProps} from './useSpectrumContextProps';
|
|
18
19
|
|
|
19
|
-
export interface ActionButtonGroupProps extends UnsafeStyles, SlotProps {
|
|
20
|
+
export interface ActionButtonGroupProps extends AriaLabelingProps, UnsafeStyles, SlotProps {
|
|
20
21
|
/** Spectrum-defined styles, returned by the `style()` macro. */
|
|
21
22
|
styles?: StylesPropWithHeight,
|
|
22
23
|
/** The children of the group. */
|
|
@@ -36,7 +37,7 @@ export interface ActionButtonGroupProps extends UnsafeStyles, SlotProps {
|
|
|
36
37
|
/** Whether the buttons should divide the container width equally. */
|
|
37
38
|
isJustified?: boolean,
|
|
38
39
|
/** Whether the button should be displayed with an [emphasized style](https://spectrum.adobe.com/page/action-button/#Emphasis). */
|
|
39
|
-
staticColor?: 'white' | 'black',
|
|
40
|
+
staticColor?: 'white' | 'black' | 'auto',
|
|
40
41
|
/**
|
|
41
42
|
* The axis the group should align with.
|
|
42
43
|
* @default 'horizontal'
|
|
@@ -71,9 +72,12 @@ export const actionGroupStyle = style({
|
|
|
71
72
|
}, getAllowedOverrides({height: true}));
|
|
72
73
|
|
|
73
74
|
|
|
74
|
-
export const ActionButtonGroupContext = createContext<ContextValue<ActionButtonGroupProps
|
|
75
|
+
export const ActionButtonGroupContext = createContext<ContextValue<Partial<ActionButtonGroupProps>, HTMLDivElement>>(null);
|
|
75
76
|
|
|
76
|
-
|
|
77
|
+
/**
|
|
78
|
+
* An ActionButtonGroup is a grouping of related ActionButtons.
|
|
79
|
+
*/
|
|
80
|
+
export const ActionButtonGroup = forwardRef(function ActionButtonGroup(props: ActionButtonGroupProps, ref: ForwardedRef<HTMLDivElement>) {
|
|
77
81
|
[props, ref] = useSpectrumContextProps(props, ref, ActionButtonGroupContext);
|
|
78
82
|
let {
|
|
79
83
|
density = 'regular',
|
|
@@ -97,10 +101,4 @@ function ActionButtonGroup(props: ActionButtonGroupProps, ref: ForwardedRef<HTML
|
|
|
97
101
|
</ActionButtonGroupContext.Provider>
|
|
98
102
|
</Toolbar>
|
|
99
103
|
);
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
/**
|
|
103
|
-
* An ActionButtonGroup is a grouping of related ActionButtons.
|
|
104
|
-
*/
|
|
105
|
-
const _ActionButtonGroup = forwardRef(ActionButtonGroup);
|
|
106
|
-
export {_ActionButtonGroup as ActionButtonGroup};
|
|
104
|
+
});
|
package/src/ActionMenu.tsx
CHANGED
|
@@ -34,7 +34,10 @@ export interface ActionMenuProps<T> extends
|
|
|
34
34
|
|
|
35
35
|
export const ActionMenuContext = createContext<ContextValue<ActionMenuProps<any>, FocusableRefValue<HTMLButtonElement>>>(null);
|
|
36
36
|
|
|
37
|
-
|
|
37
|
+
/**
|
|
38
|
+
* ActionMenu combines an ActionButton with a Menu for simple "more actions" use cases.
|
|
39
|
+
*/
|
|
40
|
+
export const ActionMenu = /*#__PURE__*/(forwardRef as forwardRefType)(function ActionMenu<T extends object>(props: ActionMenuProps<T>, ref: FocusableRef<HTMLButtonElement>) {
|
|
38
41
|
let stringFormatter = useLocalizedStringFormatter(intlMessages, '@react-spectrum/s2');
|
|
39
42
|
[props, ref] = useSpectrumContextProps(props, ref, ActionMenuContext);
|
|
40
43
|
let buttonProps = filterDOMProps(props, {labelable: true});
|
|
@@ -69,10 +72,4 @@ function ActionMenu<T extends object>(props: ActionMenuProps<T>, ref: FocusableR
|
|
|
69
72
|
</Menu>
|
|
70
73
|
</MenuTrigger>
|
|
71
74
|
);
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
/**
|
|
75
|
-
* ActionMenu combines an ActionButton with a Menu for simple "more actions" use cases.
|
|
76
|
-
*/
|
|
77
|
-
let _ActionMenu = /*#__PURE__*/(forwardRef as forwardRefType)(ActionMenu);
|
|
78
|
-
export {_ActionMenu as ActionMenu};
|
|
75
|
+
});
|
package/src/AlertDialog.tsx
CHANGED
|
@@ -74,7 +74,10 @@ const icon = style({
|
|
|
74
74
|
}
|
|
75
75
|
});
|
|
76
76
|
|
|
77
|
-
|
|
77
|
+
/**
|
|
78
|
+
* AlertDialogs are a specific type of Dialog. They display important information that users need to acknowledge.
|
|
79
|
+
*/
|
|
80
|
+
export const AlertDialog = forwardRef(function AlertDialog(props: AlertDialogProps, ref: DOMRef) {
|
|
78
81
|
let stringFormatter = useLocalizedStringFormatter(intlMessages, '@react-spectrum/s2');
|
|
79
82
|
let {
|
|
80
83
|
autoFocusButton,
|
|
@@ -152,10 +155,4 @@ function AlertDialog(props: AlertDialogProps, ref: DOMRef) {
|
|
|
152
155
|
)}
|
|
153
156
|
</Dialog>
|
|
154
157
|
);
|
|
155
|
-
}
|
|
156
|
-
|
|
157
|
-
/**
|
|
158
|
-
* AlertDialogs are a specific type of Dialog. They display important information that users need to acknowledge.
|
|
159
|
-
*/
|
|
160
|
-
let _AlertDialog = forwardRef(AlertDialog);
|
|
161
|
-
export {_AlertDialog as AlertDialog};
|
|
158
|
+
});
|
package/src/Avatar.tsx
CHANGED
|
@@ -55,7 +55,10 @@ const imageStyles = style({
|
|
|
55
55
|
|
|
56
56
|
export const AvatarContext = createContext<ContextValue<AvatarProps, DOMRefValue<HTMLImageElement>>>(null);
|
|
57
57
|
|
|
58
|
-
|
|
58
|
+
/**
|
|
59
|
+
* An avatar is a thumbnail representation of an entity, such as a user or an organization.
|
|
60
|
+
*/
|
|
61
|
+
export const Avatar = forwardRef(function Avatar(props: AvatarProps, ref: DOMRef<HTMLImageElement>) {
|
|
59
62
|
[props, ref] = useSpectrumContextProps(props, ref, AvatarContext);
|
|
60
63
|
let domRef = useDOMRef(ref);
|
|
61
64
|
let {
|
|
@@ -87,10 +90,4 @@ function Avatar(props: AvatarProps, ref: DOMRef<HTMLImageElement>) {
|
|
|
87
90
|
styles={imageStyles({isOverBackground, isLarge}, props.styles)}
|
|
88
91
|
src={src} />
|
|
89
92
|
);
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
/**
|
|
93
|
-
* An avatar is a thumbnail representation of an entity, such as a user or an organization.
|
|
94
|
-
*/
|
|
95
|
-
let _Avatar = forwardRef(Avatar);
|
|
96
|
-
export {_Avatar as Avatar};
|
|
93
|
+
});
|
package/src/AvatarGroup.tsx
CHANGED
|
@@ -65,7 +65,10 @@ const container = style({
|
|
|
65
65
|
alignItems: 'center'
|
|
66
66
|
}, getAllowedOverrides({width: false}));
|
|
67
67
|
|
|
68
|
-
|
|
68
|
+
/**
|
|
69
|
+
* An avatar group is a grouping of avatars that are related to each other.
|
|
70
|
+
*/
|
|
71
|
+
export const AvatarGroup = forwardRef(function AvatarGroup(props: AvatarGroupProps, ref: DOMRef<HTMLDivElement>) {
|
|
69
72
|
[props, ref] = useSpectrumContextProps(props, ref, AvatarGroupContext);
|
|
70
73
|
let domRef = useDOMRef(ref);
|
|
71
74
|
let {children, label, size = 24, styles, UNSAFE_style, UNSAFE_className, ...otherProps} = props;
|
|
@@ -91,10 +94,4 @@ function AvatarGroup(props: AvatarGroupProps, ref: DOMRef<HTMLDivElement>) {
|
|
|
91
94
|
</div>
|
|
92
95
|
</AvatarContext.Provider>
|
|
93
96
|
);
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
/**
|
|
97
|
-
* An avatar group is a grouping of avatars that are related to each other.
|
|
98
|
-
*/
|
|
99
|
-
let _AvatarGroup = forwardRef(AvatarGroup);
|
|
100
|
-
export {_AvatarGroup as AvatarGroup};
|
|
97
|
+
});
|
package/src/Badge.tsx
CHANGED
|
@@ -181,7 +181,10 @@ const badge = style<BadgeStyleProps>({
|
|
|
181
181
|
}
|
|
182
182
|
}, getAllowedOverrides());
|
|
183
183
|
|
|
184
|
-
|
|
184
|
+
/**
|
|
185
|
+
* Badges are used for showing a small amount of color-categorized metadata, ideal for getting a user's attention.
|
|
186
|
+
*/
|
|
187
|
+
export const Badge = forwardRef(function Badge(props: BadgeProps, ref: DOMRef<HTMLDivElement>) {
|
|
185
188
|
[props, ref] = useSpectrumContextProps(props, ref, BadgeContext);
|
|
186
189
|
let {
|
|
187
190
|
children,
|
|
@@ -218,10 +221,4 @@ function Badge(props: BadgeProps, ref: DOMRef<HTMLDivElement>) {
|
|
|
218
221
|
</SkeletonWrapper>
|
|
219
222
|
</Provider>
|
|
220
223
|
);
|
|
221
|
-
}
|
|
222
|
-
|
|
223
|
-
/**
|
|
224
|
-
* Badges are used for showing a small amount of color-categorized metadata, ideal for getting a user's attention.
|
|
225
|
-
*/
|
|
226
|
-
let _Badge = forwardRef(Badge);
|
|
227
|
-
export {_Badge as Badge};
|
|
224
|
+
});
|