@react-spectrum/s2 1.3.1 → 1.5.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/exports/Accordion.cjs.map +1 -1
- package/dist/exports/Accordion.mjs.map +1 -1
- package/dist/exports/ActionMenu.cjs.map +1 -1
- package/dist/exports/ActionMenu.mjs.map +1 -1
- package/dist/exports/Card.cjs.map +1 -1
- package/dist/exports/Card.mjs.map +1 -1
- package/dist/exports/CardView.cjs.map +1 -1
- package/dist/exports/CardView.mjs.map +1 -1
- package/dist/exports/CenterBaseline.cjs +12 -0
- package/dist/exports/CenterBaseline.cjs.map +1 -0
- package/dist/exports/CenterBaseline.mjs +7 -0
- package/dist/exports/CenterBaseline.mjs.map +1 -0
- package/dist/exports/ColorArea.cjs.map +1 -1
- package/dist/exports/ColorArea.mjs.map +1 -1
- package/dist/exports/ColorField.cjs.map +1 -1
- package/dist/exports/ColorField.mjs.map +1 -1
- package/dist/exports/ColorSlider.cjs.map +1 -1
- package/dist/exports/ColorSlider.mjs.map +1 -1
- package/dist/exports/ColorSwatch.cjs.map +1 -1
- package/dist/exports/ColorSwatch.mjs.map +1 -1
- package/dist/exports/ColorSwatchPicker.cjs.map +1 -1
- package/dist/exports/ColorSwatchPicker.mjs.map +1 -1
- package/dist/exports/ColorWheel.cjs.map +1 -1
- package/dist/exports/ColorWheel.mjs.map +1 -1
- package/dist/exports/ContextualHelp.cjs.map +1 -1
- package/dist/exports/ContextualHelp.mjs.map +1 -1
- package/dist/exports/Disclosure.cjs.map +1 -1
- package/dist/exports/Disclosure.mjs.map +1 -1
- package/dist/exports/DragPreview.cjs +12 -0
- package/dist/exports/DragPreview.cjs.map +1 -0
- package/dist/exports/DragPreview.mjs +7 -0
- package/dist/exports/DragPreview.mjs.map +1 -0
- package/dist/exports/Icon.cjs.map +1 -1
- package/dist/exports/Icon.mjs.map +1 -1
- package/dist/exports/LabeledValue.cjs +13 -0
- package/dist/exports/LabeledValue.cjs.map +1 -0
- package/dist/exports/LabeledValue.mjs +7 -0
- package/dist/exports/LabeledValue.mjs.map +1 -0
- package/dist/exports/Menu.cjs.map +1 -1
- package/dist/exports/Menu.mjs.map +1 -1
- package/dist/exports/SegmentedControl.cjs.map +1 -1
- package/dist/exports/SegmentedControl.mjs.map +1 -1
- package/dist/exports/Skeleton.cjs +1 -0
- package/dist/exports/Skeleton.cjs.map +1 -1
- package/dist/exports/Skeleton.mjs +2 -2
- package/dist/exports/Skeleton.mjs.map +1 -1
- package/dist/exports/TableView.cjs +1 -0
- package/dist/exports/TableView.cjs.map +1 -1
- package/dist/exports/TableView.mjs +2 -2
- package/dist/exports/TableView.mjs.map +1 -1
- package/dist/exports/TreeView.cjs.map +1 -1
- package/dist/exports/TreeView.mjs.map +1 -1
- package/dist/exports/index.cjs +20 -0
- package/dist/exports/index.cjs.map +1 -1
- package/dist/exports/index.mjs +12 -2
- package/dist/exports/index.mjs.map +1 -1
- package/dist/exports/useAsyncList.cjs.map +1 -1
- package/dist/exports/useAsyncList.mjs.map +1 -1
- package/dist/exports/useDragAndDrop.cjs +21 -0
- package/dist/exports/useDragAndDrop.cjs.map +1 -0
- package/dist/exports/useDragAndDrop.mjs +11 -0
- package/dist/exports/useDragAndDrop.mjs.map +1 -0
- package/dist/private/Accordion.cjs +2 -2
- package/dist/private/Accordion.cjs.map +1 -1
- package/dist/private/Accordion.css +2 -2
- package/dist/private/Accordion.css.map +1 -1
- package/dist/private/Accordion.mjs +2 -2
- package/dist/private/Accordion.mjs.map +1 -1
- package/dist/private/ActionBar.cjs +61 -61
- package/dist/private/ActionBar.cjs.map +1 -1
- package/dist/private/ActionBar.css +58 -58
- package/dist/private/ActionBar.css.map +1 -1
- package/dist/private/ActionBar.mjs +61 -61
- package/dist/private/ActionBar.mjs.map +1 -1
- package/dist/private/ActionButton.cjs +350 -323
- package/dist/private/ActionButton.cjs.map +1 -1
- package/dist/private/ActionButton.css +203 -167
- package/dist/private/ActionButton.css.map +1 -1
- package/dist/private/ActionButton.mjs +351 -324
- package/dist/private/ActionButton.mjs.map +1 -1
- package/dist/private/ActionButtonGroup.cjs +15 -15
- package/dist/private/ActionButtonGroup.cjs.map +1 -1
- package/dist/private/ActionButtonGroup.css +9 -9
- package/dist/private/ActionButtonGroup.css.map +1 -1
- package/dist/private/ActionButtonGroup.mjs +15 -15
- package/dist/private/ActionButtonGroup.mjs.map +1 -1
- package/dist/private/ActionMenu.cjs.map +1 -1
- package/dist/private/ActionMenu.mjs.map +1 -1
- package/dist/private/Add.cjs +10 -10
- package/dist/private/Add.cjs.map +1 -1
- package/dist/private/Add.css +6 -6
- package/dist/private/Add.css.map +1 -1
- package/dist/private/Add.mjs +10 -10
- package/dist/private/Add.mjs.map +1 -1
- package/dist/private/AlertDialog.cjs +3 -3
- package/dist/private/AlertDialog.cjs.map +1 -1
- package/dist/private/AlertDialog.css +3 -3
- package/dist/private/AlertDialog.css.map +1 -1
- package/dist/private/AlertDialog.mjs +3 -3
- package/dist/private/AlertDialog.mjs.map +1 -1
- package/dist/private/Asterisk.cjs +6 -6
- package/dist/private/Asterisk.cjs.map +1 -1
- package/dist/private/Asterisk.css +4 -4
- package/dist/private/Asterisk.css.map +1 -1
- package/dist/private/Asterisk.mjs +6 -6
- package/dist/private/Asterisk.mjs.map +1 -1
- package/dist/private/Avatar.cjs +16 -16
- package/dist/private/Avatar.cjs.map +1 -1
- package/dist/private/Avatar.css +16 -16
- package/dist/private/Avatar.css.map +1 -1
- package/dist/private/Avatar.mjs +16 -16
- package/dist/private/Avatar.mjs.map +1 -1
- package/dist/private/AvatarGroup.cjs +120 -120
- package/dist/private/AvatarGroup.cjs.map +1 -1
- package/dist/private/AvatarGroup.css +31 -31
- package/dist/private/AvatarGroup.css.map +1 -1
- package/dist/private/AvatarGroup.mjs +120 -120
- package/dist/private/AvatarGroup.mjs.map +1 -1
- package/dist/private/Badge.cjs +197 -197
- package/dist/private/Badge.cjs.map +1 -1
- package/dist/private/Badge.css +125 -125
- package/dist/private/Badge.css.map +1 -1
- package/dist/private/Badge.mjs +197 -197
- package/dist/private/Badge.mjs.map +1 -1
- package/dist/private/Breadcrumbs.cjs +234 -234
- package/dist/private/Breadcrumbs.cjs.map +1 -1
- package/dist/private/Breadcrumbs.css +100 -100
- package/dist/private/Breadcrumbs.css.map +1 -1
- package/dist/private/Breadcrumbs.mjs +234 -234
- package/dist/private/Breadcrumbs.mjs.map +1 -1
- package/dist/private/Button.cjs +326 -335
- package/dist/private/Button.cjs.map +1 -1
- package/dist/private/Button.css +172 -180
- package/dist/private/Button.css.map +1 -1
- package/dist/private/Button.mjs +326 -335
- package/dist/private/Button.mjs.map +1 -1
- package/dist/private/ButtonGroup.cjs +23 -20
- package/dist/private/ButtonGroup.cjs.map +1 -1
- package/dist/private/ButtonGroup.css +19 -15
- package/dist/private/ButtonGroup.css.map +1 -1
- package/dist/private/ButtonGroup.mjs +23 -20
- package/dist/private/ButtonGroup.mjs.map +1 -1
- package/dist/private/Calendar.cjs +263 -312
- package/dist/private/Calendar.cjs.map +1 -1
- package/dist/private/Calendar.css +155 -167
- package/dist/private/Calendar.css.map +1 -1
- package/dist/private/Calendar.mjs +266 -315
- package/dist/private/Calendar.mjs.map +1 -1
- package/dist/private/Card.cjs +309 -309
- package/dist/private/Card.cjs.map +1 -1
- package/dist/private/Card.css +206 -206
- package/dist/private/Card.css.map +1 -1
- package/dist/private/Card.mjs +309 -309
- package/dist/private/Card.mjs.map +1 -1
- package/dist/private/CardView.cjs +17 -17
- package/dist/private/CardView.cjs.map +1 -1
- package/dist/private/CardView.css +17 -17
- package/dist/private/CardView.css.map +1 -1
- package/dist/private/CardView.mjs +17 -17
- package/dist/private/CardView.mjs.map +1 -1
- package/dist/private/CenterBaseline.cjs +5 -1
- package/dist/private/CenterBaseline.cjs.map +1 -1
- package/dist/private/CenterBaseline.css +2 -2
- package/dist/private/CenterBaseline.css.map +1 -1
- package/dist/private/CenterBaseline.mjs +5 -1
- package/dist/private/CenterBaseline.mjs.map +1 -1
- package/dist/private/Checkbox.cjs +268 -208
- package/dist/private/Checkbox.cjs.map +1 -1
- package/dist/private/Checkbox.css +170 -98
- package/dist/private/Checkbox.css.map +1 -1
- package/dist/private/Checkbox.mjs +269 -209
- package/dist/private/Checkbox.mjs.map +1 -1
- package/dist/private/CheckboxGroup.cjs +44 -43
- package/dist/private/CheckboxGroup.cjs.map +1 -1
- package/dist/private/CheckboxGroup.css +37 -37
- package/dist/private/CheckboxGroup.css.map +1 -1
- package/dist/private/CheckboxGroup.mjs +44 -43
- package/dist/private/CheckboxGroup.mjs.map +1 -1
- package/dist/private/Checkmark.cjs +12 -12
- package/dist/private/Checkmark.cjs.map +1 -1
- package/dist/private/Checkmark.css +8 -8
- package/dist/private/Checkmark.css.map +1 -1
- package/dist/private/Checkmark.mjs +12 -12
- package/dist/private/Checkmark.mjs.map +1 -1
- package/dist/private/Chevron.cjs +12 -12
- package/dist/private/Chevron.cjs.map +1 -1
- package/dist/private/Chevron.css +10 -10
- package/dist/private/Chevron.css.map +1 -1
- package/dist/private/Chevron.mjs +12 -12
- package/dist/private/Chevron.mjs.map +1 -1
- package/dist/private/ClearButton.cjs +30 -30
- package/dist/private/ClearButton.cjs.map +1 -1
- package/dist/private/ClearButton.css +30 -30
- package/dist/private/ClearButton.css.map +1 -1
- package/dist/private/ClearButton.mjs +30 -30
- package/dist/private/ClearButton.mjs.map +1 -1
- package/dist/private/CloseButton.cjs +52 -57
- package/dist/private/CloseButton.cjs.map +1 -1
- package/dist/private/CloseButton.css +47 -51
- package/dist/private/CloseButton.css.map +1 -1
- package/dist/private/CloseButton.mjs +52 -57
- package/dist/private/CloseButton.mjs.map +1 -1
- package/dist/private/ColorArea.cjs +16 -16
- package/dist/private/ColorArea.cjs.map +1 -1
- package/dist/private/ColorArea.css +16 -16
- package/dist/private/ColorArea.css.map +1 -1
- package/dist/private/ColorArea.mjs +16 -16
- package/dist/private/ColorArea.mjs.map +1 -1
- package/dist/private/ColorField.cjs +44 -33
- package/dist/private/ColorField.cjs.map +1 -1
- package/dist/private/ColorField.css +27 -27
- package/dist/private/ColorField.css.map +1 -1
- package/dist/private/ColorField.mjs +44 -33
- package/dist/private/ColorField.mjs.map +1 -1
- package/dist/private/ColorHandle.cjs +27 -27
- package/dist/private/ColorHandle.cjs.map +1 -1
- package/dist/private/ColorHandle.css +42 -42
- package/dist/private/ColorHandle.css.map +1 -1
- package/dist/private/ColorHandle.mjs +27 -27
- package/dist/private/ColorHandle.mjs.map +1 -1
- package/dist/private/ColorSlider.cjs +113 -109
- package/dist/private/ColorSlider.cjs.map +1 -1
- package/dist/private/ColorSlider.css +52 -52
- package/dist/private/ColorSlider.css.map +1 -1
- package/dist/private/ColorSlider.mjs +113 -109
- package/dist/private/ColorSlider.mjs.map +1 -1
- package/dist/private/ColorSwatch.cjs +29 -29
- package/dist/private/ColorSwatch.cjs.map +1 -1
- package/dist/private/ColorSwatch.css +29 -29
- package/dist/private/ColorSwatch.css.map +1 -1
- package/dist/private/ColorSwatch.mjs +29 -29
- package/dist/private/ColorSwatch.mjs.map +1 -1
- package/dist/private/ColorSwatchPicker.cjs +29 -29
- package/dist/private/ColorSwatchPicker.cjs.map +1 -1
- package/dist/private/ColorSwatchPicker.css +48 -48
- package/dist/private/ColorSwatchPicker.css.map +1 -1
- package/dist/private/ColorSwatchPicker.mjs +29 -29
- package/dist/private/ColorSwatchPicker.mjs.map +1 -1
- package/dist/private/ColorWheel.cjs +26 -26
- package/dist/private/ColorWheel.cjs.map +1 -1
- package/dist/private/ColorWheel.css +17 -17
- package/dist/private/ColorWheel.css.map +1 -1
- package/dist/private/ColorWheel.mjs +26 -26
- package/dist/private/ColorWheel.mjs.map +1 -1
- package/dist/private/ComboBox.cjs +384 -405
- package/dist/private/ComboBox.cjs.map +1 -1
- package/dist/private/ComboBox.css +192 -188
- package/dist/private/ComboBox.css.map +1 -1
- package/dist/private/ComboBox.mjs +385 -406
- package/dist/private/ComboBox.mjs.map +1 -1
- package/dist/private/Content.cjs +2 -1
- package/dist/private/Content.cjs.map +1 -1
- package/dist/private/Content.mjs +2 -1
- package/dist/private/Content.mjs.map +1 -1
- package/dist/private/ContextualHelp.cjs +5 -5
- package/dist/private/ContextualHelp.cjs.map +1 -1
- package/dist/private/ContextualHelp.css +50 -50
- package/dist/private/ContextualHelp.css.map +1 -1
- package/dist/private/ContextualHelp.mjs +5 -5
- package/dist/private/ContextualHelp.mjs.map +1 -1
- package/dist/private/CornerTriangle.cjs +76 -0
- package/dist/private/CornerTriangle.cjs.map +1 -0
- package/dist/private/CornerTriangle.css +26 -0
- package/dist/private/CornerTriangle.css.map +1 -0
- package/dist/private/CornerTriangle.mjs +71 -0
- package/dist/private/CornerTriangle.mjs.map +1 -0
- package/dist/private/Cross.cjs +14 -14
- package/dist/private/Cross.cjs.map +1 -1
- package/dist/private/Cross.css +10 -10
- package/dist/private/Cross.css.map +1 -1
- package/dist/private/Cross.mjs +14 -14
- package/dist/private/Cross.mjs.map +1 -1
- package/dist/private/CustomDialog.cjs +27 -26
- package/dist/private/CustomDialog.cjs.map +1 -1
- package/dist/private/CustomDialog.css +25 -25
- package/dist/private/CustomDialog.css.map +1 -1
- package/dist/private/CustomDialog.mjs +27 -26
- package/dist/private/CustomDialog.mjs.map +1 -1
- package/dist/private/Dash.cjs +10 -10
- package/dist/private/Dash.cjs.map +1 -1
- package/dist/private/Dash.css +6 -6
- package/dist/private/Dash.css.map +1 -1
- package/dist/private/Dash.mjs +10 -10
- package/dist/private/Dash.mjs.map +1 -1
- package/dist/private/DateField.cjs +73 -73
- package/dist/private/DateField.cjs.map +1 -1
- package/dist/private/DateField.css +77 -77
- package/dist/private/DateField.css.map +1 -1
- package/dist/private/DateField.mjs +73 -73
- package/dist/private/DateField.mjs.map +1 -1
- package/dist/private/DatePicker.cjs +172 -172
- package/dist/private/DatePicker.cjs.map +1 -1
- package/dist/private/DatePicker.css +128 -128
- package/dist/private/DatePicker.css.map +1 -1
- package/dist/private/DatePicker.mjs +172 -172
- package/dist/private/DatePicker.mjs.map +1 -1
- package/dist/private/DateRangePicker.cjs +55 -55
- package/dist/private/DateRangePicker.cjs.map +1 -1
- package/dist/private/DateRangePicker.css +59 -59
- package/dist/private/DateRangePicker.css.map +1 -1
- package/dist/private/DateRangePicker.mjs +55 -55
- package/dist/private/DateRangePicker.mjs.map +1 -1
- package/dist/private/Dialog.cjs +21 -18
- package/dist/private/Dialog.cjs.map +1 -1
- package/dist/private/Dialog.css +70 -70
- package/dist/private/Dialog.css.map +1 -1
- package/dist/private/Dialog.mjs +21 -18
- package/dist/private/Dialog.mjs.map +1 -1
- package/dist/private/DialogContainer.cjs.map +1 -1
- package/dist/private/DialogContainer.mjs.map +1 -1
- package/dist/private/DialogTrigger.cjs.map +1 -1
- package/dist/private/DialogTrigger.mjs.map +1 -1
- package/dist/private/Disclosure.cjs +144 -122
- package/dist/private/Disclosure.cjs.map +1 -1
- package/dist/private/Disclosure.css +112 -112
- package/dist/private/Disclosure.css.map +1 -1
- package/dist/private/Disclosure.mjs +144 -122
- package/dist/private/Disclosure.mjs.map +1 -1
- package/dist/private/Divider.cjs +25 -25
- package/dist/private/Divider.cjs.map +1 -1
- package/dist/private/Divider.css +25 -25
- package/dist/private/Divider.css.map +1 -1
- package/dist/private/Divider.mjs +25 -25
- package/dist/private/Divider.mjs.map +1 -1
- package/dist/private/DragHandle.cjs +76 -0
- package/dist/private/DragHandle.cjs.map +1 -0
- package/dist/private/DragHandle.css +26 -0
- package/dist/private/DragHandle.css.map +1 -0
- package/dist/private/DragHandle.mjs +71 -0
- package/dist/private/DragHandle.mjs.map +1 -0
- package/dist/private/DragPreview.cjs +297 -0
- package/dist/private/DragPreview.cjs.map +1 -0
- package/dist/private/DragPreview.css +459 -0
- package/dist/private/DragPreview.css.map +1 -0
- package/dist/private/DragPreview.mjs +288 -0
- package/dist/private/DragPreview.mjs.map +1 -0
- package/dist/private/DropZone.cjs +61 -61
- package/dist/private/DropZone.cjs.map +1 -1
- package/dist/private/DropZone.css +57 -57
- package/dist/private/DropZone.css.map +1 -1
- package/dist/private/DropZone.mjs +61 -61
- package/dist/private/DropZone.mjs.map +1 -1
- package/dist/private/Field.cjs +421 -372
- package/dist/private/Field.cjs.map +1 -1
- package/dist/private/Field.css +206 -154
- package/dist/private/Field.css.map +1 -1
- package/dist/private/Field.mjs +422 -373
- package/dist/private/Field.mjs.map +1 -1
- package/dist/private/Fonts.cjs.map +1 -1
- package/dist/private/Fonts.mjs.map +1 -1
- package/dist/private/Form.cjs +9 -9
- package/dist/private/Form.cjs.map +1 -1
- package/dist/private/Form.css +9 -9
- package/dist/private/Form.css.map +1 -1
- package/dist/private/Form.mjs +9 -9
- package/dist/private/Form.mjs.map +1 -1
- package/dist/private/FullscreenDialog.cjs +7 -6
- package/dist/private/FullscreenDialog.cjs.map +1 -1
- package/dist/private/FullscreenDialog.css +78 -78
- package/dist/private/FullscreenDialog.css.map +1 -1
- package/dist/private/FullscreenDialog.mjs +7 -6
- package/dist/private/FullscreenDialog.mjs.map +1 -1
- package/dist/private/IllustratedMessage.cjs +228 -228
- package/dist/private/IllustratedMessage.cjs.map +1 -1
- package/dist/private/IllustratedMessage.css +72 -72
- package/dist/private/IllustratedMessage.css.map +1 -1
- package/dist/private/IllustratedMessage.mjs +228 -228
- package/dist/private/IllustratedMessage.mjs.map +1 -1
- package/dist/private/Image.cjs +16 -16
- package/dist/private/Image.cjs.map +1 -1
- package/dist/private/Image.css +14 -14
- package/dist/private/Image.css.map +1 -1
- package/dist/private/Image.mjs +16 -16
- package/dist/private/Image.mjs.map +1 -1
- package/dist/private/ImageCoordinator.cjs.map +1 -1
- package/dist/private/ImageCoordinator.mjs.map +1 -1
- package/dist/private/InlineAlert.cjs +100 -100
- package/dist/private/InlineAlert.cjs.map +1 -1
- package/dist/private/InlineAlert.css +76 -76
- package/dist/private/InlineAlert.css.map +1 -1
- package/dist/private/InlineAlert.mjs +100 -100
- package/dist/private/InlineAlert.mjs.map +1 -1
- package/dist/private/LabeledValue.cjs +359 -0
- package/dist/private/LabeledValue.cjs.map +1 -0
- package/dist/private/LabeledValue.css +285 -0
- package/dist/private/LabeledValue.css.map +1 -0
- package/dist/private/LabeledValue.mjs +353 -0
- package/dist/private/LabeledValue.mjs.map +1 -0
- package/dist/private/Link.cjs +49 -49
- package/dist/private/Link.cjs.map +1 -1
- package/dist/private/Link.css +41 -41
- package/dist/private/Link.css.map +1 -1
- package/dist/private/Link.mjs +49 -49
- package/dist/private/Link.mjs.map +1 -1
- package/dist/private/LinkOut.cjs +8 -8
- package/dist/private/LinkOut.cjs.map +1 -1
- package/dist/private/LinkOut.css +8 -8
- package/dist/private/LinkOut.css.map +1 -1
- package/dist/private/LinkOut.mjs +8 -8
- package/dist/private/LinkOut.mjs.map +1 -1
- package/dist/private/ListView.cjs +422 -489
- package/dist/private/ListView.cjs.map +1 -1
- package/dist/private/ListView.css +276 -348
- package/dist/private/ListView.css.map +1 -1
- package/dist/private/ListView.mjs +422 -488
- package/dist/private/ListView.mjs.map +1 -1
- package/dist/private/Menu.cjs +489 -471
- package/dist/private/Menu.cjs.map +1 -1
- package/dist/private/Menu.css +205 -205
- package/dist/private/Menu.css.map +1 -1
- package/dist/private/Menu.mjs +489 -471
- package/dist/private/Menu.mjs.map +1 -1
- package/dist/private/Meter.cjs +153 -153
- package/dist/private/Meter.cjs.map +1 -1
- package/dist/private/Meter.css +91 -91
- package/dist/private/Meter.css.map +1 -1
- package/dist/private/Meter.mjs +153 -153
- package/dist/private/Meter.mjs.map +1 -1
- package/dist/private/Modal.cjs +74 -74
- package/dist/private/Modal.cjs.map +1 -1
- package/dist/private/Modal.css +59 -59
- package/dist/private/Modal.css.map +1 -1
- package/dist/private/Modal.mjs +74 -74
- package/dist/private/Modal.mjs.map +1 -1
- package/dist/private/NotificationBadge.cjs +56 -56
- package/dist/private/NotificationBadge.cjs.map +1 -1
- package/dist/private/NotificationBadge.css +49 -49
- package/dist/private/NotificationBadge.css.map +1 -1
- package/dist/private/NotificationBadge.mjs +56 -56
- package/dist/private/NotificationBadge.mjs.map +1 -1
- package/dist/private/NumberField.cjs +115 -114
- package/dist/private/NumberField.cjs.map +1 -1
- package/dist/private/NumberField.css +99 -99
- package/dist/private/NumberField.css.map +1 -1
- package/dist/private/NumberField.mjs +115 -114
- package/dist/private/NumberField.mjs.map +1 -1
- package/dist/private/Picker.cjs +277 -277
- package/dist/private/Picker.cjs.map +1 -1
- package/dist/private/Picker.css +173 -173
- package/dist/private/Picker.css.map +1 -1
- package/dist/private/Picker.mjs +277 -277
- package/dist/private/Picker.mjs.map +1 -1
- package/dist/private/Popover.cjs +95 -95
- package/dist/private/Popover.cjs.map +1 -1
- package/dist/private/Popover.css +75 -75
- package/dist/private/Popover.css.map +1 -1
- package/dist/private/Popover.mjs +95 -95
- package/dist/private/Popover.mjs.map +1 -1
- package/dist/private/ProgressBar.cjs +163 -163
- package/dist/private/ProgressBar.cjs.map +1 -1
- package/dist/private/ProgressBar.css +99 -99
- package/dist/private/ProgressBar.css.map +1 -1
- package/dist/private/ProgressBar.mjs +163 -163
- package/dist/private/ProgressBar.mjs.map +1 -1
- package/dist/private/ProgressCircle.cjs +34 -31
- package/dist/private/ProgressCircle.cjs.map +1 -1
- package/dist/private/ProgressCircle.css +24 -24
- package/dist/private/ProgressCircle.css.map +1 -1
- package/dist/private/ProgressCircle.mjs +34 -31
- package/dist/private/ProgressCircle.mjs.map +1 -1
- package/dist/private/Provider.cjs +19 -19
- package/dist/private/Provider.cjs.map +1 -1
- package/dist/private/Provider.css +15 -15
- package/dist/private/Provider.css.map +1 -1
- package/dist/private/Provider.mjs +19 -19
- package/dist/private/Provider.mjs.map +1 -1
- package/dist/private/RadioGroup.cjs +251 -203
- package/dist/private/RadioGroup.cjs.map +1 -1
- package/dist/private/RadioGroup.css +167 -135
- package/dist/private/RadioGroup.css.map +1 -1
- package/dist/private/RadioGroup.mjs +252 -204
- package/dist/private/RadioGroup.mjs.map +1 -1
- package/dist/private/RangeCalendar.cjs +19 -17
- package/dist/private/RangeCalendar.cjs.map +1 -1
- package/dist/private/RangeCalendar.css +17 -17
- package/dist/private/RangeCalendar.css.map +1 -1
- package/dist/private/RangeCalendar.mjs +19 -17
- package/dist/private/RangeCalendar.mjs.map +1 -1
- package/dist/private/RangeSlider.cjs +7 -15
- package/dist/private/RangeSlider.cjs.map +1 -1
- package/dist/private/RangeSlider.mjs +8 -16
- package/dist/private/RangeSlider.mjs.map +1 -1
- package/dist/private/S2_CornerTriangleSize100.cjs +26 -0
- package/dist/private/S2_CornerTriangleSize100.cjs.map +1 -0
- package/dist/private/S2_CornerTriangleSize100.mjs +21 -0
- package/dist/private/S2_CornerTriangleSize100.mjs.map +1 -0
- package/dist/private/S2_CornerTriangleSize200.cjs +26 -0
- package/dist/private/S2_CornerTriangleSize200.cjs.map +1 -0
- package/dist/private/S2_CornerTriangleSize200.mjs +21 -0
- package/dist/private/S2_CornerTriangleSize200.mjs.map +1 -0
- package/dist/private/S2_CornerTriangleSize300.cjs +26 -0
- package/dist/private/S2_CornerTriangleSize300.cjs.map +1 -0
- package/dist/private/S2_CornerTriangleSize300.mjs +21 -0
- package/dist/private/S2_CornerTriangleSize300.mjs.map +1 -0
- package/dist/private/S2_CornerTriangleSize75.cjs +26 -0
- package/dist/private/S2_CornerTriangleSize75.cjs.map +1 -0
- package/dist/private/S2_CornerTriangleSize75.mjs +21 -0
- package/dist/private/S2_CornerTriangleSize75.mjs.map +1 -0
- package/dist/private/S2_DragHandleSize100.cjs +60 -0
- package/dist/private/S2_DragHandleSize100.cjs.map +1 -0
- package/dist/private/S2_DragHandleSize100.mjs +55 -0
- package/dist/private/S2_DragHandleSize100.mjs.map +1 -0
- package/dist/private/S2_DragHandleSize200.cjs +60 -0
- package/dist/private/S2_DragHandleSize200.cjs.map +1 -0
- package/dist/private/S2_DragHandleSize200.mjs +55 -0
- package/dist/private/S2_DragHandleSize200.mjs.map +1 -0
- package/dist/private/S2_DragHandleSize300.cjs +60 -0
- package/dist/private/S2_DragHandleSize300.cjs.map +1 -0
- package/dist/private/S2_DragHandleSize300.mjs +55 -0
- package/dist/private/S2_DragHandleSize300.mjs.map +1 -0
- package/dist/private/S2_DragHandleSize75.cjs +60 -0
- package/dist/private/S2_DragHandleSize75.cjs.map +1 -0
- package/dist/private/S2_DragHandleSize75.mjs +55 -0
- package/dist/private/S2_DragHandleSize75.mjs.map +1 -0
- package/dist/private/SearchField.cjs +41 -41
- package/dist/private/SearchField.cjs.map +1 -1
- package/dist/private/SearchField.css +45 -45
- package/dist/private/SearchField.css.map +1 -1
- package/dist/private/SearchField.mjs +41 -41
- package/dist/private/SearchField.mjs.map +1 -1
- package/dist/private/SegmentedControl.cjs +178 -178
- package/dist/private/SegmentedControl.cjs.map +1 -1
- package/dist/private/SegmentedControl.css +123 -123
- package/dist/private/SegmentedControl.css.map +1 -1
- package/dist/private/SegmentedControl.mjs +178 -178
- package/dist/private/SegmentedControl.mjs.map +1 -1
- package/dist/private/SelectBoxGroup.cjs +142 -142
- package/dist/private/SelectBoxGroup.cjs.map +1 -1
- package/dist/private/SelectBoxGroup.css +120 -120
- package/dist/private/SelectBoxGroup.css.map +1 -1
- package/dist/private/SelectBoxGroup.mjs +142 -142
- package/dist/private/SelectBoxGroup.mjs.map +1 -1
- package/dist/private/SkeletonCollection.cjs.map +1 -1
- package/dist/private/SkeletonCollection.mjs.map +1 -1
- package/dist/private/Slider.cjs +318 -332
- package/dist/private/Slider.cjs.map +1 -1
- package/dist/private/Slider.css +177 -157
- package/dist/private/Slider.css.map +1 -1
- package/dist/private/Slider.mjs +319 -333
- package/dist/private/Slider.mjs.map +1 -1
- package/dist/private/StatusLight.cjs +115 -115
- package/dist/private/StatusLight.cjs.map +1 -1
- package/dist/private/StatusLight.css +59 -59
- package/dist/private/StatusLight.css.map +1 -1
- package/dist/private/StatusLight.mjs +115 -115
- package/dist/private/StatusLight.mjs.map +1 -1
- package/dist/private/Switch.cjs +219 -176
- package/dist/private/Switch.cjs.map +1 -1
- package/dist/private/Switch.css +128 -84
- package/dist/private/Switch.css.map +1 -1
- package/dist/private/Switch.mjs +219 -176
- package/dist/private/Switch.mjs.map +1 -1
- package/dist/private/TableView.cjs +752 -518
- package/dist/private/TableView.cjs.map +1 -1
- package/dist/private/TableView.css +554 -308
- package/dist/private/TableView.css.map +1 -1
- package/dist/private/TableView.mjs +754 -521
- package/dist/private/TableView.mjs.map +1 -1
- package/dist/private/Tabs.cjs +131 -125
- package/dist/private/Tabs.cjs.map +1 -1
- package/dist/private/Tabs.css +105 -105
- package/dist/private/Tabs.css.map +1 -1
- package/dist/private/Tabs.mjs +131 -125
- package/dist/private/Tabs.mjs.map +1 -1
- package/dist/private/TabsPicker.cjs +130 -129
- package/dist/private/TabsPicker.cjs.map +1 -1
- package/dist/private/TabsPicker.css +108 -108
- package/dist/private/TabsPicker.css.map +1 -1
- package/dist/private/TabsPicker.mjs +130 -129
- package/dist/private/TabsPicker.mjs.map +1 -1
- package/dist/private/TagGroup.cjs +203 -203
- package/dist/private/TagGroup.cjs.map +1 -1
- package/dist/private/TagGroup.css +146 -146
- package/dist/private/TagGroup.css.map +1 -1
- package/dist/private/TagGroup.mjs +203 -203
- package/dist/private/TagGroup.mjs.map +1 -1
- package/dist/private/TextField.cjs +84 -73
- package/dist/private/TextField.cjs.map +1 -1
- package/dist/private/TextField.css +54 -54
- package/dist/private/TextField.css.map +1 -1
- package/dist/private/TextField.mjs +85 -74
- package/dist/private/TextField.mjs.map +1 -1
- package/dist/private/TimeField.cjs +51 -51
- package/dist/private/TimeField.cjs.map +1 -1
- package/dist/private/TimeField.css +47 -47
- package/dist/private/TimeField.css.map +1 -1
- package/dist/private/TimeField.mjs +51 -51
- package/dist/private/TimeField.mjs.map +1 -1
- package/dist/private/Toast.cjs +122 -121
- package/dist/private/Toast.cjs.map +1 -1
- package/dist/private/Toast.css +110 -110
- package/dist/private/Toast.css.map +1 -1
- package/dist/private/Toast.mjs +122 -121
- package/dist/private/Toast.mjs.map +1 -1
- package/dist/private/Toast.module_css.cjs +21 -21
- package/dist/private/Toast.module_css.cjs.map +1 -1
- package/dist/private/Toast.module_css.mjs +21 -21
- package/dist/private/Toast.module_css.mjs.map +1 -1
- package/dist/private/Toast_module.css +44 -44
- package/dist/private/Toast_module.css.map +1 -1
- package/dist/private/ToggleButton.cjs +59 -26
- package/dist/private/ToggleButton.cjs.map +1 -1
- package/dist/private/ToggleButton.css +56 -12
- package/dist/private/ToggleButton.css.map +1 -1
- package/dist/private/ToggleButton.mjs +60 -27
- package/dist/private/ToggleButton.mjs.map +1 -1
- package/dist/private/ToggleButtonGroup.cjs.map +1 -1
- package/dist/private/ToggleButtonGroup.mjs.map +1 -1
- package/dist/private/Tooltip.cjs +86 -86
- package/dist/private/Tooltip.cjs.map +1 -1
- package/dist/private/Tooltip.css +70 -70
- package/dist/private/Tooltip.css.map +1 -1
- package/dist/private/Tooltip.mjs +86 -86
- package/dist/private/Tooltip.mjs.map +1 -1
- package/dist/private/TreeView.cjs +300 -233
- package/dist/private/TreeView.cjs.map +1 -1
- package/dist/private/TreeView.css +243 -181
- package/dist/private/TreeView.css.map +1 -1
- package/dist/private/TreeView.mjs +301 -234
- package/dist/private/TreeView.mjs.map +1 -1
- package/dist/private/dnd-utils.cjs +149 -0
- package/dist/private/dnd-utils.cjs.map +1 -0
- package/dist/private/dnd-utils.css +164 -0
- package/dist/private/dnd-utils.css.map +1 -0
- package/dist/private/dnd-utils.mjs +143 -0
- package/dist/private/dnd-utils.mjs.map +1 -0
- package/dist/private/font-faces.css.map +1 -1
- package/dist/private/intl/ar-AE.cjs +1 -0
- package/dist/private/intl/ar-AE.cjs.map +1 -1
- package/dist/private/intl/ar-AE.mjs +1 -0
- package/dist/private/intl/ar-AE.mjs.map +1 -1
- package/dist/private/intl/bg-BG.cjs +1 -0
- package/dist/private/intl/bg-BG.cjs.map +1 -1
- package/dist/private/intl/bg-BG.mjs +1 -0
- package/dist/private/intl/bg-BG.mjs.map +1 -1
- package/dist/private/intl/cs-CZ.cjs +1 -0
- package/dist/private/intl/cs-CZ.cjs.map +1 -1
- package/dist/private/intl/cs-CZ.mjs +1 -0
- package/dist/private/intl/cs-CZ.mjs.map +1 -1
- package/dist/private/intl/da-DK.cjs +1 -0
- package/dist/private/intl/da-DK.cjs.map +1 -1
- package/dist/private/intl/da-DK.mjs +1 -0
- package/dist/private/intl/da-DK.mjs.map +1 -1
- package/dist/private/intl/de-DE.cjs +1 -0
- package/dist/private/intl/de-DE.cjs.map +1 -1
- package/dist/private/intl/de-DE.mjs +1 -0
- package/dist/private/intl/de-DE.mjs.map +1 -1
- package/dist/private/intl/el-GR.cjs +1 -0
- package/dist/private/intl/el-GR.cjs.map +1 -1
- package/dist/private/intl/el-GR.mjs +1 -0
- package/dist/private/intl/el-GR.mjs.map +1 -1
- package/dist/private/intl/en-US.cjs +1 -0
- package/dist/private/intl/en-US.cjs.map +1 -1
- package/dist/private/intl/en-US.mjs +1 -0
- package/dist/private/intl/en-US.mjs.map +1 -1
- package/dist/private/intl/es-ES.cjs +1 -0
- package/dist/private/intl/es-ES.cjs.map +1 -1
- package/dist/private/intl/es-ES.mjs +1 -0
- package/dist/private/intl/es-ES.mjs.map +1 -1
- package/dist/private/intl/et-EE.cjs +1 -0
- package/dist/private/intl/et-EE.cjs.map +1 -1
- package/dist/private/intl/et-EE.mjs +1 -0
- package/dist/private/intl/et-EE.mjs.map +1 -1
- package/dist/private/intl/fi-FI.cjs +1 -0
- package/dist/private/intl/fi-FI.cjs.map +1 -1
- package/dist/private/intl/fi-FI.mjs +1 -0
- package/dist/private/intl/fi-FI.mjs.map +1 -1
- package/dist/private/intl/fr-FR.cjs +1 -0
- package/dist/private/intl/fr-FR.cjs.map +1 -1
- package/dist/private/intl/fr-FR.mjs +1 -0
- package/dist/private/intl/fr-FR.mjs.map +1 -1
- package/dist/private/intl/he-IL.cjs +1 -0
- package/dist/private/intl/he-IL.cjs.map +1 -1
- package/dist/private/intl/he-IL.mjs +1 -0
- package/dist/private/intl/he-IL.mjs.map +1 -1
- package/dist/private/intl/hr-HR.cjs +1 -0
- package/dist/private/intl/hr-HR.cjs.map +1 -1
- package/dist/private/intl/hr-HR.mjs +1 -0
- package/dist/private/intl/hr-HR.mjs.map +1 -1
- package/dist/private/intl/hu-HU.cjs +1 -0
- package/dist/private/intl/hu-HU.cjs.map +1 -1
- package/dist/private/intl/hu-HU.mjs +1 -0
- package/dist/private/intl/hu-HU.mjs.map +1 -1
- package/dist/private/intl/it-IT.cjs +1 -0
- package/dist/private/intl/it-IT.cjs.map +1 -1
- package/dist/private/intl/it-IT.mjs +1 -0
- package/dist/private/intl/it-IT.mjs.map +1 -1
- package/dist/private/intl/ja-JP.cjs +1 -0
- package/dist/private/intl/ja-JP.cjs.map +1 -1
- package/dist/private/intl/ja-JP.mjs +1 -0
- package/dist/private/intl/ja-JP.mjs.map +1 -1
- package/dist/private/intl/ko-KR.cjs +1 -0
- package/dist/private/intl/ko-KR.cjs.map +1 -1
- package/dist/private/intl/ko-KR.mjs +1 -0
- package/dist/private/intl/ko-KR.mjs.map +1 -1
- package/dist/private/intl/lt-LT.cjs +1 -0
- package/dist/private/intl/lt-LT.cjs.map +1 -1
- package/dist/private/intl/lt-LT.mjs +1 -0
- package/dist/private/intl/lt-LT.mjs.map +1 -1
- package/dist/private/intl/lv-LV.cjs +1 -0
- package/dist/private/intl/lv-LV.cjs.map +1 -1
- package/dist/private/intl/lv-LV.mjs +1 -0
- package/dist/private/intl/lv-LV.mjs.map +1 -1
- package/dist/private/intl/nb-NO.cjs +1 -0
- package/dist/private/intl/nb-NO.cjs.map +1 -1
- package/dist/private/intl/nb-NO.mjs +1 -0
- package/dist/private/intl/nb-NO.mjs.map +1 -1
- package/dist/private/intl/nl-NL.cjs +1 -0
- package/dist/private/intl/nl-NL.cjs.map +1 -1
- package/dist/private/intl/nl-NL.mjs +1 -0
- package/dist/private/intl/nl-NL.mjs.map +1 -1
- package/dist/private/intl/pl-PL.cjs +1 -0
- package/dist/private/intl/pl-PL.cjs.map +1 -1
- package/dist/private/intl/pl-PL.mjs +1 -0
- package/dist/private/intl/pl-PL.mjs.map +1 -1
- package/dist/private/intl/pt-BR.cjs +1 -0
- package/dist/private/intl/pt-BR.cjs.map +1 -1
- package/dist/private/intl/pt-BR.mjs +1 -0
- package/dist/private/intl/pt-BR.mjs.map +1 -1
- package/dist/private/intl/pt-PT.cjs +1 -0
- package/dist/private/intl/pt-PT.cjs.map +1 -1
- package/dist/private/intl/pt-PT.mjs +1 -0
- package/dist/private/intl/pt-PT.mjs.map +1 -1
- package/dist/private/intl/ro-RO.cjs +1 -0
- package/dist/private/intl/ro-RO.cjs.map +1 -1
- package/dist/private/intl/ro-RO.mjs +1 -0
- package/dist/private/intl/ro-RO.mjs.map +1 -1
- package/dist/private/intl/ru-RU.cjs +1 -0
- package/dist/private/intl/ru-RU.cjs.map +1 -1
- package/dist/private/intl/ru-RU.mjs +1 -0
- package/dist/private/intl/ru-RU.mjs.map +1 -1
- package/dist/private/intl/sk-SK.cjs +1 -0
- package/dist/private/intl/sk-SK.cjs.map +1 -1
- package/dist/private/intl/sk-SK.mjs +1 -0
- package/dist/private/intl/sk-SK.mjs.map +1 -1
- package/dist/private/intl/sl-SI.cjs +1 -0
- package/dist/private/intl/sl-SI.cjs.map +1 -1
- package/dist/private/intl/sl-SI.mjs +1 -0
- package/dist/private/intl/sl-SI.mjs.map +1 -1
- package/dist/private/intl/sr-SP.cjs +1 -0
- package/dist/private/intl/sr-SP.cjs.map +1 -1
- package/dist/private/intl/sr-SP.mjs +1 -0
- package/dist/private/intl/sr-SP.mjs.map +1 -1
- package/dist/private/intl/sv-SE.cjs +1 -0
- package/dist/private/intl/sv-SE.cjs.map +1 -1
- package/dist/private/intl/sv-SE.mjs +1 -0
- package/dist/private/intl/sv-SE.mjs.map +1 -1
- package/dist/private/intl/tr-TR.cjs +1 -0
- package/dist/private/intl/tr-TR.cjs.map +1 -1
- package/dist/private/intl/tr-TR.mjs +1 -0
- package/dist/private/intl/tr-TR.mjs.map +1 -1
- package/dist/private/intl/uk-UA.cjs +1 -0
- package/dist/private/intl/uk-UA.cjs.map +1 -1
- package/dist/private/intl/uk-UA.mjs +1 -0
- package/dist/private/intl/uk-UA.mjs.map +1 -1
- package/dist/private/intl/zh-CN.cjs +1 -0
- package/dist/private/intl/zh-CN.cjs.map +1 -1
- package/dist/private/intl/zh-CN.mjs +1 -0
- package/dist/private/intl/zh-CN.mjs.map +1 -1
- package/dist/private/intl/zh-TW.cjs +1 -0
- package/dist/private/intl/zh-TW.cjs.map +1 -1
- package/dist/private/intl/zh-TW.mjs +1 -0
- package/dist/private/intl/zh-TW.mjs.map +1 -1
- package/dist/private/pressScale.cjs.map +1 -1
- package/dist/private/pressScale.mjs.map +1 -1
- package/dist/private/useDOMRef.cjs +3 -2
- package/dist/private/useDOMRef.cjs.map +1 -1
- package/dist/private/useDOMRef.mjs +3 -2
- package/dist/private/useDOMRef.mjs.map +1 -1
- package/dist/private/useDragAndDrop.cjs +25 -0
- package/dist/private/useDragAndDrop.cjs.map +1 -0
- package/dist/private/useDragAndDrop.mjs +20 -0
- package/dist/private/useDragAndDrop.mjs.map +1 -0
- package/dist/types/exports/CenterBaseline.d.ts +1 -0
- package/dist/types/exports/DragPreview.d.ts +2 -0
- package/dist/types/exports/LabeledValue.d.ts +2 -0
- package/dist/types/exports/Skeleton.d.ts +1 -1
- package/dist/types/exports/TableView.d.ts +2 -2
- package/dist/types/exports/index.d.ts +12 -2
- package/dist/types/exports/useDragAndDrop.d.ts +8 -0
- package/dist/types/src/Accordion.d.ts +22 -6
- package/dist/types/src/ActionBar.d.ts +6 -2
- package/dist/types/src/ActionButton.d.ts +15 -5
- package/dist/types/src/ActionButtonGroup.d.ts +13 -4
- package/dist/types/src/ActionMenu.d.ts +1 -1
- package/dist/types/src/AlertDialog.d.ts +3 -1
- package/dist/types/src/Avatar.d.ts +1 -0
- package/dist/types/src/AvatarGroup.d.ts +1 -0
- package/dist/types/src/Badge.d.ts +6 -2
- package/dist/types/src/Breadcrumbs.d.ts +1 -1
- package/dist/types/src/Button.d.ts +2 -1
- package/dist/types/src/Calendar.d.ts +8 -5
- package/dist/types/src/Card.d.ts +4 -1
- package/dist/types/src/CardView.d.ts +6 -1
- package/dist/types/src/CenterBaseline.d.ts +19 -1
- package/dist/types/src/Checkbox.d.ts +5 -5
- package/dist/types/src/CoachMark.d.ts +3 -3
- package/dist/types/src/ColorArea.d.ts +2 -1
- package/dist/types/src/ColorField.d.ts +6 -0
- package/dist/types/src/ColorSwatch.d.ts +2 -0
- package/dist/types/src/ColorSwatchPicker.d.ts +3 -0
- package/dist/types/src/ComboBox.d.ts +18 -7
- package/dist/types/src/ContextualHelp.d.ts +6 -3
- package/dist/types/src/CustomDialog.d.ts +1 -0
- package/dist/types/src/DatePicker.d.ts +5 -2
- package/dist/types/src/DateRangePicker.d.ts +3 -1
- package/dist/types/src/Dialog.d.ts +3 -2
- package/dist/types/src/DialogTrigger.d.ts +3 -3
- package/dist/types/src/Disclosure.d.ts +16 -5
- package/dist/types/src/Divider.d.ts +2 -0
- package/dist/types/src/DragPreview.d.ts +42 -0
- package/dist/types/src/DropZone.d.ts +1 -0
- package/dist/types/src/Field.d.ts +5 -3
- package/dist/types/src/Form.d.ts +3 -1
- package/dist/types/src/FullscreenDialog.d.ts +4 -2
- package/dist/types/src/Image.d.ts +6 -5
- package/dist/types/src/ImageCoordinator.d.ts +3 -1
- package/dist/types/src/InlineAlert.d.ts +4 -2
- package/dist/types/src/LabeledValue.d.ts +61 -0
- package/dist/types/src/Link.d.ts +1 -0
- package/dist/types/src/ListBox.d.ts +1 -1
- package/dist/types/src/ListView.d.ts +12 -24
- package/dist/types/src/Menu.d.ts +9 -7
- package/dist/types/src/Meter.d.ts +4 -1
- package/dist/types/src/NumberField.d.ts +9 -1
- package/dist/types/src/Picker.d.ts +12 -7
- package/dist/types/src/Popover.d.ts +4 -3
- package/dist/types/src/ProgressBar.d.ts +3 -2
- package/dist/types/src/ProgressCircle.d.ts +2 -2
- package/dist/types/src/Provider.d.ts +6 -3
- package/dist/types/src/RadioGroup.d.ts +2 -2
- package/dist/types/src/RangeCalendar.d.ts +4 -2
- package/dist/types/src/RangeSlider.d.ts +6 -3
- package/dist/types/src/SelectBoxGroup.d.ts +3 -1
- package/dist/types/src/SkeletonCollection.d.ts +2 -1
- package/dist/types/src/Slider.d.ts +2 -1
- package/dist/types/src/Switch.d.ts +5 -5
- package/dist/types/src/TableView.d.ts +29 -9
- package/dist/types/src/Tabs.d.ts +5 -2
- package/dist/types/src/TabsPicker.d.ts +9 -4
- package/dist/types/src/TagGroup.d.ts +10 -4
- package/dist/types/src/TextField.d.ts +5 -0
- package/dist/types/src/Toast.d.ts +2 -1
- package/dist/types/src/ToggleButton.d.ts +9 -2
- package/dist/types/src/ToggleButtonGroup.d.ts +4 -1
- package/dist/types/src/TreeView.d.ts +6 -3
- package/dist/types/src/dnd-utils.d.ts +8 -0
- package/dist/types/src/pressScale.d.ts +20 -0
- package/dist/types/src/style-utils.d.ts +34 -27
- package/dist/types/src/useDOMRef.d.ts +3 -3
- package/dist/types/src/useDragAndDrop.d.ts +9 -0
- package/dist/types/style/index.d.ts +27 -33
- package/dist/types/style/runtime.d.ts +6 -8
- package/dist/types/style/spectrum-theme.d.ts +42 -50
- package/dist/types/style/style-macro.d.ts +7 -9
- package/dist/types/style/tokens.d.ts +2 -2
- package/dist/types/ui-icons/CornerTriangle.d.ts +4 -0
- package/dist/types/ui-icons/DragHandle.d.ts +4 -0
- package/exports/Accordion.ts +17 -2
- package/exports/ActionMenu.ts +14 -2
- package/exports/Card.ts +16 -2
- package/exports/CardView.ts +16 -2
- package/exports/CenterBaseline.ts +1 -0
- package/exports/ColorArea.ts +8 -1
- package/exports/ColorField.ts +8 -1
- package/exports/ColorSlider.ts +8 -1
- package/exports/ColorSwatch.ts +8 -1
- package/exports/ColorSwatchPicker.ts +8 -1
- package/exports/ColorWheel.ts +8 -1
- package/exports/ContextualHelp.ts +5 -1
- package/exports/Disclosure.ts +7 -1
- package/exports/DragPreview.ts +2 -0
- package/exports/Icon.ts +6 -1
- package/exports/LabeledValue.ts +2 -0
- package/exports/Menu.ts +17 -2
- package/exports/SegmentedControl.ts +5 -1
- package/exports/Skeleton.ts +1 -1
- package/exports/TableView.ts +27 -3
- package/exports/TreeView.ts +6 -1
- package/exports/index.ts +176 -17
- package/exports/useAsyncList.ts +7 -1
- package/exports/useDragAndDrop.ts +36 -0
- package/icons/Icon.cjs +10 -10
- package/icons/Icon.cjs.map +1 -1
- package/icons/Icon.css +9 -9
- package/icons/Icon.css.map +1 -1
- package/icons/Icon.mjs +10 -10
- package/icons/Icon.mjs.map +1 -1
- package/icons/Skeleton.cjs +2 -2
- package/icons/Skeleton.cjs.map +1 -1
- package/icons/Skeleton.css +6 -6
- package/icons/Skeleton.css.map +1 -1
- package/icons/Skeleton.mjs +2 -2
- package/icons/Skeleton.mjs.map +1 -1
- package/icons/runtime.cjs.map +1 -1
- package/icons/runtime.mjs.map +1 -1
- package/icons/useMediaQuery.cjs.map +1 -1
- package/icons/useMediaQuery.mjs.map +1 -1
- package/icons/useSpectrumContextProps.cjs.map +1 -1
- package/icons/useSpectrumContextProps.mjs.map +1 -1
- package/illustrations/gradient/generic1/Conversationbubbles.cjs.map +1 -1
- package/illustrations/gradient/generic1/Conversationbubbles.mjs.map +1 -1
- package/illustrations/gradient/generic2/Conversationbubbles.cjs.map +1 -1
- package/illustrations/gradient/generic2/Conversationbubbles.mjs.map +1 -1
- package/illustrations/linear/BrowserNotCompatible.cjs.map +1 -1
- package/illustrations/linear/BrowserNotCompatible.mjs.map +1 -1
- package/illustrations/linear/CloudStateDisconnected.cjs.map +1 -1
- package/illustrations/linear/CloudStateDisconnected.mjs.map +1 -1
- package/illustrations/linear/ConfettiCelebration.cjs.map +1 -1
- package/illustrations/linear/ConfettiCelebration.mjs.map +1 -1
- package/illustrations/linear/Conversationbubbles.cjs.map +1 -1
- package/illustrations/linear/Conversationbubbles.mjs.map +1 -1
- package/illustrations/linear/MegaphonePromoteExpressive.cjs.map +1 -1
- package/illustrations/linear/MegaphonePromoteExpressive.mjs.map +1 -1
- package/illustrations/linear/NoInternetConnection.cjs.map +1 -1
- package/illustrations/linear/NoInternetConnection.mjs.map +1 -1
- package/package.json +30 -30
- package/src/Accordion.tsx +97 -59
- package/src/ActionBar.tsx +102 -45
- package/src/ActionButton.tsx +358 -252
- package/src/ActionButtonGroup.tsx +59 -38
- package/src/ActionMenu.tsx +21 -10
- package/src/AlertDialog.tsx +28 -26
- package/src/Avatar.tsx +41 -28
- package/src/AvatarGroup.tsx +34 -16
- package/src/Badge.tsx +167 -129
- package/src/Breadcrumbs.tsx +173 -100
- package/src/Button.tsx +390 -289
- package/src/ButtonGroup.tsx +71 -52
- package/src/Calendar.tsx +230 -174
- package/src/Card.tsx +395 -303
- package/src/CardView.tsx +126 -61
- package/src/CenterBaseline.tsx +32 -7
- package/src/Checkbox.tsx +152 -57
- package/src/CheckboxGroup.tsx +96 -63
- package/src/ClearButton.tsx +6 -3
- package/src/CloseButton.tsx +71 -45
- package/src/CoachMark.tsx +204 -192
- package/src/ColorArea.tsx +49 -28
- package/src/ColorField.tsx +83 -36
- package/src/ColorHandle.tsx +36 -25
- package/src/ColorSlider.tsx +123 -90
- package/src/ColorSwatch.tsx +71 -43
- package/src/ColorSwatchPicker.tsx +71 -52
- package/src/ColorWheel.tsx +75 -54
- package/src/ComboBox.tsx +310 -187
- package/src/Content.tsx +59 -38
- package/src/ContextualHelp.tsx +83 -51
- package/src/CustomDialog.tsx +41 -33
- package/src/DateField.tsx +57 -27
- package/src/DatePicker.tsx +117 -66
- package/src/DateRangePicker.tsx +209 -158
- package/src/Dialog.tsx +24 -16
- package/src/DialogContainer.tsx +4 -7
- package/src/DialogTrigger.tsx +4 -6
- package/src/Disclosure.tsx +192 -157
- package/src/Divider.tsx +71 -49
- package/src/DragPreview.tsx +193 -0
- package/src/DropZone.tsx +71 -41
- package/src/Field.tsx +239 -108
- package/src/Fonts.tsx +18 -11
- package/src/Form.tsx +42 -27
- package/src/FullscreenDialog.tsx +24 -39
- package/src/Icon.tsx +70 -33
- package/src/IllustratedMessage.tsx +98 -69
- package/src/Image.tsx +105 -49
- package/src/ImageCoordinator.tsx +39 -24
- package/src/InlineAlert.tsx +90 -81
- package/src/LabeledValue.tsx +344 -0
- package/src/Link.tsx +99 -45
- package/src/ListBox.tsx +2 -9
- package/src/ListView.tsx +484 -280
- package/src/Menu.tsx +306 -180
- package/src/Meter.tsx +51 -21
- package/src/Modal.tsx +90 -81
- package/src/NotificationBadge.tsx +98 -74
- package/src/NumberField.tsx +160 -90
- package/src/Picker.tsx +311 -172
- package/src/Popover.tsx +196 -149
- package/src/ProgressBar.tsx +81 -56
- package/src/ProgressCircle.tsx +70 -48
- package/src/Provider.tsx +16 -16
- package/src/RadioGroup.tsx +164 -55
- package/src/RangeCalendar.tsx +63 -42
- package/src/RangeSlider.tsx +47 -35
- package/src/SearchField.tsx +110 -75
- package/src/SegmentedControl.tsx +101 -76
- package/src/SelectBoxGroup.tsx +231 -191
- package/src/Skeleton.tsx +75 -49
- package/src/SkeletonCollection.tsx +16 -16
- package/src/Slider.tsx +135 -83
- package/src/StatusLight.tsx +61 -22
- package/src/Switch.tsx +122 -38
- package/src/TableView.tsx +1040 -356
- package/src/Tabs.tsx +336 -185
- package/src/TabsPicker.tsx +152 -107
- package/src/TagGroup.tsx +175 -81
- package/src/TextField.tsx +120 -54
- package/src/TimeField.tsx +48 -23
- package/src/Toast.module.css +11 -5
- package/src/Toast.tsx +119 -87
- package/src/ToggleButton.tsx +99 -25
- package/src/ToggleButtonGroup.tsx +22 -6
- package/src/Toolbar.tsx +0 -1
- package/src/Tooltip.tsx +64 -26
- package/src/TreeView.tsx +345 -91
- package/src/bar-utils.ts +65 -68
- package/src/dnd-utils.tsx +127 -0
- package/src/font-faces.css +129 -33
- package/src/page.macro.ts +2 -2
- package/src/pressScale.ts +24 -1
- package/src/progress-utils.tsx +1 -1
- package/src/style-utils.ts +225 -212
- package/src/useDOMRef.ts +26 -11
- package/src/useDragAndDrop.ts +32 -0
- package/src/useMediaQuery.ts +2 -4
- package/src/useSpectrumContextProps.ts +5 -1
- package/style/__tests__/mergeStyles.test.ts +15 -4
- package/style/__tests__/style-macro.test.js +81 -71
- package/style/dist/main.cjs +25 -25
- package/style/dist/main.cjs.map +1 -1
- package/style/dist/module.mjs +13 -13
- package/style/dist/module.mjs.map +1 -1
- package/style/dist/properties.mjs +3 -3
- package/style/dist/spectrum-theme.cjs +227 -228
- package/style/dist/spectrum-theme.cjs.map +1 -1
- package/style/dist/spectrum-theme.mjs +220 -221
- package/style/dist/spectrum-theme.mjs.map +1 -1
- package/style/dist/style-macro.cjs +102 -101
- package/style/dist/style-macro.cjs.map +1 -1
- package/style/dist/style-macro.mjs +96 -95
- package/style/dist/style-macro.mjs.map +1 -1
- package/style/dist/style-utils.cjs +51 -39
- package/style/dist/style-utils.cjs.map +1 -1
- package/style/dist/style-utils.mjs +50 -38
- package/style/dist/style-utils.mjs.map +1 -1
- package/style/index.ts +105 -74
- package/style/package.json +2 -2
- package/style/runtime.ts +6 -8
- package/style/spectrum-theme.ts +482 -194
- package/style/style-macro.ts +310 -121
- package/style/tokens.ts +79 -41
- package/style/types.ts +146 -70
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":"ACkHoB;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAyCD;;;;EAAA;;;;EAAA;;;;EASU;;;;EAAA;;;;EAAA;;;;EASA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAcN;;;;EAAA;;;;;;;EAAA;;;;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAsBF;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAYI;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;;;;;EAAA;;;;EAAA;;;;EAAA;;;;;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAoDE;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAeF;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAcJ;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAUN;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAgDqB;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;;;EAAA;;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAqQlB;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAwDA;;;;EAAA;;;;EAKK;;;;EAAA;;;;EAAA;;;;;AAxjBH;EA+FC;;;;EAYI;;;;EAAA;;;;EAAA;;;;EA2IW;;;;;AAtPhB;EAAA;IAAA;;;;IAAA;;;;IAAA;;;;IAAA;;;;IAAA;;;;IAAA;;;;IAAA;;;;IA2GK;;;;IAAA;;;;IAiFJ;;;;;;AAjIQ;EAAA;IAAA;;;;IA2Id;;;;;;AA7HQ;EAAA;;;;;AAAA;EAAA;;;;;AAAA;EAAA;;;;;AAAA;EAAA;;;;;AAAA;EAAA;;;;;AAAA;EAAA;;;;;AAAA;EAAA;;;;;AAkbL;EAAA;IAAA","sources":["13beeca66baffd35","packages/@react-spectrum/s2/src/ComboBox.tsx"],"sourcesContent":["@import \"434b6dc809c84a70\";\n@import \"9807be49da09aafb\";\n@import \"affe2b90434aec6a\";\n@import \"96ebc07fe89537d3\";\n@import \"85ea669da1afabc2\";\n@import \"8168af80eec66ed5\";\n@import \"14203b4128acdfd2\";\n@import \"82b080edec7141b0\";\n@import \"507e1180fa9ffff0\";\n@import \"12f905ef6005085b\";\n@import \"82c0b597a48d07ec\";\n@import \"37bf4c12c54c2fbe\";\n@import \"fb17d87a01335bc9\";\n@import \"3bae6fac1e4833be\";\n@import \"0f8f22acb39cf5c5\";\n","/*\n * Copyright 2024 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {\n ComboBox as AriaComboBox,\n ComboBoxProps as AriaComboBoxProps,\n ComboBoxStateContext\n} from 'react-aria-components/ComboBox';\nimport {\n ListBoxSection as AriaListBoxSection,\n ListBox,\n ListBoxItem,\n ListBoxItemProps,\n ListBoxLoadMoreItem,\n ListBoxProps,\n ListBoxSectionProps,\n ListStateContext\n} from 'react-aria-components/ListBox';\nimport {PopoverProps as AriaPopoverProps, Placement} from 'react-aria-components/Popover';\nimport {AsyncLoadable, GlobalDOMAttributes, HelpTextProps, LoadingState, SingleSelection, SpectrumLabelableProps} from '@react-types/shared';\nimport {AvatarContext} from './Avatar';\nimport {BaseCollection, CollectionNode} from 'react-aria/private/collections/BaseCollection';\nimport {baseColor, centerPadding, focusRing, space, style} from '../style' with {type: 'macro'};\nimport {Button, ButtonRenderProps} from 'react-aria-components/Button';\nimport {centerBaseline} from './CenterBaseline';\nimport {\n checkmark,\n description,\n icon,\n iconCenterWrapper,\n label,\n sectionHeading\n} from './Menu';\nimport CheckmarkIcon from '../ui-icons/Checkmark';\nimport ChevronIcon from '../ui-icons/Chevron';\nimport {Collection} from 'react-aria/Collection';\nimport {ContextValue, Provider} from 'react-aria-components/slots';\nimport {control, controlBorderRadius, controlFont, controlSize, field, fieldInput, getAllowedOverrides, StyleProps} from './style-utils' with {type: 'macro'};\nimport {createContext, CSSProperties, ForwardedRef, forwardRef, ReactNode, Ref, useCallback, useContext, useEffect, useImperativeHandle, useMemo, useRef, useState} from 'react';\nimport {createFocusableRef} from './useDOMRef';\nimport {createLeafComponent} from 'react-aria/CollectionBuilder';\nimport {edgeToText} from '../style/spectrum-theme' with {type: 'macro'};\nimport {FieldErrorIcon, FieldGroup, FieldLabel, HelpText, Input} from './Field';\nimport {FormContext, useFormProps} from './Form';\nimport {forwardRefType} from './types';\nimport {HeaderContext, HeadingContext, Text, TextContext} from './Content';\nimport {IconContext} from './Icon';\nimport {InputContext, InputProps} from 'react-aria-components/Input';\nimport intlMessages from '../intl/*.json';\nimport {ListLayout} from 'react-stately/useVirtualizerState';\nimport {mergeRefs} from 'react-aria/mergeRefs';\n// @ts-ignore\nimport {Node} from '@react-types/shared';\nimport {Popover} from './Popover';\nimport {pressScale} from './pressScale';\nimport {ProgressCircle} from './ProgressCircle';\nimport {TextFieldRef} from './TextField';\nimport {useLocalizedStringFormatter} from 'react-aria/useLocalizedStringFormatter';\nimport {useResizeObserver} from 'react-aria/private/utils/useResizeObserver';\nimport {useScale} from './utils';\nimport {useSlotId} from 'react-aria/private/utils/useId';\nimport {useSpectrumContextProps} from './useSpectrumContextProps';\nimport {Virtualizer} from 'react-aria-components/Virtualizer';\n\nexport interface ComboboxStyleProps {\n /**\n * The size of the Combobox.\n *\n * @default 'M'\n */\n size?: 'S' | 'M' | 'L' | 'XL'\n}\nexport interface ComboBoxProps<T extends object> extends\n Omit<AriaComboBoxProps<T>, 'children' | 'style' | 'className' | 'render' | 'defaultFilter' | 'allowsEmptyCollection' | 'selectionMode' | 'selectedKey' | 'defaultSelectedKey' | 'onSelectionChange' | 'value' | 'defaultValue' | 'onChange' | keyof GlobalDOMAttributes>,\n Omit<SingleSelection, 'disallowEmptySelection'>,\n ComboboxStyleProps,\n StyleProps,\n SpectrumLabelableProps,\n HelpTextProps,\n Pick<ListBoxProps<T>, 'items' | 'dependencies'>,\n Pick<AriaPopoverProps, 'shouldFlip'>,\n Pick<AsyncLoadable, 'onLoadMore'>,\n Pick<InputProps, 'placeholder'> {\n /** The contents of the collection. */\n children: ReactNode | ((item: T) => ReactNode),\n /**\n * Direction the menu will render relative to the ComboBox.\n *\n * @default 'bottom'\n */\n direction?: 'bottom' | 'top',\n /**\n * Alignment of the menu relative to the input target.\n *\n * @default 'start'\n */\n align?: 'start' | 'end',\n /** Width of the menu. By default, matches width of the trigger. Note that the minimum width of the dropdown is always equal to the trigger's width. */\n menuWidth?: number,\n /** The current loading state of the ComboBox. Determines whether or not the progress circle should be shown. */\n loadingState?: LoadingState\n}\n\nexport const ComboBoxContext = createContext<ContextValue<Partial<ComboBoxProps<any>>, TextFieldRef>>(null);\n\nconst inputButton = style<ButtonRenderProps & {isOpen: boolean, size: 'S' | 'M' | 'L' | 'XL'}>({\n ...controlBorderRadius('sm'),\n display: 'flex',\n outlineStyle: 'none',\n textAlign: 'center',\n borderStyle: 'none',\n alignItems: 'center',\n justifyContent: 'center',\n size: {\n size: {\n S: 16,\n M: 20,\n L: 24,\n XL: 32\n }\n },\n marginStart: 'text-to-control',\n aspectRatio: 'square',\n flexShrink: 0,\n transition: {\n default: 'default',\n forcedColors: 'none'\n },\n backgroundColor: {\n default: baseColor('gray-100'),\n isOpen: 'gray-200',\n isDisabled: 'disabled',\n forcedColors: {\n default: 'ButtonText',\n isHovered: 'Highlight',\n isOpen: 'Highlight',\n isDisabled: 'GrayText'\n }\n },\n color: {\n default: baseColor('neutral'),\n isDisabled: 'disabled',\n forcedColors: 'ButtonFace'\n }\n});\n\nconst iconStyles = style({\n flexShrink: 0,\n rotate: 90,\n '--iconPrimary': {\n type: 'fill',\n value: 'currentColor'\n }\n});\n\nconst loadingWrapperStyles = style({\n gridColumnStart: '1',\n gridColumnEnd: '-1',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n marginY: 8\n});\n\nconst progressCircleStyles = style({\n size: {\n size: {\n S: 16,\n M: 20,\n L: 22,\n XL: 26\n }\n },\n marginStart: {\n isInput: 'text-to-visual'\n }\n});\n\nconst emptyStateText = style({\n height: {\n size: {\n S: 24,\n M: 32,\n L: 40,\n XL: 48\n }\n },\n font: {\n size: {\n S: 'ui-sm',\n M: 'ui',\n L: 'ui-lg',\n XL: 'ui-xl'\n }\n },\n display: 'flex',\n alignItems: 'center',\n paddingStart: 'edge-to-text'\n});\n\nexport let listbox = style<{size: 'S' | 'M' | 'L' | 'XL'}>({\n width: 'full',\n boxSizing: 'border-box',\n maxHeight: '[inherit]',\n // TODO: Might help with horizontal scrolling happening on Windows, will need to check somehow. Otherwise, revert back to overflow: auto\n overflowY: 'auto',\n overflowX: 'hidden',\n fontFamily: 'sans',\n fontSize: controlFont(),\n outlineStyle: 'none'\n});\n\nexport let listboxItem = style({\n ...focusRing(),\n ...control({shape: 'default', wrap: true, icon: true}),\n columnGap: 0,\n paddingX: 0,\n paddingBottom: '--labelPadding',\n backgroundColor: {\n default: 'transparent',\n isFocused: baseColor('gray-100').isFocusVisible\n },\n color: {\n default: baseColor('neutral'),\n isDisabled: {\n default: 'disabled',\n forcedColors: 'GrayText'\n }\n },\n position: 'relative',\n gridColumnStart: 1,\n gridColumnEnd: -1,\n display: 'grid',\n gridTemplateAreas: [\n '. checkmark icon label .',\n '. . . description .'\n ],\n gridTemplateColumns: {\n size: {\n S: [edgeToText(24), 'auto', 'auto', 'minmax(0, 1fr)', edgeToText(24)],\n M: [edgeToText(32), 'auto', 'auto', 'minmax(0, 1fr)', edgeToText(32)],\n L: [edgeToText(40), 'auto', 'auto', 'minmax(0, 1fr)', edgeToText(40)],\n XL: [edgeToText(48), 'auto', 'auto', 'minmax(0, 1fr)', edgeToText(48)]\n }\n },\n gridTemplateRows: {\n // min-content prevents second row from 'auto'ing to a size larger then 0 when empty\n default: 'auto minmax(0, min-content)',\n ':has([slot=description])': 'auto auto'\n },\n rowGap: {\n ':has([slot=description])': space(1)\n },\n alignItems: 'baseline',\n minHeight: controlSize(),\n height: 'min',\n textDecoration: 'none',\n cursor: {\n default: 'default',\n isLink: 'pointer'\n },\n transition: 'default'\n}, getAllowedOverrides());\n\nexport let listboxHeader = style<{size?: 'S' | 'M' | 'L' | 'XL'}>({\n color: 'neutral',\n boxSizing: 'border-box',\n minHeight: controlSize(),\n paddingY: centerPadding(),\n marginX: {\n size: {\n S: `[${edgeToText(24)}]`,\n M: `[${edgeToText(32)}]`,\n L: `[${edgeToText(40)}]`,\n XL: `[${edgeToText(48)}]`\n }\n }\n});\n\nconst separatorWrapper = style({\n display: 'flex',\n marginX: {\n size: {\n S: `[${edgeToText(24)}]`,\n M: `[${edgeToText(32)}]`,\n L: `[${edgeToText(40)}]`,\n XL: `[${edgeToText(48)}]`\n }\n },\n height: 12,\n alignItems: 'center'\n});\n\nconst dividerStyle = style({\n backgroundColor: {\n default: 'gray-200',\n forcedColors: 'ButtonBorder'\n },\n borderRadius: 'full',\n height: '[2px]',\n width: 'full'\n});\n\nconst avatar = style({\n gridArea: 'icon',\n marginEnd: 'text-to-visual'\n});\n\n// Not from any design, just following the sizing of the existing rows\nexport const LOADER_ROW_HEIGHTS = {\n S: {\n medium: 24,\n large: 30\n },\n M: {\n medium: 32,\n large: 40\n },\n L: {\n medium: 40,\n large: 50\n },\n XL: {\n medium: 48,\n large: 60\n }\n};\n\nlet InternalComboboxContext = createContext<{size: 'S' | 'M' | 'L' | 'XL'}>({size: 'M'});\n\n/**\n * ComboBox allow users to choose a single option from a collapsible list of options when space is limited.\n */\nexport const ComboBox = /*#__PURE__*/ (forwardRef as forwardRefType)(function ComboBox<T extends object>(props: ComboBoxProps<T>, ref: Ref<TextFieldRef>) {\n [props, ref] = useSpectrumContextProps(props, ref, ComboBoxContext);\n\n let formContext = useContext(FormContext);\n props = useFormProps(props);\n let {\n size = 'M',\n labelPosition = 'top',\n UNSAFE_className = '',\n UNSAFE_style,\n ...comboBoxProps\n } = props;\n\n return (\n <AriaComboBox\n {...comboBoxProps}\n allowsEmptyCollection\n style={UNSAFE_style}\n className={UNSAFE_className + style(field(), getAllowedOverrides())({\n isInForm: !!formContext,\n labelPosition,\n size\n }, props.styles)}>\n {({isDisabled, isOpen, isRequired, isInvalid}) => (\n <ComboboxInner {...props} isDisabled={isDisabled} isOpen={isOpen} isRequired={isRequired} isInvalid={isInvalid} ref={ref} />\n )}\n </AriaComboBox>\n );\n});\n\nexport interface ComboBoxItemProps extends Omit<ListBoxItemProps, 'children' | 'style' | 'className' | 'render' | 'onClick' | 'onKeyDown' | 'onKeyUp' | keyof GlobalDOMAttributes>, StyleProps {\n children: ReactNode\n}\n\nconst avatarSize = {\n S: 16,\n M: 20,\n L: 22,\n XL: 26\n} as const;\n\nconst checkmarkIconSize = {\n S: 'XS',\n M: 'M',\n L: 'L',\n XL: 'XL'\n} as const;\n\nexport function ComboBoxItem(props: ComboBoxItemProps): ReactNode {\n let ref = useRef(null);\n let isLink = props.href != null;\n let {size} = useContext(InternalComboboxContext);\n return (\n <ListBoxItem\n {...props}\n ref={ref}\n textValue={props.textValue || (typeof props.children === 'string' ? props.children as string : undefined)}\n style={pressScale(ref, props.UNSAFE_style)}\n className={renderProps => (props.UNSAFE_className || '') + listboxItem({...renderProps, size, isLink}, props.styles)}>\n {(renderProps) => {\n let {children} = props;\n return (\n <>\n <Provider\n values={[\n [IconContext, {\n slots: {\n icon: {render: centerBaseline({slot: 'icon', styles: iconCenterWrapper}), styles: icon}\n }\n }],\n [AvatarContext, {\n slots: {\n avatar: {size: avatarSize[size], styles: avatar}\n }\n }],\n [TextContext, {\n slots: {\n label: {styles: label({size})},\n description: {styles: description({...renderProps, size})}\n }\n }]\n ]}>\n {!isLink && !props.onAction && <CheckmarkIcon size={checkmarkIconSize[size]} className={checkmark({...renderProps, size})} />}\n {typeof children === 'string' ? <Text slot=\"label\">{children}</Text> : children}\n </Provider>\n </>\n );\n }}\n </ListBoxItem>\n );\n}\n\nexport interface ComboBoxSectionProps<T extends object> extends Omit<ListBoxSectionProps<T>, 'style' | 'className' | 'render' | keyof GlobalDOMAttributes> {}\nexport function ComboBoxSection<T extends object>(props: ComboBoxSectionProps<T>): ReactNode {\n let {size} = useContext(InternalComboboxContext);\n return (\n <>\n <AriaListBoxSection\n {...props}>\n {props.children}\n </AriaListBoxSection>\n <Divider size={size} />\n </>\n );\n}\n\nconst ComboboxInner = forwardRef(function ComboboxInner(props: ComboBoxProps<any> & {isOpen: boolean}, ref: ForwardedRef<TextFieldRef | null>) {\n let {\n direction = 'bottom',\n align = 'start',\n shouldFlip = true,\n menuWidth,\n label,\n description: descriptionMessage,\n errorMessage,\n children,\n defaultItems,\n items,\n size = 'M',\n labelPosition = 'top',\n labelAlign = 'start',\n necessityIndicator,\n loadingState,\n isDisabled,\n isOpen,\n isRequired,\n isInvalid,\n menuTrigger,\n onLoadMore\n } = props;\n\n let stringFormatter = useLocalizedStringFormatter(intlMessages, '@react-spectrum/s2');\n let inputRef = useRef<HTMLInputElement>(null);\n let domRef = useRef<HTMLDivElement>(null);\n let buttonRef = useRef<HTMLButtonElement>(null);\n // Expose imperative interface for ref\n useImperativeHandle(ref, () => ({\n ...createFocusableRef(domRef, inputRef),\n select() {\n if (inputRef.current) {\n inputRef.current.select();\n }\n },\n getInputElement() {\n return inputRef.current;\n }\n }));\n\n // Better way to encode this into a style? need to account for flipping\n let menuOffset: number;\n if (size === 'S') {\n menuOffset = 6;\n } else if (size === 'M') {\n menuOffset = 6;\n } else if (size === 'L') {\n menuOffset = 7;\n } else {\n menuOffset = 8;\n }\n\n let triggerRef = useRef<HTMLDivElement>(null);\n // Make menu width match input + button\n let [triggerWidth, setTriggerWidth] = useState<string | null>(null);\n let onResize = useCallback(() => {\n if (triggerRef.current) {\n let inputRect = triggerRef.current.getBoundingClientRect();\n let minX = inputRect.left;\n let maxX = inputRect.right;\n setTriggerWidth((maxX - minX) + 'px');\n }\n }, [triggerRef, setTriggerWidth]);\n\n useResizeObserver({\n ref: triggerRef,\n onResize: onResize\n });\n\n let state = useContext(ComboBoxStateContext);\n let timeout = useRef<ReturnType<typeof setTimeout> | null>(null);\n let [showLoading, setShowLoading] = useState(false);\n let isLoadingOrFiltering = loadingState === 'loading' || loadingState === 'filtering';\n {/* Logic copied from S1 */}\n let showFieldSpinner = useMemo(() => showLoading && (isOpen || menuTrigger === 'manual' || loadingState === 'loading'), [showLoading, isOpen, menuTrigger, loadingState]);\n let spinnerId = useSlotId([showFieldSpinner]);\n\n let inputValue = state?.inputValue;\n let lastInputValue = useRef(inputValue);\n useEffect(() => {\n if (isLoadingOrFiltering && !showLoading) {\n if (timeout.current === null) {\n timeout.current = setTimeout(() => {\n setShowLoading(true);\n }, 500);\n }\n\n // If user is typing, clear the timer and restart since it is a new request\n if (inputValue !== lastInputValue.current) {\n clearTimeout(timeout.current);\n timeout.current = setTimeout(() => {\n setShowLoading(true);\n }, 500);\n }\n } else if (!isLoadingOrFiltering) {\n // If loading is no longer happening, clear any timers and hide the loading circle\n setShowLoading(false);\n if (timeout.current) {\n clearTimeout(timeout.current);\n }\n timeout.current = null;\n }\n\n lastInputValue.current = inputValue;\n }, [isLoadingOrFiltering, showLoading, inputValue]);\n\n useEffect(() => {\n return () => {\n if (timeout.current) {\n clearTimeout(timeout.current);\n }\n timeout.current = null;\n };\n }, []);\n\n let renderer;\n let listBoxLoadingCircle = (\n <ListBoxLoadMoreItem\n // Only show the spinner in the list when loading more\n isLoading={loadingState === 'loadingMore'}\n onLoadMore={onLoadMore}\n className={loadingWrapperStyles}>\n <ProgressCircle\n isIndeterminate\n size=\"S\"\n styles={progressCircleStyles({size})}\n // Same loading string as table\n aria-label={stringFormatter.format('table.loadingMore')} />\n </ListBoxLoadMoreItem>\n );\n\n if (typeof children === 'function') {\n renderer = (\n <>\n <Collection items={items ?? defaultItems} dependencies={props.dependencies}>\n {children}\n </Collection>\n {listBoxLoadingCircle}\n </>\n );\n } else {\n // TODO: is there a case where the user might provide items to the Combobox but doesn't provide a function renderer?\n // Same case for other components that have this logic (TableView/CardView/Picker)\n renderer = (\n <>\n {children}\n {listBoxLoadingCircle}\n </>\n );\n }\n let scale = useScale();\n\n return (\n <>\n <InternalComboboxContext.Provider value={{size}}>\n <FieldLabel\n isDisabled={isDisabled}\n isRequired={isRequired}\n size={size}\n labelPosition={labelPosition}\n labelAlign={labelAlign}\n necessityIndicator={necessityIndicator}\n contextualHelp={props.contextualHelp}>\n {label}\n </FieldLabel>\n <FieldGroup\n ref={triggerRef}\n role=\"presentation\"\n isDisabled={isDisabled}\n isInvalid={isInvalid}\n size={size}\n styles={style({\n ...fieldInput(),\n paddingStart: 'edge-to-text',\n // better way to do this one? it's not actually half, they are\n // [9, 4], [12, 6], [15, 8], [18, 8]\n paddingEnd: 'calc(self(height, self(minHeight)) * 3 / 16 - self(borderEndWidth, 2px))'\n })({size})}>\n <InputContext.Consumer>\n {ctx => (\n <InputContext.Provider value={{...ctx, ref: mergeRefs((ctx as any)?.ref, inputRef)}}>\n <Input aria-describedby={spinnerId} />\n </InputContext.Provider>\n )}\n </InputContext.Consumer>\n {isInvalid && <FieldErrorIcon isDisabled={isDisabled} />}\n {showFieldSpinner && (\n <ProgressCircle\n id={spinnerId}\n isIndeterminate\n size=\"S\"\n styles={progressCircleStyles({size, isInput: true})}\n aria-label={stringFormatter.format('table.loading')} />\n )}\n <Button\n ref={buttonRef}\n // Prevent press scale from sticking while ComboBox is open.\n // @ts-ignore\n isPressed={false}\n style={renderProps => pressScale(buttonRef)(renderProps)}\n className={renderProps => inputButton({\n ...renderProps,\n size,\n isOpen\n })}>\n <ChevronIcon\n size={size}\n className={iconStyles} />\n </Button>\n </FieldGroup>\n <HelpText\n size={size}\n isDisabled={isDisabled}\n isInvalid={isInvalid}\n description={descriptionMessage}>\n {errorMessage}\n </HelpText>\n <Popover\n hideArrow\n triggerRef={triggerRef}\n offset={menuOffset}\n placement={`${direction} ${align}` as Placement}\n shouldFlip={shouldFlip}\n UNSAFE_style={{\n '--trigger-width': (menuWidth ? menuWidth + 'px' : triggerWidth)\n } as CSSProperties}\n padding=\"none\"\n styles={style({\n minWidth: '--trigger-width',\n width: '--trigger-width'\n })}>\n <div\n className={style({\n display: 'flex',\n size: 'full'\n })}>\n <Provider\n values={[\n [HeaderContext, {styles: listboxHeader({size})}],\n [HeadingContext, {\n // @ts-ignore\n role: 'presentation',\n styles: sectionHeading\n }],\n [TextContext, {\n slots: {\n 'description': {styles: description({size, isFocused: false, isDisabled: false})}\n }\n }]\n ]}>\n <Virtualizer\n layout={ListLayout}\n layoutOptions={{\n estimatedRowHeight: 32,\n padding: 8,\n estimatedHeadingHeight: 50,\n loaderHeight: LOADER_ROW_HEIGHTS[size][scale]\n }}>\n <ListBox\n dependencies={props.dependencies}\n renderEmptyState={() => (\n <span className={emptyStateText({size})}>\n {loadingState === 'loading' ? stringFormatter.format('table.loading') : stringFormatter.format('combobox.noResults')}\n </span>\n )}\n items={items}\n className={listbox({size})}>\n {renderer}\n </ListBox>\n </Virtualizer>\n </Provider>\n </div>\n </Popover>\n </InternalComboboxContext.Provider>\n </>\n );\n});\n\nclass SeparatorNode extends CollectionNode<any> {\n static readonly type = 'separator';\n\n filter(collection: BaseCollection<any>, newCollection: BaseCollection<any>): CollectionNode<any> | null {\n let prevItem = newCollection.getItem(this.prevKey!);\n if (prevItem && prevItem.type !== 'separator') {\n let clone = this.clone();\n newCollection.addDescendants(clone, collection);\n return clone;\n }\n\n return null;\n }\n}\n\nexport const Divider = /*#__PURE__*/ createLeafComponent(SeparatorNode, function Divider({size}: {size?: 'S' | 'M' | 'L' | 'XL'}, ref: ForwardedRef<HTMLDivElement>, node: Node<unknown>) {\n let listState = useContext(ListStateContext)!;\n\n let nextNode = node.nextKey != null && listState.collection.getItem(node.nextKey);\n if (node.prevKey == null || !nextNode || nextNode.type === 'separator' || (nextNode.type === 'loader' && nextNode.nextKey == null)) {\n return null;\n }\n\n return (\n <div className={separatorWrapper({size})}>\n <div ref={ref} className={dividerStyle} />\n </div>\n );\n});\n"],"names":[],"version":3,"file":"ComboBox.css.map"}
|
|
1
|
+
{"mappings":"ACkKoB;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAyCD;;;;EAAA;;;;EAAA;;;;EASU;;;;EAAA;;;;EAAA;;;;EASA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAcN;;;;EAAA;;;;;;;EAAA;;;;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAsBF;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAYI;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;;;;;EAAA;;;;EAAA;;;;EAAA;;;;;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAoDE;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAeF;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAcJ;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAUN;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAsDP;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;;;EAAA;;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EA2SU;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EA8DA;;;;EAAA;;;;EAKK;;;;EAAA;;;;EAAA;;;;;AA1mBH;EA+FC;;;;EAYI;;;;EAAA;;;;EAAA;;;;EAiJjB;;;;;AA5PY;EAAA;IAAA;;;;IAAA;;;;IAAA;;;;IAAA;;;;IAAA;;;;IAAA;;;;IAAA;;;;IA2GK;;;;IAAA;;;;IAiFJ;;;;;;AAjIQ;EAAA;IAAA;;;;IA2Id;;;;;;AA7HQ;EAAA;;;;;AAAA;EAAA;;;;;AAAA;EAAA;;;;;AAAA;EAAA;;;;;AAAA;EAAA;;;;;AAAA;EAAA;;;;;AAAA;EAAA;;;;;AA8dL;EAAA;IAAA","sources":["13beeca66baffd35","packages/@react-spectrum/s2/src/ComboBox.tsx"],"sourcesContent":["@import \"434b6dc809c84a70\";\n@import \"9807be49da09aafb\";\n@import \"affe2b90434aec6a\";\n@import \"96ebc07fe89537d3\";\n@import \"85ea669da1afabc2\";\n@import \"8168af80eec66ed5\";\n@import \"14203b4128acdfd2\";\n@import \"82b080edec7141b0\";\n@import \"507e1180fa9ffff0\";\n@import \"12f905ef6005085b\";\n@import \"82c0b597a48d07ec\";\n@import \"37bf4c12c54c2fbe\";\n@import \"fb17d87a01335bc9\";\n@import \"3bae6fac1e4833be\";\n@import \"0f8f22acb39cf5c5\";\n","/*\n * Copyright 2024 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {\n ComboBox as AriaComboBox,\n ComboBoxProps as AriaComboBoxProps,\n ComboBoxStateContext\n} from 'react-aria-components/ComboBox';\nimport {\n ListBoxSection as AriaListBoxSection,\n ListBox,\n ListBoxItem,\n ListBoxItemProps,\n ListBoxLoadMoreItem,\n ListBoxProps,\n ListBoxSectionProps,\n ListStateContext\n} from 'react-aria-components/ListBox';\nimport {PopoverProps as AriaPopoverProps, Placement} from 'react-aria-components/Popover';\nimport {\n AsyncLoadable,\n GlobalDOMAttributes,\n HelpTextProps,\n LoadingState,\n SingleSelection,\n SpectrumLabelableProps\n} from '@react-types/shared';\nimport {AvatarContext} from './Avatar';\nimport {BaseCollection, CollectionNode} from 'react-aria/private/collections/BaseCollection';\nimport {baseColor, centerPadding, focusRing, space, style} from '../style' with {type: 'macro'};\nimport {Button, ButtonRenderProps} from 'react-aria-components/Button';\nimport {centerBaseline} from './CenterBaseline';\nimport {checkmark, description, icon, iconCenterWrapper, label, sectionHeading} from './Menu';\nimport CheckmarkIcon from '../ui-icons/Checkmark';\nimport ChevronIcon from '../ui-icons/Chevron';\nimport {Collection} from 'react-aria/Collection';\nimport {ContextValue, Provider} from 'react-aria-components/slots';\nimport {\n control,\n controlBorderRadius,\n controlFont,\n controlSize,\n field,\n fieldInput,\n getAllowedOverrides,\n StyleProps\n} from './style-utils' with {type: 'macro'};\nimport {\n createContext,\n CSSProperties,\n ForwardedRef,\n forwardRef,\n ReactNode,\n Ref,\n useContext,\n useEffect,\n useImperativeHandle,\n useMemo,\n useRef,\n useState\n} from 'react';\nimport {createFocusableRef} from './useDOMRef';\nimport {createLeafComponent} from 'react-aria/CollectionBuilder';\nimport {edgeToText} from '../style/spectrum-theme' with {type: 'macro'};\nimport {FieldErrorIcon, FieldGroup, FieldLabel, HelpText, Input} from './Field';\nimport {FormContext, useFormProps} from './Form';\nimport {forwardRefType} from './types';\nimport {HeaderContext, HeadingContext, Text, TextContext} from './Content';\nimport {IconContext} from './Icon';\nimport {InputContext, InputProps} from 'react-aria-components/Input';\nimport intlMessages from '../intl/*.json';\nimport {ListLayout} from 'react-stately/useVirtualizerState';\nimport {mergeRefs} from 'react-aria/mergeRefs';\nimport {Node} from '@react-types/shared';\nimport {Popover} from './Popover';\nimport {pressScale} from './pressScale';\nimport {ProgressCircle} from './ProgressCircle';\nimport {TextFieldRef} from './TextField';\nimport {useLocalizedStringFormatter} from 'react-aria/useLocalizedStringFormatter';\nimport {useScale} from './utils';\nimport {useSlotId} from 'react-aria/private/utils/useId';\nimport {useSpectrumContextProps} from './useSpectrumContextProps';\nimport {Virtualizer} from 'react-aria-components/Virtualizer';\n\nexport interface ComboboxStyleProps {\n /**\n * The size of the Combobox.\n *\n * @default 'M'\n */\n size?: 'S' | 'M' | 'L' | 'XL';\n /**\n * The prefix to display in the ComboBox. A non-interactive element that appears before the input.\n */\n prefix?: ReactNode;\n}\nexport interface ComboBoxProps<T>\n extends\n Omit<\n AriaComboBoxProps<T>,\n | 'children'\n | 'style'\n | 'className'\n | 'render'\n | 'defaultFilter'\n | 'allowsEmptyCollection'\n | 'selectionMode'\n | 'selectedKey'\n | 'defaultSelectedKey'\n | 'onSelectionChange'\n | 'value'\n | 'defaultValue'\n | 'onChange'\n | keyof GlobalDOMAttributes\n >,\n Omit<SingleSelection, 'disallowEmptySelection'>,\n ComboboxStyleProps,\n StyleProps,\n SpectrumLabelableProps,\n HelpTextProps,\n Pick<ListBoxProps<T>, 'items' | 'dependencies'>,\n Pick<AriaPopoverProps, 'shouldFlip'>,\n Pick<AsyncLoadable, 'onLoadMore'>,\n Pick<InputProps, 'placeholder'> {\n /** The contents of the collection. */\n children: ReactNode | ((item: T) => ReactNode);\n /**\n * Direction the menu will render relative to the ComboBox.\n *\n * @default 'bottom'\n */\n direction?: 'bottom' | 'top';\n /**\n * Alignment of the menu relative to the input target.\n *\n * @default 'start'\n */\n align?: 'start' | 'end';\n /**\n * Width of the menu. By default, matches width of the trigger. Note that the minimum width of the\n * dropdown is always equal to the trigger's width.\n */\n menuWidth?: number;\n /**\n * The current loading state of the ComboBox. Determines whether or not the progress circle should\n * be shown.\n */\n loadingState?: LoadingState;\n}\n\nexport const ComboBoxContext =\n createContext<ContextValue<Partial<ComboBoxProps<any>>, TextFieldRef>>(null);\n\nconst inputButton = style<ButtonRenderProps & {isOpen: boolean; size: 'S' | 'M' | 'L' | 'XL'}>({\n ...controlBorderRadius('sm'),\n display: 'flex',\n outlineStyle: 'none',\n textAlign: 'center',\n borderStyle: 'none',\n alignItems: 'center',\n justifyContent: 'center',\n size: {\n size: {\n S: 16,\n M: 20,\n L: 24,\n XL: 32\n }\n },\n marginStart: 'text-to-control',\n aspectRatio: 'square',\n flexShrink: 0,\n transition: {\n default: 'default',\n forcedColors: 'none'\n },\n backgroundColor: {\n default: baseColor('gray-100'),\n isOpen: 'gray-200',\n isDisabled: 'disabled',\n forcedColors: {\n default: 'ButtonText',\n isHovered: 'Highlight',\n isOpen: 'Highlight',\n isDisabled: 'GrayText'\n }\n },\n color: {\n default: baseColor('neutral'),\n isDisabled: 'disabled',\n forcedColors: 'ButtonFace'\n }\n});\n\nconst iconStyles = style({\n flexShrink: 0,\n rotate: 90,\n '--iconPrimary': {\n type: 'fill',\n value: 'currentColor'\n }\n});\n\nconst loadingWrapperStyles = style({\n gridColumnStart: '1',\n gridColumnEnd: '-1',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n marginY: 8\n});\n\nconst progressCircleStyles = style({\n size: {\n size: {\n S: 16,\n M: 20,\n L: 22,\n XL: 26\n }\n },\n marginStart: {\n isInput: 'text-to-visual'\n }\n});\n\nconst emptyStateText = style({\n height: {\n size: {\n S: 24,\n M: 32,\n L: 40,\n XL: 48\n }\n },\n font: {\n size: {\n S: 'ui-sm',\n M: 'ui',\n L: 'ui-lg',\n XL: 'ui-xl'\n }\n },\n display: 'flex',\n alignItems: 'center',\n paddingStart: 'edge-to-text'\n});\n\nexport let listbox = style<{size: 'S' | 'M' | 'L' | 'XL'}>({\n width: 'full',\n boxSizing: 'border-box',\n maxHeight: '[inherit]',\n // TODO: Might help with horizontal scrolling happening on Windows, will need to check somehow. Otherwise, revert back to overflow: auto\n overflowY: 'auto',\n overflowX: 'hidden',\n fontFamily: 'sans',\n fontSize: controlFont(),\n outlineStyle: 'none'\n});\n\nexport let listboxItem = style(\n {\n ...focusRing(),\n ...control({shape: 'default', wrap: true, icon: true}),\n columnGap: 0,\n paddingX: 0,\n paddingBottom: '--labelPadding',\n backgroundColor: {\n default: 'transparent',\n isFocused: baseColor('gray-100').isFocusVisible\n },\n color: {\n default: baseColor('neutral'),\n isDisabled: {\n default: 'disabled',\n forcedColors: 'GrayText'\n }\n },\n position: 'relative',\n gridColumnStart: 1,\n gridColumnEnd: -1,\n display: 'grid',\n gridTemplateAreas: ['. checkmark icon label .', '. . . description .'],\n gridTemplateColumns: {\n size: {\n S: [edgeToText(24), 'auto', 'auto', 'minmax(0, 1fr)', edgeToText(24)],\n M: [edgeToText(32), 'auto', 'auto', 'minmax(0, 1fr)', edgeToText(32)],\n L: [edgeToText(40), 'auto', 'auto', 'minmax(0, 1fr)', edgeToText(40)],\n XL: [edgeToText(48), 'auto', 'auto', 'minmax(0, 1fr)', edgeToText(48)]\n }\n },\n gridTemplateRows: {\n // min-content prevents second row from 'auto'ing to a size larger then 0 when empty\n default: 'auto minmax(0, min-content)',\n ':has([slot=description])': 'auto auto'\n },\n rowGap: {\n ':has([slot=description])': space(1)\n },\n alignItems: 'baseline',\n minHeight: controlSize(),\n height: 'min',\n textDecoration: 'none',\n cursor: {\n default: 'default',\n isLink: 'pointer'\n },\n transition: 'transform'\n },\n getAllowedOverrides()\n);\n\nexport let listboxHeader = style<{size?: 'S' | 'M' | 'L' | 'XL'}>({\n color: 'neutral',\n boxSizing: 'border-box',\n minHeight: controlSize(),\n paddingY: centerPadding(),\n marginX: {\n size: {\n S: `[${edgeToText(24)}]`,\n M: `[${edgeToText(32)}]`,\n L: `[${edgeToText(40)}]`,\n XL: `[${edgeToText(48)}]`\n }\n }\n});\n\nconst separatorWrapper = style({\n display: 'flex',\n marginX: {\n size: {\n S: `[${edgeToText(24)}]`,\n M: `[${edgeToText(32)}]`,\n L: `[${edgeToText(40)}]`,\n XL: `[${edgeToText(48)}]`\n }\n },\n height: 12,\n alignItems: 'center'\n});\n\nconst dividerStyle = style({\n backgroundColor: {\n default: 'gray-200',\n forcedColors: 'ButtonBorder'\n },\n borderRadius: 'full',\n height: '[2px]',\n width: 'full'\n});\n\nconst avatar = style({\n gridArea: 'icon',\n marginEnd: 'text-to-visual'\n});\n\n// Not from any design, just following the sizing of the existing rows\nexport const LOADER_ROW_HEIGHTS = {\n S: {\n medium: 24,\n large: 30\n },\n M: {\n medium: 32,\n large: 40\n },\n L: {\n medium: 40,\n large: 50\n },\n XL: {\n medium: 48,\n large: 60\n }\n};\n\nlet InternalComboboxContext = createContext<{size: 'S' | 'M' | 'L' | 'XL'}>({size: 'M'});\n\n/**\n * ComboBox allow users to choose a single option from a collapsible list of options when space is\n * limited.\n */\nexport const ComboBox = /*#__PURE__*/ (forwardRef as forwardRefType)(function ComboBox<T>(\n props: ComboBoxProps<T>,\n ref: Ref<TextFieldRef>\n) {\n [props, ref] = useSpectrumContextProps(props, ref, ComboBoxContext);\n\n let formContext = useContext(FormContext);\n props = useFormProps(props);\n let {\n size = 'M',\n labelPosition = 'top',\n UNSAFE_className = '',\n UNSAFE_style,\n ...comboBoxProps\n } = props;\n\n return (\n <AriaComboBox\n {...comboBoxProps}\n allowsEmptyCollection\n style={UNSAFE_style}\n className={\n UNSAFE_className +\n style(field(), getAllowedOverrides())(\n {\n isInForm: !!formContext,\n labelPosition,\n size\n },\n props.styles\n )\n }>\n {({isDisabled, isOpen, isRequired, isInvalid}) => (\n <ComboboxInner\n {...props}\n isDisabled={isDisabled}\n isOpen={isOpen}\n isRequired={isRequired}\n isInvalid={isInvalid}\n ref={ref}\n />\n )}\n </AriaComboBox>\n );\n});\n\nexport interface ComboBoxItemProps\n extends\n Omit<\n ListBoxItemProps,\n | 'children'\n | 'style'\n | 'className'\n | 'render'\n | 'onClick'\n | 'onKeyDown'\n | 'onKeyUp'\n | keyof GlobalDOMAttributes\n >,\n StyleProps {\n children: ReactNode;\n}\n\nconst avatarSize = {\n S: 16,\n M: 20,\n L: 22,\n XL: 26\n} as const;\n\nconst checkmarkIconSize = {\n S: 'XS',\n M: 'M',\n L: 'L',\n XL: 'XL'\n} as const;\n\nexport function ComboBoxItem(props: ComboBoxItemProps): ReactNode {\n let ref = useRef(null);\n let isLink = props.href != null;\n let {size} = useContext(InternalComboboxContext);\n return (\n <ListBoxItem\n {...props}\n ref={ref}\n textValue={\n props.textValue ||\n (typeof props.children === 'string' ? (props.children as string) : undefined)\n }\n style={pressScale(ref, props.UNSAFE_style)}\n className={renderProps =>\n (props.UNSAFE_className || '') + listboxItem({...renderProps, size, isLink}, props.styles)\n }>\n {renderProps => {\n let {children} = props;\n return (\n <>\n <Provider\n values={[\n [\n IconContext,\n {\n slots: {\n icon: {\n render: centerBaseline({slot: 'icon', styles: iconCenterWrapper}),\n styles: icon\n }\n }\n }\n ],\n [\n AvatarContext,\n {\n slots: {\n avatar: {size: avatarSize[size], styles: avatar}\n }\n }\n ],\n [\n TextContext,\n {\n slots: {\n label: {styles: label({size})},\n description: {styles: description({...renderProps, size})}\n }\n }\n ]\n ]}>\n {!isLink && !props.onAction && (\n <CheckmarkIcon\n size={checkmarkIconSize[size]}\n className={checkmark({...renderProps, size})}\n />\n )}\n {typeof children === 'string' ? <Text slot=\"label\">{children}</Text> : children}\n </Provider>\n </>\n );\n }}\n </ListBoxItem>\n );\n}\n\nexport interface ComboBoxSectionProps<T> extends Omit<\n ListBoxSectionProps<T>,\n 'style' | 'className' | 'render' | keyof GlobalDOMAttributes\n> {}\nexport function ComboBoxSection<T>(props: ComboBoxSectionProps<T>): ReactNode {\n let {size} = useContext(InternalComboboxContext);\n return (\n <>\n <AriaListBoxSection {...props}>{props.children}</AriaListBoxSection>\n <Divider size={size} />\n </>\n );\n}\n\nconst ComboboxInner = forwardRef(function ComboboxInner(\n props: ComboBoxProps<any> & {isOpen: boolean},\n ref: ForwardedRef<TextFieldRef | null>\n) {\n let {\n direction = 'bottom',\n align = 'start',\n shouldFlip = true,\n menuWidth,\n label,\n description: descriptionMessage,\n errorMessage,\n children,\n defaultItems,\n items,\n size = 'M',\n labelPosition = 'top',\n labelAlign = 'start',\n necessityIndicator,\n loadingState,\n isDisabled,\n isOpen,\n isRequired,\n isInvalid,\n menuTrigger,\n onLoadMore\n } = props;\n\n let stringFormatter = useLocalizedStringFormatter(intlMessages, '@react-spectrum/s2');\n let inputRef = useRef<HTMLInputElement>(null);\n let domRef = useRef<HTMLDivElement>(null);\n let buttonRef = useRef<HTMLButtonElement>(null);\n // Expose imperative interface for ref\n useImperativeHandle(ref, () => ({\n ...createFocusableRef(domRef, inputRef),\n select() {\n if (inputRef.current) {\n inputRef.current.select();\n }\n },\n getInputElement() {\n return inputRef.current;\n }\n }));\n\n // Better way to encode this into a style? need to account for flipping\n let menuOffset: number;\n if (size === 'S') {\n menuOffset = 6;\n } else if (size === 'M') {\n menuOffset = 6;\n } else if (size === 'L') {\n menuOffset = 7;\n } else {\n menuOffset = 8;\n }\n\n let state = useContext(ComboBoxStateContext);\n let timeout = useRef<ReturnType<typeof setTimeout> | null>(null);\n let [showLoading, setShowLoading] = useState(false);\n let isLoadingOrFiltering = loadingState === 'loading' || loadingState === 'filtering';\n {\n /* Logic copied from S1 */\n }\n let showFieldSpinner = useMemo(\n () => showLoading && (isOpen || menuTrigger === 'manual' || loadingState === 'loading'),\n [showLoading, isOpen, menuTrigger, loadingState]\n );\n let spinnerId = useSlotId([showFieldSpinner]);\n\n let inputValue = state?.inputValue;\n let lastInputValue = useRef(inputValue);\n useEffect(() => {\n if (isLoadingOrFiltering && !showLoading) {\n if (timeout.current === null) {\n timeout.current = setTimeout(() => {\n setShowLoading(true);\n }, 500);\n }\n\n // If user is typing, clear the timer and restart since it is a new request\n if (inputValue !== lastInputValue.current) {\n clearTimeout(timeout.current);\n timeout.current = setTimeout(() => {\n setShowLoading(true);\n }, 500);\n }\n } else if (!isLoadingOrFiltering) {\n // If loading is no longer happening, clear any timers and hide the loading circle\n setShowLoading(false);\n if (timeout.current) {\n clearTimeout(timeout.current);\n }\n timeout.current = null;\n }\n\n lastInputValue.current = inputValue;\n }, [isLoadingOrFiltering, showLoading, inputValue]);\n\n useEffect(() => {\n return () => {\n if (timeout.current) {\n clearTimeout(timeout.current);\n }\n timeout.current = null;\n };\n }, []);\n\n let renderer;\n let listBoxLoadingCircle = (\n <ListBoxLoadMoreItem\n // Only show the spinner in the list when loading more\n isLoading={loadingState === 'loadingMore'}\n onLoadMore={onLoadMore}\n className={loadingWrapperStyles}>\n <ProgressCircle\n isIndeterminate\n size=\"S\"\n styles={progressCircleStyles({size})}\n // Same loading string as table\n aria-label={stringFormatter.format('table.loadingMore')}\n />\n </ListBoxLoadMoreItem>\n );\n\n if (typeof children === 'function') {\n renderer = (\n <>\n <Collection items={items ?? defaultItems} dependencies={props.dependencies}>\n {children}\n </Collection>\n {listBoxLoadingCircle}\n </>\n );\n } else {\n // TODO: is there a case where the user might provide items to the Combobox but doesn't provide a function renderer?\n // Same case for other components that have this logic (TableView/CardView/Picker)\n renderer = (\n <>\n {children}\n {listBoxLoadingCircle}\n </>\n );\n }\n let scale = useScale();\n\n return (\n <>\n <InternalComboboxContext.Provider value={{size}}>\n <FieldLabel\n isDisabled={isDisabled}\n isRequired={isRequired}\n size={size}\n labelPosition={labelPosition}\n labelAlign={labelAlign}\n necessityIndicator={necessityIndicator}\n contextualHelp={props.contextualHelp}>\n {label}\n </FieldLabel>\n <FieldGroup\n prefix={props.prefix}\n role=\"presentation\"\n isDisabled={isDisabled}\n isInvalid={isInvalid}\n size={size}\n styles={style({\n ...fieldInput(),\n paddingStart: 'edge-to-text',\n // better way to do this one? it's not actually half, they are\n // [9, 4], [12, 6], [15, 8], [18, 8]\n paddingEnd: 'calc(self(height, self(minHeight)) * 3 / 16 - self(borderEndWidth, 2px))'\n })({size})}>\n <InputContext.Consumer>\n {ctx => (\n <InputContext.Provider\n value={{\n ...ctx,\n ref: mergeRefs((ctx as any)?.ref, inputRef)\n }}>\n <Input aria-describedby={spinnerId} />\n </InputContext.Provider>\n )}\n </InputContext.Consumer>\n {isInvalid && <FieldErrorIcon isDisabled={isDisabled} />}\n {showFieldSpinner && (\n <ProgressCircle\n id={spinnerId}\n isIndeterminate\n size=\"S\"\n styles={progressCircleStyles({size, isInput: true})}\n aria-label={stringFormatter.format('table.loading')}\n />\n )}\n <Button\n ref={buttonRef}\n // Prevent press scale from sticking while ComboBox is open.\n // @ts-ignore\n isPressed={false}\n style={renderProps => pressScale(buttonRef)(renderProps)}\n className={renderProps =>\n inputButton({\n ...renderProps,\n size,\n isOpen\n })\n }>\n <ChevronIcon size={size} className={iconStyles} />\n </Button>\n </FieldGroup>\n <HelpText\n size={size}\n isDisabled={isDisabled}\n isInvalid={isInvalid}\n description={descriptionMessage}>\n {errorMessage}\n </HelpText>\n <Popover\n hideArrow\n offset={menuOffset}\n placement={`${direction} ${align}` as Placement}\n shouldFlip={shouldFlip}\n UNSAFE_style={\n {\n '--trigger-width': menuWidth ? menuWidth + 'px' : undefined\n } as CSSProperties\n }\n padding=\"none\"\n styles={style({\n minWidth: '--trigger-width',\n width: '--trigger-width'\n })}>\n <div\n className={style({\n display: 'flex',\n size: 'full'\n })}>\n <Provider\n values={[\n [HeaderContext, {styles: listboxHeader({size})}],\n [\n HeadingContext,\n {\n // @ts-ignore\n role: 'presentation',\n styles: sectionHeading\n }\n ],\n [\n TextContext,\n {\n slots: {\n description: {\n styles: description({size, isFocused: false, isDisabled: false})\n }\n }\n }\n ]\n ]}>\n <Virtualizer\n layout={ListLayout}\n layoutOptions={{\n estimatedRowHeight: 32,\n padding: 8,\n estimatedHeadingHeight: 50,\n loaderHeight: LOADER_ROW_HEIGHTS[size][scale]\n }}>\n <ListBox\n dependencies={props.dependencies}\n renderEmptyState={() => (\n <span className={emptyStateText({size})}>\n {loadingState === 'loading'\n ? stringFormatter.format('table.loading')\n : stringFormatter.format('combobox.noResults')}\n </span>\n )}\n items={items}\n className={listbox({size})}>\n {renderer}\n </ListBox>\n </Virtualizer>\n </Provider>\n </div>\n </Popover>\n </InternalComboboxContext.Provider>\n </>\n );\n});\n\nclass SeparatorNode extends CollectionNode<any> {\n static readonly type = 'separator';\n\n filter(\n collection: BaseCollection<any>,\n newCollection: BaseCollection<any>\n ): CollectionNode<any> | null {\n let prevItem = newCollection.getItem(this.prevKey!);\n if (prevItem && prevItem.type !== 'separator') {\n let clone = this.clone();\n newCollection.addDescendants(clone, collection);\n return clone;\n }\n\n return null;\n }\n}\n\nexport const Divider = /*#__PURE__*/ createLeafComponent(\n SeparatorNode,\n function Divider(\n {size}: {size?: 'S' | 'M' | 'L' | 'XL'},\n ref: ForwardedRef<HTMLDivElement>,\n node: Node<unknown>\n ) {\n let listState = useContext(ListStateContext)!;\n\n let nextNode = node.nextKey != null && listState.collection.getItem(node.nextKey);\n if (\n node.prevKey == null ||\n !nextNode ||\n nextNode.type === 'separator' ||\n (nextNode.type === 'loader' && nextNode.nextKey == null)\n ) {\n return null;\n }\n\n return (\n <div className={separatorWrapper({size})}>\n <div ref={ref} className={dividerStyle} />\n </div>\n );\n }\n);\n"],"names":[],"version":3,"file":"ComboBox.css.map"}
|