@pega/cosmos-react-core 9.0.0-build.9.8 → 9.0.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/lib/components/AIButton/AIButton.d.ts +3 -1
- package/lib/components/AIButton/AIButton.d.ts.map +1 -1
- package/lib/components/AIRewrite/AIRewrite.d.ts +4 -0
- package/lib/components/AIRewrite/AIRewrite.d.ts.map +1 -0
- package/lib/components/AIRewrite/AIRewrite.js +39 -0
- package/lib/components/AIRewrite/AIRewrite.js.map +1 -0
- package/lib/components/AIRewrite/AIRewrite.styles.d.ts +24 -0
- package/lib/components/AIRewrite/AIRewrite.styles.d.ts.map +1 -0
- package/lib/components/AIRewrite/AIRewrite.styles.js +24 -0
- package/lib/components/AIRewrite/AIRewrite.styles.js.map +1 -0
- package/lib/components/AIRewrite/AIRewrite.test-ids.d.ts +2 -0
- package/lib/components/AIRewrite/AIRewrite.test-ids.d.ts.map +1 -0
- package/lib/components/AIRewrite/AIRewrite.test-ids.js +10 -0
- package/lib/components/AIRewrite/AIRewrite.test-ids.js.map +1 -0
- package/lib/components/AIRewrite/AIRewrite.types.d.ts +21 -0
- package/lib/components/AIRewrite/AIRewrite.types.d.ts.map +1 -0
- package/lib/components/AIRewrite/AIRewrite.types.js +2 -0
- package/lib/components/AIRewrite/AIRewrite.types.js.map +1 -0
- package/lib/components/AIRewrite/index.d.ts +4 -0
- package/lib/components/AIRewrite/index.d.ts.map +1 -0
- package/lib/components/AIRewrite/index.js +3 -0
- package/lib/components/AIRewrite/index.js.map +1 -0
- package/lib/components/Actions/Actions.d.ts +2 -0
- package/lib/components/Actions/Actions.d.ts.map +1 -1
- package/lib/components/Actions/Actions.js +34 -8
- package/lib/components/Actions/Actions.js.map +1 -1
- package/lib/components/AdditionalInfo/AdditionalInfo.d.ts +1 -1
- package/lib/components/AdditionalInfo/AdditionalInfo.d.ts.map +1 -1
- package/lib/components/AppShell/AppHeader.d.ts.map +1 -1
- package/lib/components/AppShell/AppHeader.js +11 -2
- package/lib/components/AppShell/AppHeader.js.map +1 -1
- package/lib/components/AppShell/AppHeader.styles.d.ts +14 -12
- package/lib/components/AppShell/AppHeader.styles.d.ts.map +1 -1
- package/lib/components/AppShell/AppHeader.styles.js +36 -16
- package/lib/components/AppShell/AppHeader.styles.js.map +1 -1
- package/lib/components/AppShell/AppNavigationPanel.d.ts +14 -0
- package/lib/components/AppShell/AppNavigationPanel.d.ts.map +1 -0
- package/lib/components/AppShell/AppNavigationPanel.js +173 -0
- package/lib/components/AppShell/AppNavigationPanel.js.map +1 -0
- package/lib/components/AppShell/AppNavigationPanel.types.d.ts +28 -0
- package/lib/components/AppShell/AppNavigationPanel.types.d.ts.map +1 -0
- package/lib/components/AppShell/AppNavigationPanel.types.js +2 -0
- package/lib/components/AppShell/AppNavigationPanel.types.js.map +1 -0
- package/lib/components/AppShell/AppShell.d.ts +2 -5
- package/lib/components/AppShell/AppShell.d.ts.map +1 -1
- package/lib/components/AppShell/AppShell.js +213 -202
- package/lib/components/AppShell/AppShell.js.map +1 -1
- package/lib/components/AppShell/AppShell.styles.d.ts +243 -31
- package/lib/components/AppShell/AppShell.styles.d.ts.map +1 -1
- package/lib/components/AppShell/AppShell.styles.js +574 -128
- package/lib/components/AppShell/AppShell.styles.js.map +1 -1
- package/lib/components/AppShell/AppShell.types.d.ts +42 -5
- package/lib/components/AppShell/AppShell.types.d.ts.map +1 -1
- package/lib/components/AppShell/AppShell.types.js.map +1 -1
- package/lib/components/AppShell/AppShellContext.d.ts +6 -2
- package/lib/components/AppShell/AppShellContext.d.ts.map +1 -1
- package/lib/components/AppShell/AppShellContext.js +5 -9
- package/lib/components/AppShell/AppShellContext.js.map +1 -1
- package/lib/components/AppShell/AppShellList.styles.d.ts +14 -14
- package/lib/components/AppShell/AppShellList.styles.d.ts.map +1 -1
- package/lib/components/AppShell/AppShellList.styles.js +0 -1
- package/lib/components/AppShell/AppShellList.styles.js.map +1 -1
- package/lib/components/AppShell/AppShellSearch.d.ts.map +1 -1
- package/lib/components/AppShell/AppShellSearch.js +2 -4
- package/lib/components/AppShell/AppShellSearch.js.map +1 -1
- package/lib/components/AppShell/AppShellSearch.styles.d.ts +7 -5
- package/lib/components/AppShell/AppShellSearch.styles.d.ts.map +1 -1
- package/lib/components/AppShell/AppShellSearch.styles.js +3 -3
- package/lib/components/AppShell/AppShellSearch.styles.js.map +1 -1
- package/lib/components/AppShell/AppTopNav.d.ts +4 -0
- package/lib/components/AppShell/AppTopNav.d.ts.map +1 -0
- package/lib/components/AppShell/AppTopNav.js +183 -0
- package/lib/components/AppShell/AppTopNav.js.map +1 -0
- package/lib/components/AppShell/AppTopNav.styles.d.ts +946 -0
- package/lib/components/AppShell/AppTopNav.styles.d.ts.map +1 -0
- package/lib/components/AppShell/AppTopNav.styles.js +184 -0
- package/lib/components/AppShell/AppTopNav.styles.js.map +1 -0
- package/lib/components/AppShell/AppTopNav.types.d.ts +16 -0
- package/lib/components/AppShell/AppTopNav.types.d.ts.map +1 -0
- package/lib/components/AppShell/AppTopNav.types.js +2 -0
- package/lib/components/AppShell/AppTopNav.types.js.map +1 -0
- package/lib/components/AppShell/Drawer.d.ts +2 -1
- package/lib/components/AppShell/Drawer.d.ts.map +1 -1
- package/lib/components/AppShell/Drawer.js +15 -14
- package/lib/components/AppShell/Drawer.js.map +1 -1
- package/lib/components/AppShell/Drawer.styles.d.ts +22 -11
- package/lib/components/AppShell/Drawer.styles.d.ts.map +1 -1
- package/lib/components/AppShell/Drawer.styles.js +37 -40
- package/lib/components/AppShell/Drawer.styles.js.map +1 -1
- package/lib/components/AppShell/NavigationList.d.ts.map +1 -1
- package/lib/components/AppShell/NavigationList.js +17 -13
- package/lib/components/AppShell/NavigationList.js.map +1 -1
- package/lib/components/AppShell/NavigationListItemWrapper.d.ts.map +1 -1
- package/lib/components/AppShell/NavigationListItemWrapper.js +125 -65
- package/lib/components/AppShell/NavigationListItemWrapper.js.map +1 -1
- package/lib/components/AppShell/ThemeSwitcher.d.ts +11 -0
- package/lib/components/AppShell/ThemeSwitcher.d.ts.map +1 -0
- package/lib/components/AppShell/ThemeSwitcher.js +58 -0
- package/lib/components/AppShell/ThemeSwitcher.js.map +1 -0
- package/lib/components/AppShell/ThemeSwitcher.test-ids.d.ts +2 -0
- package/lib/components/AppShell/ThemeSwitcher.test-ids.d.ts.map +1 -0
- package/lib/components/AppShell/ThemeSwitcher.test-ids.js +3 -0
- package/lib/components/AppShell/ThemeSwitcher.test-ids.js.map +1 -0
- package/lib/components/AppShell/TopNavMoreMenu.d.ts +9 -0
- package/lib/components/AppShell/TopNavMoreMenu.d.ts.map +1 -0
- package/lib/components/AppShell/TopNavMoreMenu.js +73 -0
- package/lib/components/AppShell/TopNavMoreMenu.js.map +1 -0
- package/lib/components/AppShell/index.d.ts +2 -1
- package/lib/components/AppShell/index.d.ts.map +1 -1
- package/lib/components/AppShell/index.js +1 -0
- package/lib/components/AppShell/index.js.map +1 -1
- package/lib/components/AppShell/style-utils.d.ts +0 -1
- package/lib/components/AppShell/style-utils.d.ts.map +1 -1
- package/lib/components/AppShell/style-utils.js +0 -1
- package/lib/components/AppShell/style-utils.js.map +1 -1
- package/lib/components/AppShell/useTopNavOverflow.d.ts +17 -0
- package/lib/components/AppShell/useTopNavOverflow.d.ts.map +1 -0
- package/lib/components/AppShell/useTopNavOverflow.js +73 -0
- package/lib/components/AppShell/useTopNavOverflow.js.map +1 -0
- package/lib/components/AppShell/utils.d.ts +9 -0
- package/lib/components/AppShell/utils.d.ts.map +1 -1
- package/lib/components/AppShell/utils.js +16 -1
- package/lib/components/AppShell/utils.js.map +1 -1
- package/lib/components/Avatar/Avatar.d.ts +9 -5
- package/lib/components/Avatar/Avatar.d.ts.map +1 -1
- package/lib/components/Avatar/Avatar.js +13 -8
- package/lib/components/Avatar/Avatar.js.map +1 -1
- package/lib/components/Backdrop/Backdrop.d.ts +186 -3
- package/lib/components/Backdrop/Backdrop.d.ts.map +1 -1
- package/lib/components/Backdrop/Backdrop.js +20 -21
- package/lib/components/Backdrop/Backdrop.js.map +1 -1
- package/lib/components/Badges/Alert.d.ts +1 -1
- package/lib/components/Badges/Alert.d.ts.map +1 -1
- package/lib/components/Badges/Count.d.ts +4 -2
- package/lib/components/Badges/Count.d.ts.map +1 -1
- package/lib/components/Badges/Count.js +9 -3
- package/lib/components/Badges/Count.js.map +1 -1
- package/lib/components/Badges/Keyboard.d.ts +1 -1
- package/lib/components/Badges/Keyboard.d.ts.map +1 -1
- package/lib/components/Badges/Keyboard.js +8 -2
- package/lib/components/Badges/Keyboard.js.map +1 -1
- package/lib/components/Badges/Selection.d.ts +8 -4
- package/lib/components/Badges/Selection.d.ts.map +1 -1
- package/lib/components/Badges/Selection.js +23 -7
- package/lib/components/Badges/Selection.js.map +1 -1
- package/lib/components/Badges/Status.d.ts +2 -2
- package/lib/components/Badges/Status.d.ts.map +1 -1
- package/lib/components/Badges/Tag.d.ts +10 -2
- package/lib/components/Badges/Tag.d.ts.map +1 -1
- package/lib/components/Badges/Tag.js.map +1 -1
- package/lib/components/Banner/Banner.d.ts +10 -13
- package/lib/components/Banner/Banner.d.ts.map +1 -1
- package/lib/components/Banner/Banner.js +49 -102
- package/lib/components/Banner/Banner.js.map +1 -1
- package/lib/components/Banner/Banner.styles.d.ts +22 -0
- package/lib/components/Banner/Banner.styles.d.ts.map +1 -0
- package/lib/components/Banner/Banner.styles.js +84 -0
- package/lib/components/Banner/Banner.styles.js.map +1 -0
- package/lib/components/Breadcrumbs/Breadcrumbs.d.ts +2 -3
- package/lib/components/Breadcrumbs/Breadcrumbs.d.ts.map +1 -1
- package/lib/components/Button/BareButton.d.ts +1 -1
- package/lib/components/Button/BareButton.d.ts.map +1 -1
- package/lib/components/Button/BareButton.js +4 -1
- package/lib/components/Button/BareButton.js.map +1 -1
- package/lib/components/Button/BareRoleButton.d.ts +1 -1
- package/lib/components/Button/BareRoleButton.d.ts.map +1 -1
- package/lib/components/Button/Button.d.ts +7 -3
- package/lib/components/Button/Button.d.ts.map +1 -1
- package/lib/components/Button/Button.js +22 -8
- package/lib/components/Button/Button.js.map +1 -1
- package/lib/components/Card/Card.d.ts +3 -3
- package/lib/components/Card/Card.d.ts.map +1 -1
- package/lib/components/Card/Card.js +25 -25
- package/lib/components/Card/Card.js.map +1 -1
- package/lib/components/Card/Card.test-ids.d.ts +2 -0
- package/lib/components/Card/Card.test-ids.d.ts.map +1 -0
- package/lib/components/Card/Card.test-ids.js +3 -0
- package/lib/components/Card/Card.test-ids.js.map +1 -0
- package/lib/components/Card/CardContent.d.ts +1 -1
- package/lib/components/Card/CardContent.d.ts.map +1 -1
- package/lib/components/Card/CardContent.js +6 -1
- package/lib/components/Card/CardContent.js.map +1 -1
- package/lib/components/Card/CardFooter.d.ts +1 -1
- package/lib/components/Card/CardFooter.d.ts.map +1 -1
- package/lib/components/Card/CardFooter.js +4 -0
- package/lib/components/Card/CardFooter.js.map +1 -1
- package/lib/components/Card/CardHeader.d.ts +1 -1
- package/lib/components/Card/CardHeader.d.ts.map +1 -1
- package/lib/components/Card/CardHeader.js +19 -3
- package/lib/components/Card/CardHeader.js.map +1 -1
- package/lib/components/Card/CardMedia.d.ts +1 -1
- package/lib/components/Card/CardMedia.d.ts.map +1 -1
- package/lib/components/Checkbox/Checkbox.test-ids.d.ts +1 -1
- package/lib/components/Checkbox/Checkbox.test-ids.d.ts.map +1 -1
- package/lib/components/Checkbox/CheckboxCard.d.ts +11 -3
- package/lib/components/Checkbox/CheckboxCard.d.ts.map +1 -1
- package/lib/components/Checkbox/CheckboxCard.js +5 -22
- package/lib/components/Checkbox/CheckboxCard.js.map +1 -1
- package/lib/components/CheckboxGroup/CheckboxGroup.d.ts +7 -0
- package/lib/components/CheckboxGroup/CheckboxGroup.d.ts.map +1 -0
- package/lib/components/CheckboxGroup/CheckboxGroup.js +10 -0
- package/lib/components/CheckboxGroup/CheckboxGroup.js.map +1 -0
- package/lib/components/CheckboxGroup/index.d.ts +2 -1
- package/lib/components/CheckboxGroup/index.d.ts.map +1 -1
- package/lib/components/CheckboxGroup/index.js +1 -1
- package/lib/components/CheckboxGroup/index.js.map +1 -1
- package/lib/components/ClassificationMarking/ClassificationMarking.d.ts +6 -0
- package/lib/components/ClassificationMarking/ClassificationMarking.d.ts.map +1 -0
- package/lib/components/ClassificationMarking/ClassificationMarking.js +11 -0
- package/lib/components/ClassificationMarking/ClassificationMarking.js.map +1 -0
- package/lib/components/ClassificationMarking/ClassificationMarking.styles.d.ts +19 -0
- package/lib/components/ClassificationMarking/ClassificationMarking.styles.d.ts.map +1 -0
- package/lib/components/ClassificationMarking/ClassificationMarking.styles.js +66 -0
- package/lib/components/ClassificationMarking/ClassificationMarking.styles.js.map +1 -0
- package/lib/components/ClassificationMarking/ClassificationMarking.test-ids.d.ts +2 -0
- package/lib/components/ClassificationMarking/ClassificationMarking.test-ids.d.ts.map +1 -0
- package/lib/components/ClassificationMarking/ClassificationMarking.test-ids.js +7 -0
- package/lib/components/ClassificationMarking/ClassificationMarking.test-ids.js.map +1 -0
- package/lib/components/ClassificationMarking/ClassificationMarking.types.d.ts +19 -0
- package/lib/components/ClassificationMarking/ClassificationMarking.types.d.ts.map +1 -0
- package/lib/components/ClassificationMarking/ClassificationMarking.types.js +2 -0
- package/lib/components/ClassificationMarking/ClassificationMarking.types.js.map +1 -0
- package/lib/components/ClassificationMarking/index.d.ts +3 -0
- package/lib/components/ClassificationMarking/index.d.ts.map +1 -0
- package/lib/components/ClassificationMarking/index.js +2 -0
- package/lib/components/ClassificationMarking/index.js.map +1 -0
- package/lib/components/ComboBox/ComboBox.d.ts.map +1 -1
- package/lib/components/ComboBox/ComboBox.js +9 -8
- package/lib/components/ComboBox/ComboBox.js.map +1 -1
- package/lib/components/ComboBox/ComboBox.styles.d.ts +8 -3
- package/lib/components/ComboBox/ComboBox.styles.d.ts.map +1 -1
- package/lib/components/ComboBox/ComboBox.styles.js +33 -16
- package/lib/components/ComboBox/ComboBox.styles.js.map +1 -1
- package/lib/components/ComboBox/ComboBox.types.d.ts +1 -0
- package/lib/components/ComboBox/ComboBox.types.d.ts.map +1 -1
- package/lib/components/ComboBox/ComboBox.types.js.map +1 -1
- package/lib/components/ComboBox/MultiSelectInput/MultiSelectInput.d.ts +3 -1
- package/lib/components/ComboBox/MultiSelectInput/MultiSelectInput.d.ts.map +1 -1
- package/lib/components/ComboBox/MultiSelectInput/MultiSelectInput.js +84 -10
- package/lib/components/ComboBox/MultiSelectInput/MultiSelectInput.js.map +1 -1
- package/lib/components/ComboBox/MultiSelectInput/MultiSelectInput.types.d.ts +2 -0
- package/lib/components/ComboBox/MultiSelectInput/MultiSelectInput.types.d.ts.map +1 -1
- package/lib/components/ComboBox/MultiSelectInput/MultiSelectInput.types.js.map +1 -1
- package/lib/components/ComboBox/SingleSelectInput/SingleSelectInput.d.ts +3 -1
- package/lib/components/ComboBox/SingleSelectInput/SingleSelectInput.d.ts.map +1 -1
- package/lib/components/ComboBox/SingleSelectInput/SingleSelectInput.js +33 -4
- package/lib/components/ComboBox/SingleSelectInput/SingleSelectInput.js.map +1 -1
- package/lib/components/ComboBox/SingleSelectInput/SingleSelectInput.types.d.ts +2 -0
- package/lib/components/ComboBox/SingleSelectInput/SingleSelectInput.types.d.ts.map +1 -1
- package/lib/components/ComboBox/SingleSelectInput/SingleSelectInput.types.js.map +1 -1
- package/lib/components/ComboBox/index.d.ts +1 -0
- package/lib/components/ComboBox/index.d.ts.map +1 -1
- package/lib/components/ComboBox/index.js +1 -0
- package/lib/components/ComboBox/index.js.map +1 -1
- package/lib/components/CompositeInput/CompositeInput.d.ts.map +1 -1
- package/lib/components/CompositeInput/CompositeInput.js +7 -9
- package/lib/components/CompositeInput/CompositeInput.js.map +1 -1
- package/lib/components/CompositeInput/CompositeInput.styles.d.ts +8 -3
- package/lib/components/CompositeInput/CompositeInput.styles.d.ts.map +1 -1
- package/lib/components/CompositeInput/CompositeInput.styles.js +31 -1
- package/lib/components/CompositeInput/CompositeInput.styles.js.map +1 -1
- package/lib/components/Configuration/Configuration.d.ts +8 -3
- package/lib/components/Configuration/Configuration.d.ts.map +1 -1
- package/lib/components/Configuration/Configuration.js +17 -3
- package/lib/components/Configuration/Configuration.js.map +1 -1
- package/lib/components/Configuration/LocaleOverride.d.ts +10 -0
- package/lib/components/Configuration/LocaleOverride.d.ts.map +1 -0
- package/lib/components/Configuration/LocaleOverride.js +23 -0
- package/lib/components/Configuration/LocaleOverride.js.map +1 -0
- package/lib/components/Configuration/index.d.ts +2 -0
- package/lib/components/Configuration/index.d.ts.map +1 -1
- package/lib/components/Configuration/index.js +1 -0
- package/lib/components/Configuration/index.js.map +1 -1
- package/lib/components/CreditCard/CreditCard.types.d.ts +4 -0
- package/lib/components/CreditCard/CreditCard.types.d.ts.map +1 -1
- package/lib/components/CreditCard/CreditCard.types.js.map +1 -1
- package/lib/components/CreditCard/CreditCardInput.d.ts +2 -1
- package/lib/components/CreditCard/CreditCardInput.d.ts.map +1 -1
- package/lib/components/CreditCard/CreditCardInput.js +1 -1
- package/lib/components/CreditCard/CreditCardInput.js.map +1 -1
- package/lib/components/Currency/CurrencyInput.js +1 -1
- package/lib/components/Currency/CurrencyInput.js.map +1 -1
- package/lib/components/Currency/CurrencyInput.styles.d.ts +4 -2
- package/lib/components/Currency/CurrencyInput.styles.d.ts.map +1 -1
- package/lib/components/DangerButton/DangerButton.d.ts +3 -1
- package/lib/components/DangerButton/DangerButton.d.ts.map +1 -1
- package/lib/components/DateTime/DateTime.types.d.ts +7 -1
- package/lib/components/DateTime/DateTime.types.d.ts.map +1 -1
- package/lib/components/DateTime/DateTime.types.js.map +1 -1
- package/lib/components/DateTime/DateTimeDisplay.d.ts +1 -1
- package/lib/components/DateTime/DateTimeDisplay.d.ts.map +1 -1
- package/lib/components/DateTime/Input/DateInput.d.ts +7 -2
- package/lib/components/DateTime/Input/DateInput.d.ts.map +1 -1
- package/lib/components/DateTime/Input/DateInput.js +16 -8
- package/lib/components/DateTime/Input/DateInput.js.map +1 -1
- package/lib/components/DateTime/Input/DateRangeInput.d.ts.map +1 -1
- package/lib/components/DateTime/Input/DateRangeInput.js +10 -4
- package/lib/components/DateTime/Input/DateRangeInput.js.map +1 -1
- package/lib/components/DateTime/Input/DateTime.styles.d.ts +11 -7
- package/lib/components/DateTime/Input/DateTime.styles.d.ts.map +1 -1
- package/lib/components/DateTime/Input/DateTime.styles.js +5 -2
- package/lib/components/DateTime/Input/DateTime.styles.js.map +1 -1
- package/lib/components/DateTime/Input/DateTimeInput.d.ts +4 -2
- package/lib/components/DateTime/Input/DateTimeInput.d.ts.map +1 -1
- package/lib/components/DateTime/Input/DateTimeInput.js +20 -14
- package/lib/components/DateTime/Input/DateTimeInput.js.map +1 -1
- package/lib/components/DateTime/Input/DayOfWeekInput.d.ts.map +1 -1
- package/lib/components/DateTime/Input/DayOfWeekInput.js.map +1 -1
- package/lib/components/DateTime/Input/Duration/DurationInput.d.ts.map +1 -1
- package/lib/components/DateTime/Input/Duration/DurationInput.js +2 -4
- package/lib/components/DateTime/Input/Duration/DurationInput.js.map +1 -1
- package/lib/components/DateTime/Input/Duration/NumberUnit.d.ts +3 -1
- package/lib/components/DateTime/Input/Duration/NumberUnit.d.ts.map +1 -1
- package/lib/components/DateTime/Input/MonthInput.d.ts +3 -1
- package/lib/components/DateTime/Input/MonthInput.d.ts.map +1 -1
- package/lib/components/DateTime/Input/MonthInput.js +6 -8
- package/lib/components/DateTime/Input/MonthInput.js.map +1 -1
- package/lib/components/DateTime/Input/PartInput.d.ts.map +1 -1
- package/lib/components/DateTime/Input/PartInput.js +21 -12
- package/lib/components/DateTime/Input/PartInput.js.map +1 -1
- package/lib/components/DateTime/Input/QuarterInput.d.ts +3 -1
- package/lib/components/DateTime/Input/QuarterInput.d.ts.map +1 -1
- package/lib/components/DateTime/Input/QuarterInput.js +2 -2
- package/lib/components/DateTime/Input/QuarterInput.js.map +1 -1
- package/lib/components/DateTime/Input/TimeInput.d.ts +3 -1
- package/lib/components/DateTime/Input/TimeInput.d.ts.map +1 -1
- package/lib/components/DateTime/Input/TimeInput.js +3 -3
- package/lib/components/DateTime/Input/TimeInput.js.map +1 -1
- package/lib/components/DateTime/Input/TimeRangeInput.d.ts.map +1 -1
- package/lib/components/DateTime/Input/TimeRangeInput.js +9 -4
- package/lib/components/DateTime/Input/TimeRangeInput.js.map +1 -1
- package/lib/components/DateTime/Input/WeekInput.d.ts +3 -1
- package/lib/components/DateTime/Input/WeekInput.d.ts.map +1 -1
- package/lib/components/DateTime/Input/WeekInput.js +23 -12
- package/lib/components/DateTime/Input/WeekInput.js.map +1 -1
- package/lib/components/DateTime/Input/local.d.ts +10 -9
- package/lib/components/DateTime/Input/local.d.ts.map +1 -1
- package/lib/components/DateTime/Input/local.js.map +1 -1
- package/lib/components/DateTime/Input/utils.d.ts +11 -11
- package/lib/components/DateTime/Input/utils.d.ts.map +1 -1
- package/lib/components/DateTime/Input/utils.js +77 -48
- package/lib/components/DateTime/Input/utils.js.map +1 -1
- package/lib/components/DateTime/Picker/Calendar.d.ts +4 -1
- package/lib/components/DateTime/Picker/Calendar.d.ts.map +1 -1
- package/lib/components/DateTime/Picker/Calendar.js +28 -26
- package/lib/components/DateTime/Picker/Calendar.js.map +1 -1
- package/lib/components/DateTime/Picker/Calendar.styles.d.ts +14 -8
- package/lib/components/DateTime/Picker/Calendar.styles.d.ts.map +1 -1
- package/lib/components/DateTime/Picker/Calendar.styles.js +6 -1
- package/lib/components/DateTime/Picker/Calendar.styles.js.map +1 -1
- package/lib/components/DateTime/Picker/DatePicker.d.ts.map +1 -1
- package/lib/components/DateTime/Picker/DatePicker.js +15 -15
- package/lib/components/DateTime/Picker/DatePicker.js.map +1 -1
- package/lib/components/DateTime/Picker/DatePicker.styles.d.ts +8 -4
- package/lib/components/DateTime/Picker/DatePicker.styles.d.ts.map +1 -1
- package/lib/components/DateTime/Picker/DatePicker.styles.js +5 -4
- package/lib/components/DateTime/Picker/DatePicker.styles.js.map +1 -1
- package/lib/components/DateTime/Picker/DatePicker.types.d.ts +11 -1
- package/lib/components/DateTime/Picker/DatePicker.types.d.ts.map +1 -1
- package/lib/components/DateTime/Picker/DatePicker.types.js.map +1 -1
- package/lib/components/DateTime/Picker/DateRangePicker.d.ts.map +1 -1
- package/lib/components/DateTime/Picker/DateRangePicker.js +15 -15
- package/lib/components/DateTime/Picker/DateRangePicker.js.map +1 -1
- package/lib/components/DateTime/Picker/TimePicker.d.ts +2 -0
- package/lib/components/DateTime/Picker/TimePicker.d.ts.map +1 -1
- package/lib/components/DateTime/Picker/TimePicker.js +19 -11
- package/lib/components/DateTime/Picker/TimePicker.js.map +1 -1
- package/lib/components/DateTime/Picker/Weeks.d.ts +3 -2
- package/lib/components/DateTime/Picker/Weeks.d.ts.map +1 -1
- package/lib/components/DateTime/Picker/Weeks.js +7 -7
- package/lib/components/DateTime/Picker/Weeks.js.map +1 -1
- package/lib/components/DateTime/Picker/utils.d.ts +4 -3
- package/lib/components/DateTime/Picker/utils.d.ts.map +1 -1
- package/lib/components/DateTime/Picker/utils.js.map +1 -1
- package/lib/components/DateTime/utils.d.ts +8 -1
- package/lib/components/DateTime/utils.d.ts.map +1 -1
- package/lib/components/DateTime/utils.js +86 -82
- package/lib/components/DateTime/utils.js.map +1 -1
- package/lib/components/Dialog/Dialog.styles.d.ts +5 -5
- package/lib/components/Dialog/Dialog.styles.d.ts.map +1 -1
- package/lib/components/Dialog/Dialog.styles.js +7 -0
- package/lib/components/Dialog/Dialog.styles.js.map +1 -1
- package/lib/components/Dialog/Dialog.types.d.ts +5 -2
- package/lib/components/Dialog/Dialog.types.d.ts.map +1 -1
- package/lib/components/Dialog/Dialog.types.js.map +1 -1
- package/lib/components/Dialog/FormDialog.d.ts +3 -1
- package/lib/components/Dialog/FormDialog.d.ts.map +1 -1
- package/lib/components/Dialog/FormDialog.js +20 -15
- package/lib/components/Dialog/FormDialog.js.map +1 -1
- package/lib/components/Dialog/InfoDialog.d.ts.map +1 -1
- package/lib/components/Dialog/InfoDialog.js +15 -14
- package/lib/components/Dialog/InfoDialog.js.map +1 -1
- package/lib/components/Dialog/InfoDialog.styles.d.ts +6 -2
- package/lib/components/Dialog/InfoDialog.styles.d.ts.map +1 -1
- package/lib/components/Drawer/Drawer.d.ts +2 -2
- package/lib/components/Drawer/Drawer.d.ts.map +1 -1
- package/lib/components/Drawer/Drawer.js +9 -0
- package/lib/components/Drawer/Drawer.js.map +1 -1
- package/lib/components/Drawer/ResizeHandle.d.ts +2 -1
- package/lib/components/Drawer/ResizeHandle.d.ts.map +1 -1
- package/lib/components/Drawer/ResizeHandle.js +3 -2
- package/lib/components/Drawer/ResizeHandle.js.map +1 -1
- package/lib/components/EmojiPicker/EmojiPicker.styles.d.ts +2 -2
- package/lib/components/EmojiPicker/EmojiPicker.styles.d.ts.map +1 -1
- package/lib/components/EmojiPicker/EmojiPicker.styles.js +1 -1
- package/lib/components/EmojiPicker/EmojiPicker.styles.js.map +1 -1
- package/lib/components/EmptyState/EmptyState.d.ts +1 -1
- package/lib/components/EmptyState/EmptyState.d.ts.map +1 -1
- package/lib/components/ErrorState/ErrorState.d.ts +1 -1
- package/lib/components/ErrorState/ErrorState.d.ts.map +1 -1
- package/lib/components/ExpandCollapse/ExpandCollapseButton.d.ts +32 -0
- package/lib/components/ExpandCollapse/ExpandCollapseButton.d.ts.map +1 -0
- package/lib/components/ExpandCollapse/ExpandCollapseButton.js +81 -0
- package/lib/components/ExpandCollapse/ExpandCollapseButton.js.map +1 -0
- package/lib/components/ExpandCollapse/index.d.ts +2 -0
- package/lib/components/ExpandCollapse/index.d.ts.map +1 -1
- package/lib/components/ExpandCollapse/index.js +1 -0
- package/lib/components/ExpandCollapse/index.js.map +1 -1
- package/lib/components/FieldGroup/FieldGroup.d.ts +381 -8
- package/lib/components/FieldGroup/FieldGroup.d.ts.map +1 -1
- package/lib/components/FieldGroup/FieldGroup.js +27 -22
- package/lib/components/FieldGroup/FieldGroup.js.map +1 -1
- package/lib/components/FieldGroup/FieldGroupList.d.ts +2 -2
- package/lib/components/FieldGroup/FieldGroupList.d.ts.map +1 -1
- package/lib/components/FieldGroup/FieldGroupList.js +61 -48
- package/lib/components/FieldGroup/FieldGroupList.js.map +1 -1
- package/lib/components/FieldValueList/FieldValueList.d.ts +13 -4
- package/lib/components/FieldValueList/FieldValueList.d.ts.map +1 -1
- package/lib/components/FieldValueList/FieldValueList.js +20 -9
- package/lib/components/FieldValueList/FieldValueList.js.map +1 -1
- package/lib/components/FieldValueList/index.d.ts +1 -1
- package/lib/components/FieldValueList/index.d.ts.map +1 -1
- package/lib/components/FieldValueList/index.js +1 -1
- package/lib/components/FieldValueList/index.js.map +1 -1
- package/lib/components/File/FileDisplay.d.ts +1 -1
- package/lib/components/File/FileDisplay.d.ts.map +1 -1
- package/lib/components/File/FileDisplay.js +2 -2
- package/lib/components/File/FileDisplay.js.map +1 -1
- package/lib/components/File/FileInput.d.ts.map +1 -1
- package/lib/components/File/FileInput.js +11 -21
- package/lib/components/File/FileInput.js.map +1 -1
- package/lib/components/File/FileInput.styles.d.ts +753 -17
- package/lib/components/File/FileInput.styles.d.ts.map +1 -1
- package/lib/components/File/FileInput.styles.js +16 -18
- package/lib/components/File/FileInput.styles.js.map +1 -1
- package/lib/components/File/FileItem.d.ts +11 -3
- package/lib/components/File/FileItem.d.ts.map +1 -1
- package/lib/components/File/FileItem.js +29 -12
- package/lib/components/File/FileItem.js.map +1 -1
- package/lib/components/File/FileList.d.ts +184 -2
- package/lib/components/File/FileList.d.ts.map +1 -1
- package/lib/components/File/FileList.js.map +1 -1
- package/lib/components/File/FileUploadItem.js +1 -1
- package/lib/components/File/FileUploadItem.js.map +1 -1
- package/lib/components/File/FileVisual.d.ts +4 -3
- package/lib/components/File/FileVisual.d.ts.map +1 -1
- package/lib/components/Flex/Flex.d.ts +1 -1
- package/lib/components/Flex/Flex.d.ts.map +1 -1
- package/lib/components/Flex/Flex.js +1 -1
- package/lib/components/Flex/Flex.js.map +1 -1
- package/lib/components/FormControl/FormControl.d.ts +2 -2
- package/lib/components/FormControl/FormControl.d.ts.map +1 -1
- package/lib/components/FormControl/FormControl.js +65 -54
- package/lib/components/FormControl/FormControl.js.map +1 -1
- package/lib/components/FormField/FormField.d.ts +12 -5
- package/lib/components/FormField/FormField.d.ts.map +1 -1
- package/lib/components/FormField/FormField.js +98 -61
- package/lib/components/FormField/FormField.js.map +1 -1
- package/lib/components/FormField/index.d.ts +1 -1
- package/lib/components/FormField/index.d.ts.map +1 -1
- package/lib/components/FormField/index.js +1 -1
- package/lib/components/FormField/index.js.map +1 -1
- package/lib/components/Fullscreen/Fullscreen.d.ts +3 -5
- package/lib/components/Fullscreen/Fullscreen.d.ts.map +1 -1
- package/lib/components/Fullscreen/Fullscreen.js +12 -8
- package/lib/components/Fullscreen/Fullscreen.js.map +1 -1
- package/lib/components/Fullscreen/FullscreenButton.d.ts +3 -1
- package/lib/components/Fullscreen/FullscreenButton.d.ts.map +1 -1
- package/lib/components/Grid/Grid.d.ts +1 -1
- package/lib/components/Grid/Grid.d.ts.map +1 -1
- package/lib/components/HTML/HTML.d.ts +3 -3
- package/lib/components/HTML/HTML.d.ts.map +1 -1
- package/lib/components/HTML/HTML.js +11 -5
- package/lib/components/HTML/HTML.js.map +1 -1
- package/lib/components/HiddenText/HiddenText.d.ts +1 -1
- package/lib/components/HiddenText/HiddenText.d.ts.map +1 -1
- package/lib/components/Icon/Icon.d.ts +4 -4
- package/lib/components/Icon/Icon.d.ts.map +1 -1
- package/lib/components/Icon/Icon.js +7 -2
- package/lib/components/Icon/Icon.js.map +1 -1
- package/lib/components/Icon/iconNames.d.ts +1 -1
- package/lib/components/Icon/iconNames.d.ts.map +1 -1
- package/lib/components/Icon/iconNames.js +17 -0
- package/lib/components/Icon/iconNames.js.map +1 -1
- package/lib/components/Icon/icons/arrow-micro-left-right-reverse.icon.d.ts +5 -0
- package/lib/components/Icon/icons/arrow-micro-left-right-reverse.icon.d.ts.map +1 -0
- package/lib/components/Icon/icons/arrow-micro-left-right-reverse.icon.js +7 -0
- package/lib/components/Icon/icons/arrow-micro-left-right-reverse.icon.js.map +1 -0
- package/lib/components/Icon/icons/arrow-micro-left-right.icon.d.ts +5 -0
- package/lib/components/Icon/icons/arrow-micro-left-right.icon.d.ts.map +1 -0
- package/lib/components/Icon/icons/arrow-micro-left-right.icon.js +7 -0
- package/lib/components/Icon/icons/arrow-micro-left-right.icon.js.map +1 -0
- package/lib/components/Icon/icons/brain.icon.d.ts +5 -0
- package/lib/components/Icon/icons/brain.icon.d.ts.map +1 -0
- package/lib/components/Icon/icons/brain.icon.js +7 -0
- package/lib/components/Icon/icons/brain.icon.js.map +1 -0
- package/lib/components/Icon/icons/chats-ai.icon.d.ts +5 -0
- package/lib/components/Icon/icons/chats-ai.icon.d.ts.map +1 -0
- package/lib/components/Icon/icons/chats-ai.icon.js +7 -0
- package/lib/components/Icon/icons/chats-ai.icon.js.map +1 -0
- package/lib/components/Icon/icons/check-solid.icon.d.ts +5 -0
- package/lib/components/Icon/icons/check-solid.icon.d.ts.map +1 -0
- package/lib/components/Icon/icons/check-solid.icon.js +7 -0
- package/lib/components/Icon/icons/check-solid.icon.js.map +1 -0
- package/lib/components/Icon/icons/clock-sla.icon.d.ts +5 -0
- package/lib/components/Icon/icons/clock-sla.icon.d.ts.map +1 -0
- package/lib/components/Icon/icons/clock-sla.icon.js +7 -0
- package/lib/components/Icon/icons/clock-sla.icon.js.map +1 -0
- package/lib/components/Icon/icons/csr-connected.icon.d.ts +5 -0
- package/lib/components/Icon/icons/csr-connected.icon.d.ts.map +1 -0
- package/lib/components/Icon/icons/csr-connected.icon.js +7 -0
- package/lib/components/Icon/icons/csr-connected.icon.js.map +1 -0
- package/lib/components/Icon/icons/dataviz-string-field.icon.d.ts.map +1 -1
- package/lib/components/Icon/icons/dataviz-string-field.icon.js +1 -1
- package/lib/components/Icon/icons/dataviz-string-field.icon.js.map +1 -1
- package/lib/components/Icon/icons/gear-box-dotted.icon.d.ts +5 -0
- package/lib/components/Icon/icons/gear-box-dotted.icon.d.ts.map +1 -0
- package/lib/components/Icon/icons/gear-box-dotted.icon.js +7 -0
- package/lib/components/Icon/icons/gear-box-dotted.icon.js.map +1 -0
- package/lib/components/Icon/icons/information-solid.icon.js +1 -1
- package/lib/components/Icon/icons/information-solid.icon.js.map +1 -1
- package/lib/components/Icon/icons/information.icon.js +1 -1
- package/lib/components/Icon/icons/information.icon.js.map +1 -1
- package/lib/components/Icon/icons/input-pen.icon.d.ts +5 -0
- package/lib/components/Icon/icons/input-pen.icon.d.ts.map +1 -0
- package/lib/components/Icon/icons/input-pen.icon.js +7 -0
- package/lib/components/Icon/icons/input-pen.icon.js.map +1 -0
- package/lib/components/Icon/icons/mcp.icon.d.ts +5 -0
- package/lib/components/Icon/icons/mcp.icon.d.ts.map +1 -0
- package/lib/components/Icon/icons/mcp.icon.js +7 -0
- package/lib/components/Icon/icons/mcp.icon.js.map +1 -0
- package/lib/components/Icon/icons/open.icon.d.ts.map +1 -1
- package/lib/components/Icon/icons/open.icon.js +2 -2
- package/lib/components/Icon/icons/open.icon.js.map +1 -1
- package/lib/components/Icon/icons/preview-bottom.icon.d.ts +5 -0
- package/lib/components/Icon/icons/preview-bottom.icon.d.ts.map +1 -0
- package/lib/components/Icon/icons/preview-bottom.icon.js +7 -0
- package/lib/components/Icon/icons/preview-bottom.icon.js.map +1 -0
- package/lib/components/Icon/icons/preview-collapse.icon.d.ts +5 -0
- package/lib/components/Icon/icons/preview-collapse.icon.d.ts.map +1 -0
- package/lib/components/Icon/icons/preview-collapse.icon.js +7 -0
- package/lib/components/Icon/icons/preview-collapse.icon.js.map +1 -0
- package/lib/components/Icon/icons/preview-expand.icon.d.ts +5 -0
- package/lib/components/Icon/icons/preview-expand.icon.d.ts.map +1 -0
- package/lib/components/Icon/icons/preview-expand.icon.js +7 -0
- package/lib/components/Icon/icons/preview-expand.icon.js.map +1 -0
- package/lib/components/Icon/icons/preview-hide.icon.d.ts +5 -0
- package/lib/components/Icon/icons/preview-hide.icon.d.ts.map +1 -0
- package/lib/components/Icon/icons/preview-hide.icon.js +7 -0
- package/lib/components/Icon/icons/preview-hide.icon.js.map +1 -0
- package/lib/components/Icon/icons/preview-rtl.icon.d.ts +5 -0
- package/lib/components/Icon/icons/preview-rtl.icon.d.ts.map +1 -0
- package/lib/components/Icon/icons/preview-rtl.icon.js +7 -0
- package/lib/components/Icon/icons/preview-rtl.icon.js.map +1 -0
- package/lib/components/Icon/icons/script-solid.icon.d.ts +5 -0
- package/lib/components/Icon/icons/script-solid.icon.d.ts.map +1 -0
- package/lib/components/Icon/icons/script-solid.icon.js +7 -0
- package/lib/components/Icon/icons/script-solid.icon.js.map +1 -0
- package/lib/components/Icon/icons/user-laptop.icon.d.ts +5 -0
- package/lib/components/Icon/icons/user-laptop.icon.d.ts.map +1 -0
- package/lib/components/Icon/icons/user-laptop.icon.js +7 -0
- package/lib/components/Icon/icons/user-laptop.icon.js.map +1 -0
- package/lib/components/Icon/index.d.ts +1 -1
- package/lib/components/Icon/index.d.ts.map +1 -1
- package/lib/components/Icon/index.js +1 -1
- package/lib/components/Icon/index.js.map +1 -1
- package/lib/components/Icon/streamline-icons/animal-print.icon.d.ts +5 -0
- package/lib/components/Icon/streamline-icons/animal-print.icon.d.ts.map +1 -0
- package/lib/components/Icon/streamline-icons/animal-print.icon.js +7 -0
- package/lib/components/Icon/streamline-icons/animal-print.icon.js.map +1 -0
- package/lib/components/Icon/streamline-icons/boat-cargo.icon.d.ts +5 -0
- package/lib/components/Icon/streamline-icons/boat-cargo.icon.d.ts.map +1 -0
- package/lib/components/Icon/streamline-icons/boat-cargo.icon.js +7 -0
- package/lib/components/Icon/streamline-icons/boat-cargo.icon.js.map +1 -0
- package/lib/components/Icon/streamline-icons/bolt-solid.icon.d.ts +5 -0
- package/lib/components/Icon/streamline-icons/bolt-solid.icon.d.ts.map +1 -0
- package/lib/components/Icon/streamline-icons/bolt-solid.icon.js +7 -0
- package/lib/components/Icon/streamline-icons/bolt-solid.icon.js.map +1 -0
- package/lib/components/Icon/streamline-icons/bolt.icon.d.ts +5 -0
- package/lib/components/Icon/streamline-icons/bolt.icon.d.ts.map +1 -0
- package/lib/components/Icon/streamline-icons/bolt.icon.js +7 -0
- package/lib/components/Icon/streamline-icons/bolt.icon.js.map +1 -0
- package/lib/components/Icon/streamline-icons/browser-site.icon.d.ts +5 -0
- package/lib/components/Icon/streamline-icons/browser-site.icon.d.ts.map +1 -0
- package/lib/components/Icon/streamline-icons/browser-site.icon.js +7 -0
- package/lib/components/Icon/streamline-icons/browser-site.icon.js.map +1 -0
- package/lib/components/Icon/streamline-icons/building-globe.icon.d.ts +5 -0
- package/lib/components/Icon/streamline-icons/building-globe.icon.d.ts.map +1 -0
- package/lib/components/Icon/streamline-icons/building-globe.icon.js +7 -0
- package/lib/components/Icon/streamline-icons/building-globe.icon.js.map +1 -0
- package/lib/components/Icon/streamline-icons/check-polaris-solid.icon.d.ts +5 -0
- package/lib/components/Icon/streamline-icons/check-polaris-solid.icon.d.ts.map +1 -0
- package/lib/components/Icon/streamline-icons/check-polaris-solid.icon.js +7 -0
- package/lib/components/Icon/streamline-icons/check-polaris-solid.icon.js.map +1 -0
- package/lib/components/Icon/streamline-icons/chess.icon.d.ts +5 -0
- package/lib/components/Icon/streamline-icons/chess.icon.d.ts.map +1 -0
- package/lib/components/Icon/streamline-icons/chess.icon.js +7 -0
- package/lib/components/Icon/streamline-icons/chess.icon.js.map +1 -0
- package/lib/components/Icon/streamline-icons/clock-sla.icon.d.ts +5 -0
- package/lib/components/Icon/streamline-icons/clock-sla.icon.d.ts.map +1 -0
- package/lib/components/Icon/streamline-icons/clock-sla.icon.js +7 -0
- package/lib/components/Icon/streamline-icons/clock-sla.icon.js.map +1 -0
- package/lib/components/Icon/streamline-icons/cloud-nodes.icon.d.ts +5 -0
- package/lib/components/Icon/streamline-icons/cloud-nodes.icon.d.ts.map +1 -0
- package/lib/components/Icon/streamline-icons/cloud-nodes.icon.js +7 -0
- package/lib/components/Icon/streamline-icons/cloud-nodes.icon.js.map +1 -0
- package/lib/components/Icon/streamline-icons/confetti.icon.d.ts +5 -0
- package/lib/components/Icon/streamline-icons/confetti.icon.d.ts.map +1 -0
- package/lib/components/Icon/streamline-icons/confetti.icon.js +7 -0
- package/lib/components/Icon/streamline-icons/confetti.icon.js.map +1 -0
- package/lib/components/Icon/streamline-icons/conveyor-cargo.icon.d.ts +5 -0
- package/lib/components/Icon/streamline-icons/conveyor-cargo.icon.d.ts.map +1 -0
- package/lib/components/Icon/streamline-icons/conveyor-cargo.icon.js +7 -0
- package/lib/components/Icon/streamline-icons/conveyor-cargo.icon.js.map +1 -0
- package/lib/components/Icon/streamline-icons/cpu-chip.icon.d.ts +5 -0
- package/lib/components/Icon/streamline-icons/cpu-chip.icon.d.ts.map +1 -0
- package/lib/components/Icon/streamline-icons/cpu-chip.icon.js +7 -0
- package/lib/components/Icon/streamline-icons/cpu-chip.icon.js.map +1 -0
- package/lib/components/Icon/streamline-icons/desktop-pencil.icon.d.ts +5 -0
- package/lib/components/Icon/streamline-icons/desktop-pencil.icon.d.ts.map +1 -0
- package/lib/components/Icon/streamline-icons/desktop-pencil.icon.js +7 -0
- package/lib/components/Icon/streamline-icons/desktop-pencil.icon.js.map +1 -0
- package/lib/components/Icon/streamline-icons/disc-document.icon.d.ts +5 -0
- package/lib/components/Icon/streamline-icons/disc-document.icon.d.ts.map +1 -0
- package/lib/components/Icon/streamline-icons/disc-document.icon.js +7 -0
- package/lib/components/Icon/streamline-icons/disc-document.icon.js.map +1 -0
- package/lib/components/Icon/streamline-icons/disc-nodes.icon.d.ts +5 -0
- package/lib/components/Icon/streamline-icons/disc-nodes.icon.d.ts.map +1 -0
- package/lib/components/Icon/streamline-icons/disc-nodes.icon.js +7 -0
- package/lib/components/Icon/streamline-icons/disc-nodes.icon.js.map +1 -0
- package/lib/components/Icon/streamline-icons/doc-ai.icon.d.ts +5 -0
- package/lib/components/Icon/streamline-icons/doc-ai.icon.d.ts.map +1 -0
- package/lib/components/Icon/streamline-icons/doc-ai.icon.js +7 -0
- package/lib/components/Icon/streamline-icons/doc-ai.icon.js.map +1 -0
- package/lib/components/Icon/streamline-icons/document-json.icon.d.ts +5 -0
- package/lib/components/Icon/streamline-icons/document-json.icon.d.ts.map +1 -0
- package/lib/components/Icon/streamline-icons/document-json.icon.js +7 -0
- package/lib/components/Icon/streamline-icons/document-json.icon.js.map +1 -0
- package/lib/components/Icon/streamline-icons/exchange-case-user.icon.d.ts +5 -0
- package/lib/components/Icon/streamline-icons/exchange-case-user.icon.d.ts.map +1 -0
- package/lib/components/Icon/streamline-icons/exchange-case-user.icon.js +7 -0
- package/lib/components/Icon/streamline-icons/exchange-case-user.icon.js.map +1 -0
- package/lib/components/Icon/streamline-icons/exchange-cases.icon.d.ts +5 -0
- package/lib/components/Icon/streamline-icons/exchange-cases.icon.d.ts.map +1 -0
- package/lib/components/Icon/streamline-icons/exchange-cases.icon.js +7 -0
- package/lib/components/Icon/streamline-icons/exchange-cases.icon.js.map +1 -0
- package/lib/components/Icon/streamline-icons/factory.icon.d.ts +5 -0
- package/lib/components/Icon/streamline-icons/factory.icon.d.ts.map +1 -0
- package/lib/components/Icon/streamline-icons/factory.icon.js +7 -0
- package/lib/components/Icon/streamline-icons/factory.icon.js.map +1 -0
- package/lib/components/Icon/streamline-icons/fast-food.icon.d.ts +5 -0
- package/lib/components/Icon/streamline-icons/fast-food.icon.d.ts.map +1 -0
- package/lib/components/Icon/streamline-icons/fast-food.icon.js +7 -0
- package/lib/components/Icon/streamline-icons/fast-food.icon.js.map +1 -0
- package/lib/components/Icon/streamline-icons/field-cursor.icon.js +1 -1
- package/lib/components/Icon/streamline-icons/field-cursor.icon.js.map +1 -1
- package/lib/components/Icon/streamline-icons/field-group.icon.d.ts +5 -0
- package/lib/components/Icon/streamline-icons/field-group.icon.d.ts.map +1 -0
- package/lib/components/Icon/streamline-icons/field-group.icon.js +7 -0
- package/lib/components/Icon/streamline-icons/field-group.icon.js.map +1 -0
- package/lib/components/Icon/streamline-icons/gear-nodes.icon.d.ts +5 -0
- package/lib/components/Icon/streamline-icons/gear-nodes.icon.d.ts.map +1 -0
- package/lib/components/Icon/streamline-icons/gear-nodes.icon.js +7 -0
- package/lib/components/Icon/streamline-icons/gear-nodes.icon.js.map +1 -0
- package/lib/components/Icon/streamline-icons/heart-rate.icon.d.ts +5 -0
- package/lib/components/Icon/streamline-icons/heart-rate.icon.d.ts.map +1 -0
- package/lib/components/Icon/streamline-icons/heart-rate.icon.js +7 -0
- package/lib/components/Icon/streamline-icons/heart-rate.icon.js.map +1 -0
- package/lib/components/Icon/streamline-icons/hexagons.icon.d.ts +5 -0
- package/lib/components/Icon/streamline-icons/hexagons.icon.d.ts.map +1 -0
- package/lib/components/Icon/streamline-icons/hexagons.icon.js +7 -0
- package/lib/components/Icon/streamline-icons/hexagons.icon.js.map +1 -0
- package/lib/components/Icon/streamline-icons/language-pack.icon.d.ts +5 -0
- package/lib/components/Icon/streamline-icons/language-pack.icon.d.ts.map +1 -0
- package/lib/components/Icon/streamline-icons/language-pack.icon.js +7 -0
- package/lib/components/Icon/streamline-icons/language-pack.icon.js.map +1 -0
- package/lib/components/Icon/streamline-icons/layout.icon.d.ts +5 -0
- package/lib/components/Icon/streamline-icons/layout.icon.d.ts.map +1 -0
- package/lib/components/Icon/streamline-icons/layout.icon.js +7 -0
- package/lib/components/Icon/streamline-icons/layout.icon.js.map +1 -0
- package/lib/components/Icon/streamline-icons/mcp.icon.d.ts +5 -0
- package/lib/components/Icon/streamline-icons/mcp.icon.d.ts.map +1 -0
- package/lib/components/Icon/streamline-icons/mcp.icon.js +7 -0
- package/lib/components/Icon/streamline-icons/mcp.icon.js.map +1 -0
- package/lib/components/Icon/streamline-icons/motherboard.icon.d.ts +5 -0
- package/lib/components/Icon/streamline-icons/motherboard.icon.d.ts.map +1 -0
- package/lib/components/Icon/streamline-icons/motherboard.icon.js +7 -0
- package/lib/components/Icon/streamline-icons/motherboard.icon.js.map +1 -0
- package/lib/components/Icon/streamline-icons/oil-tower.icon.d.ts +5 -0
- package/lib/components/Icon/streamline-icons/oil-tower.icon.d.ts.map +1 -0
- package/lib/components/Icon/streamline-icons/oil-tower.icon.js +7 -0
- package/lib/components/Icon/streamline-icons/oil-tower.icon.js.map +1 -0
- package/lib/components/Icon/streamline-icons/phone-stethescope.icon.d.ts +5 -0
- package/lib/components/Icon/streamline-icons/phone-stethescope.icon.d.ts.map +1 -0
- package/lib/components/Icon/streamline-icons/phone-stethescope.icon.js +7 -0
- package/lib/components/Icon/streamline-icons/phone-stethescope.icon.js.map +1 -0
- package/lib/components/Icon/streamline-icons/piggybank.icon.d.ts +5 -0
- package/lib/components/Icon/streamline-icons/piggybank.icon.d.ts.map +1 -0
- package/lib/components/Icon/streamline-icons/piggybank.icon.js +7 -0
- package/lib/components/Icon/streamline-icons/piggybank.icon.js.map +1 -0
- package/lib/components/Icon/streamline-icons/plug-connect.icon.d.ts +5 -0
- package/lib/components/Icon/streamline-icons/plug-connect.icon.d.ts.map +1 -0
- package/lib/components/Icon/streamline-icons/plug-connect.icon.js +7 -0
- package/lib/components/Icon/streamline-icons/plug-connect.icon.js.map +1 -0
- package/lib/components/Icon/streamline-icons/prescription.icon.d.ts +5 -0
- package/lib/components/Icon/streamline-icons/prescription.icon.d.ts.map +1 -0
- package/lib/components/Icon/streamline-icons/prescription.icon.js +7 -0
- package/lib/components/Icon/streamline-icons/prescription.icon.js.map +1 -0
- package/lib/components/Icon/streamline-icons/preview-bottom.icon.d.ts +5 -0
- package/lib/components/Icon/streamline-icons/preview-bottom.icon.d.ts.map +1 -0
- package/lib/components/Icon/streamline-icons/preview-bottom.icon.js +7 -0
- package/lib/components/Icon/streamline-icons/preview-bottom.icon.js.map +1 -0
- package/lib/components/Icon/streamline-icons/preview-hide.icon.d.ts +5 -0
- package/lib/components/Icon/streamline-icons/preview-hide.icon.d.ts.map +1 -0
- package/lib/components/Icon/streamline-icons/preview-hide.icon.js +7 -0
- package/lib/components/Icon/streamline-icons/preview-hide.icon.js.map +1 -0
- package/lib/components/Icon/streamline-icons/preview-rtl.icon.d.ts +5 -0
- package/lib/components/Icon/streamline-icons/preview-rtl.icon.d.ts.map +1 -0
- package/lib/components/Icon/streamline-icons/preview-rtl.icon.js +7 -0
- package/lib/components/Icon/streamline-icons/preview-rtl.icon.js.map +1 -0
- package/lib/components/Icon/streamline-icons/preview.icon.d.ts +5 -0
- package/lib/components/Icon/streamline-icons/preview.icon.d.ts.map +1 -0
- package/lib/components/Icon/streamline-icons/preview.icon.js +7 -0
- package/lib/components/Icon/streamline-icons/preview.icon.js.map +1 -0
- package/lib/components/Icon/streamline-icons/return.icon.d.ts +5 -0
- package/lib/components/Icon/streamline-icons/return.icon.d.ts.map +1 -0
- package/lib/components/Icon/streamline-icons/return.icon.js +7 -0
- package/lib/components/Icon/streamline-icons/return.icon.js.map +1 -0
- package/lib/components/Icon/streamline-icons/robot-assembly.icon.d.ts +5 -0
- package/lib/components/Icon/streamline-icons/robot-assembly.icon.d.ts.map +1 -0
- package/lib/components/Icon/streamline-icons/robot-assembly.icon.js +7 -0
- package/lib/components/Icon/streamline-icons/robot-assembly.icon.js.map +1 -0
- package/lib/components/Icon/streamline-icons/scale-unequal.icon.d.ts +5 -0
- package/lib/components/Icon/streamline-icons/scale-unequal.icon.d.ts.map +1 -0
- package/lib/components/Icon/streamline-icons/scale-unequal.icon.js +7 -0
- package/lib/components/Icon/streamline-icons/scale-unequal.icon.js.map +1 -0
- package/lib/components/Icon/streamline-icons/selection-cursor.icon.d.ts +5 -0
- package/lib/components/Icon/streamline-icons/selection-cursor.icon.d.ts.map +1 -0
- package/lib/components/Icon/streamline-icons/selection-cursor.icon.js +7 -0
- package/lib/components/Icon/streamline-icons/selection-cursor.icon.js.map +1 -0
- package/lib/components/Icon/streamline-icons/send-solid.icon.d.ts +5 -0
- package/lib/components/Icon/streamline-icons/send-solid.icon.d.ts.map +1 -0
- package/lib/components/Icon/streamline-icons/send-solid.icon.js +7 -0
- package/lib/components/Icon/streamline-icons/send-solid.icon.js.map +1 -0
- package/lib/components/Icon/streamline-icons/sewing-machine.icon.d.ts +5 -0
- package/lib/components/Icon/streamline-icons/sewing-machine.icon.d.ts.map +1 -0
- package/lib/components/Icon/streamline-icons/sewing-machine.icon.js +7 -0
- package/lib/components/Icon/streamline-icons/sewing-machine.icon.js.map +1 -0
- package/lib/components/Icon/streamline-icons/shapes.icon.d.ts +5 -0
- package/lib/components/Icon/streamline-icons/shapes.icon.d.ts.map +1 -0
- package/lib/components/Icon/streamline-icons/shapes.icon.js +7 -0
- package/lib/components/Icon/streamline-icons/shapes.icon.js.map +1 -0
- package/lib/components/Icon/streamline-icons/share-case.icon.d.ts +5 -0
- package/lib/components/Icon/streamline-icons/share-case.icon.d.ts.map +1 -0
- package/lib/components/Icon/streamline-icons/share-case.icon.js +7 -0
- package/lib/components/Icon/streamline-icons/share-case.icon.js.map +1 -0
- package/lib/components/Icon/streamline-icons/share-document.icon.d.ts +5 -0
- package/lib/components/Icon/streamline-icons/share-document.icon.d.ts.map +1 -0
- package/lib/components/Icon/streamline-icons/share-document.icon.js +7 -0
- package/lib/components/Icon/streamline-icons/share-document.icon.js.map +1 -0
- package/lib/components/Icon/streamline-icons/shield-currency.icon.d.ts +5 -0
- package/lib/components/Icon/streamline-icons/shield-currency.icon.d.ts.map +1 -0
- package/lib/components/Icon/streamline-icons/shield-currency.icon.js +7 -0
- package/lib/components/Icon/streamline-icons/shield-currency.icon.js.map +1 -0
- package/lib/components/Icon/streamline-icons/shield-lock.icon.d.ts +5 -0
- package/lib/components/Icon/streamline-icons/shield-lock.icon.d.ts.map +1 -0
- package/lib/components/Icon/streamline-icons/shield-lock.icon.js +7 -0
- package/lib/components/Icon/streamline-icons/shield-lock.icon.js.map +1 -0
- package/lib/components/Icon/streamline-icons/table-disc.icon.d.ts +5 -0
- package/lib/components/Icon/streamline-icons/table-disc.icon.d.ts.map +1 -0
- package/lib/components/Icon/streamline-icons/table-disc.icon.js +7 -0
- package/lib/components/Icon/streamline-icons/table-disc.icon.js.map +1 -0
- package/lib/components/Icon/streamline-icons/tablet-rate.icon.d.ts +5 -0
- package/lib/components/Icon/streamline-icons/tablet-rate.icon.d.ts.map +1 -0
- package/lib/components/Icon/streamline-icons/tablet-rate.icon.js +7 -0
- package/lib/components/Icon/streamline-icons/tablet-rate.icon.js.map +1 -0
- package/lib/components/Icon/streamline-icons/ticket-movie.icon.d.ts +5 -0
- package/lib/components/Icon/streamline-icons/ticket-movie.icon.d.ts.map +1 -0
- package/lib/components/Icon/streamline-icons/ticket-movie.icon.js +7 -0
- package/lib/components/Icon/streamline-icons/ticket-movie.icon.js.map +1 -0
- package/lib/components/Icon/streamline-icons/train.icon.d.ts +5 -0
- package/lib/components/Icon/streamline-icons/train.icon.d.ts.map +1 -0
- package/lib/components/Icon/streamline-icons/train.icon.js +7 -0
- package/lib/components/Icon/streamline-icons/train.icon.js.map +1 -0
- package/lib/components/Icon/streamline-icons/translate.icon.d.ts +5 -0
- package/lib/components/Icon/streamline-icons/translate.icon.d.ts.map +1 -0
- package/lib/components/Icon/streamline-icons/translate.icon.js +7 -0
- package/lib/components/Icon/streamline-icons/translate.icon.js.map +1 -0
- package/lib/components/Icon/streamline-icons/truck-cargo.icon.d.ts +5 -0
- package/lib/components/Icon/streamline-icons/truck-cargo.icon.d.ts.map +1 -0
- package/lib/components/Icon/streamline-icons/truck-cargo.icon.js +7 -0
- package/lib/components/Icon/streamline-icons/truck-cargo.icon.js.map +1 -0
- package/lib/components/Icon/streamline-icons/truck-clock.icon.d.ts +5 -0
- package/lib/components/Icon/streamline-icons/truck-clock.icon.d.ts.map +1 -0
- package/lib/components/Icon/streamline-icons/truck-clock.icon.js +7 -0
- package/lib/components/Icon/streamline-icons/truck-clock.icon.js.map +1 -0
- package/lib/components/Icon/streamline-icons/truck.icon.d.ts +5 -0
- package/lib/components/Icon/streamline-icons/truck.icon.d.ts.map +1 -0
- package/lib/components/Icon/streamline-icons/truck.icon.js +7 -0
- package/lib/components/Icon/streamline-icons/truck.icon.js.map +1 -0
- package/lib/components/Icon/streamline-icons/user-laptop.icon.d.ts +5 -0
- package/lib/components/Icon/streamline-icons/user-laptop.icon.d.ts.map +1 -0
- package/lib/components/Icon/streamline-icons/user-laptop.icon.js +7 -0
- package/lib/components/Icon/streamline-icons/user-laptop.icon.js.map +1 -0
- package/lib/components/Icon/streamline-icons/user-plane.icon.d.ts +5 -0
- package/lib/components/Icon/streamline-icons/user-plane.icon.d.ts.map +1 -0
- package/lib/components/Icon/streamline-icons/user-plane.icon.js +7 -0
- package/lib/components/Icon/streamline-icons/user-plane.icon.js.map +1 -0
- package/lib/components/Icon/streamline-icons/user-polaris-solid.icon.d.ts +5 -0
- package/lib/components/Icon/streamline-icons/user-polaris-solid.icon.d.ts.map +1 -0
- package/lib/components/Icon/streamline-icons/user-polaris-solid.icon.js +7 -0
- package/lib/components/Icon/streamline-icons/user-polaris-solid.icon.js.map +1 -0
- package/lib/components/Icon/streamline-icons/veterinarian-dog.icon.d.ts +5 -0
- package/lib/components/Icon/streamline-icons/veterinarian-dog.icon.d.ts.map +1 -0
- package/lib/components/Icon/streamline-icons/veterinarian-dog.icon.js +7 -0
- package/lib/components/Icon/streamline-icons/veterinarian-dog.icon.js.map +1 -0
- package/lib/components/Icon/streamline-icons/video-player.icon.d.ts +5 -0
- package/lib/components/Icon/streamline-icons/video-player.icon.d.ts.map +1 -0
- package/lib/components/Icon/streamline-icons/video-player.icon.js +7 -0
- package/lib/components/Icon/streamline-icons/video-player.icon.js.map +1 -0
- package/lib/components/Icon/streamlineIconNames.d.ts +1 -1
- package/lib/components/Icon/streamlineIconNames.d.ts.map +1 -1
- package/lib/components/Icon/streamlineIconNames.js +63 -0
- package/lib/components/Icon/streamlineIconNames.js.map +1 -1
- package/lib/components/Image/Image.d.ts +1 -1
- package/lib/components/Image/Image.d.ts.map +1 -1
- package/lib/components/Image/Image.js +1 -0
- package/lib/components/Image/Image.js.map +1 -1
- package/lib/components/InlineEdit/InlineEdit.d.ts +26 -0
- package/lib/components/InlineEdit/InlineEdit.d.ts.map +1 -0
- package/lib/components/InlineEdit/InlineEdit.js +21 -0
- package/lib/components/InlineEdit/InlineEdit.js.map +1 -0
- package/lib/components/InlineEdit/InlineEdit.styles.d.ts +27 -0
- package/lib/components/InlineEdit/InlineEdit.styles.d.ts.map +1 -0
- package/lib/components/InlineEdit/InlineEdit.styles.js +49 -0
- package/lib/components/InlineEdit/InlineEdit.styles.js.map +1 -0
- package/lib/components/InlineEdit/InlineEdit.test-ids.d.ts +3 -0
- package/lib/components/InlineEdit/InlineEdit.test-ids.d.ts.map +1 -0
- package/lib/components/InlineEdit/InlineEdit.test-ids.js +4 -0
- package/lib/components/InlineEdit/InlineEdit.test-ids.js.map +1 -0
- package/lib/components/InlineEdit/index.d.ts +3 -0
- package/lib/components/InlineEdit/index.d.ts.map +1 -0
- package/lib/components/InlineEdit/index.js +2 -0
- package/lib/components/InlineEdit/index.js.map +1 -0
- package/lib/components/Input/Input.js +3 -3
- package/lib/components/Input/Input.js.map +1 -1
- package/lib/components/Input/Input.styles.d.ts +2 -2
- package/lib/components/Input/Input.styles.d.ts.map +1 -1
- package/lib/components/KeyboardCommands/KeyboardCommands.d.ts +6 -0
- package/lib/components/KeyboardCommands/KeyboardCommands.d.ts.map +1 -0
- package/lib/components/KeyboardCommands/KeyboardCommands.js +73 -0
- package/lib/components/KeyboardCommands/KeyboardCommands.js.map +1 -0
- package/lib/components/KeyboardCommands/index.d.ts +3 -0
- package/lib/components/KeyboardCommands/index.d.ts.map +1 -0
- package/lib/components/KeyboardCommands/index.js +3 -0
- package/lib/components/KeyboardCommands/index.js.map +1 -0
- package/lib/components/Label/Label.d.ts +4 -2
- package/lib/components/Label/Label.d.ts.map +1 -1
- package/lib/components/Label/Label.js +5 -1
- package/lib/components/Label/Label.js.map +1 -1
- package/lib/components/Lightbox/Lightbox.d.ts.map +1 -1
- package/lib/components/Lightbox/Lightbox.js +44 -20
- package/lib/components/Lightbox/Lightbox.js.map +1 -1
- package/lib/components/Lightbox/Lightbox.styles.d.ts +24 -11
- package/lib/components/Lightbox/Lightbox.styles.d.ts.map +1 -1
- package/lib/components/Lightbox/Lightbox.styles.js +33 -5
- package/lib/components/Lightbox/Lightbox.styles.js.map +1 -1
- package/lib/components/Lightbox/Lightbox.types.d.ts +13 -0
- package/lib/components/Lightbox/Lightbox.types.d.ts.map +1 -1
- package/lib/components/Lightbox/Lightbox.types.js.map +1 -1
- package/lib/components/Lightbox/index.d.ts +1 -1
- package/lib/components/Lightbox/index.d.ts.map +1 -1
- package/lib/components/Lightbox/index.js.map +1 -1
- package/lib/components/Link/Link.d.ts +17 -6
- package/lib/components/Link/Link.d.ts.map +1 -1
- package/lib/components/Link/Link.js +9 -7
- package/lib/components/Link/Link.js.map +1 -1
- package/lib/components/List/CommaSeparatedList.d.ts +2 -2
- package/lib/components/List/CommaSeparatedList.d.ts.map +1 -1
- package/lib/components/List/List.d.ts +3 -3
- package/lib/components/List/List.d.ts.map +1 -1
- package/lib/components/ListToolbar/ListToolbar.d.ts +1 -1
- package/lib/components/ListToolbar/ListToolbar.d.ts.map +1 -1
- package/lib/components/ListToolbar/ListToolbar.js +53 -81
- package/lib/components/ListToolbar/ListToolbar.js.map +1 -1
- package/lib/components/ListToolbar/ListToolbar.styles.d.ts +405 -15
- package/lib/components/ListToolbar/ListToolbar.styles.d.ts.map +1 -1
- package/lib/components/ListToolbar/ListToolbar.styles.js +58 -36
- package/lib/components/ListToolbar/ListToolbar.styles.js.map +1 -1
- package/lib/components/ListToolbar/ListToolbar.test-ids.d.ts +1 -1
- package/lib/components/ListToolbar/ListToolbar.test-ids.d.ts.map +1 -1
- package/lib/components/ListToolbar/ListToolbar.test-ids.js +0 -1
- package/lib/components/ListToolbar/ListToolbar.test-ids.js.map +1 -1
- package/lib/components/ListToolbar/ListToolbar.types.d.ts +9 -6
- package/lib/components/ListToolbar/ListToolbar.types.d.ts.map +1 -1
- package/lib/components/ListToolbar/ListToolbar.types.js.map +1 -1
- package/lib/components/LiveLog/LiveLog.js +2 -2
- package/lib/components/LiveLog/LiveLog.js.map +1 -1
- package/lib/components/LiveLog/LiveLog.styles.d.ts +1 -1
- package/lib/components/LiveLog/LiveLog.styles.d.ts.map +1 -1
- package/lib/components/LiveLog/LiveLog.types.d.ts +1 -1
- package/lib/components/LiveLog/LiveLog.types.js.map +1 -1
- package/lib/components/Location/GoogleMapsAPI.d.ts +4 -5
- package/lib/components/Location/GoogleMapsAPI.d.ts.map +1 -1
- package/lib/components/Location/GoogleMapsAPI.js +66 -69
- package/lib/components/Location/GoogleMapsAPI.js.map +1 -1
- package/lib/components/Location/LocationAPI.types.d.ts +2 -3
- package/lib/components/Location/LocationAPI.types.d.ts.map +1 -1
- package/lib/components/Location/LocationAPI.types.js.map +1 -1
- package/lib/components/Location/LocationInput.d.ts.map +1 -1
- package/lib/components/Location/LocationInput.js +72 -48
- package/lib/components/Location/LocationInput.js.map +1 -1
- package/lib/components/Location/LocationView.d.ts +2 -0
- package/lib/components/Location/LocationView.d.ts.map +1 -1
- package/lib/components/Location/LocationView.js +3 -3
- package/lib/components/Location/LocationView.js.map +1 -1
- package/lib/components/Location/LocationView.styles.d.ts +8 -6
- package/lib/components/Location/LocationView.styles.d.ts.map +1 -1
- package/lib/components/Mark/Mark.d.ts +5 -1
- package/lib/components/Mark/Mark.d.ts.map +1 -1
- package/lib/components/Mark/Mark.js +8 -7
- package/lib/components/Mark/Mark.js.map +1 -1
- package/lib/components/Menu/Menu.d.ts.map +1 -1
- package/lib/components/Menu/Menu.js +59 -7
- package/lib/components/Menu/Menu.js.map +1 -1
- package/lib/components/Menu/Menu.styles.d.ts +21 -15
- package/lib/components/Menu/Menu.styles.d.ts.map +1 -1
- package/lib/components/Menu/Menu.styles.js +138 -6
- package/lib/components/Menu/Menu.styles.js.map +1 -1
- package/lib/components/Menu/Menu.types.d.ts +10 -1
- package/lib/components/Menu/Menu.types.d.ts.map +1 -1
- package/lib/components/Menu/Menu.types.js.map +1 -1
- package/lib/components/Menu/MenuItem.d.ts.map +1 -1
- package/lib/components/Menu/MenuItem.js +19 -20
- package/lib/components/Menu/MenuItem.js.map +1 -1
- package/lib/components/MenuButton/MenuButton.d.ts +2 -6
- package/lib/components/MenuButton/MenuButton.d.ts.map +1 -1
- package/lib/components/MenuButton/MenuButton.js +64 -11
- package/lib/components/MenuButton/MenuButton.js.map +1 -1
- package/lib/components/MetaList/MetaList.d.ts +4 -4
- package/lib/components/MetaList/MetaList.d.ts.map +1 -1
- package/lib/components/Modal/Contexts.d.ts.map +1 -1
- package/lib/components/Modal/Contexts.js +2 -1
- package/lib/components/Modal/Contexts.js.map +1 -1
- package/lib/components/Modal/DockedModals.d.ts.map +1 -1
- package/lib/components/Modal/DockedModals.js +2 -1
- package/lib/components/Modal/DockedModals.js.map +1 -1
- package/lib/components/Modal/MinimizedModal.d.ts.map +1 -1
- package/lib/components/Modal/MinimizedModal.js +30 -8
- package/lib/components/Modal/MinimizedModal.js.map +1 -1
- package/lib/components/Modal/Modal.d.ts.map +1 -1
- package/lib/components/Modal/Modal.js +54 -17
- package/lib/components/Modal/Modal.js.map +1 -1
- package/lib/components/Modal/Modal.styles.d.ts +5 -6
- package/lib/components/Modal/Modal.styles.d.ts.map +1 -1
- package/lib/components/Modal/Modal.styles.js +66 -15
- package/lib/components/Modal/Modal.styles.js.map +1 -1
- package/lib/components/Modal/Modal.types.d.ts +19 -3
- package/lib/components/Modal/Modal.types.d.ts.map +1 -1
- package/lib/components/Modal/Modal.types.js.map +1 -1
- package/lib/components/Modal/ModalManager.d.ts.map +1 -1
- package/lib/components/Modal/ModalManager.js +28 -9
- package/lib/components/Modal/ModalManager.js.map +1 -1
- package/lib/components/Modal/useModalMove.d.ts +30 -0
- package/lib/components/Modal/useModalMove.d.ts.map +1 -0
- package/lib/components/Modal/useModalMove.js +148 -0
- package/lib/components/Modal/useModalMove.js.map +1 -0
- package/lib/components/MultiStepForm/FormProgress.styles.d.ts +208 -12
- package/lib/components/MultiStepForm/FormProgress.styles.d.ts.map +1 -1
- package/lib/components/MultiStepForm/FormProgress.styles.js +199 -69
- package/lib/components/MultiStepForm/FormProgress.styles.js.map +1 -1
- package/lib/components/MultiStepForm/HorizontalFormProgress.d.ts +2 -1
- package/lib/components/MultiStepForm/HorizontalFormProgress.d.ts.map +1 -1
- package/lib/components/MultiStepForm/HorizontalFormProgress.js +44 -25
- package/lib/components/MultiStepForm/HorizontalFormProgress.js.map +1 -1
- package/lib/components/MultiStepForm/MultiStepForm.d.ts +190 -5
- package/lib/components/MultiStepForm/MultiStepForm.d.ts.map +1 -1
- package/lib/components/MultiStepForm/MultiStepForm.js +40 -11
- package/lib/components/MultiStepForm/MultiStepForm.js.map +1 -1
- package/lib/components/MultiStepForm/MultiStepForm.types.d.ts +20 -6
- package/lib/components/MultiStepForm/MultiStepForm.types.d.ts.map +1 -1
- package/lib/components/MultiStepForm/MultiStepForm.types.js.map +1 -1
- package/lib/components/MultiStepForm/VerticalFormProgress.d.ts +1 -1
- package/lib/components/MultiStepForm/VerticalFormProgress.d.ts.map +1 -1
- package/lib/components/MultiStepForm/VerticalFormProgress.js +7 -4
- package/lib/components/MultiStepForm/VerticalFormProgress.js.map +1 -1
- package/lib/components/MultiStepForm/useFormProgressOverflow.d.ts +6 -0
- package/lib/components/MultiStepForm/useFormProgressOverflow.d.ts.map +1 -0
- package/lib/components/MultiStepForm/useFormProgressOverflow.js +35 -0
- package/lib/components/MultiStepForm/useFormProgressOverflow.js.map +1 -0
- package/lib/components/Number/NumberInput.d.ts.map +1 -1
- package/lib/components/Number/NumberInput.js +1 -3
- package/lib/components/Number/NumberInput.js.map +1 -1
- package/lib/components/Number/NumberInput.styles.d.ts +8 -4
- package/lib/components/Number/NumberInput.styles.d.ts.map +1 -1
- package/lib/components/Number/NumberInput.types.d.ts +4 -0
- package/lib/components/Number/NumberInput.types.d.ts.map +1 -1
- package/lib/components/Number/NumberInput.types.js.map +1 -1
- package/lib/components/Number/NumberRangeInput.d.ts.map +1 -1
- package/lib/components/Number/NumberRangeInput.js +2 -5
- package/lib/components/Number/NumberRangeInput.js.map +1 -1
- package/lib/components/PageTemplates/CategorySubPage.styles.d.ts +22 -18
- package/lib/components/PageTemplates/CategorySubPage.styles.d.ts.map +1 -1
- package/lib/components/PageTemplates/CategorySubPage.styles.js +24 -5
- package/lib/components/PageTemplates/CategorySubPage.styles.js.map +1 -1
- package/lib/components/PageTemplates/DashboardPage.d.ts +12 -6
- package/lib/components/PageTemplates/DashboardPage.d.ts.map +1 -1
- package/lib/components/PageTemplates/DashboardPage.js +1 -1
- package/lib/components/PageTemplates/DashboardPage.js.map +1 -1
- package/lib/components/PageTemplates/GridLayout/EditorBackground.d.ts.map +1 -1
- package/lib/components/PageTemplates/GridLayout/EditorBackground.js +1 -0
- package/lib/components/PageTemplates/GridLayout/EditorBackground.js.map +1 -1
- package/lib/components/PageTemplates/GridLayout/EditorGridItem.d.ts.map +1 -1
- package/lib/components/PageTemplates/GridLayout/EditorGridItem.js +6 -0
- package/lib/components/PageTemplates/GridLayout/EditorGridItem.js.map +1 -1
- package/lib/components/PageTemplates/GridLayout/GridLayoutEditor.d.ts +6 -0
- package/lib/components/PageTemplates/GridLayout/GridLayoutEditor.d.ts.map +1 -1
- package/lib/components/PageTemplates/GridLayout/GridLayoutEditor.js +2 -2
- package/lib/components/PageTemplates/GridLayout/GridLayoutEditor.js.map +1 -1
- package/lib/components/PageTemplates/GridLayout/GridLayoutViewer.d.ts +6 -0
- package/lib/components/PageTemplates/GridLayout/GridLayoutViewer.d.ts.map +1 -1
- package/lib/components/PageTemplates/GridLayout/GridLayoutViewer.js +2 -2
- package/lib/components/PageTemplates/GridLayout/GridLayoutViewer.js.map +1 -1
- package/lib/components/PageTemplates/GridLayout/ReactGridLayoutStyles.d.ts +1 -1
- package/lib/components/PageTemplates/GridLayout/ReactGridLayoutStyles.d.ts.map +1 -1
- package/lib/components/PageTemplates/GridLayout/ReactResizableStyles.d.ts +1 -1
- package/lib/components/PageTemplates/GridLayout/ReactResizableStyles.d.ts.map +1 -1
- package/lib/components/PageTemplates/GridLayout/utils.d.ts +2 -1
- package/lib/components/PageTemplates/GridLayout/utils.d.ts.map +1 -1
- package/lib/components/PageTemplates/GridLayout/utils.js +4 -3
- package/lib/components/PageTemplates/GridLayout/utils.js.map +1 -1
- package/lib/components/PageTemplates/PageTemplates.d.ts +191 -9
- package/lib/components/PageTemplates/PageTemplates.d.ts.map +1 -1
- package/lib/components/PageTemplates/PageTemplates.js +31 -16
- package/lib/components/PageTemplates/PageTemplates.js.map +1 -1
- package/lib/components/Phone/PhoneInput.d.ts +3 -0
- package/lib/components/Phone/PhoneInput.d.ts.map +1 -1
- package/lib/components/Phone/PhoneInput.js +8 -4
- package/lib/components/Phone/PhoneInput.js.map +1 -1
- package/lib/components/Phone/utils.d.ts +1 -1
- package/lib/components/Phone/utils.d.ts.map +1 -1
- package/lib/components/Phone/utils.js +5 -2
- package/lib/components/Phone/utils.js.map +1 -1
- package/lib/components/Popover/Popover.d.ts.map +1 -1
- package/lib/components/Popover/Popover.js +18 -10
- package/lib/components/Popover/Popover.js.map +1 -1
- package/lib/components/Popover/Popover.styles.d.ts +3 -3
- package/lib/components/Popover/Popover.styles.d.ts.map +1 -1
- package/lib/components/Popover/Popover.styles.js +13 -9
- package/lib/components/Popover/Popover.styles.js.map +1 -1
- package/lib/components/Popover/modifiers.js +1 -1
- package/lib/components/Popover/modifiers.js.map +1 -1
- package/lib/components/Preview/Contexts.d.ts +5 -0
- package/lib/components/Preview/Contexts.d.ts.map +1 -0
- package/lib/components/Preview/Contexts.js +19 -0
- package/lib/components/Preview/Contexts.js.map +1 -0
- package/lib/components/Preview/Preview.types.d.ts +46 -0
- package/lib/components/Preview/Preview.types.d.ts.map +1 -0
- package/lib/components/Preview/Preview.types.js +2 -0
- package/lib/components/Preview/Preview.types.js.map +1 -0
- package/lib/components/Preview/PreviewManager.d.ts +11 -0
- package/lib/components/Preview/PreviewManager.d.ts.map +1 -0
- package/lib/components/Preview/PreviewManager.js +125 -0
- package/lib/components/Preview/PreviewManager.js.map +1 -0
- package/lib/components/Preview/PreviewPanel.d.ts +7 -0
- package/lib/components/Preview/PreviewPanel.d.ts.map +1 -0
- package/lib/components/Preview/PreviewPanel.js +110 -0
- package/lib/components/Preview/PreviewPanel.js.map +1 -0
- package/lib/components/Preview/PreviewPanel.test-ids.d.ts +2 -0
- package/lib/components/Preview/PreviewPanel.test-ids.d.ts.map +1 -0
- package/lib/components/Preview/PreviewPanel.test-ids.js +6 -0
- package/lib/components/Preview/PreviewPanel.test-ids.js.map +1 -0
- package/lib/components/Preview/index.d.ts +5 -0
- package/lib/components/Preview/index.d.ts.map +1 -0
- package/lib/components/Preview/index.js +4 -0
- package/lib/components/Preview/index.js.map +1 -0
- package/lib/components/Progress/Progress.js +1 -1
- package/lib/components/Progress/Progress.js.map +1 -1
- package/lib/components/Progress/Progress.styles.d.ts +199 -9
- package/lib/components/Progress/Progress.styles.d.ts.map +1 -1
- package/lib/components/Progress/Progress.styles.js +1 -1
- package/lib/components/Progress/Progress.styles.js.map +1 -1
- package/lib/components/QRCode/QRCode.d.ts +1 -1
- package/lib/components/QRCode/QRCode.d.ts.map +1 -1
- package/lib/components/RadioButton/RadioButton.test-ids.d.ts +1 -1
- package/lib/components/RadioButton/RadioButton.test-ids.d.ts.map +1 -1
- package/lib/components/RadioButton/RadioButtonCard.d.ts +11 -3
- package/lib/components/RadioButton/RadioButtonCard.d.ts.map +1 -1
- package/lib/components/RadioButton/RadioButtonCard.js +5 -22
- package/lib/components/RadioButton/RadioButtonCard.js.map +1 -1
- package/lib/components/RadioButtonGroup/RadioButtonGroup.d.ts +7 -0
- package/lib/components/RadioButtonGroup/RadioButtonGroup.d.ts.map +1 -0
- package/lib/components/RadioButtonGroup/RadioButtonGroup.js +10 -0
- package/lib/components/RadioButtonGroup/RadioButtonGroup.js.map +1 -0
- package/lib/components/RadioButtonGroup/index.d.ts +2 -1
- package/lib/components/RadioButtonGroup/index.d.ts.map +1 -1
- package/lib/components/RadioButtonGroup/index.js +1 -1
- package/lib/components/RadioButtonGroup/index.js.map +1 -1
- package/lib/components/RadioCheck/RadioCheck.d.ts +9 -4
- package/lib/components/RadioCheck/RadioCheck.d.ts.map +1 -1
- package/lib/components/RadioCheck/RadioCheck.js +97 -75
- package/lib/components/RadioCheck/RadioCheck.js.map +1 -1
- package/lib/components/RadioCheckGroup/RadioCheckGroup.d.ts +11 -5
- package/lib/components/RadioCheckGroup/RadioCheckGroup.d.ts.map +1 -1
- package/lib/components/RadioCheckGroup/RadioCheckGroup.js +70 -19
- package/lib/components/RadioCheckGroup/RadioCheckGroup.js.map +1 -1
- package/lib/components/Rating/Rating.d.ts +1 -1
- package/lib/components/Rating/Rating.d.ts.map +1 -1
- package/lib/components/ResponsiveActions/ResponsiveActions.d.ts +2 -2
- package/lib/components/ResponsiveActions/ResponsiveActions.d.ts.map +1 -1
- package/lib/components/ResponsiveActions/ResponsiveActions.js +12 -15
- package/lib/components/ResponsiveActions/ResponsiveActions.js.map +1 -1
- package/lib/components/SearchInput/SearchInput.d.ts +7 -7
- package/lib/components/SearchInput/SearchInput.d.ts.map +1 -1
- package/lib/components/SearchInput/SearchInput.js +41 -29
- package/lib/components/SearchInput/SearchInput.js.map +1 -1
- package/lib/components/SearchInput/SearchInput.styles.d.ts +21 -13
- package/lib/components/SearchInput/SearchInput.styles.d.ts.map +1 -1
- package/lib/components/SearchInput/SearchInput.styles.js +3 -5
- package/lib/components/SearchInput/SearchInput.styles.js.map +1 -1
- package/lib/components/Select/Select.d.ts +3 -3
- package/lib/components/Select/Select.d.ts.map +1 -1
- package/lib/components/Select/Select.js +14 -11
- package/lib/components/Select/Select.js.map +1 -1
- package/lib/components/SelectionCard/SelectionCard.d.ts +1 -1
- package/lib/components/SelectionCard/SelectionCard.d.ts.map +1 -1
- package/lib/components/SelectionCard/SelectionCard.js +50 -29
- package/lib/components/SelectionCard/SelectionCard.js.map +1 -1
- package/lib/components/SelectionCard/SelectionCard.styles.d.ts +36 -11
- package/lib/components/SelectionCard/SelectionCard.styles.d.ts.map +1 -1
- package/lib/components/SelectionCard/SelectionCard.styles.js +226 -62
- package/lib/components/SelectionCard/SelectionCard.styles.js.map +1 -1
- package/lib/components/SelectionCard/SelectionCard.test-ids.d.ts +2 -2
- package/lib/components/SelectionCard/SelectionCard.test-ids.d.ts.map +1 -1
- package/lib/components/SelectionCard/SelectionCard.test-ids.js +1 -1
- package/lib/components/SelectionCard/SelectionCard.test-ids.js.map +1 -1
- package/lib/components/SelectionCard/SelectionCard.types.d.ts +24 -6
- package/lib/components/SelectionCard/SelectionCard.types.d.ts.map +1 -1
- package/lib/components/SelectionCard/SelectionCard.types.js.map +1 -1
- package/lib/components/SelectionCard/SelectionCardActions.d.ts +8 -0
- package/lib/components/SelectionCard/SelectionCardActions.d.ts.map +1 -0
- package/lib/components/SelectionCard/SelectionCardActions.js +48 -0
- package/lib/components/SelectionCard/SelectionCardActions.js.map +1 -0
- package/lib/components/SelectionCard/SelectionCardDisplay.d.ts +12 -4
- package/lib/components/SelectionCard/SelectionCardDisplay.d.ts.map +1 -1
- package/lib/components/SelectionCard/SelectionCardDisplay.js +6 -3
- package/lib/components/SelectionCard/SelectionCardDisplay.js.map +1 -1
- package/lib/components/SelectionCard/index.d.ts +1 -1
- package/lib/components/SelectionCard/index.d.ts.map +1 -1
- package/lib/components/SelectionCard/index.js.map +1 -1
- package/lib/components/Sentiment/Sentiment.d.ts +1 -1
- package/lib/components/Sentiment/Sentiment.d.ts.map +1 -1
- package/lib/components/ShowMoreLess/ShowMoreLess.d.ts +3 -1
- package/lib/components/ShowMoreLess/ShowMoreLess.d.ts.map +1 -1
- package/lib/components/Skeleton/LineSkeleton.d.ts +1 -1
- package/lib/components/Skeleton/LineSkeleton.d.ts.map +1 -1
- package/lib/components/Skeleton/RectangleSkeleton.d.ts +1 -1
- package/lib/components/Skeleton/RectangleSkeleton.d.ts.map +1 -1
- package/lib/components/SkipLinks/SkipLinks.d.ts +0 -1
- package/lib/components/SkipLinks/SkipLinks.d.ts.map +1 -1
- package/lib/components/SkipLinks/SkipLinks.js +10 -53
- package/lib/components/SkipLinks/SkipLinks.js.map +1 -1
- package/lib/components/SkipLinks/SkipLinks.styles.d.ts +6 -0
- package/lib/components/SkipLinks/SkipLinks.styles.d.ts.map +1 -0
- package/lib/components/SkipLinks/SkipLinks.styles.js +61 -0
- package/lib/components/SkipLinks/SkipLinks.styles.js.map +1 -0
- package/lib/components/SkipLinks/index.d.ts +1 -1
- package/lib/components/SkipLinks/index.d.ts.map +1 -1
- package/lib/components/SkipLinks/index.js +1 -1
- package/lib/components/SkipLinks/index.js.map +1 -1
- package/lib/components/Slider/Slider.d.ts.map +1 -1
- package/lib/components/Slider/Slider.js +18 -3
- package/lib/components/Slider/Slider.js.map +1 -1
- package/lib/components/Slider/Slider.styles.d.ts +15 -13
- package/lib/components/Slider/Slider.styles.d.ts.map +1 -1
- package/lib/components/Slider/Slider.styles.js +2 -2
- package/lib/components/Slider/Slider.styles.js.map +1 -1
- package/lib/components/SpeechToTextButton/SpeechToTextButton.d.ts +13 -0
- package/lib/components/SpeechToTextButton/SpeechToTextButton.d.ts.map +1 -0
- package/lib/components/SpeechToTextButton/SpeechToTextButton.js +29 -0
- package/lib/components/SpeechToTextButton/SpeechToTextButton.js.map +1 -0
- package/lib/components/SpeechToTextButton/SpeechToTextButton.test-ids.d.ts +2 -0
- package/lib/components/SpeechToTextButton/SpeechToTextButton.test-ids.d.ts.map +1 -0
- package/lib/components/SpeechToTextButton/SpeechToTextButton.test-ids.js +3 -0
- package/lib/components/SpeechToTextButton/SpeechToTextButton.test-ids.js.map +1 -0
- package/lib/components/SpeechToTextButton/index.d.ts +3 -0
- package/lib/components/SpeechToTextButton/index.d.ts.map +1 -0
- package/lib/components/SpeechToTextButton/index.js +2 -0
- package/lib/components/SpeechToTextButton/index.js.map +1 -0
- package/lib/components/SummaryItem/SummaryItem.d.ts +371 -7
- package/lib/components/SummaryItem/SummaryItem.d.ts.map +1 -1
- package/lib/components/SummaryItem/SummaryItem.js +3 -1
- package/lib/components/SummaryItem/SummaryItem.js.map +1 -1
- package/lib/components/SummaryList/SummaryList.d.ts +26 -8
- package/lib/components/SummaryList/SummaryList.d.ts.map +1 -1
- package/lib/components/SummaryList/SummaryList.js +54 -9
- package/lib/components/SummaryList/SummaryList.js.map +1 -1
- package/lib/components/SummaryList/ViewAll.d.ts +10 -4
- package/lib/components/SummaryList/ViewAll.d.ts.map +1 -1
- package/lib/components/SummaryList/ViewAll.js +23 -3
- package/lib/components/SummaryList/ViewAll.js.map +1 -1
- package/lib/components/SummaryList/index.d.ts +1 -0
- package/lib/components/SummaryList/index.d.ts.map +1 -1
- package/lib/components/SummaryList/index.js.map +1 -1
- package/lib/components/Switch/Switch.d.ts +3 -3
- package/lib/components/Switch/Switch.d.ts.map +1 -1
- package/lib/components/Switch/Switch.js +14 -5
- package/lib/components/Switch/Switch.js.map +1 -1
- package/lib/components/Table/Table.d.ts +2 -1
- package/lib/components/Table/Table.d.ts.map +1 -1
- package/lib/components/Table/Table.js +1 -0
- package/lib/components/Table/Table.js.map +1 -1
- package/lib/components/Tabs/Tab.d.ts +3 -4
- package/lib/components/Tabs/Tab.d.ts.map +1 -1
- package/lib/components/Tabs/Tab.js +111 -106
- package/lib/components/Tabs/Tab.js.map +1 -1
- package/lib/components/Tabs/TabPanel.d.ts +184 -2
- package/lib/components/Tabs/TabPanel.d.ts.map +1 -1
- package/lib/components/Tabs/TabPanel.js +4 -2
- package/lib/components/Tabs/TabPanel.js.map +1 -1
- package/lib/components/Tabs/Tabs.d.ts.map +1 -1
- package/lib/components/Tabs/Tabs.js +24 -1
- package/lib/components/Tabs/Tabs.js.map +1 -1
- package/lib/components/Tabs/Tabs.styles.d.ts +12 -10
- package/lib/components/Tabs/Tabs.styles.d.ts.map +1 -1
- package/lib/components/Tabs/Tabs.styles.js +126 -11
- package/lib/components/Tabs/Tabs.styles.js.map +1 -1
- package/lib/components/Text/Text.d.ts +1 -1
- package/lib/components/Text/Text.d.ts.map +1 -1
- package/lib/components/TextArea/TextArea.d.ts +3 -1
- package/lib/components/TextArea/TextArea.d.ts.map +1 -1
- package/lib/components/TextArea/TextArea.js +95 -28
- package/lib/components/TextArea/TextArea.js.map +1 -1
- package/lib/components/TextArea/TextArea.styles.d.ts +3 -2
- package/lib/components/TextArea/TextArea.styles.d.ts.map +1 -1
- package/lib/components/TextArea/TextArea.styles.js +2 -0
- package/lib/components/TextArea/TextArea.styles.js.map +1 -1
- package/lib/components/Toaster/Toaster.d.ts +1 -1
- package/lib/components/Toaster/Toaster.d.ts.map +1 -1
- package/lib/components/Toaster/Toaster.js +5 -5
- package/lib/components/Toaster/Toaster.js.map +1 -1
- package/lib/components/Toaster/Toaster.types.d.ts +0 -13
- package/lib/components/Toaster/Toaster.types.d.ts.map +1 -1
- package/lib/components/Toaster/Toaster.types.js.map +1 -1
- package/lib/components/Tooltip/Tooltip.d.ts +1 -1
- package/lib/components/Tooltip/Tooltip.d.ts.map +1 -1
- package/lib/components/Tooltip/Tooltip.js +5 -0
- package/lib/components/Tooltip/Tooltip.js.map +1 -1
- package/lib/components/Tree/StandardTree.d.ts.map +1 -1
- package/lib/components/Tree/StandardTree.js +4 -3
- package/lib/components/Tree/StandardTree.js.map +1 -1
- package/lib/components/Tree/StandardTree.styles.d.ts +20 -16
- package/lib/components/Tree/StandardTree.styles.d.ts.map +1 -1
- package/lib/components/Tree/StandardTree.styles.js +11 -10
- package/lib/components/Tree/StandardTree.styles.js.map +1 -1
- package/lib/components/Tree/StandardTree.types.d.ts +2 -2
- package/lib/components/Tree/StandardTree.types.d.ts.map +1 -1
- package/lib/components/Tree/StandardTree.types.js.map +1 -1
- package/lib/components/Tree/Tree.d.ts +2 -2
- package/lib/components/Tree/Tree.d.ts.map +1 -1
- package/lib/components/VisuallyHiddenText/VisuallyHiddenText.d.ts +1 -1
- package/lib/components/VisuallyHiddenText/VisuallyHiddenText.d.ts.map +1 -1
- package/lib/hooks/index.d.ts +5 -0
- package/lib/hooks/index.d.ts.map +1 -1
- package/lib/hooks/index.js +5 -0
- package/lib/hooks/index.js.map +1 -1
- package/lib/hooks/useActiveDescendant.d.ts +6 -1
- package/lib/hooks/useActiveDescendant.d.ts.map +1 -1
- package/lib/hooks/useActiveDescendant.js +5 -5
- package/lib/hooks/useActiveDescendant.js.map +1 -1
- package/lib/hooks/useAnimatedText.d.ts +3 -1
- package/lib/hooks/useAnimatedText.d.ts.map +1 -1
- package/lib/hooks/useAnimatedText.js +66 -46
- package/lib/hooks/useAnimatedText.js.map +1 -1
- package/lib/hooks/useArrows.d.ts +27 -7
- package/lib/hooks/useArrows.d.ts.map +1 -1
- package/lib/hooks/useArrows.js +50 -26
- package/lib/hooks/useArrows.js.map +1 -1
- package/lib/hooks/useContentTabIndex.d.ts +17 -0
- package/lib/hooks/useContentTabIndex.d.ts.map +1 -0
- package/lib/hooks/useContentTabIndex.js +48 -0
- package/lib/hooks/useContentTabIndex.js.map +1 -0
- package/lib/hooks/useFocusTrap.d.ts.map +1 -1
- package/lib/hooks/useFocusTrap.js +1 -0
- package/lib/hooks/useFocusTrap.js.map +1 -1
- package/lib/hooks/useFocusWithin.d.ts.map +1 -1
- package/lib/hooks/useFocusWithin.js +11 -6
- package/lib/hooks/useFocusWithin.js.map +1 -1
- package/lib/hooks/useHighlight.d.ts +12 -0
- package/lib/hooks/useHighlight.d.ts.map +1 -0
- package/lib/hooks/useHighlight.js +55 -0
- package/lib/hooks/useHighlight.js.map +1 -0
- package/lib/hooks/useI18n.d.ts +331 -16
- package/lib/hooks/useI18n.d.ts.map +1 -1
- package/lib/hooks/useOS.d.ts +1 -1
- package/lib/hooks/usePreviewContext.d.ts +7 -0
- package/lib/hooks/usePreviewContext.d.ts.map +1 -0
- package/lib/hooks/usePreviewContext.js +12 -0
- package/lib/hooks/usePreviewContext.js.map +1 -0
- package/lib/hooks/usePreviewManager.d.ts +8 -0
- package/lib/hooks/usePreviewManager.d.ts.map +1 -0
- package/lib/hooks/usePreviewManager.js +16 -0
- package/lib/hooks/usePreviewManager.js.map +1 -0
- package/lib/hooks/useScrollStick.js +1 -1
- package/lib/hooks/useScrollStick.js.map +1 -1
- package/lib/hooks/useSpeechRecognition.d.ts +21 -0
- package/lib/hooks/useSpeechRecognition.d.ts.map +1 -0
- package/lib/hooks/useSpeechRecognition.js +123 -0
- package/lib/hooks/useSpeechRecognition.js.map +1 -0
- package/lib/hooks/useThemeMode.d.ts +10 -0
- package/lib/hooks/useThemeMode.d.ts.map +1 -0
- package/lib/hooks/useThemeMode.js +11 -0
- package/lib/hooks/useThemeMode.js.map +1 -0
- package/lib/hooks/useTransitionState.d.ts +3 -2
- package/lib/hooks/useTransitionState.d.ts.map +1 -1
- package/lib/hooks/useTransitionState.js.map +1 -1
- package/lib/i18n/default.d.ts +340 -17
- package/lib/i18n/default.d.ts.map +1 -1
- package/lib/i18n/default.js +379 -36
- package/lib/i18n/default.js.map +1 -1
- package/lib/i18n/i18n.d.ts +331 -16
- package/lib/i18n/i18n.d.ts.map +1 -1
- package/lib/i18n/translate.d.ts +0 -1
- package/lib/i18n/translate.d.ts.map +1 -1
- package/lib/i18n/translate.js +0 -1
- package/lib/i18n/translate.js.map +1 -1
- package/lib/index.d.ts +13 -0
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +13 -0
- package/lib/index.js.map +1 -1
- package/lib/styles/GlobalStyle.d.ts +3 -3
- package/lib/styles/GlobalStyle.d.ts.map +1 -1
- package/lib/styles/GlobalStyle.js +22 -4
- package/lib/styles/GlobalStyle.js.map +1 -1
- package/lib/styles/animations.d.ts +8 -8
- package/lib/styles/animations.d.ts.map +1 -1
- package/lib/styles/animations.js +71 -53
- package/lib/styles/animations.js.map +1 -1
- package/lib/styles/constants.d.ts +4 -0
- package/lib/styles/constants.d.ts.map +1 -1
- package/lib/styles/constants.js +12 -0
- package/lib/styles/constants.js.map +1 -1
- package/lib/styles/mixins.d.ts +3 -3
- package/lib/styles/mixins.d.ts.map +1 -1
- package/lib/styles/utils.d.ts +35 -4
- package/lib/styles/utils.d.ts.map +1 -1
- package/lib/styles/utils.js +93 -11
- package/lib/styles/utils.js.map +1 -1
- package/lib/theme/index.d.ts +4 -0
- package/lib/theme/index.d.ts.map +1 -1
- package/lib/theme/index.js +4 -0
- package/lib/theme/index.js.map +1 -1
- package/lib/theme/theme.d.ts +348 -0
- package/lib/theme/theme.d.ts.map +1 -1
- package/lib/theme/themeDefinition.json +212 -4
- package/lib/theme/themeOverrides.schema.json +346 -170
- package/lib/theme/themes/andromeda2025Theme.json +2 -2
- package/lib/theme/themes/aries2023DarkTheme.json +22 -0
- package/lib/theme/themes/bootes2025DarkTheme.json +32 -1
- package/lib/theme/themes/bootes2025Theme.json +11 -2
- package/lib/theme/themes/darkTheme.json +22 -0
- package/lib/theme/themes/orionDarkTheme.json +175 -0
- package/lib/theme/themes/orionTheme.json +155 -0
- package/lib/theme/themes/studioDarkTheme.json +25 -7
- package/lib/theme/themes/studioTheme.json +37 -19
- package/lib/theme/themes/virgoDarkTheme.json +206 -0
- package/lib/theme/themes/virgoTheme.json +166 -0
- package/lib/utils/focusHeadingOrContainer.d.ts.map +1 -1
- package/lib/utils/focusHeadingOrContainer.js +2 -17
- package/lib/utils/focusHeadingOrContainer.js.map +1 -1
- package/lib/utils/focusNonInteractiveElement.d.ts +1 -1
- package/lib/utils/focusNonInteractiveElement.d.ts.map +1 -1
- package/lib/utils/focusNonInteractiveElement.js.map +1 -1
- package/lib/utils/formatListToLocaleString.d.ts +0 -1
- package/lib/utils/formatListToLocaleString.d.ts.map +1 -1
- package/lib/utils/formatListToLocaleString.js +0 -1
- package/lib/utils/formatListToLocaleString.js.map +1 -1
- package/lib/utils/getAllPopovers.d.ts.map +1 -1
- package/lib/utils/getAllPopovers.js +2 -1
- package/lib/utils/getAllPopovers.js.map +1 -1
- package/lib/utils/getEffectiveRect.d.ts +13 -0
- package/lib/utils/getEffectiveRect.d.ts.map +1 -0
- package/lib/utils/getEffectiveRect.js +93 -0
- package/lib/utils/getEffectiveRect.js.map +1 -0
- package/lib/utils/getFocusables.d.ts.map +1 -1
- package/lib/utils/getFocusables.js +2 -1
- package/lib/utils/getFocusables.js.map +1 -1
- package/lib/utils/getParentWindow.d.ts +3 -0
- package/lib/utils/getParentWindow.d.ts.map +1 -0
- package/lib/utils/getParentWindow.js +12 -0
- package/lib/utils/getParentWindow.js.map +1 -0
- package/lib/utils/handleLinkClick.d.ts +33 -0
- package/lib/utils/handleLinkClick.d.ts.map +1 -0
- package/lib/utils/handleLinkClick.js +41 -0
- package/lib/utils/handleLinkClick.js.map +1 -0
- package/lib/utils/index.d.ts +3 -0
- package/lib/utils/index.d.ts.map +1 -1
- package/lib/utils/index.js +3 -0
- package/lib/utils/index.js.map +1 -1
- package/lib/utils/markdownTokenizer.d.ts +4 -1
- package/lib/utils/markdownTokenizer.d.ts.map +1 -1
- package/lib/utils/markdownTokenizer.js +46 -13
- package/lib/utils/markdownTokenizer.js.map +1 -1
- package/package.json +6 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LocationInput.js","sourceRoot":"","sources":["../../../src/components/Location/LocationInput.tsx"],"names":[],"mappings":"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","sourcesContent":["import { forwardRef, useCallback, useContext, useEffect, useState } from 'react';\nimport type { ChangeEvent, FC, PropsWithoutRef, Ref } from 'react';\nimport styled from 'styled-components';\n\nimport ComboBox from '../ComboBox';\nimport type { MenuItemProps, MenuProps } from '../Menu';\nimport { useI18n, useTestIds, useUID } from '../../hooks';\nimport { createUID, withTestIds, createClassName } from '../../utils';\nimport FormField from '../FormField';\nimport type { FormControlProps } from '../FormControl';\nimport type { BaseProps, ForwardProps, TestIdProp } from '../../types';\nimport Flex from '../Flex';\nimport { defaultThemeProp } from '../../theme';\n\nimport PoweredByGoogleImage from './PoweredByGoogleImage';\nimport CurrentLocationButton from './CurrentLocationButton';\nimport MapsContext from './MapsContext';\nimport { getNavigatorPosition, isValueACoordinate, loadMapsAPI } from './utils';\nimport type { Bias, LatLng } from './Location.types';\nimport LocationView from './LocationView';\nimport { StyledLocationView } from './LocationView.styles';\nimport type { LocationViewProps } from './LocationView';\nimport { getLocationInputTestIds } from './Location.test-ids';\n\nexport interface LocationInputProps extends BaseProps, FormControlProps, TestIdProp {\n /**\n * Get user current location on component first render.\n * @default false\n */\n defaultToCurrentLocation?: boolean;\n /** The value of the location field. */\n value?: string;\n /**\n * Callback fired on every change of the location input.\n * The argument passed back is the component's value prop.\n */\n onChange?: (value: string) => void;\n /**\n * Callback fired when the control's input loses focus.\n * The argument passed back is the component's value prop.\n */\n onBlur?: (value: string) => void;\n /** Callback fired when user chooses location from the dropdown of suggestions or submits input value. */\n onSelect?: (value: {\n name?: string;\n address?: string;\n latitude?: number;\n longitude?: number;\n }) => void;\n /**\n * Only select coordinates on map clicks.\n * @default false\n */\n onlyCoordinates?: boolean;\n /** Biasing query results towards user location/preference. */\n bias?: Bias;\n /**\n * Set to true renders the map view below input.\n * @default false\n */\n map?: {\n /** Location coordinates used for the map view. */\n location?: LatLng;\n height: LocationViewProps['height'];\n zoomLevel?: LocationViewProps['zoomLevel'];\n onClick?: LocationViewProps['onClick'];\n };\n /** Callback fired when an error occurs. This function gets called with one argument of type Error. */\n onError?: (error: Error) => void;\n}\n\nconst StyledLocationInput = styled(ComboBox)`\n z-index: 1;\n`;\n\nStyledLocationInput.defaultProps = defaultThemeProp;\n\nconst StyledLocationMap = styled.div`\n ${StyledLocationView} {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n }\n`;\n\nStyledLocationMap.defaultProps = defaultThemeProp;\n\nconst LocationInput: FC<LocationInputProps & ForwardProps> = forwardRef(function LocationInput(\n props: PropsWithoutRef<LocationInputProps>,\n ref: Ref<HTMLInputElement>\n) {\n const uid = useUID();\n const {\n testId,\n label,\n labelHidden,\n id = uid,\n value = '',\n info,\n status,\n required,\n readOnly,\n disabled,\n additionalInfo,\n onSelect,\n onError,\n onChange,\n onBlur,\n bias,\n defaultToCurrentLocation,\n onlyCoordinates = false,\n map,\n className,\n ...restProps\n } = props;\n\n const testIds = useTestIds(testId, getLocationInputTestIds);\n\n const { name, ...providerOpts } = useContext(MapsContext);\n const t = useI18n();\n const [placePredictionMenuItems, setPlacePredictionMenuItems] = useState<MenuProps['items']>([]);\n const [filterValue, setFilterValue] = useState('');\n const [mapLoading, setMapLoading] = useState(false);\n\n useEffect(() => {\n (async () => {\n if (defaultToCurrentLocation) {\n setMapLoading(true);\n const mapAPIObj = await loadMapsAPI(name, providerOpts);\n\n const navigatorPosition = await getNavigatorPosition();\n const currentLocationAddress = await mapAPIObj.getAddress(navigatorPosition);\n setMapLoading(false);\n onSelect?.(currentLocationAddress);\n }\n })();\n }, []);\n\n useEffect(() => {\n (async () => {\n try {\n const mapAPIObj = await loadMapsAPI(name, providerOpts);\n\n if (filterValue) {\n if (onlyCoordinates) {\n const { latitude, longitude } = await mapAPIObj.getCoords(filterValue);\n setPlacePredictionMenuItems([\n {\n primary: t('exact_location'),\n secondary: [`${latitude}, ${longitude}`],\n id: createUID(),\n onClick: () => {\n setFilterValue('');\n onSelect?.({ latitude, longitude });\n }\n }\n ]);\n } else {\n if (isValueACoordinate(filterValue)) {\n const { latitude, longitude } = await mapAPIObj.getCoords(filterValue);\n const { name: addressName, address } = await mapAPIObj.getAddress({\n latitude,\n longitude\n });\n const menuItems = [\n {\n primary: t('exact_location'),\n secondary: [`${latitude}, ${longitude}`],\n id: createUID(),\n onClick: () => {\n setFilterValue('');\n onSelect?.({\n latitude,\n longitude\n });\n }\n },\n {\n primary: addressName,\n secondary: [address],\n id: createUID(),\n onClick: () => {\n setFilterValue('');\n onSelect?.({ name: addressName, address, latitude, longitude });\n }\n }\n ];\n\n setPlacePredictionMenuItems(menuItems);\n return;\n }\n const { placeSuggestions, token } = await mapAPIObj.getPlacePredictions(\n filterValue,\n bias\n );\n if (placeSuggestions.length === 1) {\n const exactLocation = await mapAPIObj.getPlaceById(\n placeSuggestions[0].placeId,\n token\n );\n const menuItems = placeSuggestions.map(item => ({\n id: item.placeId,\n primary: item.mainText,\n secondary: [item.secondaryText],\n onClick: (menuItemId: MenuItemProps['id']) => {\n mapAPIObj.getPlaceById(menuItemId, token).then(menuItemLocation => {\n setFilterValue('');\n onSelect?.(menuItemLocation);\n });\n }\n }));\n if (exactLocation) {\n menuItems.push({\n primary: t('exact_location'),\n secondary: [`${exactLocation.latitude}, ${exactLocation.longitude}`],\n id: createUID(),\n onClick: () => {\n setFilterValue('');\n onSelect?.({\n latitude: exactLocation.latitude,\n longitude: exactLocation.longitude\n });\n }\n });\n }\n setPlacePredictionMenuItems(menuItems);\n } else {\n setPlacePredictionMenuItems(\n placeSuggestions.map(item => ({\n id: item.placeId,\n primary: item.mainText,\n secondary: [item.secondaryText],\n onClick: (menuItemId: MenuItemProps['id']) => {\n mapAPIObj.getPlaceById(menuItemId, token).then(menuItemLocation => {\n setFilterValue('');\n onSelect?.(menuItemLocation);\n });\n }\n }))\n );\n }\n }\n } else {\n setPlacePredictionMenuItems([]);\n }\n } catch (e: any) {\n setPlacePredictionMenuItems([]);\n onError?.(e);\n }\n })();\n }, [filterValue, bias, onError, onSelect, onlyCoordinates]);\n\n const onInputChange = useCallback(\n (e: ChangeEvent<HTMLInputElement>) => {\n setFilterValue(e.target.value.trim());\n onChange?.(e.target.value);\n },\n [onChange]\n );\n\n const onMapClick = useCallback(\n (placeInfo: { latitude: number; longitude: number; name?: string; address?: string }) => {\n if (readOnly) return;\n\n if (onlyCoordinates) {\n const coords = {\n latitude: placeInfo.latitude,\n longitude: placeInfo.longitude\n };\n onSelect?.(coords);\n map?.onClick?.(coords);\n } else {\n onSelect?.(placeInfo);\n map?.onClick?.(placeInfo);\n }\n },\n [readOnly, onSelect, map?.onClick, onlyCoordinates]\n );\n\n const Comp = (\n <>\n <StyledLocationInput\n id={id}\n info={info}\n data-testid={testIds.control}\n placeholder={t('location_input_placeholder')}\n menu={\n filterValue\n ? {\n items: placePredictionMenuItems.concat([\n {\n id: createUID(),\n primary: t('use_input_value', [filterValue]),\n onClick: () => {\n setFilterValue('');\n onSelect?.({ name: filterValue });\n }\n }\n ]),\n emptyText: t('location_not_found_text'),\n mode: 'action',\n footer: !map && (\n <Flex container={{ justify: 'end' }}>\n <PoweredByGoogleImage />\n </Flex>\n )\n }\n : undefined\n }\n actions={\n !disabled &&\n !readOnly && (\n <CurrentLocationButton\n onError={onError}\n onResolve={resolved => {\n if (onlyCoordinates) {\n onSelect?.({ latitude: resolved.latitude, longitude: resolved.longitude });\n } else {\n onSelect?.(resolved);\n }\n }}\n />\n )\n }\n onChange={onInputChange}\n onBlur={() => {\n setFilterValue('');\n onBlur?.(value);\n }}\n value={value}\n required={required}\n disabled={disabled}\n readOnly={readOnly}\n status={status}\n {...restProps}\n className={createClassName('location-input', className, { status })}\n />\n {map && (\n <StyledLocationMap>\n <LocationView\n {...map}\n pins={map.location ? [{ ...map.location }] : []}\n onClick={onMapClick}\n onError={onError}\n disabled={disabled}\n loading={mapLoading}\n centerMapOnChange\n />\n </StyledLocationMap>\n )}\n </>\n );\n\n return label ? (\n <FormField\n testId={testIds}\n label={label}\n labelHidden={labelHidden}\n id={id}\n info={info}\n readOnly={readOnly}\n status={status}\n ref={ref}\n required={required}\n disabled={disabled}\n additionalInfo={additionalInfo}\n >\n {Comp}\n </FormField>\n ) : (\n Comp\n );\n});\n\nexport default withTestIds(LocationInput, getLocationInputTestIds);\n"]}
|
|
1
|
+
{"version":3,"file":"LocationInput.js","sourceRoot":"","sources":["../../../src/components/Location/LocationInput.tsx"],"names":[],"mappings":"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","sourcesContent":["import { forwardRef, useCallback, useContext, useEffect, useRef, useState } from 'react';\nimport type { ChangeEvent, FC, PropsWithoutRef, Ref } from 'react';\nimport styled from 'styled-components';\n\nimport ComboBox from '../ComboBox';\nimport type { MenuItemProps, MenuProps } from '../Menu';\nimport { useI18n, useTestIds, useUID } from '../../hooks';\nimport { createUID, withTestIds, createClassName } from '../../utils';\nimport FormField from '../FormField';\nimport type { FormControlProps } from '../FormControl';\nimport type { BaseProps, ForwardProps, TestIdProp } from '../../types';\nimport Flex from '../Flex';\nimport { defaultThemeProp } from '../../theme';\n\nimport PoweredByGoogleImage from './PoweredByGoogleImage';\nimport CurrentLocationButton from './CurrentLocationButton';\nimport MapsContext from './MapsContext';\nimport { getNavigatorPosition, isValueACoordinate, loadMapsAPI } from './utils';\nimport type { Bias, LatLng } from './Location.types';\nimport LocationView from './LocationView';\nimport { StyledLocationView } from './LocationView.styles';\nimport type { LocationViewProps } from './LocationView';\nimport { getLocationInputTestIds } from './Location.test-ids';\n\n// Session token timeout in milliseconds for single user interaction.\nconst sessionTokenTimeout = 120_000;\n\nexport interface LocationInputProps extends BaseProps, FormControlProps, TestIdProp {\n /**\n * Get user current location on component first render.\n * @default false\n */\n defaultToCurrentLocation?: boolean;\n /** The value of the location field. */\n value?: string;\n /**\n * Callback fired on every change of the location input.\n * The argument passed back is the component's value prop.\n */\n onChange?: (value: string) => void;\n /**\n * Callback fired when the control's input loses focus.\n * The argument passed back is the component's value prop.\n */\n onBlur?: (value: string) => void;\n /** Callback fired when user chooses location from the dropdown of suggestions or submits input value. */\n onSelect?: (value: {\n name?: string;\n address?: string;\n latitude?: number;\n longitude?: number;\n }) => void;\n /**\n * Only select coordinates on map clicks.\n * @default false\n */\n onlyCoordinates?: boolean;\n /** Biasing query results towards user location/preference. */\n bias?: Bias;\n /**\n * Set to true renders the map view below input.\n * @default false\n */\n map?: {\n /** Location coordinates used for the map view. */\n location?: LatLng;\n height: LocationViewProps['height'];\n zoomLevel?: LocationViewProps['zoomLevel'];\n onClick?: LocationViewProps['onClick'];\n };\n /** Callback fired when an error occurs. This function gets called with one argument of type Error. */\n onError?: (error: Error) => void;\n}\n\nconst StyledLocationInput = styled(ComboBox)`\n z-index: 1;\n`;\n\nStyledLocationInput.defaultProps = defaultThemeProp;\n\nconst StyledLocationMap = styled.div`\n ${StyledLocationView} {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n }\n`;\n\nStyledLocationMap.defaultProps = defaultThemeProp;\n\nconst LocationInput: FC<LocationInputProps & ForwardProps> = forwardRef(function LocationInput(\n props: PropsWithoutRef<LocationInputProps>,\n ref: Ref<HTMLInputElement>\n) {\n const uid = useUID();\n const {\n testId,\n label,\n labelHidden,\n id = uid,\n value = '',\n info,\n status,\n required,\n readOnly,\n disabled,\n additionalInfo,\n onSelect,\n onError,\n onChange,\n onBlur,\n bias,\n defaultToCurrentLocation,\n onlyCoordinates = false,\n map,\n className,\n ...restProps\n } = props;\n\n const testIds = useTestIds(testId, getLocationInputTestIds);\n\n const { name, ...providerOpts } = useContext(MapsContext);\n const t = useI18n();\n const [placePredictionMenuItems, setPlacePredictionMenuItems] = useState<MenuProps['items']>([]);\n const [filterValue, setFilterValue] = useState('');\n const [debouncedFilterValue, setDebouncedFilterValue] = useState('');\n const [mapLoading, setMapLoading] = useState(false);\n const sessionTokenRef = useRef<google.maps.places.AutocompleteSessionToken | undefined>();\n const interactionTimerRef = useRef<number | undefined>();\n\n const clearInteractionTimer = useCallback(() => {\n if (interactionTimerRef.current !== undefined) {\n window.clearTimeout(interactionTimerRef.current);\n interactionTimerRef.current = undefined;\n }\n }, []);\n\n const startInteractionTimer = useCallback(() => {\n if (interactionTimerRef.current !== undefined) return;\n interactionTimerRef.current = window.setTimeout(() => {\n sessionTokenRef.current = undefined;\n interactionTimerRef.current = undefined;\n }, sessionTokenTimeout);\n }, []);\n\n useEffect(() => clearInteractionTimer, [clearInteractionTimer]);\n\n const getSessionToken = useCallback(() => sessionTokenRef.current, []);\n\n useEffect(() => {\n (async () => {\n if (defaultToCurrentLocation) {\n setMapLoading(true);\n const mapAPIObj = await loadMapsAPI(name, providerOpts);\n\n const navigatorPosition = await getNavigatorPosition();\n const currentLocationAddress = await mapAPIObj.getAddress(navigatorPosition);\n setMapLoading(false);\n onSelect?.(currentLocationAddress);\n }\n })();\n }, []);\n\n useEffect(() => {\n if (!filterValue) {\n setDebouncedFilterValue('');\n return;\n }\n const timer = window.setTimeout(() => setDebouncedFilterValue(filterValue), 500);\n return () => window.clearTimeout(timer);\n }, [filterValue]);\n\n useEffect(() => {\n let isCurrent = true;\n\n (async () => {\n try {\n const mapAPIObj = await loadMapsAPI(name, providerOpts);\n\n if (debouncedFilterValue) {\n if (onlyCoordinates) {\n const { latitude, longitude } = await mapAPIObj.getCoords(debouncedFilterValue);\n if (!isCurrent) return;\n setPlacePredictionMenuItems([\n {\n primary: t('exact_location'),\n secondary: [`${latitude}, ${longitude}`],\n id: createUID(),\n onClick: () => {\n setFilterValue('');\n onSelect?.({ latitude, longitude });\n }\n }\n ]);\n } else {\n if (isValueACoordinate(debouncedFilterValue)) {\n const { latitude, longitude } = await mapAPIObj.getCoords(debouncedFilterValue);\n const { name: addressName, address } = await mapAPIObj.getAddress({\n latitude,\n longitude\n });\n if (!isCurrent) return;\n const menuItems = [\n {\n primary: t('exact_location'),\n secondary: [`${latitude}, ${longitude}`],\n id: createUID(),\n onClick: () => {\n setFilterValue('');\n onSelect?.({\n latitude,\n longitude\n });\n }\n },\n {\n primary: addressName,\n secondary: [address],\n id: createUID(),\n onClick: () => {\n setFilterValue('');\n onSelect?.({ name: addressName, address, latitude, longitude });\n }\n }\n ];\n\n setPlacePredictionMenuItems(menuItems);\n return;\n }\n if (!sessionTokenRef.current) {\n sessionTokenRef.current = new google.maps.places.AutocompleteSessionToken();\n }\n const activeToken = sessionTokenRef.current;\n const { placeSuggestions } = await mapAPIObj.getPlacePredictions(\n debouncedFilterValue,\n bias,\n activeToken\n );\n if (!isCurrent) return;\n startInteractionTimer();\n\n setPlacePredictionMenuItems(\n placeSuggestions.map(item => ({\n id: item.placeId,\n primary: item.mainText,\n secondary: [item.secondaryText],\n onClick: (menuItemId: MenuItemProps['id']) => {\n mapAPIObj.getPlaceById(menuItemId, activeToken).then(\n menuItemLocation => {\n sessionTokenRef.current = undefined;\n clearInteractionTimer();\n setFilterValue('');\n onSelect?.(menuItemLocation);\n },\n e => {\n sessionTokenRef.current = undefined;\n clearInteractionTimer();\n setFilterValue('');\n onError?.(e instanceof Error ? e : new Error(String(e)));\n }\n );\n }\n }))\n );\n }\n } else {\n setPlacePredictionMenuItems([]);\n }\n } catch (e: any) {\n if (!isCurrent) return;\n setPlacePredictionMenuItems([]);\n onError?.(e);\n }\n })();\n\n return () => {\n isCurrent = false;\n };\n }, [debouncedFilterValue, bias, onError, onSelect, onlyCoordinates]);\n\n const onInputChange = useCallback(\n (e: ChangeEvent<HTMLInputElement>) => {\n setFilterValue(e.target.value.trim());\n onChange?.(e.target.value);\n },\n [onChange]\n );\n\n const onMapClick = useCallback(\n (placeInfo: { latitude: number; longitude: number; name?: string; address?: string }) => {\n if (readOnly) return;\n\n sessionTokenRef.current = undefined;\n clearInteractionTimer();\n\n if (onlyCoordinates) {\n const coords = {\n latitude: placeInfo.latitude,\n longitude: placeInfo.longitude\n };\n onSelect?.(coords);\n map?.onClick?.(coords);\n } else {\n onSelect?.(placeInfo);\n map?.onClick?.(placeInfo);\n }\n },\n [readOnly, onSelect, map?.onClick, onlyCoordinates]\n );\n\n const Comp = (\n <>\n <StyledLocationInput\n id={id}\n info={info}\n data-testid={testIds.control}\n placeholder={t('location_input_placeholder')}\n menu={\n filterValue\n ? {\n items: placePredictionMenuItems.concat([\n {\n id: createUID(),\n primary: t('use_input_value', [filterValue]),\n onClick: () => {\n setFilterValue('');\n onSelect?.({ name: filterValue });\n }\n }\n ]),\n emptyText: t('location_not_found_text'),\n mode: 'action',\n footer: !map && (\n <Flex container={{ justify: 'end' }}>\n <PoweredByGoogleImage />\n </Flex>\n )\n }\n : undefined\n }\n actions={\n !disabled &&\n !readOnly && (\n <CurrentLocationButton\n onError={onError}\n onResolve={resolved => {\n if (onlyCoordinates) {\n onSelect?.({ latitude: resolved.latitude, longitude: resolved.longitude });\n } else {\n onSelect?.(resolved);\n }\n }}\n />\n )\n }\n onChange={onInputChange}\n onBlur={() => {\n setFilterValue('');\n onBlur?.(value);\n }}\n value={value}\n required={required}\n disabled={disabled}\n readOnly={readOnly}\n status={status}\n {...restProps}\n className={createClassName('location-input', className)}\n />\n {map && (\n <StyledLocationMap>\n <LocationView\n {...map}\n pins={map.location ? [{ ...map.location }] : []}\n onClick={onMapClick}\n onError={onError}\n disabled={disabled}\n loading={mapLoading}\n centerMapOnChange\n getSessionToken={getSessionToken}\n />\n </StyledLocationMap>\n )}\n </>\n );\n\n return label ? (\n <FormField\n testId={testIds}\n label={label}\n labelHidden={labelHidden}\n id={id}\n info={info}\n readOnly={readOnly}\n status={status}\n ref={ref}\n required={required}\n disabled={disabled}\n additionalInfo={additionalInfo}\n >\n {Comp}\n </FormField>\n ) : (\n Comp\n );\n});\n\nexport default withTestIds(LocationInput, getLocationInputTestIds);\n"]}
|
|
@@ -42,6 +42,8 @@ export type LocationViewProps = WithAttributes<'div', {
|
|
|
42
42
|
drawRoute?: boolean;
|
|
43
43
|
/** Callback fired when an error occurs. This function gets called with one argument of type Error. */
|
|
44
44
|
onError?: (error: Error) => void;
|
|
45
|
+
/** Function that returns the current autocomplete session token. */
|
|
46
|
+
getSessionToken?: () => google.maps.places.AutocompleteSessionToken | undefined;
|
|
45
47
|
}>;
|
|
46
48
|
declare const LocationView: import("react").ForwardRefExoticComponent<Omit<LocationViewProps, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
|
|
47
49
|
export default LocationView;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LocationView.d.ts","sourceRoot":"","sources":["../../../src/components/Location/LocationView.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAc,cAAc,EAAE,MAAM,aAAa,CAAC;AAK9D,OAAO,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AAKpD,MAAM,MAAM,iBAAiB,GAAG,cAAc,CAC5C,KAAK,EACL;IACE;;;OAGG;IACH,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;IACb;;;OAGG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,+IAA+I;IAC/I,OAAO,CAAC,EAAE,CACR,YAAY,EAAE,MAAM,GAAG;QACrB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,KACE,IAAI,CAAC;IACV;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB,sGAAsG;IACtG,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"LocationView.d.ts","sourceRoot":"","sources":["../../../src/components/Location/LocationView.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAc,cAAc,EAAE,MAAM,aAAa,CAAC;AAK9D,OAAO,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AAKpD,MAAM,MAAM,iBAAiB,GAAG,cAAc,CAC5C,KAAK,EACL;IACE;;;OAGG;IACH,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;IACb;;;OAGG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,+IAA+I;IAC/I,OAAO,CAAC,EAAE,CACR,YAAY,EAAE,MAAM,GAAG;QACrB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,KACE,IAAI,CAAC;IACV;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB,sGAAsG;IACtG,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACjC,oEAAoE;IACpE,eAAe,CAAC,EAAE,MAAM,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,wBAAwB,GAAG,SAAS,CAAC;CACjF,CACF,CAAC;AAqBF,QAAA,MAAM,YAAY,2HA4OjB,CAAC;AAEF,eAAe,YAAY,CAAC"}
|
|
@@ -23,7 +23,7 @@ const hasPlaceId = (obj) => {
|
|
|
23
23
|
/* cSpell:ignore 'ABCDEFGHIJKLMNOPQRSTUVWYZ' */
|
|
24
24
|
const markerLabels = 'ABCDEFGHIJKLMNOPQRSTUVWYZ';
|
|
25
25
|
const LocationView = forwardRef(function LocationView(props, ref) {
|
|
26
|
-
const { pins = [], zoomLevel = 13, height = '25rem', centerMapOnChange = false, onClick, onError, disabled = false, loading = false, drawRoute = false, ...restProps } = props;
|
|
26
|
+
const { pins = [], zoomLevel = 13, height = '25rem', centerMapOnChange = false, onClick, onError, disabled = false, loading = false, drawRoute = false, getSessionToken, ...restProps } = props;
|
|
27
27
|
const t = useI18n();
|
|
28
28
|
const { name, ...providerOpts } = useContext(MapsContext);
|
|
29
29
|
const [status, setStatus] = useState(LoadStatus.Init);
|
|
@@ -41,7 +41,7 @@ const LocationView = forwardRef(function LocationView(props, ref) {
|
|
|
41
41
|
if (!isLatLngObject(e.latLng) || !mapAPIObj)
|
|
42
42
|
return;
|
|
43
43
|
if (hasPlaceId(e)) {
|
|
44
|
-
mapAPIObj.getPlaceById(e.placeId).then(placeInfo => {
|
|
44
|
+
mapAPIObj.getPlaceById(e.placeId, getSessionToken?.()).then(placeInfo => {
|
|
45
45
|
onClick?.({
|
|
46
46
|
...placeInfo,
|
|
47
47
|
latitude: e.latLng.lat(),
|
|
@@ -95,7 +95,7 @@ const LocationView = forwardRef(function LocationView(props, ref) {
|
|
|
95
95
|
return;
|
|
96
96
|
const l = map.current.addListener('click', onMapClick);
|
|
97
97
|
return () => google.maps.event.removeListener(l);
|
|
98
|
-
}, [onClick, map.current]);
|
|
98
|
+
}, [onClick, map.current, getSessionToken]);
|
|
99
99
|
useEffect(() => {
|
|
100
100
|
let mounted = true;
|
|
101
101
|
loadMapsAPI(name, providerOpts)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LocationView.js","sourceRoot":"","sources":["../../../src/components/Location/LocationView.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACzF,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAEzC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEhD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,QAAQ,MAAM,aAAa,CAAC;AAEnC,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAE3F,OAAO,WAAW,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAqDtE,IAAK,UAIJ;AAJD,WAAK,UAAU;IACb,2BAAa,CAAA;IACb,6BAAe,CAAA;IACf,6BAAe,CAAA;AACjB,CAAC,EAJI,UAAU,KAAV,UAAU,QAId;AAED,MAAM,UAAU,GAAG,CAAC,GAAY,EAA2D,EAAE;IAC3F,OAAO,CACL,OAAO,GAAG,KAAK,QAAQ;QACvB,CAAC,CAAC,GAAG;QACL,SAAS,IAAI,GAAG;QAChB,CAAC,CAAC,GAAG,CAAC,OAAO;QACb,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,CAChC,CAAC;AACJ,CAAC,CAAC;AAEF,+CAA+C;AAC/C,MAAM,YAAY,GAAG,2BAA2B,CAAC;AAEjD,MAAM,YAAY,GAAG,UAAU,CAC7B,SAAS,YAAY,CAAC,KAAK,EAAE,GAAG;IAC9B,MAAM,EACJ,IAAI,GAAG,EAAE,EACT,SAAS,GAAG,EAAE,EACd,MAAM,GAAG,OAAO,EAChB,iBAAiB,GAAG,KAAK,EACzB,OAAO,EACP,OAAO,EACP,QAAQ,GAAG,KAAK,EAChB,OAAO,GAAG,KAAK,EACf,SAAS,GAAG,KAAK,EACjB,GAAG,SAAS,EACb,GAAG,KAAK,CAAC;IACV,MAAM,CAAC,GAAG,OAAO,EAAE,CAAC;IACpB,MAAM,EAAE,IAAI,EAAE,GAAG,YAAY,EAAE,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;IAC1D,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAa,UAAU,CAAC,IAAI,CAAC,CAAC;IAClE,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC7C,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,QAAQ,CAAqB,SAAS,CAAC,CAAC;IACxF,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,EAAe,CAAC;IAC1D,MAAM,UAAU,GAAG,MAAM,EAAkB,CAAC;IAC5C,MAAM,GAAG,GAAG,MAAM,EAAmB,CAAC;IACtC,MAAM,OAAO,GAAG,MAAM,CAA6C,EAAE,CAAC,CAAC;IACvE,MAAM,EAAE,GAAG,MAAM,EAAiC,CAAC;IACnD,MAAM,EAAE,GAAG,MAAM,EAAkC,CAAC;IACpD,MAAM,iBAAiB,GAAG,MAAM,CAAiB,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;IAChF,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;IAEzB,MAAM,UAAU,GAAG,CAAC,CAA4B,EAAE,EAAE;QAClD,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS;YAAE,OAAO;QAEpD,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;YAClB,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;gBACjD,OAAO,EAAE,CAAC;oBACR,GAAG,SAAS;oBACZ,QAAQ,EAAE,CAAC,CAAC,MAAO,CAAC,GAAG,EAAE;oBACzB,SAAS,EAAE,CAAC,CAAC,MAAO,CAAC,GAAG,EAAE;iBAC3B,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,SAAS;iBACN,UAAU,CAAC;gBACV,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE;gBACxB,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE;aAC1B,CAAC;iBACD,IAAI,CAAC,OAAO,CAAC;iBACb,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QAClC,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,SAAS,GAAG,WAAW,CAAC,CAAC,MAAgB,EAAE,EAAE;QACjD,IAAI,CAAC,GAAG,CAAC,OAAO,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAEhD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACjD,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACjC,CAAC;aAAM,CAAC;YACN,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YAC9C,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,EAAE;gBACzC,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;YACzD,CAAC,CAAC,CAAC;YACH,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAChC,CAAC;IACH,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,UAAU,GAAG,GAAG,EAAE;QACtB,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;YACvB,MAAM,QAAQ,GAAG,cAAc,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC;YAC/D,GAAG,CAAC,OAAO,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,EAAE;gBACpD,KAAK,EAAE,SAAS,EAAE;gBAClB,MAAM,EAAE,QAAQ;gBAChB,IAAI,EAAE,CAAC;gBACP,SAAS,EAAE,CAAC,QAAQ;gBACpB,eAAe,EAAE,MAAM;gBACvB,cAAc,EAAE,MAAM;aACvB,CAAC,CAAC;YACH,EAAE,CAAC,OAAO,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACjD,EAAE,CAAC,OAAO,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC;YAC3E,SAAS,CAAC,IAAI,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC;IAEF,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO;YAAE,OAAO;QAErC,MAAM,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QACvD,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;IACnD,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;IAE3B,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,WAAW,CAAC,IAAI,EAAE,YAAY,CAAC;aAC5B,IAAI,CAAC,MAAM,CAAC,EAAE;YACb,YAAY,CAAC,MAAM,CAAC,CAAC;YAErB,IAAI,OAAO,EAAE,CAAC;gBACZ,UAAU,EAAE,CAAC;gBACb,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YAC9B,CAAC;QACH,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,KAAY,EAAE,EAAE;YACtB,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YAC5B,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC3B,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC;QACnB,CAAC,CAAC,CAAC;QAEL,OAAO,GAAG,EAAE;YACV,OAAO,GAAG,KAAK,CAAC;YAChB,IAAI,GAAG,CAAC,OAAO;gBAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,sBAAsB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACzE,CAAC,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,SAAS,CAAC,GAAG,EAAE;QACb,IACE,MAAM,KAAK,UAAU,CAAC,KAAK;YAC3B,CAAC,GAAG,CAAC,OAAO;YACZ,CAAC,EAAE,CAAC,OAAO;YACX,CAAC,EAAE,CAAC,OAAO;YACX,0DAA0D;YAC1D,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM;YAEnB,OAAO;QAET,IAAI,SAAS,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAC/B,MAAM,OAAO,GAAkC;gBAC7C,MAAM,EAAE,cAAc,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;gBACpF,WAAW,EAAE,cAAc,CAAC;oBAC1B,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,QAAQ;oBACxC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,SAAS;iBAC3C,CAAC;gBACF,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;oBAChD,OAAO;wBACL,QAAQ,EAAE,IAAI;wBACd,QAAQ,EAAE,cAAc,CAAC;4BACvB,QAAQ,EAAE,CAAC,CAAC,QAAQ;4BACpB,SAAS,EAAE,CAAC,CAAC,SAAS;yBACvB,CAAC;qBACH,CAAC;gBACJ,CAAC,CAAC;gBACF,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO;aAC3C,CAAC;YAEF,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC;QACtF,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;QAEhD,IAAI,CAAC;YACH,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,KAAK,EAAE,EAAE;gBACtF,MAAM,OAAO,GAAG,cAAc,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC;gBAExD,MAAM,aAAa,GAAyC;oBAC1D,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK;iBACpC,CAAC;gBACF,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;gBACxD,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACpB,MAAM,YAAY,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;oBACpD,YAAY,CAAC,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC;oBACvC,YAAY,CAAC,KAAK,CAAC,UAAU,GAAG,QAAQ,CAAC;oBACzC,YAAY,CAAC,SAAS,GAAG,KAAK,CAAC;oBAC/B,aAAa,CAAC,KAAK,GAAG,YAAY,CAAC;gBACrC,CAAC;gBACD,IAAI,QAAQ,EAAE,CAAC;oBACb,aAAa,CAAC,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC;oBACtD,aAAa,CAAC,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC;oBACvD,aAAa,CAAC,KAAK,GAAG,IAAI,CAAC;gBAC7B,CAAC;gBACD,MAAM,GAAG,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;gBAC7D,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAAC;oBAC1D,GAAG,EAAE,GAAG,CAAC,OAAO;oBAChB,QAAQ,EAAE,OAAO;oBACjB,KAAK;oBACL,OAAO,EAAE,GAAG,CAAC,OAAO;iBACrB,CAAC,CAAC;gBACH,IAAI,OAAO,EAAE,CAAC;oBACZ,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,GAAG,EAAE;wBAC/B,mBAAmB,CAAC,KAAK,CAAC,CAAC;wBAC3B,UAAU,CAAC,UAAU,CAAC;4BACpB,SAAS,EAAE,GAAG,CAAC,CAAC,eAAe,CAAC,MAAM,KAAK,IAAI,KAAK,EAAE;4BACtD,aAAa,EAAE,KAAK,IAAI,KAAK;yBAC9B,CAAC,CAAC;wBACH,UAAU,CAAC,UAAU,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;wBACjD,UAAU,CAAC,IAAI,CAAC;4BACd,MAAM,EAAE,MAAM;4BACd,GAAG,EAAE,GAAG,CAAC,OAAO;yBACjB,CAAC,CAAC;oBACL,CAAC,CAAC,CAAC;gBACL,CAAC;gBACD,OAAO,MAAM,CAAC;YAChB,CAAC,CAAC,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,CAAC,OAAO,GAAG,EAAE,CAAC;QACvB,CAAC;QAED,IAAI,iBAAiB,EAAE,CAAC;YACtB,SAAS,CAAC,IAAI,CAAC,CAAC;QAClB,CAAC;QAED,OAAO,GAAG,EAAE;YACV,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;gBAC1B,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC;YACf,CAAC,CAAC,CAAC;YACH,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC,CAAC;IACJ,CAAC,EAAE;QACD,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;QACpE,MAAM;QACN,SAAS;QACT,QAAQ;QACR,SAAS;QACT,iBAAiB;QACjB,OAAO;KACR,CAAC,CAAC;IAEH,OAAO,CACL,MAAC,kBAAkB,eAAU,MAAM,EAAE,GAAG,EAAE,GAAG,aAC3C,KAAC,SAAS,IACR,GAAG,EAAE,UAAiC,EACtC,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,MAAM,KACV,SAAS,GACb,EACD,CAAC,MAAM,KAAK,UAAU,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,KAAC,QAAQ,IAAC,SAAS,EAAC,OAAO,GAAG,EACzE,MAAM,KAAK,UAAU,CAAC,KAAK,IAAI,QAAQ,IAAI,CAC1C,KAAC,mBAAmB,kBAAa,QAAQ,EAAE,OAAO,EAAC,MAAM,YACtD,QAAQ,GACW,CACvB,EACA,gBAAgB,KAAK,SAAS,IAAI,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,OAAO,IAAI,CACrE,4BAAG,YAAY,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC,GAAI,CAC/E,IACkB,CACtB,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,eAAe,YAAY,CAAC","sourcesContent":["import type { PropsWithoutRef, Ref } from 'react';\nimport { forwardRef, useCallback, useContext, useEffect, useRef, useState } from 'react';\nimport { createPortal } from 'react-dom';\n\nimport { useI18n, useTheme } from '../../hooks';\nimport type { RefElement, WithAttributes } from '../../types';\nimport { createUID } from '../../utils';\nimport Progress from '../Progress';\n\nimport { StyledLocationError, StyledLocationView, StyledMap } from './LocationView.styles';\nimport type { LatLng, Pin } from './Location.types';\nimport MapsContext from './MapsContext';\nimport { isLatLngObject, loadMapsAPI, toGoogleLatLng } from './utils';\nimport type { LocationAPI } from './LocationAPI.types';\n\nexport type LocationViewProps = WithAttributes<\n 'div',\n {\n /**\n * Array of location objects.\n * @default []\n */\n pins?: Pin[];\n /**\n * Set to true to always center the map when the selected location changes. Toggling this from false to true will re-center map on the last pinned location.\n * @default false\n */\n centerMapOnChange?: boolean;\n /**\n * Height of the map container.\n * @default '25rem'\n */\n height?: string;\n /**\n * How much the map should zoom.\n * @default 13\n */\n zoomLevel?: number;\n /** Callback fired when user clicks on a location on the map. This function will be passed the coordinates of the location that was clicked. */\n onClick?: (\n locationData: LatLng & {\n name?: string;\n address?: string;\n }\n ) => void;\n /**\n * Renders loading indicator when true. Informs the user location resolution is in progress.\n */\n loading?: boolean;\n /**\n * Disables dragging and clicking when true.\n * @default false\n */\n disabled?: boolean;\n /**\n * Indicates if route between pins should be rendered.\n * @default false\n */\n drawRoute?: boolean;\n\n /** Callback fired when an error occurs. This function gets called with one argument of type Error. */\n onError?: (error: Error) => void;\n }\n>;\n\nenum LoadStatus {\n Init = 'init',\n Ready = 'ready',\n Error = 'error'\n}\n\nconst hasPlaceId = (obj: unknown): obj is google.maps.IconMouseEvent & { placeId: string } => {\n return (\n typeof obj === 'object' &&\n !!obj &&\n 'placeId' in obj &&\n !!obj.placeId &&\n typeof obj.placeId === 'string'\n );\n};\n\n/* cSpell:ignore 'ABCDEFGHIJKLMNOPQRSTUVWYZ' */\nconst markerLabels = 'ABCDEFGHIJKLMNOPQRSTUVWYZ';\n\nconst LocationView = forwardRef<RefElement<LocationViewProps>, PropsWithoutRef<LocationViewProps>>(\n function LocationView(props, ref) {\n const {\n pins = [],\n zoomLevel = 13,\n height = '25rem',\n centerMapOnChange = false,\n onClick,\n onError,\n disabled = false,\n loading = false,\n drawRoute = false,\n ...restProps\n } = props;\n const t = useI18n();\n const { name, ...providerOpts } = useContext(MapsContext);\n const [status, setStatus] = useState<LoadStatus>(LoadStatus.Init);\n const [eMessage, setEMessage] = useState('');\n const [selectedPinIndex, setSelectedPinIndex] = useState<number | undefined>(undefined);\n const [mapAPIObj, setmapAPIObj] = useState<LocationAPI>();\n const mapElemRef = useRef<HTMLDivElement>();\n const map = useRef<google.maps.Map>();\n const markers = useRef<google.maps.marker.AdvancedMarkerElement[]>([]);\n const ds = useRef<google.maps.DirectionsService>();\n const dr = useRef<google.maps.DirectionsRenderer>();\n const infoWindowContent = useRef<HTMLDivElement>(document.createElement('div'));\n const theme = useTheme();\n\n const onMapClick = (e: google.maps.MapMouseEvent) => {\n if (!isLatLngObject(e.latLng) || !mapAPIObj) return;\n\n if (hasPlaceId(e)) {\n mapAPIObj.getPlaceById(e.placeId).then(placeInfo => {\n onClick?.({\n ...placeInfo,\n latitude: e.latLng!.lat(),\n longitude: e.latLng!.lng()\n });\n });\n } else {\n mapAPIObj\n .getAddress({\n latitude: e.latLng.lat(),\n longitude: e.latLng.lng()\n })\n .then(onClick)\n .catch(err => onError?.(err));\n }\n };\n\n const centerMap = useCallback((coords: LatLng[]) => {\n if (!map.current || coords.length === 0) return;\n\n if (coords.length === 1) {\n map.current.setCenter(toGoogleLatLng(coords[0]));\n map.current.setZoom(zoomLevel);\n } else {\n const bounds = new google.maps.LatLngBounds();\n coords.forEach(({ latitude, longitude }) => {\n bounds.extend(toGoogleLatLng({ latitude, longitude }));\n });\n map.current.fitBounds(bounds);\n }\n }, []);\n\n const initialize = () => {\n if (mapElemRef.current) {\n const position = toGoogleLatLng({ latitude: 0, longitude: 0 });\n map.current = new google.maps.Map(mapElemRef.current, {\n mapId: createUID(),\n center: position,\n zoom: 2,\n draggable: !disabled,\n draggableCursor: 'auto',\n draggingCursor: 'move'\n });\n ds.current = new google.maps.DirectionsService();\n dr.current = new google.maps.DirectionsRenderer({ suppressMarkers: true });\n centerMap(pins);\n }\n };\n\n useEffect(() => {\n if (!onClick || !map.current) return;\n\n const l = map.current.addListener('click', onMapClick);\n return () => google.maps.event.removeListener(l);\n }, [onClick, map.current]);\n\n useEffect(() => {\n let mounted = true;\n loadMapsAPI(name, providerOpts)\n .then(APIObj => {\n setmapAPIObj(APIObj);\n\n if (mounted) {\n initialize();\n setStatus(LoadStatus.Ready);\n }\n })\n .catch((error: Error) => {\n setStatus(LoadStatus.Error);\n setEMessage(error.message);\n onError?.(error);\n });\n\n return () => {\n mounted = false;\n if (map.current) google.maps.event.clearInstanceListeners(map.current);\n };\n }, []);\n\n useEffect(() => {\n if (\n status !== LoadStatus.Ready ||\n !map.current ||\n !dr.current ||\n !ds.current ||\n // FIXME: Workaround for marker library not being imported\n !google.maps.marker\n )\n return;\n\n if (drawRoute && pins.length > 1) {\n dr.current.setMap(map.current);\n const request: google.maps.DirectionsRequest = {\n origin: toGoogleLatLng({ latitude: pins[0].latitude, longitude: pins[0].longitude }),\n destination: toGoogleLatLng({\n latitude: pins[pins.length - 1].latitude,\n longitude: pins[pins.length - 1].longitude\n }),\n waypoints: pins.slice(1, pins.length - 1).map(l => {\n return {\n stopover: true,\n location: toGoogleLatLng({\n latitude: l.latitude,\n longitude: l.longitude\n })\n };\n }),\n travelMode: google.maps.TravelMode.DRIVING\n };\n\n ds.current.route(request)?.then(dr.current.setDirections.bind(dr.current), onError);\n }\n\n const infoWindow = new google.maps.InfoWindow();\n\n try {\n markers.current = pins.map(({ latitude, longitude, title, content, selected }, index) => {\n const gCoords = toGoogleLatLng({ latitude, longitude });\n\n const contentConfig: google.maps.marker.PinElementOptions = {\n glyphColor: theme.base.colors.white\n };\n const label = markerLabels[index % markerLabels.length];\n if (pins.length > 1) {\n const glyphWrapper = document.createElement('span');\n glyphWrapper.style.fontSize = '0.9rem';\n glyphWrapper.style.paddingTop = '0.1rem';\n glyphWrapper.innerHTML = label;\n contentConfig.glyph = glyphWrapper;\n }\n if (selected) {\n contentConfig.background = theme.base.colors.red.dark;\n contentConfig.borderColor = theme.base.colors.red.dark;\n contentConfig.scale = 1.15;\n }\n const pin = new google.maps.marker.PinElement(contentConfig);\n const marker = new google.maps.marker.AdvancedMarkerElement({\n map: map.current,\n position: gCoords,\n title,\n content: pin.element\n });\n if (content) {\n marker.addListener('click', () => {\n setSelectedPinIndex(index);\n infoWindow.setOptions({\n ariaLabel: `${t('location_info')} - ${title ?? label}`,\n headerContent: title ?? label\n });\n infoWindow.setContent(infoWindowContent.current);\n infoWindow.open({\n anchor: marker,\n map: map.current\n });\n });\n }\n return marker;\n });\n } catch {\n markers.current = [];\n }\n\n if (centerMapOnChange) {\n centerMap(pins);\n }\n\n return () => {\n markers.current.forEach(m => {\n m.map = null;\n });\n dr.current?.setMap(null);\n };\n }, [\n JSON.stringify(pins, ['title', 'selected', 'latitude', 'longitude']),\n status,\n zoomLevel,\n disabled,\n drawRoute,\n centerMapOnChange,\n onError\n ]);\n\n return (\n <StyledLocationView $height={height} ref={ref}>\n <StyledMap\n ref={mapElemRef as Ref<HTMLDivElement>}\n disabled={disabled}\n status={status}\n {...restProps}\n />\n {(status === LoadStatus.Init || loading) && <Progress placement='local' />}\n {status === LoadStatus.Error && eMessage && (\n <StyledLocationError aria-label={eMessage} variant='info'>\n {eMessage}\n </StyledLocationError>\n )}\n {selectedPinIndex !== undefined && !!pins[selectedPinIndex].content && (\n <>{createPortal(pins[selectedPinIndex].content, infoWindowContent.current)}</>\n )}\n </StyledLocationView>\n );\n }\n);\n\nexport default LocationView;\n"]}
|
|
1
|
+
{"version":3,"file":"LocationView.js","sourceRoot":"","sources":["../../../src/components/Location/LocationView.tsx"],"names":[],"mappings":"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","sourcesContent":["import type { PropsWithoutRef, Ref } from 'react';\nimport { forwardRef, useCallback, useContext, useEffect, useRef, useState } from 'react';\nimport { createPortal } from 'react-dom';\n\nimport { useI18n, useTheme } from '../../hooks';\nimport type { RefElement, WithAttributes } from '../../types';\nimport { createUID } from '../../utils';\nimport Progress from '../Progress';\n\nimport { StyledLocationError, StyledLocationView, StyledMap } from './LocationView.styles';\nimport type { LatLng, Pin } from './Location.types';\nimport MapsContext from './MapsContext';\nimport { isLatLngObject, loadMapsAPI, toGoogleLatLng } from './utils';\nimport type { LocationAPI } from './LocationAPI.types';\n\nexport type LocationViewProps = WithAttributes<\n 'div',\n {\n /**\n * Array of location objects.\n * @default []\n */\n pins?: Pin[];\n /**\n * Set to true to always center the map when the selected location changes. Toggling this from false to true will re-center map on the last pinned location.\n * @default false\n */\n centerMapOnChange?: boolean;\n /**\n * Height of the map container.\n * @default '25rem'\n */\n height?: string;\n /**\n * How much the map should zoom.\n * @default 13\n */\n zoomLevel?: number;\n /** Callback fired when user clicks on a location on the map. This function will be passed the coordinates of the location that was clicked. */\n onClick?: (\n locationData: LatLng & {\n name?: string;\n address?: string;\n }\n ) => void;\n /**\n * Renders loading indicator when true. Informs the user location resolution is in progress.\n */\n loading?: boolean;\n /**\n * Disables dragging and clicking when true.\n * @default false\n */\n disabled?: boolean;\n /**\n * Indicates if route between pins should be rendered.\n * @default false\n */\n drawRoute?: boolean;\n\n /** Callback fired when an error occurs. This function gets called with one argument of type Error. */\n onError?: (error: Error) => void;\n /** Function that returns the current autocomplete session token. */\n getSessionToken?: () => google.maps.places.AutocompleteSessionToken | undefined;\n }\n>;\n\nenum LoadStatus {\n Init = 'init',\n Ready = 'ready',\n Error = 'error'\n}\n\nconst hasPlaceId = (obj: unknown): obj is google.maps.IconMouseEvent & { placeId: string } => {\n return (\n typeof obj === 'object' &&\n !!obj &&\n 'placeId' in obj &&\n !!obj.placeId &&\n typeof obj.placeId === 'string'\n );\n};\n\n/* cSpell:ignore 'ABCDEFGHIJKLMNOPQRSTUVWYZ' */\nconst markerLabels = 'ABCDEFGHIJKLMNOPQRSTUVWYZ';\n\nconst LocationView = forwardRef<RefElement<LocationViewProps>, PropsWithoutRef<LocationViewProps>>(\n function LocationView(props, ref) {\n const {\n pins = [],\n zoomLevel = 13,\n height = '25rem',\n centerMapOnChange = false,\n onClick,\n onError,\n disabled = false,\n loading = false,\n drawRoute = false,\n getSessionToken,\n ...restProps\n } = props;\n const t = useI18n();\n const { name, ...providerOpts } = useContext(MapsContext);\n const [status, setStatus] = useState<LoadStatus>(LoadStatus.Init);\n const [eMessage, setEMessage] = useState('');\n const [selectedPinIndex, setSelectedPinIndex] = useState<number | undefined>(undefined);\n const [mapAPIObj, setmapAPIObj] = useState<LocationAPI>();\n const mapElemRef = useRef<HTMLDivElement>();\n const map = useRef<google.maps.Map>();\n const markers = useRef<google.maps.marker.AdvancedMarkerElement[]>([]);\n const ds = useRef<google.maps.DirectionsService>();\n const dr = useRef<google.maps.DirectionsRenderer>();\n const infoWindowContent = useRef<HTMLDivElement>(document.createElement('div'));\n const theme = useTheme();\n\n const onMapClick = (e: google.maps.MapMouseEvent) => {\n if (!isLatLngObject(e.latLng) || !mapAPIObj) return;\n\n if (hasPlaceId(e)) {\n mapAPIObj.getPlaceById(e.placeId, getSessionToken?.()).then(placeInfo => {\n onClick?.({\n ...placeInfo,\n latitude: e.latLng!.lat(),\n longitude: e.latLng!.lng()\n });\n });\n } else {\n mapAPIObj\n .getAddress({\n latitude: e.latLng.lat(),\n longitude: e.latLng.lng()\n })\n .then(onClick)\n .catch(err => onError?.(err));\n }\n };\n\n const centerMap = useCallback((coords: LatLng[]) => {\n if (!map.current || coords.length === 0) return;\n\n if (coords.length === 1) {\n map.current.setCenter(toGoogleLatLng(coords[0]));\n map.current.setZoom(zoomLevel);\n } else {\n const bounds = new google.maps.LatLngBounds();\n coords.forEach(({ latitude, longitude }) => {\n bounds.extend(toGoogleLatLng({ latitude, longitude }));\n });\n map.current.fitBounds(bounds);\n }\n }, []);\n\n const initialize = () => {\n if (mapElemRef.current) {\n const position = toGoogleLatLng({ latitude: 0, longitude: 0 });\n map.current = new google.maps.Map(mapElemRef.current, {\n mapId: createUID(),\n center: position,\n zoom: 2,\n draggable: !disabled,\n draggableCursor: 'auto',\n draggingCursor: 'move'\n });\n ds.current = new google.maps.DirectionsService();\n dr.current = new google.maps.DirectionsRenderer({ suppressMarkers: true });\n centerMap(pins);\n }\n };\n\n useEffect(() => {\n if (!onClick || !map.current) return;\n\n const l = map.current.addListener('click', onMapClick);\n return () => google.maps.event.removeListener(l);\n }, [onClick, map.current, getSessionToken]);\n\n useEffect(() => {\n let mounted = true;\n loadMapsAPI(name, providerOpts)\n .then(APIObj => {\n setmapAPIObj(APIObj);\n\n if (mounted) {\n initialize();\n setStatus(LoadStatus.Ready);\n }\n })\n .catch((error: Error) => {\n setStatus(LoadStatus.Error);\n setEMessage(error.message);\n onError?.(error);\n });\n\n return () => {\n mounted = false;\n if (map.current) google.maps.event.clearInstanceListeners(map.current);\n };\n }, []);\n\n useEffect(() => {\n if (\n status !== LoadStatus.Ready ||\n !map.current ||\n !dr.current ||\n !ds.current ||\n // FIXME: Workaround for marker library not being imported\n !google.maps.marker\n )\n return;\n\n if (drawRoute && pins.length > 1) {\n dr.current.setMap(map.current);\n const request: google.maps.DirectionsRequest = {\n origin: toGoogleLatLng({ latitude: pins[0].latitude, longitude: pins[0].longitude }),\n destination: toGoogleLatLng({\n latitude: pins[pins.length - 1].latitude,\n longitude: pins[pins.length - 1].longitude\n }),\n waypoints: pins.slice(1, pins.length - 1).map(l => {\n return {\n stopover: true,\n location: toGoogleLatLng({\n latitude: l.latitude,\n longitude: l.longitude\n })\n };\n }),\n travelMode: google.maps.TravelMode.DRIVING\n };\n\n ds.current.route(request)?.then(dr.current.setDirections.bind(dr.current), onError);\n }\n\n const infoWindow = new google.maps.InfoWindow();\n\n try {\n markers.current = pins.map(({ latitude, longitude, title, content, selected }, index) => {\n const gCoords = toGoogleLatLng({ latitude, longitude });\n\n const contentConfig: google.maps.marker.PinElementOptions = {\n glyphColor: theme.base.colors.white\n };\n const label = markerLabels[index % markerLabels.length];\n if (pins.length > 1) {\n const glyphWrapper = document.createElement('span');\n glyphWrapper.style.fontSize = '0.9rem';\n glyphWrapper.style.paddingTop = '0.1rem';\n glyphWrapper.innerHTML = label;\n contentConfig.glyph = glyphWrapper;\n }\n if (selected) {\n contentConfig.background = theme.base.colors.red.dark;\n contentConfig.borderColor = theme.base.colors.red.dark;\n contentConfig.scale = 1.15;\n }\n const pin = new google.maps.marker.PinElement(contentConfig);\n const marker = new google.maps.marker.AdvancedMarkerElement({\n map: map.current,\n position: gCoords,\n title,\n content: pin.element\n });\n if (content) {\n marker.addListener('click', () => {\n setSelectedPinIndex(index);\n infoWindow.setOptions({\n ariaLabel: `${t('location_info')} - ${title ?? label}`,\n headerContent: title ?? label\n });\n infoWindow.setContent(infoWindowContent.current);\n infoWindow.open({\n anchor: marker,\n map: map.current\n });\n });\n }\n return marker;\n });\n } catch {\n markers.current = [];\n }\n\n if (centerMapOnChange) {\n centerMap(pins);\n }\n\n return () => {\n markers.current.forEach(m => {\n m.map = null;\n });\n dr.current?.setMap(null);\n };\n }, [\n JSON.stringify(pins, ['title', 'selected', 'latitude', 'longitude']),\n status,\n zoomLevel,\n disabled,\n drawRoute,\n centerMapOnChange,\n onError\n ]);\n\n return (\n <StyledLocationView $height={height} ref={ref}>\n <StyledMap\n ref={mapElemRef as Ref<HTMLDivElement>}\n disabled={disabled}\n status={status}\n {...restProps}\n />\n {(status === LoadStatus.Init || loading) && <Progress placement='local' />}\n {status === LoadStatus.Error && eMessage && (\n <StyledLocationError aria-label={eMessage} variant='info'>\n {eMessage}\n </StyledLocationError>\n )}\n {selectedPinIndex !== undefined && !!pins[selectedPinIndex].content && (\n <>{createPortal(pins[selectedPinIndex].content, infoWindowContent.current)}</>\n )}\n </StyledLocationView>\n );\n }\n);\n\nexport default LocationView;\n"]}
|
|
@@ -1,11 +1,13 @@
|
|
|
1
|
-
export declare const StyledLocationError: import("styled-components").
|
|
1
|
+
export declare const StyledLocationError: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<Omit<Omit<import("../Badges").StatusProps, "ref"> & import("react").RefAttributes<HTMLSpanElement>, "ref"> & {
|
|
2
|
+
ref?: ((instance: HTMLSpanElement | null) => void | import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES[keyof import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES]) | import("react").RefObject<HTMLSpanElement> | null | undefined;
|
|
3
|
+
}, never>> & string & Omit<import("react").ForwardRefExoticComponent<Omit<import("../Badges").StatusProps, "ref"> & import("react").RefAttributes<HTMLSpanElement>> & {
|
|
2
4
|
getTestIds: (testIdProp?: import("../..").TestIdProp["testId"]) => import("../..").TestIdsRecord<readonly []>;
|
|
3
|
-
}, import("
|
|
4
|
-
export declare const StyledLocationView: import("styled-components").
|
|
5
|
+
}, keyof import("react").Component<any, {}, any>>;
|
|
6
|
+
export declare const StyledLocationView: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {
|
|
5
7
|
$height: string;
|
|
6
|
-
}
|
|
7
|
-
export declare const StyledMap: import("styled-components").
|
|
8
|
+
}>> & string;
|
|
9
|
+
export declare const StyledMap: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {
|
|
8
10
|
status: string;
|
|
9
11
|
disabled: boolean;
|
|
10
|
-
}
|
|
12
|
+
}>> & string;
|
|
11
13
|
//# sourceMappingURL=LocationView.styles.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LocationView.styles.d.ts","sourceRoot":"","sources":["../../../src/components/Location/LocationView.styles.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,mBAAmB
|
|
1
|
+
{"version":3,"file":"LocationView.styles.d.ts","sourceRoot":"","sources":["../../../src/components/Location/LocationView.styles.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,mBAAmB;;;;iDAK/B,CAAC;AAIF,eAAO,MAAM,kBAAkB;aAAyB,MAAM;YA0F5D,CAAC;AAIH,eAAO,MAAM,SAAS;YACZ,MAAM;cACJ,OAAO;YAwBlB,CAAC"}
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
import type { FunctionComponent } from 'react';
|
|
2
|
+
import type { DefaultTheme } from 'styled-components';
|
|
2
3
|
import type { ForwardProps } from '../../types';
|
|
3
|
-
export declare const
|
|
4
|
+
export declare const markStyles: ({ theme }: {
|
|
5
|
+
theme: DefaultTheme;
|
|
6
|
+
}) => import("styled-components").RuleSet<object>;
|
|
7
|
+
export declare const StyledMark: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLElement>, HTMLElement>, never>> & string;
|
|
4
8
|
declare const Mark: FunctionComponent<ForwardProps>;
|
|
5
9
|
export default Mark;
|
|
6
10
|
//# sourceMappingURL=Mark.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Mark.d.ts","sourceRoot":"","sources":["../../../src/components/Mark/Mark.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"Mark.d.ts","sourceRoot":"","sources":["../../../src/components/Mark/Mark.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAE/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,eAAO,MAAM,UAAU,GAAI,WAAW;IAAE,KAAK,EAAE,YAAY,CAAA;CAAE,gDAI5D,CAAC;AAEF,eAAO,MAAM,UAAU,uNAEtB,CAAC;AAIF,QAAA,MAAM,IAAI,EAAE,iBAAiB,CAAC,YAAY,CAEzC,CAAC;AAEF,eAAe,IAAI,CAAC"}
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import styled, { css } from 'styled-components';
|
|
3
3
|
import { defaultThemeProp } from '../../theme';
|
|
4
|
-
export const
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
}
|
|
4
|
+
export const markStyles = ({ theme }) => css `
|
|
5
|
+
color: ${theme.base.colors.black};
|
|
6
|
+
background-color: ${theme.components.mark['background-color']};
|
|
7
|
+
font-weight: ${theme.components.mark['font-weight']};
|
|
8
|
+
`;
|
|
9
|
+
export const StyledMark = styled.mark `
|
|
10
|
+
${markStyles}
|
|
11
|
+
`;
|
|
11
12
|
StyledMark.defaultProps = defaultThemeProp;
|
|
12
13
|
const Mark = props => {
|
|
13
14
|
return _jsx(StyledMark, { ...props });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Mark.js","sourceRoot":"","sources":["../../../src/components/Mark/Mark.tsx"],"names":[],"mappings":";AACA,OAAO,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"Mark.js","sourceRoot":"","sources":["../../../src/components/Mark/Mark.tsx"],"names":[],"mappings":";AACA,OAAO,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAGhD,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAG/C,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,EAAE,KAAK,EAA2B,EAAE,EAAE,CAAC,GAAG,CAAA;WAC1D,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK;sBACZ,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,kBAAkB,CAAC;iBAC9C,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC;CACpD,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAA;IACjC,UAAU;CACb,CAAC;AAEF,UAAU,CAAC,YAAY,GAAG,gBAAgB,CAAC;AAE3C,MAAM,IAAI,GAAoC,KAAK,CAAC,EAAE;IACpD,OAAO,KAAC,UAAU,OAAK,KAAK,GAAI,CAAC;AACnC,CAAC,CAAC;AAEF,eAAe,IAAI,CAAC","sourcesContent":["import type { FunctionComponent } from 'react';\nimport styled, { css } from 'styled-components';\nimport type { DefaultTheme } from 'styled-components';\n\nimport { defaultThemeProp } from '../../theme';\nimport type { ForwardProps } from '../../types';\n\nexport const markStyles = ({ theme }: { theme: DefaultTheme }) => css`\n color: ${theme.base.colors.black};\n background-color: ${theme.components.mark['background-color']};\n font-weight: ${theme.components.mark['font-weight']};\n`;\n\nexport const StyledMark = styled.mark`\n ${markStyles}\n`;\n\nStyledMark.defaultProps = defaultThemeProp;\n\nconst Mark: FunctionComponent<ForwardProps> = props => {\n return <StyledMark {...props} />;\n};\n\nexport default Mark;\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Menu.d.ts","sourceRoot":"","sources":["../../../src/components/Menu/Menu.tsx"],"names":[],"mappings":"AAqBA,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"Menu.d.ts","sourceRoot":"","sources":["../../../src/components/Menu/Menu.tsx"],"names":[],"mappings":"AAqBA,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,aAAa,CAAC;AAiBnE,OAAO,KAAK,EAEV,SAAS,EAGV,MAAM,cAAc,CAAC;;;;AAoftB,wBAAiD"}
|
|
@@ -1,23 +1,27 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { forwardRef, useCallback, useEffect, useState, useRef, useMemo, useImperativeHandle } from 'react';
|
|
3
3
|
import { useConsolidatedRef, useUID, useActiveDescendant, useLazyDescendant, useI18n, usePrevious, useDirection, useTestIds } from '../../hooks';
|
|
4
|
-
import { cap, withTestIds } from '../../utils';
|
|
4
|
+
import { cap, withTestIds, getActiveElement } from '../../utils';
|
|
5
5
|
import VisuallyHiddenText from '../VisuallyHiddenText';
|
|
6
6
|
import Button from '../Button/Button';
|
|
7
7
|
import Icon from '../Icon/Icon';
|
|
8
|
+
import Input from '../Input';
|
|
9
|
+
import HiddenText from '../HiddenText';
|
|
8
10
|
import FlyoutMenuList from './FlyoutMenuList';
|
|
9
11
|
import MenuContext from './Menu.context';
|
|
10
|
-
import { StyledMenu, StyledMenuListWrapper } from './Menu.styles';
|
|
12
|
+
import { StyledMenu, StyledMenuFilter, StyledMenuListWrapper, StyledFilterIcon } from './Menu.styles';
|
|
11
13
|
import { getMenuTestIds } from './Menu.test-ids';
|
|
12
14
|
import MenuList from './MenuList';
|
|
13
15
|
const Menu = forwardRef(function Menu(props, ref) {
|
|
14
16
|
const uid = useUID();
|
|
15
|
-
const { testId, id = uid, items = [], itemLayout = 'stacked', onCreateNew, mode = 'action', accent, scrollAt = 7, emptyText, onItemClick, onItemActive, onItemExpand, loadMore, onItemCollapse, loading = false, currentItemId, header, footer, variant = 'drill-down', focusControlEl, arrowNavigationUnsupported, 'aria-describedby': ariaDescribedBy, 'aria-label': label, role = 'menu', listId, pauseDescendantEvaluation, menuList: customMenuList, handleRef, ...restProps } = props;
|
|
17
|
+
const { testId, id = uid, items = [], itemLayout = 'stacked', onCreateNew, mode = 'action', accent, scrollAt = 7, emptyText, onItemClick, onItemActive, onItemExpand, loadMore, onItemCollapse, loading = false, currentItemId, header, footer, variant = 'drill-down', focusControlEl, arrowNavigationUnsupported, 'aria-describedby': ariaDescribedBy, 'aria-label': label, role = 'menu', listId, pauseDescendantEvaluation, cycle = true, filterInputProps, menuList: customMenuList, handleRef, ...restProps } = props;
|
|
16
18
|
const testIds = useTestIds(testId, getMenuTestIds);
|
|
17
19
|
const t = useI18n();
|
|
20
|
+
const instructionTextId = useUID();
|
|
18
21
|
const { end: endDirection, start: startDirection } = useDirection();
|
|
19
22
|
const radioName = useUID();
|
|
20
23
|
const menuRef = useConsolidatedRef(ref);
|
|
24
|
+
const filterElRef = useConsolidatedRef(filterInputProps?.ref);
|
|
21
25
|
const previousItemCount = useRef(0);
|
|
22
26
|
const [activeDescendantUpdateId, setActiveDescendantUpdateId] = useState(0);
|
|
23
27
|
const [focusDescendant, setFocusDescendant] = useState(null);
|
|
@@ -29,8 +33,14 @@ const Menu = forwardRef(function Menu(props, ref) {
|
|
|
29
33
|
const menuAsFocusControl = !focusControlEl;
|
|
30
34
|
const activeFlyoutSelector = useMemo(() => `fieldset[data-flyout-menu-id="${flyOutActiveIdStack[flyOutActiveIdStack.length - 1]}"]`, [flyOutActiveIdStack]);
|
|
31
35
|
const focusControl = useMemo(() => {
|
|
36
|
+
if (filterElRef.current) {
|
|
37
|
+
return filterElRef.current;
|
|
38
|
+
}
|
|
32
39
|
return focusControlEl || menuRef.current;
|
|
33
40
|
}, [focusControlEl, menuRef.current]);
|
|
41
|
+
useEffect(() => {
|
|
42
|
+
filterElRef.current?.focus();
|
|
43
|
+
}, []);
|
|
34
44
|
useImperativeHandle(handleRef, () => {
|
|
35
45
|
return {
|
|
36
46
|
expandTo: itemId => {
|
|
@@ -77,7 +87,8 @@ const Menu = forwardRef(function Menu(props, ref) {
|
|
|
77
87
|
clearPreventScroll: () => {
|
|
78
88
|
setPreventInitialScroll(false);
|
|
79
89
|
},
|
|
80
|
-
pauseDescendantEvaluation
|
|
90
|
+
pauseDescendantEvaluation,
|
|
91
|
+
cycle
|
|
81
92
|
}), [
|
|
82
93
|
focusControl,
|
|
83
94
|
menuRef.current,
|
|
@@ -86,7 +97,8 @@ const Menu = forwardRef(function Menu(props, ref) {
|
|
|
86
97
|
focusDescendant,
|
|
87
98
|
currentItemId,
|
|
88
99
|
preventInitialScroll,
|
|
89
|
-
pauseDescendantEvaluation
|
|
100
|
+
pauseDescendantEvaluation,
|
|
101
|
+
cycle
|
|
90
102
|
]);
|
|
91
103
|
const { activeDescendant, descendants } = useActiveDescendant(uadConfig, [
|
|
92
104
|
activeDescendantUpdateId
|
|
@@ -198,6 +210,38 @@ const Menu = forwardRef(function Menu(props, ref) {
|
|
|
198
210
|
}, 0);
|
|
199
211
|
return () => clearTimeout(timeoutId);
|
|
200
212
|
}, [items]);
|
|
213
|
+
// Cannot use previousActiveDescendant here because usePrevious uses useLayoutEffect, which runs before useEffect.
|
|
214
|
+
// This means by the time any useEffect fires, previousActiveDescendant has already been updated to the current value.
|
|
215
|
+
// So previousActiveDescendant can't be used to track the previous active element inside an effect.
|
|
216
|
+
// So, we are using a ref to store the last active descendant instead.
|
|
217
|
+
const lastActiveDescendantRef = useRef();
|
|
218
|
+
useEffect(() => {
|
|
219
|
+
const scopeIsActive = menuRef.current?.getAttribute('data-active-scope') === 'true';
|
|
220
|
+
const focusControlIsActive = getActiveElement() === focusControl;
|
|
221
|
+
if (!scopeIsActive && !focusControlIsActive) {
|
|
222
|
+
lastActiveDescendantRef.current = undefined;
|
|
223
|
+
return;
|
|
224
|
+
}
|
|
225
|
+
const prev = lastActiveDescendantRef.current;
|
|
226
|
+
if (prev && prev !== activeDescendant) {
|
|
227
|
+
prev.dispatchEvent(new FocusEvent('focusout'));
|
|
228
|
+
}
|
|
229
|
+
if (activeDescendant && prev !== activeDescendant) {
|
|
230
|
+
activeDescendant.dispatchEvent(new FocusEvent('focusin'));
|
|
231
|
+
}
|
|
232
|
+
lastActiveDescendantRef.current = activeDescendant;
|
|
233
|
+
}, [activeDescendant, focusControl]);
|
|
234
|
+
useEffect(() => {
|
|
235
|
+
const handleBlur = () => {
|
|
236
|
+
const last = lastActiveDescendantRef.current;
|
|
237
|
+
if (last) {
|
|
238
|
+
last.dispatchEvent(new FocusEvent('focusout'));
|
|
239
|
+
lastActiveDescendantRef.current = undefined;
|
|
240
|
+
}
|
|
241
|
+
};
|
|
242
|
+
focusControl?.addEventListener('blur', handleBlur);
|
|
243
|
+
return () => focusControl?.removeEventListener('blur', handleBlur);
|
|
244
|
+
}, [focusControl]);
|
|
201
245
|
const contextValue = useMemo(() => {
|
|
202
246
|
return {
|
|
203
247
|
componentId: id,
|
|
@@ -264,8 +308,16 @@ const Menu = forwardRef(function Menu(props, ref) {
|
|
|
264
308
|
expandToParentItem
|
|
265
309
|
]);
|
|
266
310
|
const menuList = customMenuList ??
|
|
267
|
-
(variant === 'drill-down' ? (_jsx(MenuList, { items: items, id: listId, menuRole: role, "aria-multiselectable": mode === 'multi-select', "aria-labelledby": label ? `${id}-menuLabel` : undefined })) : (_jsx(FlyoutMenuList, { items: items, menuRole: role })));
|
|
268
|
-
return (_jsxs(StyledMenu, { "data-testid": testIds.root, id: id, "aria-describedby": menuAsFocusControl ? `${id}-menuDescription` : undefined, ...restProps, ref: menuRef, tabIndex: menuAsFocusControl ? 0 : undefined, children: [menuAsFocusControl && (_jsx("span", { id: `${id}-menuDescription`, hidden: true, children: (`${t('menu_selection_instructions')} ` && ariaDescribedBy) || '' })), label && _jsx(VisuallyHiddenText, { id: `${id}-menuLabel`, children: label }),
|
|
311
|
+
(variant === 'drill-down' ? (_jsx(MenuList, { items: items, id: listId, menuRole: role, "aria-multiselectable": role === 'listbox' ? mode === 'multi-select' : undefined, "aria-labelledby": label ? `${id}-menuLabel` : undefined })) : (_jsx(FlyoutMenuList, { items: items, menuRole: role })));
|
|
312
|
+
return (_jsxs(StyledMenu, { "data-testid": testIds.root, id: id, "aria-describedby": menuAsFocusControl ? `${id}-menuDescription` : undefined, ...restProps, ref: menuRef, tabIndex: menuAsFocusControl ? 0 : undefined, children: [menuAsFocusControl && (_jsx("span", { id: `${id}-menuDescription`, hidden: true, children: (`${t('menu_selection_instructions')} ` && ariaDescribedBy) || '' })), label && _jsx(VisuallyHiddenText, { id: `${id}-menuLabel`, children: label }), (filterInputProps || header) && (_jsx("header", { "data-popover-scroll-el": true, onMouseDownCapture: e => {
|
|
313
|
+
if (filterElRef.current && e.target !== filterElRef.current) {
|
|
314
|
+
e.preventDefault();
|
|
315
|
+
}
|
|
316
|
+
}, children: filterInputProps ? (_jsxs(StyledMenuFilter, { children: [_jsx(StyledFilterIcon, { name: 'search' }), _jsx(Input, { ...filterInputProps, type: 'search', role: 'combobox', "aria-label": t('menu_filter_instructions'), "aria-controls": listId, "aria-expanded": 'true', "aria-describedby": instructionTextId, ref: filterElRef }), _jsx(HiddenText, { id: instructionTextId, children: t('search_instructions') })] })) : (header) })), _jsx(StyledMenuListWrapper, { "data-popover-scroll-el": true, children: _jsx(MenuContext.Provider, { value: contextValue, children: menuList }) }), (onCreateNew || footer) && (_jsx("footer", { "data-popover-scroll-el": true, children: onCreateNew ? (_jsxs(Button, { "data-testid": testIds.createNew, variant: 'link', onClick: () => {
|
|
317
|
+
(typeof onCreateNew !== 'function' ? onCreateNew.handler : onCreateNew)();
|
|
318
|
+
}, disabled: typeof onCreateNew !== 'function' ? onCreateNew.disabled : undefined, children: [_jsx(Icon, { name: 'plus' }), ' ', typeof onCreateNew !== 'function' && onCreateNew.text
|
|
319
|
+
? onCreateNew.text
|
|
320
|
+
: t('create_new')] })) : (footer) }))] }));
|
|
269
321
|
});
|
|
270
322
|
export default withTestIds(Menu, getMenuTestIds);
|
|
271
323
|
//# sourceMappingURL=Menu.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Menu.js","sourceRoot":"","sources":["../../../src/components/Menu/Menu.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n forwardRef,\n useCallback,\n useEffect,\n useState,\n useRef,\n useMemo,\n useImperativeHandle\n} from 'react';\nimport type { PropsWithoutRef, MouseEvent } from 'react';\n\nimport {\n useConsolidatedRef,\n useUID,\n useActiveDescendant,\n useLazyDescendant,\n useI18n,\n usePrevious,\n useDirection,\n useTestIds\n} from '../../hooks';\nimport type { ForwardRefForwardPropsComponent } from '../../types';\nimport { cap, withTestIds } from '../../utils';\nimport VisuallyHiddenText from '../VisuallyHiddenText';\nimport Button from '../Button/Button';\nimport Icon from '../Icon/Icon';\n\nimport FlyoutMenuList from './FlyoutMenuList';\nimport MenuContext from './Menu.context';\nimport { StyledMenu, StyledMenuListWrapper } from './Menu.styles';\nimport { getMenuTestIds } from './Menu.test-ids';\nimport type {\n MenuContextProps,\n MenuProps,\n MenuItemProps,\n AcceptedMouseEventElement\n} from './Menu.types';\nimport MenuList from './MenuList';\n\nconst Menu: ForwardRefForwardPropsComponent<MenuProps> = forwardRef(function Menu(\n props: PropsWithoutRef<MenuProps>,\n ref: MenuProps['ref']\n) {\n const uid = useUID();\n const {\n testId,\n id = uid,\n items = [],\n itemLayout = 'stacked',\n onCreateNew,\n mode = 'action',\n accent,\n scrollAt = 7,\n emptyText,\n onItemClick,\n onItemActive,\n onItemExpand,\n loadMore,\n onItemCollapse,\n loading = false,\n currentItemId,\n header,\n footer,\n variant = 'drill-down',\n focusControlEl,\n arrowNavigationUnsupported,\n 'aria-describedby': ariaDescribedBy,\n 'aria-label': label,\n role = 'menu',\n listId,\n pauseDescendantEvaluation,\n menuList: customMenuList,\n handleRef,\n ...restProps\n } = props;\n\n const testIds = useTestIds(testId, getMenuTestIds);\n\n const t = useI18n();\n\n const { end: endDirection, start: startDirection } = useDirection();\n const radioName = useUID();\n const menuRef = useConsolidatedRef(ref);\n const previousItemCount = useRef(0);\n const [activeDescendantUpdateId, setActiveDescendantUpdateId] = useState(0);\n const [focusDescendant, setFocusDescendant] = useState<HTMLElement | null>(null);\n const [flyOutActiveIdStack, setFlyoutActiveIdStack] = useState<string[]>([id]);\n const [focusReturnEl, setFocusReturnEl] = useState<HTMLElement | null>();\n const [preventInitialScroll, setPreventInitialScroll] = useState(false);\n const [flyoutFocusReturnStack, setFlyoutFocusReturnStack] = useState<(HTMLElement | null)[]>([]);\n const [expandToParentItem, setExpandToParentItem] = useState<string | undefined>();\n\n const menuAsFocusControl = !focusControlEl;\n\n const activeFlyoutSelector = useMemo(\n () => `fieldset[data-flyout-menu-id=\"${flyOutActiveIdStack[flyOutActiveIdStack.length - 1]}\"]`,\n [flyOutActiveIdStack]\n );\n\n const focusControl = useMemo(() => {\n return focusControlEl || menuRef.current;\n }, [focusControlEl, menuRef.current]);\n\n useImperativeHandle(\n handleRef,\n () => {\n return {\n expandTo: itemId => {\n setExpandToParentItem(itemId);\n }\n };\n },\n []\n );\n\n const pushFlyoutId = useCallback(\n (flyoutId: string) => {\n setFlyoutActiveIdStack([...flyOutActiveIdStack, flyoutId]);\n },\n [flyOutActiveIdStack]\n );\n\n useEffect(() => {\n setFlyoutActiveIdStack([...flyOutActiveIdStack, id]);\n }, [id]);\n\n const updateParentDescendantStack = useCallback(\n (item: HTMLElement | null) => {\n setFlyoutFocusReturnStack([...flyoutFocusReturnStack, item]);\n },\n [flyoutFocusReturnStack]\n );\n\n const getScopedItemId = useCallback(\n (itemId: string) => {\n return btoa(encodeURIComponent(itemId));\n },\n [id]\n );\n\n const getUnscopedItemId = useCallback(\n (itemId: string) => {\n return decodeURIComponent(atob(itemId));\n },\n [id]\n );\n\n const updateActiveDescendants: MenuContextProps['updateActiveDescendants'] = useCallback(\n ({ preventScroll = false } = {}) => {\n setPreventInitialScroll(preventScroll);\n setActiveDescendantUpdateId(Math.random());\n },\n []\n );\n\n const uadConfig = useMemo(\n () => ({\n focusEl: focusControl,\n scope: menuRef.current,\n scopeSelector:\n variant === 'drill-down'\n ? ('fieldset[aria-hidden=\"false\"]' as keyof HTMLElementTagNameMap)\n : activeFlyoutSelector,\n selector: `[role=\"${\n role === 'menu' ? 'menuitem' : 'option'\n }\"], legend` as keyof HTMLElementTagNameMap,\n focusDescendantEl: focusDescendant,\n clearFocusDescendant: () => {\n setFocusDescendant(null);\n },\n focusReturnEl,\n clearFocusReturn: () => {\n setFocusReturnEl(null);\n },\n currentDescendantId: currentItemId ? getScopedItemId(currentItemId) : undefined,\n preventInitialScroll,\n clearPreventScroll: () => {\n setPreventInitialScroll(false);\n },\n pauseDescendantEvaluation\n }),\n [\n focusControl,\n menuRef.current,\n activeFlyoutSelector,\n focusReturnEl,\n focusDescendant,\n currentItemId,\n preventInitialScroll,\n pauseDescendantEvaluation\n ]\n );\n\n const { activeDescendant, descendants } = useActiveDescendant(uadConfig, [\n activeDescendantUpdateId\n ]);\n\n const previousActiveDescendant = usePrevious(activeDescendant);\n\n useLazyDescendant({\n loading,\n descendants,\n previousActiveDescendant,\n activeDescendant,\n focusReturnEl,\n setFocusReturnEl,\n scrollEl: uadConfig.scope?.querySelector(uadConfig.scopeSelector)?.querySelector('ul')\n });\n\n // ## Bind Menu-specific navigation keyDown.\n useEffect(() => {\n const expandOrCollapse: (action?: 'collapse' | 'expand' | null) => void = (action = null) => {\n if (activeDescendant) {\n // expand\n if (activeDescendant.dataset.expand === 'true' && action !== 'collapse') {\n const clickEl =\n activeDescendant.querySelector<HTMLSpanElement>('span[aria-hidden=\"true\"]') ??\n activeDescendant;\n clickEl.click();\n return;\n }\n\n // collapse\n if (action !== 'expand') {\n if (\n variant === 'flyout' &&\n flyOutActiveIdStack.length > 1 &&\n flyoutFocusReturnStack.length > 0\n ) {\n setFlyoutActiveIdStack([...flyOutActiveIdStack].slice(0, -1));\n\n const parentDescendant = flyoutFocusReturnStack.pop();\n if (parentDescendant !== undefined) setFocusReturnEl(parentDescendant);\n updateActiveDescendants();\n } else if (activeDescendant.dataset.collapse === 'true') activeDescendant.click();\n }\n }\n };\n\n const additionalKeydown = (e: KeyboardEvent) => {\n switch (e.key) {\n case `Arrow${cap(endDirection)}`: {\n if (arrowNavigationUnsupported) break;\n expandOrCollapse('expand');\n break;\n }\n case `Arrow${cap(startDirection)}`: {\n if (arrowNavigationUnsupported) break;\n expandOrCollapse('collapse');\n break;\n }\n case 'Escape': {\n if (\n variant === 'flyout' &&\n flyOutActiveIdStack.length > 1 &&\n flyoutFocusReturnStack.length > 0\n ) {\n e.preventDefault();\n e.stopPropagation();\n\n setFlyoutActiveIdStack([...flyOutActiveIdStack].slice(0, -1));\n const parentDescendant = flyoutFocusReturnStack.pop();\n if (parentDescendant !== undefined) setFocusReturnEl(parentDescendant);\n updateActiveDescendants();\n }\n break;\n }\n default:\n break;\n }\n\n if (arrowNavigationUnsupported && (e.key === ' ' || e.key === 'Spacebar') && e.shiftKey) {\n e.preventDefault();\n expandOrCollapse();\n }\n };\n\n if (activeDescendant) onItemActive?.(getUnscopedItemId(activeDescendant.id));\n\n focusControl?.addEventListener('keydown', additionalKeydown);\n\n return () => focusControl?.removeEventListener('keydown', additionalKeydown);\n }, [focusControl, activeDescendant, flyOutActiveIdStack]);\n\n // ## Update useActiveDescendant on change of items, not selection of items.\n useEffect(() => {\n // Next tick for DOM updates.\n const timeoutId = setTimeout(() => {\n if (items.length === previousItemCount.current) {\n const previousDescendantIds = descendants?.map(node => node.id);\n const newDescendants = uadConfig.scope\n ?.querySelector(uadConfig.scopeSelector)\n ?.querySelectorAll(uadConfig.selector);\n\n if (!newDescendants) {\n updateActiveDescendants();\n return;\n }\n\n const scopedDescendants = Array.from(newDescendants);\n\n if (scopedDescendants?.length !== previousDescendantIds?.length) {\n updateActiveDescendants();\n return;\n }\n\n const itemsUnchanged = scopedDescendants.every(\n (node, index) => node.id === previousDescendantIds[index]\n );\n\n if (!itemsUnchanged) {\n updateActiveDescendants();\n }\n\n return;\n }\n\n previousItemCount.current = items.length;\n updateActiveDescendants();\n }, 0);\n\n return () => clearTimeout(timeoutId);\n }, [items]);\n\n const contextValue = useMemo(() => {\n return {\n componentId: id,\n 'aria-label': label,\n mode,\n arrowNavigationUnsupported,\n onItemClick: (\n clickedId: MenuItemProps['id'],\n event: MouseEvent<AcceptedMouseEventElement>\n ) => {\n if (menuAsFocusControl) {\n menuRef.current?.focus();\n }\n\n onItemClick?.(clickedId, event);\n },\n onItemActive,\n onItemExpand,\n onItemCollapse,\n itemLayout,\n accent,\n scrollAt,\n emptyText,\n radioName,\n loadMore,\n loading,\n variant,\n focusControl,\n updateActiveDescendants,\n setFocusReturnEl,\n setFocusDescendant,\n getScopedItemId,\n pushFlyoutId,\n flyOutActiveIdStack,\n updateParentDescendantStack,\n expandTo: {\n parentItemId: expandToParentItem,\n onComplete: () => {\n setExpandToParentItem(undefined);\n }\n }\n };\n }, [\n id,\n label,\n mode,\n arrowNavigationUnsupported,\n onItemClick,\n onItemActive,\n onItemExpand,\n onItemCollapse,\n itemLayout,\n accent,\n scrollAt,\n emptyText,\n radioName,\n loadMore,\n loading,\n variant,\n focusControl,\n updateActiveDescendants,\n setFocusReturnEl,\n setFocusDescendant,\n getScopedItemId,\n pushFlyoutId,\n flyOutActiveIdStack,\n updateParentDescendantStack,\n expandToParentItem\n ]);\n\n const menuList =\n customMenuList ??\n (variant === 'drill-down' ? (\n <MenuList\n items={items}\n id={listId}\n menuRole={role}\n aria-multiselectable={mode === 'multi-select'}\n aria-labelledby={label ? `${id}-menuLabel` : undefined}\n />\n ) : (\n <FlyoutMenuList items={items} menuRole={role} />\n ));\n\n return (\n <StyledMenu\n data-testid={testIds.root}\n id={id}\n aria-describedby={menuAsFocusControl ? `${id}-menuDescription` : undefined}\n {...restProps}\n ref={menuRef}\n tabIndex={menuAsFocusControl ? 0 : undefined}\n >\n {menuAsFocusControl && (\n <span id={`${id}-menuDescription`} hidden>\n {(`${t('menu_selection_instructions')} ` && ariaDescribedBy) || ''}\n </span>\n )}\n {label && <VisuallyHiddenText id={`${id}-menuLabel`}>{label}</VisuallyHiddenText>}\n\n {header && <header data-popover-scroll-el>{header}</header>}\n\n <StyledMenuListWrapper data-popover-scroll-el>\n <MenuContext.Provider value={contextValue}>{menuList}</MenuContext.Provider>\n </StyledMenuListWrapper>\n {(onCreateNew || footer) && (\n <footer data-popover-scroll-el>\n {onCreateNew ? (\n <Button data-testid={testIds.createNew} variant='link' onClick={onCreateNew}>\n <Icon name='plus' /> {t('create_new')}\n </Button>\n ) : (\n footer\n )}\n </footer>\n )}\n </StyledMenu>\n );\n});\n\nexport default withTestIds(Menu, getMenuTestIds);\n"]}
|
|
1
|
+
{"version":3,"file":"Menu.js","sourceRoot":"","sources":["../../../src/components/Menu/Menu.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n forwardRef,\n useCallback,\n useEffect,\n useState,\n useRef,\n useMemo,\n useImperativeHandle\n} from 'react';\nimport type { PropsWithoutRef, MouseEvent } from 'react';\n\nimport {\n useConsolidatedRef,\n useUID,\n useActiveDescendant,\n useLazyDescendant,\n useI18n,\n usePrevious,\n useDirection,\n useTestIds\n} from '../../hooks';\nimport type { ForwardRefForwardPropsComponent } from '../../types';\nimport { cap, withTestIds, getActiveElement } from '../../utils';\nimport VisuallyHiddenText from '../VisuallyHiddenText';\nimport Button from '../Button/Button';\nimport Icon from '../Icon/Icon';\nimport Input from '../Input';\nimport HiddenText from '../HiddenText';\n\nimport FlyoutMenuList from './FlyoutMenuList';\nimport MenuContext from './Menu.context';\nimport {\n StyledMenu,\n StyledMenuFilter,\n StyledMenuListWrapper,\n StyledFilterIcon\n} from './Menu.styles';\nimport { getMenuTestIds } from './Menu.test-ids';\nimport type {\n MenuContextProps,\n MenuProps,\n MenuItemProps,\n AcceptedMouseEventElement\n} from './Menu.types';\nimport MenuList from './MenuList';\n\nconst Menu: ForwardRefForwardPropsComponent<MenuProps> = forwardRef(function Menu(\n props: PropsWithoutRef<MenuProps>,\n ref: MenuProps['ref']\n) {\n const uid = useUID();\n const {\n testId,\n id = uid,\n items = [],\n itemLayout = 'stacked',\n onCreateNew,\n mode = 'action',\n accent,\n scrollAt = 7,\n emptyText,\n onItemClick,\n onItemActive,\n onItemExpand,\n loadMore,\n onItemCollapse,\n loading = false,\n currentItemId,\n header,\n footer,\n variant = 'drill-down',\n focusControlEl,\n arrowNavigationUnsupported,\n 'aria-describedby': ariaDescribedBy,\n 'aria-label': label,\n role = 'menu',\n listId,\n pauseDescendantEvaluation,\n cycle = true,\n filterInputProps,\n menuList: customMenuList,\n handleRef,\n ...restProps\n } = props;\n\n const testIds = useTestIds(testId, getMenuTestIds);\n\n const t = useI18n();\n const instructionTextId = useUID();\n\n const { end: endDirection, start: startDirection } = useDirection();\n const radioName = useUID();\n const menuRef = useConsolidatedRef(ref);\n const filterElRef = useConsolidatedRef<HTMLInputElement>(filterInputProps?.ref);\n const previousItemCount = useRef(0);\n const [activeDescendantUpdateId, setActiveDescendantUpdateId] = useState(0);\n const [focusDescendant, setFocusDescendant] = useState<HTMLElement | null>(null);\n const [flyOutActiveIdStack, setFlyoutActiveIdStack] = useState<string[]>([id]);\n const [focusReturnEl, setFocusReturnEl] = useState<HTMLElement | null>();\n const [preventInitialScroll, setPreventInitialScroll] = useState(false);\n const [flyoutFocusReturnStack, setFlyoutFocusReturnStack] = useState<(HTMLElement | null)[]>([]);\n const [expandToParentItem, setExpandToParentItem] = useState<string | undefined>();\n\n const menuAsFocusControl = !focusControlEl;\n\n const activeFlyoutSelector = useMemo(\n () => `fieldset[data-flyout-menu-id=\"${flyOutActiveIdStack[flyOutActiveIdStack.length - 1]}\"]`,\n [flyOutActiveIdStack]\n );\n\n const focusControl = useMemo(() => {\n if (filterElRef.current) {\n return filterElRef.current;\n }\n return focusControlEl || menuRef.current;\n }, [focusControlEl, menuRef.current]);\n\n useEffect(() => {\n filterElRef.current?.focus();\n }, []);\n\n useImperativeHandle(\n handleRef,\n () => {\n return {\n expandTo: itemId => {\n setExpandToParentItem(itemId);\n }\n };\n },\n []\n );\n\n const pushFlyoutId = useCallback(\n (flyoutId: string) => {\n setFlyoutActiveIdStack([...flyOutActiveIdStack, flyoutId]);\n },\n [flyOutActiveIdStack]\n );\n\n useEffect(() => {\n setFlyoutActiveIdStack([...flyOutActiveIdStack, id]);\n }, [id]);\n\n const updateParentDescendantStack = useCallback(\n (item: HTMLElement | null) => {\n setFlyoutFocusReturnStack([...flyoutFocusReturnStack, item]);\n },\n [flyoutFocusReturnStack]\n );\n\n const getScopedItemId = useCallback(\n (itemId: string) => {\n return btoa(encodeURIComponent(itemId));\n },\n [id]\n );\n\n const getUnscopedItemId = useCallback(\n (itemId: string) => {\n return decodeURIComponent(atob(itemId));\n },\n [id]\n );\n\n const updateActiveDescendants: MenuContextProps['updateActiveDescendants'] = useCallback(\n ({ preventScroll = false } = {}) => {\n setPreventInitialScroll(preventScroll);\n setActiveDescendantUpdateId(Math.random());\n },\n []\n );\n\n const uadConfig = useMemo(\n () => ({\n focusEl: focusControl,\n scope: menuRef.current,\n scopeSelector:\n variant === 'drill-down'\n ? ('fieldset[aria-hidden=\"false\"]' as keyof HTMLElementTagNameMap)\n : activeFlyoutSelector,\n selector: `[role=\"${\n role === 'menu' ? 'menuitem' : 'option'\n }\"], legend` as keyof HTMLElementTagNameMap,\n focusDescendantEl: focusDescendant,\n clearFocusDescendant: () => {\n setFocusDescendant(null);\n },\n focusReturnEl,\n clearFocusReturn: () => {\n setFocusReturnEl(null);\n },\n currentDescendantId: currentItemId ? getScopedItemId(currentItemId) : undefined,\n preventInitialScroll,\n clearPreventScroll: () => {\n setPreventInitialScroll(false);\n },\n pauseDescendantEvaluation,\n cycle\n }),\n [\n focusControl,\n menuRef.current,\n activeFlyoutSelector,\n focusReturnEl,\n focusDescendant,\n currentItemId,\n preventInitialScroll,\n pauseDescendantEvaluation,\n cycle\n ]\n );\n\n const { activeDescendant, descendants } = useActiveDescendant(uadConfig, [\n activeDescendantUpdateId\n ]);\n\n const previousActiveDescendant = usePrevious(activeDescendant);\n\n useLazyDescendant({\n loading,\n descendants,\n previousActiveDescendant,\n activeDescendant,\n focusReturnEl,\n setFocusReturnEl,\n scrollEl: uadConfig.scope?.querySelector(uadConfig.scopeSelector)?.querySelector('ul')\n });\n\n // ## Bind Menu-specific navigation keyDown.\n useEffect(() => {\n const expandOrCollapse: (action?: 'collapse' | 'expand' | null) => void = (action = null) => {\n if (activeDescendant) {\n // expand\n if (activeDescendant.dataset.expand === 'true' && action !== 'collapse') {\n const clickEl =\n activeDescendant.querySelector<HTMLSpanElement>('span[aria-hidden=\"true\"]') ??\n activeDescendant;\n clickEl.click();\n return;\n }\n\n // collapse\n if (action !== 'expand') {\n if (\n variant === 'flyout' &&\n flyOutActiveIdStack.length > 1 &&\n flyoutFocusReturnStack.length > 0\n ) {\n setFlyoutActiveIdStack([...flyOutActiveIdStack].slice(0, -1));\n\n const parentDescendant = flyoutFocusReturnStack.pop();\n if (parentDescendant !== undefined) setFocusReturnEl(parentDescendant);\n updateActiveDescendants();\n } else if (activeDescendant.dataset.collapse === 'true') activeDescendant.click();\n }\n }\n };\n\n const additionalKeydown = (e: KeyboardEvent) => {\n switch (e.key) {\n case `Arrow${cap(endDirection)}`: {\n if (arrowNavigationUnsupported) break;\n expandOrCollapse('expand');\n break;\n }\n case `Arrow${cap(startDirection)}`: {\n if (arrowNavigationUnsupported) break;\n expandOrCollapse('collapse');\n break;\n }\n case 'Escape': {\n if (\n variant === 'flyout' &&\n flyOutActiveIdStack.length > 1 &&\n flyoutFocusReturnStack.length > 0\n ) {\n e.preventDefault();\n e.stopPropagation();\n\n setFlyoutActiveIdStack([...flyOutActiveIdStack].slice(0, -1));\n const parentDescendant = flyoutFocusReturnStack.pop();\n if (parentDescendant !== undefined) setFocusReturnEl(parentDescendant);\n updateActiveDescendants();\n }\n break;\n }\n default:\n break;\n }\n\n if (arrowNavigationUnsupported && (e.key === ' ' || e.key === 'Spacebar') && e.shiftKey) {\n e.preventDefault();\n expandOrCollapse();\n }\n };\n\n if (activeDescendant) onItemActive?.(getUnscopedItemId(activeDescendant.id));\n\n focusControl?.addEventListener('keydown', additionalKeydown);\n\n return () => focusControl?.removeEventListener('keydown', additionalKeydown);\n }, [focusControl, activeDescendant, flyOutActiveIdStack]);\n\n // ## Update useActiveDescendant on change of items, not selection of items.\n useEffect(() => {\n // Next tick for DOM updates.\n const timeoutId = setTimeout(() => {\n if (items.length === previousItemCount.current) {\n const previousDescendantIds = descendants?.map(node => node.id);\n const newDescendants = uadConfig.scope\n ?.querySelector(uadConfig.scopeSelector)\n ?.querySelectorAll(uadConfig.selector);\n\n if (!newDescendants) {\n updateActiveDescendants();\n return;\n }\n\n const scopedDescendants = Array.from(newDescendants);\n\n if (scopedDescendants?.length !== previousDescendantIds?.length) {\n updateActiveDescendants();\n return;\n }\n\n const itemsUnchanged = scopedDescendants.every(\n (node, index) => node.id === previousDescendantIds[index]\n );\n\n if (!itemsUnchanged) {\n updateActiveDescendants();\n }\n\n return;\n }\n\n previousItemCount.current = items.length;\n updateActiveDescendants();\n }, 0);\n\n return () => clearTimeout(timeoutId);\n }, [items]);\n\n // Cannot use previousActiveDescendant here because usePrevious uses useLayoutEffect, which runs before useEffect.\n // This means by the time any useEffect fires, previousActiveDescendant has already been updated to the current value.\n // So previousActiveDescendant can't be used to track the previous active element inside an effect.\n // So, we are using a ref to store the last active descendant instead.\n const lastActiveDescendantRef = useRef<HTMLElement | undefined>();\n\n useEffect(() => {\n const scopeIsActive = menuRef.current?.getAttribute('data-active-scope') === 'true';\n const focusControlIsActive = getActiveElement() === focusControl;\n\n if (!scopeIsActive && !focusControlIsActive) {\n lastActiveDescendantRef.current = undefined;\n return;\n }\n\n const prev = lastActiveDescendantRef.current;\n\n if (prev && prev !== activeDescendant) {\n prev.dispatchEvent(new FocusEvent('focusout'));\n }\n\n if (activeDescendant && prev !== activeDescendant) {\n activeDescendant.dispatchEvent(new FocusEvent('focusin'));\n }\n\n lastActiveDescendantRef.current = activeDescendant;\n }, [activeDescendant, focusControl]);\n\n useEffect(() => {\n const handleBlur = () => {\n const last = lastActiveDescendantRef.current;\n if (last) {\n last.dispatchEvent(new FocusEvent('focusout'));\n lastActiveDescendantRef.current = undefined;\n }\n };\n\n focusControl?.addEventListener('blur', handleBlur);\n return () => focusControl?.removeEventListener('blur', handleBlur);\n }, [focusControl]);\n\n const contextValue = useMemo(() => {\n return {\n componentId: id,\n 'aria-label': label,\n mode,\n arrowNavigationUnsupported,\n onItemClick: (\n clickedId: MenuItemProps['id'],\n event: MouseEvent<AcceptedMouseEventElement>\n ) => {\n if (menuAsFocusControl) {\n menuRef.current?.focus();\n }\n\n onItemClick?.(clickedId, event);\n },\n onItemActive,\n onItemExpand,\n onItemCollapse,\n itemLayout,\n accent,\n scrollAt,\n emptyText,\n radioName,\n loadMore,\n loading,\n variant,\n focusControl,\n updateActiveDescendants,\n setFocusReturnEl,\n setFocusDescendant,\n getScopedItemId,\n pushFlyoutId,\n flyOutActiveIdStack,\n updateParentDescendantStack,\n expandTo: {\n parentItemId: expandToParentItem,\n onComplete: () => {\n setExpandToParentItem(undefined);\n }\n }\n };\n }, [\n id,\n label,\n mode,\n arrowNavigationUnsupported,\n onItemClick,\n onItemActive,\n onItemExpand,\n onItemCollapse,\n itemLayout,\n accent,\n scrollAt,\n emptyText,\n radioName,\n loadMore,\n loading,\n variant,\n focusControl,\n updateActiveDescendants,\n setFocusReturnEl,\n setFocusDescendant,\n getScopedItemId,\n pushFlyoutId,\n flyOutActiveIdStack,\n updateParentDescendantStack,\n expandToParentItem\n ]);\n\n const menuList =\n customMenuList ??\n (variant === 'drill-down' ? (\n <MenuList\n items={items}\n id={listId}\n menuRole={role}\n aria-multiselectable={role === 'listbox' ? mode === 'multi-select' : undefined}\n aria-labelledby={label ? `${id}-menuLabel` : undefined}\n />\n ) : (\n <FlyoutMenuList items={items} menuRole={role} />\n ));\n\n return (\n <StyledMenu\n data-testid={testIds.root}\n id={id}\n aria-describedby={menuAsFocusControl ? `${id}-menuDescription` : undefined}\n {...restProps}\n ref={menuRef}\n tabIndex={menuAsFocusControl ? 0 : undefined}\n >\n {menuAsFocusControl && (\n <span id={`${id}-menuDescription`} hidden>\n {(`${t('menu_selection_instructions')} ` && ariaDescribedBy) || ''}\n </span>\n )}\n {label && <VisuallyHiddenText id={`${id}-menuLabel`}>{label}</VisuallyHiddenText>}\n\n {(filterInputProps || header) && (\n <header\n data-popover-scroll-el\n onMouseDownCapture={e => {\n if (filterElRef.current && e.target !== filterElRef.current) {\n e.preventDefault();\n }\n }}\n >\n {filterInputProps ? (\n <StyledMenuFilter>\n <StyledFilterIcon name='search' />\n <Input\n {...filterInputProps}\n type='search'\n role='combobox'\n aria-label={t('menu_filter_instructions')}\n aria-controls={listId}\n aria-expanded='true'\n aria-describedby={instructionTextId}\n ref={filterElRef}\n />\n <HiddenText id={instructionTextId}>{t('search_instructions')}</HiddenText>\n </StyledMenuFilter>\n ) : (\n header\n )}\n </header>\n )}\n\n <StyledMenuListWrapper data-popover-scroll-el>\n <MenuContext.Provider value={contextValue}>{menuList}</MenuContext.Provider>\n </StyledMenuListWrapper>\n {(onCreateNew || footer) && (\n <footer data-popover-scroll-el>\n {onCreateNew ? (\n <Button\n data-testid={testIds.createNew}\n variant='link'\n onClick={() => {\n (typeof onCreateNew !== 'function' ? onCreateNew.handler : onCreateNew)();\n }}\n disabled={typeof onCreateNew !== 'function' ? onCreateNew.disabled : undefined}\n >\n <Icon name='plus' />{' '}\n {typeof onCreateNew !== 'function' && onCreateNew.text\n ? onCreateNew.text\n : t('create_new')}\n </Button>\n ) : (\n footer\n )}\n </footer>\n )}\n </StyledMenu>\n );\n});\n\nexport default withTestIds(Menu, getMenuTestIds);\n"]}
|