@adobe/react-spectrum 3.47.0 → 3.47.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/exports/Accordion.cjs.map +1 -1
- package/dist/exports/Accordion.js.map +1 -1
- package/dist/exports/Accordion.mjs.map +1 -1
- package/dist/exports/ProgressCircle.cjs.map +1 -1
- package/dist/exports/ProgressCircle.js.map +1 -1
- package/dist/exports/ProgressCircle.mjs.map +1 -1
- package/dist/exports/Provider.cjs.map +1 -1
- package/dist/exports/Provider.js.map +1 -1
- package/dist/exports/Provider.mjs.map +1 -1
- package/dist/exports/TableView.cjs.map +1 -1
- package/dist/exports/TableView.js.map +1 -1
- package/dist/exports/TableView.mjs.map +1 -1
- package/dist/exports/Tabs.cjs.map +1 -1
- package/dist/exports/Tabs.js.map +1 -1
- package/dist/exports/Tabs.mjs.map +1 -1
- package/dist/exports/Toast.cjs.map +1 -1
- package/dist/exports/Toast.js.map +1 -1
- package/dist/exports/Toast.mjs.map +1 -1
- package/dist/exports/TreeView.cjs.map +1 -1
- package/dist/exports/TreeView.js.map +1 -1
- package/dist/exports/TreeView.mjs.map +1 -1
- package/dist/exports/index.cjs.map +1 -1
- package/dist/exports/index.js.map +1 -1
- package/dist/exports/index.mjs.map +1 -1
- package/dist/exports/private/autocomplete/SearchAutocomplete.cjs.map +1 -1
- package/dist/exports/private/autocomplete/SearchAutocomplete.js.map +1 -1
- package/dist/exports/private/autocomplete/SearchAutocomplete.mjs.map +1 -1
- package/dist/exports/private/card/types.cjs.map +1 -1
- package/dist/exports/private/card/types.js.map +1 -1
- package/dist/exports/private/card/types.mjs.map +1 -1
- package/dist/exports/private/icon/Illustration.cjs.map +1 -1
- package/dist/exports/private/icon/Illustration.js.map +1 -1
- package/dist/exports/private/icon/Illustration.mjs.map +1 -1
- package/dist/exports/private/progress/ProgressBarBase.cjs.map +1 -1
- package/dist/exports/private/progress/ProgressBarBase.js.map +1 -1
- package/dist/exports/private/progress/ProgressBarBase.mjs.map +1 -1
- package/dist/exports/private/utils/BreakpointProvider.cjs.map +1 -1
- package/dist/exports/private/utils/BreakpointProvider.js.map +1 -1
- package/dist/exports/private/utils/BreakpointProvider.mjs.map +1 -1
- package/dist/exports/private/utils/classNames.cjs.map +1 -1
- package/dist/exports/private/utils/classNames.js.map +1 -1
- package/dist/exports/private/utils/classNames.mjs.map +1 -1
- package/dist/exports/private/utils/styleProps.cjs.map +1 -1
- package/dist/exports/private/utils/styleProps.js.map +1 -1
- package/dist/exports/private/utils/styleProps.mjs.map +1 -1
- package/dist/exports/private/utils/useDOMRef.cjs.map +1 -1
- package/dist/exports/private/utils/useDOMRef.js.map +1 -1
- package/dist/exports/private/utils/useDOMRef.mjs.map +1 -1
- package/dist/exports/useAsyncList.cjs.map +1 -1
- package/dist/exports/useAsyncList.js.map +1 -1
- package/dist/exports/useAsyncList.mjs.map +1 -1
- package/dist/exports/useDragAndDrop.cjs.map +1 -1
- package/dist/exports/useDragAndDrop.js.map +1 -1
- package/dist/exports/useDragAndDrop.mjs.map +1 -1
- package/dist/private/accordion/Accordion.cjs.map +1 -1
- package/dist/private/accordion/Accordion.js.map +1 -1
- package/dist/private/accordion/Accordion.mjs.map +1 -1
- package/dist/private/accordion_vars.css +26 -24
- package/dist/private/accordion_vars.css.map +1 -1
- package/dist/private/accordion_vars_css.cjs +13 -13
- package/dist/private/accordion_vars_css.mjs +13 -13
- package/dist/private/actionbar/ActionBar.cjs.map +1 -1
- package/dist/private/actionbar/ActionBar.js.map +1 -1
- package/dist/private/actionbar/ActionBar.mjs.map +1 -1
- package/dist/private/actionbar/ActionBarContainer.cjs.map +1 -1
- package/dist/private/actionbar/ActionBarContainer.js.map +1 -1
- package/dist/private/actionbar/ActionBarContainer.mjs.map +1 -1
- package/dist/private/actionbar/actionbar.css +17 -16
- package/dist/private/actionbar/actionbar.css.map +1 -1
- package/dist/private/actionbar/actionbar_css.cjs +10 -10
- package/dist/private/actionbar/actionbar_css.cjs.map +1 -1
- package/dist/private/actionbar/actionbar_css.mjs +10 -10
- package/dist/private/actionbar/actionbar_css.mjs.map +1 -1
- package/dist/private/actiongroup/ActionGroup.cjs +6 -3
- package/dist/private/actiongroup/ActionGroup.cjs.map +1 -1
- package/dist/private/actiongroup/ActionGroup.js +6 -3
- package/dist/private/actiongroup/ActionGroup.js.map +1 -1
- package/dist/private/actiongroup/ActionGroup.mjs +6 -3
- package/dist/private/actiongroup/ActionGroup.mjs.map +1 -1
- package/dist/private/actiongroup_vars.css +34 -34
- package/dist/private/actiongroup_vars.css.map +1 -1
- package/dist/private/actiongroup_vars_css.cjs +16 -16
- package/dist/private/actiongroup_vars_css.mjs +16 -16
- package/dist/private/autocomplete/MobileSearchAutocomplete.cjs.map +1 -1
- package/dist/private/autocomplete/MobileSearchAutocomplete.js.map +1 -1
- package/dist/private/autocomplete/MobileSearchAutocomplete.mjs.map +1 -1
- package/dist/private/autocomplete/SearchAutocomplete.cjs.map +1 -1
- package/dist/private/autocomplete/SearchAutocomplete.js.map +1 -1
- package/dist/private/autocomplete/SearchAutocomplete.mjs.map +1 -1
- package/dist/private/avatar/Avatar.cjs.map +1 -1
- package/dist/private/avatar/Avatar.js.map +1 -1
- package/dist/private/avatar/Avatar.mjs.map +1 -1
- package/dist/private/badge/Badge.cjs.map +1 -1
- package/dist/private/badge/Badge.js.map +1 -1
- package/dist/private/badge/Badge.mjs.map +1 -1
- package/dist/private/badge_vars.css +39 -38
- package/dist/private/badge_vars.css.map +1 -1
- package/dist/private/badge_vars_css.cjs +20 -20
- package/dist/private/badge_vars_css.mjs +20 -20
- package/dist/private/barloader_vars.css +55 -54
- package/dist/private/barloader_vars.css.map +1 -1
- package/dist/private/barloader_vars_css.cjs +21 -21
- package/dist/private/barloader_vars_css.cjs.map +1 -1
- package/dist/private/barloader_vars_css.mjs +21 -21
- package/dist/private/barloader_vars_css.mjs.map +1 -1
- package/dist/private/breadcrumb_vars.css +56 -55
- package/dist/private/breadcrumb_vars.css.map +1 -1
- package/dist/private/breadcrumb_vars_css.cjs +20 -20
- package/dist/private/breadcrumb_vars_css.mjs +20 -20
- package/dist/private/breadcrumbs/BreadcrumbItem.cjs.map +1 -1
- package/dist/private/breadcrumbs/BreadcrumbItem.js.map +1 -1
- package/dist/private/breadcrumbs/BreadcrumbItem.mjs.map +1 -1
- package/dist/private/breadcrumbs/Breadcrumbs.cjs.map +1 -1
- package/dist/private/breadcrumbs/Breadcrumbs.js.map +1 -1
- package/dist/private/breadcrumbs/Breadcrumbs.mjs.map +1 -1
- package/dist/private/button/ActionButton.cjs.map +1 -1
- package/dist/private/button/ActionButton.js.map +1 -1
- package/dist/private/button/ActionButton.mjs.map +1 -1
- package/dist/private/button/Button.cjs +1 -1
- package/dist/private/button/Button.cjs.map +1 -1
- package/dist/private/button/Button.js +1 -1
- package/dist/private/button/Button.js.map +1 -1
- package/dist/private/button/Button.mjs +1 -1
- package/dist/private/button/Button.mjs.map +1 -1
- package/dist/private/button/ClearButton.cjs.map +1 -1
- package/dist/private/button/ClearButton.js.map +1 -1
- package/dist/private/button/ClearButton.mjs.map +1 -1
- package/dist/private/button/FieldButton.cjs.map +1 -1
- package/dist/private/button/FieldButton.js.map +1 -1
- package/dist/private/button/FieldButton.mjs.map +1 -1
- package/dist/private/button/LogicButton.cjs.map +1 -1
- package/dist/private/button/LogicButton.js.map +1 -1
- package/dist/private/button/LogicButton.mjs.map +1 -1
- package/dist/private/button/ToggleButton.cjs.map +1 -1
- package/dist/private/button/ToggleButton.js.map +1 -1
- package/dist/private/button/ToggleButton.mjs.map +1 -1
- package/dist/private/button_vars.css +207 -205
- package/dist/private/button_vars.css.map +1 -1
- package/dist/private/button_vars_css.cjs +39 -39
- package/dist/private/button_vars_css.mjs +39 -39
- package/dist/private/buttongroup/ButtonGroup.cjs.map +1 -1
- package/dist/private/buttongroup/ButtonGroup.js.map +1 -1
- package/dist/private/buttongroup/ButtonGroup.mjs.map +1 -1
- package/dist/private/calendar/Calendar.cjs.map +1 -1
- package/dist/private/calendar/Calendar.js.map +1 -1
- package/dist/private/calendar/Calendar.mjs.map +1 -1
- package/dist/private/calendar/CalendarBase.cjs.map +1 -1
- package/dist/private/calendar/CalendarBase.js.map +1 -1
- package/dist/private/calendar/CalendarBase.mjs.map +1 -1
- package/dist/private/calendar/CalendarCell.cjs.map +1 -1
- package/dist/private/calendar/CalendarCell.js.map +1 -1
- package/dist/private/calendar/CalendarCell.mjs.map +1 -1
- package/dist/private/calendar/CalendarMonth.cjs.map +1 -1
- package/dist/private/calendar/CalendarMonth.js.map +1 -1
- package/dist/private/calendar/CalendarMonth.mjs.map +1 -1
- package/dist/private/calendar/RangeCalendar.cjs.map +1 -1
- package/dist/private/calendar/RangeCalendar.js.map +1 -1
- package/dist/private/calendar/RangeCalendar.mjs.map +1 -1
- package/dist/private/calendar_vars.css +90 -88
- package/dist/private/calendar_vars.css.map +1 -1
- package/dist/private/calendar_vars_css.cjs +36 -36
- package/dist/private/calendar_vars_css.cjs.map +1 -1
- package/dist/private/calendar_vars_css.mjs +36 -36
- package/dist/private/calendar_vars_css.mjs.map +1 -1
- package/dist/private/card/BaseLayout.cjs.map +1 -1
- package/dist/private/card/BaseLayout.js.map +1 -1
- package/dist/private/card/BaseLayout.mjs.map +1 -1
- package/dist/private/card/Card.cjs.map +1 -1
- package/dist/private/card/Card.js.map +1 -1
- package/dist/private/card/Card.mjs.map +1 -1
- package/dist/private/card/CardBase.cjs +2 -1
- package/dist/private/card/CardBase.cjs.map +1 -1
- package/dist/private/card/CardBase.js +2 -1
- package/dist/private/card/CardBase.js.map +1 -1
- package/dist/private/card/CardBase.mjs +2 -1
- package/dist/private/card/CardBase.mjs.map +1 -1
- package/dist/private/card/CardView.cjs.map +1 -1
- package/dist/private/card/CardView.js.map +1 -1
- package/dist/private/card/CardView.mjs.map +1 -1
- package/dist/private/card/CardViewContext.cjs.map +1 -1
- package/dist/private/card/CardViewContext.js.map +1 -1
- package/dist/private/card/CardViewContext.mjs.map +1 -1
- package/dist/private/card/GalleryLayout.cjs +6 -6
- package/dist/private/card/GalleryLayout.cjs.map +1 -1
- package/dist/private/card/GalleryLayout.js +6 -6
- package/dist/private/card/GalleryLayout.js.map +1 -1
- package/dist/private/card/GalleryLayout.mjs +6 -6
- package/dist/private/card/GalleryLayout.mjs.map +1 -1
- package/dist/private/card/GridLayout.cjs +9 -9
- package/dist/private/card/GridLayout.cjs.map +1 -1
- package/dist/private/card/GridLayout.js +9 -9
- package/dist/private/card/GridLayout.js.map +1 -1
- package/dist/private/card/GridLayout.mjs +9 -9
- package/dist/private/card/GridLayout.mjs.map +1 -1
- package/dist/private/card/WaterfallLayout.cjs +2 -2
- package/dist/private/card/WaterfallLayout.cjs.map +1 -1
- package/dist/private/card/WaterfallLayout.js +2 -2
- package/dist/private/card/WaterfallLayout.js.map +1 -1
- package/dist/private/card/WaterfallLayout.mjs +2 -2
- package/dist/private/card/WaterfallLayout.mjs.map +1 -1
- package/dist/private/card_vars.css +311 -287
- package/dist/private/card_vars.css.map +1 -1
- package/dist/private/card_vars_css.cjs +36 -36
- package/dist/private/card_vars_css.mjs +36 -36
- package/dist/private/checkbox/Checkbox.cjs +2 -1
- package/dist/private/checkbox/Checkbox.cjs.map +1 -1
- package/dist/private/checkbox/Checkbox.js +2 -1
- package/dist/private/checkbox/Checkbox.js.map +1 -1
- package/dist/private/checkbox/Checkbox.mjs +2 -1
- package/dist/private/checkbox/Checkbox.mjs.map +1 -1
- package/dist/private/checkbox/CheckboxGroup.cjs.map +1 -1
- package/dist/private/checkbox/CheckboxGroup.js.map +1 -1
- package/dist/private/checkbox/CheckboxGroup.mjs.map +1 -1
- package/dist/private/checkbox_vars.css +77 -73
- package/dist/private/checkbox_vars.css.map +1 -1
- package/dist/private/checkbox_vars_css.cjs +17 -17
- package/dist/private/checkbox_vars_css.cjs.map +1 -1
- package/dist/private/checkbox_vars_css.mjs +17 -17
- package/dist/private/checkbox_vars_css.mjs.map +1 -1
- package/dist/private/circleloader_vars.css +49 -48
- package/dist/private/circleloader_vars.css.map +1 -1
- package/dist/private/circleloader_vars_css.cjs +23 -23
- package/dist/private/circleloader_vars_css.mjs +23 -23
- package/dist/private/color/ColorArea.cjs.map +1 -1
- package/dist/private/color/ColorArea.js.map +1 -1
- package/dist/private/color/ColorArea.mjs.map +1 -1
- package/dist/private/color/ColorEditor.cjs.map +1 -1
- package/dist/private/color/ColorEditor.js.map +1 -1
- package/dist/private/color/ColorEditor.mjs.map +1 -1
- package/dist/private/color/ColorField.cjs.map +1 -1
- package/dist/private/color/ColorField.js.map +1 -1
- package/dist/private/color/ColorField.mjs.map +1 -1
- package/dist/private/color/ColorPicker.cjs.map +1 -1
- package/dist/private/color/ColorPicker.js.map +1 -1
- package/dist/private/color/ColorPicker.mjs.map +1 -1
- package/dist/private/color/ColorSlider.cjs.map +1 -1
- package/dist/private/color/ColorSlider.js.map +1 -1
- package/dist/private/color/ColorSlider.mjs.map +1 -1
- package/dist/private/color/ColorSwatch.cjs.map +1 -1
- package/dist/private/color/ColorSwatch.js.map +1 -1
- package/dist/private/color/ColorSwatch.mjs.map +1 -1
- package/dist/private/color/ColorSwatchPicker.cjs.map +1 -1
- package/dist/private/color/ColorSwatchPicker.js.map +1 -1
- package/dist/private/color/ColorSwatchPicker.mjs.map +1 -1
- package/dist/private/color/ColorThumb.cjs.map +1 -1
- package/dist/private/color/ColorThumb.js.map +1 -1
- package/dist/private/color/ColorThumb.mjs.map +1 -1
- package/dist/private/color/ColorWheel.cjs +2 -2
- package/dist/private/color/ColorWheel.cjs.map +1 -1
- package/dist/private/color/ColorWheel.js +2 -2
- package/dist/private/color/ColorWheel.js.map +1 -1
- package/dist/private/color/ColorWheel.mjs +2 -2
- package/dist/private/color/ColorWheel.mjs.map +1 -1
- package/dist/private/colorarea_vars.css +18 -16
- package/dist/private/colorarea_vars.css.map +1 -1
- package/dist/private/colorarea_vars_css.cjs +7 -7
- package/dist/private/colorarea_vars_css.mjs +7 -7
- package/dist/private/colorhandle_vars.css +35 -21
- package/dist/private/colorhandle_vars.css.map +1 -1
- package/dist/private/colorhandle_vars_css.cjs +6 -6
- package/dist/private/colorhandle_vars_css.mjs +6 -6
- package/dist/private/colorloupe_vars.css +10 -14
- package/dist/private/colorloupe_vars.css.map +1 -1
- package/dist/private/colorloupe_vars_css.cjs +5 -5
- package/dist/private/colorloupe_vars_css.mjs +5 -5
- package/dist/private/colorslider_vars.css +28 -25
- package/dist/private/colorslider_vars.css.map +1 -1
- package/dist/private/colorslider_vars_css.cjs +15 -15
- package/dist/private/colorslider_vars_css.mjs +15 -15
- package/dist/private/colorwheel_vars.css +15 -15
- package/dist/private/colorwheel_vars.css.map +1 -1
- package/dist/private/colorwheel_vars_css.cjs +9 -9
- package/dist/private/colorwheel_vars_css.mjs +9 -9
- package/dist/private/combobox/ComboBox.cjs.map +1 -1
- package/dist/private/combobox/ComboBox.js.map +1 -1
- package/dist/private/combobox/ComboBox.mjs.map +1 -1
- package/dist/private/combobox/MobileComboBox.cjs.map +1 -1
- package/dist/private/combobox/MobileComboBox.js.map +1 -1
- package/dist/private/combobox/MobileComboBox.mjs.map +1 -1
- package/dist/private/contextualhelp/ContextualHelp.cjs.map +1 -1
- package/dist/private/contextualhelp/ContextualHelp.js.map +1 -1
- package/dist/private/contextualhelp/ContextualHelp.mjs.map +1 -1
- package/dist/private/datepicker/DateField.cjs.map +1 -1
- package/dist/private/datepicker/DateField.js.map +1 -1
- package/dist/private/datepicker/DateField.mjs.map +1 -1
- package/dist/private/datepicker/DatePicker.cjs.map +1 -1
- package/dist/private/datepicker/DatePicker.js.map +1 -1
- package/dist/private/datepicker/DatePicker.mjs.map +1 -1
- package/dist/private/datepicker/DatePickerField.cjs.map +1 -1
- package/dist/private/datepicker/DatePickerField.js.map +1 -1
- package/dist/private/datepicker/DatePickerField.mjs.map +1 -1
- package/dist/private/datepicker/DatePickerSegment.cjs.map +1 -1
- package/dist/private/datepicker/DatePickerSegment.js.map +1 -1
- package/dist/private/datepicker/DatePickerSegment.mjs.map +1 -1
- package/dist/private/datepicker/DateRangePicker.cjs.map +1 -1
- package/dist/private/datepicker/DateRangePicker.js.map +1 -1
- package/dist/private/datepicker/DateRangePicker.mjs.map +1 -1
- package/dist/private/datepicker/Input.cjs.map +1 -1
- package/dist/private/datepicker/Input.js.map +1 -1
- package/dist/private/datepicker/Input.mjs.map +1 -1
- package/dist/private/datepicker/TimeField.cjs.map +1 -1
- package/dist/private/datepicker/TimeField.js.map +1 -1
- package/dist/private/datepicker/TimeField.mjs.map +1 -1
- package/dist/private/datepicker/styles.css +39 -37
- package/dist/private/datepicker/styles.css.map +1 -1
- package/dist/private/datepicker/styles_css.cjs +23 -23
- package/dist/private/datepicker/styles_css.cjs.map +1 -1
- package/dist/private/datepicker/styles_css.mjs +23 -23
- package/dist/private/datepicker/styles_css.mjs.map +1 -1
- package/dist/private/datepicker/utils.cjs.map +1 -1
- package/dist/private/datepicker/utils.js.map +1 -1
- package/dist/private/datepicker/utils.mjs.map +1 -1
- package/dist/private/dialog/AlertDialog.cjs.map +1 -1
- package/dist/private/dialog/AlertDialog.js.map +1 -1
- package/dist/private/dialog/AlertDialog.mjs.map +1 -1
- package/dist/private/dialog/Dialog.cjs +2 -1
- package/dist/private/dialog/Dialog.cjs.map +1 -1
- package/dist/private/dialog/Dialog.js +2 -1
- package/dist/private/dialog/Dialog.js.map +1 -1
- package/dist/private/dialog/Dialog.mjs +2 -1
- package/dist/private/dialog/Dialog.mjs.map +1 -1
- package/dist/private/dialog/DialogContainer.cjs.map +1 -1
- package/dist/private/dialog/DialogContainer.js.map +1 -1
- package/dist/private/dialog/DialogContainer.mjs.map +1 -1
- package/dist/private/dialog/DialogTrigger.cjs +3 -3
- package/dist/private/dialog/DialogTrigger.cjs.map +1 -1
- package/dist/private/dialog/DialogTrigger.js +3 -3
- package/dist/private/dialog/DialogTrigger.js.map +1 -1
- package/dist/private/dialog/DialogTrigger.mjs +3 -3
- package/dist/private/dialog/DialogTrigger.mjs.map +1 -1
- package/dist/private/dialog/context.cjs.map +1 -1
- package/dist/private/dialog/context.js.map +1 -1
- package/dist/private/dialog/context.mjs.map +1 -1
- package/dist/private/dialog/useDialogContainer.cjs.map +1 -1
- package/dist/private/dialog/useDialogContainer.js.map +1 -1
- package/dist/private/dialog/useDialogContainer.mjs.map +1 -1
- package/dist/private/dialog_vars.css +169 -164
- package/dist/private/dialog_vars.css.map +1 -1
- package/dist/private/dialog_vars_css.cjs +51 -51
- package/dist/private/dialog_vars_css.mjs +51 -51
- package/dist/private/divider/Divider.cjs.map +1 -1
- package/dist/private/divider/Divider.js.map +1 -1
- package/dist/private/divider/Divider.mjs.map +1 -1
- package/dist/private/dnd/useDragAndDrop.cjs.map +1 -1
- package/dist/private/dnd/useDragAndDrop.js.map +1 -1
- package/dist/private/dnd/useDragAndDrop.mjs.map +1 -1
- package/dist/private/dropdown_vars.css +66 -57
- package/dist/private/dropdown_vars.css.map +1 -1
- package/dist/private/dropdown_vars_css.cjs +23 -23
- package/dist/private/dropdown_vars_css.mjs +23 -23
- package/dist/private/dropzone/DropZone.cjs.map +1 -1
- package/dist/private/dropzone/DropZone.js.map +1 -1
- package/dist/private/dropzone/DropZone.mjs.map +1 -1
- package/dist/private/dropzone_vars.css +34 -33
- package/dist/private/dropzone_vars.css.map +1 -1
- package/dist/private/dropzone_vars_css.cjs +10 -10
- package/dist/private/dropzone_vars_css.mjs +10 -10
- package/dist/private/fieldgroup_vars.css +22 -21
- package/dist/private/fieldgroup_vars.css.map +1 -1
- package/dist/private/fieldgroup_vars_css.cjs +8 -8
- package/dist/private/fieldgroup_vars_css.mjs +8 -8
- package/dist/private/fieldlabel_vars.css +61 -60
- package/dist/private/fieldlabel_vars.css.map +1 -1
- package/dist/private/fieldlabel_vars_css.cjs +29 -29
- package/dist/private/fieldlabel_vars_css.cjs.map +1 -1
- package/dist/private/fieldlabel_vars_css.mjs +29 -29
- package/dist/private/fieldlabel_vars_css.mjs.map +1 -1
- package/dist/private/form/Form.cjs.map +1 -1
- package/dist/private/form/Form.js.map +1 -1
- package/dist/private/form/Form.mjs.map +1 -1
- package/dist/private/helptext_vars.css +30 -27
- package/dist/private/helptext_vars.css.map +1 -1
- package/dist/private/helptext_vars_css.cjs +11 -11
- package/dist/private/helptext_vars_css.mjs +11 -11
- package/dist/private/icon/Icon.cjs.map +1 -1
- package/dist/private/icon/Icon.js.map +1 -1
- package/dist/private/icon/Icon.mjs.map +1 -1
- package/dist/private/icon/Illustration.cjs.map +1 -1
- package/dist/private/icon/Illustration.js.map +1 -1
- package/dist/private/icon/Illustration.mjs.map +1 -1
- package/dist/private/icon/UIIcon.cjs.map +1 -1
- package/dist/private/icon/UIIcon.js.map +1 -1
- package/dist/private/icon/UIIcon.mjs.map +1 -1
- package/dist/private/illustratedmessage/IllustratedMessage.cjs.map +1 -1
- package/dist/private/illustratedmessage/IllustratedMessage.js.map +1 -1
- package/dist/private/illustratedmessage/IllustratedMessage.mjs.map +1 -1
- package/dist/private/image/Image.cjs +2 -1
- package/dist/private/image/Image.cjs.map +1 -1
- package/dist/private/image/Image.js +2 -1
- package/dist/private/image/Image.js.map +1 -1
- package/dist/private/image/Image.mjs +2 -1
- package/dist/private/image/Image.mjs.map +1 -1
- package/dist/private/image_vars.css +1 -1
- package/dist/private/image_vars.css.map +1 -1
- package/dist/private/image_vars_css.cjs +1 -1
- package/dist/private/image_vars_css.mjs +1 -1
- package/dist/private/inlinealert/InlineAlert.cjs.map +1 -1
- package/dist/private/inlinealert/InlineAlert.js.map +1 -1
- package/dist/private/inlinealert/InlineAlert.mjs.map +1 -1
- package/dist/private/inlinealert_vars.css +44 -43
- package/dist/private/inlinealert_vars.css.map +1 -1
- package/dist/private/inlinealert_vars_css.cjs +18 -18
- package/dist/private/inlinealert_vars_css.cjs.map +1 -1
- package/dist/private/inlinealert_vars_css.mjs +18 -18
- package/dist/private/inlinealert_vars_css.mjs.map +1 -1
- package/dist/private/inputgroup_vars.css +96 -93
- package/dist/private/inputgroup_vars.css.map +1 -1
- package/dist/private/inputgroup_vars_css.cjs +26 -26
- package/dist/private/inputgroup_vars_css.mjs +26 -26
- package/dist/private/intl/actionbar/en-US.cjs.map +1 -1
- package/dist/private/intl/actionbar/en-US.js.map +1 -1
- package/dist/private/intl/actionbar/en-US.mjs.map +1 -1
- package/dist/private/intl/combobox/en-US.cjs.map +1 -1
- package/dist/private/intl/combobox/en-US.js.map +1 -1
- package/dist/private/intl/combobox/en-US.mjs.map +1 -1
- package/dist/private/intl/menu/en-US.cjs.map +1 -1
- package/dist/private/intl/menu/en-US.js.map +1 -1
- package/dist/private/intl/menu/en-US.mjs.map +1 -1
- package/dist/private/label/Field.cjs.map +1 -1
- package/dist/private/label/Field.js.map +1 -1
- package/dist/private/label/Field.mjs.map +1 -1
- package/dist/private/label/HelpText.cjs.map +1 -1
- package/dist/private/label/HelpText.js.map +1 -1
- package/dist/private/label/HelpText.mjs.map +1 -1
- package/dist/private/label/Label.cjs.map +1 -1
- package/dist/private/label/Label.js.map +1 -1
- package/dist/private/label/Label.mjs.map +1 -1
- package/dist/private/labeledvalue/LabeledValue.cjs.map +1 -1
- package/dist/private/labeledvalue/LabeledValue.js.map +1 -1
- package/dist/private/labeledvalue/LabeledValue.mjs.map +1 -1
- package/dist/private/layout/Flex.cjs.map +1 -1
- package/dist/private/layout/Flex.js.map +1 -1
- package/dist/private/layout/Flex.mjs.map +1 -1
- package/dist/private/layout/Grid.cjs.map +1 -1
- package/dist/private/layout/Grid.js.map +1 -1
- package/dist/private/layout/Grid.mjs.map +1 -1
- package/dist/private/link/Link.cjs.map +1 -1
- package/dist/private/link/Link.js.map +1 -1
- package/dist/private/link/Link.mjs.map +1 -1
- package/dist/private/link_vars.css +38 -37
- package/dist/private/link_vars.css.map +1 -1
- package/dist/private/link_vars_css.cjs +11 -11
- package/dist/private/link_vars_css.mjs +11 -11
- package/dist/private/list/DragPreview.cjs.map +1 -1
- package/dist/private/list/DragPreview.js.map +1 -1
- package/dist/private/list/DragPreview.mjs.map +1 -1
- package/dist/private/list/InsertionIndicator.cjs.map +1 -1
- package/dist/private/list/InsertionIndicator.js.map +1 -1
- package/dist/private/list/InsertionIndicator.mjs.map +1 -1
- package/dist/private/list/ListView.cjs +2 -1
- package/dist/private/list/ListView.cjs.map +1 -1
- package/dist/private/list/ListView.js +2 -1
- package/dist/private/list/ListView.js.map +1 -1
- package/dist/private/list/ListView.mjs +2 -1
- package/dist/private/list/ListView.mjs.map +1 -1
- package/dist/private/list/ListViewItem.cjs.map +1 -1
- package/dist/private/list/ListViewItem.js.map +1 -1
- package/dist/private/list/ListViewItem.mjs.map +1 -1
- package/dist/private/list/ListViewLayout.cjs.map +1 -1
- package/dist/private/list/ListViewLayout.js.map +1 -1
- package/dist/private/list/ListViewLayout.mjs.map +1 -1
- package/dist/private/list/RootDropIndicator.cjs.map +1 -1
- package/dist/private/list/RootDropIndicator.js.map +1 -1
- package/dist/private/list/RootDropIndicator.mjs.map +1 -1
- package/dist/private/list/styles.css +108 -104
- package/dist/private/list/styles.css.map +1 -1
- package/dist/private/list/styles_css.cjs +63 -63
- package/dist/private/list/styles_css.cjs.map +1 -1
- package/dist/private/list/styles_css.mjs +63 -63
- package/dist/private/list/styles_css.mjs.map +1 -1
- package/dist/private/listbox/ListBox.cjs.map +1 -1
- package/dist/private/listbox/ListBox.js.map +1 -1
- package/dist/private/listbox/ListBox.mjs.map +1 -1
- package/dist/private/listbox/ListBoxBase.cjs +4 -2
- package/dist/private/listbox/ListBoxBase.cjs.map +1 -1
- package/dist/private/listbox/ListBoxBase.js +4 -2
- package/dist/private/listbox/ListBoxBase.js.map +1 -1
- package/dist/private/listbox/ListBoxBase.mjs +4 -2
- package/dist/private/listbox/ListBoxBase.mjs.map +1 -1
- package/dist/private/listbox/ListBoxContext.cjs.map +1 -1
- package/dist/private/listbox/ListBoxContext.js.map +1 -1
- package/dist/private/listbox/ListBoxContext.mjs.map +1 -1
- package/dist/private/listbox/ListBoxLayout.cjs.map +1 -1
- package/dist/private/listbox/ListBoxLayout.js.map +1 -1
- package/dist/private/listbox/ListBoxLayout.mjs.map +1 -1
- package/dist/private/listbox/ListBoxOption.cjs.map +1 -1
- package/dist/private/listbox/ListBoxOption.js.map +1 -1
- package/dist/private/listbox/ListBoxOption.mjs.map +1 -1
- package/dist/private/listbox/ListBoxSection.cjs.map +1 -1
- package/dist/private/listbox/ListBoxSection.js.map +1 -1
- package/dist/private/listbox/ListBoxSection.mjs.map +1 -1
- package/dist/private/menu/ActionMenu.cjs.map +1 -1
- package/dist/private/menu/ActionMenu.js.map +1 -1
- package/dist/private/menu/ActionMenu.mjs.map +1 -1
- package/dist/private/menu/ContextualHelpTrigger.cjs.map +1 -1
- package/dist/private/menu/ContextualHelpTrigger.js.map +1 -1
- package/dist/private/menu/ContextualHelpTrigger.mjs.map +1 -1
- package/dist/private/menu/Menu.cjs.map +1 -1
- package/dist/private/menu/Menu.js.map +1 -1
- package/dist/private/menu/Menu.mjs.map +1 -1
- package/dist/private/menu/MenuItem.cjs.map +1 -1
- package/dist/private/menu/MenuItem.js.map +1 -1
- package/dist/private/menu/MenuItem.mjs.map +1 -1
- package/dist/private/menu/MenuSection.cjs.map +1 -1
- package/dist/private/menu/MenuSection.js.map +1 -1
- package/dist/private/menu/MenuSection.mjs.map +1 -1
- package/dist/private/menu/MenuTrigger.cjs.map +1 -1
- package/dist/private/menu/MenuTrigger.js.map +1 -1
- package/dist/private/menu/MenuTrigger.mjs.map +1 -1
- package/dist/private/menu/SubmenuTrigger.cjs.map +1 -1
- package/dist/private/menu/SubmenuTrigger.js.map +1 -1
- package/dist/private/menu/SubmenuTrigger.mjs.map +1 -1
- package/dist/private/menu/context.cjs.map +1 -1
- package/dist/private/menu/context.js.map +1 -1
- package/dist/private/menu/context.mjs.map +1 -1
- package/dist/private/menu_vars.css +113 -104
- package/dist/private/menu_vars.css.map +1 -1
- package/dist/private/menu_vars_css.cjs +55 -55
- package/dist/private/menu_vars_css.mjs +55 -55
- package/dist/private/meter/Meter.cjs.map +1 -1
- package/dist/private/meter/Meter.js.map +1 -1
- package/dist/private/meter/Meter.mjs.map +1 -1
- package/dist/private/modal_vars.css +48 -42
- package/dist/private/modal_vars.css.map +1 -1
- package/dist/private/modal_vars_css.cjs +17 -17
- package/dist/private/modal_vars_css.cjs.map +1 -1
- package/dist/private/modal_vars_css.mjs +17 -17
- package/dist/private/modal_vars_css.mjs.map +1 -1
- package/dist/private/numberfield/NumberField.cjs.map +1 -1
- package/dist/private/numberfield/NumberField.js.map +1 -1
- package/dist/private/numberfield/NumberField.mjs.map +1 -1
- package/dist/private/numberfield/StepButton.cjs.map +1 -1
- package/dist/private/numberfield/StepButton.js.map +1 -1
- package/dist/private/numberfield/StepButton.mjs.map +1 -1
- package/dist/private/overlays/Modal.cjs.map +1 -1
- package/dist/private/overlays/Modal.js.map +1 -1
- package/dist/private/overlays/Modal.mjs.map +1 -1
- package/dist/private/overlays/OpenTransition.cjs.map +1 -1
- package/dist/private/overlays/OpenTransition.js.map +1 -1
- package/dist/private/overlays/OpenTransition.mjs.map +1 -1
- package/dist/private/overlays/Overlay.cjs.map +1 -1
- package/dist/private/overlays/Overlay.js.map +1 -1
- package/dist/private/overlays/Overlay.mjs.map +1 -1
- package/dist/private/overlays/Popover.cjs +15 -16
- package/dist/private/overlays/Popover.cjs.map +1 -1
- package/dist/private/overlays/Popover.js +15 -16
- package/dist/private/overlays/Popover.js.map +1 -1
- package/dist/private/overlays/Popover.mjs +15 -16
- package/dist/private/overlays/Popover.mjs.map +1 -1
- package/dist/private/overlays/Tray.cjs.map +1 -1
- package/dist/private/overlays/Tray.js.map +1 -1
- package/dist/private/overlays/Tray.mjs.map +1 -1
- package/dist/private/overlays/Underlay.cjs.map +1 -1
- package/dist/private/overlays/Underlay.js.map +1 -1
- package/dist/private/overlays/Underlay.mjs.map +1 -1
- package/dist/private/package.cjs +1 -1
- package/dist/private/package.cjs.map +1 -1
- package/dist/private/package.js +1 -1
- package/dist/private/package.js.map +1 -1
- package/dist/private/package.mjs +1 -1
- package/dist/private/package.mjs.map +1 -1
- package/dist/private/page_vars.css +20 -19
- package/dist/private/page_vars.css.map +1 -1
- package/dist/private/page_vars_css.cjs +6 -6
- package/dist/private/page_vars_css.mjs +6 -6
- package/dist/private/picker/Picker.cjs.map +1 -1
- package/dist/private/picker/Picker.js.map +1 -1
- package/dist/private/picker/Picker.mjs.map +1 -1
- package/dist/private/popover_vars.css +48 -46
- package/dist/private/popover_vars.css.map +1 -1
- package/dist/private/popover_vars_css.cjs +26 -26
- package/dist/private/popover_vars_css.mjs +26 -26
- package/dist/private/progress/ProgressBar.cjs.map +1 -1
- package/dist/private/progress/ProgressBar.js.map +1 -1
- package/dist/private/progress/ProgressBar.mjs.map +1 -1
- package/dist/private/progress/ProgressBarBase.cjs.map +1 -1
- package/dist/private/progress/ProgressBarBase.js.map +1 -1
- package/dist/private/progress/ProgressBarBase.mjs.map +1 -1
- package/dist/private/progress/ProgressCircle.cjs.map +1 -1
- package/dist/private/progress/ProgressCircle.js.map +1 -1
- package/dist/private/progress/ProgressCircle.mjs.map +1 -1
- package/dist/private/provider/Provider.cjs.map +1 -1
- package/dist/private/provider/Provider.js.map +1 -1
- package/dist/private/provider/Provider.mjs.map +1 -1
- package/dist/private/radio/Radio.cjs +2 -1
- package/dist/private/radio/Radio.cjs.map +1 -1
- package/dist/private/radio/Radio.js +2 -1
- package/dist/private/radio/Radio.js.map +1 -1
- package/dist/private/radio/Radio.mjs +2 -1
- package/dist/private/radio/Radio.mjs.map +1 -1
- package/dist/private/radio/RadioGroup.cjs.map +1 -1
- package/dist/private/radio/RadioGroup.js.map +1 -1
- package/dist/private/radio/RadioGroup.mjs.map +1 -1
- package/dist/private/radio/context.cjs.map +1 -1
- package/dist/private/radio/context.js.map +1 -1
- package/dist/private/radio/context.mjs.map +1 -1
- package/dist/private/radio_vars.css +65 -62
- package/dist/private/radio_vars.css.map +1 -1
- package/dist/private/radio_vars_css.cjs +13 -13
- package/dist/private/radio_vars_css.mjs +13 -13
- package/dist/private/rule_vars.css +34 -33
- package/dist/private/rule_vars.css.map +1 -1
- package/dist/private/rule_vars_css.cjs +11 -11
- package/dist/private/rule_vars_css.mjs +11 -11
- package/dist/private/search_vars.css +42 -36
- package/dist/private/search_vars.css.map +1 -1
- package/dist/private/search_vars_css.cjs +15 -15
- package/dist/private/search_vars_css.mjs +15 -15
- package/dist/private/searchfield/SearchField.cjs.map +1 -1
- package/dist/private/searchfield/SearchField.js.map +1 -1
- package/dist/private/searchfield/SearchField.mjs.map +1 -1
- package/dist/private/slider/RangeSlider.cjs.map +1 -1
- package/dist/private/slider/RangeSlider.js.map +1 -1
- package/dist/private/slider/RangeSlider.mjs.map +1 -1
- package/dist/private/slider/Slider.cjs +2 -2
- package/dist/private/slider/Slider.cjs.map +1 -1
- package/dist/private/slider/Slider.js +2 -2
- package/dist/private/slider/Slider.js.map +1 -1
- package/dist/private/slider/Slider.mjs +2 -2
- package/dist/private/slider/Slider.mjs.map +1 -1
- package/dist/private/slider/SliderBase.cjs.map +1 -1
- package/dist/private/slider/SliderBase.js.map +1 -1
- package/dist/private/slider/SliderBase.mjs.map +1 -1
- package/dist/private/slider/SliderThumb.cjs.map +1 -1
- package/dist/private/slider/SliderThumb.js.map +1 -1
- package/dist/private/slider/SliderThumb.mjs.map +1 -1
- package/dist/private/slider_vars.css +169 -155
- package/dist/private/slider_vars.css.map +1 -1
- package/dist/private/slider_vars_css.cjs +46 -46
- package/dist/private/slider_vars_css.cjs.map +1 -1
- package/dist/private/slider_vars_css.mjs +46 -46
- package/dist/private/slider_vars_css.mjs.map +1 -1
- package/dist/private/statuslight/StatusLight.cjs.map +1 -1
- package/dist/private/statuslight/StatusLight.js.map +1 -1
- package/dist/private/statuslight/StatusLight.mjs.map +1 -1
- package/dist/private/statuslight_vars.css +43 -41
- package/dist/private/statuslight_vars.css.map +1 -1
- package/dist/private/statuslight_vars_css.cjs +21 -21
- package/dist/private/statuslight_vars_css.mjs +21 -21
- package/dist/private/steplist/StepList.cjs.map +1 -1
- package/dist/private/steplist/StepList.js.map +1 -1
- package/dist/private/steplist/StepList.mjs.map +1 -1
- package/dist/private/steplist/StepListItem.cjs +6 -2
- package/dist/private/steplist/StepListItem.cjs.map +1 -1
- package/dist/private/steplist/StepListItem.js +6 -2
- package/dist/private/steplist/StepListItem.js.map +1 -1
- package/dist/private/steplist/StepListItem.mjs +6 -2
- package/dist/private/steplist/StepListItem.mjs.map +1 -1
- package/dist/private/steplist_vars.css +96 -94
- package/dist/private/steplist_vars.css.map +1 -1
- package/dist/private/steplist_vars_css.cjs +29 -29
- package/dist/private/steplist_vars_css.mjs +29 -29
- package/dist/private/stepper_vars.css +146 -143
- package/dist/private/stepper_vars.css.map +1 -1
- package/dist/private/stepper_vars_css.cjs +46 -46
- package/dist/private/stepper_vars_css.mjs +46 -46
- package/dist/private/switch/Switch.cjs +2 -1
- package/dist/private/switch/Switch.cjs.map +1 -1
- package/dist/private/switch/Switch.js +2 -1
- package/dist/private/switch/Switch.js.map +1 -1
- package/dist/private/switch/Switch.mjs +2 -1
- package/dist/private/switch/Switch.mjs.map +1 -1
- package/dist/private/table/DragPreview.cjs.map +1 -1
- package/dist/private/table/DragPreview.js.map +1 -1
- package/dist/private/table/DragPreview.mjs.map +1 -1
- package/dist/private/table/InsertionIndicator.cjs.map +1 -1
- package/dist/private/table/InsertionIndicator.js.map +1 -1
- package/dist/private/table/InsertionIndicator.mjs.map +1 -1
- package/dist/private/table/Nubbin.cjs.map +1 -1
- package/dist/private/table/Nubbin.js.map +1 -1
- package/dist/private/table/Nubbin.mjs.map +1 -1
- package/dist/private/table/Resizer.cjs.map +1 -1
- package/dist/private/table/Resizer.js.map +1 -1
- package/dist/private/table/Resizer.mjs.map +1 -1
- package/dist/private/table/RootDropIndicator.cjs.map +1 -1
- package/dist/private/table/RootDropIndicator.js.map +1 -1
- package/dist/private/table/RootDropIndicator.mjs.map +1 -1
- package/dist/private/table/TableView.cjs +2 -1
- package/dist/private/table/TableView.cjs.map +1 -1
- package/dist/private/table/TableView.js +2 -1
- package/dist/private/table/TableView.js.map +1 -1
- package/dist/private/table/TableView.mjs +2 -1
- package/dist/private/table/TableView.mjs.map +1 -1
- package/dist/private/table/TableViewBase.cjs.map +1 -1
- package/dist/private/table/TableViewBase.js.map +1 -1
- package/dist/private/table/TableViewBase.mjs.map +1 -1
- package/dist/private/table/TableViewLayout.cjs.map +1 -1
- package/dist/private/table/TableViewLayout.js.map +1 -1
- package/dist/private/table/TableViewLayout.mjs.map +1 -1
- package/dist/private/table/TableViewWithoutExpanding.cjs.map +1 -1
- package/dist/private/table/TableViewWithoutExpanding.js.map +1 -1
- package/dist/private/table/TableViewWithoutExpanding.mjs.map +1 -1
- package/dist/private/table/TreeGridTableView.cjs.map +1 -1
- package/dist/private/table/TreeGridTableView.js.map +1 -1
- package/dist/private/table/TreeGridTableView.mjs.map +1 -1
- package/dist/private/table/table.css +29 -28
- package/dist/private/table/table.css.map +1 -1
- package/dist/private/table/table_css.cjs +22 -22
- package/dist/private/table/table_css.cjs.map +1 -1
- package/dist/private/table/table_css.mjs +22 -22
- package/dist/private/table/table_css.mjs.map +1 -1
- package/dist/private/table_vars.css +159 -153
- package/dist/private/table_vars.css.map +1 -1
- package/dist/private/table_vars_css.cjs +63 -63
- package/dist/private/table_vars_css.mjs +63 -63
- package/dist/private/tabs/Tabs.cjs.map +1 -1
- package/dist/private/tabs/Tabs.js.map +1 -1
- package/dist/private/tabs/Tabs.mjs.map +1 -1
- package/dist/private/tabs_vars.css +108 -103
- package/dist/private/tabs_vars.css.map +1 -1
- package/dist/private/tabs_vars_css.cjs +26 -26
- package/dist/private/tabs_vars_css.mjs +26 -26
- package/dist/private/tag/Tag.cjs.map +1 -1
- package/dist/private/tag/Tag.js.map +1 -1
- package/dist/private/tag/Tag.mjs.map +1 -1
- package/dist/private/tag/TagGroup.cjs.map +1 -1
- package/dist/private/tag/TagGroup.js.map +1 -1
- package/dist/private/tag/TagGroup.mjs.map +1 -1
- package/dist/private/tags_vars.css +58 -54
- package/dist/private/tags_vars.css.map +1 -1
- package/dist/private/tags_vars_css.cjs +26 -26
- package/dist/private/tags_vars_css.mjs +26 -26
- package/dist/private/text/Heading.cjs.map +1 -1
- package/dist/private/text/Heading.js.map +1 -1
- package/dist/private/text/Heading.mjs.map +1 -1
- package/dist/private/text/Keyboard.cjs.map +1 -1
- package/dist/private/text/Keyboard.js.map +1 -1
- package/dist/private/text/Keyboard.mjs.map +1 -1
- package/dist/private/text/Text.cjs.map +1 -1
- package/dist/private/text/Text.js.map +1 -1
- package/dist/private/text/Text.mjs.map +1 -1
- package/dist/private/textfield/TextArea.cjs.map +1 -1
- package/dist/private/textfield/TextArea.js.map +1 -1
- package/dist/private/textfield/TextArea.mjs.map +1 -1
- package/dist/private/textfield/TextField.cjs.map +1 -1
- package/dist/private/textfield/TextField.js.map +1 -1
- package/dist/private/textfield/TextField.mjs.map +1 -1
- package/dist/private/textfield/TextFieldBase.cjs.map +1 -1
- package/dist/private/textfield/TextFieldBase.js.map +1 -1
- package/dist/private/textfield/TextFieldBase.mjs.map +1 -1
- package/dist/private/textfield_vars.css +109 -97
- package/dist/private/textfield_vars.css.map +1 -1
- package/dist/private/textfield_vars_css.cjs +22 -22
- package/dist/private/textfield_vars_css.mjs +22 -22
- package/dist/private/toast/Toast.cjs.map +1 -1
- package/dist/private/toast/Toast.js.map +1 -1
- package/dist/private/toast/Toast.mjs.map +1 -1
- package/dist/private/toast/ToastContainer.cjs +1 -1
- package/dist/private/toast/ToastContainer.cjs.map +1 -1
- package/dist/private/toast/ToastContainer.js +1 -1
- package/dist/private/toast/ToastContainer.js.map +1 -1
- package/dist/private/toast/ToastContainer.mjs +1 -1
- package/dist/private/toast/ToastContainer.mjs.map +1 -1
- package/dist/private/toast/Toaster.cjs.map +1 -1
- package/dist/private/toast/Toaster.js.map +1 -1
- package/dist/private/toast/Toaster.mjs.map +1 -1
- package/dist/private/toast/toastContainer.css +38 -37
- package/dist/private/toast/toastContainer.css.map +1 -1
- package/dist/private/toast/toastContainer_css.cjs +18 -18
- package/dist/private/toast/toastContainer_css.cjs.map +1 -1
- package/dist/private/toast/toastContainer_css.mjs +18 -18
- package/dist/private/toast/toastContainer_css.mjs.map +1 -1
- package/dist/private/toggle_vars.css +89 -83
- package/dist/private/toggle_vars.css.map +1 -1
- package/dist/private/toggle_vars_css.cjs +12 -12
- package/dist/private/toggle_vars_css.cjs.map +1 -1
- package/dist/private/toggle_vars_css.mjs +12 -12
- package/dist/private/toggle_vars_css.mjs.map +1 -1
- package/dist/private/tooltip/Tooltip.cjs.map +1 -1
- package/dist/private/tooltip/Tooltip.js.map +1 -1
- package/dist/private/tooltip/Tooltip.mjs.map +1 -1
- package/dist/private/tooltip/TooltipTrigger.cjs.map +1 -1
- package/dist/private/tooltip/TooltipTrigger.js.map +1 -1
- package/dist/private/tooltip/TooltipTrigger.mjs.map +1 -1
- package/dist/private/tooltip/context.cjs.map +1 -1
- package/dist/private/tooltip/context.js.map +1 -1
- package/dist/private/tooltip/context.mjs.map +1 -1
- package/dist/private/tooltip_vars.css +66 -65
- package/dist/private/tooltip_vars.css.map +1 -1
- package/dist/private/tooltip_vars_css.cjs +33 -33
- package/dist/private/tooltip_vars_css.cjs.map +1 -1
- package/dist/private/tooltip_vars_css.mjs +33 -33
- package/dist/private/tooltip_vars_css.mjs.map +1 -1
- package/dist/private/tray_vars.css +45 -38
- package/dist/private/tray_vars.css.map +1 -1
- package/dist/private/tray_vars_css.cjs +15 -15
- package/dist/private/tray_vars_css.mjs +15 -15
- package/dist/private/tree/TreeView.cjs +2 -1
- package/dist/private/tree/TreeView.cjs.map +1 -1
- package/dist/private/tree/TreeView.js +2 -1
- package/dist/private/tree/TreeView.js.map +1 -1
- package/dist/private/tree/TreeView.mjs +2 -1
- package/dist/private/tree/TreeView.mjs.map +1 -1
- package/dist/private/typography_index.css +22 -21
- package/dist/private/typography_index.css.map +1 -1
- package/dist/private/typography_index_css.cjs +8 -8
- package/dist/private/typography_index_css.mjs +8 -8
- package/dist/private/underlay_vars.css +40 -33
- package/dist/private/underlay_vars.css.map +1 -1
- package/dist/private/underlay_vars_css.cjs +14 -14
- package/dist/private/underlay_vars_css.mjs +14 -14
- package/dist/private/utils/BreakpointProvider.cjs.map +1 -1
- package/dist/private/utils/BreakpointProvider.js.map +1 -1
- package/dist/private/utils/BreakpointProvider.mjs.map +1 -1
- package/dist/private/utils/Slots.cjs +2 -1
- package/dist/private/utils/Slots.cjs.map +1 -1
- package/dist/private/utils/Slots.js +2 -1
- package/dist/private/utils/Slots.js.map +1 -1
- package/dist/private/utils/Slots.mjs +2 -1
- package/dist/private/utils/Slots.mjs.map +1 -1
- package/dist/private/utils/classNames.cjs.map +1 -1
- package/dist/private/utils/classNames.js.map +1 -1
- package/dist/private/utils/classNames.mjs.map +1 -1
- package/dist/private/utils/getWrappedElement.cjs.map +1 -1
- package/dist/private/utils/getWrappedElement.js.map +1 -1
- package/dist/private/utils/getWrappedElement.mjs.map +1 -1
- package/dist/private/utils/styleProps.cjs.map +1 -1
- package/dist/private/utils/styleProps.js.map +1 -1
- package/dist/private/utils/styleProps.mjs.map +1 -1
- package/dist/private/utils/useDOMRef.cjs.map +1 -1
- package/dist/private/utils/useDOMRef.js.map +1 -1
- package/dist/private/utils/useDOMRef.mjs.map +1 -1
- package/dist/private/utils/useMediaQuery.cjs.map +1 -1
- package/dist/private/utils/useMediaQuery.js.map +1 -1
- package/dist/private/utils/useMediaQuery.mjs.map +1 -1
- package/dist/private/vars_express.css +6 -5
- package/dist/private/vars_express.css.map +1 -1
- package/dist/private/vars_express_css.cjs +3 -3
- package/dist/private/vars_express_css.cjs.map +1 -1
- package/dist/private/vars_express_css.mjs +3 -3
- package/dist/private/vars_express_css.mjs.map +1 -1
- package/dist/private/vars_spectrum-dark.css +1 -1
- package/dist/private/vars_spectrum-dark.css.map +1 -1
- package/dist/private/vars_spectrum-dark_css.cjs +1 -1
- package/dist/private/vars_spectrum-dark_css.cjs.map +1 -1
- package/dist/private/vars_spectrum-dark_css.mjs +1 -1
- package/dist/private/vars_spectrum-dark_css.mjs.map +1 -1
- package/dist/private/vars_spectrum-darkest.css +1 -1
- package/dist/private/vars_spectrum-darkest.css.map +1 -1
- package/dist/private/vars_spectrum-darkest_css.cjs +1 -1
- package/dist/private/vars_spectrum-darkest_css.cjs.map +1 -1
- package/dist/private/vars_spectrum-darkest_css.mjs +1 -1
- package/dist/private/vars_spectrum-darkest_css.mjs.map +1 -1
- package/dist/private/vars_spectrum-global.css +5 -4
- package/dist/private/vars_spectrum-global.css.map +1 -1
- package/dist/private/vars_spectrum-global_css.cjs +7 -7
- package/dist/private/vars_spectrum-global_css.cjs.map +1 -1
- package/dist/private/vars_spectrum-global_css.mjs +7 -7
- package/dist/private/vars_spectrum-global_css.mjs.map +1 -1
- package/dist/private/vars_spectrum-large.css +1 -1
- package/dist/private/vars_spectrum-large.css.map +1 -1
- package/dist/private/vars_spectrum-large_css.cjs +1 -1
- package/dist/private/vars_spectrum-large_css.cjs.map +1 -1
- package/dist/private/vars_spectrum-large_css.mjs +1 -1
- package/dist/private/vars_spectrum-large_css.mjs.map +1 -1
- package/dist/private/vars_spectrum-light.css +1 -1
- package/dist/private/vars_spectrum-light.css.map +1 -1
- package/dist/private/vars_spectrum-light_css.cjs +1 -1
- package/dist/private/vars_spectrum-light_css.cjs.map +1 -1
- package/dist/private/vars_spectrum-light_css.mjs +1 -1
- package/dist/private/vars_spectrum-light_css.mjs.map +1 -1
- package/dist/private/vars_spectrum-lightest.css +1 -1
- package/dist/private/vars_spectrum-lightest.css.map +1 -1
- package/dist/private/vars_spectrum-lightest_css.cjs +1 -1
- package/dist/private/vars_spectrum-lightest_css.cjs.map +1 -1
- package/dist/private/vars_spectrum-lightest_css.mjs +1 -1
- package/dist/private/vars_spectrum-lightest_css.mjs.map +1 -1
- package/dist/private/vars_spectrum-medium.css +1 -1
- package/dist/private/vars_spectrum-medium.css.map +1 -1
- package/dist/private/vars_spectrum-medium_css.cjs +1 -1
- package/dist/private/vars_spectrum-medium_css.cjs.map +1 -1
- package/dist/private/vars_spectrum-medium_css.mjs +1 -1
- package/dist/private/vars_spectrum-medium_css.mjs.map +1 -1
- package/dist/private/view/Content.cjs.map +1 -1
- package/dist/private/view/Content.js.map +1 -1
- package/dist/private/view/Content.mjs.map +1 -1
- package/dist/private/view/Footer.cjs.map +1 -1
- package/dist/private/view/Footer.js.map +1 -1
- package/dist/private/view/Footer.mjs.map +1 -1
- package/dist/private/view/Header.cjs.map +1 -1
- package/dist/private/view/Header.js.map +1 -1
- package/dist/private/view/Header.mjs.map +1 -1
- package/dist/private/view/View.cjs.map +1 -1
- package/dist/private/view/View.js.map +1 -1
- package/dist/private/view/View.mjs.map +1 -1
- package/dist/private/well/Well.cjs.map +1 -1
- package/dist/private/well/Well.js.map +1 -1
- package/dist/private/well/Well.mjs.map +1 -1
- package/dist/private/well_vars.css +20 -19
- package/dist/private/well_vars.css.map +1 -1
- package/dist/private/well_vars_css.cjs +6 -6
- package/dist/private/well_vars_css.mjs +6 -6
- package/dist/types/src/accordion/Accordion.d.ts +5 -1
- package/dist/types/src/actionbar/ActionBar.d.ts +14 -6
- package/dist/types/src/actionbar/ActionBarContainer.d.ts +4 -1
- package/dist/types/src/actiongroup/ActionGroup.d.ts +14 -5
- package/dist/types/src/autocomplete/SearchAutocomplete.d.ts +16 -4
- package/dist/types/src/badge/Badge.d.ts +2 -1
- package/dist/types/src/breadcrumbs/Breadcrumbs.d.ts +1 -0
- package/dist/types/src/button/ActionButton.d.ts +7 -3
- package/dist/types/src/button/Button.d.ts +1 -0
- package/dist/types/src/button/ToggleButton.d.ts +4 -1
- package/dist/types/src/buttongroup/ButtonGroup.d.ts +2 -0
- package/dist/types/src/calendar/Calendar.d.ts +6 -4
- package/dist/types/src/calendar/RangeCalendar.d.ts +8 -5
- package/dist/types/src/card/BaseLayout.d.ts +1 -0
- package/dist/types/src/card/GalleryLayout.d.ts +11 -6
- package/dist/types/src/card/GridLayout.d.ts +8 -1
- package/dist/types/src/card/WaterfallLayout.d.ts +4 -0
- package/dist/types/src/checkbox/Checkbox.d.ts +4 -2
- package/dist/types/src/checkbox/CheckboxGroup.d.ts +1 -0
- package/dist/types/src/color/ColorArea.d.ts +2 -1
- package/dist/types/src/color/ColorPicker.d.ts +4 -2
- package/dist/types/src/color/ColorSlider.d.ts +4 -1
- package/dist/types/src/color/ColorSwatch.d.ts +4 -2
- package/dist/types/src/color/ColorSwatchPicker.d.ts +6 -3
- package/dist/types/src/combobox/ComboBox.d.ts +21 -7
- package/dist/types/src/contextualhelp/ContextualHelp.d.ts +4 -1
- package/dist/types/src/datepicker/DateField.d.ts +2 -0
- package/dist/types/src/datepicker/DatePicker.d.ts +9 -4
- package/dist/types/src/datepicker/TimeField.d.ts +1 -0
- package/dist/types/src/dialog/AlertDialog.d.ts +3 -2
- package/dist/types/src/dialog/Dialog.d.ts +3 -2
- package/dist/types/src/dialog/DialogContainer.d.ts +5 -1
- package/dist/types/src/dialog/DialogTrigger.d.ts +18 -7
- package/dist/types/src/divider/Divider.d.ts +3 -0
- package/dist/types/src/dnd/useDragAndDrop.d.ts +10 -4
- package/dist/types/src/form/Form.d.ts +4 -1
- package/dist/types/src/icon/Icon.d.ts +3 -1
- package/dist/types/src/icon/Illustration.d.ts +1 -0
- package/dist/types/src/image/Image.d.ts +5 -2
- package/dist/types/src/inlinealert/InlineAlert.d.ts +3 -2
- package/dist/types/src/label/HelpText.d.ts +2 -1
- package/dist/types/src/labeledvalue/LabeledValue.d.ts +2 -1
- package/dist/types/src/layout/Grid.d.ts +3 -0
- package/dist/types/src/link/Link.d.ts +1 -0
- package/dist/types/src/list/ListView.d.ts +12 -5
- package/dist/types/src/menu/ActionMenu.d.ts +4 -1
- package/dist/types/src/menu/Menu.d.ts +1 -1
- package/dist/types/src/menu/MenuTrigger.d.ts +4 -0
- package/dist/types/src/meter/Meter.d.ts +1 -0
- package/dist/types/src/numberfield/NumberField.d.ts +3 -1
- package/dist/types/src/overlays/Popover.d.ts +10 -11
- package/dist/types/src/picker/Picker.d.ts +11 -3
- package/dist/types/src/progress/ProgressBar.d.ts +2 -2
- package/dist/types/src/progress/ProgressBarBase.d.ts +9 -2
- package/dist/types/src/progress/ProgressCircle.d.ts +8 -3
- package/dist/types/src/provider/Provider.d.ts +2 -2
- package/dist/types/src/provider/types.d.ts +8 -4
- package/dist/types/src/slider/RangeSlider.d.ts +6 -3
- package/dist/types/src/slider/Slider.d.ts +13 -4
- package/dist/types/src/slider/SliderBase.d.ts +9 -2
- package/dist/types/src/steplist/StepList.d.ts +3 -0
- package/dist/types/src/table/TableView.d.ts +25 -11
- package/dist/types/src/table/types.d.ts +4 -3
- package/dist/types/src/tabs/Tabs.d.ts +20 -8
- package/dist/types/src/tag/TagGroup.d.ts +9 -3
- package/dist/types/src/text/Heading.d.ts +2 -0
- package/dist/types/src/text/Keyboard.d.ts +1 -0
- package/dist/types/src/text/Text.d.ts +1 -0
- package/dist/types/src/tooltip/Tooltip.d.ts +1 -0
- package/dist/types/src/tooltip/TooltipTrigger.d.ts +2 -0
- package/dist/types/src/tree/TreeView.d.ts +2 -2
- package/dist/types/src/view/View.d.ts +3 -2
- package/dist/types/src/well/Well.d.ts +3 -2
- package/package.json +12 -10
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":"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","sources":["packages/@adobe/react-spectrum/src/table/TableViewBase.tsx"],"sourcesContent":["/*\n * Copyright 2023 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 ArrowDownSmall from '@spectrum-icons/ui/ArrowDownSmall';\nimport {Checkbox} from '../checkbox/Checkbox';\nimport ChevronDownMedium from '@spectrum-icons/ui/ChevronDownMedium';\nimport ChevronLeftMedium from '@spectrum-icons/ui/ChevronLeftMedium';\nimport ChevronRightMedium from '@spectrum-icons/ui/ChevronRightMedium';\nimport {classNames} from '../utils/classNames';\nimport {ColumnSize} from 'react-stately/useTableState';\nimport {DOMRef, DropTarget, FocusableElement, FocusableRef, Key, RefObject} from '@react-types/shared';\nimport type {DragAndDropHooks} from '../dnd/useDragAndDrop';\nimport type {DraggableCollectionState} from 'react-stately/useDraggableCollectionState';\nimport type {DraggableItemResult} from 'react-aria/useDraggableCollection';\nimport type {DropIndicatorAria, DroppableCollectionResult} from 'react-aria/useDroppableCollection';\nimport type {DroppableCollectionState} from 'react-stately/useDroppableCollectionState';\nimport {FocusRing} from 'react-aria/FocusRing';\nimport {FocusScope} from 'react-aria/FocusScope';\nimport {getActiveElement, isFocusWithin} from 'react-aria/private/utils/shadowdom/DOMFunctions';\nimport {getInteractionModality, isFocusVisible} from 'react-aria/private/interactions/useFocusVisible';\nimport {GridNode} from 'react-stately/private/grid/GridCollection';\nimport {HoverProps, useHover} from 'react-aria/useHover';\nimport {InsertionIndicator} from './InsertionIndicator';\nimport intlMessages from '../../intl/table/*.json';\nimport {isAndroid} from 'react-aria/private/utils/platform';\nimport {Item} from 'react-stately/Item';\nimport {LayoutInfo, Rect, ReusableView} from 'react-stately/useVirtualizerState';\nimport {layoutInfoToStyle, VirtualizerItem} from 'react-aria/private/virtualizer/VirtualizerItem';\nimport ListGripper from '@spectrum-icons/ui/ListGripper';\nimport {ListKeyboardDelegate} from 'react-aria/ListKeyboardDelegate';\nimport {Menu} from '../menu/Menu';\nimport {MenuTrigger} from '../menu/MenuTrigger';\nimport {mergeProps} from 'react-aria/mergeProps';\nimport {Nubbin} from './Nubbin';\n// @ts-ignore\nimport {ProgressCircle} from '../progress/ProgressCircle';\nimport React, {DOMAttributes, HTMLAttributes, ReactElement, ReactNode, useCallback, useContext, useEffect, useMemo, useRef, useState} from 'react';\nimport {Resizer, ResizeStateContext} from './Resizer';\nimport {RootDropIndicator} from './RootDropIndicator';\nimport {scrollIntoView, scrollIntoViewport} from 'react-aria/private/utils/scrollIntoView';\nimport {ScrollView} from 'react-aria/private/virtualizer/ScrollView';\nimport {setScrollLeft} from 'react-aria/private/virtualizer/utils';\nimport {SpectrumColumnProps} from './types';\nimport {DragPreview as SpectrumDragPreview} from './DragPreview';\nimport {SpectrumTableProps} from './TableView';\nimport styles from '@adobe/spectrum-css-temp/components/table/vars.css';\nimport stylesOverrides from './table.css';\nimport {ITableCollection as TableCollection} from 'react-stately/private/table/TableCollection';\nimport {TableState, useTableColumnResizeState} from 'react-stately/useTableState';\nimport {TableViewLayout} from './TableViewLayout';\nimport {Tooltip} from '../tooltip/Tooltip';\nimport {TooltipTrigger} from '../tooltip/TooltipTrigger';\nimport {TreeGridState} from 'react-stately/private/table/useTreeGridState';\nimport {useButton} from 'react-aria/useButton';\nimport {useDOMRef, useFocusableRef, useUnwrapDOMRef} from '../utils/useDOMRef';\nimport {useFocusRing} from 'react-aria/useFocusRing';\nimport {useLoadMore} from 'react-aria/private/utils/useLoadMore';\nimport {useLocale} from 'react-aria/I18nProvider';\nimport {useLocalizedStringFormatter} from 'react-aria/useLocalizedStringFormatter';\nimport {usePress} from 'react-aria/usePress';\nimport {useProvider, useProviderProps} from '../provider/Provider';\nimport {useStyleProps} from '../utils/styleProps';\nimport {\n useTable,\n useTableCell,\n useTableColumnHeader,\n useTableHeaderRow,\n useTableRow,\n useTableRowGroup,\n useTableSelectAllCheckbox,\n useTableSelectionCheckbox\n} from 'react-aria/useTable';\nimport {useVirtualizerState} from 'react-stately/useVirtualizerState';\nimport {useVisuallyHidden, VisuallyHidden} from 'react-aria/VisuallyHidden';\n\nconst DEFAULT_HEADER_HEIGHT = {\n medium: 34,\n large: 40\n};\n\nconst DEFAULT_HIDE_HEADER_CELL_WIDTH = {\n medium: 38,\n large: 46\n};\n\nconst ROW_HEIGHTS = {\n compact: {\n medium: 32,\n large: 40\n },\n regular: {\n medium: 40,\n large: 50\n },\n spacious: {\n medium: 48,\n large: 60\n }\n};\n\nconst SELECTION_CELL_DEFAULT_WIDTH = {\n medium: 38,\n large: 48\n};\n\nconst DRAG_BUTTON_CELL_DEFAULT_WIDTH = {\n medium: 16,\n large: 20\n};\n\nconst LEVEL_OFFSET_WIDTH = {\n medium: 16,\n large: 20\n};\n\nexport interface TableContextValue<T> {\n state: TableState<T>,\n dragState: DraggableCollectionState | null,\n dropState: DroppableCollectionState | null,\n dragAndDropHooks?: DragAndDropHooks<T>['dragAndDropHooks'],\n isTableDraggable: boolean,\n isTableDroppable: boolean,\n layout: TableViewLayout<T>,\n headerRowHovered: boolean,\n isInResizeMode: boolean,\n setIsInResizeMode: (val: boolean) => void,\n isEmpty: boolean,\n onFocusedResizer: () => void,\n onResizeStart?: (widths: Map<Key, ColumnSize>) => void,\n onResize?: (widths: Map<Key, ColumnSize>) => void,\n onResizeEnd?: (widths: Map<Key, ColumnSize>) => void,\n headerMenuOpen: boolean,\n setHeaderMenuOpen: (val: boolean) => void,\n renderEmptyState?: () => ReactElement\n}\n\nexport const TableContext = React.createContext<TableContextValue<unknown> | null>(null);\nexport function useTableContext(): TableContextValue<unknown> {\n return useContext(TableContext)!;\n}\n\nexport const VirtualizerContext = React.createContext<{width: number, key: Key | null} | null>(null);\nexport function useVirtualizerContext(): {\n width: number,\n key: Key | null\n} | null {\n return useContext(VirtualizerContext);\n}\n\ninterface TableBaseProps<T> extends SpectrumTableProps<T> {\n state: TableState<T> | TreeGridState<T>\n}\n\ntype View = ReusableView<GridNode<unknown>, ReactNode>;\n\nfunction TableViewBase<T extends object>(props: TableBaseProps<T>, ref: DOMRef<HTMLDivElement>) {\n props = useProviderProps(props);\n let {\n isQuiet,\n onAction,\n onResizeStart: propsOnResizeStart,\n onResizeEnd: propsOnResizeEnd,\n dragAndDropHooks,\n state\n } = props;\n let isTableDraggable = !!dragAndDropHooks?.useDraggableCollectionState;\n let isTableDroppable = !!dragAndDropHooks?.useDroppableCollectionState;\n let dragHooksProvided = useRef(isTableDraggable);\n let dropHooksProvided = useRef(isTableDroppable);\n useEffect(() => {\n if (process.env.NODE_ENV === 'production') {\n return;\n }\n if (dragHooksProvided.current !== isTableDraggable) {\n console.warn('Drag hooks were provided during one render, but not another. This should be avoided as it may produce unexpected behavior.');\n }\n if (dropHooksProvided.current !== isTableDroppable) {\n console.warn('Drop hooks were provided during one render, but not another. This should be avoided as it may produce unexpected behavior.');\n }\n if ('keyMap' in state && (isTableDraggable || isTableDroppable)) {\n console.warn('Drag and drop is not yet fully supported with expandable rows and may produce unexpected results.');\n }\n }, [isTableDraggable, isTableDroppable, state]);\n\n let {styleProps} = useStyleProps(props);\n let {scale} = useProvider();\n\n // Starts when the user selects resize from the menu, ends when resizing ends\n // used to control the visibility of the resizer Nubbin\n let [isInResizeMode, setIsInResizeMode] = useState(false);\n // Starts when the resizer is actually moved\n // entering resizing/exiting resizing doesn't trigger a render\n // with table layout, so we need to track it here\n let [, setIsResizing] = useState(false);\n\n let domRef = useDOMRef(ref);\n let headerRef = useRef<HTMLDivElement | null>(null);\n let bodyRef = useRef<HTMLDivElement | null>(null);\n\n let density = props.density || 'regular';\n let layout = useMemo(() => new TableViewLayout<T>({\n // If props.rowHeight is auto, then use estimated heights based on scale, otherwise use fixed heights.\n rowHeight: props.overflowMode === 'wrap'\n ? undefined\n : ROW_HEIGHTS[density][scale],\n estimatedRowHeight: props.overflowMode === 'wrap'\n ? ROW_HEIGHTS[density][scale]\n : undefined,\n headingHeight: props.overflowMode === 'wrap'\n ? undefined\n : DEFAULT_HEADER_HEIGHT[scale],\n estimatedHeadingHeight: props.overflowMode === 'wrap'\n ? DEFAULT_HEADER_HEIGHT[scale]\n : undefined\n }),\n // don't recompute when state.collection changes, only used for initial value\n\n [props.overflowMode, scale, density]\n );\n\n let dragState: DraggableCollectionState | null = null;\n let preview = useRef(null);\n if (isTableDraggable && dragAndDropHooks) {\n dragState = dragAndDropHooks.useDraggableCollectionState!({\n collection: state.collection,\n selectionManager: state.selectionManager,\n preview\n });\n dragAndDropHooks.useDraggableCollection!({}, dragState, domRef);\n }\n\n let DragPreview = dragAndDropHooks?.DragPreview;\n let dropState: DroppableCollectionState | null = null;\n let droppableCollection: DroppableCollectionResult | null = null;\n let isRootDropTarget = false;\n if (isTableDroppable && dragAndDropHooks) {\n dropState = dragAndDropHooks.useDroppableCollectionState!({\n collection: state.collection,\n selectionManager: state.selectionManager\n });\n droppableCollection = dragAndDropHooks.useDroppableCollection!({\n keyboardDelegate: new ListKeyboardDelegate({\n collection: state.collection,\n disabledKeys: state.selectionManager.disabledKeys,\n ref: domRef,\n layoutDelegate: layout\n }),\n dropTargetDelegate: layout\n }, dropState, domRef);\n\n isRootDropTarget = dropState.isDropTarget({type: 'root'});\n }\n\n let {gridProps} = useTable({\n ...props,\n isVirtualized: true,\n layoutDelegate: layout,\n onRowAction: onAction,\n scrollRef: bodyRef\n }, state, domRef);\n let [headerMenuOpen, setHeaderMenuOpen] = useState(false);\n let [headerRowHovered, setHeaderRowHovered] = useState(false);\n\n // This overrides collection view's renderWrapper to support DOM hierarchy.\n let renderWrapper = useCallback((parent: View | null, reusableView: View, children: View[], renderChildren: (views: View[]) => ReactElement[]): ReactElement => {\n if (reusableView.viewType === 'rowgroup') {\n return (\n <TableRowGroup\n key={reusableView.key}\n layoutInfo={reusableView.layoutInfo!}\n parent={parent?.layoutInfo ?? null}\n // Override the default role=\"rowgroup\" with role=\"presentation\",\n // in favor or adding role=\"rowgroup\" to the ScrollView with\n // ref={bodyRef} in the TableVirtualizer below.\n role=\"presentation\">\n {renderChildren(children)}\n </TableRowGroup>\n );\n }\n\n if (reusableView.viewType === 'header') {\n return (\n <TableHeader\n key={reusableView.key}\n layoutInfo={reusableView.layoutInfo!}\n parent={parent?.layoutInfo ?? null}>\n {renderChildren(children)}\n </TableHeader>\n );\n }\n\n if (reusableView.viewType === 'row') {\n return (\n <TableRow\n key={reusableView.key}\n item={reusableView.content!}\n layoutInfo={reusableView.layoutInfo!}\n parent={parent?.layoutInfo ?? null}>\n {renderChildren(children)}\n </TableRow>\n );\n }\n\n if (reusableView.viewType === 'headerrow') {\n return (\n <TableHeaderRow\n onHoverChange={setHeaderRowHovered}\n key={reusableView.key}\n layoutInfo={reusableView.layoutInfo!}\n parent={parent?.layoutInfo ?? null}\n item={reusableView.content!}>\n {renderChildren(children)}\n </TableHeaderRow>\n );\n }\n\n return (\n <TableCellWrapper\n key={reusableView.key}\n layoutInfo={reusableView.layoutInfo!}\n virtualizer={reusableView.virtualizer}\n parent={parent!}>\n {reusableView.rendered}\n </TableCellWrapper>\n );\n }, []);\n\n let renderView = useCallback((type: string, item: GridNode<T>) => {\n switch (type) {\n case 'header':\n case 'rowgroup':\n case 'section':\n case 'row':\n case 'headerrow':\n return null;\n case 'cell': {\n if (item.props.isSelectionCell) {\n return <TableCheckboxCell cell={item} />;\n }\n\n if (item.props.isDragButtonCell) {\n return <TableDragCell cell={item} />;\n }\n\n return <TableCell cell={item} />;\n }\n case 'placeholder':\n // TODO: move to react-aria?\n return (\n <div\n role=\"gridcell\"\n aria-colindex={item.index + 1}\n aria-colspan={item.colSpan != null && item.colSpan > 1 ? item.colSpan : undefined} />\n );\n case 'column':\n if (item.props.isSelectionCell) {\n return <TableSelectAllCell column={item} />;\n }\n\n if (item.props.isDragButtonCell) {\n return <TableDragHeaderCell column={item} />;\n }\n\n // TODO: consider this case, what if we have hidden headers and a empty table\n if (item.props.hideHeader) {\n return (\n <TooltipTrigger placement=\"top\" trigger=\"focus\">\n <TableColumnHeader column={item} />\n <Tooltip placement=\"top\">{item.rendered}</Tooltip>\n </TooltipTrigger>\n );\n }\n\n if (item.props.allowsResizing && !item.hasChildNodes) {\n return <ResizableTableColumnHeader column={item} />;\n }\n\n return (\n <TableColumnHeader column={item} />\n );\n case 'loader':\n return <LoadingState />;\n case 'empty': {\n return <EmptyState />;\n }\n }\n return null;\n }, []);\n\n let [isVerticalScrollbarVisible, setVerticalScollbarVisible] = useState(false);\n let [isHorizontalScrollbarVisible, setHorizontalScollbarVisible] = useState(false);\n let viewport = useRef({x: 0, y: 0, width: 0, height: 0});\n let onVisibleRectChange = useCallback((e) => {\n if (viewport.current.width === e.width && viewport.current.height === e.height) {\n return;\n }\n viewport.current = e;\n if (bodyRef.current) {\n setVerticalScollbarVisible(bodyRef.current.clientWidth + 2 < bodyRef.current.offsetWidth);\n setHorizontalScollbarVisible(bodyRef.current.clientHeight + 2 < bodyRef.current.offsetHeight);\n }\n }, []);\n let {isFocusVisible, focusProps} = useFocusRing();\n let isEmpty = state.collection.size === 0;\n\n let onFocusedResizer = () => {\n if (bodyRef.current && headerRef.current) {\n bodyRef.current.scrollLeft = headerRef.current.scrollLeft;\n }\n };\n\n let onResizeStart = useCallback((widths) => {\n setIsResizing(true);\n propsOnResizeStart?.(widths);\n }, [setIsResizing, propsOnResizeStart]);\n let onResizeEnd = useCallback((widths) => {\n setIsInResizeMode(false);\n setIsResizing(false);\n propsOnResizeEnd?.(widths);\n }, [propsOnResizeEnd, setIsInResizeMode, setIsResizing]);\n\n let focusedKey = state.selectionManager.focusedKey;\n let dropTargetKey: Key | null = null;\n if (dropState?.target?.type === 'item') {\n dropTargetKey = dropState.target.key;\n if (dropState.target.dropPosition === 'before' && dropTargetKey !== state.collection.getFirstKey()) {\n // Normalize to the \"after\" drop position since we only render those in the DOM.\n // The exception to this is for the first row in the table, where we also render the \"before\" position.\n dropTargetKey = state.collection.getKeyBefore(dropTargetKey);\n }\n }\n\n let persistedKeys = useMemo(() => {\n return new Set([focusedKey, dropTargetKey].filter(k => k !== null));\n }, [focusedKey, dropTargetKey]);\n\n let mergedProps = mergeProps(\n isTableDroppable ? droppableCollection?.collectionProps : null,\n gridProps,\n focusProps\n );\n\n if (dragAndDropHooks?.isVirtualDragging?.()) {\n mergedProps.tabIndex = undefined;\n }\n\n return (\n <TableContext.Provider\n value={{\n state: state as TableState<unknown>,\n dragState,\n dropState,\n dragAndDropHooks,\n isTableDraggable,\n isTableDroppable,\n layout,\n onResizeStart,\n onResize: props.onResize,\n onResizeEnd,\n headerRowHovered,\n isInResizeMode,\n setIsInResizeMode,\n isEmpty,\n onFocusedResizer,\n headerMenuOpen,\n setHeaderMenuOpen,\n renderEmptyState: props.renderEmptyState\n }}>\n <TableVirtualizer\n {...mergedProps}\n {...styleProps}\n className={\n classNames(\n styles,\n 'spectrum-Table',\n `spectrum-Table--${density}`,\n {\n 'spectrum-Table--quiet': isQuiet,\n 'spectrum-Table--wrap': props.overflowMode === 'wrap',\n 'spectrum-Table--loadingMore': state.collection.body.props.loadingState === 'loadingMore',\n 'spectrum-Table--isVerticalScrollbarVisible': isVerticalScrollbarVisible,\n 'spectrum-Table--isHorizontalScrollbarVisible': isHorizontalScrollbarVisible\n },\n classNames(\n stylesOverrides,\n 'react-spectrum-Table'\n ),\n styleProps.className\n )\n }\n tableState={state as TableState<T>}\n layout={layout}\n collection={state.collection}\n persistedKeys={persistedKeys}\n renderView={renderView}\n renderWrapper={renderWrapper}\n onVisibleRectChange={onVisibleRectChange}\n domRef={domRef}\n headerRef={headerRef}\n bodyRef={bodyRef}\n isFocusVisible={isFocusVisible}\n isVirtualDragging={dragAndDropHooks?.isVirtualDragging?.() || false}\n isRootDropTarget={isRootDropTarget} />\n {DragPreview && isTableDraggable && dragAndDropHooks && dragState &&\n <DragPreview ref={preview}>\n {() => {\n if (dragState.draggedKey == null) {\n return null;\n }\n if (dragAndDropHooks.renderPreview) {\n return dragAndDropHooks.renderPreview(dragState.draggingKeys, dragState.draggedKey);\n }\n let itemCount = dragState.draggingKeys.size;\n let maxWidth = bodyRef.current!.getBoundingClientRect().width;\n let height = ROW_HEIGHTS[density][scale];\n let itemText = state.collection.getTextValue!(dragState.draggedKey);\n return <SpectrumDragPreview itemText={itemText} itemCount={itemCount} height={height} maxWidth={maxWidth} />;\n }}\n </DragPreview>\n }\n </TableContext.Provider>\n );\n}\n\ninterface TableVirtualizerProps<T> extends HTMLAttributes<HTMLElement> {\n tableState: TableState<T>,\n layout: TableViewLayout<T>,\n collection: TableCollection<T>,\n persistedKeys: Set<Key> | null,\n renderView: (type: string, content: GridNode<T>) => ReactElement | null,\n renderWrapper: (\n parent: View | null,\n reusableView: View,\n children: View[],\n renderChildren: (views: View[]) => ReactElement[]\n ) => ReactElement | null,\n domRef: RefObject<HTMLDivElement | null>,\n bodyRef: RefObject<HTMLDivElement | null>,\n headerRef: RefObject<HTMLDivElement | null>,\n onVisibleRectChange: (rect: Rect) => void,\n isFocusVisible: boolean,\n isVirtualDragging: boolean,\n isRootDropTarget: boolean\n}\n\n// This is a custom Virtualizer that also has a header that syncs its scroll position with the body.\nfunction TableVirtualizer<T>(props: TableVirtualizerProps<T>) {\n let {tableState, layout, collection, persistedKeys, renderView, renderWrapper, domRef, bodyRef, headerRef, onVisibleRectChange: onVisibleRectChangeProp, isFocusVisible, isVirtualDragging, isRootDropTarget, ...otherProps} = props;\n let {direction} = useLocale();\n let loadingState = collection.body.props.loadingState;\n let isLoading = loadingState === 'loading' || loadingState === 'loadingMore';\n let onLoadMore = collection.body.props.onLoadMore;\n let [tableWidth, setTableWidth] = useState(0);\n let {scale} = useProvider();\n\n const getDefaultWidth = useCallback(({props: {hideHeader, isSelectionCell, showDivider, isDragButtonCell}}: GridNode<T>): ColumnSize | null | undefined => {\n if (hideHeader) {\n let width = DEFAULT_HIDE_HEADER_CELL_WIDTH[scale];\n return showDivider ? width + 1 : width;\n } else if (isSelectionCell) {\n return SELECTION_CELL_DEFAULT_WIDTH[scale];\n } else if (isDragButtonCell) {\n return DRAG_BUTTON_CELL_DEFAULT_WIDTH[scale];\n }\n }, [scale]);\n\n const getDefaultMinWidth = useCallback(({props: {hideHeader, isSelectionCell, showDivider, isDragButtonCell}}: GridNode<T>): ColumnSize | null | undefined => {\n if (hideHeader) {\n let width = DEFAULT_HIDE_HEADER_CELL_WIDTH[scale];\n return showDivider ? width + 1 : width;\n } else if (isSelectionCell) {\n return SELECTION_CELL_DEFAULT_WIDTH[scale];\n } else if (isDragButtonCell) {\n return DRAG_BUTTON_CELL_DEFAULT_WIDTH[scale];\n }\n return 75;\n }, [scale]);\n\n let columnResizeState = useTableColumnResizeState({\n tableWidth,\n getDefaultWidth,\n getDefaultMinWidth\n }, tableState);\n\n let state = useVirtualizerState<GridNode<unknown>, ReactNode>({\n layout,\n collection,\n renderView,\n onVisibleRectChange(rect) {\n if (bodyRef.current) {\n bodyRef.current.scrollTop = rect.y;\n setScrollLeft(bodyRef.current, direction, rect.x);\n }\n },\n persistedKeys,\n layoutOptions: useMemo(() => ({\n columnWidths: columnResizeState.columnWidths\n }), [columnResizeState.columnWidths])\n });\n\n useLoadMore({isLoading, onLoadMore, scrollOffset: 1}, bodyRef);\n let onVisibleRectChange = useCallback((rect: Rect) => {\n state.setVisibleRect(rect);\n }, [state]);\n\n let onVisibleRectChangeMemo = useCallback(rect => {\n setTableWidth(rect.width);\n onVisibleRectChange(rect);\n onVisibleRectChangeProp(rect);\n }, [onVisibleRectChange, onVisibleRectChangeProp]);\n\n // this effect runs whenever the contentSize changes, it doesn't matter what the content size is\n // only that it changes in a resize, and when that happens, we want to sync the body to the\n // header scroll position\n useEffect(() => {\n if (getInteractionModality() === 'keyboard' && headerRef.current && isFocusWithin(headerRef.current) && bodyRef.current) {\n let activeElement = getActiveElement() as HTMLElement;\n scrollIntoView(headerRef.current, activeElement);\n scrollIntoViewport(activeElement, {containingElement: domRef.current});\n bodyRef.current.scrollLeft = headerRef.current.scrollLeft;\n }\n }, [state.contentSize, headerRef, bodyRef, domRef]);\n\n let headerHeight = layout.getLayoutInfo('header')?.rect.height || 0;\n\n // Sync the scroll position from the table body to the header container.\n let onScroll = useCallback(() => {\n if (headerRef.current && bodyRef.current) {\n headerRef.current.scrollLeft = bodyRef.current.scrollLeft;\n }\n }, [bodyRef, headerRef]);\n\n let resizerPosition = columnResizeState.resizingColumn != null ? layout.getLayoutInfo(columnResizeState.resizingColumn)!.rect.maxX - 2 : 0;\n\n let resizerAtEdge = resizerPosition > Math.max(state.virtualizer.contentSize.width, state.virtualizer.visibleRect.width) - 3;\n // this should be fine, every movement of the resizer causes a rerender\n // scrolling can cause it to lag for a moment, but it's always updated\n let resizerInVisibleRegion = resizerPosition < state.virtualizer.visibleRect.maxX;\n let shouldHardCornerResizeCorner = resizerAtEdge && resizerInVisibleRegion;\n\n // minimize re-render caused on Resizers by memoing this\n let resizingColumnWidth = columnResizeState.resizingColumn != null ? columnResizeState.getColumnWidth(columnResizeState.resizingColumn) : 0;\n let resizingColumn = useMemo(() => ({\n width: resizingColumnWidth,\n key: columnResizeState.resizingColumn\n }), [resizingColumnWidth, columnResizeState.resizingColumn]);\n\n if (isVirtualDragging) {\n otherProps.tabIndex = undefined;\n }\n\n let firstColumn = collection.columns[0];\n let scrollPadding = 0;\n if (firstColumn.props.isSelectionCell || firstColumn.props.isDragButtonCell) {\n scrollPadding = columnResizeState.getColumnWidth(firstColumn.key);\n }\n\n let visibleViews = renderChildren(null, state.visibleViews, renderWrapper);\n\n return (\n <VirtualizerContext.Provider value={resizingColumn}>\n <FocusScope>\n <div\n {...otherProps}\n ref={domRef}>\n <div\n role=\"presentation\"\n className={classNames(styles, 'spectrum-Table-headWrapper')}\n style={{\n height: headerHeight,\n overflow: 'hidden',\n position: 'relative',\n willChange: state.isScrolling ? 'scroll-position' : undefined,\n scrollPaddingInlineStart: scrollPadding\n }}\n ref={headerRef}>\n <ResizeStateContext.Provider value={columnResizeState}>\n {visibleViews[0]}\n </ResizeStateContext.Provider>\n </div>\n <ScrollView\n className={\n classNames(\n styles,\n 'spectrum-Table-body',\n {\n 'focus-ring': isFocusVisible,\n 'spectrum-Table-body--resizerAtTableEdge': shouldHardCornerResizeCorner\n },\n classNames(\n stylesOverrides,\n 'react-spectrum-Table-body',\n {\n 'react-spectrum-Table-body--dropTarget': !!isRootDropTarget\n }\n )\n )\n }\n // Firefox and Chrome make generic elements using CSS overflow 'scroll' or 'auto' tabbable,\n // including them within the accessibility tree, which breaks the table structure in Firefox.\n // Using tabIndex={-1} prevents the ScrollView from being tabbable, and using role=\"rowgroup\"\n // here and role=\"presentation\" on the table body content fixes the table structure.\n role=\"rowgroup\"\n tabIndex={isVirtualDragging ? undefined : -1}\n style={{\n flex: 1,\n scrollPaddingInlineStart: scrollPadding\n }}\n innerStyle={{overflow: 'visible'}}\n ref={bodyRef}\n contentSize={state.contentSize}\n onVisibleRectChange={onVisibleRectChangeMemo}\n onScrollStart={state.startScrolling}\n onScrollEnd={state.endScrolling}\n onScroll={onScroll}>\n {visibleViews[1]}\n <div\n className={classNames(styles, 'spectrum-Table-bodyResizeIndicator')}\n style={{[direction === 'ltr' ? 'left' : 'right']: `${resizerPosition}px`, height: `${Math.max(state.virtualizer.contentSize.height, state.virtualizer.visibleRect.height)}px`, display: columnResizeState.resizingColumn ? 'block' : 'none'}} />\n </ScrollView>\n </div>\n </FocusScope>\n </VirtualizerContext.Provider>\n );\n}\n\nfunction renderChildren<T extends object>(parent: View | null, views: View[], renderWrapper: NonNullable<TableVirtualizerProps<T>['renderWrapper']>) {\n return views.map(view => {\n return renderWrapper(\n parent,\n view,\n view.children ? Array.from(view.children) : [],\n childViews => renderChildren(view, childViews, renderWrapper)\n );\n });\n}\n\nfunction useStyle(layoutInfo: LayoutInfo, parent: LayoutInfo | null) {\n let {direction} = useLocale();\n let style = layoutInfoToStyle(layoutInfo, direction, parent);\n if (style.overflow === 'hidden') {\n style.overflow = 'visible'; // needed to support position: sticky\n }\n return style;\n}\n\nfunction TableHeader({children, layoutInfo, parent, ...otherProps}: {children: ReactNode, layoutInfo: LayoutInfo, parent: LayoutInfo | null}) {\n let {rowGroupProps} = useTableRowGroup();\n let style = useStyle(layoutInfo, parent);\n\n return (\n <div {...rowGroupProps} {...otherProps} className={classNames(styles, 'spectrum-Table-head')} style={style}>\n {children}\n </div>\n );\n}\n\nfunction TableColumnHeader(props) {\n let {column} = props;\n let ref = useRef<HTMLDivElement>(null);\n let {state, isEmpty} = useTableContext();\n let {pressProps, isPressed} = usePress({isDisabled: isEmpty});\n let columnProps = column.props as SpectrumColumnProps<unknown>;\n useEffect(() => {\n if (column.hasChildNodes && columnProps.allowsResizing && process.env.NODE_ENV !== 'production') {\n console.warn(`Column key: ${column.key}. Columns with child columns don't allow resizing.`);\n }\n }, [column.hasChildNodes, column.key, columnProps.allowsResizing]);\n\n let {columnHeaderProps} = useTableColumnHeader({\n node: column,\n isVirtualized: true\n }, state, ref);\n\n let {hoverProps, isHovered} = useHover({...props, isDisabled: isEmpty});\n\n const allProps = [columnHeaderProps, hoverProps, pressProps];\n\n return (\n <FocusRing focusRingClass={classNames(styles, 'focus-ring')}>\n <div\n {...mergeProps(...allProps)}\n ref={ref}\n className={\n classNames(\n styles,\n 'spectrum-Table-headCell',\n {\n 'is-active': isPressed,\n 'is-sortable': columnProps.allowsSorting,\n 'is-sorted-desc': state.sortDescriptor?.column === column.key && state.sortDescriptor?.direction === 'descending',\n 'is-sorted-asc': state.sortDescriptor?.column === column.key && state.sortDescriptor?.direction === 'ascending',\n 'is-hovered': isHovered,\n 'spectrum-Table-cell--hideHeader': columnProps.hideHeader\n },\n classNames(\n stylesOverrides,\n 'react-spectrum-Table-cell',\n {\n 'react-spectrum-Table-cell--alignCenter': columnProps.align === 'center' || column.colSpan > 1,\n 'react-spectrum-Table-cell--alignEnd': columnProps.align === 'end'\n }\n )\n )\n }>\n {columnProps.allowsSorting &&\n <ArrowDownSmall UNSAFE_className={classNames(styles, 'spectrum-Table-sortedIcon')} />\n }\n {columnProps.hideHeader ?\n <VisuallyHidden>{column.rendered}</VisuallyHidden> :\n <div className={classNames(styles, 'spectrum-Table-headCellContents')}>{column.rendered}</div>\n }\n </div>\n </FocusRing>\n );\n}\n\nlet ForwardTableColumnHeaderButton = (props, ref: FocusableRef<HTMLDivElement>) => {\n let {focusProps, alignment, ...otherProps} = props;\n let {isEmpty} = useTableContext();\n let domRef = useFocusableRef(ref);\n let {buttonProps} = useButton({...otherProps, elementType: 'div', isDisabled: isEmpty}, domRef);\n let {hoverProps, isHovered} = useHover({...otherProps, isDisabled: isEmpty});\n\n return (\n <div\n className={\n classNames(\n styles,\n 'spectrum-Table-headCellContents',\n {\n 'is-hovered': isHovered\n }\n )\n }\n {...hoverProps}>\n <div\n className={\n classNames(\n styles,\n 'spectrum-Table-headCellButton',\n {\n 'spectrum-Table-headCellButton--alignStart': alignment === 'start',\n 'spectrum-Table-headCellButton--alignCenter': alignment === 'center',\n 'spectrum-Table-headCellButton--alignEnd': alignment === 'end'\n }\n )\n }\n {...mergeProps(buttonProps, focusProps)}\n ref={domRef}>\n {props.children}\n </div>\n </div>\n );\n};\nlet TableColumnHeaderButton = React.forwardRef(ForwardTableColumnHeaderButton);\n\nfunction ResizableTableColumnHeader(props) {\n let {column} = props;\n let ref = useRef(null);\n let triggerRef = useRef(null);\n let resizingRef = useRef(null);\n let {\n state,\n onResizeStart,\n onResize,\n onResizeEnd,\n headerRowHovered,\n setIsInResizeMode,\n isEmpty,\n isInResizeMode,\n headerMenuOpen,\n setHeaderMenuOpen\n } = useTableContext();\n let columnResizeState = useContext(ResizeStateContext)!;\n let stringFormatter = useLocalizedStringFormatter(intlMessages, '@react-spectrum/table');\n let {pressProps, isPressed} = usePress({isDisabled: isEmpty});\n let {columnHeaderProps} = useTableColumnHeader({\n node: column,\n isVirtualized: true\n }, state, ref);\n\n let {hoverProps, isHovered} = useHover({...props, isDisabled: isEmpty || headerMenuOpen});\n\n const allProps = [columnHeaderProps, pressProps, hoverProps];\n\n let columnProps = column.props as SpectrumColumnProps<unknown>;\n\n let {isFocusVisible, focusProps} = useFocusRing();\n\n const onMenuSelect = (key) => {\n switch (key) {\n case 'sort-asc':\n state.sort(column.key, 'ascending');\n break;\n case 'sort-desc':\n state.sort(column.key, 'descending');\n break;\n case 'resize':\n columnResizeState.startResize(column.key);\n setIsInResizeMode(true);\n state.setKeyboardNavigationDisabled(true);\n break;\n }\n };\n let allowsSorting = column.props?.allowsSorting;\n let items = useMemo(() => {\n let options: {label: string, id: string}[] = [];\n if (allowsSorting) {\n options.push({\n label: stringFormatter.format('sortAscending'),\n id: 'sort-asc'\n });\n options.push({\n label: stringFormatter.format('sortDescending'),\n id: 'sort-desc'\n });\n }\n options.push({\n label: stringFormatter.format('resizeColumn'),\n id: 'resize'\n });\n return options;\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [allowsSorting]);\n\n let resizingColumn = columnResizeState.resizingColumn;\n let showResizer = !isEmpty && ((headerRowHovered && getInteractionModality() !== 'keyboard') || resizingColumn != null);\n let alignment = 'start';\n let menuAlign = 'start' as 'start' | 'end';\n if (columnProps.align === 'center' || column.colSpan > 1) {\n alignment = 'center';\n } else if (columnProps.align === 'end') {\n alignment = 'end';\n menuAlign = 'end';\n }\n\n return (\n <FocusRing focusRingClass={classNames(styles, 'focus-ring')}>\n <div\n {...mergeProps(...allProps)}\n ref={ref}\n className={\n classNames(\n styles,\n 'spectrum-Table-headCell',\n {\n 'is-active': isPressed,\n 'is-resizable': columnProps.allowsResizing,\n 'is-sortable': columnProps.allowsSorting,\n 'is-sorted-desc': state.sortDescriptor?.column === column.key && state.sortDescriptor?.direction === 'descending',\n 'is-sorted-asc': state.sortDescriptor?.column === column.key && state.sortDescriptor?.direction === 'ascending',\n 'is-hovered': isHovered,\n 'focus-ring': isFocusVisible,\n 'spectrum-Table-cell--hideHeader': columnProps.hideHeader\n },\n classNames(\n stylesOverrides,\n 'react-spectrum-Table-cell',\n {\n 'react-spectrum-Table-cell--alignCenter': alignment === 'center',\n 'react-spectrum-Table-cell--alignEnd': alignment === 'end'\n }\n )\n )\n }>\n <MenuTrigger onOpenChange={setHeaderMenuOpen} align={menuAlign}>\n <TableColumnHeaderButton alignment={alignment} ref={triggerRef} focusProps={focusProps}>\n {columnProps.allowsSorting &&\n <ArrowDownSmall UNSAFE_className={classNames(styles, 'spectrum-Table-sortedIcon')} />\n }\n {columnProps.hideHeader ?\n <VisuallyHidden>{column.rendered}</VisuallyHidden> :\n <div className={classNames(styles, 'spectrum-Table-headerCellText')}>{column.rendered}</div>\n }\n {\n columnProps.allowsResizing && <ChevronDownMedium UNSAFE_className={classNames(styles, 'spectrum-Table-menuChevron')} />\n }\n </TableColumnHeaderButton>\n <Menu onAction={onMenuSelect} minWidth=\"size-2000\" items={items}>\n {(item) => (\n <Item>\n {item.label}\n </Item>\n )}\n </Menu>\n </MenuTrigger>\n <Resizer\n ref={resizingRef}\n column={column}\n showResizer={showResizer}\n onResizeStart={onResizeStart}\n onResize={onResize}\n onResizeEnd={onResizeEnd}\n triggerRef={useUnwrapDOMRef(triggerRef)} />\n <div\n aria-hidden\n className={classNames(\n styles,\n 'spectrum-Table-colResizeIndicator',\n {\n 'spectrum-Table-colResizeIndicator--visible': resizingColumn != null,\n 'spectrum-Table-colResizeIndicator--resizing': resizingColumn === column.key\n }\n )}>\n <div\n className={classNames(\n styles,\n 'spectrum-Table-colResizeNubbin',\n {\n 'spectrum-Table-colResizeNubbin--visible': isInResizeMode && resizingColumn === column.key\n }\n )}>\n <Nubbin />\n </div>\n </div>\n </div>\n </FocusRing>\n );\n}\n\nfunction TableSelectAllCell({column}) {\n let ref = useRef<HTMLDivElement | null>(null);\n let {state} = useTableContext();\n let isSingleSelectionMode = state.selectionManager.selectionMode === 'single';\n let {columnHeaderProps} = useTableColumnHeader({\n node: column,\n isVirtualized: true\n }, state, ref);\n\n let {checkboxProps} = useTableSelectAllCheckbox(state);\n let {hoverProps, isHovered} = useHover({});\n\n return (\n <FocusRing focusRingClass={classNames(styles, 'focus-ring')}>\n <div\n {...mergeProps(columnHeaderProps, hoverProps)}\n ref={ref}\n className={\n classNames(\n styles,\n 'spectrum-Table-headCell',\n 'spectrum-Table-checkboxCell',\n {\n 'is-hovered': isHovered\n }\n )\n }>\n {\n /*\n In single selection mode, the checkbox will be hidden.\n So to avoid leaving a column header with no accessible content,\n we use a VisuallyHidden component to include the aria-label from the checkbox,\n which for single selection will be \"Select.\"\n */\n isSingleSelectionMode &&\n <VisuallyHidden>{checkboxProps['aria-label']}</VisuallyHidden>\n }\n <Checkbox\n {...checkboxProps}\n data-testid=\"selectAll\"\n isEmphasized\n UNSAFE_style={isSingleSelectionMode ? {visibility: 'hidden'} : undefined}\n UNSAFE_className={classNames(styles, 'spectrum-Table-checkbox')} />\n </div>\n </FocusRing>\n );\n}\n\nfunction TableDragHeaderCell({column}) {\n let ref = useRef<HTMLDivElement | null>(null);\n let {state} = useTableContext();\n let {columnHeaderProps} = useTableColumnHeader({\n node: column,\n isVirtualized: true\n }, state, ref);\n let stringFormatter = useLocalizedStringFormatter(intlMessages, '@react-spectrum/table');\n\n return (\n <FocusRing focusRingClass={classNames(styles, 'focus-ring')}>\n <div\n {...columnHeaderProps}\n ref={ref}\n className={\n classNames(\n styles,\n 'spectrum-Table-headCell',\n classNames(\n stylesOverrides,\n 'react-spectrum-Table-headCell',\n 'react-spectrum-Table-dragButtonHeadCell'\n )\n )\n }>\n <VisuallyHidden>{stringFormatter.format('drag')}</VisuallyHidden>\n </div>\n </FocusRing>\n );\n}\n\nfunction TableRowGroup({children, layoutInfo, parent, ...otherProps}: {children: ReactNode, layoutInfo: LayoutInfo, parent: LayoutInfo | null, role: string}) {\n let {rowGroupProps} = useTableRowGroup();\n let {isTableDroppable} = useContext(TableContext)!;\n let style = useStyle(layoutInfo, parent);\n\n return (\n <div {...rowGroupProps} style={style} {...otherProps}>\n {isTableDroppable &&\n <RootDropIndicator key=\"root\" />\n }\n {children}\n </div>\n );\n}\n\nfunction DragButton() {\n let {dragButtonProps, dragButtonRef, isFocusVisibleWithin} = useTableRowContext();\n let {visuallyHiddenProps} = useVisuallyHidden();\n return (\n <FocusRing focusRingClass={classNames(stylesOverrides, 'focus-ring')}>\n <div\n {...dragButtonProps as React.HTMLAttributes<HTMLElement>}\n className={\n classNames(\n stylesOverrides,\n 'react-spectrum-Table-dragButton'\n )\n }\n style={!isFocusVisibleWithin ? {...visuallyHiddenProps.style} : {}}\n ref={dragButtonRef}\n draggable=\"true\">\n <ListGripper UNSAFE_className={classNames(stylesOverrides)} />\n </div>\n </FocusRing>\n );\n}\n\ninterface TableRowContextValue {\n dragButtonProps: React.HTMLAttributes<HTMLDivElement>,\n dragButtonRef: React.RefObject<HTMLDivElement | null>,\n isFocusVisibleWithin: boolean\n}\n\n\nconst TableRowContext = React.createContext<TableRowContextValue | null>(null);\nexport function useTableRowContext(): TableRowContextValue {\n return useContext(TableRowContext)!;\n}\n\nfunction TableRow({item, children, layoutInfo, parent, ...otherProps}: {item: GridNode<unknown>, children: ReactNode, layoutInfo: LayoutInfo, parent: LayoutInfo | null}) {\n let ref = useRef<HTMLDivElement | null>(null);\n let {state, layout, dragAndDropHooks, isTableDraggable, isTableDroppable, dragState, dropState} = useTableContext();\n let isSelected = state.selectionManager.isSelected(item.key);\n let {rowProps, hasAction, allowsSelection} = useTableRow({\n node: item,\n isVirtualized: true,\n shouldSelectOnPressUp: isTableDraggable\n }, state, ref);\n\n let isDisabled = state.selectionManager.isDisabled(item.key);\n let isInteractive = !isDisabled && (hasAction || allowsSelection || isTableDraggable);\n let {pressProps, isPressed} = usePress({isDisabled: !isInteractive});\n\n // The row should show the focus background style when any cell inside it is focused.\n // If the row itself is focused, then it should have a blue focus indicator on the left.\n let {\n isFocusVisible: isFocusVisibleWithin,\n focusProps: focusWithinProps\n } = useFocusRing({within: true});\n let {isFocusVisible, focusProps} = useFocusRing();\n let {hoverProps, isHovered} = useHover({isDisabled: !isInteractive});\n let isFirstRow = state.collection.rows.find(row => row.type === 'item' && row.level === 0)?.key === item.key;\n let isLastRow = item.nextKey == null;\n // Figure out if the TableView content is equal or greater in height to the container. If so, we'll need to round the bottom\n // border corners of the last row when selected.\n let isFlushWithContainerBottom = false;\n if (isLastRow) {\n if (layout.getContentSize()?.height >= (layout.virtualizer?.visibleRect.height ?? 0)) {\n isFlushWithContainerBottom = true;\n }\n }\n\n let draggableItem: DraggableItemResult | null = null;\n if (isTableDraggable && dragAndDropHooks && dragState) {\n draggableItem = dragAndDropHooks.useDraggableItem!({key: item.key, hasDragButton: true}, dragState);\n if (isDisabled) {\n draggableItem = null;\n }\n }\n let isDropTarget = false;\n let dropIndicator: DropIndicatorAria | null = null;\n let dropIndicatorRef = useRef<HTMLDivElement | null>(null);\n if (isTableDroppable && dragAndDropHooks && dropState) {\n let target = {type: 'item', key: item.key, dropPosition: 'on'} as DropTarget;\n isDropTarget = dropState.isDropTarget(target);\n\n dropIndicator = dragAndDropHooks.useDropIndicator!({target}, dropState, dropIndicatorRef);\n }\n\n let dragButtonRef = React.useRef<HTMLDivElement | null>(null);\n let {buttonProps: dragButtonProps} = useButton({\n ...draggableItem?.dragButtonProps,\n elementType: 'div'\n }, dragButtonRef);\n\n let style = useStyle(layoutInfo, parent);\n\n let props = mergeProps(\n rowProps,\n otherProps,\n {style},\n focusWithinProps,\n focusProps,\n hoverProps,\n pressProps,\n draggableItem?.dragProps,\n // Remove tab index from list row if performing a screenreader drag. This prevents TalkBack from focusing the row,\n // allowing for single swipe navigation between row drop indicator\n dragAndDropHooks?.isVirtualDragging?.() ? {tabIndex: null} : null\n ) as HTMLAttributes<HTMLElement> & DOMAttributes<FocusableElement>;\n\n let {visuallyHiddenProps} = useVisuallyHidden();\n\n return (\n <TableRowContext.Provider value={{dragButtonProps, dragButtonRef, isFocusVisibleWithin}}>\n {isTableDroppable && isFirstRow &&\n <InsertionIndicator\n rowProps={props}\n key={`${item.key}-before`}\n target={{key: item.key, type: 'item', dropPosition: 'before'}} />\n }\n {isTableDroppable && !dropIndicator?.isHidden &&\n <div role=\"row\" {...visuallyHiddenProps}>\n <div role=\"gridcell\">\n <div role=\"button\" {...dropIndicator?.dropIndicatorProps} ref={dropIndicatorRef} />\n </div>\n </div>\n }\n <div\n {...props}\n ref={ref}\n className={\n classNames(\n styles,\n 'spectrum-Table-row',\n {\n 'is-active': isPressed,\n 'is-selected': isSelected,\n 'spectrum-Table-row--highlightSelection': state.selectionManager.selectionBehavior === 'replace',\n 'is-next-selected': item.nextKey != null && state.selectionManager.isSelected(item.nextKey),\n 'is-focused': isFocusVisibleWithin,\n 'focus-ring': isFocusVisible,\n 'is-hovered': isHovered,\n 'is-disabled': isDisabled,\n 'spectrum-Table-row--firstRow': isFirstRow,\n 'spectrum-Table-row--lastRow': isLastRow,\n 'spectrum-Table-row--isFlushBottom': isFlushWithContainerBottom\n },\n classNames(\n stylesOverrides,\n 'react-spectrum-Table-row',\n {'react-spectrum-Table-row--dropTarget': isDropTarget}\n )\n )\n }>\n {children}\n </div>\n {isTableDroppable &&\n <InsertionIndicator\n rowProps={props}\n key={`${item.key}-after`}\n target={{key: item.key, type: 'item', dropPosition: 'after'}} />\n }\n </TableRowContext.Provider>\n );\n}\n\nfunction TableHeaderRow({item, children, layoutInfo, parent, ...props}: {item: GridNode<unknown>, children: ReactNode, layoutInfo: LayoutInfo, parent: LayoutInfo | null} & HoverProps) {\n let {state, headerMenuOpen} = useTableContext();\n let ref = useRef<HTMLDivElement | null>(null);\n let {rowProps} = useTableHeaderRow({node: item, isVirtualized: true}, state, ref);\n let {hoverProps} = useHover({...props, isDisabled: headerMenuOpen});\n let style = useStyle(layoutInfo, parent);\n\n return (\n <div {...mergeProps(rowProps, hoverProps)} ref={ref} style={style}>\n {children}\n </div>\n );\n}\n\nfunction TableDragCell({cell}) {\n let ref = useRef<HTMLDivElement | null>(null);\n let {state, isTableDraggable} = useTableContext();\n let isDisabled = state.selectionManager.isDisabled(cell.parentKey);\n let {gridCellProps} = useTableCell({\n node: cell,\n isVirtualized: true\n }, state, ref);\n\n\n return (\n <FocusRing focusRingClass={classNames(styles, 'focus-ring')}>\n <div\n {...gridCellProps}\n ref={ref}\n className={\n classNames(\n styles,\n 'spectrum-Table-cell',\n {\n 'is-disabled': isDisabled\n },\n classNames(\n stylesOverrides,\n 'react-spectrum-Table-cell',\n 'react-spectrum-Table-dragButtonCell'\n )\n )\n }>\n {isTableDraggable && !isDisabled && <DragButton />}\n </div>\n </FocusRing>\n );\n}\n\nfunction TableCheckboxCell({cell}) {\n let ref = useRef<HTMLDivElement | null>(null);\n let {state} = useTableContext();\n // The TableCheckbox should always render its disabled status if the row is disabled, regardless of disabledBehavior,\n // but the cell itself should not render its disabled styles if disabledBehavior=\"selection\" because the row might have actions on it.\n let isSelectionDisabled = state.disabledKeys.has(cell.parentKey);\n let isDisabled = state.selectionManager.isDisabled(cell.parentKey);\n let {gridCellProps} = useTableCell({\n node: cell,\n isVirtualized: true\n }, state, ref);\n\n let {checkboxProps} = useTableSelectionCheckbox({key: cell.parentKey}, state);\n\n return (\n <FocusRing focusRingClass={classNames(styles, 'focus-ring')}>\n <div\n {...gridCellProps}\n ref={ref}\n className={\n classNames(\n styles,\n 'spectrum-Table-cell',\n 'spectrum-Table-checkboxCell',\n {\n 'is-disabled': isDisabled\n },\n classNames(\n stylesOverrides,\n 'react-spectrum-Table-cell'\n )\n )\n }>\n {state.selectionManager.selectionMode !== 'none' &&\n <Checkbox\n {...checkboxProps}\n isEmphasized\n isDisabled={isSelectionDisabled}\n UNSAFE_className={classNames(styles, 'spectrum-Table-checkbox')} />\n }\n </div>\n </FocusRing>\n );\n}\n\nfunction TableCell({cell}) {\n let {scale} = useProvider();\n let state = useTableContext().state as TableState<unknown> | TreeGridState<unknown>;\n let isExpandableTable = 'keyMap' in state;\n let ref = useRef<HTMLDivElement | null>(null);\n let columnProps = cell.column.props as SpectrumColumnProps<unknown>;\n let isDisabled = state.selectionManager.isDisabled(cell.parentKey);\n let {gridCellProps} = useTableCell({\n node: cell,\n isVirtualized: true\n }, state as TableState<unknown>, ref);\n let {id, ...otherGridCellProps} = gridCellProps;\n let isFirstRowHeaderCell = state.collection.rowHeaderColumnKeys.keys().next().value === cell.column.key;\n let isRowExpandable = false;\n let showExpandCollapseButton = false;\n let levelOffset = 0;\n\n if ('keyMap' in state) {\n isRowExpandable = state.keyMap.get(cell.parentKey)?.props.UNSTABLE_childItems?.length > 0 || state.keyMap.get(cell.parentKey)?.props?.children?.length > state.userColumnCount;\n showExpandCollapseButton = isFirstRowHeaderCell && isRowExpandable;\n // Offset based on level, and add additional offset if there is no expand/collapse button on a row\n levelOffset = (cell.level - 1) * LEVEL_OFFSET_WIDTH[scale] + (!showExpandCollapseButton ? LEVEL_OFFSET_WIDTH[scale] * 2 : 0);\n }\n\n return (\n <FocusRing focusRingClass={classNames(styles, 'focus-ring')}>\n <div\n {...otherGridCellProps}\n aria-labelledby={id}\n ref={ref}\n style={isExpandableTable && isFirstRowHeaderCell ? {paddingInlineStart: levelOffset} : {}}\n className={\n classNames(\n styles,\n 'spectrum-Table-cell',\n {\n 'spectrum-Table-cell--divider': columnProps.showDivider && cell.column.nextKey !== null,\n 'spectrum-Table-cell--hideHeader': columnProps.hideHeader,\n 'spectrum-Table-cell--hasExpandCollapseButton': showExpandCollapseButton,\n 'is-disabled': isDisabled\n },\n classNames(\n stylesOverrides,\n 'react-spectrum-Table-cell',\n {\n 'react-spectrum-Table-cell--alignStart': columnProps.align === 'start',\n 'react-spectrum-Table-cell--alignCenter': columnProps.align === 'center',\n 'react-spectrum-Table-cell--alignEnd': columnProps.align === 'end'\n }\n )\n )\n }>\n {showExpandCollapseButton && <ExpandableRowChevron cell={cell} />}\n <span\n id={id}\n className={\n classNames(\n styles,\n 'spectrum-Table-cellContents'\n )\n }>\n {cell.rendered}\n </span>\n </div>\n </FocusRing>\n );\n}\n\nfunction TableCellWrapper({layoutInfo, virtualizer, parent, children}: {layoutInfo: LayoutInfo, virtualizer: any, parent: ReusableView<any, any>, children: ReactNode}) {\n let {isTableDroppable, dropState} = useContext(TableContext)!;\n let isDropTarget = false;\n let isRootDroptarget = false;\n if (isTableDroppable && dropState) {\n if (parent.content) {\n isDropTarget = dropState.isDropTarget({type: 'item', dropPosition: 'on', key: parent.content.key});\n }\n isRootDroptarget = dropState.isDropTarget({type: 'root'});\n }\n\n return (\n <VirtualizerItem\n layoutInfo={layoutInfo}\n virtualizer={virtualizer}\n parent={parent?.layoutInfo}\n className={\n useMemo(() => classNames(\n styles,\n 'spectrum-Table-cellWrapper',\n classNames(\n stylesOverrides,\n {\n 'react-spectrum-Table-cellWrapper': !layoutInfo.estimatedSize,\n 'react-spectrum-Table-cellWrapper--dropTarget': isDropTarget || isRootDroptarget\n }\n )\n ), [layoutInfo.estimatedSize, isDropTarget, isRootDroptarget])\n }>\n {children}\n </VirtualizerItem>\n );\n}\n\nfunction ExpandableRowChevron({cell}) {\n // TODO: move some/all of the chevron button setup into a separate hook?\n let {direction} = useLocale();\n let state = useTableContext().state as TableState<unknown> | TreeGridState<unknown>;\n let expandButtonRef = useRef<HTMLSpanElement | null>(null);\n let stringFormatter = useLocalizedStringFormatter(intlMessages, '@react-spectrum/table');\n let isExpanded;\n\n if ('keyMap' in state) {\n isExpanded = state.expandedKeys === 'all' || state.expandedKeys.has(cell.parentKey);\n }\n\n // Will need to keep the chevron as a button for iOS VO at all times since VO doesn't focus the cell. Also keep as button if cellAction is defined by the user in the future\n let {buttonProps} = useButton({\n // Desktop and mobile both toggle expansion of a native expandable row on mouse/touch up\n onPress: () => {\n (state as TreeGridState<unknown>).toggleKey(cell.parentKey);\n if (!isFocusVisible()) {\n state.selectionManager.setFocused(true);\n state.selectionManager.setFocusedKey(cell.parentKey);\n }\n },\n elementType: 'span',\n 'aria-label': isExpanded ? stringFormatter.format('collapse') : stringFormatter.format('expand')\n }, expandButtonRef);\n\n return (\n <span\n {...buttonProps}\n ref={expandButtonRef}\n // Override tabindex so that grid keyboard nav skips over it. Needs -1 so android talkback can actually \"focus\" it\n tabIndex={isAndroid() ? -1 : undefined}\n className={\n classNames(\n styles,\n 'spectrum-Table-expandButton',\n {\n 'is-open': isExpanded\n }\n )\n }>\n {direction === 'ltr' ? <ChevronRightMedium /> : <ChevronLeftMedium />}\n </span>\n );\n}\n\nfunction LoadingState() {\n let {state} = useContext(TableContext)!;\n let stringFormatter = useLocalizedStringFormatter(intlMessages, '@react-spectrum/table');\n return (\n <CenteredWrapper>\n <ProgressCircle\n isIndeterminate\n aria-label={state.collection.size > 0 ? stringFormatter.format('loadingMore') : stringFormatter.format('loading')} />\n </CenteredWrapper>\n );\n}\n\nfunction EmptyState() {\n let {renderEmptyState} = useContext(TableContext)!;\n let emptyState = renderEmptyState ? renderEmptyState() : null;\n if (emptyState == null) {\n return null;\n }\n\n return (\n <CenteredWrapper>\n {emptyState}\n </CenteredWrapper>\n );\n}\n\nfunction CenteredWrapper({children}) {\n let state = useTableContext().state as TableState<unknown> | TreeGridState<unknown>;\n let rowProps;\n\n if ('keyMap' in state) {\n let topLevelRowCount = [...state.collection.body.childNodes].length;\n rowProps = {\n 'aria-level': 1,\n 'aria-posinset': topLevelRowCount + 1,\n 'aria-setsize': topLevelRowCount + 1\n };\n } else {\n rowProps = {\n 'aria-rowindex': state.collection.headerRows.length + state.collection.size + 1\n };\n }\n\n return (\n <div\n role=\"row\"\n {...rowProps}\n className={classNames(stylesOverrides, 'react-spectrum-Table-centeredWrapper')}>\n <div role=\"rowheader\" aria-colspan={state.collection.columns.length}>\n {children}\n </div>\n </div>\n );\n}\n\nconst ForwardTableViewBase = React.forwardRef(TableViewBase) as <T>(props: TableBaseProps<T> & {ref?: DOMRef<HTMLDivElement>}) => ReactElement;\n\nexport {ForwardTableViewBase as TableViewBase};\n"],"names":[],"version":3,"file":"TableViewBase.mjs.map"}
|
|
1
|
+
{"mappings":"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","sources":["packages/@adobe/react-spectrum/src/table/TableViewBase.tsx"],"sourcesContent":["/*\n * Copyright 2023 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 ArrowDownSmall from '@spectrum-icons/ui/ArrowDownSmall';\nimport {Checkbox} from '../checkbox/Checkbox';\nimport ChevronDownMedium from '@spectrum-icons/ui/ChevronDownMedium';\nimport ChevronLeftMedium from '@spectrum-icons/ui/ChevronLeftMedium';\nimport ChevronRightMedium from '@spectrum-icons/ui/ChevronRightMedium';\nimport {classNames} from '../utils/classNames';\nimport {ColumnSize} from 'react-stately/useTableState';\nimport {\n DOMRef,\n DropTarget,\n FocusableElement,\n FocusableRef,\n Key,\n RefObject\n} from '@react-types/shared';\nimport type {DragAndDropHooks} from '../dnd/useDragAndDrop';\nimport type {DraggableCollectionState} from 'react-stately/useDraggableCollectionState';\nimport type {DraggableItemResult} from 'react-aria/useDraggableCollection';\nimport type {DropIndicatorAria, DroppableCollectionResult} from 'react-aria/useDroppableCollection';\nimport type {DroppableCollectionState} from 'react-stately/useDroppableCollectionState';\nimport {FocusRing} from 'react-aria/FocusRing';\nimport {FocusScope} from 'react-aria/FocusScope';\nimport {getActiveElement, isFocusWithin} from 'react-aria/private/utils/shadowdom/DOMFunctions';\nimport {\n getInteractionModality,\n isFocusVisible\n} from 'react-aria/private/interactions/useFocusVisible';\nimport {GridNode} from 'react-stately/private/grid/GridCollection';\nimport {HoverProps, useHover} from 'react-aria/useHover';\nimport {InsertionIndicator} from './InsertionIndicator';\nimport intlMessages from '../../intl/table/*.json';\nimport {isAndroid} from 'react-aria/private/utils/platform';\nimport {Item} from 'react-stately/Item';\nimport {LayoutInfo, Rect, ReusableView} from 'react-stately/useVirtualizerState';\nimport {layoutInfoToStyle, VirtualizerItem} from 'react-aria/private/virtualizer/VirtualizerItem';\nimport ListGripper from '@spectrum-icons/ui/ListGripper';\nimport {ListKeyboardDelegate} from 'react-aria/ListKeyboardDelegate';\nimport {Menu} from '../menu/Menu';\nimport {MenuTrigger} from '../menu/MenuTrigger';\nimport {mergeProps} from 'react-aria/mergeProps';\nimport {Nubbin} from './Nubbin';\n// @ts-ignore\nimport {ProgressCircle} from '../progress/ProgressCircle';\nimport React, {\n DOMAttributes,\n HTMLAttributes,\n ReactElement,\n ReactNode,\n useCallback,\n useContext,\n useEffect,\n useMemo,\n useRef,\n useState\n} from 'react';\nimport {Resizer, ResizeStateContext} from './Resizer';\nimport {RootDropIndicator} from './RootDropIndicator';\nimport {scrollIntoView, scrollIntoViewport} from 'react-aria/private/utils/scrollIntoView';\nimport {ScrollView} from 'react-aria/private/virtualizer/ScrollView';\nimport {setScrollLeft} from 'react-aria/private/virtualizer/utils';\nimport {SpectrumColumnProps} from './types';\nimport {DragPreview as SpectrumDragPreview} from './DragPreview';\nimport {SpectrumTableProps} from './TableView';\nimport styles from '@adobe/spectrum-css-temp/components/table/vars.css';\nimport stylesOverrides from './table.css';\nimport {ITableCollection as TableCollection} from 'react-stately/private/table/TableCollection';\nimport {TableState, useTableColumnResizeState} from 'react-stately/useTableState';\nimport {TableViewLayout} from './TableViewLayout';\nimport {Tooltip} from '../tooltip/Tooltip';\nimport {TooltipTrigger} from '../tooltip/TooltipTrigger';\nimport {TreeGridState} from 'react-stately/private/table/useTreeGridState';\nimport {useButton} from 'react-aria/useButton';\nimport {useDOMRef, useFocusableRef, useUnwrapDOMRef} from '../utils/useDOMRef';\nimport {useFocusRing} from 'react-aria/useFocusRing';\nimport {useLoadMore} from 'react-aria/private/utils/useLoadMore';\nimport {useLocale} from 'react-aria/I18nProvider';\nimport {useLocalizedStringFormatter} from 'react-aria/useLocalizedStringFormatter';\nimport {usePress} from 'react-aria/usePress';\nimport {useProvider, useProviderProps} from '../provider/Provider';\nimport {useStyleProps} from '../utils/styleProps';\nimport {\n useTable,\n useTableCell,\n useTableColumnHeader,\n useTableHeaderRow,\n useTableRow,\n useTableRowGroup,\n useTableSelectAllCheckbox,\n useTableSelectionCheckbox\n} from 'react-aria/useTable';\nimport {useVirtualizerState} from 'react-stately/useVirtualizerState';\nimport {useVisuallyHidden, VisuallyHidden} from 'react-aria/VisuallyHidden';\n\nconst DEFAULT_HEADER_HEIGHT = {\n medium: 34,\n large: 40\n};\n\nconst DEFAULT_HIDE_HEADER_CELL_WIDTH = {\n medium: 38,\n large: 46\n};\n\nconst ROW_HEIGHTS = {\n compact: {\n medium: 32,\n large: 40\n },\n regular: {\n medium: 40,\n large: 50\n },\n spacious: {\n medium: 48,\n large: 60\n }\n};\n\nconst SELECTION_CELL_DEFAULT_WIDTH = {\n medium: 38,\n large: 48\n};\n\nconst DRAG_BUTTON_CELL_DEFAULT_WIDTH = {\n medium: 16,\n large: 20\n};\n\nconst LEVEL_OFFSET_WIDTH = {\n medium: 16,\n large: 20\n};\n\nexport interface TableContextValue<T> {\n state: TableState<T>;\n dragState: DraggableCollectionState | null;\n dropState: DroppableCollectionState | null;\n dragAndDropHooks?: DragAndDropHooks<T>['dragAndDropHooks'];\n isTableDraggable: boolean;\n isTableDroppable: boolean;\n layout: TableViewLayout<T>;\n headerRowHovered: boolean;\n isInResizeMode: boolean;\n setIsInResizeMode: (val: boolean) => void;\n isEmpty: boolean;\n onFocusedResizer: () => void;\n onResizeStart?: (widths: Map<Key, ColumnSize>) => void;\n onResize?: (widths: Map<Key, ColumnSize>) => void;\n onResizeEnd?: (widths: Map<Key, ColumnSize>) => void;\n headerMenuOpen: boolean;\n setHeaderMenuOpen: (val: boolean) => void;\n renderEmptyState?: () => ReactElement;\n}\n\nexport const TableContext = React.createContext<TableContextValue<unknown> | null>(null);\nexport function useTableContext(): TableContextValue<unknown> {\n return useContext(TableContext)!;\n}\n\nexport const VirtualizerContext = React.createContext<{width: number; key: Key | null} | null>(\n null\n);\nexport function useVirtualizerContext(): {\n width: number;\n key: Key | null;\n} | null {\n return useContext(VirtualizerContext);\n}\n\ninterface TableBaseProps<T> extends SpectrumTableProps<T> {\n state: TableState<T> | TreeGridState<T>;\n}\n\ntype View = ReusableView<GridNode<unknown>, ReactNode>;\n\nfunction TableViewBase<T extends object>(props: TableBaseProps<T>, ref: DOMRef<HTMLDivElement>) {\n props = useProviderProps(props);\n let {\n isQuiet,\n onAction,\n onResizeStart: propsOnResizeStart,\n onResizeEnd: propsOnResizeEnd,\n dragAndDropHooks,\n state\n } = props;\n let isTableDraggable = !!dragAndDropHooks?.useDraggableCollectionState;\n let isTableDroppable = !!dragAndDropHooks?.useDroppableCollectionState;\n let dragHooksProvided = useRef(isTableDraggable);\n let dropHooksProvided = useRef(isTableDroppable);\n useEffect(() => {\n if (process.env.NODE_ENV === 'production') {\n return;\n }\n if (dragHooksProvided.current !== isTableDraggable) {\n console.warn(\n 'Drag hooks were provided during one render, but not another. This should be avoided as it may produce unexpected behavior.'\n );\n }\n if (dropHooksProvided.current !== isTableDroppable) {\n console.warn(\n 'Drop hooks were provided during one render, but not another. This should be avoided as it may produce unexpected behavior.'\n );\n }\n if ('keyMap' in state && (isTableDraggable || isTableDroppable)) {\n console.warn(\n 'Drag and drop is not yet fully supported with expandable rows and may produce unexpected results.'\n );\n }\n }, [isTableDraggable, isTableDroppable, state]);\n\n let {styleProps} = useStyleProps(props);\n let {scale} = useProvider();\n\n // Starts when the user selects resize from the menu, ends when resizing ends\n // used to control the visibility of the resizer Nubbin\n let [isInResizeMode, setIsInResizeMode] = useState(false);\n // Starts when the resizer is actually moved\n // entering resizing/exiting resizing doesn't trigger a render\n // with table layout, so we need to track it here\n let [, setIsResizing] = useState(false);\n\n let domRef = useDOMRef(ref);\n let headerRef = useRef<HTMLDivElement | null>(null);\n let bodyRef = useRef<HTMLDivElement | null>(null);\n\n let density = props.density || 'regular';\n let layout = useMemo(\n () =>\n new TableViewLayout<T>({\n // If props.rowHeight is auto, then use estimated heights based on scale, otherwise use fixed heights.\n rowHeight: props.overflowMode === 'wrap' ? undefined : ROW_HEIGHTS[density][scale],\n estimatedRowHeight: props.overflowMode === 'wrap' ? ROW_HEIGHTS[density][scale] : undefined,\n headingHeight: props.overflowMode === 'wrap' ? undefined : DEFAULT_HEADER_HEIGHT[scale],\n estimatedHeadingHeight:\n props.overflowMode === 'wrap' ? DEFAULT_HEADER_HEIGHT[scale] : undefined\n }),\n // don't recompute when state.collection changes, only used for initial value\n\n [props.overflowMode, scale, density]\n );\n\n let dragState: DraggableCollectionState | null = null;\n let preview = useRef(null);\n if (isTableDraggable && dragAndDropHooks) {\n dragState = dragAndDropHooks.useDraggableCollectionState!({\n collection: state.collection,\n selectionManager: state.selectionManager,\n preview\n });\n dragAndDropHooks.useDraggableCollection!({}, dragState, domRef);\n }\n\n let DragPreview = dragAndDropHooks?.DragPreview;\n let dropState: DroppableCollectionState | null = null;\n let droppableCollection: DroppableCollectionResult | null = null;\n let isRootDropTarget = false;\n if (isTableDroppable && dragAndDropHooks) {\n dropState = dragAndDropHooks.useDroppableCollectionState!({\n collection: state.collection,\n selectionManager: state.selectionManager\n });\n droppableCollection = dragAndDropHooks.useDroppableCollection!(\n {\n keyboardDelegate: new ListKeyboardDelegate({\n collection: state.collection,\n disabledKeys: state.selectionManager.disabledKeys,\n ref: domRef,\n layoutDelegate: layout\n }),\n dropTargetDelegate: layout\n },\n dropState,\n domRef\n );\n\n isRootDropTarget = dropState.isDropTarget({type: 'root'});\n }\n\n let {gridProps} = useTable(\n {\n ...props,\n isVirtualized: true,\n layoutDelegate: layout,\n onRowAction: onAction,\n scrollRef: bodyRef\n },\n state,\n domRef\n );\n let [headerMenuOpen, setHeaderMenuOpen] = useState(false);\n let [headerRowHovered, setHeaderRowHovered] = useState(false);\n\n // This overrides collection view's renderWrapper to support DOM hierarchy.\n let renderWrapper = useCallback(\n (\n parent: View | null,\n reusableView: View,\n children: View[],\n renderChildren: (views: View[]) => ReactElement[]\n ): ReactElement => {\n if (reusableView.viewType === 'rowgroup') {\n return (\n <TableRowGroup\n key={reusableView.key}\n layoutInfo={reusableView.layoutInfo!}\n parent={parent?.layoutInfo ?? null}\n // Override the default role=\"rowgroup\" with role=\"presentation\",\n // in favor or adding role=\"rowgroup\" to the ScrollView with\n // ref={bodyRef} in the TableVirtualizer below.\n role=\"presentation\">\n {renderChildren(children)}\n </TableRowGroup>\n );\n }\n\n if (reusableView.viewType === 'header') {\n return (\n <TableHeader\n key={reusableView.key}\n layoutInfo={reusableView.layoutInfo!}\n parent={parent?.layoutInfo ?? null}>\n {renderChildren(children)}\n </TableHeader>\n );\n }\n\n if (reusableView.viewType === 'row') {\n return (\n <TableRow\n key={reusableView.key}\n item={reusableView.content!}\n layoutInfo={reusableView.layoutInfo!}\n parent={parent?.layoutInfo ?? null}>\n {renderChildren(children)}\n </TableRow>\n );\n }\n\n if (reusableView.viewType === 'headerrow') {\n return (\n <TableHeaderRow\n onHoverChange={setHeaderRowHovered}\n key={reusableView.key}\n layoutInfo={reusableView.layoutInfo!}\n parent={parent?.layoutInfo ?? null}\n item={reusableView.content!}>\n {renderChildren(children)}\n </TableHeaderRow>\n );\n }\n\n return (\n <TableCellWrapper\n key={reusableView.key}\n layoutInfo={reusableView.layoutInfo!}\n virtualizer={reusableView.virtualizer}\n parent={parent!}>\n {reusableView.rendered}\n </TableCellWrapper>\n );\n },\n []\n );\n\n let renderView = useCallback((type: string, item: GridNode<T>) => {\n switch (type) {\n case 'header':\n case 'rowgroup':\n case 'section':\n case 'row':\n case 'headerrow':\n return null;\n case 'cell': {\n if (item.props.isSelectionCell) {\n return <TableCheckboxCell cell={item} />;\n }\n\n if (item.props.isDragButtonCell) {\n return <TableDragCell cell={item} />;\n }\n\n return <TableCell cell={item} />;\n }\n case 'placeholder':\n // TODO: move to react-aria?\n return (\n <div\n role=\"gridcell\"\n aria-colindex={item.index + 1}\n aria-colspan={item.colSpan != null && item.colSpan > 1 ? item.colSpan : undefined}\n />\n );\n case 'column':\n if (item.props.isSelectionCell) {\n return <TableSelectAllCell column={item} />;\n }\n\n if (item.props.isDragButtonCell) {\n return <TableDragHeaderCell column={item} />;\n }\n\n // TODO: consider this case, what if we have hidden headers and a empty table\n if (item.props.hideHeader) {\n return (\n <TooltipTrigger placement=\"top\" trigger=\"focus\">\n <TableColumnHeader column={item} />\n <Tooltip placement=\"top\">{item.rendered}</Tooltip>\n </TooltipTrigger>\n );\n }\n\n if (item.props.allowsResizing && !item.hasChildNodes) {\n return <ResizableTableColumnHeader column={item} />;\n }\n\n return <TableColumnHeader column={item} />;\n case 'loader':\n return <LoadingState />;\n case 'empty': {\n return <EmptyState />;\n }\n }\n return null;\n }, []);\n\n let [isVerticalScrollbarVisible, setVerticalScollbarVisible] = useState(false);\n let [isHorizontalScrollbarVisible, setHorizontalScollbarVisible] = useState(false);\n let viewport = useRef({x: 0, y: 0, width: 0, height: 0});\n let onVisibleRectChange = useCallback(e => {\n if (viewport.current.width === e.width && viewport.current.height === e.height) {\n return;\n }\n viewport.current = e;\n if (bodyRef.current) {\n setVerticalScollbarVisible(bodyRef.current.clientWidth + 2 < bodyRef.current.offsetWidth);\n setHorizontalScollbarVisible(bodyRef.current.clientHeight + 2 < bodyRef.current.offsetHeight);\n }\n }, []);\n let {isFocusVisible, focusProps} = useFocusRing();\n let isEmpty = state.collection.size === 0;\n\n let onFocusedResizer = () => {\n if (bodyRef.current && headerRef.current) {\n bodyRef.current.scrollLeft = headerRef.current.scrollLeft;\n }\n };\n\n let onResizeStart = useCallback(\n widths => {\n setIsResizing(true);\n propsOnResizeStart?.(widths);\n },\n [setIsResizing, propsOnResizeStart]\n );\n let onResizeEnd = useCallback(\n widths => {\n setIsInResizeMode(false);\n setIsResizing(false);\n propsOnResizeEnd?.(widths);\n },\n [propsOnResizeEnd, setIsInResizeMode, setIsResizing]\n );\n\n let focusedKey = state.selectionManager.focusedKey;\n let dropTargetKey: Key | null = null;\n if (dropState?.target?.type === 'item') {\n dropTargetKey = dropState.target.key;\n if (\n dropState.target.dropPosition === 'before' &&\n dropTargetKey !== state.collection.getFirstKey()\n ) {\n // Normalize to the \"after\" drop position since we only render those in the DOM.\n // The exception to this is for the first row in the table, where we also render the \"before\" position.\n dropTargetKey = state.collection.getKeyBefore(dropTargetKey);\n }\n }\n\n let persistedKeys = useMemo(() => {\n return new Set([focusedKey, dropTargetKey].filter(k => k !== null));\n }, [focusedKey, dropTargetKey]);\n\n let mergedProps = mergeProps(\n isTableDroppable ? droppableCollection?.collectionProps : null,\n gridProps,\n focusProps\n );\n\n if (dragAndDropHooks?.isVirtualDragging?.()) {\n mergedProps.tabIndex = undefined;\n }\n\n return (\n <TableContext.Provider\n value={{\n state: state as TableState<unknown>,\n dragState,\n dropState,\n dragAndDropHooks,\n isTableDraggable,\n isTableDroppable,\n layout,\n onResizeStart,\n onResize: props.onResize,\n onResizeEnd,\n headerRowHovered,\n isInResizeMode,\n setIsInResizeMode,\n isEmpty,\n onFocusedResizer,\n headerMenuOpen,\n setHeaderMenuOpen,\n renderEmptyState: props.renderEmptyState\n }}>\n <TableVirtualizer\n {...mergedProps}\n {...styleProps}\n className={classNames(\n styles,\n 'spectrum-Table',\n `spectrum-Table--${density}`,\n {\n 'spectrum-Table--quiet': isQuiet,\n 'spectrum-Table--wrap': props.overflowMode === 'wrap',\n 'spectrum-Table--loadingMore':\n state.collection.body.props.loadingState === 'loadingMore',\n 'spectrum-Table--isVerticalScrollbarVisible': isVerticalScrollbarVisible,\n 'spectrum-Table--isHorizontalScrollbarVisible': isHorizontalScrollbarVisible\n },\n classNames(stylesOverrides, 'react-spectrum-Table'),\n styleProps.className\n )}\n tableState={state as TableState<T>}\n layout={layout}\n collection={state.collection}\n persistedKeys={persistedKeys}\n renderView={renderView}\n renderWrapper={renderWrapper}\n onVisibleRectChange={onVisibleRectChange}\n domRef={domRef}\n headerRef={headerRef}\n bodyRef={bodyRef}\n isFocusVisible={isFocusVisible}\n isVirtualDragging={dragAndDropHooks?.isVirtualDragging?.() || false}\n isRootDropTarget={isRootDropTarget}\n />\n {DragPreview && isTableDraggable && dragAndDropHooks && dragState && (\n <DragPreview ref={preview}>\n {() => {\n if (dragState.draggedKey == null) {\n return null;\n }\n if (dragAndDropHooks.renderPreview) {\n return dragAndDropHooks.renderPreview(dragState.draggingKeys, dragState.draggedKey);\n }\n let itemCount = dragState.draggingKeys.size;\n let maxWidth = bodyRef.current!.getBoundingClientRect().width;\n let height = ROW_HEIGHTS[density][scale];\n let itemText = state.collection.getTextValue!(dragState.draggedKey);\n return (\n <SpectrumDragPreview\n itemText={itemText}\n itemCount={itemCount}\n height={height}\n maxWidth={maxWidth}\n />\n );\n }}\n </DragPreview>\n )}\n </TableContext.Provider>\n );\n}\n\ninterface TableVirtualizerProps<T> extends HTMLAttributes<HTMLElement> {\n tableState: TableState<T>;\n layout: TableViewLayout<T>;\n collection: TableCollection<T>;\n persistedKeys: Set<Key> | null;\n renderView: (type: string, content: GridNode<T>) => ReactElement | null;\n renderWrapper: (\n parent: View | null,\n reusableView: View,\n children: View[],\n renderChildren: (views: View[]) => ReactElement[]\n ) => ReactElement | null;\n domRef: RefObject<HTMLDivElement | null>;\n bodyRef: RefObject<HTMLDivElement | null>;\n headerRef: RefObject<HTMLDivElement | null>;\n onVisibleRectChange: (rect: Rect) => void;\n isFocusVisible: boolean;\n isVirtualDragging: boolean;\n isRootDropTarget: boolean;\n}\n\n// This is a custom Virtualizer that also has a header that syncs its scroll position with the body.\nfunction TableVirtualizer<T>(props: TableVirtualizerProps<T>) {\n let {\n tableState,\n layout,\n collection,\n persistedKeys,\n renderView,\n renderWrapper,\n domRef,\n bodyRef,\n headerRef,\n onVisibleRectChange: onVisibleRectChangeProp,\n isFocusVisible,\n isVirtualDragging,\n isRootDropTarget,\n ...otherProps\n } = props;\n let {direction} = useLocale();\n let loadingState = collection.body.props.loadingState;\n let isLoading = loadingState === 'loading' || loadingState === 'loadingMore';\n let onLoadMore = collection.body.props.onLoadMore;\n let [tableWidth, setTableWidth] = useState(0);\n let {scale} = useProvider();\n\n const getDefaultWidth = useCallback(\n ({\n props: {hideHeader, isSelectionCell, showDivider, isDragButtonCell}\n }: GridNode<T>): ColumnSize | null | undefined => {\n if (hideHeader) {\n let width = DEFAULT_HIDE_HEADER_CELL_WIDTH[scale];\n return showDivider ? width + 1 : width;\n } else if (isSelectionCell) {\n return SELECTION_CELL_DEFAULT_WIDTH[scale];\n } else if (isDragButtonCell) {\n return DRAG_BUTTON_CELL_DEFAULT_WIDTH[scale];\n }\n },\n [scale]\n );\n\n const getDefaultMinWidth = useCallback(\n ({\n props: {hideHeader, isSelectionCell, showDivider, isDragButtonCell}\n }: GridNode<T>): ColumnSize | null | undefined => {\n if (hideHeader) {\n let width = DEFAULT_HIDE_HEADER_CELL_WIDTH[scale];\n return showDivider ? width + 1 : width;\n } else if (isSelectionCell) {\n return SELECTION_CELL_DEFAULT_WIDTH[scale];\n } else if (isDragButtonCell) {\n return DRAG_BUTTON_CELL_DEFAULT_WIDTH[scale];\n }\n return 75;\n },\n [scale]\n );\n\n let columnResizeState = useTableColumnResizeState(\n {\n tableWidth,\n getDefaultWidth,\n getDefaultMinWidth\n },\n tableState\n );\n\n let state = useVirtualizerState<GridNode<unknown>, ReactNode>({\n layout,\n collection,\n renderView,\n onVisibleRectChange(rect) {\n if (bodyRef.current) {\n bodyRef.current.scrollTop = rect.y;\n setScrollLeft(bodyRef.current, direction, rect.x);\n }\n },\n persistedKeys,\n layoutOptions: useMemo(\n () => ({\n columnWidths: columnResizeState.columnWidths\n }),\n [columnResizeState.columnWidths]\n )\n });\n\n useLoadMore({isLoading, onLoadMore, scrollOffset: 1}, bodyRef);\n let onVisibleRectChange = useCallback(\n (rect: Rect) => {\n state.setVisibleRect(rect);\n },\n [state]\n );\n\n let onVisibleRectChangeMemo = useCallback(\n rect => {\n setTableWidth(rect.width);\n onVisibleRectChange(rect);\n onVisibleRectChangeProp(rect);\n },\n [onVisibleRectChange, onVisibleRectChangeProp]\n );\n\n // this effect runs whenever the contentSize changes, it doesn't matter what the content size is\n // only that it changes in a resize, and when that happens, we want to sync the body to the\n // header scroll position\n useEffect(() => {\n if (\n getInteractionModality() === 'keyboard' &&\n headerRef.current &&\n isFocusWithin(headerRef.current) &&\n bodyRef.current\n ) {\n let activeElement = getActiveElement() as HTMLElement;\n scrollIntoView(headerRef.current, activeElement);\n scrollIntoViewport(activeElement, {containingElement: domRef.current});\n bodyRef.current.scrollLeft = headerRef.current.scrollLeft;\n }\n }, [state.contentSize, headerRef, bodyRef, domRef]);\n\n let headerHeight = layout.getLayoutInfo('header')?.rect.height || 0;\n\n // Sync the scroll position from the table body to the header container.\n let onScroll = useCallback(() => {\n if (headerRef.current && bodyRef.current) {\n headerRef.current.scrollLeft = bodyRef.current.scrollLeft;\n }\n }, [bodyRef, headerRef]);\n\n let resizerPosition =\n columnResizeState.resizingColumn != null\n ? layout.getLayoutInfo(columnResizeState.resizingColumn)!.rect.maxX - 2\n : 0;\n\n let resizerAtEdge =\n resizerPosition >\n Math.max(state.virtualizer.contentSize.width, state.virtualizer.visibleRect.width) - 3;\n // this should be fine, every movement of the resizer causes a rerender\n // scrolling can cause it to lag for a moment, but it's always updated\n let resizerInVisibleRegion = resizerPosition < state.virtualizer.visibleRect.maxX;\n let shouldHardCornerResizeCorner = resizerAtEdge && resizerInVisibleRegion;\n\n // minimize re-render caused on Resizers by memoing this\n let resizingColumnWidth =\n columnResizeState.resizingColumn != null\n ? columnResizeState.getColumnWidth(columnResizeState.resizingColumn)\n : 0;\n let resizingColumn = useMemo(\n () => ({\n width: resizingColumnWidth,\n key: columnResizeState.resizingColumn\n }),\n [resizingColumnWidth, columnResizeState.resizingColumn]\n );\n\n if (isVirtualDragging) {\n otherProps.tabIndex = undefined;\n }\n\n let firstColumn = collection.columns[0];\n let scrollPadding = 0;\n if (firstColumn.props.isSelectionCell || firstColumn.props.isDragButtonCell) {\n scrollPadding = columnResizeState.getColumnWidth(firstColumn.key);\n }\n\n let visibleViews = renderChildren(null, state.visibleViews, renderWrapper);\n\n return (\n <VirtualizerContext.Provider value={resizingColumn}>\n <FocusScope>\n <div {...otherProps} ref={domRef}>\n <div\n role=\"presentation\"\n className={classNames(styles, 'spectrum-Table-headWrapper')}\n style={{\n height: headerHeight,\n overflow: 'hidden',\n position: 'relative',\n willChange: state.isScrolling ? 'scroll-position' : undefined,\n scrollPaddingInlineStart: scrollPadding\n }}\n ref={headerRef}>\n <ResizeStateContext.Provider value={columnResizeState}>\n {visibleViews[0]}\n </ResizeStateContext.Provider>\n </div>\n <ScrollView\n className={classNames(\n styles,\n 'spectrum-Table-body',\n {\n 'focus-ring': isFocusVisible,\n 'spectrum-Table-body--resizerAtTableEdge': shouldHardCornerResizeCorner\n },\n classNames(stylesOverrides, 'react-spectrum-Table-body', {\n 'react-spectrum-Table-body--dropTarget': !!isRootDropTarget\n })\n )}\n // Firefox and Chrome make generic elements using CSS overflow 'scroll' or 'auto' tabbable,\n // including them within the accessibility tree, which breaks the table structure in Firefox.\n // Using tabIndex={-1} prevents the ScrollView from being tabbable, and using role=\"rowgroup\"\n // here and role=\"presentation\" on the table body content fixes the table structure.\n role=\"rowgroup\"\n tabIndex={isVirtualDragging ? undefined : -1}\n style={{\n flex: 1,\n scrollPaddingInlineStart: scrollPadding\n }}\n innerStyle={{overflow: 'visible'}}\n ref={bodyRef}\n contentSize={state.contentSize}\n onVisibleRectChange={onVisibleRectChangeMemo}\n onScrollStart={state.startScrolling}\n onScrollEnd={state.endScrolling}\n onScroll={onScroll}>\n {visibleViews[1]}\n <div\n className={classNames(styles, 'spectrum-Table-bodyResizeIndicator')}\n style={{\n [direction === 'ltr' ? 'left' : 'right']: `${resizerPosition}px`,\n height: `${Math.max(state.virtualizer.contentSize.height, state.virtualizer.visibleRect.height)}px`,\n display: columnResizeState.resizingColumn ? 'block' : 'none'\n }}\n />\n </ScrollView>\n </div>\n </FocusScope>\n </VirtualizerContext.Provider>\n );\n}\n\nfunction renderChildren<T extends object>(\n parent: View | null,\n views: View[],\n renderWrapper: NonNullable<TableVirtualizerProps<T>['renderWrapper']>\n) {\n return views.map(view => {\n return renderWrapper(parent, view, view.children ? Array.from(view.children) : [], childViews =>\n renderChildren(view, childViews, renderWrapper)\n );\n });\n}\n\nfunction useStyle(layoutInfo: LayoutInfo, parent: LayoutInfo | null) {\n let {direction} = useLocale();\n let style = layoutInfoToStyle(layoutInfo, direction, parent);\n if (style.overflow === 'hidden') {\n style.overflow = 'visible'; // needed to support position: sticky\n }\n return style;\n}\n\nfunction TableHeader({\n children,\n layoutInfo,\n parent,\n ...otherProps\n}: {\n children: ReactNode;\n layoutInfo: LayoutInfo;\n parent: LayoutInfo | null;\n}) {\n let {rowGroupProps} = useTableRowGroup();\n let style = useStyle(layoutInfo, parent);\n\n return (\n <div\n {...rowGroupProps}\n {...otherProps}\n className={classNames(styles, 'spectrum-Table-head')}\n style={style}>\n {children}\n </div>\n );\n}\n\nfunction TableColumnHeader(props) {\n let {column} = props;\n let ref = useRef<HTMLDivElement>(null);\n let {state, isEmpty} = useTableContext();\n let {pressProps, isPressed} = usePress({isDisabled: isEmpty});\n let columnProps = column.props as SpectrumColumnProps<unknown>;\n useEffect(() => {\n if (\n column.hasChildNodes &&\n columnProps.allowsResizing &&\n process.env.NODE_ENV !== 'production'\n ) {\n console.warn(`Column key: ${column.key}. Columns with child columns don't allow resizing.`);\n }\n }, [column.hasChildNodes, column.key, columnProps.allowsResizing]);\n\n let {columnHeaderProps} = useTableColumnHeader(\n {\n node: column,\n isVirtualized: true\n },\n state,\n ref\n );\n\n let {hoverProps, isHovered} = useHover({...props, isDisabled: isEmpty});\n\n const allProps = [columnHeaderProps, hoverProps, pressProps];\n\n return (\n <FocusRing focusRingClass={classNames(styles, 'focus-ring')}>\n <div\n {...mergeProps(...allProps)}\n ref={ref}\n className={classNames(\n styles,\n 'spectrum-Table-headCell',\n {\n 'is-active': isPressed,\n 'is-sortable': columnProps.allowsSorting,\n 'is-sorted-desc':\n state.sortDescriptor?.column === column.key &&\n state.sortDescriptor?.direction === 'descending',\n 'is-sorted-asc':\n state.sortDescriptor?.column === column.key &&\n state.sortDescriptor?.direction === 'ascending',\n 'is-hovered': isHovered,\n 'spectrum-Table-cell--hideHeader': columnProps.hideHeader\n },\n classNames(stylesOverrides, 'react-spectrum-Table-cell', {\n 'react-spectrum-Table-cell--alignCenter':\n columnProps.align === 'center' || column.colSpan > 1,\n 'react-spectrum-Table-cell--alignEnd': columnProps.align === 'end'\n })\n )}>\n {columnProps.allowsSorting && (\n <ArrowDownSmall UNSAFE_className={classNames(styles, 'spectrum-Table-sortedIcon')} />\n )}\n {columnProps.hideHeader ? (\n <VisuallyHidden>{column.rendered}</VisuallyHidden>\n ) : (\n <div className={classNames(styles, 'spectrum-Table-headCellContents')}>\n {column.rendered}\n </div>\n )}\n </div>\n </FocusRing>\n );\n}\n\nlet ForwardTableColumnHeaderButton = (props, ref: FocusableRef<HTMLDivElement>) => {\n let {focusProps, alignment, ...otherProps} = props;\n let {isEmpty} = useTableContext();\n let domRef = useFocusableRef(ref);\n let {buttonProps} = useButton({...otherProps, elementType: 'div', isDisabled: isEmpty}, domRef);\n let {hoverProps, isHovered} = useHover({...otherProps, isDisabled: isEmpty});\n\n return (\n <div\n className={classNames(styles, 'spectrum-Table-headCellContents', {\n 'is-hovered': isHovered\n })}\n {...hoverProps}>\n <div\n className={classNames(styles, 'spectrum-Table-headCellButton', {\n 'spectrum-Table-headCellButton--alignStart': alignment === 'start',\n 'spectrum-Table-headCellButton--alignCenter': alignment === 'center',\n 'spectrum-Table-headCellButton--alignEnd': alignment === 'end'\n })}\n {...mergeProps(buttonProps, focusProps)}\n ref={domRef}>\n {props.children}\n </div>\n </div>\n );\n};\nlet TableColumnHeaderButton = React.forwardRef(ForwardTableColumnHeaderButton);\n\nfunction ResizableTableColumnHeader(props) {\n let {column} = props;\n let ref = useRef(null);\n let triggerRef = useRef(null);\n let resizingRef = useRef(null);\n let {\n state,\n onResizeStart,\n onResize,\n onResizeEnd,\n headerRowHovered,\n setIsInResizeMode,\n isEmpty,\n isInResizeMode,\n headerMenuOpen,\n setHeaderMenuOpen\n } = useTableContext();\n let columnResizeState = useContext(ResizeStateContext)!;\n let stringFormatter = useLocalizedStringFormatter(intlMessages, '@react-spectrum/table');\n let {pressProps, isPressed} = usePress({isDisabled: isEmpty});\n let {columnHeaderProps} = useTableColumnHeader(\n {\n node: column,\n isVirtualized: true\n },\n state,\n ref\n );\n\n let {hoverProps, isHovered} = useHover({...props, isDisabled: isEmpty || headerMenuOpen});\n\n const allProps = [columnHeaderProps, pressProps, hoverProps];\n\n let columnProps = column.props as SpectrumColumnProps<unknown>;\n\n let {isFocusVisible, focusProps} = useFocusRing();\n\n const onMenuSelect = key => {\n switch (key) {\n case 'sort-asc':\n state.sort(column.key, 'ascending');\n break;\n case 'sort-desc':\n state.sort(column.key, 'descending');\n break;\n case 'resize':\n columnResizeState.startResize(column.key);\n setIsInResizeMode(true);\n state.setKeyboardNavigationDisabled(true);\n break;\n }\n };\n let allowsSorting = column.props?.allowsSorting;\n let items = useMemo(() => {\n let options: {label: string; id: string}[] = [];\n if (allowsSorting) {\n options.push({\n label: stringFormatter.format('sortAscending'),\n id: 'sort-asc'\n });\n options.push({\n label: stringFormatter.format('sortDescending'),\n id: 'sort-desc'\n });\n }\n options.push({\n label: stringFormatter.format('resizeColumn'),\n id: 'resize'\n });\n return options;\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [allowsSorting]);\n\n let resizingColumn = columnResizeState.resizingColumn;\n let showResizer =\n !isEmpty &&\n ((headerRowHovered && getInteractionModality() !== 'keyboard') || resizingColumn != null);\n let alignment = 'start';\n let menuAlign = 'start' as 'start' | 'end';\n if (columnProps.align === 'center' || column.colSpan > 1) {\n alignment = 'center';\n } else if (columnProps.align === 'end') {\n alignment = 'end';\n menuAlign = 'end';\n }\n\n return (\n <FocusRing focusRingClass={classNames(styles, 'focus-ring')}>\n <div\n {...mergeProps(...allProps)}\n ref={ref}\n className={classNames(\n styles,\n 'spectrum-Table-headCell',\n {\n 'is-active': isPressed,\n 'is-resizable': columnProps.allowsResizing,\n 'is-sortable': columnProps.allowsSorting,\n 'is-sorted-desc':\n state.sortDescriptor?.column === column.key &&\n state.sortDescriptor?.direction === 'descending',\n 'is-sorted-asc':\n state.sortDescriptor?.column === column.key &&\n state.sortDescriptor?.direction === 'ascending',\n 'is-hovered': isHovered,\n 'focus-ring': isFocusVisible,\n 'spectrum-Table-cell--hideHeader': columnProps.hideHeader\n },\n classNames(stylesOverrides, 'react-spectrum-Table-cell', {\n 'react-spectrum-Table-cell--alignCenter': alignment === 'center',\n 'react-spectrum-Table-cell--alignEnd': alignment === 'end'\n })\n )}>\n <MenuTrigger onOpenChange={setHeaderMenuOpen} align={menuAlign}>\n <TableColumnHeaderButton alignment={alignment} ref={triggerRef} focusProps={focusProps}>\n {columnProps.allowsSorting && (\n <ArrowDownSmall UNSAFE_className={classNames(styles, 'spectrum-Table-sortedIcon')} />\n )}\n {columnProps.hideHeader ? (\n <VisuallyHidden>{column.rendered}</VisuallyHidden>\n ) : (\n <div className={classNames(styles, 'spectrum-Table-headerCellText')}>\n {column.rendered}\n </div>\n )}\n {columnProps.allowsResizing && (\n <ChevronDownMedium\n UNSAFE_className={classNames(styles, 'spectrum-Table-menuChevron')}\n />\n )}\n </TableColumnHeaderButton>\n <Menu onAction={onMenuSelect} minWidth=\"size-2000\" items={items}>\n {item => <Item>{item.label}</Item>}\n </Menu>\n </MenuTrigger>\n <Resizer\n ref={resizingRef}\n column={column}\n showResizer={showResizer}\n onResizeStart={onResizeStart}\n onResize={onResize}\n onResizeEnd={onResizeEnd}\n triggerRef={useUnwrapDOMRef(triggerRef)}\n />\n <div\n aria-hidden\n className={classNames(styles, 'spectrum-Table-colResizeIndicator', {\n 'spectrum-Table-colResizeIndicator--visible': resizingColumn != null,\n 'spectrum-Table-colResizeIndicator--resizing': resizingColumn === column.key\n })}>\n <div\n className={classNames(styles, 'spectrum-Table-colResizeNubbin', {\n 'spectrum-Table-colResizeNubbin--visible':\n isInResizeMode && resizingColumn === column.key\n })}>\n <Nubbin />\n </div>\n </div>\n </div>\n </FocusRing>\n );\n}\n\nfunction TableSelectAllCell({column}) {\n let ref = useRef<HTMLDivElement | null>(null);\n let {state} = useTableContext();\n let isSingleSelectionMode = state.selectionManager.selectionMode === 'single';\n let {columnHeaderProps} = useTableColumnHeader(\n {\n node: column,\n isVirtualized: true\n },\n state,\n ref\n );\n\n let {checkboxProps} = useTableSelectAllCheckbox(state);\n let {hoverProps, isHovered} = useHover({});\n\n return (\n <FocusRing focusRingClass={classNames(styles, 'focus-ring')}>\n <div\n {...mergeProps(columnHeaderProps, hoverProps)}\n ref={ref}\n className={classNames(styles, 'spectrum-Table-headCell', 'spectrum-Table-checkboxCell', {\n 'is-hovered': isHovered\n })}>\n {\n /*\n In single selection mode, the checkbox will be hidden.\n So to avoid leaving a column header with no accessible content,\n we use a VisuallyHidden component to include the aria-label from the checkbox,\n which for single selection will be \"Select.\"\n */\n isSingleSelectionMode && <VisuallyHidden>{checkboxProps['aria-label']}</VisuallyHidden>\n }\n <Checkbox\n {...checkboxProps}\n data-testid=\"selectAll\"\n isEmphasized\n UNSAFE_style={isSingleSelectionMode ? {visibility: 'hidden'} : undefined}\n UNSAFE_className={classNames(styles, 'spectrum-Table-checkbox')}\n />\n </div>\n </FocusRing>\n );\n}\n\nfunction TableDragHeaderCell({column}) {\n let ref = useRef<HTMLDivElement | null>(null);\n let {state} = useTableContext();\n let {columnHeaderProps} = useTableColumnHeader(\n {\n node: column,\n isVirtualized: true\n },\n state,\n ref\n );\n let stringFormatter = useLocalizedStringFormatter(intlMessages, '@react-spectrum/table');\n\n return (\n <FocusRing focusRingClass={classNames(styles, 'focus-ring')}>\n <div\n {...columnHeaderProps}\n ref={ref}\n className={classNames(\n styles,\n 'spectrum-Table-headCell',\n classNames(\n stylesOverrides,\n 'react-spectrum-Table-headCell',\n 'react-spectrum-Table-dragButtonHeadCell'\n )\n )}>\n <VisuallyHidden>{stringFormatter.format('drag')}</VisuallyHidden>\n </div>\n </FocusRing>\n );\n}\n\nfunction TableRowGroup({\n children,\n layoutInfo,\n parent,\n ...otherProps\n}: {\n children: ReactNode;\n layoutInfo: LayoutInfo;\n parent: LayoutInfo | null;\n role: string;\n}) {\n let {rowGroupProps} = useTableRowGroup();\n let {isTableDroppable} = useContext(TableContext)!;\n let style = useStyle(layoutInfo, parent);\n\n return (\n <div {...rowGroupProps} style={style} {...otherProps}>\n {isTableDroppable && <RootDropIndicator key=\"root\" />}\n {children}\n </div>\n );\n}\n\nfunction DragButton() {\n let {dragButtonProps, dragButtonRef, isFocusVisibleWithin} = useTableRowContext();\n let {visuallyHiddenProps} = useVisuallyHidden();\n return (\n <FocusRing focusRingClass={classNames(stylesOverrides, 'focus-ring')}>\n <div\n {...(dragButtonProps as React.HTMLAttributes<HTMLElement>)}\n className={classNames(stylesOverrides, 'react-spectrum-Table-dragButton')}\n style={!isFocusVisibleWithin ? {...visuallyHiddenProps.style} : {}}\n ref={dragButtonRef}\n draggable=\"true\">\n <ListGripper UNSAFE_className={classNames(stylesOverrides)} />\n </div>\n </FocusRing>\n );\n}\n\ninterface TableRowContextValue {\n dragButtonProps: React.HTMLAttributes<HTMLDivElement>;\n dragButtonRef: React.RefObject<HTMLDivElement | null>;\n isFocusVisibleWithin: boolean;\n}\n\nconst TableRowContext = React.createContext<TableRowContextValue | null>(null);\nexport function useTableRowContext(): TableRowContextValue {\n return useContext(TableRowContext)!;\n}\n\nfunction TableRow({\n item,\n children,\n layoutInfo,\n parent,\n ...otherProps\n}: {\n item: GridNode<unknown>;\n children: ReactNode;\n layoutInfo: LayoutInfo;\n parent: LayoutInfo | null;\n}) {\n let ref = useRef<HTMLDivElement | null>(null);\n let {state, layout, dragAndDropHooks, isTableDraggable, isTableDroppable, dragState, dropState} =\n useTableContext();\n let isSelected = state.selectionManager.isSelected(item.key);\n let {rowProps, hasAction, allowsSelection} = useTableRow(\n {\n node: item,\n isVirtualized: true,\n shouldSelectOnPressUp: isTableDraggable\n },\n state,\n ref\n );\n\n let isDisabled = state.selectionManager.isDisabled(item.key);\n let isInteractive = !isDisabled && (hasAction || allowsSelection || isTableDraggable);\n let {pressProps, isPressed} = usePress({isDisabled: !isInteractive});\n\n // The row should show the focus background style when any cell inside it is focused.\n // If the row itself is focused, then it should have a blue focus indicator on the left.\n let {isFocusVisible: isFocusVisibleWithin, focusProps: focusWithinProps} = useFocusRing({\n within: true\n });\n let {isFocusVisible, focusProps} = useFocusRing();\n let {hoverProps, isHovered} = useHover({isDisabled: !isInteractive});\n let isFirstRow =\n state.collection.rows.find(row => row.type === 'item' && row.level === 0)?.key === item.key;\n let isLastRow = item.nextKey == null;\n // Figure out if the TableView content is equal or greater in height to the container. If so, we'll need to round the bottom\n // border corners of the last row when selected.\n let isFlushWithContainerBottom = false;\n if (isLastRow) {\n if (layout.getContentSize()?.height >= (layout.virtualizer?.visibleRect.height ?? 0)) {\n isFlushWithContainerBottom = true;\n }\n }\n\n let draggableItem: DraggableItemResult | null = null;\n if (isTableDraggable && dragAndDropHooks && dragState) {\n draggableItem = dragAndDropHooks.useDraggableItem!(\n {key: item.key, hasDragButton: true},\n dragState\n );\n if (isDisabled) {\n draggableItem = null;\n }\n }\n let isDropTarget = false;\n let dropIndicator: DropIndicatorAria | null = null;\n let dropIndicatorRef = useRef<HTMLDivElement | null>(null);\n if (isTableDroppable && dragAndDropHooks && dropState) {\n let target = {type: 'item', key: item.key, dropPosition: 'on'} as DropTarget;\n isDropTarget = dropState.isDropTarget(target);\n\n dropIndicator = dragAndDropHooks.useDropIndicator!({target}, dropState, dropIndicatorRef);\n }\n\n let dragButtonRef = React.useRef<HTMLDivElement | null>(null);\n let {buttonProps: dragButtonProps} = useButton(\n {\n ...draggableItem?.dragButtonProps,\n elementType: 'div'\n },\n dragButtonRef\n );\n\n let style = useStyle(layoutInfo, parent);\n\n let props = mergeProps(\n rowProps,\n otherProps,\n {style},\n focusWithinProps,\n focusProps,\n hoverProps,\n pressProps,\n draggableItem?.dragProps,\n // Remove tab index from list row if performing a screenreader drag. This prevents TalkBack from focusing the row,\n // allowing for single swipe navigation between row drop indicator\n dragAndDropHooks?.isVirtualDragging?.() ? {tabIndex: null} : null\n ) as HTMLAttributes<HTMLElement> & DOMAttributes<FocusableElement>;\n\n let {visuallyHiddenProps} = useVisuallyHidden();\n\n return (\n <TableRowContext.Provider value={{dragButtonProps, dragButtonRef, isFocusVisibleWithin}}>\n {isTableDroppable && isFirstRow && (\n <InsertionIndicator\n rowProps={props}\n key={`${item.key}-before`}\n target={{key: item.key, type: 'item', dropPosition: 'before'}}\n />\n )}\n {isTableDroppable && !dropIndicator?.isHidden && (\n <div role=\"row\" {...visuallyHiddenProps}>\n <div role=\"gridcell\">\n <div role=\"button\" {...dropIndicator?.dropIndicatorProps} ref={dropIndicatorRef} />\n </div>\n </div>\n )}\n <div\n {...props}\n ref={ref}\n className={classNames(\n styles,\n 'spectrum-Table-row',\n {\n 'is-active': isPressed,\n 'is-selected': isSelected,\n 'spectrum-Table-row--highlightSelection':\n state.selectionManager.selectionBehavior === 'replace',\n 'is-next-selected':\n item.nextKey != null && state.selectionManager.isSelected(item.nextKey),\n 'is-focused': isFocusVisibleWithin,\n 'focus-ring': isFocusVisible,\n 'is-hovered': isHovered,\n 'is-disabled': isDisabled,\n 'spectrum-Table-row--firstRow': isFirstRow,\n 'spectrum-Table-row--lastRow': isLastRow,\n 'spectrum-Table-row--isFlushBottom': isFlushWithContainerBottom\n },\n classNames(stylesOverrides, 'react-spectrum-Table-row', {\n 'react-spectrum-Table-row--dropTarget': isDropTarget\n })\n )}>\n {children}\n </div>\n {isTableDroppable && (\n <InsertionIndicator\n rowProps={props}\n key={`${item.key}-after`}\n target={{key: item.key, type: 'item', dropPosition: 'after'}}\n />\n )}\n </TableRowContext.Provider>\n );\n}\n\nfunction TableHeaderRow({\n item,\n children,\n layoutInfo,\n parent,\n ...props\n}: {\n item: GridNode<unknown>;\n children: ReactNode;\n layoutInfo: LayoutInfo;\n parent: LayoutInfo | null;\n} & HoverProps) {\n let {state, headerMenuOpen} = useTableContext();\n let ref = useRef<HTMLDivElement | null>(null);\n let {rowProps} = useTableHeaderRow({node: item, isVirtualized: true}, state, ref);\n let {hoverProps} = useHover({...props, isDisabled: headerMenuOpen});\n let style = useStyle(layoutInfo, parent);\n\n return (\n <div {...mergeProps(rowProps, hoverProps)} ref={ref} style={style}>\n {children}\n </div>\n );\n}\n\nfunction TableDragCell({cell}) {\n let ref = useRef<HTMLDivElement | null>(null);\n let {state, isTableDraggable} = useTableContext();\n let isDisabled = state.selectionManager.isDisabled(cell.parentKey);\n let {gridCellProps} = useTableCell(\n {\n node: cell,\n isVirtualized: true\n },\n state,\n ref\n );\n\n return (\n <FocusRing focusRingClass={classNames(styles, 'focus-ring')}>\n <div\n {...gridCellProps}\n ref={ref}\n className={classNames(\n styles,\n 'spectrum-Table-cell',\n {\n 'is-disabled': isDisabled\n },\n classNames(\n stylesOverrides,\n 'react-spectrum-Table-cell',\n 'react-spectrum-Table-dragButtonCell'\n )\n )}>\n {isTableDraggable && !isDisabled && <DragButton />}\n </div>\n </FocusRing>\n );\n}\n\nfunction TableCheckboxCell({cell}) {\n let ref = useRef<HTMLDivElement | null>(null);\n let {state} = useTableContext();\n // The TableCheckbox should always render its disabled status if the row is disabled, regardless of disabledBehavior,\n // but the cell itself should not render its disabled styles if disabledBehavior=\"selection\" because the row might have actions on it.\n let isSelectionDisabled = state.disabledKeys.has(cell.parentKey);\n let isDisabled = state.selectionManager.isDisabled(cell.parentKey);\n let {gridCellProps} = useTableCell(\n {\n node: cell,\n isVirtualized: true\n },\n state,\n ref\n );\n\n let {checkboxProps} = useTableSelectionCheckbox({key: cell.parentKey}, state);\n\n return (\n <FocusRing focusRingClass={classNames(styles, 'focus-ring')}>\n <div\n {...gridCellProps}\n ref={ref}\n className={classNames(\n styles,\n 'spectrum-Table-cell',\n 'spectrum-Table-checkboxCell',\n {\n 'is-disabled': isDisabled\n },\n classNames(stylesOverrides, 'react-spectrum-Table-cell')\n )}>\n {state.selectionManager.selectionMode !== 'none' && (\n <Checkbox\n {...checkboxProps}\n isEmphasized\n isDisabled={isSelectionDisabled}\n UNSAFE_className={classNames(styles, 'spectrum-Table-checkbox')}\n />\n )}\n </div>\n </FocusRing>\n );\n}\n\nfunction TableCell({cell}) {\n let {scale} = useProvider();\n let state = useTableContext().state as TableState<unknown> | TreeGridState<unknown>;\n let isExpandableTable = 'keyMap' in state;\n let ref = useRef<HTMLDivElement | null>(null);\n let columnProps = cell.column.props as SpectrumColumnProps<unknown>;\n let isDisabled = state.selectionManager.isDisabled(cell.parentKey);\n let {gridCellProps} = useTableCell(\n {\n node: cell,\n isVirtualized: true\n },\n state as TableState<unknown>,\n ref\n );\n let {id, ...otherGridCellProps} = gridCellProps;\n let isFirstRowHeaderCell =\n state.collection.rowHeaderColumnKeys.keys().next().value === cell.column.key;\n let isRowExpandable = false;\n let showExpandCollapseButton = false;\n let levelOffset = 0;\n\n if ('keyMap' in state) {\n isRowExpandable =\n state.keyMap.get(cell.parentKey)?.props.UNSTABLE_childItems?.length > 0 ||\n state.keyMap.get(cell.parentKey)?.props?.children?.length > state.userColumnCount;\n showExpandCollapseButton = isFirstRowHeaderCell && isRowExpandable;\n // Offset based on level, and add additional offset if there is no expand/collapse button on a row\n levelOffset =\n (cell.level - 1) * LEVEL_OFFSET_WIDTH[scale] +\n (!showExpandCollapseButton ? LEVEL_OFFSET_WIDTH[scale] * 2 : 0);\n }\n\n return (\n <FocusRing focusRingClass={classNames(styles, 'focus-ring')}>\n <div\n {...otherGridCellProps}\n aria-labelledby={id}\n ref={ref}\n style={isExpandableTable && isFirstRowHeaderCell ? {paddingInlineStart: levelOffset} : {}}\n className={classNames(\n styles,\n 'spectrum-Table-cell',\n {\n 'spectrum-Table-cell--divider': columnProps.showDivider && cell.column.nextKey !== null,\n 'spectrum-Table-cell--hideHeader': columnProps.hideHeader,\n 'spectrum-Table-cell--hasExpandCollapseButton': showExpandCollapseButton,\n 'is-disabled': isDisabled\n },\n classNames(stylesOverrides, 'react-spectrum-Table-cell', {\n 'react-spectrum-Table-cell--alignStart': columnProps.align === 'start',\n 'react-spectrum-Table-cell--alignCenter': columnProps.align === 'center',\n 'react-spectrum-Table-cell--alignEnd': columnProps.align === 'end'\n })\n )}>\n {showExpandCollapseButton && <ExpandableRowChevron cell={cell} />}\n <span id={id} className={classNames(styles, 'spectrum-Table-cellContents')}>\n {cell.rendered}\n </span>\n </div>\n </FocusRing>\n );\n}\n\nfunction TableCellWrapper({\n layoutInfo,\n virtualizer,\n parent,\n children\n}: {\n layoutInfo: LayoutInfo;\n virtualizer: any;\n parent: ReusableView<any, any>;\n children: ReactNode;\n}) {\n let {isTableDroppable, dropState} = useContext(TableContext)!;\n let isDropTarget = false;\n let isRootDroptarget = false;\n if (isTableDroppable && dropState) {\n if (parent.content) {\n isDropTarget = dropState.isDropTarget({\n type: 'item',\n dropPosition: 'on',\n key: parent.content.key\n });\n }\n isRootDroptarget = dropState.isDropTarget({type: 'root'});\n }\n\n return (\n <VirtualizerItem\n layoutInfo={layoutInfo}\n virtualizer={virtualizer}\n parent={parent?.layoutInfo}\n className={useMemo(\n () =>\n classNames(\n styles,\n 'spectrum-Table-cellWrapper',\n classNames(stylesOverrides, {\n 'react-spectrum-Table-cellWrapper': !layoutInfo.estimatedSize,\n 'react-spectrum-Table-cellWrapper--dropTarget': isDropTarget || isRootDroptarget\n })\n ),\n [layoutInfo.estimatedSize, isDropTarget, isRootDroptarget]\n )}>\n {children}\n </VirtualizerItem>\n );\n}\n\nfunction ExpandableRowChevron({cell}) {\n // TODO: move some/all of the chevron button setup into a separate hook?\n let {direction} = useLocale();\n let state = useTableContext().state as TableState<unknown> | TreeGridState<unknown>;\n let expandButtonRef = useRef<HTMLSpanElement | null>(null);\n let stringFormatter = useLocalizedStringFormatter(intlMessages, '@react-spectrum/table');\n let isExpanded;\n\n if ('keyMap' in state) {\n isExpanded = state.expandedKeys === 'all' || state.expandedKeys.has(cell.parentKey);\n }\n\n // Will need to keep the chevron as a button for iOS VO at all times since VO doesn't focus the cell. Also keep as button if cellAction is defined by the user in the future\n let {buttonProps} = useButton(\n {\n // Desktop and mobile both toggle expansion of a native expandable row on mouse/touch up\n onPress: () => {\n (state as TreeGridState<unknown>).toggleKey(cell.parentKey);\n if (!isFocusVisible()) {\n state.selectionManager.setFocused(true);\n state.selectionManager.setFocusedKey(cell.parentKey);\n }\n },\n elementType: 'span',\n 'aria-label': isExpanded\n ? stringFormatter.format('collapse')\n : stringFormatter.format('expand')\n },\n expandButtonRef\n );\n\n return (\n <span\n {...buttonProps}\n ref={expandButtonRef}\n // Override tabindex so that grid keyboard nav skips over it. Needs -1 so android talkback can actually \"focus\" it\n tabIndex={isAndroid() ? -1 : undefined}\n className={classNames(styles, 'spectrum-Table-expandButton', {\n 'is-open': isExpanded\n })}>\n {direction === 'ltr' ? <ChevronRightMedium /> : <ChevronLeftMedium />}\n </span>\n );\n}\n\nfunction LoadingState() {\n let {state} = useContext(TableContext)!;\n let stringFormatter = useLocalizedStringFormatter(intlMessages, '@react-spectrum/table');\n return (\n <CenteredWrapper>\n <ProgressCircle\n isIndeterminate\n aria-label={\n state.collection.size > 0\n ? stringFormatter.format('loadingMore')\n : stringFormatter.format('loading')\n }\n />\n </CenteredWrapper>\n );\n}\n\nfunction EmptyState() {\n let {renderEmptyState} = useContext(TableContext)!;\n let emptyState = renderEmptyState ? renderEmptyState() : null;\n if (emptyState == null) {\n return null;\n }\n\n return <CenteredWrapper>{emptyState}</CenteredWrapper>;\n}\n\nfunction CenteredWrapper({children}) {\n let state = useTableContext().state as TableState<unknown> | TreeGridState<unknown>;\n let rowProps;\n\n if ('keyMap' in state) {\n let topLevelRowCount = [...state.collection.body.childNodes].length;\n rowProps = {\n 'aria-level': 1,\n 'aria-posinset': topLevelRowCount + 1,\n 'aria-setsize': topLevelRowCount + 1\n };\n } else {\n rowProps = {\n 'aria-rowindex': state.collection.headerRows.length + state.collection.size + 1\n };\n }\n\n return (\n <div\n role=\"row\"\n {...rowProps}\n className={classNames(stylesOverrides, 'react-spectrum-Table-centeredWrapper')}>\n <div role=\"rowheader\" aria-colspan={state.collection.columns.length}>\n {children}\n </div>\n </div>\n );\n}\n\nconst ForwardTableViewBase = React.forwardRef(TableViewBase) as <T>(\n props: TableBaseProps<T> & {ref?: DOMRef<HTMLDivElement>}\n) => ReactElement;\n\nexport {ForwardTableViewBase as TableViewBase};\n"],"names":[],"version":3,"file":"TableViewBase.mjs.map"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":";;;;;;;;AAAA;;;;;;;;;;CAUC;AAMM,MAAM,kDAA2B,CAAA,GAAA,kDAAU;IAGtC,kBAAgC;QACxC,IAAI,aAAa,IAAI,CAAC,WAAW,CAAE,UAAU;QAC7C,IAAI,eAAe,WAAW,IAAI,CAAC,KAAK,CAAC,YAAY;QACrD,IAAI,CAAC,SAAS,GAAG,iBAAiB,aAAa,iBAAiB;QAChE,OAAO,KAAK,CAAC;IACf;IAEU,YAAY,IAAiB,EAAE,CAAS,EAAE,CAAS,EAAc;QACzE,IAAI,MAAM,KAAK,CAAC,YAAY,MAAM,GAAG;QACrC,IAAI,UAAU,CAAC,aAAa,GAAG,MAAM,qBAAqB;QAC1D,OAAO;IACT;IAEU,YAAwB;QAChC,IAAI,OAAO,KAAK,CAAC,UAAU;QAC3B,IAAI,YAAC,QAAQ,cAAE,UAAU,EAAC,GAAG;QAC7B,IAAI,CAAC,UACH,MAAM,IAAI,MAAM;QAGlB,IAAI,QAAQ,KAAK,UAAU,CAAC,IAAI,CAAC,KAAK;QAEtC,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,wFAAwF;YACxF,IAAI,OAAO,IAAI,CAAA,GAAA,2CAAG,
|
|
1
|
+
{"mappings":"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","sources":["packages/@adobe/react-spectrum/src/table/TableViewLayout.ts"],"sourcesContent":["/*\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 */\nimport {DropTarget} from '@react-types/shared';\nimport {GridNode} from 'react-stately/private/grid/GridCollection';\nimport {LayoutInfo, LayoutNode, Rect, TableLayout} from 'react-stately/useVirtualizerState';\nimport {TableCollection} from 'react-stately/private/table/TableCollection';\n\nexport class TableViewLayout<T> extends TableLayout<T> {\n private isLoading: boolean = false;\n\n protected buildCollection(): LayoutNode[] {\n let collection = this.virtualizer!.collection as TableCollection<T>;\n let loadingState = collection.body.props.loadingState;\n this.isLoading = loadingState === 'loading' || loadingState === 'loadingMore';\n return super.buildCollection();\n }\n\n protected buildColumn(node: GridNode<T>, x: number, y: number): LayoutNode {\n let res = super.buildColumn(node, x, y);\n res.layoutInfo.allowOverflow = true; // for resizer nubbin\n return res;\n }\n\n protected buildBody(): LayoutNode {\n let node = super.buildBody(0);\n let {children, layoutInfo} = node;\n if (!children) {\n throw new Error('Missing children in LayoutInfo');\n }\n\n let width = node.layoutInfo.rect.width;\n\n if (this.isLoading) {\n // Add some margin around the loader to ensure that scrollbars don't flicker in and out.\n let rect = new Rect(\n 40,\n children.length === 0 ? 40 : layoutInfo.rect.maxY,\n (width || this.virtualizer!.visibleRect.width) - 80,\n children.length === 0 ? this.virtualizer!.visibleRect.height - 80 : 60\n );\n let loader = new LayoutInfo('loader', 'loader', rect);\n loader.parentKey = layoutInfo.key;\n loader.isSticky = children.length === 0;\n let node = {\n layoutInfo: loader,\n validRect: loader.rect\n };\n children.push(node);\n this.layoutNodes.set(loader.key, node);\n layoutInfo.rect.height = loader.rect.maxY;\n width = Math.max(width, rect.width);\n } else if (children.length === 0) {\n let rect = new Rect(\n 40,\n 40,\n this.virtualizer!.visibleRect.width - 80,\n this.virtualizer!.visibleRect.height - 80\n );\n let empty = new LayoutInfo('empty', 'empty', rect);\n empty.parentKey = layoutInfo.key;\n empty.isSticky = true;\n empty.allowOverflow = true;\n let node = {\n layoutInfo: empty,\n validRect: empty.rect\n };\n children.push(node);\n layoutInfo.rect.height = empty.rect.maxY;\n width = Math.max(width, rect.width);\n }\n\n return node;\n }\n\n protected buildRow(node: GridNode<T>, x: number, y: number): LayoutNode {\n let res = super.buildRow(node, x, y);\n res.layoutInfo.rect.height += 1; // for bottom border\n return res;\n }\n\n protected buildCell(node: GridNode<T>, x: number, y: number): LayoutNode {\n let res = super.buildCell(node, x, y);\n if (node.column?.props.hideHeader) {\n res.layoutInfo.allowOverflow = true;\n }\n return res;\n }\n\n protected getEstimatedRowHeight(): number {\n return super.getEstimatedRowHeight() + 1; // for bottom border\n }\n\n protected isStickyColumn(node: GridNode<T>): boolean {\n return (node.props?.isDragButtonCell || node.props?.isSelectionCell) ?? false;\n }\n\n getDropTargetFromPoint(\n x: number,\n y: number,\n isValidDropTarget: (target: DropTarget) => boolean\n ): DropTarget | null {\n // Offset for height of header row\n y -=\n this.getVisibleLayoutInfos(new Rect(x, y, 1, 1)).find(info => info.type === 'headerrow')?.rect\n .height ?? 0;\n return super.getDropTargetFromPoint(x, y, isValidDropTarget);\n }\n}\n"],"names":[],"version":3,"file":"TableViewLayout.cjs.map"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":";;AAAA;;;;;;;;;;CAUC;AAMM,MAAM,kDAA2B,CAAA,GAAA,kBAAU;IAGtC,kBAAgC;QACxC,IAAI,aAAa,IAAI,CAAC,WAAW,CAAE,UAAU;QAC7C,IAAI,eAAe,WAAW,IAAI,CAAC,KAAK,CAAC,YAAY;QACrD,IAAI,CAAC,SAAS,GAAG,iBAAiB,aAAa,iBAAiB;QAChE,OAAO,KAAK,CAAC;IACf;IAEU,YAAY,IAAiB,EAAE,CAAS,EAAE,CAAS,EAAc;QACzE,IAAI,MAAM,KAAK,CAAC,YAAY,MAAM,GAAG;QACrC,IAAI,UAAU,CAAC,aAAa,GAAG,MAAM,qBAAqB;QAC1D,OAAO;IACT;IAEU,YAAwB;QAChC,IAAI,OAAO,KAAK,CAAC,UAAU;QAC3B,IAAI,YAAC,QAAQ,cAAE,UAAU,EAAC,GAAG;QAC7B,IAAI,CAAC,UACH,MAAM,IAAI,MAAM;QAGlB,IAAI,QAAQ,KAAK,UAAU,CAAC,IAAI,CAAC,KAAK;QAEtC,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,wFAAwF;YACxF,IAAI,OAAO,IAAI,CAAA,GAAA,WAAG,
|
|
1
|
+
{"mappings":";;AAAA;;;;;;;;;;CAUC;AAMM,MAAM,kDAA2B,CAAA,GAAA,kBAAU;IAGtC,kBAAgC;QACxC,IAAI,aAAa,IAAI,CAAC,WAAW,CAAE,UAAU;QAC7C,IAAI,eAAe,WAAW,IAAI,CAAC,KAAK,CAAC,YAAY;QACrD,IAAI,CAAC,SAAS,GAAG,iBAAiB,aAAa,iBAAiB;QAChE,OAAO,KAAK,CAAC;IACf;IAEU,YAAY,IAAiB,EAAE,CAAS,EAAE,CAAS,EAAc;QACzE,IAAI,MAAM,KAAK,CAAC,YAAY,MAAM,GAAG;QACrC,IAAI,UAAU,CAAC,aAAa,GAAG,MAAM,qBAAqB;QAC1D,OAAO;IACT;IAEU,YAAwB;QAChC,IAAI,OAAO,KAAK,CAAC,UAAU;QAC3B,IAAI,YAAC,QAAQ,cAAE,UAAU,EAAC,GAAG;QAC7B,IAAI,CAAC,UACH,MAAM,IAAI,MAAM;QAGlB,IAAI,QAAQ,KAAK,UAAU,CAAC,IAAI,CAAC,KAAK;QAEtC,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,wFAAwF;YACxF,IAAI,OAAO,IAAI,CAAA,GAAA,WAAG,EAChB,IACA,SAAS,MAAM,KAAK,IAAI,KAAK,WAAW,IAAI,CAAC,IAAI,EACjD,AAAC,CAAA,SAAS,IAAI,CAAC,WAAW,CAAE,WAAW,CAAC,KAAK,AAAD,IAAK,IACjD,SAAS,MAAM,KAAK,IAAI,IAAI,CAAC,WAAW,CAAE,WAAW,CAAC,MAAM,GAAG,KAAK;YAEtE,IAAI,SAAS,IAAI,CAAA,GAAA,iBAAS,EAAE,UAAU,UAAU;YAChD,OAAO,SAAS,GAAG,WAAW,GAAG;YACjC,OAAO,QAAQ,GAAG,SAAS,MAAM,KAAK;YACtC,IAAI,OAAO;gBACT,YAAY;gBACZ,WAAW,OAAO,IAAI;YACxB;YACA,SAAS,IAAI,CAAC;YACd,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,GAAG,EAAE;YACjC,WAAW,IAAI,CAAC,MAAM,GAAG,OAAO,IAAI,CAAC,IAAI;YACzC,QAAQ,KAAK,GAAG,CAAC,OAAO,KAAK,KAAK;QACpC,OAAO,IAAI,SAAS,MAAM,KAAK,GAAG;YAChC,IAAI,OAAO,IAAI,CAAA,GAAA,WAAG,EAChB,IACA,IACA,IAAI,CAAC,WAAW,CAAE,WAAW,CAAC,KAAK,GAAG,IACtC,IAAI,CAAC,WAAW,CAAE,WAAW,CAAC,MAAM,GAAG;YAEzC,IAAI,QAAQ,IAAI,CAAA,GAAA,iBAAS,EAAE,SAAS,SAAS;YAC7C,MAAM,SAAS,GAAG,WAAW,GAAG;YAChC,MAAM,QAAQ,GAAG;YACjB,MAAM,aAAa,GAAG;YACtB,IAAI,OAAO;gBACT,YAAY;gBACZ,WAAW,MAAM,IAAI;YACvB;YACA,SAAS,IAAI,CAAC;YACd,WAAW,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI;YACxC,QAAQ,KAAK,GAAG,CAAC,OAAO,KAAK,KAAK;QACpC;QAEA,OAAO;IACT;IAEU,SAAS,IAAiB,EAAE,CAAS,EAAE,CAAS,EAAc;QACtE,IAAI,MAAM,KAAK,CAAC,SAAS,MAAM,GAAG;QAClC,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,IAAI,GAAG,oBAAoB;QACrD,OAAO;IACT;IAEU,UAAU,IAAiB,EAAE,CAAS,EAAE,CAAS,EAAc;YAEnE;QADJ,IAAI,MAAM,KAAK,CAAC,UAAU,MAAM,GAAG;QACnC,KAAI,eAAA,KAAK,MAAM,cAAX,mCAAA,aAAa,KAAK,CAAC,UAAU,EAC/B,IAAI,UAAU,CAAC,aAAa,GAAG;QAEjC,OAAO;IACT;IAEU,wBAAgC;QACxC,OAAO,KAAK,CAAC,0BAA0B,GAAG,oBAAoB;IAChE;IAEU,eAAe,IAAiB,EAAW;YAC3C,aAAgC;YAAhC;QAAR,OAAO,CAAC,OAAA,EAAA,cAAA,KAAK,KAAK,cAAV,kCAAA,YAAY,gBAAgB,OAAI,eAAA,KAAK,KAAK,cAAV,mCAAA,aAAY,eAAe,eAA3D,kBAAA,OAAgE;IAC1E;IAEA,uBACE,CAAS,EACT,CAAS,EACT,iBAAkD,EAC/B;YAGjB;YAAA;QAFF,kCAAkC;QAClC,KACE,CAAA,gDAAA,mCAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAA,GAAA,WAAG,EAAE,GAAG,GAAG,GAAG,IAAI,IAAI,CAAC,CAAA,OAAQ,KAAK,IAAI,KAAK,0BAA5E,uDAAA,iCAA0F,IAAI,CAC3F,MAAM,cADT,0DAAA,+CACa;QACf,OAAO,KAAK,CAAC,uBAAuB,GAAG,GAAG;IAC5C;;QAnGK,qBACG,YAAqB;;AAmG/B","sources":["packages/@adobe/react-spectrum/src/table/TableViewLayout.ts"],"sourcesContent":["/*\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 */\nimport {DropTarget} from '@react-types/shared';\nimport {GridNode} from 'react-stately/private/grid/GridCollection';\nimport {LayoutInfo, LayoutNode, Rect, TableLayout} from 'react-stately/useVirtualizerState';\nimport {TableCollection} from 'react-stately/private/table/TableCollection';\n\nexport class TableViewLayout<T> extends TableLayout<T> {\n private isLoading: boolean = false;\n\n protected buildCollection(): LayoutNode[] {\n let collection = this.virtualizer!.collection as TableCollection<T>;\n let loadingState = collection.body.props.loadingState;\n this.isLoading = loadingState === 'loading' || loadingState === 'loadingMore';\n return super.buildCollection();\n }\n\n protected buildColumn(node: GridNode<T>, x: number, y: number): LayoutNode {\n let res = super.buildColumn(node, x, y);\n res.layoutInfo.allowOverflow = true; // for resizer nubbin\n return res;\n }\n\n protected buildBody(): LayoutNode {\n let node = super.buildBody(0);\n let {children, layoutInfo} = node;\n if (!children) {\n throw new Error('Missing children in LayoutInfo');\n }\n\n let width = node.layoutInfo.rect.width;\n\n if (this.isLoading) {\n // Add some margin around the loader to ensure that scrollbars don't flicker in and out.\n let rect = new Rect(\n 40,\n children.length === 0 ? 40 : layoutInfo.rect.maxY,\n (width || this.virtualizer!.visibleRect.width) - 80,\n children.length === 0 ? this.virtualizer!.visibleRect.height - 80 : 60\n );\n let loader = new LayoutInfo('loader', 'loader', rect);\n loader.parentKey = layoutInfo.key;\n loader.isSticky = children.length === 0;\n let node = {\n layoutInfo: loader,\n validRect: loader.rect\n };\n children.push(node);\n this.layoutNodes.set(loader.key, node);\n layoutInfo.rect.height = loader.rect.maxY;\n width = Math.max(width, rect.width);\n } else if (children.length === 0) {\n let rect = new Rect(\n 40,\n 40,\n this.virtualizer!.visibleRect.width - 80,\n this.virtualizer!.visibleRect.height - 80\n );\n let empty = new LayoutInfo('empty', 'empty', rect);\n empty.parentKey = layoutInfo.key;\n empty.isSticky = true;\n empty.allowOverflow = true;\n let node = {\n layoutInfo: empty,\n validRect: empty.rect\n };\n children.push(node);\n layoutInfo.rect.height = empty.rect.maxY;\n width = Math.max(width, rect.width);\n }\n\n return node;\n }\n\n protected buildRow(node: GridNode<T>, x: number, y: number): LayoutNode {\n let res = super.buildRow(node, x, y);\n res.layoutInfo.rect.height += 1; // for bottom border\n return res;\n }\n\n protected buildCell(node: GridNode<T>, x: number, y: number): LayoutNode {\n let res = super.buildCell(node, x, y);\n if (node.column?.props.hideHeader) {\n res.layoutInfo.allowOverflow = true;\n }\n return res;\n }\n\n protected getEstimatedRowHeight(): number {\n return super.getEstimatedRowHeight() + 1; // for bottom border\n }\n\n protected isStickyColumn(node: GridNode<T>): boolean {\n return (node.props?.isDragButtonCell || node.props?.isSelectionCell) ?? false;\n }\n\n getDropTargetFromPoint(\n x: number,\n y: number,\n isValidDropTarget: (target: DropTarget) => boolean\n ): DropTarget | null {\n // Offset for height of header row\n y -=\n this.getVisibleLayoutInfos(new Rect(x, y, 1, 1)).find(info => info.type === 'headerrow')?.rect\n .height ?? 0;\n return super.getDropTargetFromPoint(x, y, isValidDropTarget);\n }\n}\n"],"names":[],"version":3,"file":"TableViewLayout.js.map"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":";;AAAA;;;;;;;;;;CAUC;AAMM,MAAM,kDAA2B,CAAA,GAAA,kBAAU;IAGtC,kBAAgC;QACxC,IAAI,aAAa,IAAI,CAAC,WAAW,CAAE,UAAU;QAC7C,IAAI,eAAe,WAAW,IAAI,CAAC,KAAK,CAAC,YAAY;QACrD,IAAI,CAAC,SAAS,GAAG,iBAAiB,aAAa,iBAAiB;QAChE,OAAO,KAAK,CAAC;IACf;IAEU,YAAY,IAAiB,EAAE,CAAS,EAAE,CAAS,EAAc;QACzE,IAAI,MAAM,KAAK,CAAC,YAAY,MAAM,GAAG;QACrC,IAAI,UAAU,CAAC,aAAa,GAAG,MAAM,qBAAqB;QAC1D,OAAO;IACT;IAEU,YAAwB;QAChC,IAAI,OAAO,KAAK,CAAC,UAAU;QAC3B,IAAI,YAAC,QAAQ,cAAE,UAAU,EAAC,GAAG;QAC7B,IAAI,CAAC,UACH,MAAM,IAAI,MAAM;QAGlB,IAAI,QAAQ,KAAK,UAAU,CAAC,IAAI,CAAC,KAAK;QAEtC,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,wFAAwF;YACxF,IAAI,OAAO,IAAI,CAAA,GAAA,WAAG,
|
|
1
|
+
{"mappings":"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","sources":["packages/@adobe/react-spectrum/src/table/TableViewLayout.ts"],"sourcesContent":["/*\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 */\nimport {DropTarget} from '@react-types/shared';\nimport {GridNode} from 'react-stately/private/grid/GridCollection';\nimport {LayoutInfo, LayoutNode, Rect, TableLayout} from 'react-stately/useVirtualizerState';\nimport {TableCollection} from 'react-stately/private/table/TableCollection';\n\nexport class TableViewLayout<T> extends TableLayout<T> {\n private isLoading: boolean = false;\n\n protected buildCollection(): LayoutNode[] {\n let collection = this.virtualizer!.collection as TableCollection<T>;\n let loadingState = collection.body.props.loadingState;\n this.isLoading = loadingState === 'loading' || loadingState === 'loadingMore';\n return super.buildCollection();\n }\n\n protected buildColumn(node: GridNode<T>, x: number, y: number): LayoutNode {\n let res = super.buildColumn(node, x, y);\n res.layoutInfo.allowOverflow = true; // for resizer nubbin\n return res;\n }\n\n protected buildBody(): LayoutNode {\n let node = super.buildBody(0);\n let {children, layoutInfo} = node;\n if (!children) {\n throw new Error('Missing children in LayoutInfo');\n }\n\n let width = node.layoutInfo.rect.width;\n\n if (this.isLoading) {\n // Add some margin around the loader to ensure that scrollbars don't flicker in and out.\n let rect = new Rect(\n 40,\n children.length === 0 ? 40 : layoutInfo.rect.maxY,\n (width || this.virtualizer!.visibleRect.width) - 80,\n children.length === 0 ? this.virtualizer!.visibleRect.height - 80 : 60\n );\n let loader = new LayoutInfo('loader', 'loader', rect);\n loader.parentKey = layoutInfo.key;\n loader.isSticky = children.length === 0;\n let node = {\n layoutInfo: loader,\n validRect: loader.rect\n };\n children.push(node);\n this.layoutNodes.set(loader.key, node);\n layoutInfo.rect.height = loader.rect.maxY;\n width = Math.max(width, rect.width);\n } else if (children.length === 0) {\n let rect = new Rect(\n 40,\n 40,\n this.virtualizer!.visibleRect.width - 80,\n this.virtualizer!.visibleRect.height - 80\n );\n let empty = new LayoutInfo('empty', 'empty', rect);\n empty.parentKey = layoutInfo.key;\n empty.isSticky = true;\n empty.allowOverflow = true;\n let node = {\n layoutInfo: empty,\n validRect: empty.rect\n };\n children.push(node);\n layoutInfo.rect.height = empty.rect.maxY;\n width = Math.max(width, rect.width);\n }\n\n return node;\n }\n\n protected buildRow(node: GridNode<T>, x: number, y: number): LayoutNode {\n let res = super.buildRow(node, x, y);\n res.layoutInfo.rect.height += 1; // for bottom border\n return res;\n }\n\n protected buildCell(node: GridNode<T>, x: number, y: number): LayoutNode {\n let res = super.buildCell(node, x, y);\n if (node.column?.props.hideHeader) {\n res.layoutInfo.allowOverflow = true;\n }\n return res;\n }\n\n protected getEstimatedRowHeight(): number {\n return super.getEstimatedRowHeight() + 1; // for bottom border\n }\n\n protected isStickyColumn(node: GridNode<T>): boolean {\n return (node.props?.isDragButtonCell || node.props?.isSelectionCell) ?? false;\n }\n\n getDropTargetFromPoint(\n x: number,\n y: number,\n isValidDropTarget: (target: DropTarget) => boolean\n ): DropTarget | null {\n // Offset for height of header row\n y -=\n this.getVisibleLayoutInfos(new Rect(x, y, 1, 1)).find(info => info.type === 'headerrow')?.rect\n .height ?? 0;\n return super.getDropTargetFromPoint(x, y, isValidDropTarget);\n }\n}\n"],"names":[],"version":3,"file":"TableViewLayout.mjs.map"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":";;;;;;;;;;;;;;AAAA;;;;;;;;;;CAUC;;;AAUM,MAAM,0DAA4B,CAAA,GAAA,sCAAI,EAAE,UAAU,CAAC,SAAS,
|
|
1
|
+
{"mappings":";;;;;;;;;;;;;;AAAA;;;;;;;;;;CAUC;;;AAUM,MAAM,0DAA4B,CAAA,GAAA,sCAAI,EAAE,UAAU,CAAC,SAAS,UACjE,KAAoB,EACpB,GAA2B;IAE3B,IAAI,kBAAC,cAAc,oBAAE,gBAAgB,EAAC,GAAG;IACzC,IAAI,CAAC,yBAAyB,2BAA2B,GAAG,CAAA,GAAA,qBAAO,EACjE,mBAAmB;IAErB,IAAI,mBAAmB,CAAC,CAAC,kBAAkB;IAC3C,IAAI,QAAQ,CAAA,GAAA,8CAAY,EAAE;QACxB,GAAG,KAAK;iCACR;QACA,iBAAiB;QACjB,mBAAmB,MAAM,cAAc,KAAK,cAAc,YAAY;IACxE;IAEA,+HAA+H;IAC/H,IAAI,uBAAuB,MAAM,gBAAgB,CAAC,iBAAiB,KAAK;IACxE,IAAI,yBAAyB,yBAC3B,2BAA2B;IAG7B,qBAAO,0DAAC,CAAA,GAAA,uCAAY;QAAG,GAAG,KAAK;QAAE,OAAO;QAAO,KAAK;;AACtD","sources":["packages/@adobe/react-spectrum/src/table/TableViewWithoutExpanding.tsx"],"sourcesContent":["/*\n * Copyright 2023 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 {DOMRef} from '@react-types/shared';\nimport React, {ReactElement, useState} from 'react';\nimport {SpectrumTableProps} from './TableView';\nimport {TableViewBase} from './TableViewBase';\nimport {useTableState} from 'react-stately/useTableState';\n\ninterface TableProps<T> extends Omit<SpectrumTableProps<T>, 'UNSTABLE_allowsExpandableRows'> {}\n\nexport const TableViewWithoutExpanding = React.forwardRef(function TableView<T extends object>(\n props: TableProps<T>,\n ref: DOMRef<HTMLDivElement>\n) {\n let {selectionStyle, dragAndDropHooks} = props;\n let [showSelectionCheckboxes, setShowSelectionCheckboxes] = useState(\n selectionStyle !== 'highlight'\n );\n let isTableDraggable = !!dragAndDropHooks?.useDraggableCollectionState;\n let state = useTableState({\n ...props,\n showSelectionCheckboxes,\n showDragButtons: isTableDraggable,\n selectionBehavior: props.selectionStyle === 'highlight' ? 'replace' : 'toggle'\n });\n\n // If the selection behavior changes in state, we need to update showSelectionCheckboxes here due to the circular dependency...\n let shouldShowCheckboxes = state.selectionManager.selectionBehavior !== 'replace';\n if (shouldShowCheckboxes !== showSelectionCheckboxes) {\n setShowSelectionCheckboxes(shouldShowCheckboxes);\n }\n\n return <TableViewBase {...props} state={state} ref={ref} />;\n}) as <T>(props: TableProps<T> & {ref?: DOMRef<HTMLDivElement>}) => ReactElement;\n"],"names":[],"version":3,"file":"TableViewWithoutExpanding.cjs.map"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":";;;;AAAA;;;;;;;;;;CAUC;;;AAUM,MAAM,0DAA4B,CAAA,GAAA,YAAI,EAAE,UAAU,CAAC,SAAS,
|
|
1
|
+
{"mappings":";;;;AAAA;;;;;;;;;;CAUC;;;AAUM,MAAM,0DAA4B,CAAA,GAAA,YAAI,EAAE,UAAU,CAAC,SAAS,UACjE,KAAoB,EACpB,GAA2B;IAE3B,IAAI,kBAAC,cAAc,oBAAE,gBAAgB,EAAC,GAAG;IACzC,IAAI,CAAC,yBAAyB,2BAA2B,GAAG,CAAA,GAAA,eAAO,EACjE,mBAAmB;IAErB,IAAI,mBAAmB,CAAC,EAAC,6BAAA,uCAAA,iBAAkB,2BAA2B;IACtE,IAAI,QAAQ,CAAA,GAAA,oBAAY,EAAE;QACxB,GAAG,KAAK;iCACR;QACA,iBAAiB;QACjB,mBAAmB,MAAM,cAAc,KAAK,cAAc,YAAY;IACxE;IAEA,+HAA+H;IAC/H,IAAI,uBAAuB,MAAM,gBAAgB,CAAC,iBAAiB,KAAK;IACxE,IAAI,yBAAyB,yBAC3B,2BAA2B;IAG7B,qBAAO,gCAAC,CAAA,GAAA,yCAAY;QAAG,GAAG,KAAK;QAAE,OAAO;QAAO,KAAK;;AACtD","sources":["packages/@adobe/react-spectrum/src/table/TableViewWithoutExpanding.tsx"],"sourcesContent":["/*\n * Copyright 2023 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 {DOMRef} from '@react-types/shared';\nimport React, {ReactElement, useState} from 'react';\nimport {SpectrumTableProps} from './TableView';\nimport {TableViewBase} from './TableViewBase';\nimport {useTableState} from 'react-stately/useTableState';\n\ninterface TableProps<T> extends Omit<SpectrumTableProps<T>, 'UNSTABLE_allowsExpandableRows'> {}\n\nexport const TableViewWithoutExpanding = React.forwardRef(function TableView<T extends object>(\n props: TableProps<T>,\n ref: DOMRef<HTMLDivElement>\n) {\n let {selectionStyle, dragAndDropHooks} = props;\n let [showSelectionCheckboxes, setShowSelectionCheckboxes] = useState(\n selectionStyle !== 'highlight'\n );\n let isTableDraggable = !!dragAndDropHooks?.useDraggableCollectionState;\n let state = useTableState({\n ...props,\n showSelectionCheckboxes,\n showDragButtons: isTableDraggable,\n selectionBehavior: props.selectionStyle === 'highlight' ? 'replace' : 'toggle'\n });\n\n // If the selection behavior changes in state, we need to update showSelectionCheckboxes here due to the circular dependency...\n let shouldShowCheckboxes = state.selectionManager.selectionBehavior !== 'replace';\n if (shouldShowCheckboxes !== showSelectionCheckboxes) {\n setShowSelectionCheckboxes(shouldShowCheckboxes);\n }\n\n return <TableViewBase {...props} state={state} ref={ref} />;\n}) as <T>(props: TableProps<T> & {ref?: DOMRef<HTMLDivElement>}) => ReactElement;\n"],"names":[],"version":3,"file":"TableViewWithoutExpanding.js.map"}
|