@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/Calendar.cjs
CHANGED
|
@@ -52,205 +52,205 @@ const $e9e9a0d15c3364d7$export$3b805cea1f178355 = /*#__PURE__*/ (0, $425Kz$react
|
|
|
52
52
|
const $e9e9a0d15c3364d7$var$calendarStyles = function anonymous(props, overrides) {
|
|
53
53
|
let rules = " ";
|
|
54
54
|
let width = false;
|
|
55
|
-
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)[^\s]+/g);
|
|
55
|
+
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)[^\s]+/g);
|
|
56
56
|
for (let p of matches){
|
|
57
57
|
if (p[1] === "Z") width = true;
|
|
58
58
|
rules += p[0];
|
|
59
59
|
}
|
|
60
|
-
rules += '
|
|
61
|
-
rules += '
|
|
62
|
-
rules += '
|
|
63
|
-
rules += '
|
|
64
|
-
if (!width) rules += '
|
|
65
|
-
rules += '
|
|
60
|
+
rules += ' sd12';
|
|
61
|
+
rules += ' _ta12';
|
|
62
|
+
rules += ' Uj12';
|
|
63
|
+
rules += ' qj12';
|
|
64
|
+
if (!width) rules += ' ZJ12';
|
|
65
|
+
rules += ' __ca12';
|
|
66
66
|
return rules;
|
|
67
67
|
};
|
|
68
|
-
const $e9e9a0d15c3364d7$var$headerStyles = "
|
|
69
|
-
const $e9e9a0d15c3364d7$var$headingStyles = "
|
|
70
|
-
const $e9e9a0d15c3364d7$var$titleStyles = "
|
|
71
|
-
const $e9e9a0d15c3364d7$var$headerCellStyles = "
|
|
68
|
+
const $e9e9a0d15c3364d7$var$headerStyles = " sd12 eb12 _Ce12 Za12";
|
|
69
|
+
const $e9e9a0d15c3364d7$var$headingStyles = " sd12 eb12 _Ce12 Jy12 Gy12 Iy12 Hy12 Za12";
|
|
70
|
+
const $e9e9a0d15c3364d7$var$titleStyles = " uk12 ucJ9TBTb12 ud3Euai12 uea12 ugb12 uhd12 uje12 u2NhKxcl12 uic12 -_6BNtrc-e12 vx12 xd12 _xa12 xX0cczbc12 _xX0cczba12 xfd12 _xfa12 xfX0cczbc12 _xfX0cczba12 _Fd12 _FnuYUweb12 po12 _Wa12 _ub12 _va12 _sa12 Na12";
|
|
71
|
+
const $e9e9a0d15c3364d7$var$headerCellStyles = " uk12 ucJ9TBTb12 ud3Euai12 uea12 ugb12 uhd12 uje12 u2NhKxcl12 uic12 -_6BNtrc-c12 vx12 xd12 _xa12 xX0cczbc12 _xX0cczba12 xfd12 _xfa12 xfX0cczbc12 _xfX0cczba12 _Fd12 _FnuYUweb12 po12 ri12 _Wa12 Sp12 Sbd12 Rp12 Rkd12 Qe12";
|
|
72
72
|
const $e9e9a0d15c3364d7$var$cellStyles = function anonymous(props) {
|
|
73
73
|
let rules = " ";
|
|
74
|
-
rules += '
|
|
75
|
-
rules += ' -uq4sQ-
|
|
76
|
-
if (props.isFirstChild) rules += '
|
|
77
|
-
else rules += '
|
|
78
|
-
if (props.isLastChild) rules += '
|
|
79
|
-
else rules += '
|
|
80
|
-
if (props.isFirstWeek) rules += '
|
|
81
|
-
else rules += '
|
|
82
|
-
rules += '
|
|
83
|
-
rules += '
|
|
84
|
-
rules += '
|
|
85
|
-
rules += '
|
|
86
|
-
if (props.isOutsideMonth) rules += '
|
|
87
|
-
else rules += '
|
|
88
|
-
rules += '
|
|
89
|
-
rules += '
|
|
90
|
-
rules += '
|
|
74
|
+
rules += ' _Le12';
|
|
75
|
+
rules += ' -uq4sQ-Sp12';
|
|
76
|
+
if (props.isFirstChild) rules += ' Sd12';
|
|
77
|
+
else rules += ' Sp12';
|
|
78
|
+
if (props.isLastChild) rules += ' Rd12';
|
|
79
|
+
else rules += ' Rp12';
|
|
80
|
+
if (props.isFirstWeek) rules += ' Td12';
|
|
81
|
+
else rules += ' Tj12';
|
|
82
|
+
rules += ' Qj12';
|
|
83
|
+
rules += ' _Pc12';
|
|
84
|
+
rules += ' ZC12';
|
|
85
|
+
rules += ' Fx12';
|
|
86
|
+
if (props.isOutsideMonth) rules += ' sk12';
|
|
87
|
+
else rules += ' sd12';
|
|
88
|
+
rules += ' eb12';
|
|
89
|
+
rules += ' _Ca12';
|
|
90
|
+
rules += ' __ca12';
|
|
91
91
|
return rules;
|
|
92
92
|
};
|
|
93
93
|
const $e9e9a0d15c3364d7$var$cellInnerStyles = function anonymous(props) {
|
|
94
94
|
let rules = " ";
|
|
95
|
-
if (props.isFocusVisible) rules += '
|
|
96
|
-
else rules += '
|
|
97
|
-
rules += '
|
|
98
|
-
rules += '
|
|
99
|
-
rules += '
|
|
100
|
-
if (props.isSelectionEnd) rules += '
|
|
101
|
-
else if (props.isSelectionStart) rules += '
|
|
95
|
+
if (props.isFocusVisible) rules += ' _Lf12';
|
|
96
|
+
else rules += ' _Le12';
|
|
97
|
+
rules += ' Oh12';
|
|
98
|
+
rules += ' Olc12';
|
|
99
|
+
rules += ' _Mc12';
|
|
100
|
+
if (props.isSelectionEnd) rules += ' _Kd12';
|
|
101
|
+
else if (props.isSelectionStart) rules += ' _Kd12';
|
|
102
102
|
else if (props.isSelected) {
|
|
103
|
-
if (props.selectionMode === "range") rules += '
|
|
104
|
-
else if (props.selectionMode === "single") rules += '
|
|
105
|
-
} else if (props.isToday) rules += '
|
|
106
|
-
else rules += '
|
|
107
|
-
rules += '
|
|
108
|
-
rules += '
|
|
109
|
-
rules += '
|
|
110
|
-
rules += '
|
|
111
|
-
rules += '
|
|
112
|
-
rules += '
|
|
113
|
-
rules += '
|
|
114
|
-
rules += '
|
|
115
|
-
rules += '
|
|
116
|
-
rules += '
|
|
117
|
-
rules += '
|
|
118
|
-
rules += '
|
|
119
|
-
rules += '
|
|
120
|
-
rules += '
|
|
121
|
-
rules += '
|
|
122
|
-
rules += '
|
|
123
|
-
rules += ' -_6BNtrc-
|
|
124
|
-
rules += '
|
|
125
|
-
rules += '
|
|
126
|
-
rules += '
|
|
127
|
-
rules += '
|
|
128
|
-
rules += '
|
|
129
|
-
if (props.isDisabled) rules += '
|
|
130
|
-
else if (props.isSelectionEnd) rules += '
|
|
131
|
-
else if (props.isSelectionStart) rules += '
|
|
103
|
+
if (props.selectionMode === "range") rules += ' _Kb12';
|
|
104
|
+
else if (props.selectionMode === "single") rules += ' _Kd12';
|
|
105
|
+
} else if (props.isToday) rules += ' _Kd12';
|
|
106
|
+
else rules += ' _Kb12';
|
|
107
|
+
rules += ' Yd12';
|
|
108
|
+
rules += ' Yle12';
|
|
109
|
+
rules += ' Xb12';
|
|
110
|
+
rules += ' Xlb12';
|
|
111
|
+
rules += ' _2b12';
|
|
112
|
+
rules += ' _2lb12';
|
|
113
|
+
rules += ' _Pc12';
|
|
114
|
+
rules += ' uk12';
|
|
115
|
+
rules += ' ucJ9TBTb12';
|
|
116
|
+
rules += ' ud3Euai12';
|
|
117
|
+
rules += ' uea12';
|
|
118
|
+
rules += ' ugb12';
|
|
119
|
+
rules += ' uhd12';
|
|
120
|
+
rules += ' uje12';
|
|
121
|
+
rules += ' u2NhKxcl12';
|
|
122
|
+
rules += ' uic12';
|
|
123
|
+
rules += ' -_6BNtrc-c12';
|
|
124
|
+
rules += ' vx12';
|
|
125
|
+
rules += ' xb12';
|
|
126
|
+
rules += ' _xa12';
|
|
127
|
+
rules += ' _Fb12';
|
|
128
|
+
rules += ' _FnuYUwec12';
|
|
129
|
+
if (props.isDisabled) rules += ' pp12';
|
|
130
|
+
else if (props.isSelectionEnd) rules += ' px12';
|
|
131
|
+
else if (props.isSelectionStart) rules += ' px12';
|
|
132
132
|
else if (props.isSelected) {
|
|
133
|
-
if (props.selectionMode === "range") rules += '
|
|
134
|
-
else rules += '
|
|
135
|
-
} else rules += '
|
|
136
|
-
if (props.isDisabled) rules += '
|
|
137
|
-
else if (props.isSelectionEnd) rules += '
|
|
138
|
-
else if (props.isSelectionStart) rules += '
|
|
139
|
-
else if (props.isSelected) rules += '
|
|
140
|
-
else if (props.isToday) rules += '
|
|
141
|
-
else rules += '
|
|
142
|
-
rules += '
|
|
143
|
-
rules += '
|
|
144
|
-
rules += '
|
|
145
|
-
rules += '
|
|
146
|
-
rules += '
|
|
147
|
-
rules += '
|
|
148
|
-
rules += '
|
|
149
|
-
rules += '
|
|
150
|
-
rules += '
|
|
151
|
-
rules += '
|
|
152
|
-
rules += '
|
|
133
|
+
if (props.selectionMode === "range") rules += ' pt12';
|
|
134
|
+
else rules += ' px12';
|
|
135
|
+
} else rules += ' pt12';
|
|
136
|
+
if (props.isDisabled) rules += ' plc12';
|
|
137
|
+
else if (props.isSelectionEnd) rules += ' ple12';
|
|
138
|
+
else if (props.isSelectionStart) rules += ' ple12';
|
|
139
|
+
else if (props.isSelected) rules += ' ple12';
|
|
140
|
+
else if (props.isToday) rules += ' pla12';
|
|
141
|
+
else rules += ' plb12';
|
|
142
|
+
rules += ' ri12';
|
|
143
|
+
rules += ' Za12';
|
|
144
|
+
rules += ' Fx12';
|
|
145
|
+
rules += ' og12';
|
|
146
|
+
rules += ' ng12';
|
|
147
|
+
rules += ' kg12';
|
|
148
|
+
rules += ' jg12';
|
|
149
|
+
rules += ' sd12';
|
|
150
|
+
rules += ' eb12';
|
|
151
|
+
rules += ' _Ca12';
|
|
152
|
+
rules += ' _yb12';
|
|
153
153
|
if (props.isSelectionEnd) {
|
|
154
154
|
if (props.isInvalid) {
|
|
155
155
|
if (props.isFocusVisible) {
|
|
156
|
-
if (props.isUnavailable) rules += '
|
|
157
|
-
else rules += '
|
|
158
|
-
} else if (props.isPressed) rules += '
|
|
156
|
+
if (props.isUnavailable) rules += ' g7aei812';
|
|
157
|
+
else rules += ' gYvV9s12';
|
|
158
|
+
} else if (props.isPressed) rules += ' gYvV9s12';
|
|
159
159
|
else if (props.isHovered) {
|
|
160
|
-
if (props.isUnavailable) rules += '
|
|
161
|
-
else rules += '
|
|
162
|
-
} else rules += '
|
|
163
|
-
} else if (props.isDisabled) rules += '
|
|
164
|
-
else if (props.isFocusVisible) rules += '
|
|
165
|
-
else if (props.isPressed) rules += '
|
|
166
|
-
else if (props.isHovered) rules += '
|
|
167
|
-
else rules += '
|
|
160
|
+
if (props.isUnavailable) rules += ' g7aei812';
|
|
161
|
+
else rules += ' gYvV9s12';
|
|
162
|
+
} else rules += ' g7aei812';
|
|
163
|
+
} else if (props.isDisabled) rules += ' g912';
|
|
164
|
+
else if (props.isFocusVisible) rules += ' gUgARdd12';
|
|
165
|
+
else if (props.isPressed) rules += ' gUgARdd12';
|
|
166
|
+
else if (props.isHovered) rules += ' gUgARdd12';
|
|
167
|
+
else rules += ' g5qAiPc12';
|
|
168
168
|
} else if (props.isSelectionStart) {
|
|
169
169
|
if (props.isInvalid) {
|
|
170
170
|
if (props.isFocusVisible) {
|
|
171
|
-
if (props.isUnavailable) rules += '
|
|
172
|
-
else rules += '
|
|
173
|
-
} else if (props.isPressed) rules += '
|
|
171
|
+
if (props.isUnavailable) rules += ' g7aei812';
|
|
172
|
+
else rules += ' gYvV9s12';
|
|
173
|
+
} else if (props.isPressed) rules += ' gYvV9s12';
|
|
174
174
|
else if (props.isHovered) {
|
|
175
|
-
if (props.isUnavailable) rules += '
|
|
176
|
-
else rules += '
|
|
177
|
-
} else rules += '
|
|
178
|
-
} else if (props.isDisabled) rules += '
|
|
179
|
-
else if (props.isFocusVisible) rules += '
|
|
180
|
-
else if (props.isPressed) rules += '
|
|
181
|
-
else if (props.isHovered) rules += '
|
|
182
|
-
else rules += '
|
|
175
|
+
if (props.isUnavailable) rules += ' g7aei812';
|
|
176
|
+
else rules += ' gYvV9s12';
|
|
177
|
+
} else rules += ' g7aei812';
|
|
178
|
+
} else if (props.isDisabled) rules += ' g912';
|
|
179
|
+
else if (props.isFocusVisible) rules += ' gUgARdd12';
|
|
180
|
+
else if (props.isPressed) rules += ' gUgARdd12';
|
|
181
|
+
else if (props.isHovered) rules += ' gUgARdd12';
|
|
182
|
+
else rules += ' g5qAiPc12';
|
|
183
183
|
} else if (props.isSelected) {
|
|
184
184
|
if (props.selectionMode === "range") {
|
|
185
185
|
if (props.isHovered) {
|
|
186
186
|
if (props.isInvalid) {
|
|
187
|
-
if (props.isUnavailable) rules += '
|
|
188
|
-
else rules += '
|
|
189
|
-
} else rules += '
|
|
187
|
+
if (props.isUnavailable) rules += ' g912';
|
|
188
|
+
else rules += ' gJj9Tpd12';
|
|
189
|
+
} else rules += ' gNAacne12';
|
|
190
190
|
}
|
|
191
191
|
} else if (props.selectionMode === "single") {
|
|
192
192
|
if (props.isInvalid) {
|
|
193
|
-
if (props.isFocusVisible) rules += '
|
|
194
|
-
else if (props.isPressed) rules += '
|
|
195
|
-
else if (props.isHovered) rules += '
|
|
196
|
-
else rules += '
|
|
197
|
-
} else if (props.isDisabled) rules += '
|
|
198
|
-
else if (props.isFocusVisible) rules += '
|
|
199
|
-
else if (props.isPressed) rules += '
|
|
200
|
-
else if (props.isHovered) rules += '
|
|
201
|
-
else rules += '
|
|
193
|
+
if (props.isFocusVisible) rules += ' gYvV9s12';
|
|
194
|
+
else if (props.isPressed) rules += ' gYvV9s12';
|
|
195
|
+
else if (props.isHovered) rules += ' gYvV9s12';
|
|
196
|
+
else rules += ' g7aei812';
|
|
197
|
+
} else if (props.isDisabled) rules += ' g912';
|
|
198
|
+
else if (props.isFocusVisible) rules += ' gUgARdd12';
|
|
199
|
+
else if (props.isPressed) rules += ' gUgARdd12';
|
|
200
|
+
else if (props.isHovered) rules += ' gUgARdd12';
|
|
201
|
+
else rules += ' g5qAiPc12';
|
|
202
202
|
}
|
|
203
203
|
} else if (props.isToday) {
|
|
204
|
-
if (props.isDisabled) rules += '
|
|
204
|
+
if (props.isDisabled) rules += ' gH12';
|
|
205
205
|
else {
|
|
206
|
-
if (props.isPressed) rules += '
|
|
207
|
-
else if (props.isFocusVisible) rules += '
|
|
208
|
-
else if (props.isHovered) rules += '
|
|
209
|
-
else rules += '
|
|
206
|
+
if (props.isPressed) rules += ' gw12';
|
|
207
|
+
else if (props.isFocusVisible) rules += ' gw12';
|
|
208
|
+
else if (props.isHovered) rules += ' gw12';
|
|
209
|
+
else rules += ' gE12';
|
|
210
210
|
}
|
|
211
|
-
} else if (props.isDisabled) rules += '
|
|
212
|
-
else if (props.isPressed) rules += '
|
|
211
|
+
} else if (props.isDisabled) rules += ' g912';
|
|
212
|
+
else if (props.isPressed) rules += ' gH12';
|
|
213
213
|
else if (props.isHovered) {
|
|
214
|
-
if (props.isUnavailable) rules += '
|
|
215
|
-
else rules += '
|
|
216
|
-
} else rules += '
|
|
217
|
-
if (props.isUnavailable) rules += '
|
|
218
|
-
else if (props.isSelectionEnd) rules += '
|
|
219
|
-
else if (props.isSelectionStart) rules += '
|
|
214
|
+
if (props.isUnavailable) rules += ' g912';
|
|
215
|
+
else rules += ' gH12';
|
|
216
|
+
} else rules += ' g912';
|
|
217
|
+
if (props.isUnavailable) rules += ' gl912';
|
|
218
|
+
else if (props.isSelectionEnd) rules += ' gle12';
|
|
219
|
+
else if (props.isSelectionStart) rules += ' gle12';
|
|
220
220
|
else if (props.isSelected) {
|
|
221
221
|
if (props.selectionMode === "range") {
|
|
222
|
-
if (props.isHovered) rules += '
|
|
223
|
-
} else if (props.selectionMode === "single") rules += '
|
|
224
|
-
} else if (props.isHovered) rules += '
|
|
225
|
-
else if (props.isToday) rules += '
|
|
226
|
-
else rules += '
|
|
222
|
+
if (props.isHovered) rules += ' gle12';
|
|
223
|
+
} else if (props.selectionMode === "single") rules += ' gle12';
|
|
224
|
+
} else if (props.isHovered) rules += ' gle12';
|
|
225
|
+
else if (props.isToday) rules += ' glb12';
|
|
226
|
+
else rules += ' gl912';
|
|
227
227
|
return rules;
|
|
228
228
|
};
|
|
229
|
-
const $e9e9a0d15c3364d7$var$unavailableStyles = "
|
|
229
|
+
const $e9e9a0d15c3364d7$var$unavailableStyles = " _Pa12 WzErnCb12 _EjhYzGc12 _RjhYzGc12 FlAZvq12 _ZN7ydnb12 og12 ng12 kg12 jg12 g5ZbAob12";
|
|
230
230
|
const $e9e9a0d15c3364d7$var$selectionSpanStyles = function anonymous(props) {
|
|
231
231
|
let rules = " ";
|
|
232
|
-
rules += '
|
|
233
|
-
rules += '
|
|
234
|
-
rules += '
|
|
235
|
-
rules += '
|
|
236
|
-
rules += '
|
|
237
|
-
rules += '
|
|
238
|
-
rules += '
|
|
239
|
-
rules += '
|
|
240
|
-
rules += '
|
|
241
|
-
rules += '
|
|
242
|
-
rules += '
|
|
243
|
-
if (props.isInvalid) rules += '
|
|
244
|
-
else rules += '
|
|
245
|
-
rules += '
|
|
246
|
-
rules += '
|
|
247
|
-
rules += '
|
|
248
|
-
rules += '
|
|
249
|
-
rules += '
|
|
250
|
-
if (props.isInvalid) rules += '
|
|
251
|
-
else rules += '
|
|
252
|
-
rules += '
|
|
253
|
-
rules += '
|
|
232
|
+
rules += ' _Pa12';
|
|
233
|
+
rules += ' _9a12';
|
|
234
|
+
rules += ' Wr12';
|
|
235
|
+
rules += ' _AOJNuv12';
|
|
236
|
+
rules += ' _zr12';
|
|
237
|
+
rules += ' _lr12';
|
|
238
|
+
rules += ' _kc12';
|
|
239
|
+
rules += ' hc12';
|
|
240
|
+
rules += ' mc12';
|
|
241
|
+
rules += ' lc12';
|
|
242
|
+
rules += ' _ja12';
|
|
243
|
+
if (props.isInvalid) rules += ' ip12';
|
|
244
|
+
else rules += ' ix12';
|
|
245
|
+
rules += ' ilb12';
|
|
246
|
+
rules += ' og12';
|
|
247
|
+
rules += ' kg12';
|
|
248
|
+
rules += ' ng12';
|
|
249
|
+
rules += ' jg12';
|
|
250
|
+
if (props.isInvalid) rules += ' gZbQnx12';
|
|
251
|
+
else rules += ' gG12';
|
|
252
|
+
rules += ' gle12';
|
|
253
|
+
rules += ' _yb12';
|
|
254
254
|
return rules;
|
|
255
255
|
};
|
|
256
256
|
const $e9e9a0d15c3364d7$export$e1aef45b828286de = /*#__PURE__*/ (0, $425Kz$react.forwardRef)(function Calendar(props, ref) {
|
|
@@ -295,7 +295,7 @@ const $e9e9a0d15c3364d7$export$e1aef45b828286de = /*#__PURE__*/ (0, $425Kz$react
|
|
|
295
295
|
})
|
|
296
296
|
}),
|
|
297
297
|
/*#__PURE__*/ (0, $425Kz$reactjsxruntime.jsx)("div", {
|
|
298
|
-
className: "
|
|
298
|
+
className: " sd12 _tc12 Uj12 qj12 Za12 ed12",
|
|
299
299
|
children: Array.from({
|
|
300
300
|
length: visibleMonths
|
|
301
301
|
}).map((_, i)=>/*#__PURE__*/ (0, $425Kz$reactjsxruntime.jsx)($e9e9a0d15c3364d7$export$5bd780d491cfc46c, {
|
|
@@ -324,7 +324,7 @@ const $e9e9a0d15c3364d7$export$5bd780d491cfc46c = (props)=>{
|
|
|
324
324
|
let firstDayOfWeek = rangeCalendarProps?.firstDayOfWeek ?? calendarProps?.firstDayOfWeek;
|
|
325
325
|
// use isolation to start a new stacking context so that we can use zIndex -1 for the selection span.
|
|
326
326
|
return /*#__PURE__*/ (0, $425Kz$reactjsxruntime.jsxs)((0, $425Kz$reactariacomponents.CalendarGrid), {
|
|
327
|
-
className: "
|
|
327
|
+
className: " __na12 __oe12 _Bb12",
|
|
328
328
|
offset: {
|
|
329
329
|
months: props.months
|
|
330
330
|
},
|
|
@@ -388,13 +388,13 @@ const $e9e9a0d15c3364d7$export$77af08ed164baa7 = ()=>{
|
|
|
388
388
|
else return /*#__PURE__*/ (0, $425Kz$reactjsxruntime.jsxs)((0, $425Kz$react.Fragment), {
|
|
389
389
|
children: [
|
|
390
390
|
/*#__PURE__*/ (0, $425Kz$reactjsxruntime.jsx)("div", {
|
|
391
|
-
className: "
|
|
391
|
+
className: " _6b12 ZC12"
|
|
392
392
|
}),
|
|
393
393
|
/*#__PURE__*/ (0, $425Kz$reactjsxruntime.jsx)("div", {
|
|
394
|
-
className: "
|
|
394
|
+
className: " _6b12 Zo12"
|
|
395
395
|
}),
|
|
396
396
|
/*#__PURE__*/ (0, $425Kz$reactjsxruntime.jsx)("div", {
|
|
397
|
-
className: "
|
|
397
|
+
className: " _6b12 ZC12"
|
|
398
398
|
}),
|
|
399
399
|
/*#__PURE__*/ (0, $425Kz$reactjsxruntime.jsx)("div", {
|
|
400
400
|
className: $e9e9a0d15c3364d7$var$titleStyles,
|
|
@@ -411,12 +411,12 @@ const $e9e9a0d15c3364d7$export$adb29da0ac001538 = (props1)=>{
|
|
|
411
411
|
className: function anonymous(props) {
|
|
412
412
|
let rules = " ";
|
|
413
413
|
if (props.direction === "rtl") {
|
|
414
|
-
rules += ' -Z4Pn4c-
|
|
415
|
-
rules += '
|
|
414
|
+
rules += ' -Z4Pn4c-a12';
|
|
415
|
+
rules += ' __Ha12';
|
|
416
416
|
}
|
|
417
417
|
if (props.direction === "rtl") {
|
|
418
|
-
rules += ' -_04Pn4c-
|
|
419
|
-
rules += '
|
|
418
|
+
rules += ' -_04Pn4c-a12';
|
|
419
|
+
rules += ' __Ha12';
|
|
420
420
|
}
|
|
421
421
|
return rules;
|
|
422
422
|
}({
|
|
@@ -499,7 +499,7 @@ const $e9e9a0d15c3364d7$var$CalendarCellInner = (props)=>{
|
|
|
499
499
|
// when valid, only show background for available selected dates
|
|
500
500
|
let isBackgroundStyleApplied = isSelected && isRangeSelection && (isInvalid || !isUnavailable) && (isDateInRange(prevDay) || nextDay.month === date.month && isDateInRange(nextDay));
|
|
501
501
|
return /*#__PURE__*/ (0, $425Kz$reactjsxruntime.jsxs)("div", {
|
|
502
|
-
className: "
|
|
502
|
+
className: " _Pc12 ZvFFGYc12 -_4Isswc-ZvFFGYc12 -Z_-ZC12",
|
|
503
503
|
children: [
|
|
504
504
|
/*#__PURE__*/ (0, $425Kz$reactjsxruntime.jsxs)("div", {
|
|
505
505
|
ref: ref,
|
package/dist/Calendar.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;;;CAUC;;;;;;;;;;;AA4DM,MAAM,0DAAkB,CAAA,GAAA,0BAAY,EAA6D;AAExG,MAAM;;;;;;;;;;;;;;;;AAQN,MAAM;AAON,MAAM;AAQN,MAAM;AASN,MAAM;AAeN,MAAM;;;;;;;;;;;;;;;;;;;;;AA+BN,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+IN,MAAM;AAWN,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;AA+BC,MAAM,4CAAyB,AAAd,WAAW,GAAI,CAAA,GAAA,uBAAS,EAAqB,SAAS,SAA8B,KAAuB,EAAE,GAAiC;IACpK,CAAC,OAAO,IAAI,GAAG,CAAA,GAAA,iDAAsB,EAAE,OAAO,KAAK;IACnD,IAAI,iBACF,gBAAgB,iBAChB,YAAY,gBACZ,YAAY,oBACZ,gBAAgB,UAChB,MAAM,EACN,GAAG,YACJ,GAAG;IACJ,IAAI,kBAAkB,CAAA,GAAA,gDAA0B,EAAE,CAAA,GAAA,mDAAW,GAAG;IAChE,qBACE,gCAAC,CAAA,GAAA,mCAAW;QACT,GAAG,UAAU;QACd,KAAK;QACL,iBAAiB;YAAC,QAAQ;QAAa;QACvC,OAAO;QACP,WAAW,AAAC,CAAA,oBAAoB,EAAC,IAAK,qCAAe,MAAM;kBAC1D,CAAC,aAAC,SAAS,cAAE,UAAU,EAAC;YACvB,qBACE;;kCACE,gCAAC,CAAA,GAAA,mCAAO;wBACN,QAAQ;4BACN;gCAAC,CAAA,GAAA,uCAAY;gCAAG;6BAAK;4BACrB;gCAAC,CAAA,GAAA,wCAAa;gCAAG;6BAAK;yBACvB;kCACD,cAAA,iCAAC,CAAA,GAAA,gCAAK;4BAAE,QAAQ;;8CACd,gCAAC;oCAAe,MAAK;8CAAW,cAAA,gCAAC,CAAA,GAAA,iCAAc;;8CAC/C,gCAAC;8CACD,gCAAC;oCAAe,MAAK;8CAAO,cAAA,gCAAC,CAAA,GAAA,iCAAe;;;;;kCAGhD,gCAAC;wBACC,SAAS;kCAOR,MAAM,IAAI,CAAC;4BAAC,QAAQ;wBAAa,GAAG,GAAG,CAAC,CAAC,GAAG,kBAC3C,gCAAC;gCAAa,QAAQ;+BAAQ;;oBAGjC,2BACC,gCAAC,CAAA,GAAA,+BAAG;wBAAE,MAAK;wBAAe,WAAW,CAAA,GAAA,wCAAa,EAAE;uCAAC;wCAAW;4BAAY,MAAM;wBAAG;kCAClF,gBAAgB,gBAAgB,MAAM,CAAC,6BAA6B;4BAAC,eAAe;wBAAC;;;;QAKhG;;AAGN;AAEO,MAAM,4CAAe,CAAC;IAC3B,IAAI,qBAAqB,CAAA,GAAA,4CAAgB,EAAE,CAAA,GAAA,+CAAmB;IAC9D,IAAI,gBAAgB,CAAA,GAAA,4CAAgB,EAAE,CAAA,GAAA,0CAAkB;IACxD,IAAI,iBAAiB,oBAAoB,kBAAkB,eAAe;IAEzE,qGAAqG;IACtG,qBACE,iCAAC,CAAA,GAAA,uCAAe;QACd,SAAS;QAKT,QAAQ;YAAC,QAAQ,MAAM,MAAM;QAAA;;0BAC7B,gCAAC,CAAA,GAAA,6CAAiB;gBAAE,WAAU;0BAC3B,CAAC,oBACA,gCAAC;kCACE;;;0BAIP,gCAAC,CAAA,GAAA,2CAAe;gBAAE,WAAU;0BACzB,CAAC,qBACA,gCAAC;wBAAa,MAAM;wBAAM,gBAAgB;;;;;AAKpD;AAIO,MAAM,2CAAkB;IAC7B,IAAI,uBAAuB,CAAA,GAAA,uBAAS,EAAE,CAAA,GAAA,+CAAmB;IACzD,IAAI,4BAA4B,CAAA,GAAA,uBAAS,EAAE,CAAA,GAAA,oDAAwB;IACnE,IAAI,gBAAC,YAAY,YAAE,QAAQ,EAAC,GAAG,wBAAwB,6BAA6B,CAAC;IACrF,IAAI,eAAe,cAAc,SAAS,cAAc;IACxD,IAAI,iBAAiB,CAAA,GAAA,qCAAe,EAAE;QACpC,OAAO;QACP,MAAM;QACN,KAAK,gBAAgB,aAAa,QAAQ,CAAC,UAAU,KAAK,aAAa,aAAa,GAAG,KAAK,OAAO,UAAU;QAC7G,UAAU,cAAc,MAAM,SAAS;kBACvC;IACF;IACA,IAAI,SAAS,CAAA,GAAA,oBAAM,EAAE;QACnB,IAAI,CAAC,cACH,OAAO,EAAE;QAEX,IAAI,SAAmB,EAAE;QACzB,IAAK,IAAI,IAAI,aAAa,KAAK,EAAE,EAAE,OAAO,CAAC,aAAa,GAAG,KAAK,GAAG,IAAI,EAAE,GAAG,CAAC;YAAC,QAAQ;QAAC,GAAI;YACzF,0FAA0F;YAC1F,6CAA6C;YAC7C,IAAI,EAAE,KAAK,KAAK,aAAa,KAAK,CAAC,KAAK,EACtC,IAAI,EAAE,GAAG,CAAC;gBAAC,OAAO;YAAC;YAErB,OAAO,IAAI,CAAC,eAAe,MAAM,CAAC,EAAE,MAAM,CAAC;QAC7C;QACA,OAAO;IACT,GAAG;QAAC;QAAc;QAAgB;KAAS;IAE3C,qBACE,gCAAC,CAAA,GAAA,iCAAM;QAAE,QAAQ;kBACd,OAAO,GAAG,CAAC,CAAC,OAAO;YAClB,IAAI,MAAM,GACR,qBACE,gCAAC,CAAA,GAAA,qBAAO;0BACN,cAAA,gCAAC;oBAAI,WAAW;8BAAc;;eADjB;iBAKjB,qBACE,iCAAC,CAAA,GAAA,qBAAO;;kCAEN,gCAAC;wBAAI,SAAS;;kCACd,gCAAC;wBAAI,SAAS;;kCACd,gCAAC;wBAAI,SAAS;;kCACd,gCAAC;wBAAI,WAAW;kCAAc;;;eALjB;QASrB;;AAGN;AAEO,MAAM,4CAAiB,CAAC;IAC7B,IAAI,aAAC,SAAS,EAAC,GAAG,CAAA,GAAA,8BAAQ;IAC1B,qBACE,gCAAC;QACC,WACE;;;;;;;;;;;UAMG;uBAAC;QAAS;kBAEf,cAAA,gCAAC,CAAA,GAAA,sCAAW;YACT,GAAG,MAAK;YACT,OAAO;sBACN,OAAM,QAAQ;;;AAIvB;AAEA,MAAM,2CAAqB,CAAC;IAC1B,qBACE,gCAAC,CAAA,GAAA,6CAAqB;QAAE,WAAW;kBAChC,MAAM,QAAQ;;AAGrB;AAEA,MAAM,qCAAe,CAAC;IACpB,IAAI,UAAC,MAAM,EAAC,GAAG,CAAA,GAAA,8BAAQ;IACvB,IAAI,iBAAiB,MAAM,cAAc;IACzC,sDAAsD;IACtD,IAAI,YAAC,QAAQ,aAAE,SAAS,EAAC,GAAG,2CAAqB,MAAM,IAAI,EAAE,QAAQ;IAErE,IAAI,uBAAuB,CAAA,GAAA,uBAAS,EAAE,CAAA,GAAA,+CAAmB;IACzD,IAAI,4BAA4B,CAAA,GAAA,uBAAS,EAAE,CAAA,GAAA,oDAAwB;IACnE,IAAI,QAAS,wBAAwB;IAErC,IAAI,cAAc,cAAc;IAChC,IAAI,eAAe,aAAa;IAChC,IAAI,cAAc,aAAa;IAE/B,qBACE,gCAAC,CAAA,GAAA,uCAAe;QACd,MAAM,MAAM,IAAI;QAChB,WAAW,CAAC,cAAgB,iCAAW;gBAAC,GAAG,WAAW;8BAAE;6BAAc;6BAAa;YAAW;kBAC7F,CAAC,4BAAgB,gCAAC;gBAAmB,GAAG,KAAK;gBAAE,WAAW;gBAAW,UAAU;gBAAU,OAAO;gBAAO,kBAAkB,CAAC,CAAC;gBAA2B,aAAa;;;AAG1K;AAEA,MAAM,0CAAoB,CAAC;IACzB,IAAI,aAAC,SAAS,YAAE,QAAQ,QAAE,IAAI,eAAE,WAAW,SAAE,KAAK,oBAAE,gBAAgB,EAAC,GAAG;IACxE,IAAI,kBAAC,cAAc,EAAC,GAAG;IACvB,IAAI,MAAM,CAAA,GAAA,mBAAK,EAAkB;IACjC,IAAI,iBAAC,aAAa,iBAAE,aAAa,cAAE,UAAU,oBAAE,gBAAgB,kBAAE,cAAc,aAAE,SAAS,EAAC,GAAG;IAC9F,+GAA+G;IAC/G,wHAAwH;IACxH,mBAAmB,oBAAqB,CAAA,CAAC,iBAAiB,SAAQ;IAClE,iBAAiB,kBAAmB,CAAA,CAAC,iBAAiB,SAAQ;IAE9D,IAAI,YAAY,CAAA,GAAA,yCAAW,EAAE;IAC7B,IAAI,cAAc,eAAe,WAAW;IAE5C,IAAI,gBAAgB,CAAC;QACnB,IAAI,CAAE,CAAA,sBAAsB,KAAI,KAAM,CAAC,MAAM,gBAAgB,EAC3D,OAAO,MAAM,UAAU,CAAC;QAE1B,gEAAgE;QAChE,IAAI,WACF,OAAO,UAAU,OAAO,CAAC,MAAM,gBAAgB,CAAC,KAAK,KAAK,KACnD,UAAU,OAAO,CAAC,MAAM,gBAAgB,CAAC,GAAG,KAAK;QAG1D,OAAO,MAAM,UAAU,CAAC;IAC1B;IAEA,wGAAwG;IACxG,qFAAqF;IACrF,IAAI,+BAA+B,YAAY,KAAK,CAAC,GAAG,WAAW,GAAG,OAAO,GAAG,SAAS,CAAC,CAAC,MAAM;QAC/F,OAAO,QAAQ,IAAI,KAAM,CAAA,CAAC,cAAc,SAAS,KAAK,KAAK,KAAK,MAAM,IAAI,CAAC,KAAK,AAAD;IACjF;IAEA,IAAI,gBAAgB;IACpB,IAAI,+BAA+B,MAAM,YACvC,gBAAgB,+BAA+B;SAC1C,IAAI,YACT,gBAAgB;IAElB,IAAI,UAAU,KAAK,QAAQ,CAAC;QAAC,MAAM;IAAC;IACpC,IAAI,UAAU,KAAK,GAAG,CAAC;QAAC,MAAM;IAAC;IAE/B,mHAAmH;IACnH,gEAAgE;IAChE,IAAI,2BACF,cACG,oBACC,CAAA,aAAa,CAAC,aAAY,KAC1B,CAAA,cAAc,YACZ,QAAQ,KAAK,KAAK,KAAK,KAAK,IAAI,cAAc,QAAQ;IAG9D,qBACE,iCAAC;QACC,SAAS;;0BAQT,iCAAC;gBACC,KAAK;gBACL,OAAO,CAAA,GAAA,oCAAS,EAAE,KAAK,CAAC,GAAG;gBAC3B,WAAW,sCAAgB;oBAAC,GAAG,WAAW;sCAAG;oCAAkB;oBAAgB,eAAe,mBAAmB,UAAU;gBAAQ;;kCACnI,gCAAC;kCACE;;oBAEF,+BAAiB,gCAAC;wBAAI,WAAW;wBAAmB,MAAK;;;;YAE3D,0CAA4B,gCAAC;gBAAI,OAAO;oBAAC,oBAAoB;gBAAa;gBAAoB,WAAW,0CAAoB;+BAAC;gBAAS;gBAAI,MAAK;;;;AAGvJ;AAIA;;;;;;CAMC,GACD,SAAS,2CACP,IAAkB,EAClB,MAAc,EACd,cAA0B;IAE1B,IAAI,YAAC,QAAQ,aAAE,SAAS,EAAC,GAAG,CAAA,GAAA,oBAAM,EAAE;QAClC,0CAA0C;QAC1C,MAAM,WAAW,CAAA,GAAA,yCAAW,EAAE,MAAM,QAAQ;QAE5C,MAAM,aAAa,CAAA,GAAA,yCAAW,EAAE;QAEhC,sEAAsE;QACtE,mCAAmC;QACnC,MAAM,sBAAsB,CAAA,GAAA,yCAAW,EAAE,YAAY,QAAQ;QAC7D,MAAM,aAAa,KAAK,GAAG;QAE3B,MAAM,YAAY,KAAK,KAAK,CAAC,AAAC,CAAA,aAAa,sBAAsB,CAAA,IAAK;QAEtE,OAAO;uBACL;sBACA;QACF;IACF,GAAG;QAAC;QAAM;QAAQ;KAAe;IAEjC,OAAO;kBAAC;mBAAU;IAAS;AAC7B","sources":["packages/@react-spectrum/s2/src/Calendar.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 {ActionButton, Header, HeaderContext, Heading, HeadingContext, pressScale} from './';\nimport {\n Calendar as AriaCalendar,\n CalendarCell as AriaCalendarCell,\n CalendarContext as AriaCalendarContext,\n CalendarGrid as AriaCalendarGrid,\n CalendarHeaderCell as AriaCalendarHeaderCell,\n CalendarProps as AriaCalendarProps,\n ButtonProps,\n CalendarCellProps,\n CalendarCellRenderProps,\n CalendarGridBody,\n CalendarGridHeader,\n CalendarHeaderCellProps,\n CalendarState,\n CalendarStateContext,\n ContextValue,\n DateValue,\n Provider,\n RangeCalendarContext,\n RangeCalendarState,\n RangeCalendarStateContext,\n Text,\n useSlottedContext\n} from 'react-aria-components';\nimport {AriaCalendarGridProps} from '@react-aria/calendar';\nimport {baseColor, focusRing, lightDark, style} from '../style' with {type: 'macro'};\nimport {\n CalendarDate,\n getDayOfWeek,\n startOfMonth\n} from '@internationalized/date';\nimport ChevronLeftIcon from '../s2wf-icons/S2_Icon_ChevronLeft_20_N.svg';\nimport ChevronRightIcon from '../s2wf-icons/S2_Icon_ChevronRight_20_N.svg';\nimport {forwardRefType, GlobalDOMAttributes} from '@react-types/shared';\nimport {getAllowedOverrides, StyleProps} from './style-utils' with {type: 'macro'};\nimport {helpTextStyles} from './Field';\n// @ts-ignore\nimport intlMessages from '../intl/*.json';\nimport React, {createContext, CSSProperties, ForwardedRef, forwardRef, Fragment, PropsWithChildren, ReactElement, ReactNode, useContext, useMemo, useRef} from 'react';\nimport {useDateFormatter, useLocale, useLocalizedStringFormatter} from '@react-aria/i18n';\nimport {useSpectrumContextProps} from './useSpectrumContextProps';\n\n\nexport interface CalendarProps<T extends DateValue>\n extends Omit<AriaCalendarProps<T>, 'visibleDuration' | 'style' | 'className' | 'styles' | 'children' | keyof GlobalDOMAttributes>,\n StyleProps {\n /**\n * The error message to display when the calendar is invalid.\n */\n errorMessage?: ReactNode,\n /**\n * The number of months to display at once.\n * @default 1\n */\n visibleMonths?: number\n}\n\nexport const CalendarContext = createContext<ContextValue<Partial<CalendarProps<any>>, HTMLDivElement>>(null);\n\nconst calendarStyles = style({\n display: 'flex',\n flexDirection: 'column',\n gap: 24,\n width: 'fit',\n disableTapHighlight: true\n}, getAllowedOverrides());\n\nconst headerStyles = style({\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n width: 'full'\n});\n\nconst headingStyles = style({\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n margin: 0,\n width: 'full'\n});\n\nconst titleStyles = style({\n font: 'title-lg',\n textAlign: 'center',\n flexGrow: 1,\n flexShrink: 0,\n flexBasis: '0%',\n minWidth: 0\n});\n\nconst headerCellStyles = style({\n font: 'title-sm',\n cursor: 'default',\n textAlign: 'center',\n paddingStart: {\n default: 4,\n ':first-child': 0\n },\n paddingEnd: {\n default: 4,\n ':last-child': 0\n },\n paddingBottom: 12\n});\n\nconst cellStyles = style({\n outlineStyle: 'none',\n '--cell-gap': {\n type: 'paddingStart',\n value: 4\n },\n paddingStart: {\n default: 4,\n isFirstChild: 0\n },\n paddingEnd: {\n default: 4,\n isLastChild: 0\n },\n paddingTop: {\n default: 2,\n isFirstWeek: 0\n },\n paddingBottom: 2,\n position: 'relative',\n width: 32,\n height: 32,\n display: {\n default: 'flex',\n isOutsideMonth: 'none'\n },\n alignItems: 'center',\n justifyContent: 'center',\n disableTapHighlight: true\n});\n\nconst cellInnerStyles = style<CalendarCellRenderProps & {selectionMode: 'single' | 'range'}>({\n ...focusRing(),\n transition: {\n default: 'default',\n forcedColors: 'none'\n },\n outlineOffset: {\n default: -2,\n isToday: 2,\n isSelected: {\n selectionMode: {\n single: 2,\n range: -2\n }\n },\n isSelectionStart: 2,\n isSelectionEnd: 2\n },\n position: 'relative',\n font: 'body-sm',\n cursor: 'default',\n width: 'full',\n height: 32,\n borderRadius: 'full',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n forcedColorAdjust: 'none',\n backgroundColor: {\n default: 'transparent',\n isHovered: {\n default: 'gray-100',\n isUnavailable: 'transparent'\n },\n isPressed: 'gray-100',\n isDisabled: 'transparent',\n isToday: {\n default: baseColor('gray-300'),\n isDisabled: 'disabled'\n },\n isSelected: {\n selectionMode: {\n single: {\n default: lightDark('accent-900', 'accent-700'),\n isHovered: lightDark('accent-1000', 'accent-600'),\n isPressed: lightDark('accent-1000', 'accent-600'),\n isFocusVisible: lightDark('accent-1000', 'accent-600'),\n isDisabled: 'transparent',\n isInvalid: {\n default: lightDark('negative-900', 'negative-700'),\n isHovered: lightDark('negative-1000', 'negative-600'),\n isPressed: lightDark('negative-1000', 'negative-600'),\n isFocusVisible: lightDark('negative-1000', 'negative-600')\n }\n },\n range: {\n isHovered: {\n default: 'blue-500',\n isInvalid: {\n default: 'negative-300',\n isUnavailable: 'transparent'\n }\n }\n }\n }\n },\n isSelectionStart: {\n default: lightDark('accent-900', 'accent-700'),\n isHovered: lightDark('accent-1000', 'accent-600'),\n isPressed: lightDark('accent-1000', 'accent-600'),\n isFocusVisible: lightDark('accent-1000', 'accent-600'),\n isDisabled: 'transparent',\n isInvalid: {\n default: lightDark('negative-900', 'negative-700'),\n isHovered: {\n default: lightDark('negative-1000', 'negative-600'),\n isUnavailable: lightDark('negative-900', 'negative-700')\n },\n isPressed: lightDark('negative-1000', 'negative-600'),\n isFocusVisible: {\n default: lightDark('negative-1000', 'negative-600'),\n isUnavailable: lightDark('negative-900', 'negative-700')\n }\n }\n },\n isSelectionEnd: {\n default: lightDark('accent-900', 'accent-700'),\n isHovered: lightDark('accent-1000', 'accent-600'),\n isPressed: lightDark('accent-1000', 'accent-600'),\n isFocusVisible: lightDark('accent-1000', 'accent-600'),\n isDisabled: 'transparent',\n isInvalid: {\n default: lightDark('negative-900', 'negative-700'),\n isHovered: {\n default: lightDark('negative-1000', 'negative-600'),\n isUnavailable: lightDark('negative-900', 'negative-700')\n },\n isPressed: lightDark('negative-1000', 'negative-600'),\n isFocusVisible: {\n default: lightDark('negative-1000', 'negative-600'),\n isUnavailable: lightDark('negative-900', 'negative-700')\n }\n }\n },\n forcedColors: {\n default: 'transparent',\n isToday: 'ButtonFace',\n isHovered: 'Highlight',\n isSelected: {\n selectionMode: {\n single: 'Highlight',\n range: {\n isHovered: 'Highlight'\n }\n }\n },\n isSelectionStart: 'Highlight',\n isSelectionEnd: 'Highlight',\n isUnavailable: 'transparent'\n }\n },\n color: {\n default: 'neutral',\n isSelected: {\n default: 'white',\n selectionMode: {\n range: 'neutral'\n }\n },\n isSelectionStart: 'white',\n isSelectionEnd: 'white',\n isDisabled: 'disabled',\n forcedColors: {\n default: 'ButtonText',\n isToday: 'ButtonFace',\n isSelected: 'HighlightText',\n isSelectionStart: 'HighlightText',\n isSelectionEnd: 'HighlightText',\n isDisabled: 'GrayText'\n }\n }\n});\n\nconst unavailableStyles = style({\n position: 'absolute',\n top: 'calc(50% - 1px)',\n left: 'calc(25% - 1px)',\n right: 'calc(25% - 1px)',\n height: 2,\n transform: 'rotate(-16deg)',\n borderRadius: 'full',\n backgroundColor: '[currentColor]'\n});\n\nconst selectionSpanStyles = style<{isInvalid?: boolean}>({\n position: 'absolute',\n zIndex: -1,\n top: 0,\n insetStart: 'calc(-1 * var(--selection-span) * (var(--cell-width) + var(--cell-gap) + var(--cell-gap)))',\n insetEnd: 0,\n bottom: 0,\n borderWidth: 2,\n borderStyle: 'dashed',\n borderColor: {\n default: 'blue-800', // focus-indicator-color\n isInvalid: 'negative-900',\n forcedColors: {\n default: 'ButtonText'\n }\n },\n borderStartRadius: 'full',\n borderEndRadius: 'full',\n backgroundColor: {\n default: 'blue-subtle',\n isInvalid: 'negative-100',\n forcedColors: {\n default: 'Highlight'\n }\n },\n forcedColorAdjust: 'none'\n});\n\n/**\n * Calendars display a grid of days in one or more months and allow users to select a single date.\n */\nexport const Calendar = /*#__PURE__*/ (forwardRef as forwardRefType)(function Calendar<T extends DateValue>(props: CalendarProps<T>, ref: ForwardedRef<HTMLDivElement>) {\n [props, ref] = useSpectrumContextProps(props, ref, CalendarContext);\n let {\n visibleMonths = 1,\n errorMessage,\n UNSAFE_style,\n UNSAFE_className,\n styles,\n ...otherProps\n } = props;\n let stringFormatter = useLocalizedStringFormatter(intlMessages, '@react-spectrum/s2');\n return (\n <AriaCalendar\n {...otherProps}\n ref={ref}\n visibleDuration={{months: visibleMonths}}\n style={UNSAFE_style}\n className={(UNSAFE_className || '') + calendarStyles(null, styles)}>\n {({isInvalid, isDisabled}) => {\n return (\n <>\n <Provider\n values={[\n [HeaderContext, null],\n [HeadingContext, null]\n ]}>\n <Header styles={headerStyles}>\n <CalendarButton slot=\"previous\"><ChevronLeftIcon /></CalendarButton>\n <CalendarHeading />\n <CalendarButton slot=\"next\"><ChevronRightIcon /></CalendarButton>\n </Header>\n </Provider>\n <div\n className={style({\n display: 'flex',\n flexDirection: 'row',\n gap: 24,\n width: 'full',\n alignItems: 'start'\n })}>\n {Array.from({length: visibleMonths}).map((_, i) => (\n <CalendarGrid months={i} key={i} />\n ))}\n </div>\n {isInvalid && (\n <Text slot=\"errorMessage\" className={helpTextStyles({isInvalid, isDisabled, size: 'M'})}>\n {errorMessage || stringFormatter.format('calendar.invalidSelection', {selectedCount: 1})}\n </Text>\n )}\n </>\n );\n }}\n </AriaCalendar>\n );\n});\n\nexport const CalendarGrid = (props: Omit<AriaCalendarGridProps, 'children'> & PropsWithChildren & {months: number}): ReactElement => {\n let rangeCalendarProps = useSlottedContext(RangeCalendarContext);\n let calendarProps = useSlottedContext(AriaCalendarContext);\n let firstDayOfWeek = rangeCalendarProps?.firstDayOfWeek ?? calendarProps?.firstDayOfWeek;\n\n // use isolation to start a new stacking context so that we can use zIndex -1 for the selection span.\n return (\n <AriaCalendarGrid\n className={style({\n borderCollapse: 'collapse',\n borderSpacing: 0,\n isolation: 'isolate'\n })}\n offset={{months: props.months}}>\n <CalendarGridHeader className=\"\">\n {(day) => (\n <CalendarHeaderCell>\n {day}\n </CalendarHeaderCell>\n )}\n </CalendarGridHeader>\n <CalendarGridBody className=\"\">\n {(date) => (\n <CalendarCell date={date} firstDayOfWeek={firstDayOfWeek} />\n )}\n </CalendarGridBody>\n </AriaCalendarGrid>\n );\n};\n\n// Ordinarily the heading is a formatted date range, ie January 2025 - February 2025.\n// However, we want to show each month individually.\nexport const CalendarHeading = (): ReactElement => {\n let calendarStateContext = useContext(CalendarStateContext);\n let rangeCalendarStateContext = useContext(RangeCalendarStateContext);\n let {visibleRange, timeZone} = calendarStateContext ?? rangeCalendarStateContext ?? {};\n let currentMonth = visibleRange?.start ?? visibleRange?.end;\n let monthFormatter = useDateFormatter({\n month: 'long',\n year: 'numeric',\n era: currentMonth && currentMonth.calendar.identifier === 'gregory' && currentMonth.era === 'BC' ? 'short' : undefined,\n calendar: visibleRange?.start.calendar.identifier,\n timeZone\n });\n let months = useMemo(() => {\n if (!visibleRange) {\n return [];\n }\n let months: string[] = [];\n for (let i = visibleRange.start; i.compare(visibleRange.end) <= 0; i = i.add({months: 1})) {\n // TODO: account for the first week possibly overlapping, like with a custom 454 calendar.\n // there has to be a better way to do this...\n if (i.month === visibleRange.start.month) {\n i = i.add({weeks: 1});\n }\n months.push(monthFormatter.format(i.toDate(timeZone!)));\n }\n return months;\n }, [visibleRange, monthFormatter, timeZone]);\n\n return (\n <Heading styles={headingStyles}>\n {months.map((month, i) => {\n if (i === 0) {\n return (\n <Fragment key={month}>\n <div className={titleStyles}>{month}</div>\n </Fragment>\n );\n } else {\n return (\n <Fragment key={month}>\n {/* Spacers to account for Next/Previous buttons and gap, spelled out to show the math */}\n <div className={style({visibility: 'hidden', width: 32})} />\n <div className={style({visibility: 'hidden', width: 24})} />\n <div className={style({visibility: 'hidden', width: 32})} />\n <div className={titleStyles}>{month}</div>\n </Fragment>\n );\n }\n })}\n </Heading>\n );\n};\n\nexport const CalendarButton = (props: Omit<ButtonProps, 'children'> & {children: ReactNode}): ReactElement => {\n let {direction} = useLocale();\n return (\n <div\n className={\n style({\n scale: {\n direction: {\n rtl: -1\n }\n }\n })({direction})\n }>\n <ActionButton\n {...props}\n isQuiet>\n {props.children}\n </ActionButton>\n </div>\n );\n};\n\nconst CalendarHeaderCell = (props: Omit<CalendarHeaderCellProps, 'children'> & PropsWithChildren): ReactElement => {\n return (\n <AriaCalendarHeaderCell className={headerCellStyles}>\n {props.children}\n </AriaCalendarHeaderCell>\n );\n};\n\nconst CalendarCell = (props: Omit<CalendarCellProps, 'children'> & {firstDayOfWeek: 'sun' | 'mon' | 'tue' | 'wed' | 'thu' | 'fri' | 'sat' | undefined}): ReactElement => {\n let {locale} = useLocale();\n let firstDayOfWeek = props.firstDayOfWeek;\n // Calculate the day and week index based on the date.\n let {dayIndex, weekIndex} = useWeekAndDayIndices(props.date, locale, firstDayOfWeek);\n\n let calendarStateContext = useContext(CalendarStateContext);\n let rangeCalendarStateContext = useContext(RangeCalendarStateContext);\n let state = (calendarStateContext ?? rangeCalendarStateContext)!;\n\n let isFirstWeek = weekIndex === 0;\n let isFirstChild = dayIndex === 0;\n let isLastChild = dayIndex === 6;\n\n return (\n <AriaCalendarCell\n date={props.date}\n className={(renderProps) => cellStyles({...renderProps, isFirstChild, isLastChild, isFirstWeek})}>\n {(renderProps) => <CalendarCellInner {...props} weekIndex={weekIndex} dayIndex={dayIndex} state={state} isRangeSelection={!!rangeCalendarStateContext} renderProps={renderProps} />}\n </AriaCalendarCell>\n );\n};\n\nconst CalendarCellInner = (props: Omit<CalendarCellProps, 'children'> & {isRangeSelection: boolean, state: CalendarState | RangeCalendarState, weekIndex: number, dayIndex: number, renderProps?: CalendarCellRenderProps, date: DateValue}): ReactElement => {\n let {weekIndex, dayIndex, date, renderProps, state, isRangeSelection} = props;\n let {getDatesInWeek} = state;\n let ref = useRef<HTMLDivElement>(null);\n let {isUnavailable, formattedDate, isSelected, isSelectionStart, isSelectionEnd, isInvalid} = renderProps!;\n // only apply the selection start/end styles if the start/end date is actually selectable (aka not unavailable)\n // or if the range is invalid and thus we still want to show the styles even if the start/end date is an unavailable one\n isSelectionStart = isSelectionStart && (!isUnavailable || isInvalid);\n isSelectionEnd = isSelectionEnd && (!isUnavailable || isInvalid);\n\n let startDate = startOfMonth(date);\n let datesInWeek = getDatesInWeek(weekIndex, startDate);\n\n let isDateInRange = (checkDate: CalendarDate) => {\n if (!('highlightedRange' in state) || !state.highlightedRange) {\n return state.isSelected(checkDate);\n }\n // if invalid, check if date is within the full range boundaries\n if (isInvalid) {\n return checkDate.compare(state.highlightedRange.start) >= 0 &&\n checkDate.compare(state.highlightedRange.end) <= 0;\n }\n\n return state.isSelected(checkDate);\n };\n\n // Starting from the current day, find the first day before it in the current week that is not selected.\n // Then, the span of selected days is the current day minus the first unselected day.\n let firstUnselectedInRangeInWeek = datesInWeek.slice(0, dayIndex + 1).reverse().findIndex((date, i) => {\n return date && i > 0 && (!isDateInRange(date) || date.month !== props.date.month);\n });\n\n let selectionSpan = -1;\n if (firstUnselectedInRangeInWeek > -1 && isSelected) {\n selectionSpan = firstUnselectedInRangeInWeek - 1;\n } else if (isSelected) {\n selectionSpan = dayIndex;\n }\n let prevDay = date.subtract({days: 1});\n let nextDay = date.add({days: 1});\n\n // when invalid, show background for all selected dates (including unavailable) to make continuous range appearance\n // when valid, only show background for available selected dates\n let isBackgroundStyleApplied = (\n isSelected\n && isRangeSelection\n && (isInvalid || !isUnavailable)\n && (isDateInRange(prevDay)\n || (nextDay.month === date.month && isDateInRange(nextDay)))\n );\n\n return (\n <div\n className={style({\n position: 'relative',\n width: 32,\n '--cell-width': {\n type: 'width',\n value: '[self(width)]'\n }\n })}>\n <div\n ref={ref}\n style={pressScale(ref, {})(renderProps!)}\n className={cellInnerStyles({...renderProps!, isSelectionStart, isSelectionEnd, selectionMode: isRangeSelection ? 'range' : 'single'})}>\n <div>\n {formattedDate}\n </div>\n {isUnavailable && <div className={unavailableStyles} role=\"presentation\" />}\n </div>\n {isBackgroundStyleApplied && <div style={{'--selection-span': selectionSpan} as CSSProperties} className={selectionSpanStyles({isInvalid})} role=\"presentation\" />}\n </div>\n );\n};\n\ntype DayOfWeek = 'sun' | 'mon' | 'tue' | 'wed' | 'thu' | 'fri' | 'sat';\n\n/**\n * Calculate the week index (0-based) and day index (0-based) for a given date within a month in a calendar.\n * @param date - The date to calculate indices for.\n * @param locale - The locale string (e.g., 'en-US', 'fr-FR', 'hi-IN-u-ca-indian').\n * @param firstDayOfWeek - Optional override for the first day of the week ('sun', 'mon', 'tue', etc.).\n * @returns Object with weekIndex and dayIndex.\n */\nfunction useWeekAndDayIndices(\n date: CalendarDate,\n locale: string,\n firstDayOfWeek?: DayOfWeek\n) {\n let {dayIndex, weekIndex} = useMemo(() => {\n // Get the day index within the week (0-6)\n const dayIndex = getDayOfWeek(date, locale, firstDayOfWeek);\n\n const monthStart = startOfMonth(date);\n\n // Calculate the week index by finding which week this date falls into\n // within the month's calendar grid\n const monthStartDayOfWeek = getDayOfWeek(monthStart, locale, firstDayOfWeek);\n const dayOfMonth = date.day;\n\n const weekIndex = Math.floor((dayOfMonth + monthStartDayOfWeek - 1) / 7);\n\n return {\n weekIndex,\n dayIndex\n };\n }, [date, locale, firstDayOfWeek]);\n\n return {dayIndex, weekIndex};\n}\n"],"names":[],"version":3,"file":"Calendar.cjs.map"}
|
|
1
|
+
{"mappings":"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","sources":["packages/@react-spectrum/s2/src/Calendar.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 {ActionButton, Header, HeaderContext, Heading, HeadingContext, pressScale} from './';\nimport {\n Calendar as AriaCalendar,\n CalendarCell as AriaCalendarCell,\n CalendarContext as AriaCalendarContext,\n CalendarGrid as AriaCalendarGrid,\n CalendarHeaderCell as AriaCalendarHeaderCell,\n CalendarProps as AriaCalendarProps,\n ButtonProps,\n CalendarCellProps,\n CalendarCellRenderProps,\n CalendarGridBody,\n CalendarGridHeader,\n CalendarHeaderCellProps,\n CalendarState,\n CalendarStateContext,\n ContextValue,\n DateValue,\n Provider,\n RangeCalendarContext,\n RangeCalendarState,\n RangeCalendarStateContext,\n Text,\n useSlottedContext\n} from 'react-aria-components';\nimport {AriaCalendarGridProps} from '@react-aria/calendar';\nimport {baseColor, focusRing, lightDark, style} from '../style' with {type: 'macro'};\nimport {\n CalendarDate,\n getDayOfWeek,\n startOfMonth\n} from '@internationalized/date';\nimport ChevronLeftIcon from '../s2wf-icons/S2_Icon_ChevronLeft_20_N.svg';\nimport ChevronRightIcon from '../s2wf-icons/S2_Icon_ChevronRight_20_N.svg';\nimport {forwardRefType, GlobalDOMAttributes} from '@react-types/shared';\nimport {getAllowedOverrides, StyleProps} from './style-utils' with {type: 'macro'};\nimport {helpTextStyles} from './Field';\n// @ts-ignore\nimport intlMessages from '../intl/*.json';\nimport React, {createContext, CSSProperties, ForwardedRef, forwardRef, Fragment, PropsWithChildren, ReactElement, ReactNode, useContext, useMemo, useRef} from 'react';\nimport {useDateFormatter, useLocale, useLocalizedStringFormatter} from '@react-aria/i18n';\nimport {useSpectrumContextProps} from './useSpectrumContextProps';\n\n\nexport interface CalendarProps<T extends DateValue>\n extends Omit<AriaCalendarProps<T>, 'visibleDuration' | 'style' | 'className' | 'render' | 'styles' | 'children' | keyof GlobalDOMAttributes>,\n StyleProps {\n /**\n * The error message to display when the calendar is invalid.\n */\n errorMessage?: ReactNode,\n /**\n * The number of months to display at once.\n * @default 1\n */\n visibleMonths?: number\n}\n\nexport const CalendarContext = createContext<ContextValue<Partial<CalendarProps<any>>, HTMLDivElement>>(null);\n\nconst calendarStyles = style({\n display: 'flex',\n flexDirection: 'column',\n gap: 24,\n width: 'fit',\n disableTapHighlight: true\n}, getAllowedOverrides());\n\nconst headerStyles = style({\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n width: 'full'\n});\n\nconst headingStyles = style({\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n margin: 0,\n width: 'full'\n});\n\nconst titleStyles = style({\n font: 'title-lg',\n textAlign: 'center',\n flexGrow: 1,\n flexShrink: 0,\n flexBasis: '0%',\n minWidth: 0\n});\n\nconst headerCellStyles = style({\n font: 'title-sm',\n cursor: 'default',\n textAlign: 'center',\n paddingStart: {\n default: 4,\n ':first-child': 0\n },\n paddingEnd: {\n default: 4,\n ':last-child': 0\n },\n paddingBottom: 12\n});\n\nconst cellStyles = style({\n outlineStyle: 'none',\n '--cell-gap': {\n type: 'paddingStart',\n value: 4\n },\n paddingStart: {\n default: 4,\n isFirstChild: 0\n },\n paddingEnd: {\n default: 4,\n isLastChild: 0\n },\n paddingTop: {\n default: 2,\n isFirstWeek: 0\n },\n paddingBottom: 2,\n position: 'relative',\n width: 32,\n height: 32,\n display: {\n default: 'flex',\n isOutsideMonth: 'none'\n },\n alignItems: 'center',\n justifyContent: 'center',\n disableTapHighlight: true\n});\n\nconst cellInnerStyles = style<CalendarCellRenderProps & {selectionMode: 'single' | 'range'}>({\n ...focusRing(),\n transition: {\n default: 'default',\n forcedColors: 'none'\n },\n outlineOffset: {\n default: -2,\n isToday: 2,\n isSelected: {\n selectionMode: {\n single: 2,\n range: -2\n }\n },\n isSelectionStart: 2,\n isSelectionEnd: 2\n },\n position: 'relative',\n font: 'body-sm',\n cursor: 'default',\n width: 'full',\n height: 32,\n borderRadius: 'full',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n forcedColorAdjust: 'none',\n backgroundColor: {\n default: 'transparent',\n isHovered: {\n default: 'gray-100',\n isUnavailable: 'transparent'\n },\n isPressed: 'gray-100',\n isDisabled: 'transparent',\n isToday: {\n default: baseColor('gray-300'),\n isDisabled: 'disabled'\n },\n isSelected: {\n selectionMode: {\n single: {\n default: lightDark('accent-900', 'accent-700'),\n isHovered: lightDark('accent-1000', 'accent-600'),\n isPressed: lightDark('accent-1000', 'accent-600'),\n isFocusVisible: lightDark('accent-1000', 'accent-600'),\n isDisabled: 'transparent',\n isInvalid: {\n default: lightDark('negative-900', 'negative-700'),\n isHovered: lightDark('negative-1000', 'negative-600'),\n isPressed: lightDark('negative-1000', 'negative-600'),\n isFocusVisible: lightDark('negative-1000', 'negative-600')\n }\n },\n range: {\n isHovered: {\n default: 'blue-500',\n isInvalid: {\n default: 'negative-300',\n isUnavailable: 'transparent'\n }\n }\n }\n }\n },\n isSelectionStart: {\n default: lightDark('accent-900', 'accent-700'),\n isHovered: lightDark('accent-1000', 'accent-600'),\n isPressed: lightDark('accent-1000', 'accent-600'),\n isFocusVisible: lightDark('accent-1000', 'accent-600'),\n isDisabled: 'transparent',\n isInvalid: {\n default: lightDark('negative-900', 'negative-700'),\n isHovered: {\n default: lightDark('negative-1000', 'negative-600'),\n isUnavailable: lightDark('negative-900', 'negative-700')\n },\n isPressed: lightDark('negative-1000', 'negative-600'),\n isFocusVisible: {\n default: lightDark('negative-1000', 'negative-600'),\n isUnavailable: lightDark('negative-900', 'negative-700')\n }\n }\n },\n isSelectionEnd: {\n default: lightDark('accent-900', 'accent-700'),\n isHovered: lightDark('accent-1000', 'accent-600'),\n isPressed: lightDark('accent-1000', 'accent-600'),\n isFocusVisible: lightDark('accent-1000', 'accent-600'),\n isDisabled: 'transparent',\n isInvalid: {\n default: lightDark('negative-900', 'negative-700'),\n isHovered: {\n default: lightDark('negative-1000', 'negative-600'),\n isUnavailable: lightDark('negative-900', 'negative-700')\n },\n isPressed: lightDark('negative-1000', 'negative-600'),\n isFocusVisible: {\n default: lightDark('negative-1000', 'negative-600'),\n isUnavailable: lightDark('negative-900', 'negative-700')\n }\n }\n },\n forcedColors: {\n default: 'transparent',\n isToday: 'ButtonFace',\n isHovered: 'Highlight',\n isSelected: {\n selectionMode: {\n single: 'Highlight',\n range: {\n isHovered: 'Highlight'\n }\n }\n },\n isSelectionStart: 'Highlight',\n isSelectionEnd: 'Highlight',\n isUnavailable: 'transparent'\n }\n },\n color: {\n default: 'neutral',\n isSelected: {\n default: 'white',\n selectionMode: {\n range: 'neutral'\n }\n },\n isSelectionStart: 'white',\n isSelectionEnd: 'white',\n isDisabled: 'disabled',\n forcedColors: {\n default: 'ButtonText',\n isToday: 'ButtonFace',\n isSelected: 'HighlightText',\n isSelectionStart: 'HighlightText',\n isSelectionEnd: 'HighlightText',\n isDisabled: 'GrayText'\n }\n }\n});\n\nconst unavailableStyles = style({\n position: 'absolute',\n top: 'calc(50% - 1px)',\n left: 'calc(25% - 1px)',\n right: 'calc(25% - 1px)',\n height: 2,\n transform: 'rotate(-16deg)',\n borderRadius: 'full',\n backgroundColor: '[currentColor]'\n});\n\nconst selectionSpanStyles = style<{isInvalid?: boolean}>({\n position: 'absolute',\n zIndex: -1,\n top: 0,\n insetStart: 'calc(-1 * var(--selection-span) * (var(--cell-width) + var(--cell-gap) + var(--cell-gap)))',\n insetEnd: 0,\n bottom: 0,\n borderWidth: 2,\n borderStyle: 'dashed',\n borderColor: {\n default: 'blue-800', // focus-indicator-color\n isInvalid: 'negative-900',\n forcedColors: {\n default: 'ButtonText'\n }\n },\n borderStartRadius: 'full',\n borderEndRadius: 'full',\n backgroundColor: {\n default: 'blue-subtle',\n isInvalid: 'negative-100',\n forcedColors: {\n default: 'Highlight'\n }\n },\n forcedColorAdjust: 'none'\n});\n\n/**\n * Calendars display a grid of days in one or more months and allow users to select a single date.\n */\nexport const Calendar = /*#__PURE__*/ (forwardRef as forwardRefType)(function Calendar<T extends DateValue>(props: CalendarProps<T>, ref: ForwardedRef<HTMLDivElement>) {\n [props, ref] = useSpectrumContextProps(props, ref, CalendarContext);\n let {\n visibleMonths = 1,\n errorMessage,\n UNSAFE_style,\n UNSAFE_className,\n styles,\n ...otherProps\n } = props;\n let stringFormatter = useLocalizedStringFormatter(intlMessages, '@react-spectrum/s2');\n return (\n <AriaCalendar\n {...otherProps}\n ref={ref}\n visibleDuration={{months: visibleMonths}}\n style={UNSAFE_style}\n className={(UNSAFE_className || '') + calendarStyles(null, styles)}>\n {({isInvalid, isDisabled}) => {\n return (\n <>\n <Provider\n values={[\n [HeaderContext, null],\n [HeadingContext, null]\n ]}>\n <Header styles={headerStyles}>\n <CalendarButton slot=\"previous\"><ChevronLeftIcon /></CalendarButton>\n <CalendarHeading />\n <CalendarButton slot=\"next\"><ChevronRightIcon /></CalendarButton>\n </Header>\n </Provider>\n <div\n className={style({\n display: 'flex',\n flexDirection: 'row',\n gap: 24,\n width: 'full',\n alignItems: 'start'\n })}>\n {Array.from({length: visibleMonths}).map((_, i) => (\n <CalendarGrid months={i} key={i} />\n ))}\n </div>\n {isInvalid && (\n <Text slot=\"errorMessage\" className={helpTextStyles({isInvalid, isDisabled, size: 'M'})}>\n {errorMessage || stringFormatter.format('calendar.invalidSelection', {selectedCount: 1})}\n </Text>\n )}\n </>\n );\n }}\n </AriaCalendar>\n );\n});\n\nexport const CalendarGrid = (props: Omit<AriaCalendarGridProps, 'children'> & PropsWithChildren & {months: number}): ReactElement => {\n let rangeCalendarProps = useSlottedContext(RangeCalendarContext);\n let calendarProps = useSlottedContext(AriaCalendarContext);\n let firstDayOfWeek = rangeCalendarProps?.firstDayOfWeek ?? calendarProps?.firstDayOfWeek;\n\n // use isolation to start a new stacking context so that we can use zIndex -1 for the selection span.\n return (\n <AriaCalendarGrid\n className={style({\n borderCollapse: 'collapse',\n borderSpacing: 0,\n isolation: 'isolate'\n })}\n offset={{months: props.months}}>\n <CalendarGridHeader className=\"\">\n {(day) => (\n <CalendarHeaderCell>\n {day}\n </CalendarHeaderCell>\n )}\n </CalendarGridHeader>\n <CalendarGridBody className=\"\">\n {(date) => (\n <CalendarCell date={date} firstDayOfWeek={firstDayOfWeek} />\n )}\n </CalendarGridBody>\n </AriaCalendarGrid>\n );\n};\n\n// Ordinarily the heading is a formatted date range, ie January 2025 - February 2025.\n// However, we want to show each month individually.\nexport const CalendarHeading = (): ReactElement => {\n let calendarStateContext = useContext(CalendarStateContext);\n let rangeCalendarStateContext = useContext(RangeCalendarStateContext);\n let {visibleRange, timeZone} = calendarStateContext ?? rangeCalendarStateContext ?? {};\n let currentMonth = visibleRange?.start ?? visibleRange?.end;\n let monthFormatter = useDateFormatter({\n month: 'long',\n year: 'numeric',\n era: currentMonth && currentMonth.calendar.identifier === 'gregory' && currentMonth.era === 'BC' ? 'short' : undefined,\n calendar: visibleRange?.start.calendar.identifier,\n timeZone\n });\n let months = useMemo(() => {\n if (!visibleRange) {\n return [];\n }\n let months: string[] = [];\n for (let i = visibleRange.start; i.compare(visibleRange.end) <= 0; i = i.add({months: 1})) {\n // TODO: account for the first week possibly overlapping, like with a custom 454 calendar.\n // there has to be a better way to do this...\n if (i.month === visibleRange.start.month) {\n i = i.add({weeks: 1});\n }\n months.push(monthFormatter.format(i.toDate(timeZone!)));\n }\n return months;\n }, [visibleRange, monthFormatter, timeZone]);\n\n return (\n <Heading styles={headingStyles}>\n {months.map((month, i) => {\n if (i === 0) {\n return (\n <Fragment key={month}>\n <div className={titleStyles}>{month}</div>\n </Fragment>\n );\n } else {\n return (\n <Fragment key={month}>\n {/* Spacers to account for Next/Previous buttons and gap, spelled out to show the math */}\n <div className={style({visibility: 'hidden', width: 32})} />\n <div className={style({visibility: 'hidden', width: 24})} />\n <div className={style({visibility: 'hidden', width: 32})} />\n <div className={titleStyles}>{month}</div>\n </Fragment>\n );\n }\n })}\n </Heading>\n );\n};\n\nexport const CalendarButton = (props: Omit<ButtonProps, 'children'> & {children: ReactNode}): ReactElement => {\n let {direction} = useLocale();\n return (\n <div\n className={\n style({\n scale: {\n direction: {\n rtl: -1\n }\n }\n })({direction})\n }>\n <ActionButton\n {...props}\n isQuiet>\n {props.children}\n </ActionButton>\n </div>\n );\n};\n\nconst CalendarHeaderCell = (props: Omit<CalendarHeaderCellProps, 'children'> & PropsWithChildren): ReactElement => {\n return (\n <AriaCalendarHeaderCell className={headerCellStyles}>\n {props.children}\n </AriaCalendarHeaderCell>\n );\n};\n\nconst CalendarCell = (props: Omit<CalendarCellProps, 'children'> & {firstDayOfWeek: 'sun' | 'mon' | 'tue' | 'wed' | 'thu' | 'fri' | 'sat' | undefined}): ReactElement => {\n let {locale} = useLocale();\n let firstDayOfWeek = props.firstDayOfWeek;\n // Calculate the day and week index based on the date.\n let {dayIndex, weekIndex} = useWeekAndDayIndices(props.date, locale, firstDayOfWeek);\n\n let calendarStateContext = useContext(CalendarStateContext);\n let rangeCalendarStateContext = useContext(RangeCalendarStateContext);\n let state = (calendarStateContext ?? rangeCalendarStateContext)!;\n\n let isFirstWeek = weekIndex === 0;\n let isFirstChild = dayIndex === 0;\n let isLastChild = dayIndex === 6;\n\n return (\n <AriaCalendarCell\n date={props.date}\n className={(renderProps) => cellStyles({...renderProps, isFirstChild, isLastChild, isFirstWeek})}>\n {(renderProps) => <CalendarCellInner {...props} weekIndex={weekIndex} dayIndex={dayIndex} state={state} isRangeSelection={!!rangeCalendarStateContext} renderProps={renderProps} />}\n </AriaCalendarCell>\n );\n};\n\nconst CalendarCellInner = (props: Omit<CalendarCellProps, 'children'> & {isRangeSelection: boolean, state: CalendarState | RangeCalendarState, weekIndex: number, dayIndex: number, renderProps?: CalendarCellRenderProps, date: DateValue}): ReactElement => {\n let {weekIndex, dayIndex, date, renderProps, state, isRangeSelection} = props;\n let {getDatesInWeek} = state;\n let ref = useRef<HTMLDivElement>(null);\n let {isUnavailable, formattedDate, isSelected, isSelectionStart, isSelectionEnd, isInvalid} = renderProps!;\n // only apply the selection start/end styles if the start/end date is actually selectable (aka not unavailable)\n // or if the range is invalid and thus we still want to show the styles even if the start/end date is an unavailable one\n isSelectionStart = isSelectionStart && (!isUnavailable || isInvalid);\n isSelectionEnd = isSelectionEnd && (!isUnavailable || isInvalid);\n\n let startDate = startOfMonth(date);\n let datesInWeek = getDatesInWeek(weekIndex, startDate);\n\n let isDateInRange = (checkDate: CalendarDate) => {\n if (!('highlightedRange' in state) || !state.highlightedRange) {\n return state.isSelected(checkDate);\n }\n // if invalid, check if date is within the full range boundaries\n if (isInvalid) {\n return checkDate.compare(state.highlightedRange.start) >= 0 &&\n checkDate.compare(state.highlightedRange.end) <= 0;\n }\n\n return state.isSelected(checkDate);\n };\n\n // Starting from the current day, find the first day before it in the current week that is not selected.\n // Then, the span of selected days is the current day minus the first unselected day.\n let firstUnselectedInRangeInWeek = datesInWeek.slice(0, dayIndex + 1).reverse().findIndex((date, i) => {\n return date && i > 0 && (!isDateInRange(date) || date.month !== props.date.month);\n });\n\n let selectionSpan = -1;\n if (firstUnselectedInRangeInWeek > -1 && isSelected) {\n selectionSpan = firstUnselectedInRangeInWeek - 1;\n } else if (isSelected) {\n selectionSpan = dayIndex;\n }\n let prevDay = date.subtract({days: 1});\n let nextDay = date.add({days: 1});\n\n // when invalid, show background for all selected dates (including unavailable) to make continuous range appearance\n // when valid, only show background for available selected dates\n let isBackgroundStyleApplied = (\n isSelected\n && isRangeSelection\n && (isInvalid || !isUnavailable)\n && (isDateInRange(prevDay)\n || (nextDay.month === date.month && isDateInRange(nextDay)))\n );\n\n return (\n <div\n className={style({\n position: 'relative',\n width: 32,\n '--cell-width': {\n type: 'width',\n value: '[self(width)]'\n }\n })}>\n <div\n ref={ref}\n style={pressScale(ref, {})(renderProps!)}\n className={cellInnerStyles({...renderProps!, isSelectionStart, isSelectionEnd, selectionMode: isRangeSelection ? 'range' : 'single'})}>\n <div>\n {formattedDate}\n </div>\n {isUnavailable && <div className={unavailableStyles} role=\"presentation\" />}\n </div>\n {isBackgroundStyleApplied && <div style={{'--selection-span': selectionSpan} as CSSProperties} className={selectionSpanStyles({isInvalid})} role=\"presentation\" />}\n </div>\n );\n};\n\ntype DayOfWeek = 'sun' | 'mon' | 'tue' | 'wed' | 'thu' | 'fri' | 'sat';\n\n/**\n * Calculate the week index (0-based) and day index (0-based) for a given date within a month in a calendar.\n * @param date - The date to calculate indices for.\n * @param locale - The locale string (e.g., 'en-US', 'fr-FR', 'hi-IN-u-ca-indian').\n * @param firstDayOfWeek - Optional override for the first day of the week ('sun', 'mon', 'tue', etc.).\n * @returns Object with weekIndex and dayIndex.\n */\nfunction useWeekAndDayIndices(\n date: CalendarDate,\n locale: string,\n firstDayOfWeek?: DayOfWeek\n) {\n let {dayIndex, weekIndex} = useMemo(() => {\n // Get the day index within the week (0-6)\n const dayIndex = getDayOfWeek(date, locale, firstDayOfWeek);\n\n const monthStart = startOfMonth(date);\n\n // Calculate the week index by finding which week this date falls into\n // within the month's calendar grid\n const monthStartDayOfWeek = getDayOfWeek(monthStart, locale, firstDayOfWeek);\n const dayOfMonth = date.day;\n\n const weekIndex = Math.floor((dayOfMonth + monthStartDayOfWeek - 1) / 7);\n\n return {\n weekIndex,\n dayIndex\n };\n }, [date, locale, firstDayOfWeek]);\n\n return {dayIndex, weekIndex};\n}\n"],"names":[],"version":3,"file":"Calendar.cjs.map"}
|