@react-spectrum/s2 1.0.0 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Accordion.cjs +3 -3
- package/dist/Accordion.cjs.map +1 -1
- package/dist/Accordion.css +2 -2
- package/dist/Accordion.css.map +1 -1
- package/dist/Accordion.mjs +3 -3
- package/dist/Accordion.mjs.map +1 -1
- package/dist/ActionBar.cjs +62 -61
- package/dist/ActionBar.cjs.map +1 -1
- package/dist/ActionBar.css +58 -58
- package/dist/ActionBar.css.map +1 -1
- package/dist/ActionBar.mjs +62 -61
- package/dist/ActionBar.mjs.map +1 -1
- package/dist/ActionButton.cjs +234 -234
- package/dist/ActionButton.cjs.map +1 -1
- package/dist/ActionButton.css +160 -160
- package/dist/ActionButton.css.map +1 -1
- package/dist/ActionButton.mjs +234 -234
- package/dist/ActionButton.mjs.map +1 -1
- package/dist/ActionButtonGroup.cjs +16 -16
- package/dist/ActionButtonGroup.css +9 -9
- package/dist/ActionButtonGroup.mjs +16 -16
- package/dist/Add.cjs +10 -10
- package/dist/Add.css +6 -6
- package/dist/Add.mjs +10 -10
- package/dist/AlertDialog.cjs +3 -3
- package/dist/AlertDialog.css +3 -3
- package/dist/AlertDialog.mjs +3 -3
- package/dist/Asterisk.cjs +6 -6
- package/dist/Asterisk.css +4 -4
- package/dist/Asterisk.mjs +6 -6
- package/dist/Avatar.cjs +17 -17
- package/dist/Avatar.css +16 -16
- package/dist/Avatar.mjs +17 -17
- package/dist/AvatarGroup.cjs +121 -121
- package/dist/AvatarGroup.css +31 -31
- package/dist/AvatarGroup.mjs +121 -121
- package/dist/Badge.cjs +197 -197
- package/dist/Badge.css +125 -125
- package/dist/Badge.mjs +197 -197
- package/dist/Breadcrumbs.cjs +235 -235
- package/dist/Breadcrumbs.cjs.map +1 -1
- package/dist/Breadcrumbs.css +100 -100
- package/dist/Breadcrumbs.css.map +1 -1
- package/dist/Breadcrumbs.mjs +235 -235
- package/dist/Breadcrumbs.mjs.map +1 -1
- package/dist/Button.cjs +333 -333
- package/dist/Button.cjs.map +1 -1
- package/dist/Button.css +174 -174
- package/dist/Button.css.map +1 -1
- package/dist/Button.mjs +333 -333
- package/dist/Button.mjs.map +1 -1
- package/dist/ButtonGroup.cjs +21 -21
- package/dist/ButtonGroup.css +15 -15
- package/dist/ButtonGroup.mjs +21 -21
- package/dist/Calendar.cjs +169 -169
- package/dist/Calendar.cjs.map +1 -1
- package/dist/Calendar.css +134 -134
- package/dist/Calendar.css.map +1 -1
- package/dist/Calendar.mjs +169 -169
- package/dist/Calendar.mjs.map +1 -1
- package/dist/Card.cjs +310 -310
- package/dist/Card.cjs.map +1 -1
- package/dist/Card.css +206 -206
- package/dist/Card.css.map +1 -1
- package/dist/Card.mjs +310 -310
- package/dist/Card.mjs.map +1 -1
- package/dist/CardView.cjs +19 -19
- package/dist/CardView.cjs.map +1 -1
- package/dist/CardView.css +17 -17
- package/dist/CardView.css.map +1 -1
- package/dist/CardView.mjs +19 -19
- package/dist/CardView.mjs.map +1 -1
- package/dist/CenterBaseline.cjs +1 -1
- package/dist/CenterBaseline.css +2 -2
- package/dist/CenterBaseline.mjs +1 -1
- package/dist/Checkbox.cjs +162 -162
- package/dist/Checkbox.cjs.map +1 -1
- package/dist/Checkbox.css +95 -91
- package/dist/Checkbox.css.map +1 -1
- package/dist/Checkbox.mjs +162 -162
- package/dist/Checkbox.mjs.map +1 -1
- package/dist/CheckboxGroup.cjs +44 -44
- package/dist/CheckboxGroup.cjs.map +1 -1
- package/dist/CheckboxGroup.css +37 -37
- package/dist/CheckboxGroup.css.map +1 -1
- package/dist/CheckboxGroup.mjs +44 -44
- package/dist/CheckboxGroup.mjs.map +1 -1
- package/dist/Checkmark.cjs +12 -12
- package/dist/Checkmark.css +8 -8
- package/dist/Checkmark.mjs +12 -12
- package/dist/Chevron.cjs +12 -12
- package/dist/Chevron.css +10 -10
- package/dist/Chevron.mjs +12 -12
- package/dist/ClearButton.cjs +30 -30
- package/dist/ClearButton.css +30 -30
- package/dist/ClearButton.mjs +30 -30
- package/dist/CloseButton.cjs +56 -56
- package/dist/CloseButton.css +47 -47
- package/dist/CloseButton.mjs +56 -56
- package/dist/ColorArea.cjs +17 -17
- package/dist/ColorArea.cjs.map +1 -1
- package/dist/ColorArea.css +16 -16
- package/dist/ColorArea.css.map +1 -1
- package/dist/ColorArea.mjs +17 -17
- package/dist/ColorArea.mjs.map +1 -1
- package/dist/ColorField.cjs +32 -32
- package/dist/ColorField.cjs.map +1 -1
- package/dist/ColorField.css +27 -27
- package/dist/ColorField.css.map +1 -1
- package/dist/ColorField.mjs +32 -32
- package/dist/ColorField.mjs.map +1 -1
- package/dist/ColorHandle.cjs +27 -27
- package/dist/ColorHandle.css +42 -42
- package/dist/ColorHandle.mjs +27 -27
- package/dist/ColorSlider.cjs +109 -109
- package/dist/ColorSlider.cjs.map +1 -1
- package/dist/ColorSlider.css +52 -52
- package/dist/ColorSlider.css.map +1 -1
- package/dist/ColorSlider.mjs +109 -109
- package/dist/ColorSlider.mjs.map +1 -1
- package/dist/ColorSwatch.cjs +30 -30
- package/dist/ColorSwatch.cjs.map +1 -1
- package/dist/ColorSwatch.css +29 -29
- package/dist/ColorSwatch.css.map +1 -1
- package/dist/ColorSwatch.mjs +30 -30
- package/dist/ColorSwatch.mjs.map +1 -1
- package/dist/ColorSwatchPicker.cjs +30 -30
- package/dist/ColorSwatchPicker.css +48 -48
- package/dist/ColorSwatchPicker.mjs +30 -30
- package/dist/ColorWheel.cjs +31 -27
- package/dist/ColorWheel.cjs.map +1 -1
- package/dist/ColorWheel.css +17 -17
- package/dist/ColorWheel.css.map +1 -1
- package/dist/ColorWheel.mjs +31 -27
- package/dist/ColorWheel.mjs.map +1 -1
- package/dist/ComboBox.cjs +383 -383
- package/dist/ComboBox.cjs.map +1 -1
- package/dist/ComboBox.css +187 -187
- package/dist/ComboBox.css.map +1 -1
- package/dist/ComboBox.mjs +383 -383
- package/dist/ComboBox.mjs.map +1 -1
- package/dist/ContextualHelp.cjs +70 -41
- package/dist/ContextualHelp.cjs.map +1 -1
- package/dist/ContextualHelp.css +71 -71
- package/dist/ContextualHelp.css.map +1 -1
- package/dist/ContextualHelp.mjs +74 -46
- package/dist/ContextualHelp.mjs.map +1 -1
- package/dist/Cross.cjs +14 -14
- package/dist/Cross.css +10 -10
- package/dist/Cross.mjs +14 -14
- package/dist/CustomDialog.cjs +26 -26
- package/dist/CustomDialog.cjs.map +1 -1
- package/dist/CustomDialog.css +25 -25
- package/dist/CustomDialog.css.map +1 -1
- package/dist/CustomDialog.mjs +26 -26
- package/dist/CustomDialog.mjs.map +1 -1
- package/dist/Dash.cjs +10 -10
- package/dist/Dash.css +6 -6
- package/dist/Dash.mjs +10 -10
- package/dist/DateField.cjs +74 -74
- package/dist/DateField.cjs.map +1 -1
- package/dist/DateField.css +77 -77
- package/dist/DateField.css.map +1 -1
- package/dist/DateField.mjs +74 -74
- package/dist/DateField.mjs.map +1 -1
- package/dist/DatePicker.cjs +173 -173
- package/dist/DatePicker.cjs.map +1 -1
- package/dist/DatePicker.css +128 -128
- package/dist/DatePicker.css.map +1 -1
- package/dist/DatePicker.mjs +173 -173
- package/dist/DatePicker.mjs.map +1 -1
- package/dist/DateRangePicker.cjs +56 -56
- package/dist/DateRangePicker.cjs.map +1 -1
- package/dist/DateRangePicker.css +59 -59
- package/dist/DateRangePicker.css.map +1 -1
- package/dist/DateRangePicker.mjs +56 -56
- package/dist/DateRangePicker.mjs.map +1 -1
- package/dist/Dialog.cjs +17 -17
- package/dist/Dialog.cjs.map +1 -1
- package/dist/Dialog.css +70 -70
- package/dist/Dialog.css.map +1 -1
- package/dist/Dialog.mjs +17 -17
- package/dist/Dialog.mjs.map +1 -1
- package/dist/Disclosure.cjs +120 -120
- package/dist/Disclosure.cjs.map +1 -1
- package/dist/Disclosure.css +112 -112
- package/dist/Disclosure.css.map +1 -1
- package/dist/Disclosure.mjs +120 -120
- package/dist/Disclosure.mjs.map +1 -1
- package/dist/Divider.cjs +26 -26
- package/dist/Divider.cjs.map +1 -1
- package/dist/Divider.css +25 -25
- package/dist/Divider.css.map +1 -1
- package/dist/Divider.mjs +26 -26
- package/dist/Divider.mjs.map +1 -1
- package/dist/DropZone.cjs +62 -62
- package/dist/DropZone.cjs.map +1 -1
- package/dist/DropZone.css +57 -57
- package/dist/DropZone.css.map +1 -1
- package/dist/DropZone.mjs +62 -62
- package/dist/DropZone.mjs.map +1 -1
- package/dist/Field.cjs +351 -351
- package/dist/Field.cjs.map +1 -1
- package/dist/Field.css +147 -147
- package/dist/Field.css.map +1 -1
- package/dist/Field.mjs +351 -351
- package/dist/Field.mjs.map +1 -1
- package/dist/Form.cjs +10 -10
- package/dist/Form.cjs.map +1 -1
- package/dist/Form.css +9 -9
- package/dist/Form.css.map +1 -1
- package/dist/Form.mjs +10 -10
- package/dist/Form.mjs.map +1 -1
- package/dist/FullscreenDialog.cjs +5 -5
- package/dist/FullscreenDialog.cjs.map +1 -1
- package/dist/FullscreenDialog.css +78 -78
- package/dist/FullscreenDialog.css.map +1 -1
- package/dist/FullscreenDialog.mjs +5 -5
- package/dist/FullscreenDialog.mjs.map +1 -1
- package/dist/IllustratedMessage.cjs +229 -229
- package/dist/IllustratedMessage.css +72 -72
- package/dist/IllustratedMessage.mjs +229 -229
- package/dist/Image.cjs +14 -14
- package/dist/Image.css +14 -14
- package/dist/Image.mjs +14 -14
- package/dist/InlineAlert.cjs +101 -101
- package/dist/InlineAlert.css +76 -76
- package/dist/InlineAlert.mjs +101 -101
- package/dist/Link.cjs +50 -50
- package/dist/Link.cjs.map +1 -1
- package/dist/Link.css +41 -41
- package/dist/Link.css.map +1 -1
- package/dist/Link.mjs +50 -50
- package/dist/Link.mjs.map +1 -1
- package/dist/LinkOut.cjs +8 -8
- package/dist/LinkOut.css +8 -8
- package/dist/LinkOut.mjs +8 -8
- package/dist/ListView.cjs +777 -0
- package/dist/ListView.cjs.map +1 -0
- package/dist/ListView.css +740 -0
- package/dist/ListView.css.map +1 -0
- package/dist/ListView.mjs +770 -0
- package/dist/ListView.mjs.map +1 -0
- package/dist/Menu.cjs +540 -445
- package/dist/Menu.cjs.map +1 -1
- package/dist/Menu.css +234 -190
- package/dist/Menu.css.map +1 -1
- package/dist/Menu.mjs +541 -447
- package/dist/Menu.mjs.map +1 -1
- package/dist/Meter.cjs +154 -154
- package/dist/Meter.cjs.map +1 -1
- package/dist/Meter.css +91 -91
- package/dist/Meter.css.map +1 -1
- package/dist/Meter.mjs +154 -154
- package/dist/Meter.mjs.map +1 -1
- package/dist/Modal.cjs +66 -66
- package/dist/Modal.cjs.map +1 -1
- package/dist/Modal.css +54 -54
- package/dist/Modal.css.map +1 -1
- package/dist/Modal.mjs +66 -66
- package/dist/Modal.mjs.map +1 -1
- package/dist/NotificationBadge.cjs +57 -57
- package/dist/NotificationBadge.css +49 -49
- package/dist/NotificationBadge.mjs +57 -57
- package/dist/NumberField.cjs +115 -115
- package/dist/NumberField.cjs.map +1 -1
- package/dist/NumberField.css +99 -99
- package/dist/NumberField.css.map +1 -1
- package/dist/NumberField.mjs +115 -115
- package/dist/NumberField.mjs.map +1 -1
- package/dist/Picker.cjs +337 -285
- package/dist/Picker.cjs.map +1 -1
- package/dist/Picker.css +173 -173
- package/dist/Picker.css.map +1 -1
- package/dist/Picker.mjs +339 -287
- package/dist/Picker.mjs.map +1 -1
- package/dist/Popover.cjs +89 -89
- package/dist/Popover.cjs.map +1 -1
- package/dist/Popover.css +70 -70
- package/dist/Popover.css.map +1 -1
- package/dist/Popover.mjs +89 -89
- package/dist/Popover.mjs.map +1 -1
- package/dist/ProgressBar.cjs +164 -164
- package/dist/ProgressBar.cjs.map +1 -1
- package/dist/ProgressBar.css +99 -99
- package/dist/ProgressBar.css.map +1 -1
- package/dist/ProgressBar.mjs +164 -164
- package/dist/ProgressBar.mjs.map +1 -1
- package/dist/ProgressCircle.cjs +32 -32
- package/dist/ProgressCircle.cjs.map +1 -1
- package/dist/ProgressCircle.css +24 -24
- package/dist/ProgressCircle.css.map +1 -1
- package/dist/ProgressCircle.mjs +32 -32
- package/dist/ProgressCircle.mjs.map +1 -1
- package/dist/Provider.cjs +11 -11
- package/dist/Provider.css +10 -10
- package/dist/Provider.mjs +11 -11
- package/dist/Radio.cjs +146 -146
- package/dist/Radio.cjs.map +1 -1
- package/dist/Radio.css +78 -78
- package/dist/Radio.css.map +1 -1
- package/dist/Radio.mjs +146 -146
- package/dist/Radio.mjs.map +1 -1
- package/dist/RadioGroup.cjs +42 -42
- package/dist/RadioGroup.cjs.map +1 -1
- package/dist/RadioGroup.css +37 -37
- package/dist/RadioGroup.css.map +1 -1
- package/dist/RadioGroup.mjs +42 -42
- package/dist/RadioGroup.mjs.map +1 -1
- package/dist/RangeCalendar.cjs +8 -8
- package/dist/RangeCalendar.cjs.map +1 -1
- package/dist/RangeCalendar.css +10 -10
- package/dist/RangeCalendar.css.map +1 -1
- package/dist/RangeCalendar.mjs +8 -8
- package/dist/RangeCalendar.mjs.map +1 -1
- package/dist/SearchField.cjs +42 -42
- package/dist/SearchField.cjs.map +1 -1
- package/dist/SearchField.css +45 -45
- package/dist/SearchField.css.map +1 -1
- package/dist/SearchField.mjs +42 -42
- package/dist/SearchField.mjs.map +1 -1
- package/dist/SegmentedControl.cjs +180 -180
- package/dist/SegmentedControl.css +123 -123
- package/dist/SegmentedControl.mjs +180 -180
- package/dist/SelectBoxGroup.cjs +144 -144
- package/dist/SelectBoxGroup.cjs.map +1 -1
- package/dist/SelectBoxGroup.css +120 -120
- package/dist/SelectBoxGroup.css.map +1 -1
- package/dist/SelectBoxGroup.mjs +144 -144
- package/dist/SelectBoxGroup.mjs.map +1 -1
- package/dist/Slider.cjs +295 -295
- package/dist/Slider.cjs.map +1 -1
- package/dist/Slider.css +154 -154
- package/dist/Slider.css.map +1 -1
- package/dist/Slider.mjs +295 -295
- package/dist/Slider.mjs.map +1 -1
- package/dist/StatusLight.cjs +116 -116
- package/dist/StatusLight.css +59 -59
- package/dist/StatusLight.mjs +116 -116
- package/dist/Switch.cjs +155 -155
- package/dist/Switch.cjs.map +1 -1
- package/dist/Switch.css +74 -74
- package/dist/Switch.css.map +1 -1
- package/dist/Switch.mjs +155 -155
- package/dist/Switch.mjs.map +1 -1
- package/dist/TableView.cjs +448 -424
- package/dist/TableView.cjs.map +1 -1
- package/dist/TableView.css +232 -204
- package/dist/TableView.css.map +1 -1
- package/dist/TableView.mjs +450 -426
- package/dist/TableView.mjs.map +1 -1
- package/dist/Tabs.cjs +127 -127
- package/dist/Tabs.cjs.map +1 -1
- package/dist/Tabs.css +105 -105
- package/dist/Tabs.css.map +1 -1
- package/dist/Tabs.mjs +127 -127
- package/dist/Tabs.mjs.map +1 -1
- package/dist/TabsPicker.cjs +127 -127
- package/dist/TabsPicker.cjs.map +1 -1
- package/dist/TabsPicker.css +108 -108
- package/dist/TabsPicker.css.map +1 -1
- package/dist/TabsPicker.mjs +127 -127
- package/dist/TabsPicker.mjs.map +1 -1
- package/dist/TagGroup.cjs +204 -204
- package/dist/TagGroup.cjs.map +1 -1
- package/dist/TagGroup.css +146 -146
- package/dist/TagGroup.css.map +1 -1
- package/dist/TagGroup.mjs +204 -204
- package/dist/TagGroup.mjs.map +1 -1
- package/dist/TextField.cjs +59 -59
- package/dist/TextField.cjs.map +1 -1
- package/dist/TextField.css +54 -54
- package/dist/TextField.css.map +1 -1
- package/dist/TextField.mjs +59 -59
- package/dist/TextField.mjs.map +1 -1
- package/dist/TimeField.cjs +52 -52
- package/dist/TimeField.cjs.map +1 -1
- package/dist/TimeField.css +47 -47
- package/dist/TimeField.css.map +1 -1
- package/dist/TimeField.mjs +52 -52
- package/dist/TimeField.mjs.map +1 -1
- package/dist/Toast.cjs +121 -121
- package/dist/Toast.cjs.map +1 -1
- package/dist/Toast.css +110 -110
- package/dist/Toast.css.map +1 -1
- package/dist/Toast.mjs +122 -122
- package/dist/Toast.mjs.map +1 -1
- package/dist/ToggleButton.cjs +3 -3
- package/dist/ToggleButton.cjs.map +1 -1
- package/dist/ToggleButton.css +12 -12
- package/dist/ToggleButton.css.map +1 -1
- package/dist/ToggleButton.mjs +3 -3
- package/dist/ToggleButton.mjs.map +1 -1
- package/dist/ToggleButtonGroup.cjs.map +1 -1
- package/dist/ToggleButtonGroup.mjs.map +1 -1
- package/dist/Tooltip.cjs +78 -78
- package/dist/Tooltip.cjs.map +1 -1
- package/dist/Tooltip.css +65 -65
- package/dist/Tooltip.css.map +1 -1
- package/dist/Tooltip.mjs +78 -78
- package/dist/Tooltip.mjs.map +1 -1
- package/dist/TreeView.cjs +191 -141
- package/dist/TreeView.cjs.map +1 -1
- package/dist/TreeView.css +143 -127
- package/dist/TreeView.css.map +1 -1
- package/dist/TreeView.mjs +191 -141
- package/dist/TreeView.mjs.map +1 -1
- package/dist/ar-AE.cjs +1 -0
- package/dist/ar-AE.cjs.map +1 -1
- package/dist/ar-AE.mjs +1 -0
- package/dist/ar-AE.mjs.map +1 -1
- package/dist/bg-BG.cjs +1 -0
- package/dist/bg-BG.cjs.map +1 -1
- package/dist/bg-BG.mjs +1 -0
- package/dist/bg-BG.mjs.map +1 -1
- package/dist/cs-CZ.cjs +1 -0
- package/dist/cs-CZ.cjs.map +1 -1
- package/dist/cs-CZ.mjs +1 -0
- package/dist/cs-CZ.mjs.map +1 -1
- package/dist/da-DK.cjs +1 -0
- package/dist/da-DK.cjs.map +1 -1
- package/dist/da-DK.mjs +1 -0
- package/dist/da-DK.mjs.map +1 -1
- package/dist/de-DE.cjs +1 -0
- package/dist/de-DE.cjs.map +1 -1
- package/dist/de-DE.mjs +1 -0
- package/dist/de-DE.mjs.map +1 -1
- package/dist/el-GR.cjs +1 -0
- package/dist/el-GR.cjs.map +1 -1
- package/dist/el-GR.mjs +1 -0
- package/dist/el-GR.mjs.map +1 -1
- package/dist/en-US.cjs +1 -0
- package/dist/en-US.cjs.map +1 -1
- package/dist/en-US.mjs +1 -0
- package/dist/en-US.mjs.map +1 -1
- package/dist/es-ES.cjs +1 -0
- package/dist/es-ES.cjs.map +1 -1
- package/dist/es-ES.mjs +1 -0
- package/dist/es-ES.mjs.map +1 -1
- package/dist/et-EE.cjs +1 -0
- package/dist/et-EE.cjs.map +1 -1
- package/dist/et-EE.mjs +1 -0
- package/dist/et-EE.mjs.map +1 -1
- package/dist/fi-FI.cjs +1 -0
- package/dist/fi-FI.cjs.map +1 -1
- package/dist/fi-FI.mjs +1 -0
- package/dist/fi-FI.mjs.map +1 -1
- package/dist/fr-FR.cjs +1 -0
- package/dist/fr-FR.cjs.map +1 -1
- package/dist/fr-FR.mjs +1 -0
- package/dist/fr-FR.mjs.map +1 -1
- package/dist/he-IL.cjs +1 -0
- package/dist/he-IL.cjs.map +1 -1
- package/dist/he-IL.mjs +1 -0
- package/dist/he-IL.mjs.map +1 -1
- package/dist/hr-HR.cjs +1 -0
- package/dist/hr-HR.cjs.map +1 -1
- package/dist/hr-HR.mjs +1 -0
- package/dist/hr-HR.mjs.map +1 -1
- package/dist/hu-HU.cjs +1 -0
- package/dist/hu-HU.cjs.map +1 -1
- package/dist/hu-HU.mjs +1 -0
- package/dist/hu-HU.mjs.map +1 -1
- package/dist/it-IT.cjs +1 -0
- package/dist/it-IT.cjs.map +1 -1
- package/dist/it-IT.mjs +1 -0
- package/dist/it-IT.mjs.map +1 -1
- package/dist/ja-JP.cjs +1 -0
- package/dist/ja-JP.cjs.map +1 -1
- package/dist/ja-JP.mjs +1 -0
- package/dist/ja-JP.mjs.map +1 -1
- package/dist/ko-KR.cjs +1 -0
- package/dist/ko-KR.cjs.map +1 -1
- package/dist/ko-KR.mjs +1 -0
- package/dist/ko-KR.mjs.map +1 -1
- package/dist/lt-LT.cjs +1 -0
- package/dist/lt-LT.cjs.map +1 -1
- package/dist/lt-LT.mjs +1 -0
- package/dist/lt-LT.mjs.map +1 -1
- package/dist/lv-LV.cjs +1 -0
- package/dist/lv-LV.cjs.map +1 -1
- package/dist/lv-LV.mjs +1 -0
- package/dist/lv-LV.mjs.map +1 -1
- package/dist/main.cjs +7 -0
- package/dist/main.cjs.map +1 -1
- package/dist/module.mjs +5 -3
- package/dist/module.mjs.map +1 -1
- package/dist/nb-NO.cjs +1 -0
- package/dist/nb-NO.cjs.map +1 -1
- package/dist/nb-NO.mjs +1 -0
- package/dist/nb-NO.mjs.map +1 -1
- package/dist/nl-NL.cjs +1 -0
- package/dist/nl-NL.cjs.map +1 -1
- package/dist/nl-NL.mjs +1 -0
- package/dist/nl-NL.mjs.map +1 -1
- package/dist/pl-PL.cjs +1 -0
- package/dist/pl-PL.cjs.map +1 -1
- package/dist/pl-PL.mjs +1 -0
- package/dist/pl-PL.mjs.map +1 -1
- package/dist/pt-BR.cjs +1 -0
- package/dist/pt-BR.cjs.map +1 -1
- package/dist/pt-BR.mjs +1 -0
- package/dist/pt-BR.mjs.map +1 -1
- package/dist/pt-PT.cjs +1 -0
- package/dist/pt-PT.cjs.map +1 -1
- package/dist/pt-PT.mjs +1 -0
- package/dist/pt-PT.mjs.map +1 -1
- package/dist/ro-RO.cjs +1 -0
- package/dist/ro-RO.cjs.map +1 -1
- package/dist/ro-RO.mjs +1 -0
- package/dist/ro-RO.mjs.map +1 -1
- package/dist/ru-RU.cjs +1 -0
- package/dist/ru-RU.cjs.map +1 -1
- package/dist/ru-RU.mjs +1 -0
- package/dist/ru-RU.mjs.map +1 -1
- package/dist/sk-SK.cjs +1 -0
- package/dist/sk-SK.cjs.map +1 -1
- package/dist/sk-SK.mjs +1 -0
- package/dist/sk-SK.mjs.map +1 -1
- package/dist/sl-SI.cjs +1 -0
- package/dist/sl-SI.cjs.map +1 -1
- package/dist/sl-SI.mjs +1 -0
- package/dist/sl-SI.mjs.map +1 -1
- package/dist/sr-SP.cjs +1 -0
- package/dist/sr-SP.cjs.map +1 -1
- package/dist/sr-SP.mjs +1 -0
- package/dist/sr-SP.mjs.map +1 -1
- package/dist/sv-SE.cjs +1 -0
- package/dist/sv-SE.cjs.map +1 -1
- package/dist/sv-SE.mjs +1 -0
- package/dist/sv-SE.mjs.map +1 -1
- package/dist/tr-TR.cjs +1 -0
- package/dist/tr-TR.cjs.map +1 -1
- package/dist/tr-TR.mjs +1 -0
- package/dist/tr-TR.mjs.map +1 -1
- package/dist/types.d.ts +143 -76
- package/dist/types.d.ts.map +1 -1
- package/dist/uk-UA.cjs +1 -0
- package/dist/uk-UA.cjs.map +1 -1
- package/dist/uk-UA.mjs +1 -0
- package/dist/uk-UA.mjs.map +1 -1
- package/dist/zh-CN.cjs +1 -0
- package/dist/zh-CN.cjs.map +1 -1
- package/dist/zh-CN.mjs +1 -0
- package/dist/zh-CN.mjs.map +1 -1
- package/dist/zh-TW.cjs +1 -0
- package/dist/zh-TW.cjs.map +1 -1
- package/dist/zh-TW.mjs +1 -0
- package/dist/zh-TW.mjs.map +1 -1
- package/icons/Icon.cjs +12 -12
- package/icons/Icon.css +9 -9
- package/icons/Icon.mjs +12 -12
- package/icons/Skeleton.cjs +2 -2
- package/icons/Skeleton.cjs.map +1 -1
- package/icons/Skeleton.css +6 -6
- package/icons/Skeleton.mjs +2 -2
- package/icons/Skeleton.mjs.map +1 -1
- package/icons/runtime.cjs +16 -3
- package/icons/runtime.cjs.map +1 -1
- package/icons/runtime.mjs +16 -3
- package/icons/runtime.mjs.map +1 -1
- package/package.json +21 -21
- package/src/Accordion.tsx +1 -1
- package/src/ActionBar.tsx +2 -2
- package/src/ActionButton.tsx +1 -1
- package/src/Breadcrumbs.tsx +2 -2
- package/src/Button.tsx +2 -2
- package/src/Calendar.tsx +1 -1
- package/src/Card.tsx +1 -1
- package/src/CardView.tsx +1 -1
- package/src/Checkbox.tsx +2 -1
- package/src/CheckboxGroup.tsx +1 -1
- package/src/CoachMark.tsx +1 -1
- package/src/ColorArea.tsx +1 -1
- package/src/ColorField.tsx +1 -1
- package/src/ColorSlider.tsx +1 -1
- package/src/ColorSwatch.tsx +1 -1
- package/src/ColorWheel.tsx +2 -2
- package/src/ComboBox.tsx +4 -3
- package/src/ContextualHelp.tsx +81 -43
- package/src/CustomDialog.tsx +1 -1
- package/src/DateField.tsx +1 -1
- package/src/DatePicker.tsx +1 -1
- package/src/DateRangePicker.tsx +1 -1
- package/src/Dialog.tsx +1 -1
- package/src/Disclosure.tsx +2 -2
- package/src/Divider.tsx +1 -1
- package/src/DropZone.tsx +1 -1
- package/src/Field.tsx +6 -6
- package/src/Form.tsx +1 -1
- package/src/FullscreenDialog.tsx +1 -1
- package/src/Link.tsx +1 -1
- package/src/ListView.tsx +782 -0
- package/src/Menu.tsx +111 -29
- package/src/Meter.tsx +1 -1
- package/src/Modal.tsx +1 -1
- package/src/NumberField.tsx +1 -1
- package/src/Picker.tsx +75 -14
- package/src/Popover.tsx +2 -1
- package/src/ProgressBar.tsx +1 -1
- package/src/ProgressCircle.tsx +1 -1
- package/src/Radio.tsx +1 -1
- package/src/RadioGroup.tsx +1 -1
- package/src/RangeCalendar.tsx +1 -1
- package/src/SearchField.tsx +1 -1
- package/src/SelectBoxGroup.tsx +1 -1
- package/src/Slider.tsx +1 -1
- package/src/Switch.tsx +1 -1
- package/src/TableView.tsx +37 -19
- package/src/Tabs.tsx +4 -4
- package/src/TabsPicker.tsx +2 -2
- package/src/TagGroup.tsx +2 -2
- package/src/TextField.tsx +1 -1
- package/src/TimeField.tsx +1 -1
- package/src/Toast.tsx +3 -3
- package/src/ToggleButton.tsx +1 -1
- package/src/ToggleButtonGroup.tsx +1 -1
- package/src/Tooltip.tsx +1 -1
- package/src/TreeView.tsx +53 -12
- package/src/index.ts +6 -3
- package/style/__tests__/mergeStyles.test.ts +68 -0
- package/style/__tests__/style-macro.test.js +50 -30
- package/style/dist/style-macro.cjs +65 -14
- package/style/dist/style-macro.cjs.map +1 -1
- package/style/dist/style-macro.mjs +65 -14
- package/style/dist/style-macro.mjs.map +1 -1
- package/style/runtime.ts +21 -5
- package/style/style-macro.ts +81 -16
- package/style/__tests__/mergeStyles.test.js +0 -32
package/dist/TreeView.cjs
CHANGED
|
@@ -8,6 +8,7 @@ var $bde97c91243ed164$exports = require("../icons/Icon.cjs");
|
|
|
8
8
|
var $4526404114e78c80$exports = require("./intlStrings.cjs");
|
|
9
9
|
var $1c116ea4b0d2d023$exports = require("./ProgressCircle.cjs");
|
|
10
10
|
var $6367bc87eb7d24ad$exports = require("./Content.cjs");
|
|
11
|
+
var $85bf454149fe9ddc$exports = require("./ActionBar.cjs");
|
|
11
12
|
var $ee7b4c497f520c08$exports = require("./utils.cjs");
|
|
12
13
|
var $6K4Mt$reactjsxruntime = require("react/jsx-runtime");
|
|
13
14
|
var $6K4Mt$reactariacomponents = require("react-aria-components");
|
|
@@ -53,41 +54,52 @@ $parcel$export(module.exports, "TreeViewLoadMoreItem", () => $8a2a97a0cb171e69$e
|
|
|
53
54
|
|
|
54
55
|
|
|
55
56
|
|
|
57
|
+
|
|
56
58
|
const $8a2a97a0cb171e69$var$TreeRendererContext = /*#__PURE__*/ (0, $6K4Mt$react.createContext)({});
|
|
57
|
-
|
|
58
|
-
// keyboard focus ring. Perhaps find a different way of rendering the outlines since the top of the item doesn't
|
|
59
|
-
// scroll into view due to how the ring is offset. Alternatively, have the tree render the top/bottom outline like it does in Listview
|
|
60
|
-
const $8a2a97a0cb171e69$var$tree = function anonymous(props, overrides) {
|
|
59
|
+
const $8a2a97a0cb171e69$var$treeViewWrapper = function anonymous(props, overrides) {
|
|
61
60
|
let rules = " ";
|
|
62
61
|
let minHeight = false;
|
|
63
62
|
let minWidth = false;
|
|
64
|
-
let
|
|
65
|
-
let
|
|
66
|
-
let matches = (overrides || '').matchAll(/(?:^|\s)(J|G|I|H|_u|_v|_s|__A|_d|_J|z|y|B|A|_P|_9|W|_l|_A|_z|_6|Z|N|L|F|M|K)[^\s]+/g);
|
|
63
|
+
let position = false;
|
|
64
|
+
let matches = String(overrides || '').matchAll(/(?:^|\s)(J|G|I|H|_u|_v|_s|__A|_d|_J|z|y|B|A|_P|_9|W|_l|_A|_z|_6|Z|N|L|F|M|K)[^\s]+/g);
|
|
67
65
|
for (let p of matches){
|
|
68
66
|
if (p[1] === "M") minHeight = true;
|
|
69
67
|
if (p[1] === "N") minWidth = true;
|
|
70
|
-
if (p[1] === "
|
|
71
|
-
if (p[1] === "F") height = true;
|
|
68
|
+
if (p[1] === "_P") position = true;
|
|
72
69
|
rules += p[0];
|
|
73
70
|
}
|
|
74
|
-
if (
|
|
75
|
-
|
|
76
|
-
rules += '
|
|
77
|
-
rules += '
|
|
78
|
-
rules += '
|
|
79
|
-
rules += '
|
|
80
|
-
rules += '
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
if (props.
|
|
90
|
-
rules += '
|
|
71
|
+
if (!minHeight) rules += ' Ma12';
|
|
72
|
+
if (!minWidth) rules += ' Na12';
|
|
73
|
+
rules += ' sd12';
|
|
74
|
+
rules += ' _Bb12';
|
|
75
|
+
rules += ' __ca12';
|
|
76
|
+
if (!position) rules += ' _Pc12';
|
|
77
|
+
rules += ' _Nb12';
|
|
78
|
+
rules += ' Pb12';
|
|
79
|
+
return rules;
|
|
80
|
+
};
|
|
81
|
+
// TODO: the below is needed so the borders of the top and bottom row isn't cut off if the TreeView is wrapped within a container by always reserving the 2px needed for the
|
|
82
|
+
// keyboard focus ring. Perhaps find a different way of rendering the outlines since the top of the item doesn't
|
|
83
|
+
// scroll into view due to how the ring is offset. Alternatively, have the tree render the top/bottom outline like it does in Listview
|
|
84
|
+
const $8a2a97a0cb171e69$var$tree = function anonymous(props) {
|
|
85
|
+
let rules = " ";
|
|
86
|
+
if (props.isFocusVisible) rules += ' _Lf12';
|
|
87
|
+
else rules += ' _Le12';
|
|
88
|
+
rules += ' Oh12';
|
|
89
|
+
rules += ' Olc12';
|
|
90
|
+
rules += ' _Mc12';
|
|
91
|
+
rules += ' _Kb12';
|
|
92
|
+
rules += ' _4c12';
|
|
93
|
+
rules += ' Ma12';
|
|
94
|
+
rules += ' Na12';
|
|
95
|
+
rules += ' Za12';
|
|
96
|
+
rules += ' Fb12';
|
|
97
|
+
rules += ' _Na12';
|
|
98
|
+
rules += ' Pa12';
|
|
99
|
+
rules += ' _oa12';
|
|
100
|
+
if (props.isEmpty) rules += ' _Ca12';
|
|
101
|
+
if (props.isEmpty) rules += ' eb12';
|
|
102
|
+
rules += ' -lPUMEc-Zu12';
|
|
91
103
|
return rules;
|
|
92
104
|
};
|
|
93
105
|
const $8a2a97a0cb171e69$export$6940b0d9c820eca7 = /*#__PURE__*/ (0, $6K4Mt$react.forwardRef)(function TreeView(props, ref) {
|
|
@@ -96,7 +108,12 @@ const $8a2a97a0cb171e69$export$6940b0d9c820eca7 = /*#__PURE__*/ (0, $6K4Mt$react
|
|
|
96
108
|
let renderer;
|
|
97
109
|
if (typeof children === 'function') renderer = children;
|
|
98
110
|
let domRef = (0, $6K4Mt$reactspectrumutils.useDOMRef)(ref);
|
|
99
|
-
|
|
111
|
+
let scrollRef = (0, $6K4Mt$react.useRef)(null);
|
|
112
|
+
let { selectedKeys: selectedKeys, onSelectionChange: onSelectionChange, actionBar: actionBar, actionBarHeight: actionBarHeight } = (0, $85bf454149fe9ddc$exports.useActionBarContainer)({
|
|
113
|
+
...props,
|
|
114
|
+
scrollRef: scrollRef
|
|
115
|
+
});
|
|
116
|
+
let treeContent = /*#__PURE__*/ (0, $6K4Mt$reactjsxruntime.jsx)((0, $6K4Mt$reactariacomponents.Virtualizer), {
|
|
100
117
|
layout: (0, $6K4Mt$reactariacomponents.ListLayout),
|
|
101
118
|
layoutOptions: {
|
|
102
119
|
rowHeight: scale === 'large' ? 50 : 40
|
|
@@ -107,16 +124,33 @@ const $8a2a97a0cb171e69$export$6940b0d9c820eca7 = /*#__PURE__*/ (0, $6K4Mt$react
|
|
|
107
124
|
},
|
|
108
125
|
children: /*#__PURE__*/ (0, $6K4Mt$reactjsxruntime.jsx)((0, $6K4Mt$reactariacomponents.Tree), {
|
|
109
126
|
...props,
|
|
110
|
-
style:
|
|
111
|
-
|
|
127
|
+
style: {
|
|
128
|
+
...!props.renderActionBar ? UNSAFE_style : {},
|
|
129
|
+
paddingBottom: actionBarHeight > 0 ? actionBarHeight + 8 : 0,
|
|
130
|
+
scrollPaddingBottom: actionBarHeight > 0 ? actionBarHeight + 8 : 0
|
|
131
|
+
},
|
|
132
|
+
className: (renderProps)=>(!props.renderActionBar ? UNSAFE_className ?? '' : '') + $8a2a97a0cb171e69$var$tree({
|
|
112
133
|
...renderProps
|
|
113
|
-
}
|
|
134
|
+
}),
|
|
114
135
|
selectionBehavior: "toggle",
|
|
115
|
-
|
|
136
|
+
selectedKeys: selectedKeys,
|
|
137
|
+
defaultSelectedKeys: undefined,
|
|
138
|
+
onSelectionChange: onSelectionChange,
|
|
139
|
+
ref: props.renderActionBar ? scrollRef : domRef,
|
|
116
140
|
children: props.children
|
|
117
141
|
})
|
|
118
142
|
})
|
|
119
143
|
});
|
|
144
|
+
if (props.renderActionBar) return /*#__PURE__*/ (0, $6K4Mt$reactjsxruntime.jsxs)("div", {
|
|
145
|
+
ref: domRef,
|
|
146
|
+
className: (UNSAFE_className ?? '') + $8a2a97a0cb171e69$var$treeViewWrapper(null, props.styles),
|
|
147
|
+
style: UNSAFE_style,
|
|
148
|
+
children: [
|
|
149
|
+
treeContent,
|
|
150
|
+
actionBar
|
|
151
|
+
]
|
|
152
|
+
});
|
|
153
|
+
return treeContent;
|
|
120
154
|
});
|
|
121
155
|
const $8a2a97a0cb171e69$var$rowBackgroundColor = {
|
|
122
156
|
default: '--s2-container-bg',
|
|
@@ -135,84 +169,96 @@ const $8a2a97a0cb171e69$var$rowBackgroundColor = {
|
|
|
135
169
|
};
|
|
136
170
|
const $8a2a97a0cb171e69$var$treeRow = function anonymous(props) {
|
|
137
171
|
let rules = " ";
|
|
138
|
-
rules += '
|
|
139
|
-
rules += '
|
|
140
|
-
rules += '
|
|
141
|
-
rules += '
|
|
142
|
-
rules += '
|
|
143
|
-
rules += '
|
|
144
|
-
rules += '
|
|
145
|
-
rules += '
|
|
146
|
-
rules += '
|
|
147
|
-
rules += '
|
|
148
|
-
rules += '
|
|
149
|
-
rules += '
|
|
150
|
-
rules += '
|
|
151
|
-
rules += '
|
|
152
|
-
rules += ' -_6BNtrc-
|
|
153
|
-
rules += '
|
|
154
|
-
rules += '
|
|
155
|
-
rules += '
|
|
156
|
-
rules += '
|
|
157
|
-
rules += '
|
|
172
|
+
rules += ' _Pc12';
|
|
173
|
+
rules += ' sd12';
|
|
174
|
+
rules += ' Fv12';
|
|
175
|
+
rules += ' Za12';
|
|
176
|
+
rules += ' _oa12';
|
|
177
|
+
rules += ' uk12';
|
|
178
|
+
rules += ' ucJ9TBTb12';
|
|
179
|
+
rules += ' ud3Euai12';
|
|
180
|
+
rules += ' uea12';
|
|
181
|
+
rules += ' ugb12';
|
|
182
|
+
rules += ' uhd12';
|
|
183
|
+
rules += ' uje12';
|
|
184
|
+
rules += ' u2NhKxcl12';
|
|
185
|
+
rules += ' uic12';
|
|
186
|
+
rules += ' -_6BNtrc-c12';
|
|
187
|
+
rules += ' vx12';
|
|
188
|
+
rules += ' xb12';
|
|
189
|
+
rules += ' _xa12';
|
|
190
|
+
rules += ' _Fd12';
|
|
191
|
+
rules += ' _FnuYUweb12';
|
|
158
192
|
if (props.isSelected) {
|
|
159
|
-
if (props.isPressed) rules += '
|
|
160
|
-
else if (props.isFocusVisible) rules += '
|
|
161
|
-
else if (props.isHovered) rules += '
|
|
162
|
-
else rules += '
|
|
193
|
+
if (props.isPressed) rules += ' po12';
|
|
194
|
+
else if (props.isFocusVisible) rules += ' po12';
|
|
195
|
+
else if (props.isHovered) rules += ' po12';
|
|
196
|
+
else rules += ' pt12';
|
|
163
197
|
} else {
|
|
164
|
-
if (props.isPressed) rules += '
|
|
165
|
-
else if (props.isFocusVisible) rules += '
|
|
166
|
-
else if (props.isHovered) rules += '
|
|
167
|
-
else rules += '
|
|
198
|
+
if (props.isPressed) rules += ' pt12';
|
|
199
|
+
else if (props.isFocusVisible) rules += ' pt12';
|
|
200
|
+
else if (props.isHovered) rules += ' pt12';
|
|
201
|
+
else rules += ' pv12';
|
|
168
202
|
}
|
|
169
|
-
rules += '
|
|
170
|
-
rules += '
|
|
171
|
-
if (props.isLink) rules += '
|
|
172
|
-
else rules += '
|
|
203
|
+
rules += ' plb12';
|
|
204
|
+
rules += ' _Le12';
|
|
205
|
+
if (props.isLink) rules += ' ry12';
|
|
206
|
+
else rules += ' ri12';
|
|
173
207
|
if (props.isSelected) {
|
|
174
|
-
if (props.isPressed) rules += ' -qH4xad-
|
|
175
|
-
else if (props.isHovered) rules += ' -qH4xad-
|
|
176
|
-
else if (props.isFocusVisibleWithin) rules += ' -qH4xad-
|
|
177
|
-
else rules += ' -qH4xad-
|
|
178
|
-
} else if (props.isPressed) rules += ' -qH4xad-
|
|
179
|
-
else if (props.isHovered) rules += ' -qH4xad-
|
|
180
|
-
else if (props.isFocusVisibleWithin) rules += ' -qH4xad-
|
|
181
|
-
else rules += ' -qH4xad-
|
|
182
|
-
rules += ' -qH4xad-
|
|
183
|
-
rules += ' -_34HbNb-
|
|
184
|
-
rules += ' -_34HbNb-
|
|
208
|
+
if (props.isPressed) rules += ' -qH4xad-gRfT7e12';
|
|
209
|
+
else if (props.isHovered) rules += ' -qH4xad-gRfT7e12';
|
|
210
|
+
else if (props.isFocusVisibleWithin) rules += ' -qH4xad-gRfT7e12';
|
|
211
|
+
else rules += ' -qH4xad-gj1B7i12';
|
|
212
|
+
} else if (props.isPressed) rules += ' -qH4xad-gRfT7e12';
|
|
213
|
+
else if (props.isHovered) rules += ' -qH4xad-gj1B7i12';
|
|
214
|
+
else if (props.isFocusVisibleWithin) rules += ' -qH4xad-gj1B7i12';
|
|
215
|
+
else rules += ' -qH4xad-gEzkoQe12';
|
|
216
|
+
rules += ' -qH4xad-lga12';
|
|
217
|
+
rules += ' -_34HbNb-Oh12';
|
|
218
|
+
rules += ' -_34HbNb-lOc12';
|
|
185
219
|
return rules;
|
|
186
220
|
};
|
|
187
221
|
const $8a2a97a0cb171e69$var$treeCellGrid = function anonymous(props) {
|
|
188
222
|
let rules = " ";
|
|
189
|
-
rules += '
|
|
190
|
-
rules += '
|
|
191
|
-
rules += '
|
|
192
|
-
rules += '
|
|
193
|
-
rules += '
|
|
194
|
-
rules += '
|
|
195
|
-
rules += '
|
|
196
|
-
rules += '
|
|
197
|
-
rules += '
|
|
198
|
-
rules += '
|
|
199
|
-
rules += '
|
|
223
|
+
rules += ' se12';
|
|
224
|
+
rules += ' Za12';
|
|
225
|
+
rules += ' Fb12';
|
|
226
|
+
rules += ' _oa12';
|
|
227
|
+
rules += ' _cb12';
|
|
228
|
+
rules += ' eb12';
|
|
229
|
+
rules += ' Dw9uTxc12';
|
|
230
|
+
rules += ' EM8Mfn12';
|
|
231
|
+
rules += ' CgjMZ2c12';
|
|
232
|
+
rules += ' gs9yXOb12';
|
|
233
|
+
rules += ' Rp12';
|
|
200
234
|
if (props.isDisabled) {
|
|
201
|
-
rules += '
|
|
202
|
-
rules += '
|
|
235
|
+
rules += ' pp12';
|
|
236
|
+
rules += ' plc12';
|
|
203
237
|
}
|
|
204
|
-
if (props.isFocusVisible) rules += ' -_7xg3bb-
|
|
205
|
-
else rules += ' -_7xg3bb-
|
|
206
|
-
rules += ' -_7xg3bb-
|
|
207
|
-
rules += ' -pKMv1c-
|
|
208
|
-
rules += ' -pKMv1c-
|
|
238
|
+
if (props.isFocusVisible) rules += ' -_7xg3bb-Oh12';
|
|
239
|
+
else rules += ' -_7xg3bb-O8Izf8c12';
|
|
240
|
+
rules += ' -_7xg3bb-lOc12';
|
|
241
|
+
rules += ' -pKMv1c-Oh12';
|
|
242
|
+
rules += ' -pKMv1c-lOc12';
|
|
243
|
+
return rules;
|
|
244
|
+
};
|
|
245
|
+
const $8a2a97a0cb171e69$var$treeCheckbox = function anonymous(props) {
|
|
246
|
+
let rules = " ";
|
|
247
|
+
rules += ' zoRzcu12';
|
|
248
|
+
rules += ' yoRzcu12';
|
|
249
|
+
rules += ' BoRzcu12';
|
|
250
|
+
rules += ' AoRzcu12';
|
|
251
|
+
rules += ' Ix12';
|
|
252
|
+
rules += ' Hy12';
|
|
253
|
+
rules += ' Rd12';
|
|
254
|
+
if (props.isDisabled) rules += ' _6b12';
|
|
255
|
+
else rules += ' _6c12';
|
|
209
256
|
return rules;
|
|
210
257
|
};
|
|
211
|
-
const $8a2a97a0cb171e69$var$
|
|
212
|
-
const $8a2a97a0cb171e69$var$
|
|
213
|
-
const $8a2a97a0cb171e69$var$
|
|
214
|
-
const $8a2a97a0cb171e69$var$
|
|
215
|
-
const $8a2a97a0cb171e69$var$treeActionMenu = " z6Nrfjc1 y6Nrfjc1 B6Nrfjc1 A6Nrfjc1";
|
|
258
|
+
const $8a2a97a0cb171e69$var$treeIcon = " z2U5Crc12 y2U5Crc12 B2U5Crc12 A2U5Crc12 Ht12 Hsu12 -_8sjo0b-t5ZbAob12";
|
|
259
|
+
const $8a2a97a0cb171e69$var$treeContent = " zk52g2d12 yk52g2d12 Bk52g2d12 Ak52g2d12 _Yb12 _7c12 _Nc12 Pc12";
|
|
260
|
+
const $8a2a97a0cb171e69$var$treeActions = " zkG38H12 ykG38H12 BkG38H12 AkG38H12 Ir12 Hs12";
|
|
261
|
+
const $8a2a97a0cb171e69$var$treeActionMenu = " z6Nrfjc12 y6Nrfjc12 B6Nrfjc12 A6Nrfjc12";
|
|
216
262
|
const $8a2a97a0cb171e69$var$treeRowFocusIndicator = "tDhuzb";
|
|
217
263
|
const $8a2a97a0cb171e69$export$6e77ea6719814e9c = (props)=>{
|
|
218
264
|
let { href: href } = props;
|
|
@@ -245,13 +291,15 @@ const $8a2a97a0cb171e69$export$9a5779ed3fade674 = (props)=>{
|
|
|
245
291
|
children: [
|
|
246
292
|
selectionMode !== 'none' && selectionBehavior === 'toggle' && // TODO: add transition?
|
|
247
293
|
/*#__PURE__*/ (0, $6K4Mt$reactjsxruntime.jsx)("div", {
|
|
248
|
-
className: $8a2a97a0cb171e69$var$treeCheckbox
|
|
294
|
+
className: $8a2a97a0cb171e69$var$treeCheckbox({
|
|
295
|
+
isDisabled: isDisabled || !state.selectionManager.canSelectItem(id) || state.disabledKeys.has(id)
|
|
296
|
+
}),
|
|
249
297
|
children: /*#__PURE__*/ (0, $6K4Mt$reactjsxruntime.jsx)((0, $af04e099a53d3e85$exports.Checkbox), {
|
|
250
298
|
slot: "selection"
|
|
251
299
|
})
|
|
252
300
|
}),
|
|
253
301
|
/*#__PURE__*/ (0, $6K4Mt$reactjsxruntime.jsx)("div", {
|
|
254
|
-
className: "
|
|
302
|
+
className: " z7fSmKc12 y7fSmKc12 B7fSmKc12 A7fSmKc12 ZecPNad12"
|
|
255
303
|
}),
|
|
256
304
|
/*#__PURE__*/ (0, $6K4Mt$reactjsxruntime.jsx)($8a2a97a0cb171e69$var$ExpandableRowChevron, {
|
|
257
305
|
isDisabled: isDisabled,
|
|
@@ -274,20 +322,22 @@ const $8a2a97a0cb171e69$export$9a5779ed3fade674 = (props)=>{
|
|
|
274
322
|
slot: 'icon',
|
|
275
323
|
styles: $8a2a97a0cb171e69$var$treeIcon
|
|
276
324
|
}),
|
|
277
|
-
styles: "
|
|
325
|
+
styles: " ZuUmpre12 FuUmpre12 _va12"
|
|
278
326
|
}
|
|
279
327
|
],
|
|
280
328
|
[
|
|
281
329
|
(0, $7a26131f6144af2b$exports.ActionButtonGroupContext),
|
|
282
330
|
{
|
|
283
|
-
styles: $8a2a97a0cb171e69$var$treeActions
|
|
331
|
+
styles: $8a2a97a0cb171e69$var$treeActions,
|
|
332
|
+
isDisabled: isDisabled
|
|
284
333
|
}
|
|
285
334
|
],
|
|
286
335
|
[
|
|
287
336
|
(0, $e5a758dd286599f2$exports.ActionMenuContext),
|
|
288
337
|
{
|
|
289
338
|
styles: $8a2a97a0cb171e69$var$treeActionMenu,
|
|
290
|
-
isQuiet: true
|
|
339
|
+
isQuiet: true,
|
|
340
|
+
isDisabled: isDisabled
|
|
291
341
|
}
|
|
292
342
|
]
|
|
293
343
|
],
|
|
@@ -300,7 +350,7 @@ const $8a2a97a0cb171e69$export$9a5779ed3fade674 = (props)=>{
|
|
|
300
350
|
}
|
|
301
351
|
});
|
|
302
352
|
};
|
|
303
|
-
const $8a2a97a0cb171e69$var$centeredWrapper = "
|
|
353
|
+
const $8a2a97a0cb171e69$var$centeredWrapper = " sd12 eb12 _Ca12 Za12 Fb12";
|
|
304
354
|
const $8a2a97a0cb171e69$export$6ceebe2a029205c = (props)=>{
|
|
305
355
|
let { loadingState: loadingState, onLoadMore: onLoadMore } = props;
|
|
306
356
|
let stringFormatter = (0, $6K4Mt$reactaria.useLocalizedStringFormatter)((0, ($parcel$interopDefault($4526404114e78c80$exports))), '@react-spectrum/s2');
|
|
@@ -308,7 +358,7 @@ const $8a2a97a0cb171e69$export$6ceebe2a029205c = (props)=>{
|
|
|
308
358
|
return /*#__PURE__*/ (0, $6K4Mt$reactjsxruntime.jsx)((0, $6K4Mt$reactariacomponents.TreeLoadMoreItem), {
|
|
309
359
|
isLoading: isLoading,
|
|
310
360
|
onLoadMore: onLoadMore,
|
|
311
|
-
className: "
|
|
361
|
+
className: " Za12 Js12 Gs12",
|
|
312
362
|
children: ()=>{
|
|
313
363
|
return /*#__PURE__*/ (0, $6K4Mt$reactjsxruntime.jsx)("div", {
|
|
314
364
|
className: $8a2a97a0cb171e69$var$centeredWrapper,
|
|
@@ -322,37 +372,37 @@ const $8a2a97a0cb171e69$export$6ceebe2a029205c = (props)=>{
|
|
|
322
372
|
};
|
|
323
373
|
const $8a2a97a0cb171e69$var$expandButton = function anonymous(props) {
|
|
324
374
|
let rules = " ";
|
|
325
|
-
rules += '
|
|
326
|
-
rules += '
|
|
327
|
-
rules += '
|
|
328
|
-
rules += '
|
|
375
|
+
rules += ' z8dW5Qb12';
|
|
376
|
+
rules += ' y8dW5Qb12';
|
|
377
|
+
rules += ' B8dW5Qb12';
|
|
378
|
+
rules += ' A8dW5Qb12';
|
|
329
379
|
if (props.isDisabled) {
|
|
330
|
-
rules += '
|
|
331
|
-
rules += '
|
|
332
|
-
} else rules += '
|
|
333
|
-
rules += '
|
|
334
|
-
rules += '
|
|
335
|
-
rules += '
|
|
336
|
-
rules += '
|
|
337
|
-
rules += '
|
|
338
|
-
rules += '
|
|
339
|
-
rules += '
|
|
340
|
-
rules += '
|
|
380
|
+
rules += ' pp12';
|
|
381
|
+
rules += ' plc12';
|
|
382
|
+
} else rules += ' p40ub4c12';
|
|
383
|
+
rules += ' Fv12';
|
|
384
|
+
rules += ' Zw12';
|
|
385
|
+
rules += ' sd12';
|
|
386
|
+
rules += ' _wb12';
|
|
387
|
+
rules += ' _cb12';
|
|
388
|
+
rules += ' _Ca12';
|
|
389
|
+
rules += ' _Le12';
|
|
390
|
+
rules += ' ri12';
|
|
341
391
|
if (props.isExpanded) {
|
|
342
|
-
if (props.isRTL) rules += '
|
|
343
|
-
else rules += '
|
|
392
|
+
if (props.isRTL) rules += ' _Za12';
|
|
393
|
+
else rules += ' _Zb12';
|
|
344
394
|
}
|
|
345
|
-
rules += '
|
|
346
|
-
rules += '
|
|
347
|
-
rules += '
|
|
348
|
-
rules += '
|
|
349
|
-
rules += '
|
|
350
|
-
rules += '
|
|
351
|
-
rules += '
|
|
352
|
-
rules += '
|
|
353
|
-
rules += '
|
|
354
|
-
rules += '
|
|
355
|
-
if (props.isHidden) rules += '
|
|
395
|
+
rules += ' Td12';
|
|
396
|
+
rules += ' Qd12';
|
|
397
|
+
rules += ' Sd12';
|
|
398
|
+
rules += ' Rd12';
|
|
399
|
+
rules += ' Yd12';
|
|
400
|
+
rules += ' Xb12';
|
|
401
|
+
rules += ' _2b12';
|
|
402
|
+
rules += ' g912';
|
|
403
|
+
rules += ' _je12';
|
|
404
|
+
rules += ' __ca12';
|
|
405
|
+
if (props.isHidden) rules += ' _6b12';
|
|
356
406
|
return rules;
|
|
357
407
|
};
|
|
358
408
|
function $8a2a97a0cb171e69$var$ExpandableRowChevron(props1) {
|
|
@@ -378,20 +428,20 @@ function $8a2a97a0cb171e69$var$ExpandableRowChevron(props1) {
|
|
|
378
428
|
className: function anonymous(props) {
|
|
379
429
|
let rules = " ";
|
|
380
430
|
if (props.direction === "rtl") {
|
|
381
|
-
rules += ' -Z4Pn4c-
|
|
382
|
-
rules += '
|
|
431
|
+
rules += ' -Z4Pn4c-a12';
|
|
432
|
+
rules += ' __Ha12';
|
|
383
433
|
} else if (props.direction === "ltr") {
|
|
384
|
-
rules += ' -Z4Pn4c-
|
|
385
|
-
rules += '
|
|
434
|
+
rules += ' -Z4Pn4c-b12';
|
|
435
|
+
rules += ' __Ha12';
|
|
386
436
|
}
|
|
387
437
|
if (props.direction === "rtl") {
|
|
388
|
-
rules += ' -_04Pn4c-
|
|
389
|
-
rules += '
|
|
438
|
+
rules += ' -_04Pn4c-a12';
|
|
439
|
+
rules += ' __Ha12';
|
|
390
440
|
} else if (props.direction === "ltr") {
|
|
391
|
-
rules += ' -_04Pn4c-
|
|
392
|
-
rules += '
|
|
441
|
+
rules += ' -_04Pn4c-b12';
|
|
442
|
+
rules += ' __Ha12';
|
|
393
443
|
}
|
|
394
|
-
rules += ' -_8sjo0b-
|
|
444
|
+
rules += ' -_8sjo0b-t5ZbAob12';
|
|
395
445
|
return rules;
|
|
396
446
|
}({
|
|
397
447
|
direction: direction
|
package/dist/TreeView.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":"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","sources":["packages/@react-spectrum/s2/src/TreeView.tsx"],"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 */\n\nimport {ActionButtonGroupContext} from './ActionButtonGroup';\nimport {ActionMenuContext} from './ActionMenu';\nimport {baseColor, colorMix, focusRing, fontRelative, style} from '../style' with {type: 'macro'};\nimport {\n Button,\n ButtonContext,\n ListLayout,\n Provider,\n TreeItemProps as RACTreeItemProps,\n TreeProps as RACTreeProps,\n Tree,\n TreeItem,\n TreeItemContent,\n TreeItemContentProps,\n TreeLoadMoreItem,\n TreeLoadMoreItemProps,\n useContextProps,\n Virtualizer\n} from 'react-aria-components';\nimport {centerBaseline} from './CenterBaseline';\nimport {Checkbox} from './Checkbox';\nimport Chevron from '../ui-icons/Chevron';\nimport {DOMRef, forwardRefType, GlobalDOMAttributes, Key, LoadingState} from '@react-types/shared';\nimport {getAllowedOverrides, StylesPropWithHeight, UnsafeStyles} from './style-utils' with {type: 'macro'};\nimport {IconContext} from './Icon';\n// @ts-ignore\nimport intlMessages from '../intl/*.json';\nimport {ProgressCircle} from './ProgressCircle';\nimport {raw} from '../style/style-macro' with {type: 'macro'};\nimport React, {createContext, forwardRef, JSXElementConstructor, ReactElement, ReactNode, useRef} from 'react';\nimport {Text, TextContext} from './Content';\nimport {useDOMRef} from '@react-spectrum/utils';\nimport {useLocale, useLocalizedStringFormatter} from 'react-aria';\nimport {useScale} from './utils';\n\ninterface S2TreeProps {\n /** Handler that is called when a user performs an action on a row. */\n onAction?: (key: Key) => void\n}\n\nexport interface TreeViewProps<T> extends Omit<RACTreeProps<T>, 'style' | 'className' | 'onRowAction' | 'selectionBehavior' | 'onScroll' | 'onCellAction' | 'dragAndDropHooks' | keyof GlobalDOMAttributes>, UnsafeStyles, S2TreeProps {\n /** Spectrum-defined styles, returned by the `style()` macro. */\n styles?: StylesPropWithHeight\n}\n\nexport interface TreeViewItemProps extends Omit<RACTreeItemProps, 'className' | 'style' | 'onClick' | keyof GlobalDOMAttributes> {\n /** Whether this item has children, even if not loaded yet. */\n hasChildItems?: boolean\n}\n\nexport interface TreeViewLoadMoreItemProps extends Pick<TreeLoadMoreItemProps, 'onLoadMore'> {\n /** The current loading state of the TreeView or TreeView row. */\n loadingState?: LoadingState\n}\n\ninterface TreeRendererContextValue {\n renderer?: (item) => ReactElement<any, string | JSXElementConstructor<any>>\n}\nconst TreeRendererContext = createContext<TreeRendererContextValue>({});\n\n\n// TODO: the below is needed so the borders of the top and bottom row isn't cut off if the TreeView is wrapped within a container by always reserving the 2px needed for the\n// keyboard focus ring. Perhaps find a different way of rendering the outlines since the top of the item doesn't\n// scroll into view due to how the ring is offset. Alternatively, have the tree render the top/bottom outline like it does in Listview\nconst tree = style({\n ...focusRing(),\n outlineOffset: -2, // make certain we are visible inside overflow hidden containers\n userSelect: 'none',\n minHeight: 0,\n minWidth: 0,\n width: 'full',\n height: 'full',\n overflow: 'auto',\n boxSizing: 'border-box',\n justifyContent: {\n isEmpty: 'center'\n },\n alignItems: {\n isEmpty: 'center'\n },\n '--indent': {\n type: 'width',\n value: 16\n }\n}, getAllowedOverrides({height: true}));\n\n/**\n * A tree view provides users with a way to navigate nested hierarchical information.\n */\nexport const TreeView = /*#__PURE__*/ (forwardRef as forwardRefType)(function TreeView<T extends object>(props: TreeViewProps<T>, ref: DOMRef<HTMLDivElement>) {\n let {children, UNSAFE_className, UNSAFE_style} = props;\n let scale = useScale();\n\n let renderer;\n if (typeof children === 'function') {\n renderer = children;\n }\n\n let domRef = useDOMRef(ref);\n\n return (\n <Virtualizer\n layout={ListLayout}\n layoutOptions={{\n rowHeight: scale === 'large' ? 50 : 40\n }}>\n <TreeRendererContext.Provider value={{renderer}}>\n <Tree\n {...props}\n style={UNSAFE_style}\n className={renderProps => (UNSAFE_className ?? '') + tree({...renderProps}, props.styles)}\n selectionBehavior=\"toggle\"\n ref={domRef}>\n {props.children}\n </Tree>\n </TreeRendererContext.Provider>\n </Virtualizer>\n );\n});\n\nconst rowBackgroundColor = {\n default: '--s2-container-bg',\n isFocusVisibleWithin: colorMix('gray-25', 'gray-900', 7),\n isHovered: colorMix('gray-25', 'gray-900', 7),\n isPressed: colorMix('gray-25', 'gray-900', 10),\n isSelected: {\n default: colorMix('gray-25', 'gray-900', 7),\n isFocusVisibleWithin: colorMix('gray-25', 'gray-900', 10),\n isHovered: colorMix('gray-25', 'gray-900', 10),\n isPressed: colorMix('gray-25', 'gray-900', 10)\n },\n forcedColors: {\n default: 'Background'\n }\n} as const;\n\nconst treeRow = style({\n position: 'relative',\n display: 'flex',\n height: 40,\n width: 'full',\n boxSizing: 'border-box',\n font: 'ui',\n color: {\n default: baseColor('neutral-subdued'),\n isSelected: baseColor('neutral'),\n forcedColors: 'ButtonText'\n },\n outlineStyle: 'none',\n cursor: {\n default: 'default',\n isLink: 'pointer'\n },\n '--rowBackgroundColor': {\n type: 'backgroundColor',\n value: rowBackgroundColor\n },\n '--rowFocusIndicatorColor': {\n type: 'outlineColor',\n value: {\n default: 'focus-ring',\n forcedColors: 'Highlight'\n }\n }\n});\n\nconst treeCellGrid = style({\n display: 'grid',\n width: 'full',\n height: 'full',\n boxSizing: 'border-box',\n alignContent: 'center',\n alignItems: 'center',\n gridTemplateColumns: ['auto', 'auto', 'auto', 'auto', 'auto', '1fr', 'minmax(0, auto)', 'auto'],\n gridTemplateRows: '1fr',\n gridTemplateAreas: [\n 'drag-handle checkbox level-padding expand-button icon content actions actionmenu'\n ],\n backgroundColor: '--rowBackgroundColor',\n paddingEnd: 4, // account for any focus rings on the last item in the cell\n color: {\n isDisabled: {\n default: 'gray-400',\n forcedColors: 'GrayText'\n }\n },\n '--rowSelectedBorderColor': {\n type: 'outlineColor',\n value: {\n default: 'gray-800',\n isFocusVisible: 'focus-ring',\n forcedColors: 'Highlight'\n }\n },\n '--rowForcedFocusBorderColor': {\n type: 'outlineColor',\n value: {\n default: 'focus-ring',\n forcedColors: 'Highlight'\n }\n }\n});\n\nconst treeCheckbox = style({\n gridArea: 'checkbox',\n marginStart: 12,\n marginEnd: 0,\n paddingEnd: 0\n});\n\nconst treeIcon = style({\n gridArea: 'icon',\n marginEnd: 'text-to-visual',\n '--iconPrimary': {\n type: 'fill',\n value: 'currentColor'\n }\n});\n\nconst treeContent = style({\n gridArea: 'content',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n overflow: 'hidden'\n});\n\nconst treeActions = style({\n gridArea: 'actions',\n /* TODO: I made this one up, confirm desired behavior. These paddings are to make sure the action group has enough padding for the focus ring */\n marginStart: 2,\n marginEnd: 4\n});\n\nconst treeActionMenu = style({\n gridArea: 'actionmenu'\n});\n\nconst treeRowFocusIndicator = raw(`\n &:before {\n content: \"\";\n display: inline-block;\n position: sticky;\n inset-inline-start: 0;\n width: 3px;\n height: 100%;\n margin-inline-end: -3px;\n margin-block-end: 1px;\n z-index: 3;\n background-color: var(--rowFocusIndicatorColor);\n }`\n);\n\nexport const TreeViewItem = (props: TreeViewItemProps): ReactNode => {\n let {\n href\n } = props;\n\n return (\n <TreeItem\n {...props}\n className={(renderProps) => treeRow({\n ...renderProps,\n isLink: !!href\n }) + (renderProps.isFocusVisible ? ' ' + treeRowFocusIndicator : '')} />\n );\n};\n\nexport interface TreeViewItemContentProps extends Omit<TreeItemContentProps, 'children'> {\n /** Rendered contents of the tree item or child items. */\n children: ReactNode\n}\n\nexport const TreeViewItemContent = (props: TreeViewItemContentProps): ReactNode => {\n let {\n children\n } = props;\n let scale = useScale();\n\n return (\n <TreeItemContent>\n {({isExpanded, hasChildItems, selectionMode, selectionBehavior, isDisabled, isSelected, id, state}) => {\n let isNextSelected = false;\n let isNextFocused = false;\n let keyAfter = state.collection.getKeyAfter(id);\n if (keyAfter != null) {\n isNextSelected = state.selectionManager.isSelected(keyAfter);\n }\n let isFirst = state.collection.getFirstKey() === id;\n return (\n <div className={treeCellGrid({isDisabled, isNextSelected, isSelected, isFirst, isNextFocused})}>\n {selectionMode !== 'none' && selectionBehavior === 'toggle' && (\n // TODO: add transition?\n <div className={treeCheckbox}>\n <Checkbox slot=\"selection\" />\n </div>\n )}\n <div\n className={style({\n gridArea: 'level-padding',\n width: 'calc(calc(var(--tree-item-level, 0) - 1) * var(--indent))'\n })} />\n <ExpandableRowChevron isDisabled={isDisabled} isExpanded={isExpanded} scale={scale} isHidden={!(hasChildItems)} />\n <Provider\n values={[\n [TextContext, {styles: treeContent}],\n [IconContext, {\n render: centerBaseline({slot: 'icon', styles: treeIcon}),\n styles: style({size: fontRelative(20), flexShrink: 0})\n }],\n [ActionButtonGroupContext, {styles: treeActions}],\n [ActionMenuContext, {styles: treeActionMenu, isQuiet: true}]\n ]}>\n {typeof children === 'string' ? <Text>{children}</Text> : children}\n </Provider>\n </div>\n );\n }}\n </TreeItemContent>\n );\n};\n\nconst centeredWrapper = style({\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n width: 'full',\n height: 'full'\n});\n\nexport const TreeViewLoadMoreItem = (props: TreeViewLoadMoreItemProps): ReactNode => {\n let {loadingState, onLoadMore} = props;\n let stringFormatter = useLocalizedStringFormatter(intlMessages, '@react-spectrum/s2');\n let isLoading = loadingState === 'loading' || loadingState === 'loadingMore';\n return (\n <TreeLoadMoreItem isLoading={isLoading} onLoadMore={onLoadMore} className={style({width: 'full', marginY: 4})}>\n {() => {\n return (\n <div className={centeredWrapper}>\n <ProgressCircle\n isIndeterminate\n aria-label={stringFormatter.format('table.loadingMore')} />\n </div>\n );\n }}\n </TreeLoadMoreItem>\n );\n};\n\ninterface ExpandableRowChevronProps {\n isExpanded?: boolean,\n isDisabled?: boolean,\n isRTL?: boolean,\n scale: 'medium' | 'large',\n isHidden?: boolean\n}\n\nconst expandButton = style<ExpandableRowChevronProps>({\n gridArea: 'expand-button',\n color: {\n default: 'inherit',\n isDisabled: {\n default: 'disabled',\n forcedColors: 'GrayText'\n }\n },\n height: 40,\n width: 40,\n display: 'flex',\n flexWrap: 'wrap',\n alignContent: 'center',\n justifyContent: 'center',\n outlineStyle: 'none',\n cursor: 'default',\n transform: {\n isExpanded: {\n default: 'rotate(90deg)',\n isRTL: 'rotate(-90deg)'\n }\n },\n padding: 0,\n transition: 'default',\n backgroundColor: 'transparent',\n borderStyle: 'none',\n disableTapHighlight: true,\n visibility: {\n isHidden: 'hidden'\n }\n});\n\nfunction ExpandableRowChevron(props: ExpandableRowChevronProps) {\n let expandButtonRef = useRef<HTMLButtonElement>(null);\n let [fullProps, ref] = useContextProps({...props, slot: 'chevron'}, expandButtonRef, ButtonContext);\n let {isExpanded, scale, isHidden} = fullProps;\n let {direction} = useLocale();\n\n return (\n <Button\n {...props}\n ref={ref}\n slot=\"chevron\"\n className={renderProps => expandButton({...renderProps, isExpanded, isRTL: direction === 'rtl', scale, isHidden})}>\n <Chevron\n className={style({\n scale: {\n direction: {\n ltr: '1',\n rtl: '-1'\n }\n },\n '--iconPrimary': {\n type: 'fill',\n value: 'currentColor'\n }\n })({direction})} />\n </Button>\n );\n}\n"],"names":[],"version":3,"file":"TreeView.cjs.map"}
|
|
1
|
+
{"mappings":"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","sources":["packages/@react-spectrum/s2/src/TreeView.tsx"],"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 */\n\nimport {ActionButtonGroupContext} from './ActionButtonGroup';\nimport {ActionMenuContext} from './ActionMenu';\nimport {baseColor, colorMix, focusRing, fontRelative, style} from '../style' with {type: 'macro'};\nimport {\n Button,\n ButtonContext,\n ListLayout,\n Provider,\n TreeItemProps as RACTreeItemProps,\n TreeProps as RACTreeProps,\n Tree,\n TreeItem,\n TreeItemContent,\n TreeItemContentProps,\n TreeLoadMoreItem,\n TreeLoadMoreItemProps,\n useContextProps,\n Virtualizer\n} from 'react-aria-components';\nimport {centerBaseline} from './CenterBaseline';\nimport {Checkbox} from './Checkbox';\nimport Chevron from '../ui-icons/Chevron';\nimport {DOMRef, forwardRefType, GlobalDOMAttributes, Key, LoadingState} from '@react-types/shared';\nimport {getAllowedOverrides, StylesPropWithHeight, UnsafeStyles} from './style-utils' with {type: 'macro'};\nimport {IconContext} from './Icon';\n// @ts-ignore\nimport intlMessages from '../intl/*.json';\nimport {ProgressCircle} from './ProgressCircle';\nimport {raw} from '../style/style-macro' with {type: 'macro'};\nimport React, {createContext, forwardRef, JSXElementConstructor, ReactElement, ReactNode, useRef} from 'react';\nimport {Text, TextContext} from './Content';\nimport {useActionBarContainer} from './ActionBar';\nimport {useDOMRef} from '@react-spectrum/utils';\nimport {useLocale, useLocalizedStringFormatter} from 'react-aria';\nimport {useScale} from './utils';\n\ninterface S2TreeProps {\n /** Handler that is called when a user performs an action on a row. */\n onAction?: (key: Key) => void,\n /** Provides the ActionBar to display when items are selected in the TreeView. */\n renderActionBar?: (selectedKeys: 'all' | Set<Key>) => ReactElement\n}\n\nexport interface TreeViewProps<T> extends Omit<RACTreeProps<T>, 'style' | 'className' | 'render' | 'onRowAction' | 'selectionBehavior' | 'onScroll' | 'onCellAction' | 'dragAndDropHooks' | keyof GlobalDOMAttributes>, UnsafeStyles, S2TreeProps {\n /** Spectrum-defined styles, returned by the `style()` macro. */\n styles?: StylesPropWithHeight\n}\n\nexport interface TreeViewItemProps extends Omit<RACTreeItemProps, 'className' | 'style' | 'render' | 'onClick' | keyof GlobalDOMAttributes> {\n /** Whether this item has children, even if not loaded yet. */\n hasChildItems?: boolean\n}\n\nexport interface TreeViewLoadMoreItemProps extends Pick<TreeLoadMoreItemProps, 'onLoadMore'> {\n /** The current loading state of the TreeView or TreeView row. */\n loadingState?: LoadingState\n}\n\ninterface TreeRendererContextValue {\n renderer?: (item) => ReactElement<any, string | JSXElementConstructor<any>>\n}\nconst TreeRendererContext = createContext<TreeRendererContextValue>({});\n\n\nconst treeViewWrapper = style({\n minHeight: 0,\n minWidth: 0,\n display: 'flex',\n isolation: 'isolate',\n disableTapHighlight: true,\n position: 'relative',\n overflow: 'clip'\n}, getAllowedOverrides({height: true}));\n\n// TODO: the below is needed so the borders of the top and bottom row isn't cut off if the TreeView is wrapped within a container by always reserving the 2px needed for the\n// keyboard focus ring. Perhaps find a different way of rendering the outlines since the top of the item doesn't\n// scroll into view due to how the ring is offset. Alternatively, have the tree render the top/bottom outline like it does in Listview\nconst tree = style({\n ...focusRing(),\n outlineOffset: -2, // make certain we are visible inside overflow hidden containers\n userSelect: 'none',\n minHeight: 0,\n minWidth: 0,\n width: 'full',\n height: 'full',\n overflow: 'auto',\n boxSizing: 'border-box',\n justifyContent: {\n isEmpty: 'center'\n },\n alignItems: {\n isEmpty: 'center'\n },\n '--indent': {\n type: 'width',\n value: 16\n }\n});\n\n/**\n * A tree view provides users with a way to navigate nested hierarchical information.\n */\nexport const TreeView = /*#__PURE__*/ (forwardRef as forwardRefType)(function TreeView<T extends object>(props: TreeViewProps<T>, ref: DOMRef<HTMLDivElement>) {\n let {children, UNSAFE_className, UNSAFE_style} = props;\n let scale = useScale();\n\n let renderer;\n if (typeof children === 'function') {\n renderer = children;\n }\n\n let domRef = useDOMRef(ref);\n let scrollRef = useRef<HTMLElement | null>(null);\n\n let {selectedKeys, onSelectionChange, actionBar, actionBarHeight} = useActionBarContainer({...props, scrollRef});\n\n let treeContent = (\n <Virtualizer\n layout={ListLayout}\n layoutOptions={{\n rowHeight: scale === 'large' ? 50 : 40\n }}>\n <TreeRendererContext.Provider value={{renderer}}>\n <Tree\n {...props}\n style={{\n ...(!props.renderActionBar ? UNSAFE_style : {}),\n paddingBottom: actionBarHeight > 0 ? actionBarHeight + 8 : 0,\n scrollPaddingBottom: actionBarHeight > 0 ? actionBarHeight + 8 : 0\n }}\n className={renderProps => (!props.renderActionBar ? (UNSAFE_className ?? '') : '') + tree({...renderProps})}\n selectionBehavior=\"toggle\"\n selectedKeys={selectedKeys}\n defaultSelectedKeys={undefined}\n onSelectionChange={onSelectionChange}\n ref={props.renderActionBar ? (scrollRef as any) : domRef}>\n {props.children}\n </Tree>\n </TreeRendererContext.Provider>\n </Virtualizer>\n );\n\n if (props.renderActionBar) {\n return (\n <div\n ref={domRef}\n className={(UNSAFE_className ?? '') + treeViewWrapper(null, props.styles)}\n style={UNSAFE_style}>\n {treeContent}\n {actionBar}\n </div>\n );\n }\n\n return treeContent;\n});\n\nconst rowBackgroundColor = {\n default: '--s2-container-bg',\n isFocusVisibleWithin: colorMix('gray-25', 'gray-900', 7),\n isHovered: colorMix('gray-25', 'gray-900', 7),\n isPressed: colorMix('gray-25', 'gray-900', 10),\n isSelected: {\n default: colorMix('gray-25', 'gray-900', 7),\n isFocusVisibleWithin: colorMix('gray-25', 'gray-900', 10),\n isHovered: colorMix('gray-25', 'gray-900', 10),\n isPressed: colorMix('gray-25', 'gray-900', 10)\n },\n forcedColors: {\n default: 'Background'\n }\n} as const;\n\nconst treeRow = style({\n position: 'relative',\n display: 'flex',\n height: 40,\n width: 'full',\n boxSizing: 'border-box',\n font: 'ui',\n color: {\n default: baseColor('neutral-subdued'),\n isSelected: baseColor('neutral'),\n forcedColors: 'ButtonText'\n },\n outlineStyle: 'none',\n cursor: {\n default: 'default',\n isLink: 'pointer'\n },\n '--rowBackgroundColor': {\n type: 'backgroundColor',\n value: rowBackgroundColor\n },\n '--rowFocusIndicatorColor': {\n type: 'outlineColor',\n value: {\n default: 'focus-ring',\n forcedColors: 'Highlight'\n }\n }\n});\n\nconst treeCellGrid = style({\n display: 'grid',\n width: 'full',\n height: 'full',\n boxSizing: 'border-box',\n alignContent: 'center',\n alignItems: 'center',\n gridTemplateColumns: ['auto', 'auto', 'auto', 'auto', 'auto', '1fr', 'minmax(0, auto)', 'auto'],\n gridTemplateRows: '1fr',\n gridTemplateAreas: [\n 'drag-handle checkbox level-padding expand-button icon content actions actionmenu'\n ],\n backgroundColor: '--rowBackgroundColor',\n paddingEnd: 4, // account for any focus rings on the last item in the cell\n color: {\n isDisabled: {\n default: 'gray-400',\n forcedColors: 'GrayText'\n }\n },\n '--rowSelectedBorderColor': {\n type: 'outlineColor',\n value: {\n default: 'gray-800',\n isFocusVisible: 'focus-ring',\n forcedColors: 'Highlight'\n }\n },\n '--rowForcedFocusBorderColor': {\n type: 'outlineColor',\n value: {\n default: 'focus-ring',\n forcedColors: 'Highlight'\n }\n }\n});\n\nconst treeCheckbox = style({\n gridArea: 'checkbox',\n marginStart: 12,\n marginEnd: 0,\n paddingEnd: 0,\n visibility: {\n default: 'visible',\n isDisabled: 'hidden'\n }\n});\n\nconst treeIcon = style({\n gridArea: 'icon',\n marginEnd: 'text-to-visual',\n '--iconPrimary': {\n type: 'fill',\n value: 'currentColor'\n }\n});\n\nconst treeContent = style({\n gridArea: 'content',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n overflow: 'hidden'\n});\n\nconst treeActions = style({\n gridArea: 'actions',\n /* TODO: I made this one up, confirm desired behavior. These paddings are to make sure the action group has enough padding for the focus ring */\n marginStart: 2,\n marginEnd: 4\n});\n\nconst treeActionMenu = style({\n gridArea: 'actionmenu'\n});\n\nconst treeRowFocusIndicator = raw(`\n &:before {\n content: \"\";\n display: inline-block;\n position: sticky;\n inset-inline-start: 0;\n width: 3px;\n height: 100%;\n margin-inline-end: -3px;\n margin-block-end: 1px;\n z-index: 3;\n background-color: var(--rowFocusIndicatorColor);\n }`\n);\n\nexport const TreeViewItem = (props: TreeViewItemProps): ReactNode => {\n let {\n href\n } = props;\n\n return (\n <TreeItem\n {...props}\n className={(renderProps) => treeRow({\n ...renderProps,\n isLink: !!href\n }) + (renderProps.isFocusVisible ? ' ' + treeRowFocusIndicator : '')} />\n );\n};\n\nexport interface TreeViewItemContentProps extends Omit<TreeItemContentProps, 'children'> {\n /** Rendered contents of the tree item or child items. */\n children: ReactNode\n}\n\nexport const TreeViewItemContent = (props: TreeViewItemContentProps): ReactNode => {\n let {\n children\n } = props;\n let scale = useScale();\n\n return (\n <TreeItemContent>\n {({isExpanded, hasChildItems, selectionMode, selectionBehavior, isDisabled, isSelected, id, state}) => {\n let isNextSelected = false;\n let isNextFocused = false;\n let keyAfter = state.collection.getKeyAfter(id);\n if (keyAfter != null) {\n isNextSelected = state.selectionManager.isSelected(keyAfter);\n }\n let isFirst = state.collection.getFirstKey() === id;\n return (\n <div className={treeCellGrid({isDisabled, isNextSelected, isSelected, isFirst, isNextFocused})}>\n {selectionMode !== 'none' && selectionBehavior === 'toggle' && (\n // TODO: add transition?\n <div className={treeCheckbox({isDisabled: isDisabled || !state.selectionManager.canSelectItem(id) || state.disabledKeys.has(id)})}>\n <Checkbox slot=\"selection\" />\n </div>\n )}\n <div\n className={style({\n gridArea: 'level-padding',\n width: 'calc(calc(var(--tree-item-level, 0) - 1) * var(--indent))'\n })} />\n <ExpandableRowChevron isDisabled={isDisabled} isExpanded={isExpanded} scale={scale} isHidden={!(hasChildItems)} />\n <Provider\n values={[\n [TextContext, {styles: treeContent}],\n [IconContext, {\n render: centerBaseline({slot: 'icon', styles: treeIcon}),\n styles: style({size: fontRelative(20), flexShrink: 0})\n }],\n [ActionButtonGroupContext, {styles: treeActions, isDisabled}],\n [ActionMenuContext, {styles: treeActionMenu, isQuiet: true, isDisabled}]\n ]}>\n {typeof children === 'string' ? <Text>{children}</Text> : children}\n </Provider>\n </div>\n );\n }}\n </TreeItemContent>\n );\n};\n\nconst centeredWrapper = style({\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n width: 'full',\n height: 'full'\n});\n\nexport const TreeViewLoadMoreItem = (props: TreeViewLoadMoreItemProps): ReactNode => {\n let {loadingState, onLoadMore} = props;\n let stringFormatter = useLocalizedStringFormatter(intlMessages, '@react-spectrum/s2');\n let isLoading = loadingState === 'loading' || loadingState === 'loadingMore';\n return (\n <TreeLoadMoreItem isLoading={isLoading} onLoadMore={onLoadMore} className={style({width: 'full', marginY: 4})}>\n {() => {\n return (\n <div className={centeredWrapper}>\n <ProgressCircle\n isIndeterminate\n aria-label={stringFormatter.format('table.loadingMore')} />\n </div>\n );\n }}\n </TreeLoadMoreItem>\n );\n};\n\ninterface ExpandableRowChevronProps {\n isExpanded?: boolean,\n isDisabled?: boolean,\n isRTL?: boolean,\n scale: 'medium' | 'large',\n isHidden?: boolean\n}\n\nconst expandButton = style<ExpandableRowChevronProps>({\n gridArea: 'expand-button',\n color: {\n default: 'inherit',\n isDisabled: {\n default: 'disabled',\n forcedColors: 'GrayText'\n }\n },\n height: 40,\n width: 40,\n display: 'flex',\n flexWrap: 'wrap',\n alignContent: 'center',\n justifyContent: 'center',\n outlineStyle: 'none',\n cursor: 'default',\n transform: {\n isExpanded: {\n default: 'rotate(90deg)',\n isRTL: 'rotate(-90deg)'\n }\n },\n padding: 0,\n transition: 'default',\n backgroundColor: 'transparent',\n borderStyle: 'none',\n disableTapHighlight: true,\n visibility: {\n isHidden: 'hidden'\n }\n});\n\nfunction ExpandableRowChevron(props: ExpandableRowChevronProps) {\n let expandButtonRef = useRef<HTMLButtonElement>(null);\n let [fullProps, ref] = useContextProps({...props, slot: 'chevron'}, expandButtonRef, ButtonContext);\n let {isExpanded, scale, isHidden} = fullProps;\n let {direction} = useLocale();\n\n return (\n <Button\n {...props}\n ref={ref}\n slot=\"chevron\"\n className={renderProps => expandButton({...renderProps, isExpanded, isRTL: direction === 'rtl', scale, isHidden})}>\n <Chevron\n className={style({\n scale: {\n direction: {\n ltr: '1',\n rtl: '-1'\n }\n },\n '--iconPrimary': {\n type: 'fill',\n value: 'currentColor'\n }\n })({direction})} />\n </Button>\n );\n}\n"],"names":[],"version":3,"file":"TreeView.cjs.map"}
|