@transferwise/components 46.159.2 → 46.160.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/ExpressiveMoneyInput/Chevron/Chevron.js +10 -2
- package/build/ExpressiveMoneyInput/Chevron/Chevron.js.map +1 -1
- package/build/ExpressiveMoneyInput/Chevron/Chevron.mjs +11 -3
- package/build/ExpressiveMoneyInput/Chevron/Chevron.mjs.map +1 -1
- package/build/ListItem/ListItem.js +6 -5
- package/build/ListItem/ListItem.js.map +1 -1
- package/build/ListItem/ListItem.mjs +6 -5
- package/build/ListItem/ListItem.mjs.map +1 -1
- package/build/ListItem/Navigation/ListItemNavigation.js +1 -0
- package/build/ListItem/Navigation/ListItemNavigation.js.map +1 -1
- package/build/ListItem/Navigation/ListItemNavigation.mjs +1 -0
- package/build/ListItem/Navigation/ListItemNavigation.mjs.map +1 -1
- package/build/ProcessIndicator/ProcessIndicator.js +1 -1
- package/build/ProcessIndicator/ProcessIndicator.js.map +1 -1
- package/build/ProcessIndicator/ProcessIndicator.mjs +1 -1
- package/build/ProcessIndicator/ProcessIndicator.mjs.map +1 -1
- package/build/Prompt/CriticalBanner/CriticalBanner.js +10 -1
- package/build/Prompt/CriticalBanner/CriticalBanner.js.map +1 -1
- package/build/Prompt/CriticalBanner/CriticalBanner.mjs +10 -1
- package/build/Prompt/CriticalBanner/CriticalBanner.mjs.map +1 -1
- package/build/common/Panel/Panel.js +13 -25
- package/build/common/Panel/Panel.js.map +1 -1
- package/build/common/Panel/Panel.mjs +10 -22
- package/build/common/Panel/Panel.mjs.map +1 -1
- package/build/common/Panel/Panel.positionUtils.js +68 -0
- package/build/common/Panel/Panel.positionUtils.js.map +1 -0
- package/build/common/Panel/Panel.positionUtils.mjs +63 -0
- package/build/common/Panel/Panel.positionUtils.mjs.map +1 -0
- package/build/common/PropsValues/position.js +0 -25
- package/build/common/PropsValues/position.js.map +1 -1
- package/build/common/PropsValues/position.mjs +1 -24
- package/build/common/PropsValues/position.mjs.map +1 -1
- package/build/main.css +4370 -7983
- package/build/styles/Accordion/Accordion.css +23 -21
- package/build/styles/AvatarLayout/AvatarLayout.css +11 -11
- package/build/styles/AvatarView/AvatarView.css +11 -3
- package/build/styles/AvatarView/Dot/Dot.css +11 -3
- package/build/styles/Button/Button.css +6 -6
- package/build/styles/Button/LegacyButton/LegacyButton.css +3 -9
- package/build/styles/Calendar/Calendar.css +9 -8
- package/build/styles/Calendar/TableLink/TableLink.css +8 -7
- package/build/styles/Carousel/Carousel.css +28 -27
- package/build/styles/CheckboxButton/CheckboxButton.css +13 -15
- package/build/styles/Chips/Chip/Chip.css +26 -29
- package/build/styles/Container/Container.css +5 -5
- package/build/styles/DateInput/DateInput.css +4 -4
- package/build/styles/DateLookup/DateLookup.css +1 -1
- package/build/styles/DateLookup/DateTrigger/DateTrigger.css +9 -15
- package/build/styles/DefinitionList/DefinitionList.css +12 -23
- package/build/styles/Dimmer/Dimmer.css +9 -19
- package/build/styles/Divider/Divider.css +8 -7
- package/build/styles/Drawer/Drawer.css +16 -15
- package/build/styles/DropFade/DropFade.css +2 -2
- package/build/styles/ExpressiveMoneyInput/AmountInput/AmountInput.css +4 -4
- package/build/styles/ExpressiveMoneyInput/Chevron/Chevron.css +5 -5
- package/build/styles/ExpressiveMoneyInput/ExpressiveMoneyInput.css +11 -11
- package/build/styles/Field/Field.css +13 -12
- package/build/styles/FlowNavigation/AnimatedLabel/AnimatedLabel.css +5 -5
- package/build/styles/FlowNavigation/FlowNavigation.css +23 -44
- package/build/styles/Header/Header.css +11 -9
- package/build/styles/Image/Image.css +7 -7
- package/build/styles/Info/Info.css +1 -1
- package/build/styles/Inputs/Input/Input.css +24 -25
- package/build/styles/Inputs/InputGroup/InputGroup.css +13 -13
- package/build/styles/Inputs/SelectInput/BottomSheet/SelectInputBottomSheet.css +10 -10
- package/build/styles/Inputs/SelectInput/ButtonInput/SelectInputButtonInput.css +7 -7
- package/build/styles/Inputs/SelectInput/ClearButton/SelectInputClearButton.css +6 -6
- package/build/styles/Inputs/SelectInput/ItemView/SelectInputItemView.css +4 -4
- package/build/styles/Inputs/SelectInput/Option/SelectInputOption.css +4 -2
- package/build/styles/Inputs/SelectInput/OptionContent/SelectInputOptionContent.css +4 -4
- package/build/styles/Inputs/SelectInput/Options/SelectInputOptions.css +17 -12
- package/build/styles/Inputs/SelectInput/Popover/SelectInputPopover.css +4 -4
- package/build/styles/Inputs/SelectInput/SelectInput.css +56 -49
- package/build/styles/Inputs/TextArea/TextArea.css +26 -27
- package/build/styles/InstructionsList/InstructionsList.css +5 -5
- package/build/styles/Link/Link.css +2 -8
- package/build/styles/ListItem/ListItem.css +38 -35
- package/build/styles/ListItem/ListItem.grid.css +7 -7
- package/build/styles/Loader/Loader.css +31 -31
- package/build/styles/Logo/Logo.css +2 -2
- package/build/styles/Modal/Modal.css +15 -14
- package/build/styles/MoneyInput/MoneyInput.css +10 -20
- package/build/styles/Nudge/Nudge.css +53 -115
- package/build/styles/PhoneNumberInput/PhoneNumberInput.css +3 -9
- package/build/styles/Popover/Popover.css +13 -10
- package/build/styles/Progress/Progress.css +3 -3
- package/build/styles/ProgressBar/ProgressBar.css +4 -4
- package/build/styles/PromoCard/PromoCard.css +28 -42
- package/build/styles/Prompt/ActionPrompt/ActionPrompt.css +9 -9
- package/build/styles/Prompt/CriticalBanner/CriticalBanner.css +57 -23
- package/build/styles/Prompt/InfoPrompt/InfoPrompt.css +15 -15
- package/build/styles/Prompt/InlinePrompt/InlinePrompt.css +5 -6
- package/build/styles/Prompt/PrimitivePrompt/PrimitivePrompt.css +10 -8
- package/build/styles/RadioGroup/RadioGroup.css +1 -1
- package/build/styles/Section/Section.css +6 -6
- package/build/styles/SegmentedControl/SegmentedControl.css +18 -15
- package/build/styles/SlidingPanel/SlidingPanel.css +17 -31
- package/build/styles/Snackbar/Snackbar.css +21 -35
- package/build/styles/Stepper/Stepper.css +9 -12
- package/build/styles/Sticky/Sticky.css +2 -2
- package/build/styles/Switch/Switch.css +5 -4
- package/build/styles/Table/Table.css +60 -57
- package/build/styles/Tabs/Tabs.css +18 -14
- package/build/styles/Tile/Tile.css +12 -12
- package/build/styles/Tooltip/Tooltip.css +2 -2
- package/build/styles/Typeahead/Typeahead.css +42 -54
- package/build/styles/Upload/Upload.css +11 -10
- package/build/styles/UploadInput/UploadButton/UploadButton.css +20 -19
- package/build/styles/UploadInput/UploadInput.css +4 -4
- package/build/styles/UploadInput/UploadItem/UploadItem.css +49 -49
- package/build/styles/_deprecated/ActionButton/ActionButton.css +8 -6
- package/build/styles/_deprecated/Alert/Alert.css +2 -2
- package/build/styles/_deprecated/Avatar/Avatar.css +65 -65
- package/build/styles/_deprecated/Badge/Badge.css +12 -14
- package/build/styles/_deprecated/Card/Card.css +27 -18
- package/build/styles/_deprecated/CriticalBanner/CriticalCommsBanner.css +7 -7
- package/build/styles/_deprecated/LegacyListItem/LegacyListItem.css +1 -1
- package/build/styles/_deprecated/NavigationOption/NavigationOption.css +6 -19
- package/build/styles/_deprecated/NavigationOptionsList/NavigationOptionsList.css +3 -8
- package/build/styles/_deprecated/Select/Select.css +57 -104
- package/build/styles/_deprecated/Summary/Summary.css +19 -30
- package/build/styles/common/BaseCard/BaseCard.css +3 -7
- package/build/styles/common/BottomSheet/BottomSheet.css +30 -18
- package/build/styles/common/Circle/Circle.css +10 -10
- package/build/styles/common/CloseButton/CloseButton.css +36 -36
- package/build/styles/common/LiveRegion/LiveRegion.css +1 -1
- package/build/styles/common/Option/Option.css +42 -44
- package/build/styles/common/Panel/Panel.css +19 -11
- package/build/styles/css/accordion.css +27 -46
- package/build/styles/css/alerts.css +56 -124
- package/build/styles/css/badge.css +20 -30
- package/build/styles/css/breadcrumbs.css +6 -4
- package/build/styles/css/button-groups.css +116 -254
- package/build/styles/css/buttons.css +50 -95
- package/build/styles/css/chevron.css +3 -0
- package/build/styles/css/circles.css +38 -76
- package/build/styles/css/close.css +1 -4
- package/build/styles/css/column-layout.css +38 -60
- package/build/styles/css/currency-flags.css +4 -17
- package/build/styles/css/decision.css +14 -12
- package/build/styles/css/dropdowns.css +59 -210
- package/build/styles/css/droppable.css +43 -38
- package/build/styles/css/flex.css +40 -136
- package/build/styles/css/footer.css +15 -14
- package/build/styles/css/grid.css +383 -1430
- package/build/styles/css/input-groups.css +254 -542
- package/build/styles/css/link-callout.css +2 -8
- package/build/styles/css/list-group.css +57 -92
- package/build/styles/css/loaders.css +11 -11
- package/build/styles/css/media.css +10 -34
- package/build/styles/css/modals.css +49 -59
- package/build/styles/css/navbar.css +372 -812
- package/build/styles/css/navs.css +59 -124
- package/build/styles/css/neptune-addons.css +687 -1234
- package/build/styles/css/neptune-core.css +123 -229
- package/build/styles/css/neptune-social-media.css +9 -33
- package/build/styles/css/neptune.css +3060 -6498
- package/build/styles/css/panels.css +143 -243
- package/build/styles/css/popovers.css +114 -295
- package/build/styles/css/process.css +79 -86
- package/build/styles/css/progress-bars.css +13 -19
- package/build/styles/css/select.css +21 -53
- package/build/styles/css/sequences.css +99 -219
- package/build/styles/css/table.css +48 -43
- package/build/styles/css/tick.css +14 -11
- package/build/styles/css/tooltip.css +49 -82
- package/build/styles/css/utilities.css +12 -40
- package/build/styles/css/wells.css +16 -16
- package/build/styles/main.css +4370 -7983
- package/build/styles/styles/less/accordion.css +27 -46
- package/build/styles/styles/less/alerts.css +56 -124
- package/build/styles/styles/less/badge.css +20 -30
- package/build/styles/styles/less/breadcrumbs.css +6 -4
- package/build/styles/styles/less/button-groups.css +116 -254
- package/build/styles/styles/less/buttons.css +50 -95
- package/build/styles/styles/less/chevron.css +3 -0
- package/build/styles/styles/less/circles.css +38 -76
- package/build/styles/styles/less/close.css +1 -4
- package/build/styles/styles/less/column-layout.css +38 -60
- package/build/styles/styles/less/currency-flags.css +4 -17
- package/build/styles/styles/less/decision.css +14 -12
- package/build/styles/styles/less/dropdowns.css +59 -210
- package/build/styles/styles/less/droppable.css +43 -38
- package/build/styles/styles/less/flex.css +40 -136
- package/build/styles/styles/less/footer.css +15 -14
- package/build/styles/styles/less/forms/bootstrap-forms.css +180 -344
- package/build/styles/styles/less/forms/checkbox-radio.css +29 -56
- package/build/styles/styles/less/grid.css +383 -1430
- package/build/styles/styles/less/input-groups.css +254 -542
- package/build/styles/styles/less/link-callout.css +2 -8
- package/build/styles/styles/less/list-group.css +57 -92
- package/build/styles/styles/less/loaders.css +11 -11
- package/build/styles/styles/less/media.css +10 -34
- package/build/styles/styles/less/modals.css +49 -59
- package/build/styles/styles/less/navbar.css +372 -812
- package/build/styles/styles/less/navs.css +59 -124
- package/build/styles/styles/less/neptune-addons.css +687 -1234
- package/build/styles/styles/less/neptune-core.css +123 -229
- package/build/styles/styles/less/neptune-social-media.css +9 -33
- package/build/styles/styles/less/neptune.css +3060 -6498
- package/build/styles/styles/less/panels.css +143 -243
- package/build/styles/styles/less/popovers.css +114 -295
- package/build/styles/styles/less/process.css +79 -86
- package/build/styles/styles/less/progress-bars.css +13 -19
- package/build/styles/styles/less/select.css +21 -53
- package/build/styles/styles/less/sequences.css +99 -219
- package/build/styles/styles/less/table.css +48 -43
- package/build/styles/styles/less/tick.css +14 -11
- package/build/styles/styles/less/tooltip.css +49 -82
- package/build/styles/styles/less/utilities.css +12 -40
- package/build/styles/styles/less/wells.css +16 -16
- package/build/types/ExpressiveMoneyInput/Chevron/Chevron.d.ts.map +1 -1
- package/build/types/ListItem/ListItem.d.ts.map +1 -1
- package/build/types/Prompt/CriticalBanner/CriticalBanner.d.ts +6 -1
- package/build/types/Prompt/CriticalBanner/CriticalBanner.d.ts.map +1 -1
- package/build/types/common/Panel/Panel.d.ts +1 -1
- package/build/types/common/Panel/Panel.d.ts.map +1 -1
- package/build/types/common/Panel/Panel.positionUtils.d.ts +7 -0
- package/build/types/common/Panel/Panel.positionUtils.d.ts.map +1 -0
- package/build/types/common/PropsValues/position.d.ts +0 -13
- package/build/types/common/PropsValues/position.d.ts.map +1 -1
- package/build/types/common/ResponsivePanel/ResponsivePanel.d.ts +1 -1
- package/package.json +8 -8
- package/src/Accordion/Accordion.css +23 -21
- package/src/Accordion/Accordion.less +3 -4
- package/src/AvatarLayout/AvatarLayout.css +11 -11
- package/src/AvatarView/AvatarView.css +11 -3
- package/src/AvatarView/Dot/Dot.css +11 -3
- package/src/AvatarView/Dot/Dot.less +7 -1
- package/src/Button/Button.css +6 -6
- package/src/Button/LegacyButton/LegacyButton.css +3 -9
- package/src/Button/LegacyButton/LegacyButton.less +1 -3
- package/src/Button/_stories/Button.test.story.tsx +1 -1
- package/src/Calendar/Calendar.css +9 -8
- package/src/Calendar/TableLink/TableLink.css +8 -7
- package/src/Carousel/Carousel.css +28 -27
- package/src/Checkbox/_stories/Checkbox.story.tsx +1 -1
- package/src/Checkbox/_stories/Checkbox.test.story.tsx +3 -2
- package/src/CheckboxButton/CheckboxButton.css +13 -15
- package/src/CheckboxButton/CheckboxButton.less +8 -4
- package/src/Chevron/_stories/Chevron.test.story.tsx +2 -2
- package/src/Chips/Chip/Chip.css +26 -29
- package/src/Chips/Chip/Chip.less +5 -3
- package/src/Container/Container.css +5 -5
- package/src/DateInput/DateInput.css +4 -4
- package/src/DateLookup/DateLookup.css +1 -1
- package/src/DateLookup/DateTrigger/DateTrigger.css +9 -15
- package/src/DateLookup/DateTrigger/DateTrigger.less +1 -2
- package/src/Decision/Decision.less +0 -2
- package/src/DefinitionList/DefinitionList.css +12 -23
- package/src/DefinitionList/DefinitionList.less +2 -4
- package/src/Dimmer/Dimmer.css +9 -19
- package/src/Dimmer/Dimmer.less +2 -3
- package/src/Divider/Divider.css +8 -7
- package/src/Drawer/Drawer.css +16 -15
- package/src/DropFade/DropFade.css +2 -2
- package/src/ExpressiveMoneyInput/AmountInput/AmountInput.css +4 -4
- package/src/ExpressiveMoneyInput/Chevron/Chevron.css +5 -5
- package/src/ExpressiveMoneyInput/Chevron/Chevron.tsx +8 -3
- package/src/ExpressiveMoneyInput/ExpressiveMoneyInput.css +11 -11
- package/src/Field/Field.css +13 -12
- package/src/FlowNavigation/AnimatedLabel/AnimatedLabel.css +5 -5
- package/src/FlowNavigation/FlowNavigation.css +23 -44
- package/src/Header/Header.css +11 -9
- package/src/Header/_stories/Header.test.story.tsx +1 -1
- package/src/Image/Image.css +7 -7
- package/src/Info/Info.css +1 -1
- package/src/Info/_stories/Info.rtl.test.story.tsx +35 -10
- package/src/Info/_stories/Info.story.tsx +1 -1
- package/src/Inputs/Input/Input.css +24 -25
- package/src/Inputs/InputGroup/InputGroup.css +13 -13
- package/src/Inputs/SelectInput/BottomSheet/SelectInputBottomSheet.css +10 -10
- package/src/Inputs/SelectInput/ButtonInput/SelectInputButtonInput.css +7 -7
- package/src/Inputs/SelectInput/ClearButton/SelectInputClearButton.css +6 -6
- package/src/Inputs/SelectInput/ItemView/SelectInputItemView.css +4 -4
- package/src/Inputs/SelectInput/Option/SelectInputOption.css +4 -2
- package/src/Inputs/SelectInput/OptionContent/SelectInputOptionContent.css +4 -4
- package/src/Inputs/SelectInput/Options/SelectInputOptions.css +17 -12
- package/src/Inputs/SelectInput/Popover/SelectInputPopover.css +4 -4
- package/src/Inputs/SelectInput/SelectInput.css +56 -49
- package/src/Inputs/SelectInput/_stories/SelectInput.test.story.tsx +1 -1
- package/src/Inputs/TextArea/TextArea.css +26 -27
- package/src/InstructionsList/InstructionsList.css +5 -5
- package/src/Link/Link.css +2 -8
- package/src/Link/Link.less +3 -3
- package/src/ListItem/ListItem.css +38 -35
- package/src/ListItem/ListItem.grid.css +7 -7
- package/src/ListItem/ListItem.tsx +8 -5
- package/src/ListItem/Navigation/ListItemNavigation.test.tsx +13 -0
- package/src/ListItem/Navigation/ListItemNavigation.tsx +1 -1
- package/src/ListItem/_stories/subcomponents.tsx +1 -1
- package/src/Loader/Loader.css +31 -31
- package/src/Loader/_stories/Loader.test.story.tsx +23 -0
- package/src/Logo/Logo.css +2 -2
- package/src/Modal/Modal.css +15 -14
- package/src/MoneyInput/MoneyInput.css +10 -20
- package/src/MoneyInput/MoneyInput.less +2 -3
- package/src/MoneyInput/_stories/MoneyInput.rtl.test.story.tsx +1 -1
- package/src/Nudge/Nudge.css +53 -115
- package/src/Nudge/Nudge.less +4 -12
- package/src/Nudge/_stories/Nudge.test.story.tsx +29 -12
- package/src/PhoneNumberInput/PhoneNumberInput.css +3 -9
- package/src/PhoneNumberInput/PhoneNumberInput.less +1 -3
- package/src/PhoneNumberInput/_stories/{PhoneNumberInput.test.story.tsx → PhoneNumberInput.rtl.test.story.tsx} +18 -10
- package/src/Popover/Popover.css +13 -10
- package/src/ProcessIndicator/ProcessIndicator.tsx +1 -1
- package/src/ProcessIndicator/_stories/ProcessIndicator.test.story.tsx +32 -0
- package/src/Progress/Progress.css +3 -3
- package/src/ProgressBar/ProgressBar.css +4 -4
- package/src/ProgressBar/_stories/ProgressBar.test.story.tsx +33 -19
- package/src/PromoCard/PromoCard.css +28 -42
- package/src/PromoCard/PromoCard.less +24 -32
- package/src/Prompt/ActionPrompt/ActionPrompt.css +9 -9
- package/src/Prompt/CriticalBanner/CriticalBanner.css +57 -23
- package/src/Prompt/CriticalBanner/CriticalBanner.less +45 -0
- package/src/Prompt/CriticalBanner/CriticalBanner.test.tsx +26 -3
- package/src/Prompt/CriticalBanner/CriticalBanner.tsx +15 -1
- package/src/Prompt/CriticalBanner/_stories/CriticalBanner.accessibility.docs.mdx +4 -1
- package/src/Prompt/CriticalBanner/_stories/CriticalBanner.story.tsx +52 -0
- package/src/Prompt/CriticalBanner/_stories/CriticalBanner.test.story.tsx +22 -1
- package/src/Prompt/InfoPrompt/InfoPrompt.css +15 -15
- package/src/Prompt/InlinePrompt/InlinePrompt.css +5 -6
- package/src/Prompt/PrimitivePrompt/PrimitivePrompt.css +10 -8
- package/src/RadioGroup/RadioGroup.css +1 -1
- package/src/Section/Section.css +6 -6
- package/src/SegmentedControl/SegmentedControl.css +18 -15
- package/src/SlidingPanel/SlidingPanel.css +17 -31
- package/src/SlidingPanel/SlidingPanel.less +12 -4
- package/src/SlidingPanel/_stories/SlidingPanel.rtl.test.story.tsx +4 -3
- package/src/Snackbar/Snackbar.css +21 -35
- package/src/Snackbar/Snackbar.less +3 -9
- package/src/Snackbar/_stories/Snackbar.rtl.test.story.tsx +14 -16
- package/src/Snackbar/_stories/Snackbar.story.tsx +1 -1
- package/src/Snackbar/_stories/Snackbar.test.story.tsx +1 -1
- package/src/StatusIcon/_stories/StatusIcon.test.story.tsx +12 -4
- package/src/Stepper/Stepper.css +9 -12
- package/src/Stepper/Stepper.less +1 -1
- package/src/Sticky/Sticky.css +2 -2
- package/src/Switch/Switch.css +5 -4
- package/src/Table/Table.css +60 -57
- package/src/Tabs/Tabs.css +18 -14
- package/src/Tabs/Tabs.less +0 -1
- package/src/Tile/Tile.css +12 -12
- package/src/Tooltip/Tooltip.css +2 -2
- package/src/Typeahead/Typeahead.css +42 -54
- package/src/Typeahead/Typeahead.less +2 -3
- package/src/Upload/Upload.css +11 -10
- package/src/UploadInput/UploadButton/UploadButton.css +20 -19
- package/src/UploadInput/UploadInput.css +4 -4
- package/src/UploadInput/UploadItem/UploadItem.css +49 -49
- package/src/UploadInput/UploadItem/UploadItem.less +7 -6
- package/src/UploadInput/_stories/UploadInput.test.story.tsx +1 -1
- package/src/_deprecated/ActionButton/ActionButton.css +8 -6
- package/src/_deprecated/Alert/Alert.css +2 -2
- package/src/_deprecated/Avatar/Avatar.css +65 -65
- package/src/_deprecated/Avatar/Avatar.less +0 -1
- package/src/_deprecated/Badge/Badge.css +12 -14
- package/src/_deprecated/Badge/Badge.less +11 -18
- package/src/_deprecated/Card/Card.css +27 -18
- package/src/_deprecated/Card/Card.less +1 -2
- package/src/_deprecated/CriticalBanner/CriticalCommsBanner.css +7 -7
- package/src/_deprecated/CriticalBanner/_stories/CriticalCommsBanner.test.story.tsx +0 -16
- package/src/_deprecated/LegacyListItem/LegacyListItem.css +1 -1
- package/src/_deprecated/NavigationOption/NavigationOption.css +6 -19
- package/src/_deprecated/NavigationOption/NavigationOption.less +3 -4
- package/src/_deprecated/NavigationOptionsList/NavigationOptionsList.css +3 -8
- package/src/_deprecated/NavigationOptionsList/NavigationOptionsList.less +1 -3
- package/src/_deprecated/OverlayHeader/_stories/OverlayHeader.test.story.tsx +15 -0
- package/src/_deprecated/Select/Select.css +57 -104
- package/src/_deprecated/Select/Select.less +10 -11
- package/src/_deprecated/Summary/Summary.css +19 -30
- package/src/_deprecated/Summary/Summary.less +1 -8
- package/src/common/BaseCard/BaseCard.css +3 -7
- package/src/common/BaseCard/BaseCard.less +0 -5
- package/src/common/BottomSheet/BottomSheet.css +30 -18
- package/src/common/Circle/Circle.css +10 -10
- package/src/common/CloseButton/CloseButton.css +36 -36
- package/src/common/LiveRegion/LiveRegion.css +1 -1
- package/src/common/Option/Option.css +42 -44
- package/src/common/Option/Option.less +8 -10
- package/src/common/Panel/Panel.css +19 -11
- package/src/common/Panel/Panel.less +27 -9
- package/src/common/Panel/Panel.positionUtils.ts +79 -0
- package/src/common/Panel/Panel.test.tsx +40 -0
- package/src/common/Panel/Panel.tsx +13 -24
- package/src/common/Panel/_stories/Panel.rtl.test.story.tsx +110 -0
- package/src/common/PropsValues/position.ts +0 -50
- package/src/main.css +4370 -7983
- package/src/styles/less/accordion.css +27 -46
- package/src/styles/less/addons/_spacing-utilities.less +4 -4
- package/src/styles/less/alerts.css +56 -124
- package/src/styles/less/badge.css +20 -30
- package/src/styles/less/breadcrumbs.css +6 -4
- package/src/styles/less/button-groups.css +116 -254
- package/src/styles/less/buttons.css +50 -95
- package/src/styles/less/buttons.less +3 -11
- package/src/styles/less/chevron.css +3 -0
- package/src/styles/less/chevron.less +4 -0
- package/src/styles/less/circles.css +38 -76
- package/src/styles/less/close.css +1 -4
- package/src/styles/less/column-layout.css +38 -60
- package/src/styles/less/currency-flags.css +4 -17
- package/src/styles/less/decision.css +14 -12
- package/src/styles/less/dropdowns.css +59 -210
- package/src/styles/less/droppable.css +43 -38
- package/src/styles/less/flex.css +40 -136
- package/src/styles/less/footer.css +15 -14
- package/src/styles/less/forms/bootstrap-forms.css +180 -344
- package/src/styles/less/forms/checkbox-radio.css +29 -56
- package/src/styles/less/grid.css +383 -1430
- package/src/styles/less/input-groups.css +254 -542
- package/src/styles/less/link-callout.css +2 -8
- package/src/styles/less/list-group.css +57 -92
- package/src/styles/less/loaders.css +11 -11
- package/src/styles/less/media.css +10 -34
- package/src/styles/less/mixins/_logical-properties-IE-friendly.less +1 -0
- package/src/styles/less/mixins/_logical-properties-modern-browsers.less +80 -41
- package/src/styles/less/mixins/_logical-properties.less +3 -3
- package/src/styles/less/modals.css +49 -59
- package/src/styles/less/navbar.css +372 -812
- package/src/styles/less/navs.css +59 -124
- package/src/styles/less/neptune-addons.css +687 -1234
- package/src/styles/less/neptune-core.css +123 -229
- package/src/styles/less/neptune-social-media.css +9 -33
- package/src/styles/less/neptune.css +3060 -6498
- package/src/styles/less/panels.css +143 -243
- package/src/styles/less/popovers.css +114 -295
- package/src/styles/less/process.css +79 -86
- package/src/styles/less/process.less +13 -6
- package/src/styles/less/progress-bars.css +13 -19
- package/src/styles/less/select.css +21 -53
- package/src/styles/less/sequences.css +99 -219
- package/src/styles/less/table.css +48 -43
- package/src/styles/less/tick.css +14 -11
- package/src/styles/less/tick.less +7 -3
- package/src/styles/less/tooltip.css +49 -82
- package/src/styles/less/utilities.css +12 -40
- package/src/styles/less/wells.css +16 -16
|
@@ -5,14 +5,14 @@
|
|
|
5
5
|
border: none;
|
|
6
6
|
background: none;
|
|
7
7
|
padding: 0;
|
|
8
|
-
|
|
9
|
-
|
|
8
|
+
block-size: 16px;
|
|
9
|
+
block-size: var(--size-16);
|
|
10
10
|
--ring-outline-offset: 0;
|
|
11
11
|
}
|
|
12
12
|
.np-close-button--large,
|
|
13
13
|
.np-close-button--x-large {
|
|
14
|
-
|
|
15
|
-
|
|
14
|
+
block-size: 24px;
|
|
15
|
+
block-size: var(--size-24);
|
|
16
16
|
}
|
|
17
17
|
.np-close-button:hover {
|
|
18
18
|
color: #008fc9;
|
|
@@ -20,10 +20,10 @@
|
|
|
20
20
|
}
|
|
21
21
|
.np-theme-personal .np-close-button {
|
|
22
22
|
color: var(--color-interactive-primary);
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
23
|
+
block-size: 32px;
|
|
24
|
+
block-size: var(--size-32);
|
|
25
|
+
inline-size: 32px;
|
|
26
|
+
inline-size: var(--size-32);
|
|
27
27
|
display: inline-flex;
|
|
28
28
|
align-items: center;
|
|
29
29
|
justify-content: center;
|
|
@@ -33,55 +33,55 @@
|
|
|
33
33
|
}
|
|
34
34
|
@media (max-width: 320px) {
|
|
35
35
|
.np-theme-personal .np-close-button {
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
36
|
+
block-size: 64px;
|
|
37
|
+
block-size: var(--size-64);
|
|
38
|
+
inline-size: 64px;
|
|
39
|
+
inline-size: var(--size-64);
|
|
40
40
|
}
|
|
41
41
|
}
|
|
42
42
|
.np-theme-personal .np-close-button--x-small {
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
43
|
+
block-size: 24px;
|
|
44
|
+
block-size: var(--size-24);
|
|
45
|
+
inline-size: 24px;
|
|
46
|
+
inline-size: var(--size-24);
|
|
47
47
|
flex-shrink: 0;
|
|
48
48
|
}
|
|
49
49
|
@media (max-width: 320px) {
|
|
50
50
|
.np-theme-personal .np-close-button--x-small {
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
51
|
+
block-size: 48px;
|
|
52
|
+
block-size: var(--size-48);
|
|
53
|
+
inline-size: 48px;
|
|
54
|
+
inline-size: var(--size-48);
|
|
55
55
|
}
|
|
56
56
|
}
|
|
57
57
|
.np-theme-personal .np-close-button--large {
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
58
|
+
block-size: 40px;
|
|
59
|
+
block-size: var(--size-40);
|
|
60
|
+
inline-size: 40px;
|
|
61
|
+
inline-size: var(--size-40);
|
|
62
62
|
flex-shrink: 0;
|
|
63
63
|
}
|
|
64
64
|
@media (max-width: 320px) {
|
|
65
65
|
.np-theme-personal .np-close-button--large {
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
66
|
+
block-size: 80px;
|
|
67
|
+
block-size: var(--size-80);
|
|
68
|
+
inline-size: 80px;
|
|
69
|
+
inline-size: var(--size-80);
|
|
70
70
|
}
|
|
71
71
|
}
|
|
72
72
|
.np-theme-personal .np-close-button--x-large {
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
73
|
+
block-size: 48px;
|
|
74
|
+
block-size: var(--size-48);
|
|
75
|
+
inline-size: 48px;
|
|
76
|
+
inline-size: var(--size-48);
|
|
77
77
|
flex-shrink: 0;
|
|
78
78
|
}
|
|
79
79
|
@media (max-width: 320px) {
|
|
80
80
|
.np-theme-personal .np-close-button--x-large {
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
81
|
+
block-size: 96px;
|
|
82
|
+
block-size: var(--size-96);
|
|
83
|
+
inline-size: 96px;
|
|
84
|
+
inline-size: var(--size-96);
|
|
85
85
|
}
|
|
86
86
|
}
|
|
87
87
|
.np-theme-personal .np-close-button:not(.disabled):not(:disabled):hover {
|
|
@@ -8,10 +8,10 @@
|
|
|
8
8
|
outline: none;
|
|
9
9
|
}
|
|
10
10
|
.np-option .circle-sm {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
11
|
+
inline-size: 40px;
|
|
12
|
+
inline-size: var(--size-40);
|
|
13
|
+
block-size: 40px;
|
|
14
|
+
block-size: var(--size-40);
|
|
15
15
|
}
|
|
16
16
|
.np-option__title {
|
|
17
17
|
color: #37517e;
|
|
@@ -25,8 +25,8 @@
|
|
|
25
25
|
margin: 0;
|
|
26
26
|
}
|
|
27
27
|
.np-option__body {
|
|
28
|
-
margin-
|
|
29
|
-
margin-
|
|
28
|
+
margin-block-start: 4px;
|
|
29
|
+
margin-block-start: var(--size-4);
|
|
30
30
|
color: #5d7079;
|
|
31
31
|
color: var(--color-content-secondary);
|
|
32
32
|
font-size: 0.875rem;
|
|
@@ -39,58 +39,56 @@
|
|
|
39
39
|
display: block;
|
|
40
40
|
}
|
|
41
41
|
.np-option__no-media-circle {
|
|
42
|
-
min-
|
|
43
|
-
min-
|
|
44
|
-
max-
|
|
45
|
-
max-
|
|
42
|
+
min-inline-size: 48px;
|
|
43
|
+
min-inline-size: var(--size-48);
|
|
44
|
+
max-inline-size: 64px;
|
|
45
|
+
max-inline-size: var(--size-64);
|
|
46
46
|
display: flex;
|
|
47
47
|
justify-content: center;
|
|
48
48
|
}
|
|
49
49
|
.np-option__no-media-circle > * {
|
|
50
|
-
max-
|
|
50
|
+
max-block-size: 76px;
|
|
51
51
|
}
|
|
52
52
|
button.np-option {
|
|
53
53
|
background-color: transparent;
|
|
54
|
-
|
|
55
|
-
text-align:
|
|
56
|
-
}
|
|
57
|
-
[dir="rtl"] button.np-option {
|
|
58
|
-
text-align: right;
|
|
54
|
+
inline-size: 100%;
|
|
55
|
+
text-align: start;
|
|
59
56
|
}
|
|
60
57
|
.np-theme-personal .np-option .circle {
|
|
61
58
|
overflow: visible;
|
|
62
59
|
}
|
|
63
60
|
.np-theme-personal .np-option .circle-sm {
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
61
|
+
inline-size: 48px;
|
|
62
|
+
inline-size: var(--size-48);
|
|
63
|
+
block-size: 48px;
|
|
64
|
+
block-size: var(--size-48);
|
|
68
65
|
line-height: 48px;
|
|
69
66
|
line-height: var(--size-48);
|
|
70
67
|
}
|
|
71
68
|
@media (max-width: 320px) {
|
|
72
69
|
.np-theme-personal .np-option .circle-sm {
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
70
|
+
inline-size: 96px;
|
|
71
|
+
inline-size: var(--size-96);
|
|
72
|
+
block-size: 96px;
|
|
73
|
+
block-size: var(--size-96);
|
|
77
74
|
line-height: 96px;
|
|
78
75
|
line-height: var(--size-96);
|
|
79
76
|
}
|
|
80
77
|
}
|
|
81
78
|
.np-theme-personal .np-option__body {
|
|
82
|
-
margin: 4px 0
|
|
83
|
-
margin: var(--size-4) 0
|
|
79
|
+
margin-block: 4px 0;
|
|
80
|
+
margin-block: var(--size-4) 0;
|
|
81
|
+
margin-inline: 0;
|
|
84
82
|
-webkit-text-decoration: none;
|
|
85
83
|
text-decoration: none;
|
|
86
84
|
}
|
|
87
85
|
.np-theme-personal .np-option__container-aligned {
|
|
88
|
-
margin-
|
|
89
|
-
margin-
|
|
90
|
-
margin-
|
|
91
|
-
margin-
|
|
92
|
-
max-
|
|
93
|
-
|
|
86
|
+
margin-inline-end: calc(-1 * 16px);
|
|
87
|
+
margin-inline-end: calc(-1 * var(--space-content-horizontal));
|
|
88
|
+
margin-inline-start: calc(-1 * 16px);
|
|
89
|
+
margin-inline-start: calc(-1 * var(--space-content-horizontal));
|
|
90
|
+
max-inline-size: none;
|
|
91
|
+
inline-size: auto;
|
|
94
92
|
}
|
|
95
93
|
@media (min-width: 600px) {
|
|
96
94
|
.np-theme-personal .np-option {
|
|
@@ -99,22 +97,22 @@ button.np-option {
|
|
|
99
97
|
}
|
|
100
98
|
}
|
|
101
99
|
.np-theme-personal .np-option-additional-content {
|
|
102
|
-
margin-
|
|
103
|
-
margin-
|
|
104
|
-
margin-
|
|
105
|
-
margin-
|
|
106
|
-
margin-
|
|
107
|
-
padding-
|
|
108
|
-
padding-
|
|
109
|
-
max-
|
|
110
|
-
max-
|
|
100
|
+
margin-inline-start: 80px;
|
|
101
|
+
margin-inline-start: var(--size-80);
|
|
102
|
+
margin-inline-end: 16px;
|
|
103
|
+
margin-inline-end: var(--size-16);
|
|
104
|
+
margin-block-start: -10px;
|
|
105
|
+
padding-block-end: 16px;
|
|
106
|
+
padding-block-end: var(--size-16);
|
|
107
|
+
max-inline-size: -moz-fit-content;
|
|
108
|
+
max-inline-size: fit-content;
|
|
111
109
|
}
|
|
112
110
|
@media (max-width: 320px) {
|
|
113
111
|
.np-theme-personal :not(.np-option__sm-media) > .np-option-additional-content {
|
|
114
|
-
margin-
|
|
115
|
-
margin-
|
|
112
|
+
margin-inline-start: 16px;
|
|
113
|
+
margin-inline-start: var(--size-16);
|
|
116
114
|
}
|
|
117
115
|
.np-theme-personal .np-option-additional-content {
|
|
118
|
-
margin-
|
|
116
|
+
margin-block-start: -3px;
|
|
119
117
|
}
|
|
120
118
|
}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
@import (reference) "../../styles/less/mixins/_logical-properties.less";
|
|
2
1
|
@import (reference) "../../styles/less/ring.less";
|
|
3
2
|
|
|
4
3
|
.np-option {
|
|
@@ -52,7 +51,7 @@
|
|
|
52
51
|
button.np-option {
|
|
53
52
|
background-color: transparent;
|
|
54
53
|
width: 100%;
|
|
55
|
-
|
|
54
|
+
text-align: left;
|
|
56
55
|
}
|
|
57
56
|
|
|
58
57
|
.np-theme-personal {
|
|
@@ -96,12 +95,12 @@ button.np-option {
|
|
|
96
95
|
}
|
|
97
96
|
}
|
|
98
97
|
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
98
|
+
.np-option-additional-content {
|
|
99
|
+
margin-left: var(--size-80);
|
|
100
|
+
margin-right: var(--size-16);
|
|
101
|
+
margin-top: -10px;
|
|
102
|
+
padding-bottom: var(--size-16);
|
|
103
|
+
max-width: fit-content;
|
|
105
104
|
}
|
|
106
105
|
|
|
107
106
|
@media (--screen-400-zoom) {
|
|
@@ -109,9 +108,8 @@ button.np-option {
|
|
|
109
108
|
margin-left: var(--size-16);
|
|
110
109
|
}
|
|
111
110
|
|
|
112
|
-
.np-option-additional-content
|
|
111
|
+
.np-option-additional-content {
|
|
113
112
|
margin-top: -3px;
|
|
114
113
|
}
|
|
115
114
|
}
|
|
116
|
-
|
|
117
115
|
}
|
|
@@ -26,11 +26,11 @@
|
|
|
26
26
|
.np-panel__arrow,
|
|
27
27
|
.np-panel__arrow::before {
|
|
28
28
|
position: absolute;
|
|
29
|
-
|
|
30
|
-
|
|
29
|
+
inline-size: 14px;
|
|
30
|
+
block-size: 14px;
|
|
31
31
|
}
|
|
32
32
|
.np-panel__arrow::before {
|
|
33
|
-
|
|
33
|
+
inset-inline-start: 0;
|
|
34
34
|
content: "";
|
|
35
35
|
transform: rotate(45deg);
|
|
36
36
|
background: #ffffff;
|
|
@@ -39,26 +39,34 @@
|
|
|
39
39
|
.np-panel[data-popper-placement^="top"] > .np-panel__content {
|
|
40
40
|
transform: translateY(10px) scale(0.95);
|
|
41
41
|
}
|
|
42
|
-
.np-panel[data-popper-placement^="top"]
|
|
43
|
-
|
|
42
|
+
.np-panel[data-popper-placement^="top"] .np-panel__arrow {
|
|
43
|
+
inset-block-end: -6px;
|
|
44
44
|
}
|
|
45
45
|
.np-panel[data-popper-placement^="right"] > .np-panel__content {
|
|
46
46
|
transform: translateX(-10px) scale(0.95);
|
|
47
47
|
}
|
|
48
|
-
.np-panel[data-popper-placement^="right"]
|
|
49
|
-
|
|
48
|
+
.np-panel[data-popper-placement^="right"] .np-panel__arrow {
|
|
49
|
+
inset-inline-start: -6px;
|
|
50
|
+
}
|
|
51
|
+
[dir="rtl"] .np-panel[data-popper-placement^="right"] .np-panel__arrow {
|
|
52
|
+
inset-inline-start: unset;
|
|
53
|
+
inset-inline-end: -6px;
|
|
50
54
|
}
|
|
51
55
|
.np-panel[data-popper-placement^="bottom"] > .np-panel__content {
|
|
52
56
|
transform: translateY(-10px) scale(0.95);
|
|
53
57
|
}
|
|
54
|
-
.np-panel[data-popper-placement^="bottom"]
|
|
55
|
-
|
|
58
|
+
.np-panel[data-popper-placement^="bottom"] .np-panel__arrow {
|
|
59
|
+
inset-block-start: -6px;
|
|
56
60
|
}
|
|
57
61
|
.np-panel[data-popper-placement^="left"] > .np-panel__content {
|
|
58
62
|
transform: translateX(10px) scale(0.95);
|
|
59
63
|
}
|
|
60
|
-
.np-panel[data-popper-placement^="left"]
|
|
61
|
-
|
|
64
|
+
.np-panel[data-popper-placement^="left"] .np-panel__arrow {
|
|
65
|
+
inset-inline-end: -6px;
|
|
66
|
+
}
|
|
67
|
+
[dir="rtl"] .np-panel[data-popper-placement^="left"] .np-panel__arrow {
|
|
68
|
+
inset-inline-end: unset;
|
|
69
|
+
inset-inline-start: -6px;
|
|
62
70
|
}
|
|
63
71
|
.np-theme-personal .np-panel__content {
|
|
64
72
|
border-radius: 16px;
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
opacity 0.2s cubic-bezier(0.6, 0.2, 0.1, 1),
|
|
12
12
|
transform 0.2s cubic-bezier(0.6, 0.2, 0.1, 1),
|
|
13
13
|
visibility 0s linear 0.2s;
|
|
14
|
-
|
|
14
|
+
|
|
15
15
|
.np-theme-personal & {
|
|
16
16
|
border-radius: var(--radius-small);
|
|
17
17
|
}
|
|
@@ -45,35 +45,53 @@
|
|
|
45
45
|
background: var(--color-background-elevated);
|
|
46
46
|
}
|
|
47
47
|
|
|
48
|
-
&[data-popper-placement^="top"]
|
|
49
|
-
|
|
48
|
+
&[data-popper-placement^="top"] {
|
|
49
|
+
> .np-panel__content {
|
|
50
|
+
transform: translateY(10px) scale(0.95);
|
|
51
|
+
}
|
|
50
52
|
|
|
51
53
|
.np-panel__arrow {
|
|
52
54
|
bottom: -6px;
|
|
53
55
|
}
|
|
54
56
|
}
|
|
55
57
|
|
|
56
|
-
&[data-popper-placement^="right"]
|
|
57
|
-
|
|
58
|
+
&[data-popper-placement^="right"] {
|
|
59
|
+
> .np-panel__content {
|
|
60
|
+
transform: translateX(-10px) scale(0.95);
|
|
61
|
+
}
|
|
58
62
|
|
|
59
63
|
.np-panel__arrow {
|
|
60
64
|
left: -6px;
|
|
65
|
+
|
|
66
|
+
[dir="rtl"] & {
|
|
67
|
+
left: unset;
|
|
68
|
+
right: -6px;
|
|
69
|
+
}
|
|
61
70
|
}
|
|
62
71
|
}
|
|
63
72
|
|
|
64
|
-
&[data-popper-placement^="bottom"]
|
|
65
|
-
|
|
73
|
+
&[data-popper-placement^="bottom"] {
|
|
74
|
+
> .np-panel__content {
|
|
75
|
+
transform: translateY(-10px) scale(0.95);
|
|
76
|
+
}
|
|
66
77
|
|
|
67
78
|
.np-panel__arrow {
|
|
68
79
|
top: -6px;
|
|
69
80
|
}
|
|
70
81
|
}
|
|
71
82
|
|
|
72
|
-
&[data-popper-placement^="left"]
|
|
73
|
-
|
|
83
|
+
&[data-popper-placement^="left"] {
|
|
84
|
+
> .np-panel__content {
|
|
85
|
+
transform: translateX(10px) scale(0.95);
|
|
86
|
+
}
|
|
74
87
|
|
|
75
88
|
.np-panel__arrow {
|
|
76
89
|
right: -6px;
|
|
90
|
+
|
|
91
|
+
[dir="rtl"] & {
|
|
92
|
+
right: unset;
|
|
93
|
+
left: -6px;
|
|
94
|
+
}
|
|
77
95
|
}
|
|
78
96
|
}
|
|
79
97
|
}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import type { Placement } from '@floating-ui/react';
|
|
2
|
+
|
|
3
|
+
export type FloatingPlacement =
|
|
4
|
+
| 'top'
|
|
5
|
+
| 'right'
|
|
6
|
+
| 'bottom'
|
|
7
|
+
| 'left'
|
|
8
|
+
| 'top-left'
|
|
9
|
+
| 'top-right'
|
|
10
|
+
| 'right-top'
|
|
11
|
+
| 'right-bottom'
|
|
12
|
+
| 'bottom-left'
|
|
13
|
+
| 'bottom-right'
|
|
14
|
+
| 'left-top'
|
|
15
|
+
| 'left-bottom';
|
|
16
|
+
|
|
17
|
+
export const POPOVER_OFFSET = 16;
|
|
18
|
+
|
|
19
|
+
// By default the flip positioning explores only the opposite alternative. So if left is passed and there's no enough space
|
|
20
|
+
// the right one gets chosen. If there's no space on both sides popover goes back to the initially chosen one left.
|
|
21
|
+
// This mapping forces popover to try the four available positions before going back to the initial chosen one.
|
|
22
|
+
export const fallbackPlacements: Record<Placement, Placement[]> = {
|
|
23
|
+
top: ['bottom', 'right', 'left'],
|
|
24
|
+
bottom: ['top', 'right', 'left'],
|
|
25
|
+
left: ['right', 'top', 'bottom'],
|
|
26
|
+
right: ['left', 'top', 'bottom'],
|
|
27
|
+
'top-start': ['bottom-start', 'top-end', 'bottom-end'],
|
|
28
|
+
'top-end': ['bottom-end', 'top-start', 'bottom-start'],
|
|
29
|
+
'bottom-start': ['top-start', 'bottom-end', 'top-end'],
|
|
30
|
+
'bottom-end': ['top-end', 'bottom-start', 'top-start'],
|
|
31
|
+
'left-start': ['right-start', 'left-end', 'right-end'],
|
|
32
|
+
'left-end': ['right-end', 'left-start', 'right-start'],
|
|
33
|
+
'right-start': ['left-start', 'right-end', 'left-end'],
|
|
34
|
+
'right-end': ['left-end', 'right-start', 'left-start'],
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
export const positionToPlacement = (position: FloatingPlacement): Placement => {
|
|
38
|
+
switch (position) {
|
|
39
|
+
case 'top-left':
|
|
40
|
+
return 'top-start';
|
|
41
|
+
case 'top-right':
|
|
42
|
+
return 'top-end';
|
|
43
|
+
case 'bottom-left':
|
|
44
|
+
return 'bottom-start';
|
|
45
|
+
case 'bottom-right':
|
|
46
|
+
return 'bottom-end';
|
|
47
|
+
case 'left-top':
|
|
48
|
+
return 'left-start';
|
|
49
|
+
case 'left-bottom':
|
|
50
|
+
return 'left-end';
|
|
51
|
+
case 'right-top':
|
|
52
|
+
return 'right-start';
|
|
53
|
+
case 'right-bottom':
|
|
54
|
+
return 'right-end';
|
|
55
|
+
default:
|
|
56
|
+
return position;
|
|
57
|
+
}
|
|
58
|
+
};
|
|
59
|
+
|
|
60
|
+
export const mirrorPositionForRtl = (position: FloatingPlacement): FloatingPlacement => {
|
|
61
|
+
switch (position) {
|
|
62
|
+
case 'left':
|
|
63
|
+
return 'right';
|
|
64
|
+
case 'right':
|
|
65
|
+
return 'left';
|
|
66
|
+
case 'left-top':
|
|
67
|
+
return 'right-top';
|
|
68
|
+
case 'left-bottom':
|
|
69
|
+
return 'right-bottom';
|
|
70
|
+
case 'right-top':
|
|
71
|
+
return 'left-top';
|
|
72
|
+
case 'right-bottom':
|
|
73
|
+
return 'left-bottom';
|
|
74
|
+
default:
|
|
75
|
+
// top-left/top-right/bottom-left/bottom-right map to start/end via
|
|
76
|
+
// positionToPlacement, and floating-ui already flips start/end in RTL.
|
|
77
|
+
return position;
|
|
78
|
+
}
|
|
79
|
+
};
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { createRef } from 'react';
|
|
2
2
|
|
|
3
3
|
import { Position } from '..';
|
|
4
|
+
import { DirectionProvider } from '../../Provider/Direction/DirectionProvider';
|
|
4
5
|
import { render } from '../../test-utils';
|
|
5
6
|
|
|
6
7
|
import Panel from './Panel';
|
|
@@ -93,4 +94,43 @@ describe('Panel', () => {
|
|
|
93
94
|
expect(getPanel()).toHaveAttribute('data-popper-placement', expectedPlacement);
|
|
94
95
|
});
|
|
95
96
|
});
|
|
97
|
+
|
|
98
|
+
describe('RTL position mirroring', () => {
|
|
99
|
+
it.each<[PanelProps['position'], string]>([
|
|
100
|
+
[Position.LEFT, 'right'],
|
|
101
|
+
[Position.RIGHT, 'left'],
|
|
102
|
+
[Position.LEFT_TOP, 'right-start'],
|
|
103
|
+
[Position.LEFT_BOTTOM, 'right-end'],
|
|
104
|
+
[Position.RIGHT_TOP, 'left-start'],
|
|
105
|
+
[Position.RIGHT_BOTTOM, 'left-end'],
|
|
106
|
+
])('mirrors %s in RTL to floating-ui placement %s', (position, expectedPlacement) => {
|
|
107
|
+
render(
|
|
108
|
+
<DirectionProvider direction="rtl">
|
|
109
|
+
<Panel {...props} position={position} />
|
|
110
|
+
</DirectionProvider>,
|
|
111
|
+
);
|
|
112
|
+
|
|
113
|
+
expect(getPanel()).toHaveAttribute('data-popper-placement', expectedPlacement);
|
|
114
|
+
});
|
|
115
|
+
|
|
116
|
+
it.each<[PanelProps['position'], string]>([
|
|
117
|
+
[Position.TOP, 'top'],
|
|
118
|
+
[Position.BOTTOM, 'bottom'],
|
|
119
|
+
[Position.TOP_LEFT, 'top-start'],
|
|
120
|
+
[Position.TOP_RIGHT, 'top-end'],
|
|
121
|
+
[Position.BOTTOM_LEFT, 'bottom-start'],
|
|
122
|
+
[Position.BOTTOM_RIGHT, 'bottom-end'],
|
|
123
|
+
])(
|
|
124
|
+
'does not mirror %s in RTL (floating-ui handles start/end flip)',
|
|
125
|
+
(position, expectedPlacement) => {
|
|
126
|
+
render(
|
|
127
|
+
<DirectionProvider direction="rtl">
|
|
128
|
+
<Panel {...props} position={position} />
|
|
129
|
+
</DirectionProvider>,
|
|
130
|
+
);
|
|
131
|
+
|
|
132
|
+
expect(getPanel()).toHaveAttribute('data-popper-placement', expectedPlacement);
|
|
133
|
+
},
|
|
134
|
+
);
|
|
135
|
+
});
|
|
96
136
|
});
|
|
@@ -3,7 +3,6 @@ import {
|
|
|
3
3
|
autoUpdate,
|
|
4
4
|
flip as flipMiddleware,
|
|
5
5
|
offset,
|
|
6
|
-
type Placement,
|
|
7
6
|
shift,
|
|
8
7
|
size as sizeMiddleware,
|
|
9
8
|
useFloating,
|
|
@@ -20,29 +19,17 @@ import {
|
|
|
20
19
|
useRef,
|
|
21
20
|
} from 'react';
|
|
22
21
|
|
|
23
|
-
import { Position, type FloatingPlacement, positionToPlacement } from '..';
|
|
24
|
-
import Dimmer from '../../Dimmer';
|
|
25
22
|
import { OverlayIdContext } from '../../Provider/overlay/OverlayIdProvider';
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
[Position.RIGHT]: [Position.LEFT, Position.TOP, Position.BOTTOM],
|
|
37
|
-
'top-start': ['bottom-start', 'top-end', 'bottom-end'],
|
|
38
|
-
'top-end': ['bottom-end', 'top-start', 'bottom-start'],
|
|
39
|
-
'bottom-start': ['top-start', 'bottom-end', 'top-end'],
|
|
40
|
-
'bottom-end': ['top-end', 'bottom-start', 'top-start'],
|
|
41
|
-
'left-start': ['right-start', 'left-end', 'right-end'],
|
|
42
|
-
'left-end': ['right-end', 'left-start', 'right-start'],
|
|
43
|
-
'right-start': ['left-start', 'right-end', 'left-end'],
|
|
44
|
-
'right-end': ['left-end', 'right-start', 'left-start'],
|
|
45
|
-
};
|
|
23
|
+
import Dimmer from '../../Dimmer';
|
|
24
|
+
import useDirection from '../hooks/useDirection';
|
|
25
|
+
import { Position } from '..';
|
|
26
|
+
import {
|
|
27
|
+
type FloatingPlacement,
|
|
28
|
+
POPOVER_OFFSET,
|
|
29
|
+
fallbackPlacements,
|
|
30
|
+
mirrorPositionForRtl,
|
|
31
|
+
positionToPlacement,
|
|
32
|
+
} from './Panel.positionUtils';
|
|
46
33
|
|
|
47
34
|
export type PanelProps = PropsWithChildren<{
|
|
48
35
|
arrow?: boolean;
|
|
@@ -74,7 +61,9 @@ const Panel = forwardRef<HTMLDivElement, PanelProps>(function Panel(
|
|
|
74
61
|
reference,
|
|
75
62
|
) {
|
|
76
63
|
const arrowRef = useRef<HTMLDivElement | null>(null);
|
|
77
|
-
const
|
|
64
|
+
const { isRTL } = useDirection();
|
|
65
|
+
const resolvedPosition = isRTL ? mirrorPositionForRtl(position) : position;
|
|
66
|
+
const floatingPlacement = positionToPlacement(resolvedPosition);
|
|
78
67
|
|
|
79
68
|
const middleware = [];
|
|
80
69
|
|