@helsenorge/designsystem-react 14.9.2 → 15.0.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/AnchorLink.js +11 -7
- package/lib/AnchorLink.js.map +1 -1
- package/lib/AsChildSlot.js +8 -4
- package/lib/AsChildSlot.js.map +1 -1
- package/lib/Avatar.js +16 -10
- package/lib/Avatar.js.map +1 -1
- package/lib/Badge.js +9 -5
- package/lib/Badge.js.map +1 -1
- package/lib/Button.js +14 -10
- package/lib/Button.js.map +1 -1
- package/lib/CHANGELOG.md +10 -0
- package/lib/Checkbox.js +12 -11
- package/lib/Checkbox.js.map +1 -1
- package/lib/Chip.js +17 -10
- package/lib/Chip.js.map +1 -1
- package/lib/Close.js +12 -8
- package/lib/Close.js.map +1 -1
- package/lib/DictionaryTrigger.js +7 -3
- package/lib/DictionaryTrigger.js.map +1 -1
- package/lib/Drawer.js +26 -19
- package/lib/Drawer.js.map +1 -1
- package/lib/DrawerNavigation.js +9 -4
- package/lib/DrawerNavigation.js.map +1 -1
- package/lib/Duolist.js +10 -6
- package/lib/Duolist.js.map +1 -1
- package/lib/ElementHeader.js +15 -12
- package/lib/ElementHeader.js.map +1 -1
- package/lib/ElementHeaderText.js +7 -5
- package/lib/ElementHeaderText.js.map +1 -1
- package/lib/{_rolldown_dynamic_import_helper.js → ErrorBoundary.js} +14 -11
- package/lib/ErrorBoundary.js.map +1 -0
- package/lib/ErrorWrapper.js +7 -3
- package/lib/ErrorWrapper.js.map +1 -1
- package/lib/Expander.js +20 -14
- package/lib/Expander.js.map +1 -1
- package/lib/FilterButton.js +11 -7
- package/lib/FilterButton.js.map +1 -1
- package/lib/FilterButtonAndChipsWrapper.js +6 -2
- package/lib/FilterButtonAndChipsWrapper.js.map +1 -1
- package/lib/FilterDrawer.js +20 -9
- package/lib/FilterDrawer.js.map +1 -1
- package/lib/FilterLinkList.js +9 -8
- package/lib/FilterLinkList.js.map +1 -1
- package/lib/FilterOverviewLinkList.js +9 -5
- package/lib/FilterOverviewLinkList.js.map +1 -1
- package/lib/FilterOverviewSearch.js +8 -4
- package/lib/FilterOverviewSearch.js.map +1 -1
- package/lib/FilterResultCountAndSortWrapper.js +6 -2
- package/lib/FilterResultCountAndSortWrapper.js.map +1 -1
- package/lib/FilterSearch.js +12 -11
- package/lib/FilterSearch.js.map +1 -1
- package/lib/FilterSort.js +9 -5
- package/lib/FilterSort.js.map +1 -1
- package/lib/FilterStateWrapper.js +6 -2
- package/lib/FilterStateWrapper.js.map +1 -1
- package/lib/FormFieldTag.js +12 -5
- package/lib/FormFieldTag.js.map +1 -1
- package/lib/FormGroup.js +14 -13
- package/lib/FormGroup.js.map +1 -1
- package/lib/FormLayout.js +17 -11
- package/lib/FormLayout.js.map +1 -1
- package/lib/HN.Designsystem.Dropdown.nb-NO.js +1 -0
- package/lib/HelpDetails.js +3 -2
- package/lib/HelpDetails.js.map +1 -1
- package/lib/HelpTriggerIcon.js +15 -10
- package/lib/HelpTriggerIcon.js.map +1 -1
- package/lib/HelpTriggerStandalone.js +11 -7
- package/lib/HelpTriggerStandalone.js.map +1 -1
- package/lib/HighlightPanel.js +9 -5
- package/lib/HighlightPanel.js.map +1 -1
- package/lib/Highlighter.js +10 -6
- package/lib/Highlighter.js.map +1 -1
- package/lib/HorizontalScroll.js +10 -6
- package/lib/HorizontalScroll.js.map +1 -1
- package/lib/Icon.js +6 -2
- package/lib/Icon.js.map +1 -1
- package/lib/Illustration.js +8 -4
- package/lib/Illustration.js.map +1 -1
- package/lib/InfoTeaser.js +13 -6
- package/lib/InfoTeaser.js.map +1 -1
- package/lib/Input.js +30 -25
- package/lib/Input.js.map +1 -1
- package/lib/LazyIcon.js +16 -10
- package/lib/LazyIcon.js.map +1 -1
- package/lib/LazyIllustration.js +16 -12
- package/lib/LazyIllustration.js.map +1 -1
- package/lib/LinkList.js +19 -12
- package/lib/LinkList.js.map +1 -1
- package/lib/List.js +7 -3
- package/lib/List.js.map +1 -1
- package/lib/ListEditMode.js +14 -9
- package/lib/ListEditMode.js.map +1 -1
- package/lib/MaxCharacters.js +5 -5
- package/lib/MaxCharacters.js.map +1 -1
- package/lib/NotificationBadge.js +12 -11
- package/lib/NotificationBadge.js.map +1 -1
- package/lib/PanelTitle.js +7 -3
- package/lib/PanelTitle.js.map +1 -1
- package/lib/PopOver.js +15 -9
- package/lib/PopOver.js.map +1 -1
- package/lib/Select.js +13 -9
- package/lib/Select.js.map +1 -1
- package/lib/SingleSelectItem.js +8 -5
- package/lib/SingleSelectItem.js.map +1 -1
- package/lib/Slider.js +30 -26
- package/lib/Slider.js.map +1 -1
- package/lib/Spacer.js +7 -3
- package/lib/Spacer.js.map +1 -1
- package/lib/StatusDot.js +36 -30
- package/lib/StatusDot.js.map +1 -1
- package/lib/StatusDotList.js +7 -3
- package/lib/StatusDotList.js.map +1 -1
- package/lib/StepButtons.js +8 -4
- package/lib/StepButtons.js.map +1 -1
- package/lib/TabList.js +29 -22
- package/lib/TabList.js.map +1 -1
- package/lib/TabPanel.js +6 -2
- package/lib/TabPanel.js.map +1 -1
- package/lib/TableBody.js +10 -6
- package/lib/TableBody.js.map +1 -1
- package/lib/TableCell.js +10 -6
- package/lib/TableCell.js.map +1 -1
- package/lib/TableExpandedRow.js +14 -10
- package/lib/TableExpandedRow.js.map +1 -1
- package/lib/TableExpanderCell.js +13 -11
- package/lib/TableExpanderCell.js.map +1 -1
- package/lib/TableHead.js +14 -10
- package/lib/TableHead.js.map +1 -1
- package/lib/TableHeadCell.js +17 -13
- package/lib/TableHeadCell.js.map +1 -1
- package/lib/TableRow.js +19 -14
- package/lib/TableRow.js.map +1 -1
- package/lib/Textarea.js +18 -11
- package/lib/Textarea.js.map +1 -1
- package/lib/Title.js +8 -5
- package/lib/Title.js.map +1 -1
- package/lib/Toast.js +7 -6
- package/lib/Toast.js.map +1 -1
- package/lib/__mocks__/IntersectionObserver.js +3 -2
- package/lib/__mocks__/IntersectionObserver.js.map +1 -1
- package/lib/__mocks__/MutationObserver.js +3 -2
- package/lib/__mocks__/MutationObserver.js.map +1 -1
- package/lib/__mocks__/ResizeObserver.js +3 -2
- package/lib/__mocks__/ResizeObserver.js.map +1 -1
- package/lib/__mocks__/matchMedia.js +3 -1
- package/lib/__mocks__/matchMedia.js.map +1 -1
- package/lib/__mocks__/useLayoutEvent.js +2 -0
- package/lib/__mocks__/useLayoutEvent.js.map +1 -1
- package/lib/__mocks__/useOutsideEvent.js +2 -0
- package/lib/__mocks__/useOutsideEvent.js.map +1 -1
- package/lib/__mocks__/usePseudoClasses.js +2 -0
- package/lib/__mocks__/usePseudoClasses.js.map +1 -1
- package/lib/__mocks__/useSize.js +2 -0
- package/lib/__mocks__/useSize.js.map +1 -1
- package/lib/__mocks__/uuid.js +6 -1
- package/lib/__mocks__/uuid.js.map +1 -1
- package/lib/components/ArticleTeaser/index.js +10 -3
- package/lib/components/ArticleTeaser/index.js.map +1 -1
- package/lib/components/Checkbox/index.js +5 -1
- package/lib/components/Checkbox/index.js.map +1 -0
- package/lib/components/Chip/Chip.d.ts +0 -2
- package/lib/components/Dropdown/SingleSelect/index.js +4 -2
- package/lib/components/Dropdown/SingleSelect/index.js.map +1 -1
- package/lib/components/Dropdown/index.js +27 -19
- package/lib/components/Dropdown/index.js.map +1 -1
- package/lib/components/DropdownOld/index.js +25 -17
- package/lib/components/DropdownOld/index.js.map +1 -1
- package/lib/components/ElementHeader/index.js +4 -2
- package/lib/components/ElementHeader/index.js.map +1 -1
- package/lib/components/EmptyState/index.js +23 -17
- package/lib/components/EmptyState/index.js.map +1 -1
- package/lib/components/ExpanderHierarchy/index.js +23 -16
- package/lib/components/ExpanderHierarchy/index.js.map +1 -1
- package/lib/components/ExpanderList/index.js +13 -9
- package/lib/components/ExpanderList/index.js.map +1 -1
- package/lib/components/EyebrowHeader/index.js +6 -2
- package/lib/components/EyebrowHeader/index.js.map +1 -1
- package/lib/components/FavoriteButton/index.js +20 -11
- package/lib/components/FavoriteButton/index.js.map +1 -1
- package/lib/components/Filter/DrawerNavigation/index.js +6 -2
- package/lib/components/Filter/DrawerNavigation/index.js.map +1 -0
- package/lib/components/Filter/FilterLinkList/index.js +6 -2
- package/lib/components/Filter/FilterLinkList/index.js.map +1 -0
- package/lib/components/Filter/FilterSearch/index.js +6 -1
- package/lib/components/Filter/FilterSearch/index.js.map +1 -0
- package/lib/components/Filter/index.js +50 -12
- package/lib/components/Filter/index.js.map +1 -1
- package/lib/components/FormGroup/index.js +4 -2
- package/lib/components/FormGroup/index.js.map +1 -1
- package/lib/components/HelpBubble/index.js +11 -4
- package/lib/components/HelpBubble/index.js.map +1 -1
- package/lib/components/HelpDrawer/index.js +10 -3
- package/lib/components/HelpDrawer/index.js.map +1 -1
- package/lib/components/HelpExpanderInline/index.js +8 -4
- package/lib/components/HelpExpanderInline/index.js.map +1 -1
- package/lib/components/HelpExpanderStandalone/index.js +14 -10
- package/lib/components/HelpExpanderStandalone/index.js.map +1 -1
- package/lib/components/HelpPanel/index.js +6 -2
- package/lib/components/HelpPanel/index.js.map +1 -1
- package/lib/components/HelpTeaser/index.js +6 -2
- package/lib/components/HelpTeaser/index.js.map +1 -1
- package/lib/components/HelpTooltip/index.js +6 -2
- package/lib/components/HelpTooltip/index.js.map +1 -1
- package/lib/components/HelpTriggerInline/index.js +8 -4
- package/lib/components/HelpTriggerInline/index.js.map +1 -1
- package/lib/components/Icon/index.js +1 -1
- package/lib/components/Icons/ActiveMonitoring.js +3 -2
- package/lib/components/Icons/ActiveMonitoring.js.map +1 -1
- package/lib/components/Icons/AcupunctureBack.js +4 -3
- package/lib/components/Icons/AcupunctureBack.js.map +1 -1
- package/lib/components/Icons/AdditionalIconInformation.js +2 -0
- package/lib/components/Icons/AdditionalIconInformation.js.map +1 -1
- package/lib/components/Icons/AlarmClock.js +3 -2
- package/lib/components/Icons/AlarmClock.js.map +1 -1
- package/lib/components/Icons/AlertSignFill.js +17 -2
- package/lib/components/Icons/AlertSignFill.js.map +1 -0
- package/lib/components/Icons/AlertSignStroke.js +17 -2
- package/lib/components/Icons/AlertSignStroke.js.map +1 -0
- package/lib/components/Icons/Amputation.js +3 -2
- package/lib/components/Icons/Amputation.js.map +1 -1
- package/lib/components/Icons/Anxiety.js +3 -2
- package/lib/components/Icons/Anxiety.js.map +1 -1
- package/lib/components/Icons/Apple.js +3 -2
- package/lib/components/Icons/Apple.js.map +1 -1
- package/lib/components/Icons/Archive.js +3 -2
- package/lib/components/Icons/Archive.js.map +1 -1
- package/lib/components/Icons/ArmFlexing.js +3 -2
- package/lib/components/Icons/ArmFlexing.js.map +1 -1
- package/lib/components/Icons/ArrowDown.js +29 -2
- package/lib/components/Icons/ArrowDown.js.map +1 -0
- package/lib/components/Icons/ArrowLeft.js +3 -2
- package/lib/components/Icons/ArrowLeft.js.map +1 -1
- package/lib/components/Icons/ArrowRight.js +17 -2
- package/lib/components/Icons/ArrowRight.js.map +1 -0
- package/lib/components/Icons/ArrowUp.js +29 -2
- package/lib/components/Icons/ArrowUp.js.map +1 -0
- package/lib/components/Icons/ArrowUpRight.js +17 -2
- package/lib/components/Icons/ArrowUpRight.js.map +1 -0
- package/lib/components/Icons/Attachment.js +3 -2
- package/lib/components/Icons/Attachment.js.map +1 -1
- package/lib/components/Icons/Atv.js +3 -2
- package/lib/components/Icons/Atv.js.map +1 -1
- package/lib/components/Icons/Avatar.js +3 -2
- package/lib/components/Icons/Avatar.js.map +1 -1
- package/lib/components/Icons/AwakePersonOnPillow.js +3 -2
- package/lib/components/Icons/AwakePersonOnPillow.js.map +1 -1
- package/lib/components/Icons/Baby.js +3 -2
- package/lib/components/Icons/Baby.js.map +1 -1
- package/lib/components/Icons/BandAid.js +3 -2
- package/lib/components/Icons/BandAid.js.map +1 -1
- package/lib/components/Icons/BeerAndPills.js +3 -2
- package/lib/components/Icons/BeerAndPills.js.map +1 -1
- package/lib/components/Icons/Bell.js +3 -2
- package/lib/components/Icons/Bell.js.map +1 -1
- package/lib/components/Icons/Bike.js +3 -2
- package/lib/components/Icons/Bike.js.map +1 -1
- package/lib/components/Icons/BirthControl.js +3 -2
- package/lib/components/Icons/BirthControl.js.map +1 -1
- package/lib/components/Icons/BirthdayCake.js +3 -2
- package/lib/components/Icons/BirthdayCake.js.map +1 -1
- package/lib/components/Icons/Boat.js +3 -2
- package/lib/components/Icons/Boat.js.map +1 -1
- package/lib/components/Icons/Body.js +3 -2
- package/lib/components/Icons/Body.js.map +1 -1
- package/lib/components/Icons/Braille.js +3 -2
- package/lib/components/Icons/Braille.js.map +1 -1
- package/lib/components/Icons/Brain.js +3 -2
- package/lib/components/Icons/Brain.js.map +1 -1
- package/lib/components/Icons/BreastReconstruction.js +3 -2
- package/lib/components/Icons/BreastReconstruction.js.map +1 -1
- package/lib/components/Icons/BreastRemoval.js +3 -2
- package/lib/components/Icons/BreastRemoval.js.map +1 -1
- package/lib/components/Icons/Breasts.js +3 -2
- package/lib/components/Icons/Breasts.js.map +1 -1
- package/lib/components/Icons/BrokenHeart.js +3 -2
- package/lib/components/Icons/BrokenHeart.js.map +1 -1
- package/lib/components/Icons/BrokenPuzzle.js +3 -2
- package/lib/components/Icons/BrokenPuzzle.js.map +1 -1
- package/lib/components/Icons/Bus.js +3 -2
- package/lib/components/Icons/Bus.js.map +1 -1
- package/lib/components/Icons/Calendar.js +3 -2
- package/lib/components/Icons/Calendar.js.map +1 -1
- package/lib/components/Icons/CalendarChange.js +3 -2
- package/lib/components/Icons/CalendarChange.js.map +1 -1
- package/lib/components/Icons/CalendarCheck.js +3 -2
- package/lib/components/Icons/CalendarCheck.js.map +1 -1
- package/lib/components/Icons/CalendarEvent.js +3 -2
- package/lib/components/Icons/CalendarEvent.js.map +1 -1
- package/lib/components/Icons/CalendarSave.js +3 -2
- package/lib/components/Icons/CalendarSave.js.map +1 -1
- package/lib/components/Icons/Cancer.js +3 -2
- package/lib/components/Icons/Cancer.js.map +1 -1
- package/lib/components/Icons/Candle.js +3 -2
- package/lib/components/Icons/Candle.js.map +1 -1
- package/lib/components/Icons/Car.js +3 -2
- package/lib/components/Icons/Car.js.map +1 -1
- package/lib/components/Icons/Carton.js +3 -2
- package/lib/components/Icons/Carton.js.map +1 -1
- package/lib/components/Icons/Change.js +3 -2
- package/lib/components/Icons/Change.js.map +1 -1
- package/lib/components/Icons/Check.js +17 -2
- package/lib/components/Icons/Check.js.map +1 -0
- package/lib/components/Icons/CheckFill.js +29 -2
- package/lib/components/Icons/CheckFill.js.map +1 -0
- package/lib/components/Icons/CheckOutline.js +15 -2
- package/lib/components/Icons/CheckOutline.js.map +1 -0
- package/lib/components/Icons/Chest.js +3 -2
- package/lib/components/Icons/Chest.js.map +1 -1
- package/lib/components/Icons/ChevronDown.js +17 -2
- package/lib/components/Icons/ChevronDown.js.map +1 -0
- package/lib/components/Icons/ChevronLeft.js +17 -2
- package/lib/components/Icons/ChevronLeft.js.map +1 -0
- package/lib/components/Icons/ChevronRight.js +17 -2
- package/lib/components/Icons/ChevronRight.js.map +1 -0
- package/lib/components/Icons/ChevronUp.js +17 -2
- package/lib/components/Icons/ChevronUp.js.map +1 -0
- package/lib/components/Icons/ChevronsDown.js +3 -2
- package/lib/components/Icons/ChevronsDown.js.map +1 -1
- package/lib/components/Icons/ChevronsUp.js +3 -2
- package/lib/components/Icons/ChevronsUp.js.map +1 -1
- package/lib/components/Icons/ChildPlaying.js +3 -2
- package/lib/components/Icons/ChildPlaying.js.map +1 -1
- package/lib/components/Icons/Cigarette.js +3 -2
- package/lib/components/Icons/Cigarette.js.map +1 -1
- package/lib/components/Icons/Coins.js +3 -2
- package/lib/components/Icons/Coins.js.map +1 -1
- package/lib/components/Icons/Contacts.js +3 -2
- package/lib/components/Icons/Contacts.js.map +1 -1
- package/lib/components/Icons/Copy.js +3 -2
- package/lib/components/Icons/Copy.js.map +1 -1
- package/lib/components/Icons/CoronaCertificate.js +3 -2
- package/lib/components/Icons/CoronaCertificate.js.map +1 -1
- package/lib/components/Icons/Coronavirus.js +3 -2
- package/lib/components/Icons/Coronavirus.js.map +1 -1
- package/lib/components/Icons/Cough.js +3 -2
- package/lib/components/Icons/Cough.js.map +1 -1
- package/lib/components/Icons/CreditCard.js +3 -2
- package/lib/components/Icons/CreditCard.js.map +1 -1
- package/lib/components/Icons/CriticalHealthInfo.js +3 -2
- package/lib/components/Icons/CriticalHealthInfo.js.map +1 -1
- package/lib/components/Icons/Cross.js +3 -2
- package/lib/components/Icons/Cross.js.map +1 -1
- package/lib/components/Icons/DataExchange.js +3 -2
- package/lib/components/Icons/DataExchange.js.map +1 -1
- package/lib/components/Icons/DataReceived.js +3 -2
- package/lib/components/Icons/DataReceived.js.map +1 -1
- package/lib/components/Icons/DataSent.js +3 -2
- package/lib/components/Icons/DataSent.js.map +1 -1
- package/lib/components/Icons/Depression.js +3 -2
- package/lib/components/Icons/Depression.js.map +1 -1
- package/lib/components/Icons/DigestiveSystem.js +3 -2
- package/lib/components/Icons/DigestiveSystem.js.map +1 -1
- package/lib/components/Icons/Dizzy.js +3 -2
- package/lib/components/Icons/Dizzy.js.map +1 -1
- package/lib/components/Icons/Documents.js +3 -2
- package/lib/components/Icons/Documents.js.map +1 -1
- package/lib/components/Icons/Dog.js +3 -2
- package/lib/components/Icons/Dog.js.map +1 -1
- package/lib/components/Icons/DonorCard.js +3 -2
- package/lib/components/Icons/DonorCard.js.map +1 -1
- package/lib/components/Icons/DotAttachment.js +3 -2
- package/lib/components/Icons/DotAttachment.js.map +1 -1
- package/lib/components/Icons/DotCheckmark.js +3 -2
- package/lib/components/Icons/DotCheckmark.js.map +1 -1
- package/lib/components/Icons/DotCircleArrows.js +3 -2
- package/lib/components/Icons/DotCircleArrows.js.map +1 -1
- package/lib/components/Icons/DotDot.js +3 -2
- package/lib/components/Icons/DotDot.js.map +1 -1
- package/lib/components/Icons/DotExclamationMark.js +3 -2
- package/lib/components/Icons/DotExclamationMark.js.map +1 -1
- package/lib/components/Icons/DotFill.js +3 -2
- package/lib/components/Icons/DotFill.js.map +1 -1
- package/lib/components/Icons/DotGroup.js +3 -2
- package/lib/components/Icons/DotGroup.js.map +1 -1
- package/lib/components/Icons/DotHalfDisc.js +3 -2
- package/lib/components/Icons/DotHalfDisc.js.map +1 -1
- package/lib/components/Icons/DotInfo.js +3 -2
- package/lib/components/Icons/DotInfo.js.map +1 -1
- package/lib/components/Icons/DotLogin.js +3 -2
- package/lib/components/Icons/DotLogin.js.map +1 -1
- package/lib/components/Icons/DotLookingGlass.js +3 -2
- package/lib/components/Icons/DotLookingGlass.js.map +1 -1
- package/lib/components/Icons/DotNoAccess.js +3 -2
- package/lib/components/Icons/DotNoAccess.js.map +1 -1
- package/lib/components/Icons/DotNoEye.js +3 -2
- package/lib/components/Icons/DotNoEye.js.map +1 -1
- package/lib/components/Icons/DotOutline.js +3 -2
- package/lib/components/Icons/DotOutline.js.map +1 -1
- package/lib/components/Icons/DotPencil.js +3 -2
- package/lib/components/Icons/DotPencil.js.map +1 -1
- package/lib/components/Icons/DotQuestionMark.js +3 -2
- package/lib/components/Icons/DotQuestionMark.js.map +1 -1
- package/lib/components/Icons/DotTriangle.js +3 -2
- package/lib/components/Icons/DotTriangle.js.map +1 -1
- package/lib/components/Icons/DotX.js +3 -2
- package/lib/components/Icons/DotX.js.map +1 -1
- package/lib/components/Icons/Download.js +3 -2
- package/lib/components/Icons/Download.js.map +1 -1
- package/lib/components/Icons/Draft.js +3 -2
- package/lib/components/Icons/Draft.js.map +1 -1
- package/lib/components/Icons/Drag.js +3 -2
- package/lib/components/Icons/Drag.js.map +1 -1
- package/lib/components/Icons/EChat.js +3 -2
- package/lib/components/Icons/EChat.js.map +1 -1
- package/lib/components/Icons/Ear.js +3 -2
- package/lib/components/Icons/Ear.js.map +1 -1
- package/lib/components/Icons/EarDeaf.js +3 -2
- package/lib/components/Icons/EarDeaf.js.map +1 -1
- package/lib/components/Icons/EarHearingAid.js +3 -2
- package/lib/components/Icons/EarHearingAid.js.map +1 -1
- package/lib/components/Icons/EarNoseThroat.js +3 -2
- package/lib/components/Icons/EarNoseThroat.js.map +1 -1
- package/lib/components/Icons/EarVolume.js +3 -2
- package/lib/components/Icons/EarVolume.js.map +1 -1
- package/lib/components/Icons/Edit.js +3 -2
- package/lib/components/Icons/Edit.js.map +1 -1
- package/lib/components/Icons/ElderlyPerson.js +3 -2
- package/lib/components/Icons/ElderlyPerson.js.map +1 -1
- package/lib/components/Icons/Embolization.js +3 -2
- package/lib/components/Icons/Embolization.js.map +1 -1
- package/lib/components/Icons/EmergencyCall.js +3 -2
- package/lib/components/Icons/EmergencyCall.js.map +1 -1
- package/lib/components/Icons/EmoticonAnnoyed.js +3 -2
- package/lib/components/Icons/EmoticonAnnoyed.js.map +1 -1
- package/lib/components/Icons/EmoticonDelighted.js +3 -2
- package/lib/components/Icons/EmoticonDelighted.js.map +1 -1
- package/lib/components/Icons/EmoticonDisappointed.js +3 -2
- package/lib/components/Icons/EmoticonDisappointed.js.map +1 -1
- package/lib/components/Icons/EmoticonHappy.js +3 -2
- package/lib/components/Icons/EmoticonHappy.js.map +1 -1
- package/lib/components/Icons/EmoticonMeh.js +3 -2
- package/lib/components/Icons/EmoticonMeh.js.map +1 -1
- package/lib/components/Icons/EmptyBox.js +17 -2
- package/lib/components/Icons/EmptyBox.js.map +1 -0
- package/lib/components/Icons/EnterFullScreen.js +3 -2
- package/lib/components/Icons/EnterFullScreen.js.map +1 -1
- package/lib/components/Icons/Envelope.js +3 -2
- package/lib/components/Icons/Envelope.js.map +1 -1
- package/lib/components/Icons/Epilepsy.js +3 -2
- package/lib/components/Icons/Epilepsy.js.map +1 -1
- package/lib/components/Icons/Eraser.js +3 -2
- package/lib/components/Icons/Eraser.js.map +1 -1
- package/lib/components/Icons/ErrorSignFill.js +17 -2
- package/lib/components/Icons/ErrorSignFill.js.map +1 -0
- package/lib/components/Icons/ErrorSignStroke.js +3 -2
- package/lib/components/Icons/ErrorSignStroke.js.map +1 -1
- package/lib/components/Icons/EuropeanHealthCard.js +3 -2
- package/lib/components/Icons/EuropeanHealthCard.js.map +1 -1
- package/lib/components/Icons/ExitFullScreen.js +3 -2
- package/lib/components/Icons/ExitFullScreen.js.map +1 -1
- package/lib/components/Icons/Eye.js +3 -2
- package/lib/components/Icons/Eye.js.map +1 -1
- package/lib/components/Icons/Facebook.js +3 -2
- package/lib/components/Icons/Facebook.js.map +1 -1
- package/lib/components/Icons/FallingLeaf.js +3 -2
- package/lib/components/Icons/FallingLeaf.js.map +1 -1
- package/lib/components/Icons/Feedback.js +3 -2
- package/lib/components/Icons/Feedback.js.map +1 -1
- package/lib/components/Icons/Female.js +3 -2
- package/lib/components/Icons/Female.js.map +1 -1
- package/lib/components/Icons/FemaleDoctor.js +3 -2
- package/lib/components/Icons/FemaleDoctor.js.map +1 -1
- package/lib/components/Icons/Ferry.js +3 -2
- package/lib/components/Icons/Ferry.js.map +1 -1
- package/lib/components/Icons/File.js +3 -2
- package/lib/components/Icons/File.js.map +1 -1
- package/lib/components/Icons/Filter.js +45 -2
- package/lib/components/Icons/Filter.js.map +1 -0
- package/lib/components/Icons/FingerBleed.js +3 -2
- package/lib/components/Icons/FingerBleed.js.map +1 -1
- package/lib/components/Icons/FirstAidKit.js +3 -2
- package/lib/components/Icons/FirstAidKit.js.map +1 -1
- package/lib/components/Icons/Fish.js +3 -2
- package/lib/components/Icons/Fish.js.map +1 -1
- package/lib/components/Icons/FloppyDisk.js +3 -2
- package/lib/components/Icons/FloppyDisk.js.map +1 -1
- package/lib/components/Icons/Football.js +3 -2
- package/lib/components/Icons/Football.js.map +1 -1
- package/lib/components/Icons/Form.js +3 -2
- package/lib/components/Icons/Form.js.map +1 -1
- package/lib/components/Icons/Forward.js +17 -2
- package/lib/components/Icons/Forward.js.map +1 -0
- package/lib/components/Icons/Gallery.js +3 -2
- package/lib/components/Icons/Gallery.js.map +1 -1
- package/lib/components/Icons/Garden.js +3 -2
- package/lib/components/Icons/Garden.js.map +1 -1
- package/lib/components/Icons/GasCan.js +3 -2
- package/lib/components/Icons/GasCan.js.map +1 -1
- package/lib/components/Icons/GenderIdentity.js +3 -2
- package/lib/components/Icons/GenderIdentity.js.map +1 -1
- package/lib/components/Icons/GlassWater.js +3 -2
- package/lib/components/Icons/GlassWater.js.map +1 -1
- package/lib/components/Icons/Glasses.js +3 -2
- package/lib/components/Icons/Glasses.js.map +1 -1
- package/lib/components/Icons/Globe.js +3 -2
- package/lib/components/Icons/Globe.js.map +1 -1
- package/lib/components/Icons/Grain.js +3 -2
- package/lib/components/Icons/Grain.js.map +1 -1
- package/lib/components/Icons/Graph.js +3 -2
- package/lib/components/Icons/Graph.js.map +1 -1
- package/lib/components/Icons/Group.js +3 -2
- package/lib/components/Icons/Group.js.map +1 -1
- package/lib/components/Icons/GroupTwins.js +3 -2
- package/lib/components/Icons/GroupTwins.js.map +1 -1
- package/lib/components/Icons/HTMLFile.js +3 -2
- package/lib/components/Icons/HTMLFile.js.map +1 -1
- package/lib/components/Icons/HandWaving.js +9 -2
- package/lib/components/Icons/HandWaving.js.map +1 -0
- package/lib/components/Icons/HandWithDisease.js +3 -2
- package/lib/components/Icons/HandWithDisease.js.map +1 -1
- package/lib/components/Icons/HandsAndHeart.js +3 -2
- package/lib/components/Icons/HandsAndHeart.js.map +1 -1
- package/lib/components/Icons/HealthClinic.js +3 -2
- package/lib/components/Icons/HealthClinic.js.map +1 -1
- package/lib/components/Icons/HealthMeasurements.js +3 -2
- package/lib/components/Icons/HealthMeasurements.js.map +1 -1
- package/lib/components/Icons/HealthWarning.js +3 -2
- package/lib/components/Icons/HealthWarning.js.map +1 -1
- package/lib/components/Icons/HealthcarePerson.js +3 -2
- package/lib/components/Icons/HealthcarePerson.js.map +1 -1
- package/lib/components/Icons/HealthcarePersonell.js +3 -2
- package/lib/components/Icons/HealthcarePersonell.js.map +1 -1
- package/lib/components/Icons/HearingProtection.js +3 -2
- package/lib/components/Icons/HearingProtection.js.map +1 -1
- package/lib/components/Icons/Heart.js +3 -2
- package/lib/components/Icons/Heart.js.map +1 -1
- package/lib/components/Icons/HeartHands.js +3 -2
- package/lib/components/Icons/HeartHands.js.map +1 -1
- package/lib/components/Icons/HelpSign.js +3 -2
- package/lib/components/Icons/HelpSign.js.map +1 -1
- package/lib/components/Icons/HelpingHand.js +3 -2
- package/lib/components/Icons/HelpingHand.js.map +1 -1
- package/lib/components/Icons/Hemodialysis.js +3 -2
- package/lib/components/Icons/Hemodialysis.js.map +1 -1
- package/lib/components/Icons/Hiker.js +3 -2
- package/lib/components/Icons/Hiker.js.map +1 -1
- package/lib/components/Icons/Hipprosthesis.js +3 -2
- package/lib/components/Icons/Hipprosthesis.js.map +1 -1
- package/lib/components/Icons/History.js +3 -2
- package/lib/components/Icons/History.js.map +1 -1
- package/lib/components/Icons/HivAndAids.js +3 -2
- package/lib/components/Icons/HivAndAids.js.map +1 -1
- package/lib/components/Icons/Home.js +3 -2
- package/lib/components/Icons/Home.js.map +1 -1
- package/lib/components/Icons/HomeFill.js +3 -2
- package/lib/components/Icons/HomeFill.js.map +1 -1
- package/lib/components/Icons/Hormone.js +3 -2
- package/lib/components/Icons/Hormone.js.map +1 -1
- package/lib/components/Icons/Hospital.js +3 -2
- package/lib/components/Icons/Hospital.js.map +1 -1
- package/lib/components/Icons/Hourglass.js +3 -2
- package/lib/components/Icons/Hourglass.js.map +1 -1
- package/lib/components/Icons/IconNames.js +4 -1
- package/lib/components/Icons/IconNames.js.map +1 -1
- package/lib/components/Icons/ImgFile.js +3 -2
- package/lib/components/Icons/ImgFile.js.map +1 -1
- package/lib/components/Icons/Inbox.js +3 -2
- package/lib/components/Icons/Inbox.js.map +1 -1
- package/lib/components/Icons/InfoSignFill.js +17 -2
- package/lib/components/Icons/InfoSignFill.js.map +1 -0
- package/lib/components/Icons/InfoSignStroke.js +3 -2
- package/lib/components/Icons/InfoSignStroke.js.map +1 -1
- package/lib/components/Icons/Instagram.js +3 -2
- package/lib/components/Icons/Instagram.js.map +1 -1
- package/lib/components/Icons/Intravenous.js +3 -2
- package/lib/components/Icons/Intravenous.js.map +1 -1
- package/lib/components/Icons/JointPain.js +3 -2
- package/lib/components/Icons/JointPain.js.map +1 -1
- package/lib/components/Icons/Journal.js +3 -2
- package/lib/components/Icons/Journal.js.map +1 -1
- package/lib/components/Icons/JpgFile.js +3 -2
- package/lib/components/Icons/JpgFile.js.map +1 -1
- package/lib/components/Icons/Kidney.js +3 -2
- package/lib/components/Icons/Kidney.js.map +1 -1
- package/lib/components/Icons/KitchenScale.js +3 -2
- package/lib/components/Icons/KitchenScale.js.map +1 -1
- package/lib/components/Icons/Kjernejournal.js +3 -2
- package/lib/components/Icons/Kjernejournal.js.map +1 -1
- package/lib/components/Icons/Laboratory.js +3 -2
- package/lib/components/Icons/Laboratory.js.map +1 -1
- package/lib/components/Icons/LaptopBlog.js +3 -2
- package/lib/components/Icons/LaptopBlog.js.map +1 -1
- package/lib/components/Icons/LawBook.js +3 -2
- package/lib/components/Icons/LawBook.js.map +1 -1
- package/lib/components/Icons/LegalDocument.js +3 -2
- package/lib/components/Icons/LegalDocument.js.map +1 -1
- package/lib/components/Icons/LightBulb.js +3 -2
- package/lib/components/Icons/LightBulb.js.map +1 -1
- package/lib/components/Icons/List.js +3 -2
- package/lib/components/Icons/List.js.map +1 -1
- package/lib/components/Icons/Location.js +3 -2
- package/lib/components/Icons/Location.js.map +1 -1
- package/lib/components/Icons/LocationFill.js +3 -2
- package/lib/components/Icons/LocationFill.js.map +1 -1
- package/lib/components/Icons/Lock.js +3 -2
- package/lib/components/Icons/Lock.js.map +1 -1
- package/lib/components/Icons/Login.js +3 -2
- package/lib/components/Icons/Login.js.map +1 -1
- package/lib/components/Icons/Logout.js +3 -2
- package/lib/components/Icons/Logout.js.map +1 -1
- package/lib/components/Icons/Lungs.js +3 -2
- package/lib/components/Icons/Lungs.js.map +1 -1
- package/lib/components/Icons/Makeup.js +3 -2
- package/lib/components/Icons/Makeup.js.map +1 -1
- package/lib/components/Icons/MaleDoctor.js +3 -2
- package/lib/components/Icons/MaleDoctor.js.map +1 -1
- package/lib/components/Icons/MaleDoctorAndPerson.js +3 -2
- package/lib/components/Icons/MaleDoctorAndPerson.js.map +1 -1
- package/lib/components/Icons/MaleDoctorCompact.js +3 -2
- package/lib/components/Icons/MaleDoctorCompact.js.map +1 -1
- package/lib/components/Icons/MaleDoctorCompactFill.js +3 -2
- package/lib/components/Icons/MaleDoctorCompactFill.js.map +1 -1
- package/lib/components/Icons/MaleGenitalia.js +3 -2
- package/lib/components/Icons/MaleGenitalia.js.map +1 -1
- package/lib/components/Icons/MeasuringTape.js +3 -2
- package/lib/components/Icons/MeasuringTape.js.map +1 -1
- package/lib/components/Icons/Medicine.js +3 -2
- package/lib/components/Icons/Medicine.js.map +1 -1
- package/lib/components/Icons/MedicineWarning.js +3 -2
- package/lib/components/Icons/MedicineWarning.js.map +1 -1
- package/lib/components/Icons/MentalHealthAdult.js +3 -2
- package/lib/components/Icons/MentalHealthAdult.js.map +1 -1
- package/lib/components/Icons/MentalHealthChild.js +3 -2
- package/lib/components/Icons/MentalHealthChild.js.map +1 -1
- package/lib/components/Icons/Menu.js +3 -2
- package/lib/components/Icons/Menu.js.map +1 -1
- package/lib/components/Icons/Microscope.js +3 -2
- package/lib/components/Icons/Microscope.js.map +1 -1
- package/lib/components/Icons/Minus.js +3 -2
- package/lib/components/Icons/Minus.js.map +1 -1
- package/lib/components/Icons/Mirror.js +3 -2
- package/lib/components/Icons/Mirror.js.map +1 -1
- package/lib/components/Icons/MobilePhone.js +3 -2
- package/lib/components/Icons/MobilePhone.js.map +1 -1
- package/lib/components/Icons/MotherHoldingBaby.js +3 -2
- package/lib/components/Icons/MotherHoldingBaby.js.map +1 -1
- package/lib/components/Icons/MuscleBack.js +3 -2
- package/lib/components/Icons/MuscleBack.js.map +1 -1
- package/lib/components/Icons/MuscleLeg.js +3 -2
- package/lib/components/Icons/MuscleLeg.js.map +1 -1
- package/lib/components/Icons/Mushroom.js +3 -2
- package/lib/components/Icons/Mushroom.js.map +1 -1
- package/lib/components/Icons/Music.js +3 -2
- package/lib/components/Icons/Music.js.map +1 -1
- package/lib/components/Icons/MusselsAndSalt.js +3 -2
- package/lib/components/Icons/MusselsAndSalt.js.map +1 -1
- package/lib/components/Icons/NoAccess.js +3 -2
- package/lib/components/Icons/NoAccess.js.map +1 -1
- package/lib/components/Icons/NoEye.js +3 -2
- package/lib/components/Icons/NoEye.js.map +1 -1
- package/lib/components/Icons/NoFilter.js +3 -2
- package/lib/components/Icons/NoFilter.js.map +1 -1
- package/lib/components/Icons/Notepad.js +3 -2
- package/lib/components/Icons/Notepad.js.map +1 -1
- package/lib/components/Icons/Osteotomy.js +3 -2
- package/lib/components/Icons/Osteotomy.js.map +1 -1
- package/lib/components/Icons/PaintRoller.js +3 -2
- package/lib/components/Icons/PaintRoller.js.map +1 -1
- package/lib/components/Icons/PaperPlane.js +3 -2
- package/lib/components/Icons/PaperPlane.js.map +1 -1
- package/lib/components/Icons/PatientAndPerson.js +3 -2
- package/lib/components/Icons/PatientAndPerson.js.map +1 -1
- package/lib/components/Icons/Pause.js +3 -2
- package/lib/components/Icons/Pause.js.map +1 -1
- package/lib/components/Icons/PdfFile.js +3 -2
- package/lib/components/Icons/PdfFile.js.map +1 -1
- package/lib/components/Icons/Pencil.js +3 -2
- package/lib/components/Icons/Pencil.js.map +1 -1
- package/lib/components/Icons/PeopleTalking.js +3 -2
- package/lib/components/Icons/PeopleTalking.js.map +1 -1
- package/lib/components/Icons/Peritonealdialysis.js +3 -2
- package/lib/components/Icons/Peritonealdialysis.js.map +1 -1
- package/lib/components/Icons/Person.js +3 -2
- package/lib/components/Icons/Person.js.map +1 -1
- package/lib/components/Icons/PersonAndPatient.js +3 -2
- package/lib/components/Icons/PersonAndPatient.js.map +1 -1
- package/lib/components/Icons/PersonCancel.js +3 -2
- package/lib/components/Icons/PersonCancel.js.map +1 -1
- package/lib/components/Icons/PersonInXRayMachine.js +3 -2
- package/lib/components/Icons/PersonInXRayMachine.js.map +1 -1
- package/lib/components/Icons/PersonOverweight.js +3 -2
- package/lib/components/Icons/PersonOverweight.js.map +1 -1
- package/lib/components/Icons/PersonRelaxing.js +3 -2
- package/lib/components/Icons/PersonRelaxing.js.map +1 -1
- package/lib/components/Icons/PersonWithBrain.js +3 -2
- package/lib/components/Icons/PersonWithBrain.js.map +1 -1
- package/lib/components/Icons/PersonWithBrokenArm.js +3 -2
- package/lib/components/Icons/PersonWithBrokenArm.js.map +1 -1
- package/lib/components/Icons/PersonWithCrutches.js +3 -2
- package/lib/components/Icons/PersonWithCrutches.js.map +1 -1
- package/lib/components/Icons/PersonWithJaw.js +3 -2
- package/lib/components/Icons/PersonWithJaw.js.map +1 -1
- package/lib/components/Icons/PersonWithMagnifyingGlass.js +3 -2
- package/lib/components/Icons/PersonWithMagnifyingGlass.js.map +1 -1
- package/lib/components/Icons/PersonWithSenses.js +3 -2
- package/lib/components/Icons/PersonWithSenses.js.map +1 -1
- package/lib/components/Icons/PersonWorking.js +3 -2
- package/lib/components/Icons/PersonWorking.js.map +1 -1
- package/lib/components/Icons/PersonalPlan.js +3 -2
- package/lib/components/Icons/PersonalPlan.js.map +1 -1
- package/lib/components/Icons/PizzaSlice.js +3 -2
- package/lib/components/Icons/PizzaSlice.js.map +1 -1
- package/lib/components/Icons/Plane.js +3 -2
- package/lib/components/Icons/Plane.js.map +1 -1
- package/lib/components/Icons/Plant.js +3 -2
- package/lib/components/Icons/Plant.js.map +1 -1
- package/lib/components/Icons/PlateKnifeFork.js +3 -2
- package/lib/components/Icons/PlateKnifeFork.js.map +1 -1
- package/lib/components/Icons/Play.js +3 -2
- package/lib/components/Icons/Play.js.map +1 -1
- package/lib/components/Icons/PlusLarge.js +3 -2
- package/lib/components/Icons/PlusLarge.js.map +1 -1
- package/lib/components/Icons/PlusSmall.js +17 -2
- package/lib/components/Icons/PlusSmall.js.map +1 -0
- package/lib/components/Icons/PngFile.js +3 -2
- package/lib/components/Icons/PngFile.js.map +1 -1
- package/lib/components/Icons/Podcast.js +3 -2
- package/lib/components/Icons/Podcast.js.map +1 -1
- package/lib/components/Icons/PoisonInformation.js +3 -2
- package/lib/components/Icons/PoisonInformation.js.map +1 -1
- package/lib/components/Icons/Pregnant.js +3 -2
- package/lib/components/Icons/Pregnant.js.map +1 -1
- package/lib/components/Icons/Printer.js +3 -2
- package/lib/components/Icons/Printer.js.map +1 -1
- package/lib/components/Icons/Psychosis.js +3 -2
- package/lib/components/Icons/Psychosis.js.map +1 -1
- package/lib/components/Icons/Publication.js +3 -2
- package/lib/components/Icons/Publication.js.map +1 -1
- package/lib/components/Icons/Puzzle.js +3 -2
- package/lib/components/Icons/Puzzle.js.map +1 -1
- package/lib/components/Icons/QrCode.js +3 -2
- package/lib/components/Icons/QrCode.js.map +1 -1
- package/lib/components/Icons/Quarrel.js +3 -2
- package/lib/components/Icons/Quarrel.js.map +1 -1
- package/lib/components/Icons/RadioTherapy.js +3 -2
- package/lib/components/Icons/RadioTherapy.js.map +1 -1
- package/lib/components/Icons/RadioactiveTreatment.js +3 -2
- package/lib/components/Icons/RadioactiveTreatment.js.map +1 -1
- package/lib/components/Icons/Radioiodine.js +3 -2
- package/lib/components/Icons/Radioiodine.js.map +1 -1
- package/lib/components/Icons/Receipt.js +3 -2
- package/lib/components/Icons/Receipt.js.map +1 -1
- package/lib/components/Icons/Receptionist.js +3 -2
- package/lib/components/Icons/Receptionist.js.map +1 -1
- package/lib/components/Icons/Recovery.js +3 -2
- package/lib/components/Icons/Recovery.js.map +1 -1
- package/lib/components/Icons/Referral.js +3 -2
- package/lib/components/Icons/Referral.js.map +1 -1
- package/lib/components/Icons/Refresh.js +3 -2
- package/lib/components/Icons/Refresh.js.map +1 -1
- package/lib/components/Icons/Refund.js +3 -2
- package/lib/components/Icons/Refund.js.map +1 -1
- package/lib/components/Icons/Reminder.js +3 -2
- package/lib/components/Icons/Reminder.js.map +1 -1
- package/lib/components/Icons/Reply.js +3 -2
- package/lib/components/Icons/Reply.js.map +1 -1
- package/lib/components/Icons/Rocket.js +3 -2
- package/lib/components/Icons/Rocket.js.map +1 -1
- package/lib/components/Icons/RtfFile.js +3 -2
- package/lib/components/Icons/RtfFile.js.map +1 -1
- package/lib/components/Icons/STDs.js +3 -2
- package/lib/components/Icons/STDs.js.map +1 -1
- package/lib/components/Icons/Save.js +3 -2
- package/lib/components/Icons/Save.js.map +1 -1
- package/lib/components/Icons/Scale.js +3 -2
- package/lib/components/Icons/Scale.js.map +1 -1
- package/lib/components/Icons/ScreenReader.js +3 -2
- package/lib/components/Icons/ScreenReader.js.map +1 -1
- package/lib/components/Icons/Search.js +27 -2
- package/lib/components/Icons/Search.js.map +1 -0
- package/lib/components/Icons/SectionSign.js +3 -2
- package/lib/components/Icons/SectionSign.js.map +1 -1
- package/lib/components/Icons/Settings.js +3 -2
- package/lib/components/Icons/Settings.js.map +1 -1
- package/lib/components/Icons/SettingsFill.js +3 -2
- package/lib/components/Icons/SettingsFill.js.map +1 -1
- package/lib/components/Icons/Sexualorientation.js +3 -2
- package/lib/components/Icons/Sexualorientation.js.map +1 -1
- package/lib/components/Icons/ShakingHand.js +3 -2
- package/lib/components/Icons/ShakingHand.js.map +1 -1
- package/lib/components/Icons/Share.js +3 -2
- package/lib/components/Icons/Share.js.map +1 -1
- package/lib/components/Icons/SharedHealthData.js +3 -2
- package/lib/components/Icons/SharedHealthData.js.map +1 -1
- package/lib/components/Icons/SharedHealthMeasurements.js +3 -2
- package/lib/components/Icons/SharedHealthMeasurements.js.map +1 -1
- package/lib/components/Icons/Shield.js +3 -2
- package/lib/components/Icons/Shield.js.map +1 -1
- package/lib/components/Icons/ShuntOperation.js +3 -2
- package/lib/components/Icons/ShuntOperation.js.map +1 -1
- package/lib/components/Icons/Skeleton.js +3 -2
- package/lib/components/Icons/Skeleton.js.map +1 -1
- package/lib/components/Icons/Skin.js +3 -2
- package/lib/components/Icons/Skin.js.map +1 -1
- package/lib/components/Icons/Snake.js +3 -2
- package/lib/components/Icons/Snake.js.map +1 -1
- package/lib/components/Icons/Snapchat.js +3 -2
- package/lib/components/Icons/Snapchat.js.map +1 -1
- package/lib/components/Icons/Sort.js +3 -2
- package/lib/components/Icons/Sort.js.map +1 -1
- package/lib/components/Icons/SortDown.js +3 -2
- package/lib/components/Icons/SortDown.js.map +1 -1
- package/lib/components/Icons/SortUp.js +3 -2
- package/lib/components/Icons/SortUp.js.map +1 -1
- package/lib/components/Icons/SpeechBubble.js +3 -2
- package/lib/components/Icons/SpeechBubble.js.map +1 -1
- package/lib/components/Icons/Spray.js +3 -2
- package/lib/components/Icons/Spray.js.map +1 -1
- package/lib/components/Icons/StarFill.js +3 -2
- package/lib/components/Icons/StarFill.js.map +1 -1
- package/lib/components/Icons/StarStroke.js +3 -2
- package/lib/components/Icons/StarStroke.js.map +1 -1
- package/lib/components/Icons/StickyNote.js +3 -2
- package/lib/components/Icons/StickyNote.js.map +1 -1
- package/lib/components/Icons/StickyNotes.js +3 -2
- package/lib/components/Icons/StickyNotes.js.map +1 -1
- package/lib/components/Icons/Stopwatch.js +3 -2
- package/lib/components/Icons/Stopwatch.js.map +1 -1
- package/lib/components/Icons/Sun.js +3 -2
- package/lib/components/Icons/Sun.js.map +1 -1
- package/lib/components/Icons/SupportingPerson.js +3 -2
- package/lib/components/Icons/SupportingPerson.js.map +1 -1
- package/lib/components/Icons/Surgery.js +3 -2
- package/lib/components/Icons/Surgery.js.map +1 -1
- package/lib/components/Icons/Sweets.js +3 -2
- package/lib/components/Icons/Sweets.js.map +1 -1
- package/lib/components/Icons/Syringe.js +4 -3
- package/lib/components/Icons/Syringe.js.map +1 -1
- package/lib/components/Icons/Taxi.js +3 -2
- package/lib/components/Icons/Taxi.js.map +1 -1
- package/lib/components/Icons/TeddyBear.js +3 -2
- package/lib/components/Icons/TeddyBear.js.map +1 -1
- package/lib/components/Icons/Teenagers.js +3 -2
- package/lib/components/Icons/Teenagers.js.map +1 -1
- package/lib/components/Icons/ThinkingAboutBaby.js +3 -2
- package/lib/components/Icons/ThinkingAboutBaby.js.map +1 -1
- package/lib/components/Icons/Ticket.js +3 -2
- package/lib/components/Icons/Ticket.js.map +1 -1
- package/lib/components/Icons/TimePassing.js +3 -2
- package/lib/components/Icons/TimePassing.js.map +1 -1
- package/lib/components/Icons/Toddler.js +3 -2
- package/lib/components/Icons/Toddler.js.map +1 -1
- package/lib/components/Icons/Tombstone.js +3 -2
- package/lib/components/Icons/Tombstone.js.map +1 -1
- package/lib/components/Icons/Toolbox.js +3 -2
- package/lib/components/Icons/Toolbox.js.map +1 -1
- package/lib/components/Icons/Tooth.js +3 -2
- package/lib/components/Icons/Tooth.js.map +1 -1
- package/lib/components/Icons/TotalKneeProsthesis.js +3 -2
- package/lib/components/Icons/TotalKneeProsthesis.js.map +1 -1
- package/lib/components/Icons/Train.js +3 -2
- package/lib/components/Icons/Train.js.map +1 -1
- package/lib/components/Icons/Transplantation.js +3 -2
- package/lib/components/Icons/Transplantation.js.map +1 -1
- package/lib/components/Icons/TrashCan.js +3 -2
- package/lib/components/Icons/TrashCan.js.map +1 -1
- package/lib/components/Icons/TravelRoute.js +3 -2
- package/lib/components/Icons/TravelRoute.js.map +1 -1
- package/lib/components/Icons/TreatmentAids.js +3 -2
- package/lib/components/Icons/TreatmentAids.js.map +1 -1
- package/lib/components/Icons/TriangleX.js +33 -2
- package/lib/components/Icons/TriangleX.js.map +1 -0
- package/lib/components/Icons/Twitter.js +3 -2
- package/lib/components/Icons/Twitter.js.map +1 -1
- package/lib/components/Icons/Undo.js +3 -2
- package/lib/components/Icons/Undo.js.map +1 -1
- package/lib/components/Icons/UniProsthesis.js +3 -2
- package/lib/components/Icons/UniProsthesis.js.map +1 -1
- package/lib/components/Icons/Upload.js +3 -2
- package/lib/components/Icons/Upload.js.map +1 -1
- package/lib/components/Icons/UserOrganization.js +3 -2
- package/lib/components/Icons/UserOrganization.js.map +1 -1
- package/lib/components/Icons/Vaccine.js +3 -2
- package/lib/components/Icons/Vaccine.js.map +1 -1
- package/lib/components/Icons/VerticalDots.js +17 -2
- package/lib/components/Icons/VerticalDots.js.map +1 -0
- package/lib/components/Icons/VideoCamera.js +3 -2
- package/lib/components/Icons/VideoCamera.js.map +1 -1
- package/lib/components/Icons/VideoChat.js +3 -2
- package/lib/components/Icons/VideoChat.js.map +1 -1
- package/lib/components/Icons/Wallet.js +3 -2
- package/lib/components/Icons/Wallet.js.map +1 -1
- package/lib/components/Icons/Watch.js +3 -2
- package/lib/components/Icons/Watch.js.map +1 -1
- package/lib/components/Icons/Website.js +3 -2
- package/lib/components/Icons/Website.js.map +1 -1
- package/lib/components/Icons/Wheelchair.js +3 -2
- package/lib/components/Icons/Wheelchair.js.map +1 -1
- package/lib/components/Icons/WheelchairActive.js +3 -2
- package/lib/components/Icons/WheelchairActive.js.map +1 -1
- package/lib/components/Icons/Window.js +3 -2
- package/lib/components/Icons/Window.js.map +1 -1
- package/lib/components/Icons/WordDocument.js +3 -2
- package/lib/components/Icons/WordDocument.js.map +1 -1
- package/lib/components/Icons/WorkSuitcase.js +3 -2
- package/lib/components/Icons/WorkSuitcase.js.map +1 -1
- package/lib/components/Icons/X.js +19 -2
- package/lib/components/Icons/X.js.map +1 -0
- package/lib/components/Icons/XOutline.js +3 -2
- package/lib/components/Icons/XOutline.js.map +1 -1
- package/lib/components/Icons/XmlFile.js +3 -2
- package/lib/components/Icons/XmlFile.js.map +1 -1
- package/lib/components/Icons/YouTube.js +3 -2
- package/lib/components/Icons/YouTube.js.map +1 -1
- package/lib/components/Icons/Zoom.js +3 -2
- package/lib/components/Icons/Zoom.js.map +1 -1
- package/lib/components/Icons/ZoomInLeft.js +3 -2
- package/lib/components/Icons/ZoomInLeft.js.map +1 -1
- package/lib/components/Icons/ZoomOutLeft.js +3 -2
- package/lib/components/Icons/ZoomOutLeft.js.map +1 -1
- package/lib/components/Illustrations/BabyMobile.js +5 -4
- package/lib/components/Illustrations/BabyMobile.js.map +1 -1
- package/lib/components/Illustrations/BabyMobileMedium.js +264 -2
- package/lib/components/Illustrations/BabyMobileMedium.js.map +1 -0
- package/lib/components/Illustrations/Child.js +5 -4
- package/lib/components/Illustrations/Child.js.map +1 -1
- package/lib/components/Illustrations/ChildMedium.js +127 -2
- package/lib/components/Illustrations/ChildMedium.js.map +1 -0
- package/lib/components/Illustrations/Doctor.js +7 -6
- package/lib/components/Illustrations/Doctor.js.map +1 -1
- package/lib/components/Illustrations/DoctorMedium.js +55 -2
- package/lib/components/Illustrations/DoctorMedium.js.map +1 -0
- package/lib/components/Illustrations/DoctorSmall.js +53 -2
- package/lib/components/Illustrations/DoctorSmall.js.map +1 -0
- package/lib/components/Illustrations/FacialRecognitionFingerprint.js +5 -4
- package/lib/components/Illustrations/FacialRecognitionFingerprint.js.map +1 -1
- package/lib/components/Illustrations/FacialRecognitionFingerprintMedium.js +200 -2
- package/lib/components/Illustrations/FacialRecognitionFingerprintMedium.js.map +1 -0
- package/lib/components/Illustrations/GiveBabyFood.js +5 -4
- package/lib/components/Illustrations/GiveBabyFood.js.map +1 -1
- package/lib/components/Illustrations/GiveBabyFoodMedium.js +241 -2
- package/lib/components/Illustrations/GiveBabyFoodMedium.js.map +1 -0
- package/lib/components/Illustrations/HealthcarePersonnel.js +7 -6
- package/lib/components/Illustrations/HealthcarePersonnel.js.map +1 -1
- package/lib/components/Illustrations/HealthcarePersonnelMedium.js +149 -2
- package/lib/components/Illustrations/HealthcarePersonnelMedium.js.map +1 -0
- package/lib/components/Illustrations/HealthcarePersonnelSmall.js +150 -2
- package/lib/components/Illustrations/HealthcarePersonnelSmall.js.map +1 -0
- package/lib/components/Illustrations/IllustrationNames.js +37 -1
- package/lib/components/Illustrations/IllustrationNames.js.map +1 -0
- package/lib/components/Illustrations/ReadLetters.js +5 -4
- package/lib/components/Illustrations/ReadLetters.js.map +1 -1
- package/lib/components/Illustrations/ReadLettersMedium.js +79 -2
- package/lib/components/Illustrations/ReadLettersMedium.js.map +1 -0
- package/lib/components/Illustrations/Stork.js +5 -4
- package/lib/components/Illustrations/Stork.js.map +1 -1
- package/lib/components/Illustrations/StorkMedium.js +97 -2
- package/lib/components/Illustrations/StorkMedium.js.map +1 -0
- package/lib/components/Illustrations/Stroller.js +5 -4
- package/lib/components/Illustrations/Stroller.js.map +1 -1
- package/lib/components/Illustrations/StrollerMedium.js +220 -2
- package/lib/components/Illustrations/StrollerMedium.js.map +1 -0
- package/lib/components/Illustrations/Support2.js +5 -4
- package/lib/components/Illustrations/Support2.js.map +1 -1
- package/lib/components/Illustrations/Support2Medium.js +159 -2
- package/lib/components/Illustrations/Support2Medium.js.map +1 -0
- package/lib/components/Illustrations/Thinking.js +5 -4
- package/lib/components/Illustrations/Thinking.js.map +1 -1
- package/lib/components/Illustrations/ThinkingMedium.js +99 -2
- package/lib/components/Illustrations/ThinkingMedium.js.map +1 -0
- package/lib/components/Input/index.js +6 -2
- package/lib/components/Input/index.js.map +1 -0
- package/lib/components/Label/index.js +6 -2
- package/lib/components/Label/index.js.map +1 -0
- package/lib/components/Loader/index.js +11 -5
- package/lib/components/Loader/index.js.map +1 -1
- package/lib/components/Logo/index.js +6 -2
- package/lib/components/Logo/index.js.map +1 -1
- package/lib/components/Modal/index.js +34 -28
- package/lib/components/Modal/index.js.map +1 -1
- package/lib/components/NotificationPanel/index.js +10 -6
- package/lib/components/NotificationPanel/index.js.map +1 -1
- package/lib/components/Panel/index.js +22 -15
- package/lib/components/Panel/index.js.map +1 -1
- package/lib/components/PanelList/index.js +5 -1
- package/lib/components/PanelList/index.js.map +1 -1
- package/lib/components/PopMenu/index.js +26 -20
- package/lib/components/PopMenu/index.js.map +1 -1
- package/lib/components/Portal/index.js +27 -1
- package/lib/components/Portal/index.js.map +1 -0
- package/lib/components/Progressbar/index.js +21 -15
- package/lib/components/Progressbar/index.js.map +1 -1
- package/lib/components/PromoPanel/index.js +12 -8
- package/lib/components/PromoPanel/index.js.map +1 -1
- package/lib/components/RadioButton/index.js +5 -1
- package/lib/{RadioButton.js.map → components/RadioButton/index.js.map} +1 -1
- package/lib/components/ServiceMessage/index.js +19 -15
- package/lib/components/ServiceMessage/index.js.map +1 -1
- package/lib/components/SharingStatus/index.js +6 -2
- package/lib/components/SharingStatus/index.js.map +1 -1
- package/lib/components/Step/index.js +5 -1
- package/lib/components/Step/index.js.map +1 -1
- package/lib/components/Stepper/index.js +84 -18
- package/lib/components/Stepper/index.js.map +1 -1
- package/lib/components/StickyNote/index.js +17 -11
- package/lib/components/StickyNote/index.js.map +1 -1
- package/lib/components/Table/index.js +13 -9
- package/lib/components/Table/index.js.map +1 -1
- package/lib/components/Tabs/index.js +13 -6
- package/lib/components/Tabs/index.js.map +1 -1
- package/lib/components/Tag/Tag.d.ts +1 -11
- package/lib/components/Tag/constants.d.ts +2 -6
- package/lib/components/Tag/index.d.ts +1 -1
- package/lib/components/Tag/index.js +19 -34
- package/lib/components/Tag/index.js.map +1 -1
- package/lib/components/Tag/styles.module.scss +19 -52
- package/lib/components/Tag/styles.module.scss.d.ts +3 -11
- package/lib/components/TagList/index.js +5 -1
- package/lib/components/TagList/index.js.map +1 -1
- package/lib/components/Tile/index.js +10 -6
- package/lib/components/Tile/index.js.map +1 -1
- package/lib/components/Title/index.js +6 -2
- package/lib/components/Title/index.js.map +1 -0
- package/lib/components/Toast/index.js +4 -2
- package/lib/components/Toast/index.js.map +1 -1
- package/lib/components/ToastList/index.js +7 -3
- package/lib/components/ToastList/index.js.map +1 -1
- package/lib/components/Toggle/index.js +17 -11
- package/lib/components/Toggle/index.js.map +1 -1
- package/lib/components/Validation/index.js +24 -17
- package/lib/components/Validation/index.js.map +1 -1
- package/lib/constants.js +125 -1
- package/lib/constants.js.map +1 -0
- package/lib/constants2.js +45 -117
- package/lib/constants2.js.map +1 -1
- package/lib/floating-ui.react.js +479 -185
- package/lib/floating-ui.react.js.map +1 -1
- package/lib/getFilterChips.js +6 -2
- package/lib/getFilterChips.js.map +1 -1
- package/lib/hoc/withBreakpoint/index.js +4 -2
- package/lib/hoc/withBreakpoint/index.js.map +1 -1
- package/lib/hoc/withBreakpoint/withBreakpoint.js +17 -2
- package/lib/hoc/withBreakpoint/withBreakpoint.js.map +1 -0
- package/lib/hooks/useBreakpoint.js +42 -1
- package/lib/hooks/useBreakpoint.js.map +1 -0
- package/lib/hooks/useElementList.js +46 -1
- package/lib/hooks/useElementList.js.map +1 -0
- package/lib/hooks/useEventListenerState.js +3 -1
- package/lib/hooks/useEventListenerState.js.map +1 -1
- package/lib/hooks/useExpand.js +19 -1
- package/lib/hooks/useExpand.js.map +1 -0
- package/lib/hooks/useFocusToggle.js +34 -1
- package/lib/hooks/useFocusToggle.js.map +1 -0
- package/lib/hooks/useFocusTrap.js +40 -2
- package/lib/hooks/useFocusTrap.js.map +1 -0
- package/lib/hooks/useFocusableElements.js +33 -1
- package/lib/hooks/useFocusableElements.js.map +1 -0
- package/lib/hooks/useIcons.js +27 -1
- package/lib/hooks/useIcons.js.map +1 -0
- package/lib/hooks/useIdWithFallback.js +14 -1
- package/lib/hooks/useIdWithFallback.js.map +1 -0
- package/lib/hooks/useIntersectionObserver.js +23 -1
- package/lib/hooks/useIntersectionObserver.js.map +1 -0
- package/lib/hooks/useInterval.js +10 -1
- package/lib/hooks/useInterval.js.map +1 -1
- package/lib/hooks/useIsMobileBreakpoint.js +9 -1
- package/lib/hooks/useIsMobileBreakpoint.js.map +1 -0
- package/lib/hooks/useIsServerSide.js +16 -1
- package/lib/hooks/useIsServerSide.js.map +1 -0
- package/lib/hooks/useIsVisible.js +26 -1
- package/lib/hooks/useIsVisible.js.map +1 -0
- package/lib/hooks/useKeyboardEvent.js +30 -1
- package/lib/hooks/useKeyboardEvent.js.map +1 -0
- package/lib/hooks/useLanguage.js +16 -1
- package/lib/hooks/useLanguage.js.map +1 -0
- package/lib/hooks/useLayoutEvent.js +29 -1
- package/lib/hooks/useLayoutEvent.js.map +1 -0
- package/lib/hooks/useOutsideEvent.js +27 -1
- package/lib/hooks/useOutsideEvent.js.map +1 -0
- package/lib/hooks/usePrevious.js +17 -1
- package/lib/hooks/usePrevious.js.map +1 -0
- package/lib/hooks/usePseudoClasses.js +52 -1
- package/lib/hooks/usePseudoClasses.js.map +1 -0
- package/lib/hooks/useResizeObserver.js +30 -1
- package/lib/hooks/useResizeObserver.js.map +1 -0
- package/lib/hooks/useReturnFocusOnUnmount.js +21 -1
- package/lib/hooks/useReturnFocusOnUnmount.js.map +1 -0
- package/lib/hooks/useRovingFocus.js +45 -1
- package/lib/hooks/useRovingFocus.js.map +1 -0
- package/lib/hooks/useSize.js +31 -1
- package/lib/hooks/useSize.js.map +1 -0
- package/lib/hooks/useToggle.js +32 -1
- package/lib/hooks/useToggle.js.map +1 -0
- package/lib/hooks/usestopPropagation.js +17 -1
- package/lib/hooks/usestopPropagation.js.map +1 -0
- package/lib/index.js +18 -18
- package/lib/resourceHelper.js +5 -2
- package/lib/resourceHelper.js.map +1 -1
- package/lib/theme/currys/color.js +11 -1
- package/lib/theme/currys/color.js.map +1 -0
- package/lib/theme/currys/index.js +2 -2
- package/lib/theme/currys/spacing.js +26 -1
- package/lib/theme/currys/spacing.js.map +1 -0
- package/lib/theme/grid.js +25 -1
- package/lib/theme/grid.js.map +1 -0
- package/lib/theme/index.js +14 -1
- package/lib/theme/index.js.map +1 -0
- package/lib/theme/palette.js +86 -1
- package/lib/theme/palette.js.map +1 -0
- package/lib/theme/spacers.js +21 -1
- package/lib/theme/spacers.js.map +1 -0
- package/lib/utils/accessibility.js +24 -1
- package/lib/utils/accessibility.js.map +1 -0
- package/lib/utils/component.js +11 -1
- package/lib/utils/component.js.map +1 -0
- package/lib/utils/debounce.js +22 -1
- package/lib/utils/debounce.js.map +1 -0
- package/lib/utils/deepContains.js +22 -1
- package/lib/utils/deepContains.js.map +1 -0
- package/lib/utils/device.js +7 -1
- package/lib/utils/device.js.map +1 -0
- package/lib/utils/environment.js +6 -1
- package/lib/utils/environment.js.map +1 -0
- package/lib/utils/focus.js +17 -1
- package/lib/utils/focus.js.map +1 -0
- package/lib/utils/language.js +4 -3
- package/lib/utils/language.js.map +1 -1
- package/lib/utils/loremtext.js +6 -5
- package/lib/utils/loremtext.js.map +1 -1
- package/lib/utils/mobile.js +18 -1
- package/lib/utils/mobile.js.map +1 -0
- package/lib/utils/refs.js +26 -1
- package/lib/utils/refs.js.map +1 -0
- package/lib/utils/resource.js +10 -1
- package/lib/utils/resource.js.map +1 -0
- package/lib/utils/scroll.js +10 -1
- package/lib/utils/scroll.js.map +1 -0
- package/lib/utils/uuid.js +2 -2
- package/lib/utils/viewport.js +8 -1
- package/lib/utils/viewport.js.map +1 -0
- package/lib/utils.js +4 -2
- package/lib/utils.js.map +1 -1
- package/lib/utils2.js +18 -13
- package/lib/utils2.js.map +1 -1
- package/lib/utils3.js +12 -9
- package/lib/utils3.js.map +1 -1
- package/lib/utils4.js +7 -5
- package/lib/utils4.js.map +1 -1
- package/lib/utils5.js +26 -22
- package/lib/utils5.js.map +1 -1
- package/lib/utils6.js +65 -10
- package/lib/utils6.js.map +1 -1
- package/lib/uuid.js +12 -9
- package/lib/uuid.js.map +1 -1
- package/package.json +26 -38
- package/lib/AlertSignFill.js +0 -16
- package/lib/AlertSignFill.js.map +0 -1
- package/lib/AlertSignStroke.js +0 -16
- package/lib/AlertSignStroke.js.map +0 -1
- package/lib/ArrowDown.js +0 -28
- package/lib/ArrowDown.js.map +0 -1
- package/lib/ArrowRight.js +0 -16
- package/lib/ArrowRight.js.map +0 -1
- package/lib/ArrowUp.js +0 -28
- package/lib/ArrowUp.js.map +0 -1
- package/lib/ArrowUpRight.js +0 -16
- package/lib/ArrowUpRight.js.map +0 -1
- package/lib/BabyMobileMedium.js +0 -263
- package/lib/BabyMobileMedium.js.map +0 -1
- package/lib/Check.js +0 -16
- package/lib/Check.js.map +0 -1
- package/lib/CheckFill.js +0 -28
- package/lib/CheckFill.js.map +0 -1
- package/lib/CheckOutline.js +0 -14
- package/lib/CheckOutline.js.map +0 -1
- package/lib/Checkbox2.js +0 -5
- package/lib/Checkbox2.js.map +0 -1
- package/lib/ChevronDown.js +0 -16
- package/lib/ChevronDown.js.map +0 -1
- package/lib/ChevronLeft.js +0 -16
- package/lib/ChevronLeft.js.map +0 -1
- package/lib/ChevronRight.js +0 -16
- package/lib/ChevronRight.js.map +0 -1
- package/lib/ChevronUp.js +0 -16
- package/lib/ChevronUp.js.map +0 -1
- package/lib/ChildMedium.js +0 -126
- package/lib/ChildMedium.js.map +0 -1
- package/lib/DoctorMedium.js +0 -54
- package/lib/DoctorMedium.js.map +0 -1
- package/lib/DoctorSmall.js +0 -52
- package/lib/DoctorSmall.js.map +0 -1
- package/lib/DrawerNavigation2.js +0 -5
- package/lib/DrawerNavigation2.js.map +0 -1
- package/lib/EmptyBox.js +0 -16
- package/lib/EmptyBox.js.map +0 -1
- package/lib/ErrorSignFill.js +0 -16
- package/lib/ErrorSignFill.js.map +0 -1
- package/lib/FacialRecognitionFingerprintMedium.js +0 -199
- package/lib/FacialRecognitionFingerprintMedium.js.map +0 -1
- package/lib/Filter.js +0 -44
- package/lib/Filter.js.map +0 -1
- package/lib/FilterLinkList2.js +0 -5
- package/lib/FilterLinkList2.js.map +0 -1
- package/lib/FilterSearch2.js +0 -5
- package/lib/FilterSearch2.js.map +0 -1
- package/lib/Forward.js +0 -16
- package/lib/Forward.js.map +0 -1
- package/lib/GiveBabyFoodMedium.js +0 -240
- package/lib/GiveBabyFoodMedium.js.map +0 -1
- package/lib/HandWaving.js +0 -8
- package/lib/HandWaving.js.map +0 -1
- package/lib/HealthcarePersonnelMedium.js +0 -148
- package/lib/HealthcarePersonnelMedium.js.map +0 -1
- package/lib/HealthcarePersonnelSmall.js +0 -149
- package/lib/HealthcarePersonnelSmall.js.map +0 -1
- package/lib/IllustrationNames.js +0 -35
- package/lib/IllustrationNames.js.map +0 -1
- package/lib/InfoSignFill.js +0 -16
- package/lib/InfoSignFill.js.map +0 -1
- package/lib/Input2.js +0 -5
- package/lib/Input2.js.map +0 -1
- package/lib/Label.js +0 -5
- package/lib/Label.js.map +0 -1
- package/lib/PlusSmall.js +0 -16
- package/lib/PlusSmall.js.map +0 -1
- package/lib/Portal.js +0 -26
- package/lib/Portal.js.map +0 -1
- package/lib/RadioButton.js +0 -5
- package/lib/ReadLettersMedium.js +0 -78
- package/lib/ReadLettersMedium.js.map +0 -1
- package/lib/Search.js +0 -26
- package/lib/Search.js.map +0 -1
- package/lib/StorkMedium.js +0 -96
- package/lib/StorkMedium.js.map +0 -1
- package/lib/StrollerMedium.js +0 -219
- package/lib/StrollerMedium.js.map +0 -1
- package/lib/Support2Medium.js +0 -158
- package/lib/Support2Medium.js.map +0 -1
- package/lib/ThinkingMedium.js +0 -98
- package/lib/ThinkingMedium.js.map +0 -1
- package/lib/Title2.js +0 -5
- package/lib/Title2.js.map +0 -1
- package/lib/TriangleX.js +0 -32
- package/lib/TriangleX.js.map +0 -1
- package/lib/VerticalDots.js +0 -16
- package/lib/VerticalDots.js.map +0 -1
- package/lib/X.js +0 -18
- package/lib/X.js.map +0 -1
- package/lib/_rolldown_dynamic_import_helper.js.map +0 -1
- package/lib/accessibility.js +0 -17
- package/lib/accessibility.js.map +0 -1
- package/lib/color.js +0 -10
- package/lib/color.js.map +0 -1
- package/lib/component.js +0 -10
- package/lib/component.js.map +0 -1
- package/lib/constants3.js +0 -46
- package/lib/constants3.js.map +0 -1
- package/lib/currys.js +0 -0
- package/lib/debounce.js +0 -16
- package/lib/debounce.js.map +0 -1
- package/lib/deepContains.js +0 -13
- package/lib/deepContains.js.map +0 -1
- package/lib/device.js +0 -6
- package/lib/device.js.map +0 -1
- package/lib/environment.js +0 -5
- package/lib/environment.js.map +0 -1
- package/lib/focus.js +0 -11
- package/lib/focus.js.map +0 -1
- package/lib/grid.js +0 -24
- package/lib/grid.js.map +0 -1
- package/lib/mobile.js +0 -14
- package/lib/mobile.js.map +0 -1
- package/lib/palette.js +0 -85
- package/lib/palette.js.map +0 -1
- package/lib/refs.js +0 -14
- package/lib/refs.js.map +0 -1
- package/lib/resource.js +0 -4
- package/lib/resource.js.map +0 -1
- package/lib/scroll.js +0 -9
- package/lib/scroll.js.map +0 -1
- package/lib/spacers.js +0 -20
- package/lib/spacers.js.map +0 -1
- package/lib/spacing.js +0 -25
- package/lib/spacing.js.map +0 -1
- package/lib/src.js +0 -0
- package/lib/theme.js +0 -13
- package/lib/theme.js.map +0 -1
- package/lib/useBreakpoint.js +0 -38
- package/lib/useBreakpoint.js.map +0 -1
- package/lib/useElementList.js +0 -38
- package/lib/useElementList.js.map +0 -1
- package/lib/useExpand.js +0 -18
- package/lib/useExpand.js.map +0 -1
- package/lib/useFocusToggle.js +0 -26
- package/lib/useFocusToggle.js.map +0 -1
- package/lib/useFocusTrap.js +0 -34
- package/lib/useFocusTrap.js.map +0 -1
- package/lib/useFocusableElements.js +0 -26
- package/lib/useFocusableElements.js.map +0 -1
- package/lib/useIcons.js +0 -26
- package/lib/useIcons.js.map +0 -1
- package/lib/useIdWithFallback.js +0 -8
- package/lib/useIdWithFallback.js.map +0 -1
- package/lib/useIntersectionObserver.js +0 -14
- package/lib/useIntersectionObserver.js.map +0 -1
- package/lib/useIsMobileBreakpoint.js +0 -8
- package/lib/useIsMobileBreakpoint.js.map +0 -1
- package/lib/useIsServerSide.js +0 -10
- package/lib/useIsServerSide.js.map +0 -1
- package/lib/useIsVisible.js +0 -16
- package/lib/useIsVisible.js.map +0 -1
- package/lib/useKeyboardEvent.js +0 -22
- package/lib/useKeyboardEvent.js.map +0 -1
- package/lib/useLanguage.js +0 -10
- package/lib/useLanguage.js.map +0 -1
- package/lib/useLayoutEvent.js +0 -21
- package/lib/useLayoutEvent.js.map +0 -1
- package/lib/useOutsideEvent.js +0 -20
- package/lib/useOutsideEvent.js.map +0 -1
- package/lib/usePrevious.js +0 -11
- package/lib/usePrevious.js.map +0 -1
- package/lib/usePseudoClasses.js +0 -46
- package/lib/usePseudoClasses.js.map +0 -1
- package/lib/useResizeObserver.js +0 -23
- package/lib/useResizeObserver.js.map +0 -1
- package/lib/useReturnFocusOnUnmount.js +0 -16
- package/lib/useReturnFocusOnUnmount.js.map +0 -1
- package/lib/useRovingFocus.js +0 -44
- package/lib/useRovingFocus.js.map +0 -1
- package/lib/useSize.js +0 -23
- package/lib/useSize.js.map +0 -1
- package/lib/useToggle.js +0 -24
- package/lib/useToggle.js.map +0 -1
- package/lib/usestopPropagation.js +0 -11
- package/lib/usestopPropagation.js.map +0 -1
- package/lib/viewport.js +0 -7
- package/lib/viewport.js.map +0 -1
- package/lib/withBreakpoint.js +0 -16
- package/lib/withBreakpoint.js.map +0 -1
|
@@ -1,50 +1,53 @@
|
|
|
1
1
|
import { t as uuid } from "../../uuid.js";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
2
|
+
import { AnalyticsId, IconSize, ZIndex } from "../../constants.js";
|
|
3
|
+
import { palette } from "../../theme/palette.js";
|
|
4
4
|
import { t as Icon_default } from "../../Icon.js";
|
|
5
|
-
import {
|
|
5
|
+
import { isComponent } from "../../utils/component.js";
|
|
6
6
|
import { t as Button_default } from "../../Button.js";
|
|
7
|
-
import {
|
|
8
|
-
import
|
|
9
|
-
import {
|
|
7
|
+
import { getAriaLabelAttributes } from "../../utils/accessibility.js";
|
|
8
|
+
import useFocusTrap from "../../hooks/useFocusTrap.js";
|
|
9
|
+
import { useIsVisible } from "../../hooks/useIsVisible.js";
|
|
10
10
|
import { t as Close_default } from "../../Close.js";
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
14
|
-
import
|
|
15
|
-
import
|
|
16
|
-
import
|
|
17
|
-
import
|
|
11
|
+
import { useReturnFocusOnUnmount } from "../../hooks/useReturnFocusOnUnmount.js";
|
|
12
|
+
import { disableBodyScroll, enableBodyScroll } from "../../utils/scroll.js";
|
|
13
|
+
import { t as Title } from "../../Title.js";
|
|
14
|
+
import AlertSignFill from "../Icons/AlertSignFill.js";
|
|
15
|
+
import AlertSignStroke from "../Icons/AlertSignStroke.js";
|
|
16
|
+
import CheckOutline from "../Icons/CheckOutline.js";
|
|
17
|
+
import Portal from "../Portal/index.js";
|
|
18
18
|
import classNames from "classnames";
|
|
19
19
|
import React, { useEffect } from "react";
|
|
20
20
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
21
21
|
import styles from "./styles.module.scss";
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
ModalVariants
|
|
25
|
-
ModalVariants
|
|
26
|
-
ModalVariants
|
|
27
|
-
|
|
22
|
+
//#region src/components/Modal/constants.ts
|
|
23
|
+
var ModalVariants = /* @__PURE__ */ function(ModalVariants) {
|
|
24
|
+
ModalVariants["normal"] = "normal";
|
|
25
|
+
ModalVariants["warning"] = "warning";
|
|
26
|
+
ModalVariants["error"] = "error";
|
|
27
|
+
ModalVariants["success"] = "success";
|
|
28
|
+
return ModalVariants;
|
|
28
29
|
}({});
|
|
29
|
-
|
|
30
|
-
ModalSize
|
|
31
|
-
ModalSize
|
|
32
|
-
return ModalSize
|
|
30
|
+
var ModalSize = /* @__PURE__ */ function(ModalSize) {
|
|
31
|
+
ModalSize["large"] = "large";
|
|
32
|
+
ModalSize["medium"] = "medium";
|
|
33
|
+
return ModalSize;
|
|
33
34
|
}({});
|
|
35
|
+
//#endregion
|
|
36
|
+
//#region src/components/Modal/Modal.tsx
|
|
34
37
|
var getVariantIcon = (variant) => {
|
|
35
38
|
if (variant === ModalVariants.error) return /* @__PURE__ */ jsx(Icon_default, {
|
|
36
39
|
size: IconSize.Small,
|
|
37
|
-
svgIcon:
|
|
40
|
+
svgIcon: AlertSignFill,
|
|
38
41
|
color: palette.cherry500
|
|
39
42
|
});
|
|
40
43
|
else if (variant === ModalVariants.warning) return /* @__PURE__ */ jsx(Icon_default, {
|
|
41
44
|
size: IconSize.Small,
|
|
42
|
-
svgIcon:
|
|
45
|
+
svgIcon: AlertSignStroke,
|
|
43
46
|
color: palette.black
|
|
44
47
|
});
|
|
45
48
|
else if (variant === ModalVariants.success) return /* @__PURE__ */ jsx(Icon_default, {
|
|
46
49
|
size: IconSize.Small,
|
|
47
|
-
svgIcon:
|
|
50
|
+
svgIcon: CheckOutline,
|
|
48
51
|
color: palette.kiwi900
|
|
49
52
|
});
|
|
50
53
|
return null;
|
|
@@ -66,7 +69,7 @@ var Modal = (props) => {
|
|
|
66
69
|
const topContent = React.useRef(null);
|
|
67
70
|
const modalContentRef = React.useRef(null);
|
|
68
71
|
const dialogRef = React.useRef(null);
|
|
69
|
-
|
|
72
|
+
useFocusTrap(dialogRef, true);
|
|
70
73
|
const topContentVisible = useIsVisible(topContent);
|
|
71
74
|
const bottomContent = React.useRef(null);
|
|
72
75
|
const bottomContentVisible = useIsVisible(bottomContent);
|
|
@@ -156,7 +159,7 @@ var Modal = (props) => {
|
|
|
156
159
|
className: styles.modal__contentWrapper__title,
|
|
157
160
|
children: [
|
|
158
161
|
getIcon(variant, props.icon),
|
|
159
|
-
/* @__PURE__ */ jsx(
|
|
162
|
+
/* @__PURE__ */ jsx(Title, {
|
|
160
163
|
id: ariaLabelAttributes?.["aria-labelledby"],
|
|
161
164
|
htmlMarkup: "h3",
|
|
162
165
|
appearance: "title3",
|
|
@@ -212,7 +215,10 @@ var Modal = (props) => {
|
|
|
212
215
|
}
|
|
213
216
|
return Component;
|
|
214
217
|
};
|
|
218
|
+
//#endregion
|
|
219
|
+
//#region src/components/Modal/index.ts
|
|
215
220
|
var Modal_default = Modal;
|
|
221
|
+
//#endregion
|
|
216
222
|
export { ModalSize, ModalVariants, Modal_default as default };
|
|
217
223
|
|
|
218
224
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["Modal: React.FC<ModalProps>"],"sources":["../../../src/components/Modal/constants.ts","../../../src/components/Modal/Modal.tsx","../../../src/components/Modal/index.ts"],"sourcesContent":["export enum ModalVariants {\n normal = 'normal',\n warning = 'warning',\n error = 'error',\n success = 'success',\n}\n\nexport enum ModalSize {\n large = 'large',\n medium = 'medium',\n}\n","import React, { useEffect } from 'react';\n\nimport cn from 'classnames';\n\nimport type { IconProps } from '../Icon';\n\nimport { ModalSize, ModalVariants } from './constants';\nimport { AnalyticsId, ZIndex } from '../../constants';\nimport useFocusTrap from '../../hooks/useFocusTrap';\nimport { useIsVisible } from '../../hooks/useIsVisible';\nimport { useReturnFocusOnUnmount } from '../../hooks/useReturnFocusOnUnmount';\nimport { palette } from '../../theme/palette';\nimport { getAriaLabelAttributes } from '../../utils/accessibility';\nimport { isComponent } from '../../utils/component';\nimport { disableBodyScroll, enableBodyScroll } from '../../utils/scroll';\nimport { uuid } from '../../utils/uuid';\nimport Button from '../Button';\nimport Close from '../Close';\nimport Icon, { IconSize } from '../Icon';\nimport AlertSignFill from '../Icons/AlertSignFill';\nimport AlertSignStroke from '../Icons/AlertSignStroke';\nimport CheckOutline from '../Icons/CheckOutline';\nimport Portal from '../Portal';\nimport Title from '../Title/Title';\n\nimport styles from './styles.module.scss';\n\nexport interface ModalProps {\n /** Title of the modal */\n title: string;\n /** id of the modal title */\n titleId?: string;\n /** Description of the modal. Will not render if the modal has children. */\n description?: string;\n /** Optional footer content that can be rendered instead of default CTA(s) */\n footerContent?: React.ReactNode;\n /** Changes the visual representation of the modal */\n variant?: keyof typeof ModalVariants;\n /** Change width of the modal (default: large) */\n size?: keyof typeof ModalSize;\n /** Icon displayed in title */\n icon?: React.ReactElement;\n /** Hides the close button */\n noCloseButton?: boolean;\n /** Sets the data-testid attribute. */\n testId?: string;\n /** Primary button text */\n primaryButtonText?: string;\n /** Secondary button text */\n secondaryButtonText?: string;\n /** Sets the aria-label of the modal */\n ariaLabel?: string;\n /** Sets the aria-labelledby of the modal */\n ariaLabelledBy?: string;\n /** Close button aria-label */\n ariaLabelCloseBtn?: string;\n /** Alternative component to modal */\n children?: React.ReactNode;\n /** Component shown after title */\n afterTitleChildren?: React.ReactNode;\n /** Adds custom classes to the element. */\n className?: string;\n /** Customize the z-index of the modal */\n zIndex?: number;\n /** Function is called when user clicks primary button */\n onSuccess?: () => void;\n /** Function is called when user clicks secondary button, clicks escape or outside the modal */\n onClose?: () => void;\n /** When enabled the component will be rendered in the bottom of document.body */\n printable?: boolean;\n /** If disabled, clicking escape or outside the modal will not close it */\n disableCloseEvents?: boolean;\n /** Aria role used for the Modal. Default is dialog */\n role?: 'dialog' | 'alertdialog';\n}\n\nconst getVariantIcon = (variant?: ModalProps['variant']): React.JSX.Element | null => {\n if (variant === ModalVariants.error) {\n return <Icon size={IconSize.Small} svgIcon={AlertSignFill} color={palette.cherry500} />;\n } else if (variant === ModalVariants.warning) {\n return <Icon size={IconSize.Small} svgIcon={AlertSignStroke} color={palette.black} />;\n } else if (variant === ModalVariants.success) {\n return <Icon size={IconSize.Small} svgIcon={CheckOutline} color={palette.kiwi900} />;\n }\n return null;\n};\n\nconst getIcon = (variant?: ModalProps['variant'], icon?: ModalProps['icon']): React.JSX.Element | null => {\n const variantIcon = getVariantIcon(variant);\n if (variantIcon) {\n return <div className={styles.modal__iconWrapper}>{variantIcon}</div>;\n }\n if (icon) {\n return (\n <div className={styles.modal__iconWrapper}>\n {isComponent<IconProps>(icon, Icon) &&\n React.cloneElement(icon, {\n size: IconSize.Small,\n })}\n </div>\n );\n }\n return null;\n};\n\nconst Modal: React.FC<ModalProps> = props => {\n const {\n footerContent,\n variant = ModalVariants.normal,\n primaryButtonText = 'OK',\n titleId = uuid(),\n className = '',\n size = ModalSize.large,\n zIndex = ZIndex.OverlayScreen,\n role = 'dialog',\n } = props;\n\n const topContent = React.useRef<HTMLDivElement>(null);\n const modalContentRef = React.useRef<HTMLDivElement>(null);\n const dialogRef = React.useRef<HTMLDivElement>(null);\n useFocusTrap(dialogRef, true);\n const topContentVisible = useIsVisible(topContent);\n const bottomContent = React.useRef<HTMLDivElement>(null);\n const bottomContentVisible = useIsVisible(bottomContent);\n const contentIsScrollable = modalContentRef.current && modalContentRef.current.scrollHeight > modalContentRef.current.clientHeight;\n useReturnFocusOnUnmount(dialogRef);\n\n function handleKeyboardEvent(e: KeyboardEvent): void {\n if (e.key === 'Escape' && props.onClose) {\n e.stopPropagation();\n props.onClose();\n }\n }\n\n function handleClickEvent(event: MouseEvent): void {\n if (event.target && overlayRef.current === event.target && props.onClose) {\n event.stopPropagation();\n props.onClose();\n }\n }\n\n const overlayRef = React.useRef<HTMLDivElement>(null);\n\n const showActions = (props.secondaryButtonText && props.secondaryButtonText?.length > 0) || props.onSuccess || footerContent;\n\n const ariaLabelAttributes = getAriaLabelAttributes({ label: props.ariaLabel, id: props.ariaLabelledBy, fallbackId: titleId });\n\n useEffect(() => {\n const overlayElement = overlayRef.current;\n disableBodyScroll();\n if (!props.disableCloseEvents && overlayElement) {\n overlayElement.addEventListener('keydown', handleKeyboardEvent);\n overlayElement.addEventListener('click', handleClickEvent);\n }\n return (): void => {\n enableBodyScroll();\n if (!props.disableCloseEvents && overlayElement) {\n overlayElement.removeEventListener('keydown', handleKeyboardEvent);\n overlayElement.removeEventListener('click', handleClickEvent);\n }\n };\n }, [props.disableCloseEvents]);\n\n useEffect(() => {\n dialogRef.current?.focus();\n }, []);\n\n const dialogClasses = cn(\n className,\n styles.modal,\n variant && styles[`modal--${variant}`],\n size && styles[`modal--${size}`],\n contentIsScrollable && !showActions && styles['modal--no-actions']\n );\n\n const titleClasses = cn({\n [styles['modal__title--error']]: variant === ModalVariants.error,\n [styles['modal__title--success']]: variant === ModalVariants.success,\n });\n\n const Component = (\n <div data-testid=\"dialog-container\">\n <div\n ref={overlayRef}\n className={styles['modal-overlay']}\n data-testid={props.testId}\n data-analyticsid={AnalyticsId.Modal}\n style={{ zIndex }}\n >\n <div className={styles.align}>\n <div className={dialogClasses} role={role} aria-modal=\"true\" tabIndex={-1} {...ariaLabelAttributes} ref={dialogRef}>\n <div\n className={cn(styles['modal__shadow'], styles['modal__shadow--top'], {\n [styles['modal__shadow--show']]: !topContentVisible && contentIsScrollable,\n })}\n />\n <div\n className={cn(styles.modal__contentWrapper)}\n tabIndex={contentIsScrollable ? 0 : undefined}\n role={contentIsScrollable ? 'region' : undefined}\n {...(contentIsScrollable ? ariaLabelAttributes : {})}\n ref={modalContentRef}\n >\n {!props.noCloseButton && (\n <div className={styles.modal__closeWrapper}>\n <div className={cn(styles.modal__closeWrapper__close)}>\n <Close onClick={props.onClose} ariaLabel={props.ariaLabelCloseBtn} />\n </div>\n </div>\n )}\n <div className={cn(size && styles[`modal__contentWrapper__scroll--${size}`])}>\n <div ref={topContent} />\n <div className={styles.modal__contentWrapper__title}>\n {getIcon(variant, props.icon)}\n <Title id={ariaLabelAttributes?.['aria-labelledby']} htmlMarkup=\"h3\" appearance=\"title3\" className={titleClasses}>\n {props.title}\n </Title>\n {props.afterTitleChildren && <div className={styles['modal__afterTitleChildren']}>{props.afterTitleChildren}</div>}\n </div>\n {props.children && <div>{props.children}</div>}\n {!props.children && <p className={styles.modal__description}>{props.description}</p>}\n <div ref={bottomContent} />\n </div>\n </div>\n <div\n className={cn(styles['modal__shadow'], styles['modal__shadow--bottom'], {\n [styles['modal__shadow--show']]: !bottomContentVisible && contentIsScrollable,\n })}\n />\n {showActions && (\n <div className={cn(styles['modal__call-to-action'], size && styles[`modal__call-to-action--${size}`])}>\n {props.onSuccess && primaryButtonText && <Button onClick={props.onSuccess}>{primaryButtonText}</Button>}\n {props.secondaryButtonText && props.secondaryButtonText?.length > 0 && (\n <Button variant=\"borderless\" onClick={props.onClose}>\n {props.secondaryButtonText}\n </Button>\n )}\n {footerContent}\n </div>\n )}\n </div>\n </div>\n </div>\n </div>\n );\n\n if (props.printable) {\n const printModal = 'print-modal';\n return (\n <Portal className={printModal} testId=\"print-modal\">\n <style media=\"print\">{`body > *:not(.${printModal}) {display: none;}`}</style>\n {Component}\n </Portal>\n );\n }\n\n return Component;\n};\n\nexport default Modal;\n","import Modal from './Modal';\nexport { ModalVariants, ModalSize } from './constants';\nexport * from './Modal';\nexport default Modal;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../../src/components/Modal/constants.ts","../../../src/components/Modal/Modal.tsx","../../../src/components/Modal/index.ts"],"sourcesContent":["export enum ModalVariants {\n normal = 'normal',\n warning = 'warning',\n error = 'error',\n success = 'success',\n}\n\nexport enum ModalSize {\n large = 'large',\n medium = 'medium',\n}\n","import React, { useEffect } from 'react';\n\nimport cn from 'classnames';\n\nimport type { IconProps } from '../Icon';\n\nimport { ModalSize, ModalVariants } from './constants';\nimport { AnalyticsId, ZIndex } from '../../constants';\nimport useFocusTrap from '../../hooks/useFocusTrap';\nimport { useIsVisible } from '../../hooks/useIsVisible';\nimport { useReturnFocusOnUnmount } from '../../hooks/useReturnFocusOnUnmount';\nimport { palette } from '../../theme/palette';\nimport { getAriaLabelAttributes } from '../../utils/accessibility';\nimport { isComponent } from '../../utils/component';\nimport { disableBodyScroll, enableBodyScroll } from '../../utils/scroll';\nimport { uuid } from '../../utils/uuid';\nimport Button from '../Button';\nimport Close from '../Close';\nimport Icon, { IconSize } from '../Icon';\nimport AlertSignFill from '../Icons/AlertSignFill';\nimport AlertSignStroke from '../Icons/AlertSignStroke';\nimport CheckOutline from '../Icons/CheckOutline';\nimport Portal from '../Portal';\nimport Title from '../Title/Title';\n\nimport styles from './styles.module.scss';\n\nexport interface ModalProps {\n /** Title of the modal */\n title: string;\n /** id of the modal title */\n titleId?: string;\n /** Description of the modal. Will not render if the modal has children. */\n description?: string;\n /** Optional footer content that can be rendered instead of default CTA(s) */\n footerContent?: React.ReactNode;\n /** Changes the visual representation of the modal */\n variant?: keyof typeof ModalVariants;\n /** Change width of the modal (default: large) */\n size?: keyof typeof ModalSize;\n /** Icon displayed in title */\n icon?: React.ReactElement;\n /** Hides the close button */\n noCloseButton?: boolean;\n /** Sets the data-testid attribute. */\n testId?: string;\n /** Primary button text */\n primaryButtonText?: string;\n /** Secondary button text */\n secondaryButtonText?: string;\n /** Sets the aria-label of the modal */\n ariaLabel?: string;\n /** Sets the aria-labelledby of the modal */\n ariaLabelledBy?: string;\n /** Close button aria-label */\n ariaLabelCloseBtn?: string;\n /** Alternative component to modal */\n children?: React.ReactNode;\n /** Component shown after title */\n afterTitleChildren?: React.ReactNode;\n /** Adds custom classes to the element. */\n className?: string;\n /** Customize the z-index of the modal */\n zIndex?: number;\n /** Function is called when user clicks primary button */\n onSuccess?: () => void;\n /** Function is called when user clicks secondary button, clicks escape or outside the modal */\n onClose?: () => void;\n /** When enabled the component will be rendered in the bottom of document.body */\n printable?: boolean;\n /** If disabled, clicking escape or outside the modal will not close it */\n disableCloseEvents?: boolean;\n /** Aria role used for the Modal. Default is dialog */\n role?: 'dialog' | 'alertdialog';\n}\n\nconst getVariantIcon = (variant?: ModalProps['variant']): React.JSX.Element | null => {\n if (variant === ModalVariants.error) {\n return <Icon size={IconSize.Small} svgIcon={AlertSignFill} color={palette.cherry500} />;\n } else if (variant === ModalVariants.warning) {\n return <Icon size={IconSize.Small} svgIcon={AlertSignStroke} color={palette.black} />;\n } else if (variant === ModalVariants.success) {\n return <Icon size={IconSize.Small} svgIcon={CheckOutline} color={palette.kiwi900} />;\n }\n return null;\n};\n\nconst getIcon = (variant?: ModalProps['variant'], icon?: ModalProps['icon']): React.JSX.Element | null => {\n const variantIcon = getVariantIcon(variant);\n if (variantIcon) {\n return <div className={styles.modal__iconWrapper}>{variantIcon}</div>;\n }\n if (icon) {\n return (\n <div className={styles.modal__iconWrapper}>\n {isComponent<IconProps>(icon, Icon) &&\n React.cloneElement(icon, {\n size: IconSize.Small,\n })}\n </div>\n );\n }\n return null;\n};\n\nconst Modal: React.FC<ModalProps> = props => {\n const {\n footerContent,\n variant = ModalVariants.normal,\n primaryButtonText = 'OK',\n titleId = uuid(),\n className = '',\n size = ModalSize.large,\n zIndex = ZIndex.OverlayScreen,\n role = 'dialog',\n } = props;\n\n const topContent = React.useRef<HTMLDivElement>(null);\n const modalContentRef = React.useRef<HTMLDivElement>(null);\n const dialogRef = React.useRef<HTMLDivElement>(null);\n useFocusTrap(dialogRef, true);\n const topContentVisible = useIsVisible(topContent);\n const bottomContent = React.useRef<HTMLDivElement>(null);\n const bottomContentVisible = useIsVisible(bottomContent);\n const contentIsScrollable = modalContentRef.current && modalContentRef.current.scrollHeight > modalContentRef.current.clientHeight;\n useReturnFocusOnUnmount(dialogRef);\n\n function handleKeyboardEvent(e: KeyboardEvent): void {\n if (e.key === 'Escape' && props.onClose) {\n e.stopPropagation();\n props.onClose();\n }\n }\n\n function handleClickEvent(event: MouseEvent): void {\n if (event.target && overlayRef.current === event.target && props.onClose) {\n event.stopPropagation();\n props.onClose();\n }\n }\n\n const overlayRef = React.useRef<HTMLDivElement>(null);\n\n const showActions = (props.secondaryButtonText && props.secondaryButtonText?.length > 0) || props.onSuccess || footerContent;\n\n const ariaLabelAttributes = getAriaLabelAttributes({ label: props.ariaLabel, id: props.ariaLabelledBy, fallbackId: titleId });\n\n useEffect(() => {\n const overlayElement = overlayRef.current;\n disableBodyScroll();\n if (!props.disableCloseEvents && overlayElement) {\n overlayElement.addEventListener('keydown', handleKeyboardEvent);\n overlayElement.addEventListener('click', handleClickEvent);\n }\n return (): void => {\n enableBodyScroll();\n if (!props.disableCloseEvents && overlayElement) {\n overlayElement.removeEventListener('keydown', handleKeyboardEvent);\n overlayElement.removeEventListener('click', handleClickEvent);\n }\n };\n }, [props.disableCloseEvents]);\n\n useEffect(() => {\n dialogRef.current?.focus();\n }, []);\n\n const dialogClasses = cn(\n className,\n styles.modal,\n variant && styles[`modal--${variant}`],\n size && styles[`modal--${size}`],\n contentIsScrollable && !showActions && styles['modal--no-actions']\n );\n\n const titleClasses = cn({\n [styles['modal__title--error']]: variant === ModalVariants.error,\n [styles['modal__title--success']]: variant === ModalVariants.success,\n });\n\n const Component = (\n <div data-testid=\"dialog-container\">\n <div\n ref={overlayRef}\n className={styles['modal-overlay']}\n data-testid={props.testId}\n data-analyticsid={AnalyticsId.Modal}\n style={{ zIndex }}\n >\n <div className={styles.align}>\n <div className={dialogClasses} role={role} aria-modal=\"true\" tabIndex={-1} {...ariaLabelAttributes} ref={dialogRef}>\n <div\n className={cn(styles['modal__shadow'], styles['modal__shadow--top'], {\n [styles['modal__shadow--show']]: !topContentVisible && contentIsScrollable,\n })}\n />\n <div\n className={cn(styles.modal__contentWrapper)}\n tabIndex={contentIsScrollable ? 0 : undefined}\n role={contentIsScrollable ? 'region' : undefined}\n {...(contentIsScrollable ? ariaLabelAttributes : {})}\n ref={modalContentRef}\n >\n {!props.noCloseButton && (\n <div className={styles.modal__closeWrapper}>\n <div className={cn(styles.modal__closeWrapper__close)}>\n <Close onClick={props.onClose} ariaLabel={props.ariaLabelCloseBtn} />\n </div>\n </div>\n )}\n <div className={cn(size && styles[`modal__contentWrapper__scroll--${size}`])}>\n <div ref={topContent} />\n <div className={styles.modal__contentWrapper__title}>\n {getIcon(variant, props.icon)}\n <Title id={ariaLabelAttributes?.['aria-labelledby']} htmlMarkup=\"h3\" appearance=\"title3\" className={titleClasses}>\n {props.title}\n </Title>\n {props.afterTitleChildren && <div className={styles['modal__afterTitleChildren']}>{props.afterTitleChildren}</div>}\n </div>\n {props.children && <div>{props.children}</div>}\n {!props.children && <p className={styles.modal__description}>{props.description}</p>}\n <div ref={bottomContent} />\n </div>\n </div>\n <div\n className={cn(styles['modal__shadow'], styles['modal__shadow--bottom'], {\n [styles['modal__shadow--show']]: !bottomContentVisible && contentIsScrollable,\n })}\n />\n {showActions && (\n <div className={cn(styles['modal__call-to-action'], size && styles[`modal__call-to-action--${size}`])}>\n {props.onSuccess && primaryButtonText && <Button onClick={props.onSuccess}>{primaryButtonText}</Button>}\n {props.secondaryButtonText && props.secondaryButtonText?.length > 0 && (\n <Button variant=\"borderless\" onClick={props.onClose}>\n {props.secondaryButtonText}\n </Button>\n )}\n {footerContent}\n </div>\n )}\n </div>\n </div>\n </div>\n </div>\n );\n\n if (props.printable) {\n const printModal = 'print-modal';\n return (\n <Portal className={printModal} testId=\"print-modal\">\n <style media=\"print\">{`body > *:not(.${printModal}) {display: none;}`}</style>\n {Component}\n </Portal>\n );\n }\n\n return Component;\n};\n\nexport default Modal;\n","import Modal from './Modal';\nexport { ModalVariants, ModalSize } from './constants';\nexport * from './Modal';\nexport default Modal;\n"],"mappings":"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"}
|
|
@@ -1,14 +1,15 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { t as
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
1
|
+
import { AnalyticsId, IconSize } from "../../constants.js";
|
|
2
|
+
import { t as NotificationBadge } from "../../NotificationBadge.js";
|
|
3
|
+
import { useIsMobileBreakpoint } from "../../hooks/useIsMobileBreakpoint.js";
|
|
4
|
+
import { useIdWithFallback } from "../../hooks/useIdWithFallback.js";
|
|
5
|
+
import { getAriaLabelAttributes } from "../../utils/accessibility.js";
|
|
6
6
|
import { t as Close_default } from "../../Close.js";
|
|
7
7
|
import { t as Expander_default } from "../../Expander.js";
|
|
8
8
|
import classNames from "classnames";
|
|
9
9
|
import React from "react";
|
|
10
10
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
11
11
|
import styles from "./styles.module.scss";
|
|
12
|
+
//#region src/components/NotificationPanel/NotificationPanel.tsx
|
|
12
13
|
var FluidWrapper = ({ fluid, children }) => {
|
|
13
14
|
if (fluid) return /* @__PURE__ */ jsx("div", {
|
|
14
15
|
className: classNames(styles["fluid-wrapper"]),
|
|
@@ -79,7 +80,7 @@ var NotificationPanel = (props) => {
|
|
|
79
80
|
className: notificationPanelClasses,
|
|
80
81
|
...ariaLabelAttributes,
|
|
81
82
|
children: [
|
|
82
|
-
/* @__PURE__ */ jsx(
|
|
83
|
+
/* @__PURE__ */ jsx(NotificationBadge, {
|
|
83
84
|
variant,
|
|
84
85
|
size: compactVariant || isMobile ? IconSize.XSmall : IconSize.Small,
|
|
85
86
|
className: styles["notification-panel__icon"]
|
|
@@ -97,7 +98,10 @@ var NotificationPanel = (props) => {
|
|
|
97
98
|
})
|
|
98
99
|
});
|
|
99
100
|
};
|
|
101
|
+
//#endregion
|
|
102
|
+
//#region src/components/NotificationPanel/index.ts
|
|
100
103
|
var NotificationPanel_default = NotificationPanel;
|
|
104
|
+
//#endregion
|
|
101
105
|
export { NotificationPanel_default as default };
|
|
102
106
|
|
|
103
107
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":[
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../../src/components/NotificationPanel/NotificationPanel.tsx","../../../src/components/NotificationPanel/index.ts"],"sourcesContent":["import React from 'react';\n\nimport classNames from 'classnames';\n\nimport { AnalyticsId, IconSize } from '../../constants';\nimport { useIdWithFallback } from '../../hooks/useIdWithFallback';\nimport { useIsMobileBreakpoint } from '../../hooks/useIsMobileBreakpoint';\nimport { getAriaLabelAttributes } from '../../utils/accessibility';\nimport NotificationBadge from '../Badge/NotificationBadge';\nimport Close from '../Close';\nimport Expander from '../Expander';\n\nimport styles from './styles.module.scss';\n\nexport type NotificationPanelVariants = 'info' | 'warn' | 'error' | 'success';\nexport type NotificationCompactVariants = 'basic' | 'outline';\nexport type NotificationPanelSizes = 'small' | 'medium' | 'large';\nexport type LabelTags = 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'span';\n\nexport interface NotificationPanelProps {\n /** Adds custom classes to the element. */\n className?: string;\n /** Adds inner child elements. */\n children?: React.ReactNode;\n /** Adds inner expander elements. */\n expanderChildren?: React.ReactNode;\n /** Text for expanderButton. */\n expanderButtonText?: string;\n /** Text for expanderButton when closed. */\n expanderButtonClosedText?: string;\n /** Makes expander be open from start. */\n expanderOpenFromStart?: boolean;\n /** Changes the visual representation of the notification panel. */\n variant?: NotificationPanelVariants;\n /** Makes the panel more compact. Available in basic and outline. */\n compactVariant?: NotificationCompactVariants;\n /** Sets a fixed size for the content container. */\n size?: NotificationPanelSizes;\n /** Used in combination with dismissiable property to close the notification panel. */\n onClick?: (e?: React.MouseEvent<HTMLElement, MouseEvent>) => void;\n /** Toggles the close button in the top right corner. */\n dismissable?: boolean;\n /** Enables a fluid outer container that spans the entire width of parent. */\n fluid?: boolean;\n /** Sets a label for the notification panel. */\n label?: string;\n /** Changes the underlying element of the label. */\n labelHtmlMarkup?: LabelTags;\n /** Close button aria-label */\n ariaLabelCloseBtn?: string;\n /** Custom id for the label */\n labelId?: string;\n /** Custom role for the panel. Default is no role. If variant is alert or crisis, the aria role will be set to \"alert\" unless the role-prop is also set. */\n role?: 'region' | 'alert' | 'status' | 'none';\n /** Sets the data-testid attribute. */\n testId?: string;\n /** Ref passed to the component */\n ref?: React.Ref<HTMLDivElement | null>;\n}\n\ntype WrapFluidProps = Pick<NotificationPanelProps, 'fluid'> & {\n children: React.ReactElement;\n};\n\nconst FluidWrapper: React.FC<WrapFluidProps> = ({ fluid, children }) => {\n if (fluid) {\n const fluidClasses = classNames(styles['fluid-wrapper']);\n\n return <div className={fluidClasses}>{children}</div>;\n }\n return children;\n};\n\nconst NotificationPanel: React.FC<NotificationPanelProps> = props => {\n const {\n children,\n variant = 'info',\n dismissable = false,\n onClick,\n expanderChildren,\n expanderButtonText,\n expanderButtonClosedText,\n expanderOpenFromStart = false,\n compactVariant,\n label,\n labelId: labelIdProp,\n labelHtmlMarkup = 'h1',\n fluid = false,\n size,\n className,\n role,\n testId,\n ref,\n } = props;\n const labelId = useIdWithFallback(labelIdProp);\n const [expanderOpen, setExpanderOpen] = React.useState(expanderOpenFromStart);\n const isMobile = useIsMobileBreakpoint();\n\n const renderContent = (): React.ReactNode => {\n const outlineVariant = compactVariant === 'outline';\n const contentClasses = classNames(styles['notification-panel__content']);\n const labelClasses = classNames(styles['notification-panel__label'], {\n [styles['notification-panel__label--no-content']]: !children && !expanderChildren,\n [styles['notification-panel__label--compact']]: !!compactVariant,\n [styles['notification-panel__label--outline']]: outlineVariant,\n });\n const childrenClasses = classNames(styles['notification-panel__children'], {\n [styles['notification-panel__children--with-label']]: label,\n [styles['notification-panel__children--expander-no-label']]: expanderChildren && !label,\n [styles['notification-panel__children--outline']]: outlineVariant,\n });\n const CustomTag = labelHtmlMarkup;\n\n return (\n <div className={contentClasses} id={!label ? labelId : undefined}>\n {label && (\n <CustomTag className={labelClasses} id={labelId}>\n {label}\n </CustomTag>\n )}\n {children && <div className={childrenClasses}>{children}</div>}\n {expanderChildren && expanderButtonText && expanderButtonClosedText && !compactVariant && (\n <Expander\n title={expanderOpen ? expanderButtonText : expanderButtonClosedText}\n onExpand={setExpanderOpen}\n expanded={expanderOpen}\n testId=\"expand\"\n >\n {expanderChildren}\n </Expander>\n )}\n </div>\n );\n };\n\n const notificationPanelClasses = classNames(\n styles['notification-panel'],\n styles[`notification-panel--${variant}`],\n size && styles[`notification-panel--${size}`],\n {\n [styles['notification-panel--compact']]: !!compactVariant,\n [styles['notification-panel--compact--basic']]: compactVariant === 'basic',\n [styles['notification-panel--compact--outline']]: compactVariant === 'outline',\n [styles['notification-panel--with-content']]: expanderChildren || (label && children),\n [styles['notification-panel--dismissable']]: dismissable,\n },\n className\n );\n\n const ariaRole = role || (variant === 'error' && 'alert') || undefined;\n const ariaLabelAttributes = ariaRole && ariaRole !== 'none' ? getAriaLabelAttributes({ label, id: labelId }) : undefined;\n\n return (\n <FluidWrapper fluid={fluid}>\n <div\n ref={ref}\n role={ariaRole}\n data-testid={testId}\n data-analyticsid={AnalyticsId.NotificationPanel}\n className={notificationPanelClasses}\n {...ariaLabelAttributes}\n >\n <NotificationBadge\n variant={variant}\n size={compactVariant || isMobile ? IconSize.XSmall : IconSize.Small}\n className={styles['notification-panel__icon']}\n />\n {dismissable && (\n <span className={styles['notification-panel__close']}>\n <Close ariaLabel={props.ariaLabelCloseBtn} onClick={onClick} color=\"black\" />\n </span>\n )}\n {renderContent()}\n </div>\n </FluidWrapper>\n );\n};\n\nexport default NotificationPanel;\n","import NotificationPanel from './NotificationPanel';\nexport * from './NotificationPanel';\nexport default NotificationPanel;\n"],"mappings":";;;;;;;;;;;;AAgEA,IAAM,gBAA0C,EAAE,OAAO,eAAe;CACtE,IAAI,OAGF,OAAO,oBAAC,OAAD;EAAK,WAFS,WAAW,OAAO,iBAEhB;EAAe;EAAe,CAAA;CAEvD,OAAO;;AAGT,IAAM,qBAAsD,UAAS;CACnE,MAAM,EACJ,UACA,UAAU,QACV,cAAc,OACd,SACA,kBACA,oBACA,0BACA,wBAAwB,OACxB,gBACA,OACA,SAAS,aACT,kBAAkB,MAClB,QAAQ,OACR,MACA,WACA,MACA,QACA,QACE;CACJ,MAAM,UAAU,kBAAkB,YAAY;CAC9C,MAAM,CAAC,cAAc,mBAAmB,MAAM,SAAS,sBAAsB;CAC7E,MAAM,WAAW,uBAAuB;CAExC,MAAM,sBAAuC;EAC3C,MAAM,iBAAiB,mBAAmB;EAC1C,MAAM,iBAAiB,WAAW,OAAO,+BAA+B;EACxE,MAAM,eAAe,WAAW,OAAO,8BAA8B;IAClE,OAAO,2CAA2C,CAAC,YAAY,CAAC;IAChE,OAAO,wCAAwC,CAAC,CAAC;IACjD,OAAO,wCAAwC;GACjD,CAAC;EACF,MAAM,kBAAkB,WAAW,OAAO,iCAAiC;IACxE,OAAO,8CAA8C;IACrD,OAAO,qDAAqD,oBAAoB,CAAC;IACjF,OAAO,2CAA2C;GACpD,CAAC;EAGF,OACE,qBAAC,OAAD;GAAK,WAAW;GAAgB,IAAI,CAAC,QAAQ,UAAU,KAAA;aAAvD;IACG,SACC,oBAAC,iBAAD;KAAW,WAAW;KAAc,IAAI;eACrC;KACS,CAAA;IAEb,YAAY,oBAAC,OAAD;KAAK,WAAW;KAAkB;KAAe,CAAA;IAC7D,oBAAoB,sBAAsB,4BAA4B,CAAC,kBACtE,oBAAC,kBAAD;KACE,OAAO,eAAe,qBAAqB;KAC3C,UAAU;KACV,UAAU;KACV,QAAO;eAEN;KACQ,CAAA;IAET;;;CAIV,MAAM,2BAA2B,WAC/B,OAAO,uBACP,OAAO,uBAAuB,YAC9B,QAAQ,OAAO,uBAAuB,SACtC;GACG,OAAO,iCAAiC,CAAC,CAAC;GAC1C,OAAO,wCAAwC,mBAAmB;GAClE,OAAO,0CAA0C,mBAAmB;GACpE,OAAO,sCAAsC,oBAAqB,SAAS;GAC3E,OAAO,qCAAqC;EAC9C,EACD,UACD;CAED,MAAM,WAAW,QAAS,YAAY,WAAW,WAAY,KAAA;CAC7D,MAAM,sBAAsB,YAAY,aAAa,SAAS,uBAAuB;EAAE;EAAO,IAAI;EAAS,CAAC,GAAG,KAAA;CAE/G,OACE,oBAAC,cAAD;EAAqB;YACnB,qBAAC,OAAD;GACO;GACL,MAAM;GACN,eAAa;GACb,oBAAkB,YAAY;GAC9B,WAAW;GACX,GAAI;aANN;IAQE,oBAAC,mBAAD;KACW;KACT,MAAM,kBAAkB,WAAW,SAAS,SAAS,SAAS;KAC9D,WAAW,OAAO;KAClB,CAAA;IACD,eACC,oBAAC,QAAD;KAAM,WAAW,OAAO;eACtB,oBAAC,eAAD;MAAO,WAAW,MAAM;MAA4B;MAAS,OAAM;MAAU,CAAA;KACxE,CAAA;IAER,eAAe;IACZ;;EACO,CAAA;;;;AC5KnB,IAAA,4BAAe"}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { IconSize, LanguageLocales } from "../../constants.js";
|
|
2
2
|
import { t as Icon_default } from "../../Icon.js";
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
3
|
+
import { useLanguage } from "../../hooks/useLanguage.js";
|
|
4
|
+
import { isComponent } from "../../utils/component.js";
|
|
5
5
|
import { t as Button_default } from "../../Button.js";
|
|
6
|
-
import
|
|
7
|
-
import
|
|
6
|
+
import ChevronDown from "../Icons/ChevronDown.js";
|
|
7
|
+
import ChevronUp from "../Icons/ChevronUp.js";
|
|
8
8
|
import { t as Highlighter_default } from "../../Highlighter.js";
|
|
9
|
-
import {
|
|
10
|
-
import
|
|
9
|
+
import { useExpand } from "../../hooks/useExpand.js";
|
|
10
|
+
import ChevronRight from "../Icons/ChevronRight.js";
|
|
11
11
|
import { a as PanelVariant, i as PanelStatus, n as PanelLayout, r as PanelStacking, t as PanelListContext } from "../../utils5.js";
|
|
12
12
|
import { t as PanelTitle_default } from "../../PanelTitle.js";
|
|
13
13
|
import classNames from "classnames";
|
|
@@ -22,13 +22,17 @@ var HN_Designsystem_Panel_nb_NO_default = {
|
|
|
22
22
|
expandButtonOpen: "Se detaljer",
|
|
23
23
|
expandButtonClose: "Skjul detaljer"
|
|
24
24
|
};
|
|
25
|
-
|
|
25
|
+
//#endregion
|
|
26
|
+
//#region src/components/Panel/resourceHelper.ts
|
|
27
|
+
var getResources = (language) => {
|
|
26
28
|
switch (language) {
|
|
27
29
|
case LanguageLocales.ENGLISH: return HN_Designsystem_Panel_en_GB_default;
|
|
28
30
|
case LanguageLocales.NORWEGIAN:
|
|
29
31
|
default: return HN_Designsystem_Panel_nb_NO_default;
|
|
30
32
|
}
|
|
31
33
|
};
|
|
34
|
+
//#endregion
|
|
35
|
+
//#region src/components/Panel/Panel.tsx
|
|
32
36
|
var ExpandButton = ({ onClick, isExpanded, resources }) => {
|
|
33
37
|
const buttonClassName = classNames(styles["expander__button"], isExpanded && styles["expander__button--expanded"]);
|
|
34
38
|
return /* @__PURE__ */ jsxs(Button_default, {
|
|
@@ -38,7 +42,7 @@ var ExpandButton = ({ onClick, isExpanded, resources }) => {
|
|
|
38
42
|
"aria-expanded": isExpanded,
|
|
39
43
|
onClick,
|
|
40
44
|
children: [/* @__PURE__ */ jsx(Icon_default, {
|
|
41
|
-
svgIcon: isExpanded ?
|
|
45
|
+
svgIcon: isExpanded ? ChevronUp : ChevronDown,
|
|
42
46
|
size: IconSize.XSmall
|
|
43
47
|
}), /* @__PURE__ */ jsx("span", { children: isExpanded ? resources.expandButtonClose : resources.expandButtonOpen })]
|
|
44
48
|
});
|
|
@@ -201,7 +205,7 @@ var PanelRoot = ({ layout = PanelLayout.vertical, variant = PanelVariant.fill, c
|
|
|
201
205
|
onClick: buttonBottomOnClick,
|
|
202
206
|
"aria-label": buttonBottomAriaLabel,
|
|
203
207
|
children: [buttonBottomText, /* @__PURE__ */ jsx(Icon_default, {
|
|
204
|
-
svgIcon:
|
|
208
|
+
svgIcon: ChevronRight,
|
|
205
209
|
size: IconSize.XSmall
|
|
206
210
|
})]
|
|
207
211
|
})
|
|
@@ -211,31 +215,31 @@ var PanelRoot = ({ layout = PanelLayout.vertical, variant = PanelVariant.fill, c
|
|
|
211
215
|
})
|
|
212
216
|
});
|
|
213
217
|
};
|
|
214
|
-
|
|
218
|
+
var PreContainer = ({ children }) => {
|
|
215
219
|
return /* @__PURE__ */ jsx("div", {
|
|
216
220
|
className: styles["panel__pre-container"],
|
|
217
221
|
children
|
|
218
222
|
});
|
|
219
223
|
};
|
|
220
|
-
|
|
224
|
+
var A = ({ children }) => {
|
|
221
225
|
return /* @__PURE__ */ jsx("div", {
|
|
222
226
|
className: classNames(styles["panel__content__item"], styles["panel__content__item--a"]),
|
|
223
227
|
children
|
|
224
228
|
});
|
|
225
229
|
};
|
|
226
|
-
|
|
230
|
+
var B = ({ children }) => {
|
|
227
231
|
return /* @__PURE__ */ jsx("div", {
|
|
228
232
|
className: classNames(styles["panel__content__item"], styles["panel__content__item--b"]),
|
|
229
233
|
children
|
|
230
234
|
});
|
|
231
235
|
};
|
|
232
|
-
|
|
236
|
+
var C = ({ children }) => {
|
|
233
237
|
return /* @__PURE__ */ jsx("div", {
|
|
234
238
|
className: classNames(styles["panel__content__item"], styles["panel__content__item--c"]),
|
|
235
239
|
children
|
|
236
240
|
});
|
|
237
241
|
};
|
|
238
|
-
|
|
242
|
+
var ExpandedContent = ({ children }) => {
|
|
239
243
|
return /* @__PURE__ */ jsx("div", {
|
|
240
244
|
className: classNames(styles["panel__expander__content"]),
|
|
241
245
|
children
|
|
@@ -249,7 +253,10 @@ Panel.A = A;
|
|
|
249
253
|
Panel.B = B;
|
|
250
254
|
Panel.C = C;
|
|
251
255
|
Panel.ExpandedContent = ExpandedContent;
|
|
256
|
+
//#endregion
|
|
257
|
+
//#region src/components/Panel/index.ts
|
|
252
258
|
var Panel_default = Panel;
|
|
259
|
+
//#endregion
|
|
253
260
|
export { A, B, C, ExpandedContent, PanelLayout, PanelStacking, PanelStatus, PanelVariant, PreContainer, Panel_default as default };
|
|
254
261
|
|
|
255
262
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["PanelRoot: React.FC<PanelProps>","mergedResources: HNDesignsystemPanel","newPreContainer: React.ReactNode[]","newTitle: React.ReactNode[]","newContent: React.ReactNode[]","newExpandableContent: React.ReactNode[]","PreContainer: React.FC<ContentProps>","A: React.FC<ContentProps>","B: React.FC<ContentProps>","C: React.FC<ContentProps>","ExpandedContent: React.FC<ContentProps>"],"sources":["../../../src/resources/HN.Designsystem.Panel.en-GB.json","../../../src/resources/HN.Designsystem.Panel.nb-NO.json","../../../src/components/Panel/resourceHelper.ts","../../../src/components/Panel/Panel.tsx","../../../src/components/Panel/index.ts"],"sourcesContent":["{\n \"expandButtonOpen\": \"See details\",\n \"expandButtonClose\": \"Hide details\"\n}\n","{\n \"expandButtonOpen\": \"Se detaljer\",\n \"expandButtonClose\": \"Skjul detaljer\"\n}\n","import type { HNDesignsystemPanel } from '../../resources/Resources';\n\nimport { LanguageLocales } from '../../constants';\nimport enGB from '../../resources/HN.Designsystem.Panel.en-GB.json';\nimport nbNO from '../../resources/HN.Designsystem.Panel.nb-NO.json';\n\nexport const getResources = (language: LanguageLocales): HNDesignsystemPanel => {\n switch (language) {\n case LanguageLocales.ENGLISH:\n return enGB;\n case LanguageLocales.NORWEGIAN:\n default:\n return nbNO;\n }\n};\n","import React from 'react';\n\nimport classNames from 'classnames';\n\nimport type { PanelTitleProps } from './PanelTitle';\nimport type { HNDesignsystemPanel } from '../../resources/Resources';\nimport type { PaletteNames } from '../../theme/palette';\n\nimport { LanguageLocales } from '../../constants';\nimport { useExpand } from '../../hooks/useExpand';\nimport Button from '../Button';\nimport Icon, { IconSize } from '../Icon';\nimport { PanelLayout, PanelStacking, PanelStatus, PanelVariant } from './constants';\nimport PanelTitle from './PanelTitle';\nimport { getResources } from './resourceHelper';\nimport { useLanguage } from '../../hooks/useLanguage';\nimport { isComponent } from '../../utils/component';\nimport Highlighter from '../Highlighter';\nimport ChevronDown from '../Icons/ChevronDown';\nimport ChevronRight from '../Icons/ChevronRight';\nimport ChevronUp from '../Icons/ChevronUp';\nimport { PanelListContext } from '../PanelList/utils';\n\nimport styles from './styles.module.scss';\n\nexport type PanelColors = Extract<PaletteNames, 'white' | 'neutral'>;\n\nexport interface PanelProps {\n /** Aria label on call to action button */\n buttonBottomAriaLabel?: string;\n /** Sets the text on the bottom call to action button */\n buttonBottomText?: string;\n /** Sets the action on the bottom call to action button */\n buttonBottomOnClick?: () => void;\n /** Expands or collapses the panel. Only applicable when ExpandedContent is used */\n expanded?: boolean;\n /** Whether the panel can be focused */\n focusable?: boolean;\n /** Sets the layout and order of the content boxes */\n layout?: PanelLayout;\n /** Sets the visual variant of panel */\n variant?: PanelVariant;\n /** Sets the color for panel if it has variant fill */\n color?: PanelColors;\n /** Sets classes on the outermost container of the panel */\n className?: string;\n /** Action called when toggling expansion of ExpandedContent */\n onExpand?: (isExpanded?: boolean) => void;\n /** Sets the stacking order of the content boxes */\n stacking?: PanelStacking;\n /** Sets the data-testid attribute. */\n testId?: string;\n /** Children elements to be rendered inside the panel */\n children?: React.ReactNode;\n /** Displays a status on the left side: default normal */\n status?: PanelStatus;\n /** Resources for component */\n resources?: Partial<HNDesignsystemPanel>;\n /** Highlights text in title and content. Used for search results */\n highlightText?: string;\n /** Ref passed to the panel container */\n ref?: React.Ref<HTMLDivElement | null>;\n}\n\nconst ExpandButton = ({\n onClick,\n isExpanded,\n resources,\n}: {\n onClick: () => void;\n isExpanded: boolean | undefined;\n resources: Partial<HNDesignsystemPanel>;\n}): React.JSX.Element => {\n const buttonClassName = classNames(styles['expander__button'], isExpanded && styles['expander__button--expanded']);\n\n return (\n <Button\n variant=\"borderless\"\n textClassName={styles['expander__button__text']}\n wrapperClassName={buttonClassName}\n aria-expanded={isExpanded}\n onClick={onClick}\n >\n <Icon svgIcon={isExpanded ? ChevronUp : ChevronDown} size={IconSize.XSmall} />\n <span>{isExpanded ? resources.expandButtonClose : resources.expandButtonOpen}</span>\n </Button>\n );\n};\nconst PanelRoot: React.FC<PanelProps> = ({\n layout = PanelLayout.vertical,\n variant = PanelVariant.fill,\n color = 'neutral',\n stacking = PanelStacking.default,\n testId,\n children,\n expanded = false,\n focusable,\n status = PanelStatus.none,\n buttonBottomAriaLabel,\n buttonBottomOnClick,\n buttonBottomText,\n className,\n resources,\n onExpand,\n highlightText,\n ref,\n}: PanelProps) => {\n const panelListContext = React.useContext(PanelListContext);\n const [preContainer, setPreContainer] = React.useState<React.ReactNode[]>([]);\n const [title, setTitle] = React.useState<React.ReactNode[]>([]);\n const [content, setContent] = React.useState<React.ReactNode[]>([]);\n const [expandableContent, setExpandableContent] = React.useState<React.ReactNode[]>([]);\n const [hasIcon, setHasIcon] = React.useState(false);\n const [isExpanded, setIsExpanded] = useExpand(expanded, onExpand);\n const localRef = React.useRef<HTMLDivElement>(null);\n const panelRef = ref ?? localRef;\n const expandedContentRef = React.useRef<HTMLDivElement>(null);\n const defaultScroll = 100;\n\n // Use context values if available, otherwise use props\n const effectiveVariant = panelListContext?.variant ?? variant;\n const effectiveHighlightText = panelListContext?.highlightText ?? highlightText;\n const effectiveClassName = panelListContext?.applyPanelClassName(className) ?? className;\n\n const { language } = useLanguage<LanguageLocales>(LanguageLocales.NORWEGIAN);\n const defaultResources = getResources(language);\n\n const mergedResources: HNDesignsystemPanel = {\n ...defaultResources,\n ...resources,\n };\n\n React.useEffect(() => {\n let index = 0;\n let localHasIcon = false;\n const newPreContainer: React.ReactNode[] = [];\n const newTitle: React.ReactNode[] = [];\n const newContent: React.ReactNode[] = [];\n const newExpandableContent: React.ReactNode[] = [];\n\n React.Children.forEach(children, child => {\n if (React.isValidElement(child)) {\n const key = child.key ?? `panel-child-${index++}`;\n\n if (child.type === PreContainer) {\n newPreContainer.push(React.cloneElement(child, { key }));\n } else if (isComponent<PanelTitleProps>(child, PanelTitle)) {\n newTitle.push(\n React.cloneElement(child as React.ReactElement<PanelTitleProps>, {\n key,\n highlightText: child.props.highlightText || effectiveHighlightText,\n })\n );\n if (child.props.icon) {\n localHasIcon = true;\n }\n } else if (child.type === A || child.type === B || child.type === C) {\n newContent.push(React.cloneElement(child, { key }));\n } else if (child.type === ExpandedContent) {\n newExpandableContent.push(React.cloneElement(child, { key }));\n }\n }\n });\n\n setPreContainer(newPreContainer);\n setTitle(newTitle);\n setContent(newContent);\n setExpandableContent(newExpandableContent);\n setHasIcon(localHasIcon);\n }, [children]);\n\n React.useEffect(() => {\n if (expanded) {\n // Hvis panel åpnes controlled skal ikke scroll skje\n return;\n }\n // Scroller oppover når expanded content åpnes uncontrolled\n if (isExpanded) {\n if ('current' in panelRef && panelRef.current && expandedContentRef.current) {\n const panelRect = panelRef.current.getBoundingClientRect();\n const expandedContentRect = expandedContentRef.current.getBoundingClientRect();\n\n const scrollAmount = Math.min(defaultScroll, panelRect.top - 20);\n\n // Scroller kun oppover, og kun dersom expandedContent havner utenfor skjermen når åpnet\n if (scrollAmount > 0 && expandedContentRect.bottom > window.innerHeight) {\n const prefersReducedMotion = window.matchMedia('(prefers-reduced-motion: reduce)').matches;\n if (prefersReducedMotion) {\n return;\n }\n window.scrollBy({\n top: scrollAmount,\n behavior: 'smooth',\n });\n }\n }\n }\n }, [isExpanded]);\n\n const colorScheme = effectiveVariant === PanelVariant.fill ? color : 'white';\n\n const outerClassnames = classNames(effectiveClassName, {\n [styles['panel__border--outline--outer']]: effectiveVariant === PanelVariant.outline,\n [styles['panel__border--line']]: effectiveVariant === PanelVariant.line,\n [styles['panel__border--fill--neutral']]: effectiveVariant === PanelVariant.fill && colorScheme === 'neutral',\n [styles['panel__border--fill--new']]: effectiveVariant === PanelVariant.fill && status === PanelStatus.new,\n [styles['panel__border--fill--status']]: effectiveVariant === PanelVariant.fill && status !== PanelStatus.none,\n });\n const panelClassnames = classNames(styles['panel'], styles[`panel--${colorScheme}`], styles['panel--status'], {\n [styles['panel--line']]: effectiveVariant === PanelVariant.line,\n [styles['panel--new']]: status === PanelStatus.new,\n [styles['panel--draft']]: status === PanelStatus.draft,\n [styles['panel--error']]: status === PanelStatus.error,\n [styles['panel--icon']]: hasIcon,\n });\n const contentContainerLayout = classNames(styles['panel__content'], styles[`panel__content--${layout}`], {\n [styles[`panel__content--b-first`]]: stacking === PanelStacking.bFirst,\n });\n const expanderBorderLayout = classNames({\n [styles['panel__expander__border--expanded']]: isExpanded && status === PanelStatus.none,\n [styles[`panel__expander__border--not-expanded--${colorScheme}`]]: !isExpanded && status === PanelStatus.none,\n [styles[`panel__expander__border--not-expanded--line`]]:\n !isExpanded && status === PanelStatus.none && effectiveVariant === PanelVariant.line,\n });\n\n const handleExpandClick = (): void => {\n setIsExpanded(!isExpanded);\n };\n\n return expandableContent.length > 0 ? (\n <div className={outerClassnames}>\n <div className={classNames({ [styles['panel__border--outline--inner']]: effectiveVariant === PanelVariant.outline })}>\n <div className={expanderBorderLayout}>\n <div className={panelClassnames} data-testid={testId} ref={panelRef} tabIndex={focusable ? -1 : undefined}>\n <Highlighter searchText={effectiveHighlightText}>\n {preContainer}\n {title}\n </Highlighter>\n <div className={contentContainerLayout}>\n <Highlighter searchText={effectiveHighlightText}>{content}</Highlighter>\n </div>\n <ExpandButton onClick={handleExpandClick} isExpanded={isExpanded} resources={mergedResources} />\n {isExpanded && (\n <div ref={expandedContentRef} data-testid={testId + '-details'}>\n <div className={styles['panel__expander__separator']} />\n <Highlighter searchText={effectiveHighlightText}>{expandableContent}</Highlighter>\n </div>\n )}\n </div>\n </div>\n </div>\n </div>\n ) : (\n <div className={outerClassnames}>\n <div className={classNames({ [styles['panel__border--outline--inner']]: effectiveVariant === PanelVariant.outline })}>\n <div className={panelClassnames} data-testid={testId} ref={panelRef} tabIndex={focusable ? -1 : undefined}>\n <Highlighter searchText={effectiveHighlightText}>\n {preContainer}\n {title}\n </Highlighter>\n <div className={contentContainerLayout}>\n <Highlighter searchText={effectiveHighlightText}>{content}</Highlighter>\n </div>\n {buttonBottomText && buttonBottomOnClick && (\n <div className={styles['panel__button-bottom']}>\n <Button variant=\"borderless\" type=\"button\" size=\"medium\" onClick={buttonBottomOnClick} aria-label={buttonBottomAriaLabel}>\n {buttonBottomText}\n <Icon svgIcon={ChevronRight} size={IconSize.XSmall} />\n </Button>\n </div>\n )}\n </div>\n </div>\n </div>\n );\n};\n\nexport interface ContentProps {\n /** Children elements to be rendered inside the content box */\n children?: React.ReactNode;\n}\n\nexport const PreContainer: React.FC<ContentProps> = ({ children }) => {\n return <div className={styles['panel__pre-container']}>{children}</div>;\n};\n\nexport const A: React.FC<ContentProps> = ({ children }) => {\n const styling = classNames(styles['panel__content__item'], styles['panel__content__item--a']);\n return <div className={styling}>{children}</div>;\n};\n\nexport const B: React.FC<ContentProps> = ({ children }) => {\n const styling = classNames(styles['panel__content__item'], styles['panel__content__item--b']);\n return <div className={styling}>{children}</div>;\n};\n\nexport const C: React.FC<ContentProps> = ({ children }) => {\n const styling = classNames(styles['panel__content__item'], styles['panel__content__item--c']);\n return <div className={styling}>{children}</div>;\n};\n\nexport const ExpandedContent: React.FC<ContentProps> = ({ children }) => {\n const styling = classNames(styles['panel__expander__content']);\n return <div className={styling}>{children}</div>;\n};\n\ntype PanelComponent = typeof PanelRoot & {\n PreContainer: React.FC<ContentProps>;\n Title: React.FC<PanelTitleProps>;\n A: React.FC<ContentProps>;\n B: React.FC<ContentProps>;\n C: React.FC<ContentProps>;\n ExpandedContent: React.FC<ContentProps>;\n};\nPanelRoot.displayName = 'Panel';\nconst Panel = PanelRoot as PanelComponent;\nPanel.PreContainer = PreContainer;\nPanel.Title = PanelTitle;\nPanel.A = A;\nPanel.B = B;\nPanel.C = C;\nPanel.ExpandedContent = ExpandedContent;\n\nexport default Panel;\n","import Panel from './Panel';\nexport { PanelLayout, PanelStacking, PanelStatus, PanelVariant } from './constants';\nexport * from './Panel';\nexport default Panel;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../../src/resources/HN.Designsystem.Panel.en-GB.json","../../../src/resources/HN.Designsystem.Panel.nb-NO.json","../../../src/components/Panel/resourceHelper.ts","../../../src/components/Panel/Panel.tsx","../../../src/components/Panel/index.ts"],"sourcesContent":["{\n \"expandButtonOpen\": \"See details\",\n \"expandButtonClose\": \"Hide details\"\n}\n","{\n \"expandButtonOpen\": \"Se detaljer\",\n \"expandButtonClose\": \"Skjul detaljer\"\n}\n","import type { HNDesignsystemPanel } from '../../resources/Resources';\n\nimport { LanguageLocales } from '../../constants';\nimport enGB from '../../resources/HN.Designsystem.Panel.en-GB.json';\nimport nbNO from '../../resources/HN.Designsystem.Panel.nb-NO.json';\n\nexport const getResources = (language: LanguageLocales): HNDesignsystemPanel => {\n switch (language) {\n case LanguageLocales.ENGLISH:\n return enGB;\n case LanguageLocales.NORWEGIAN:\n default:\n return nbNO;\n }\n};\n","import React from 'react';\n\nimport classNames from 'classnames';\n\nimport type { PanelTitleProps } from './PanelTitle';\nimport type { HNDesignsystemPanel } from '../../resources/Resources';\nimport type { PaletteNames } from '../../theme/palette';\n\nimport { LanguageLocales } from '../../constants';\nimport { useExpand } from '../../hooks/useExpand';\nimport Button from '../Button';\nimport Icon, { IconSize } from '../Icon';\nimport { PanelLayout, PanelStacking, PanelStatus, PanelVariant } from './constants';\nimport PanelTitle from './PanelTitle';\nimport { getResources } from './resourceHelper';\nimport { useLanguage } from '../../hooks/useLanguage';\nimport { isComponent } from '../../utils/component';\nimport Highlighter from '../Highlighter';\nimport ChevronDown from '../Icons/ChevronDown';\nimport ChevronRight from '../Icons/ChevronRight';\nimport ChevronUp from '../Icons/ChevronUp';\nimport { PanelListContext } from '../PanelList/utils';\n\nimport styles from './styles.module.scss';\n\nexport type PanelColors = Extract<PaletteNames, 'white' | 'neutral'>;\n\nexport interface PanelProps {\n /** Aria label on call to action button */\n buttonBottomAriaLabel?: string;\n /** Sets the text on the bottom call to action button */\n buttonBottomText?: string;\n /** Sets the action on the bottom call to action button */\n buttonBottomOnClick?: () => void;\n /** Expands or collapses the panel. Only applicable when ExpandedContent is used */\n expanded?: boolean;\n /** Whether the panel can be focused */\n focusable?: boolean;\n /** Sets the layout and order of the content boxes */\n layout?: PanelLayout;\n /** Sets the visual variant of panel */\n variant?: PanelVariant;\n /** Sets the color for panel if it has variant fill */\n color?: PanelColors;\n /** Sets classes on the outermost container of the panel */\n className?: string;\n /** Action called when toggling expansion of ExpandedContent */\n onExpand?: (isExpanded?: boolean) => void;\n /** Sets the stacking order of the content boxes */\n stacking?: PanelStacking;\n /** Sets the data-testid attribute. */\n testId?: string;\n /** Children elements to be rendered inside the panel */\n children?: React.ReactNode;\n /** Displays a status on the left side: default normal */\n status?: PanelStatus;\n /** Resources for component */\n resources?: Partial<HNDesignsystemPanel>;\n /** Highlights text in title and content. Used for search results */\n highlightText?: string;\n /** Ref passed to the panel container */\n ref?: React.Ref<HTMLDivElement | null>;\n}\n\nconst ExpandButton = ({\n onClick,\n isExpanded,\n resources,\n}: {\n onClick: () => void;\n isExpanded: boolean | undefined;\n resources: Partial<HNDesignsystemPanel>;\n}): React.JSX.Element => {\n const buttonClassName = classNames(styles['expander__button'], isExpanded && styles['expander__button--expanded']);\n\n return (\n <Button\n variant=\"borderless\"\n textClassName={styles['expander__button__text']}\n wrapperClassName={buttonClassName}\n aria-expanded={isExpanded}\n onClick={onClick}\n >\n <Icon svgIcon={isExpanded ? ChevronUp : ChevronDown} size={IconSize.XSmall} />\n <span>{isExpanded ? resources.expandButtonClose : resources.expandButtonOpen}</span>\n </Button>\n );\n};\nconst PanelRoot: React.FC<PanelProps> = ({\n layout = PanelLayout.vertical,\n variant = PanelVariant.fill,\n color = 'neutral',\n stacking = PanelStacking.default,\n testId,\n children,\n expanded = false,\n focusable,\n status = PanelStatus.none,\n buttonBottomAriaLabel,\n buttonBottomOnClick,\n buttonBottomText,\n className,\n resources,\n onExpand,\n highlightText,\n ref,\n}: PanelProps) => {\n const panelListContext = React.useContext(PanelListContext);\n const [preContainer, setPreContainer] = React.useState<React.ReactNode[]>([]);\n const [title, setTitle] = React.useState<React.ReactNode[]>([]);\n const [content, setContent] = React.useState<React.ReactNode[]>([]);\n const [expandableContent, setExpandableContent] = React.useState<React.ReactNode[]>([]);\n const [hasIcon, setHasIcon] = React.useState(false);\n const [isExpanded, setIsExpanded] = useExpand(expanded, onExpand);\n const localRef = React.useRef<HTMLDivElement>(null);\n const panelRef = ref ?? localRef;\n const expandedContentRef = React.useRef<HTMLDivElement>(null);\n const defaultScroll = 100;\n\n // Use context values if available, otherwise use props\n const effectiveVariant = panelListContext?.variant ?? variant;\n const effectiveHighlightText = panelListContext?.highlightText ?? highlightText;\n const effectiveClassName = panelListContext?.applyPanelClassName(className) ?? className;\n\n const { language } = useLanguage<LanguageLocales>(LanguageLocales.NORWEGIAN);\n const defaultResources = getResources(language);\n\n const mergedResources: HNDesignsystemPanel = {\n ...defaultResources,\n ...resources,\n };\n\n React.useEffect(() => {\n let index = 0;\n let localHasIcon = false;\n const newPreContainer: React.ReactNode[] = [];\n const newTitle: React.ReactNode[] = [];\n const newContent: React.ReactNode[] = [];\n const newExpandableContent: React.ReactNode[] = [];\n\n React.Children.forEach(children, child => {\n if (React.isValidElement(child)) {\n const key = child.key ?? `panel-child-${index++}`;\n\n if (child.type === PreContainer) {\n newPreContainer.push(React.cloneElement(child, { key }));\n } else if (isComponent<PanelTitleProps>(child, PanelTitle)) {\n newTitle.push(\n React.cloneElement(child as React.ReactElement<PanelTitleProps>, {\n key,\n highlightText: child.props.highlightText || effectiveHighlightText,\n })\n );\n if (child.props.icon) {\n localHasIcon = true;\n }\n } else if (child.type === A || child.type === B || child.type === C) {\n newContent.push(React.cloneElement(child, { key }));\n } else if (child.type === ExpandedContent) {\n newExpandableContent.push(React.cloneElement(child, { key }));\n }\n }\n });\n\n setPreContainer(newPreContainer);\n setTitle(newTitle);\n setContent(newContent);\n setExpandableContent(newExpandableContent);\n setHasIcon(localHasIcon);\n }, [children]);\n\n React.useEffect(() => {\n if (expanded) {\n // Hvis panel åpnes controlled skal ikke scroll skje\n return;\n }\n // Scroller oppover når expanded content åpnes uncontrolled\n if (isExpanded) {\n if ('current' in panelRef && panelRef.current && expandedContentRef.current) {\n const panelRect = panelRef.current.getBoundingClientRect();\n const expandedContentRect = expandedContentRef.current.getBoundingClientRect();\n\n const scrollAmount = Math.min(defaultScroll, panelRect.top - 20);\n\n // Scroller kun oppover, og kun dersom expandedContent havner utenfor skjermen når åpnet\n if (scrollAmount > 0 && expandedContentRect.bottom > window.innerHeight) {\n const prefersReducedMotion = window.matchMedia('(prefers-reduced-motion: reduce)').matches;\n if (prefersReducedMotion) {\n return;\n }\n window.scrollBy({\n top: scrollAmount,\n behavior: 'smooth',\n });\n }\n }\n }\n }, [isExpanded]);\n\n const colorScheme = effectiveVariant === PanelVariant.fill ? color : 'white';\n\n const outerClassnames = classNames(effectiveClassName, {\n [styles['panel__border--outline--outer']]: effectiveVariant === PanelVariant.outline,\n [styles['panel__border--line']]: effectiveVariant === PanelVariant.line,\n [styles['panel__border--fill--neutral']]: effectiveVariant === PanelVariant.fill && colorScheme === 'neutral',\n [styles['panel__border--fill--new']]: effectiveVariant === PanelVariant.fill && status === PanelStatus.new,\n [styles['panel__border--fill--status']]: effectiveVariant === PanelVariant.fill && status !== PanelStatus.none,\n });\n const panelClassnames = classNames(styles['panel'], styles[`panel--${colorScheme}`], styles['panel--status'], {\n [styles['panel--line']]: effectiveVariant === PanelVariant.line,\n [styles['panel--new']]: status === PanelStatus.new,\n [styles['panel--draft']]: status === PanelStatus.draft,\n [styles['panel--error']]: status === PanelStatus.error,\n [styles['panel--icon']]: hasIcon,\n });\n const contentContainerLayout = classNames(styles['panel__content'], styles[`panel__content--${layout}`], {\n [styles[`panel__content--b-first`]]: stacking === PanelStacking.bFirst,\n });\n const expanderBorderLayout = classNames({\n [styles['panel__expander__border--expanded']]: isExpanded && status === PanelStatus.none,\n [styles[`panel__expander__border--not-expanded--${colorScheme}`]]: !isExpanded && status === PanelStatus.none,\n [styles[`panel__expander__border--not-expanded--line`]]:\n !isExpanded && status === PanelStatus.none && effectiveVariant === PanelVariant.line,\n });\n\n const handleExpandClick = (): void => {\n setIsExpanded(!isExpanded);\n };\n\n return expandableContent.length > 0 ? (\n <div className={outerClassnames}>\n <div className={classNames({ [styles['panel__border--outline--inner']]: effectiveVariant === PanelVariant.outline })}>\n <div className={expanderBorderLayout}>\n <div className={panelClassnames} data-testid={testId} ref={panelRef} tabIndex={focusable ? -1 : undefined}>\n <Highlighter searchText={effectiveHighlightText}>\n {preContainer}\n {title}\n </Highlighter>\n <div className={contentContainerLayout}>\n <Highlighter searchText={effectiveHighlightText}>{content}</Highlighter>\n </div>\n <ExpandButton onClick={handleExpandClick} isExpanded={isExpanded} resources={mergedResources} />\n {isExpanded && (\n <div ref={expandedContentRef} data-testid={testId + '-details'}>\n <div className={styles['panel__expander__separator']} />\n <Highlighter searchText={effectiveHighlightText}>{expandableContent}</Highlighter>\n </div>\n )}\n </div>\n </div>\n </div>\n </div>\n ) : (\n <div className={outerClassnames}>\n <div className={classNames({ [styles['panel__border--outline--inner']]: effectiveVariant === PanelVariant.outline })}>\n <div className={panelClassnames} data-testid={testId} ref={panelRef} tabIndex={focusable ? -1 : undefined}>\n <Highlighter searchText={effectiveHighlightText}>\n {preContainer}\n {title}\n </Highlighter>\n <div className={contentContainerLayout}>\n <Highlighter searchText={effectiveHighlightText}>{content}</Highlighter>\n </div>\n {buttonBottomText && buttonBottomOnClick && (\n <div className={styles['panel__button-bottom']}>\n <Button variant=\"borderless\" type=\"button\" size=\"medium\" onClick={buttonBottomOnClick} aria-label={buttonBottomAriaLabel}>\n {buttonBottomText}\n <Icon svgIcon={ChevronRight} size={IconSize.XSmall} />\n </Button>\n </div>\n )}\n </div>\n </div>\n </div>\n );\n};\n\nexport interface ContentProps {\n /** Children elements to be rendered inside the content box */\n children?: React.ReactNode;\n}\n\nexport const PreContainer: React.FC<ContentProps> = ({ children }) => {\n return <div className={styles['panel__pre-container']}>{children}</div>;\n};\n\nexport const A: React.FC<ContentProps> = ({ children }) => {\n const styling = classNames(styles['panel__content__item'], styles['panel__content__item--a']);\n return <div className={styling}>{children}</div>;\n};\n\nexport const B: React.FC<ContentProps> = ({ children }) => {\n const styling = classNames(styles['panel__content__item'], styles['panel__content__item--b']);\n return <div className={styling}>{children}</div>;\n};\n\nexport const C: React.FC<ContentProps> = ({ children }) => {\n const styling = classNames(styles['panel__content__item'], styles['panel__content__item--c']);\n return <div className={styling}>{children}</div>;\n};\n\nexport const ExpandedContent: React.FC<ContentProps> = ({ children }) => {\n const styling = classNames(styles['panel__expander__content']);\n return <div className={styling}>{children}</div>;\n};\n\ntype PanelComponent = typeof PanelRoot & {\n PreContainer: React.FC<ContentProps>;\n Title: React.FC<PanelTitleProps>;\n A: React.FC<ContentProps>;\n B: React.FC<ContentProps>;\n C: React.FC<ContentProps>;\n ExpandedContent: React.FC<ContentProps>;\n};\nPanelRoot.displayName = 'Panel';\nconst Panel = PanelRoot as PanelComponent;\nPanel.PreContainer = PreContainer;\nPanel.Title = PanelTitle;\nPanel.A = A;\nPanel.B = B;\nPanel.C = C;\nPanel.ExpandedContent = ExpandedContent;\n\nexport default Panel;\n","import Panel from './Panel';\nexport { PanelLayout, PanelStacking, PanelStatus, PanelVariant } from './constants';\nexport * from './Panel';\nexport default Panel;\n"],"mappings":"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"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { AnalyticsId } from "../../constants.js";
|
|
2
2
|
import { a as PanelVariant, t as PanelListContext } from "../../utils5.js";
|
|
3
3
|
import classNames from "classnames";
|
|
4
4
|
import React from "react";
|
|
5
5
|
import { jsx } from "react/jsx-runtime";
|
|
6
6
|
import styles from "./styles.module.scss";
|
|
7
|
+
//#region src/components/PanelList/PanelList.tsx
|
|
7
8
|
var PanelList = (props) => {
|
|
8
9
|
const { testId, children, variant = PanelVariant.fill, highlightText, ref } = props;
|
|
9
10
|
const contextValue = React.useMemo(() => ({
|
|
@@ -22,7 +23,10 @@ var PanelList = (props) => {
|
|
|
22
23
|
})
|
|
23
24
|
});
|
|
24
25
|
};
|
|
26
|
+
//#endregion
|
|
27
|
+
//#region src/components/PanelList/index.ts
|
|
25
28
|
var PanelList_default = PanelList;
|
|
29
|
+
//#endregion
|
|
26
30
|
export { PanelListContext, PanelList_default as default };
|
|
27
31
|
|
|
28
32
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":[
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../../src/components/PanelList/PanelList.tsx","../../../src/components/PanelList/index.ts"],"sourcesContent":["import React from 'react';\n\nimport classNames from 'classnames';\n\nimport { PanelListContext, type PanelListContextValue } from './utils';\nimport { AnalyticsId } from '../../constants';\nimport { PanelVariant } from '../Panel/constants';\n\nimport styles from './styles.module.scss';\n\nexport interface PanelListProps {\n /** Panels to render inside the PanelList */\n children?: React.ReactNode;\n /** Changes the visual representation of the panel. Default: fill */\n variant?: PanelVariant;\n /** Sets the data-testid attribute. */\n testId?: string;\n /** Highlights text in title and content. Used for search results */\n highlightText?: string;\n /** Ref passed to the container element */\n ref?: React.Ref<HTMLDivElement | null>;\n}\n\nconst PanelList: React.FC<PanelListProps> = (props: PanelListProps) => {\n const { testId, children, variant = PanelVariant.fill, highlightText, ref } = props;\n\n const contextValue: PanelListContextValue = React.useMemo(\n () => ({\n variant,\n highlightText,\n applyPanelClassName: (existingClassName?: string) => classNames(existingClassName, styles[`panel-list__panel--${variant}`]),\n }),\n [variant, highlightText]\n );\n\n return (\n <PanelListContext.Provider value={contextValue}>\n <div\n ref={ref}\n data-testid={testId}\n data-analyticsid={AnalyticsId.PanelList}\n className={classNames({ [styles['panel-list--outline']]: variant === PanelVariant.outline })}\n >\n {children}\n </div>\n </PanelListContext.Provider>\n );\n};\n\nexport default PanelList;\n","import PanelList from './PanelList';\nexport * from './PanelList';\nexport * from './utils';\nexport default PanelList;\n"],"mappings":";;;;;;;AAuBA,IAAM,aAAuC,UAA0B;CACrE,MAAM,EAAE,QAAQ,UAAU,UAAU,aAAa,MAAM,eAAe,QAAQ;CAE9E,MAAM,eAAsC,MAAM,eACzC;EACL;EACA;EACA,sBAAsB,sBAA+B,WAAW,mBAAmB,OAAO,sBAAsB,WAAW;EAC5H,GACD,CAAC,SAAS,cAAc,CACzB;CAED,OACE,oBAAC,iBAAiB,UAAlB;EAA2B,OAAO;YAChC,oBAAC,OAAD;GACO;GACL,eAAa;GACb,oBAAkB,YAAY;GAC9B,WAAW,WAAW,GAAG,OAAO,yBAAyB,YAAY,aAAa,SAAS,CAAC;GAE3F;GACG,CAAA;EACoB,CAAA;;;;AC1ChC,IAAA,oBAAe"}
|
|
@@ -1,31 +1,34 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { AnalyticsId, IconSize } from "../../constants.js";
|
|
2
|
+
import { usePseudoClasses } from "../../hooks/usePseudoClasses.js";
|
|
3
3
|
import { t as Icon_default } from "../../Icon.js";
|
|
4
4
|
import { t as LazyIcon_default } from "../../LazyIcon.js";
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
5
|
+
import { isComponent } from "../../utils/component.js";
|
|
6
|
+
import { useIsMobileBreakpoint } from "../../hooks/useIsMobileBreakpoint.js";
|
|
7
7
|
import { t as Button_default } from "../../Button.js";
|
|
8
|
-
import {
|
|
9
|
-
import
|
|
8
|
+
import { useOutsideEvent } from "../../hooks/useOutsideEvent.js";
|
|
9
|
+
import X from "../Icons/X.js";
|
|
10
10
|
import { t as PopOver_default } from "../../PopOver.js";
|
|
11
|
-
import
|
|
11
|
+
import VerticalDots from "../Icons/VerticalDots.js";
|
|
12
12
|
import { t as LinkList_default } from "../../LinkList.js";
|
|
13
13
|
import classNames from "classnames";
|
|
14
14
|
import React, { useRef, useState } from "react";
|
|
15
15
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
16
16
|
import styles from "./styles.module.scss";
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
PopMenuVariant
|
|
20
|
-
PopMenuVariant
|
|
21
|
-
|
|
17
|
+
//#region src/components/PopMenu/constants.ts
|
|
18
|
+
var PopMenuVariant = /* @__PURE__ */ function(PopMenuVariant) {
|
|
19
|
+
PopMenuVariant["onWhite"] = "on-white";
|
|
20
|
+
PopMenuVariant["onGray"] = "on-gray";
|
|
21
|
+
PopMenuVariant["onBlueberry"] = "on-blueberry";
|
|
22
|
+
return PopMenuVariant;
|
|
22
23
|
}({});
|
|
23
|
-
|
|
24
|
-
PopMenuLabelPosition
|
|
25
|
-
PopMenuLabelPosition
|
|
26
|
-
return PopMenuLabelPosition
|
|
24
|
+
var PopMenuLabelPosition = /* @__PURE__ */ function(PopMenuLabelPosition) {
|
|
25
|
+
PopMenuLabelPosition["right"] = "right";
|
|
26
|
+
PopMenuLabelPosition["left"] = "left";
|
|
27
|
+
return PopMenuLabelPosition;
|
|
27
28
|
}({});
|
|
28
|
-
|
|
29
|
+
//#endregion
|
|
30
|
+
//#region src/components/PopMenu/PopMenu.tsx
|
|
31
|
+
var PopMenu = (props) => {
|
|
29
32
|
const triggerButtonRef = useRef(null);
|
|
30
33
|
const iconRef = useRef(null);
|
|
31
34
|
const outerRef = useRef(null);
|
|
@@ -48,7 +51,7 @@ const PopMenu = (props) => {
|
|
|
48
51
|
controllerRef: iconRef,
|
|
49
52
|
role: "dialog",
|
|
50
53
|
show: isOpen,
|
|
51
|
-
children: React.Children.map(children, (child) => React.cloneElement(child, { children: React.Children.map(child.props.children, (child
|
|
54
|
+
children: React.Children.map(children, (child) => React.cloneElement(child, { children: React.Children.map(child.props.children, (child) => isComponent(child, LinkList_default.Link) ? React.cloneElement(child, { onClick: (event) => handleClick(() => child.props.onClick && child.props.onClick(event)) }) : child) }))
|
|
52
55
|
});
|
|
53
56
|
};
|
|
54
57
|
const toggleOpenOnClick = () => {
|
|
@@ -65,12 +68,12 @@ const PopMenu = (props) => {
|
|
|
65
68
|
});
|
|
66
69
|
const openIcon = svgIcon ? iconComponent : /* @__PURE__ */ jsx(Icon_default, {
|
|
67
70
|
ref: iconRef,
|
|
68
|
-
svgIcon: svgIcon ??
|
|
71
|
+
svgIcon: svgIcon ?? VerticalDots,
|
|
69
72
|
size: mobileIconSize,
|
|
70
73
|
isHovered: triggerButtonIsHovered
|
|
71
74
|
});
|
|
72
75
|
const closeIcon = /* @__PURE__ */ jsx(Icon_default, {
|
|
73
|
-
svgIcon:
|
|
76
|
+
svgIcon: X,
|
|
74
77
|
ref: iconRef,
|
|
75
78
|
size: mobileIconSize,
|
|
76
79
|
isHovered: triggerButtonIsHovered
|
|
@@ -94,7 +97,10 @@ const PopMenu = (props) => {
|
|
|
94
97
|
}), isOpen && renderChildren()]
|
|
95
98
|
});
|
|
96
99
|
};
|
|
100
|
+
//#endregion
|
|
101
|
+
//#region src/components/PopMenu/index.ts
|
|
97
102
|
var PopMenu_default = PopMenu;
|
|
103
|
+
//#endregion
|
|
98
104
|
export { PopMenu, PopMenuLabelPosition, PopMenuVariant, PopMenu_default as default };
|
|
99
105
|
|
|
100
106
|
//# sourceMappingURL=index.js.map
|