@helsenorge/designsystem-react 6.0.0-beta.9 → 6.0.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/CHANGELOG.md +251 -0
- package/components/AnchorLink/AnchorLink.js +7 -7
- package/components/AnchorLink/AnchorLink.js.map +1 -1
- package/components/AnchorLink/styles.module.scss +0 -11
- package/components/Avatar/Avatar.js.map +1 -1
- package/components/Badge/Badge.js +5 -5
- package/components/Badge/Badge.js.map +1 -1
- package/components/Button/Button.d.ts +2 -0
- package/components/Button/Button.d.ts.map +1 -1
- package/components/Button/Button.js +78 -72
- package/components/Button/Button.js.map +1 -1
- package/components/Button/styles.module.scss +30 -24
- package/components/Button/styles.module.scss.d.ts +2 -0
- package/components/ButtonWithModal/ButtonWithModal.js +6 -6
- package/components/ButtonWithModal/ButtonWithModal.js.map +1 -1
- package/components/Checkbox/Checkbox.js +9 -9
- package/components/Checkbox/Checkbox.js.map +1 -1
- package/components/Close/Close.d.ts +1 -1
- package/components/Close/Close.d.ts.map +1 -1
- package/components/Close/Close.js +9 -9
- package/components/Close/Close.js.map +1 -1
- package/components/DictionaryTrigger/DictionaryTrigger.js +12 -12
- package/components/DictionaryTrigger/DictionaryTrigger.js.map +1 -1
- package/components/Dropdown/Dropdown.js.map +1 -1
- package/components/Dropdown/styles.module.scss +2 -2
- package/components/Duolist/Duolist.js +7 -7
- package/components/Duolist/Duolist.js.map +1 -1
- package/components/EmptyState/EmptyState.d.ts +13 -0
- package/components/EmptyState/EmptyState.d.ts.map +1 -0
- package/components/EmptyState/EmptyState.js +10 -0
- package/components/EmptyState/EmptyState.js.map +1 -0
- package/components/EmptyState/NobodyHome.d.ts +4 -0
- package/components/EmptyState/NobodyHome.d.ts.map +1 -0
- package/components/EmptyState/NobodyHome.js +155 -0
- package/components/EmptyState/NobodyHome.js.map +1 -0
- package/components/EmptyState/index.d.ts +4 -0
- package/components/EmptyState/index.d.ts.map +1 -0
- package/components/EmptyState/index.js +5 -0
- package/components/EmptyState/index.js.map +1 -0
- package/components/EmptyState/styles.module.scss +26 -0
- package/components/EmptyState/styles.module.scss.d.ts +10 -0
- package/components/ErrorWrapper/ErrorWrapper.js +4 -4
- package/components/ErrorWrapper/ErrorWrapper.js.map +1 -1
- package/components/Expander/Expander.js +10 -10
- package/components/Expander/Expander.js.map +1 -1
- package/components/ExpanderHierarchy/Expander.js +8 -8
- package/components/ExpanderHierarchy/Expander.js.map +1 -1
- package/components/ExpanderHierarchy/ExpanderButton.js +7 -7
- package/components/ExpanderHierarchy/ExpanderButton.js.map +1 -1
- package/components/ExpanderHierarchy/ExpanderHierarchy.js +5 -5
- package/components/ExpanderHierarchy/ExpanderHierarchy.js.map +1 -1
- package/components/ExpanderList/ExpanderList.d.ts +0 -7
- package/components/ExpanderList/ExpanderList.d.ts.map +1 -1
- package/components/ExpanderList/ExpanderList.js +102 -115
- package/components/ExpanderList/ExpanderList.js.map +1 -1
- package/components/FormExample/FormExample.js +5 -5
- package/components/FormExample/FormExample.js.map +1 -1
- package/components/FormGroup/FormGroup.js +4 -4
- package/components/FormGroup/FormGroup.js.map +1 -1
- package/components/FormGroup/styles.module.scss +3 -3
- package/components/FormLayout/FormLayout.js +4 -4
- package/components/FormLayout/FormLayout.js.map +1 -1
- package/components/GridExample/GridExample.js.map +1 -1
- package/components/HelpBubble/HelpBubble.js +14 -14
- package/components/HelpBubble/HelpBubble.js.map +1 -1
- package/components/HelpBubbleExample/HelpBubbleExample.js.map +1 -1
- package/components/HelpPanel/HelpPanel.js +2 -2
- package/components/HelpPanel/HelpPanel.js.map +1 -1
- package/components/HelpQuestion/HelpQuestion.js +8 -8
- package/components/HelpQuestion/HelpQuestion.js.map +1 -1
- package/components/HighlightBox/HighlightBox.js +3 -3
- package/components/HighlightBox/HighlightBox.js.map +1 -1
- package/components/HorizontalScroll/HorizontalScroll.d.ts +2 -1
- package/components/HorizontalScroll/HorizontalScroll.d.ts.map +1 -1
- package/components/HorizontalScroll/HorizontalScroll.js +39 -25
- package/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
- package/components/HorizontalScroll/styles.module.scss +1 -2
- package/components/Icon/Icon.js +10 -10
- package/components/Icon/Icon.js.map +1 -1
- package/components/Icons/ActiveMonitoring.js +3 -3
- package/components/Icons/ActiveMonitoring.js.map +1 -1
- package/components/Icons/AcupunctureBack.js +2 -2
- package/components/Icons/AcupunctureBack.js.map +1 -1
- package/components/Icons/AdditionalIconInformation.d.ts +44 -0
- package/components/Icons/AdditionalIconInformation.d.ts.map +1 -1
- package/components/Icons/AdditionalIconInformation.js +12 -1
- package/components/Icons/AdditionalIconInformation.js.map +1 -1
- package/components/Icons/AlarmClock.js.map +1 -1
- package/components/Icons/AlertSignFill.js.map +1 -1
- package/components/Icons/AlertSignStroke.js +2 -2
- package/components/Icons/AlertSignStroke.js.map +1 -1
- package/components/Icons/Amputation.js.map +1 -1
- package/components/Icons/Anxiety.js.map +1 -1
- package/components/Icons/Apple.js.map +1 -1
- package/components/Icons/Archive.js.map +1 -1
- package/components/Icons/ArmFlexing.js +3 -3
- package/components/Icons/ArmFlexing.js.map +1 -1
- package/components/Icons/ArrowDown.js +2 -2
- package/components/Icons/ArrowDown.js.map +1 -1
- package/components/Icons/ArrowLeft.js.map +1 -1
- package/components/Icons/ArrowRight.js.map +1 -1
- package/components/Icons/ArrowUp.js +3 -3
- package/components/Icons/ArrowUp.js.map +1 -1
- package/components/Icons/ArrowUpRight.js.map +1 -1
- package/components/Icons/Attachment.js.map +1 -1
- package/components/Icons/Atv.js.map +1 -1
- package/components/Icons/Avatar.js.map +1 -1
- package/components/Icons/AwakePersonOnPillow.js.map +1 -1
- package/components/Icons/Baby.js.map +1 -1
- package/components/Icons/BandAid.js.map +1 -1
- package/components/Icons/BeerAndPills.js.map +1 -1
- package/components/Icons/Bell.js +2 -2
- package/components/Icons/Bell.js.map +1 -1
- package/components/Icons/Bike.js.map +1 -1
- package/components/Icons/BirthControl.js.map +1 -1
- package/components/Icons/BirthdayCake.js +2 -2
- package/components/Icons/BirthdayCake.js.map +1 -1
- package/components/Icons/Boat.js.map +1 -1
- package/components/Icons/Body.js.map +1 -1
- package/components/Icons/Braille.d.ts +5 -0
- package/components/Icons/Braille.d.ts.map +1 -0
- package/components/Icons/Braille.js +7 -0
- package/components/Icons/Braille.js.map +1 -0
- package/components/Icons/Brain.js +2 -2
- package/components/Icons/Brain.js.map +1 -1
- package/components/Icons/BreastReconstruction.js.map +1 -1
- package/components/Icons/BreastRemoval.js +2 -2
- package/components/Icons/BreastRemoval.js.map +1 -1
- package/components/Icons/Breasts.js.map +1 -1
- package/components/Icons/BrokenHeart.js +1 -1
- package/components/Icons/BrokenHeart.js.map +1 -1
- package/components/Icons/BrokenPuzzle.js +2 -2
- package/components/Icons/BrokenPuzzle.js.map +1 -1
- package/components/Icons/Bus.js.map +1 -1
- package/components/Icons/Calendar.js.map +1 -1
- package/components/Icons/CalendarChange.js.map +1 -1
- package/components/Icons/CalendarCheck.js.map +1 -1
- package/components/Icons/CalendarEvent.js +2 -2
- package/components/Icons/CalendarEvent.js.map +1 -1
- package/components/Icons/CalendarSave.js.map +1 -1
- package/components/Icons/Cancer.js.map +1 -1
- package/components/Icons/Candle.js +2 -2
- package/components/Icons/Candle.js.map +1 -1
- package/components/Icons/Car.js.map +1 -1
- package/components/Icons/Change.js.map +1 -1
- package/components/Icons/Check.js +2 -2
- package/components/Icons/Check.js.map +1 -1
- package/components/Icons/CheckFill.js +2 -2
- package/components/Icons/CheckFill.js.map +1 -1
- package/components/Icons/CheckOutline.js.map +1 -1
- package/components/Icons/Chest.js.map +1 -1
- package/components/Icons/ChevronDown.js.map +1 -1
- package/components/Icons/ChevronLeft.js +2 -2
- package/components/Icons/ChevronLeft.js.map +1 -1
- package/components/Icons/ChevronRight.js +2 -2
- package/components/Icons/ChevronRight.js.map +1 -1
- package/components/Icons/ChevronUp.js +2 -2
- package/components/Icons/ChevronUp.js.map +1 -1
- package/components/Icons/ChevronsDown.js.map +1 -1
- package/components/Icons/ChevronsUp.js +2 -2
- package/components/Icons/ChevronsUp.js.map +1 -1
- package/components/Icons/ChildPlaying.js.map +1 -1
- package/components/Icons/Cigarette.js +1 -1
- package/components/Icons/Cigarette.js.map +1 -1
- package/components/Icons/Coins.js.map +1 -1
- package/components/Icons/Contacts.js.map +1 -1
- package/components/Icons/Copy.js.map +1 -1
- package/components/Icons/CoronaCertificate.js.map +1 -1
- package/components/Icons/Coronavirus.js.map +1 -1
- package/components/Icons/Cough.js +2 -2
- package/components/Icons/Cough.js.map +1 -1
- package/components/Icons/CriticalHealthInfo.js.map +1 -1
- package/components/Icons/Cross.d.ts.map +1 -1
- package/components/Icons/Cross.js +1 -1
- package/components/Icons/Cross.js.map +1 -1
- package/components/Icons/DataExchange.js.map +1 -1
- package/components/Icons/DataReceived.js.map +1 -1
- package/components/Icons/DataSent.js.map +1 -1
- package/components/Icons/Depression.js.map +1 -1
- package/components/Icons/DigestiveSystem.js.map +1 -1
- package/components/Icons/Dizzy.js.map +1 -1
- package/components/Icons/Documents.js +2 -2
- package/components/Icons/Documents.js.map +1 -1
- package/components/Icons/Dog.js.map +1 -1
- package/components/Icons/DonorCard.js +2 -2
- package/components/Icons/DonorCard.js.map +1 -1
- package/components/Icons/Download.js.map +1 -1
- package/components/Icons/Draft.js.map +1 -1
- package/components/Icons/EChat.js.map +1 -1
- package/components/Icons/Ear.d.ts +5 -0
- package/components/Icons/Ear.d.ts.map +1 -0
- package/components/Icons/Ear.js +10 -0
- package/components/Icons/Ear.js.map +1 -0
- package/components/Icons/EarDeaf.d.ts +5 -0
- package/components/Icons/EarDeaf.d.ts.map +1 -0
- package/components/Icons/EarDeaf.js +7 -0
- package/components/Icons/EarDeaf.js.map +1 -0
- package/components/Icons/EarHearingAid.d.ts +5 -0
- package/components/Icons/EarHearingAid.d.ts.map +1 -0
- package/components/Icons/EarHearingAid.js +10 -0
- package/components/Icons/EarHearingAid.js.map +1 -0
- package/components/Icons/EarNoseThroat.js.map +1 -1
- package/components/Icons/EarVolume.d.ts +5 -0
- package/components/Icons/EarVolume.d.ts.map +1 -0
- package/components/Icons/EarVolume.js +17 -0
- package/components/Icons/EarVolume.js.map +1 -0
- package/components/Icons/ElderlyPerson.js.map +1 -1
- package/components/Icons/Embolization.js.map +1 -1
- package/components/Icons/EmergencyCall.d.ts +5 -0
- package/components/Icons/EmergencyCall.d.ts.map +1 -0
- package/components/Icons/EmergencyCall.js +21 -0
- package/components/Icons/EmergencyCall.js.map +1 -0
- package/components/Icons/EmoticonAnnoyed.js.map +1 -1
- package/components/Icons/EmoticonDelighted.js.map +1 -1
- package/components/Icons/EmoticonDisappointed.js +2 -2
- package/components/Icons/EmoticonDisappointed.js.map +1 -1
- package/components/Icons/EmoticonHappy.js +2 -2
- package/components/Icons/EmoticonHappy.js.map +1 -1
- package/components/Icons/EmoticonMeh.js +2 -2
- package/components/Icons/EmoticonMeh.js.map +1 -1
- package/components/Icons/EnterFullScreen.js.map +1 -1
- package/components/Icons/Envelope.js.map +1 -1
- package/components/Icons/Epilepsy.js +2 -2
- package/components/Icons/Epilepsy.js.map +1 -1
- package/components/Icons/Eraser.js.map +1 -1
- package/components/Icons/ErrorSignFill.js.map +1 -1
- package/components/Icons/ErrorSignStroke.js +2 -2
- package/components/Icons/ErrorSignStroke.js.map +1 -1
- package/components/Icons/EuropeanHealthCard.js.map +1 -1
- package/components/Icons/ExitFullScreen.js.map +1 -1
- package/components/Icons/Eye.d.ts.map +1 -1
- package/components/Icons/Eye.js +17 -3
- package/components/Icons/Eye.js.map +1 -1
- package/components/Icons/Facebook.js +2 -2
- package/components/Icons/Facebook.js.map +1 -1
- package/components/Icons/FallingLeaf.js.map +1 -1
- package/components/Icons/Female.js.map +1 -1
- package/components/Icons/FemaleDoctor.js.map +1 -1
- package/components/Icons/Ferry.js.map +1 -1
- package/components/Icons/File.js +2 -2
- package/components/Icons/File.js.map +1 -1
- package/components/Icons/Filter.js +2 -2
- package/components/Icons/Filter.js.map +1 -1
- package/components/Icons/FingerBleed.js +2 -2
- package/components/Icons/FingerBleed.js.map +1 -1
- package/components/Icons/FirstAidKit.js.map +1 -1
- package/components/Icons/FloppyDisk.js.map +1 -1
- package/components/Icons/Football.js.map +1 -1
- package/components/Icons/Form.js +2 -2
- package/components/Icons/Form.js.map +1 -1
- package/components/Icons/Forward.js +2 -2
- package/components/Icons/Forward.js.map +1 -1
- package/components/Icons/Gallery.js.map +1 -1
- package/components/Icons/Garden.js +2 -2
- package/components/Icons/Garden.js.map +1 -1
- package/components/Icons/GasCan.js.map +1 -1
- package/components/Icons/GenderIdentity.js +2 -2
- package/components/Icons/GenderIdentity.js.map +1 -1
- package/components/Icons/Glasses.d.ts +5 -0
- package/components/Icons/Glasses.d.ts.map +1 -0
- package/components/Icons/Glasses.js +21 -0
- package/components/Icons/Glasses.js.map +1 -0
- package/components/Icons/Globe.js +2 -2
- package/components/Icons/Globe.js.map +1 -1
- package/components/Icons/Graph.js.map +1 -1
- package/components/Icons/Group.js.map +1 -1
- package/components/Icons/GroupTwins.js +2 -2
- package/components/Icons/GroupTwins.js.map +1 -1
- package/components/Icons/HTMLFile.d.ts +5 -0
- package/components/Icons/HTMLFile.d.ts.map +1 -0
- package/components/Icons/HTMLFile.js +10 -0
- package/components/Icons/HTMLFile.js.map +1 -0
- package/components/Icons/HandWaving.js.map +1 -1
- package/components/Icons/HandWithDisease.js.map +1 -1
- package/components/Icons/HandsAndHeart.js +2 -2
- package/components/Icons/HandsAndHeart.js.map +1 -1
- package/components/Icons/HealthClinic.js.map +1 -1
- package/components/Icons/HealthWarning.js.map +1 -1
- package/components/Icons/HealthcarePerson.js +4 -4
- package/components/Icons/HealthcarePerson.js.map +1 -1
- package/components/Icons/HealthcarePersonell.js.map +1 -1
- package/components/Icons/HearingProtection.d.ts +5 -0
- package/components/Icons/HearingProtection.d.ts.map +1 -0
- package/components/Icons/HearingProtection.js +24 -0
- package/components/Icons/HearingProtection.js.map +1 -0
- package/components/Icons/Heart.js +2 -2
- package/components/Icons/Heart.js.map +1 -1
- package/components/Icons/HeartHands.js.map +1 -1
- package/components/Icons/HelpSign.js +2 -2
- package/components/Icons/HelpSign.js.map +1 -1
- package/components/Icons/HelpingHand.js +2 -2
- package/components/Icons/HelpingHand.js.map +1 -1
- package/components/Icons/Hemodialysis.js.map +1 -1
- package/components/Icons/Hiker.js +2 -2
- package/components/Icons/Hiker.js.map +1 -1
- package/components/Icons/Hipprosthesis.js +2 -2
- package/components/Icons/Hipprosthesis.js.map +1 -1
- package/components/Icons/History.js.map +1 -1
- package/components/Icons/HivAndAids.js +2 -2
- package/components/Icons/HivAndAids.js.map +1 -1
- package/components/Icons/Home.js.map +1 -1
- package/components/Icons/Hormone.js +2 -2
- package/components/Icons/Hormone.js.map +1 -1
- package/components/Icons/Hospital.js.map +1 -1
- package/components/Icons/Hourglass.js.map +1 -1
- package/components/Icons/IconNames.d.ts +1 -1
- package/components/Icons/IconNames.d.ts.map +1 -1
- package/components/Icons/IconNames.js +11 -0
- package/components/Icons/IconNames.js.map +1 -1
- package/components/Icons/ImgFile.js +2 -2
- package/components/Icons/ImgFile.js.map +1 -1
- package/components/Icons/Inbox.js.map +1 -1
- package/components/Icons/InfoSignFill.js +2 -2
- package/components/Icons/InfoSignFill.js.map +1 -1
- package/components/Icons/InfoSignStroke.js.map +1 -1
- package/components/Icons/Instagram.js.map +1 -1
- package/components/Icons/Intravenous.js.map +1 -1
- package/components/Icons/JointPain.js +1 -1
- package/components/Icons/JointPain.js.map +1 -1
- package/components/Icons/Journal.js.map +1 -1
- package/components/Icons/JpgFile.js +2 -2
- package/components/Icons/JpgFile.js.map +1 -1
- package/components/Icons/Kidney.js.map +1 -1
- package/components/Icons/KitchenScale.js +2 -2
- package/components/Icons/KitchenScale.js.map +1 -1
- package/components/Icons/Kjernejournal.js.map +1 -1
- package/components/Icons/Laboratory.js.map +1 -1
- package/components/Icons/LaptopBlog.js.map +1 -1
- package/components/Icons/LawBook.js +1 -1
- package/components/Icons/LawBook.js.map +1 -1
- package/components/Icons/LegalDocument.js.map +1 -1
- package/components/Icons/LightBulb.js.map +1 -1
- package/components/Icons/List.js +2 -2
- package/components/Icons/List.js.map +1 -1
- package/components/Icons/Location.js.map +1 -1
- package/components/Icons/Lock.js +1 -1
- package/components/Icons/Lock.js.map +1 -1
- package/components/Icons/Login.js.map +1 -1
- package/components/Icons/Logout.js +2 -2
- package/components/Icons/Logout.js.map +1 -1
- package/components/Icons/Lungs.js +1 -1
- package/components/Icons/Lungs.js.map +1 -1
- package/components/Icons/Makeup.js.map +1 -1
- package/components/Icons/MaleDoctor.js.map +1 -1
- package/components/Icons/MaleDoctorAndPerson.js.map +1 -1
- package/components/Icons/MaleGenitalia.js.map +1 -1
- package/components/Icons/Medicine.js.map +1 -1
- package/components/Icons/MedicineWarning.js.map +1 -1
- package/components/Icons/MentalHealthAdult.js.map +1 -1
- package/components/Icons/MentalHealthChild.js.map +1 -1
- package/components/Icons/Menu.js +2 -2
- package/components/Icons/Menu.js.map +1 -1
- package/components/Icons/Microscope.js +1 -1
- package/components/Icons/Microscope.js.map +1 -1
- package/components/Icons/Minus.js.map +1 -1
- package/components/Icons/Mirror.js +2 -2
- package/components/Icons/Mirror.js.map +1 -1
- package/components/Icons/MobilePhone.js.map +1 -1
- package/components/Icons/MotherHoldingBaby.js.map +1 -1
- package/components/Icons/MuscleBack.js.map +1 -1
- package/components/Icons/MuscleLeg.js.map +1 -1
- package/components/Icons/Mushroom.js +2 -2
- package/components/Icons/Mushroom.js.map +1 -1
- package/components/Icons/Music.js.map +1 -1
- package/components/Icons/MusselsAndSalt.js.map +1 -1
- package/components/Icons/NoAccess.js +4 -4
- package/components/Icons/NoAccess.js.map +1 -1
- package/components/Icons/NoEye.d.ts.map +1 -1
- package/components/Icons/NoEye.js +17 -3
- package/components/Icons/NoEye.js.map +1 -1
- package/components/Icons/NoFilter.js.map +1 -1
- package/components/Icons/Notepad.js.map +1 -1
- package/components/Icons/Osteotomy.js +1 -1
- package/components/Icons/Osteotomy.js.map +1 -1
- package/components/Icons/PaintRoller.js +2 -2
- package/components/Icons/PaintRoller.js.map +1 -1
- package/components/Icons/PaperPlane.js.map +1 -1
- package/components/Icons/PatientAndPerson.js.map +1 -1
- package/components/Icons/Pause.js.map +1 -1
- package/components/Icons/PdfFile.js.map +1 -1
- package/components/Icons/Pencil.js.map +1 -1
- package/components/Icons/PeopleTalking.js.map +1 -1
- package/components/Icons/Peritonealdialysis.js.map +1 -1
- package/components/Icons/Person.js.map +1 -1
- package/components/Icons/PersonAndPatient.js.map +1 -1
- package/components/Icons/PersonCancel.js.map +1 -1
- package/components/Icons/PersonInXRayMachine.js.map +1 -1
- package/components/Icons/PersonOverweight.js.map +1 -1
- package/components/Icons/PersonRelaxing.js.map +1 -1
- package/components/Icons/PersonWithBrain.js.map +1 -1
- package/components/Icons/PersonWithBrokenArm.js.map +1 -1
- package/components/Icons/PersonWithCrutches.js.map +1 -1
- package/components/Icons/PersonWithJaw.js.map +1 -1
- package/components/Icons/PersonWithMagnifyingGlass.js +1 -1
- package/components/Icons/PersonWithMagnifyingGlass.js.map +1 -1
- package/components/Icons/PersonWithSenses.js.map +1 -1
- package/components/Icons/PersonWorking.js.map +1 -1
- package/components/Icons/PersonalPlan.js.map +1 -1
- package/components/Icons/PizzaSlice.js +1 -1
- package/components/Icons/PizzaSlice.js.map +1 -1
- package/components/Icons/Plane.js.map +1 -1
- package/components/Icons/Plant.js.map +1 -1
- package/components/Icons/Play.js.map +1 -1
- package/components/Icons/PlusLarge.js.map +1 -1
- package/components/Icons/PlusSmall.js.map +1 -1
- package/components/Icons/PngFile.js +2 -2
- package/components/Icons/PngFile.js.map +1 -1
- package/components/Icons/Podcast.js +2 -2
- package/components/Icons/Podcast.js.map +1 -1
- package/components/Icons/PoisonInformation.js.map +1 -1
- package/components/Icons/Pregnant.js.map +1 -1
- package/components/Icons/Printer.js.map +1 -1
- package/components/Icons/Psychosis.js.map +1 -1
- package/components/Icons/Publication.js.map +1 -1
- package/components/Icons/Puzzle.js.map +1 -1
- package/components/Icons/QrCode.js.map +1 -1
- package/components/Icons/Quarrel.js +2 -2
- package/components/Icons/Quarrel.js.map +1 -1
- package/components/Icons/RadioTherapy.js +2 -2
- package/components/Icons/RadioTherapy.js.map +1 -1
- package/components/Icons/RadioactiveTreatment.js.map +1 -1
- package/components/Icons/Radioiodine.js.map +1 -1
- package/components/Icons/Receipt.js.map +1 -1
- package/components/Icons/Receptionist.js.map +1 -1
- package/components/Icons/Recovery.js +2 -2
- package/components/Icons/Recovery.js.map +1 -1
- package/components/Icons/Referral.js.map +1 -1
- package/components/Icons/Refresh.js.map +1 -1
- package/components/Icons/Refund.js.map +1 -1
- package/components/Icons/Reply.js.map +1 -1
- package/components/Icons/Rocket.js.map +1 -1
- package/components/Icons/RtfFile.js +2 -2
- package/components/Icons/RtfFile.js.map +1 -1
- package/components/Icons/STDs.js +2 -2
- package/components/Icons/STDs.js.map +1 -1
- package/components/Icons/Save.js.map +1 -1
- package/components/Icons/Scale.js.map +1 -1
- package/components/Icons/ScreenReader.d.ts +5 -0
- package/components/Icons/ScreenReader.d.ts.map +1 -0
- package/components/Icons/ScreenReader.js +38 -0
- package/components/Icons/ScreenReader.js.map +1 -0
- package/components/Icons/Search.js.map +1 -1
- package/components/Icons/SectionSign.js +1 -1
- package/components/Icons/SectionSign.js.map +1 -1
- package/components/Icons/Settings.js.map +1 -1
- package/components/Icons/Sexualorientation.js +2 -2
- package/components/Icons/Sexualorientation.js.map +1 -1
- package/components/Icons/ShakingHand.js.map +1 -1
- package/components/Icons/Share.js.map +1 -1
- package/components/Icons/Shield.js +2 -2
- package/components/Icons/Shield.js.map +1 -1
- package/components/Icons/ShuntOperation.js.map +1 -1
- package/components/Icons/Skeleton.js.map +1 -1
- package/components/Icons/Skin.js.map +1 -1
- package/components/Icons/Snake.js +2 -2
- package/components/Icons/Snake.js.map +1 -1
- package/components/Icons/Snapchat.js.map +1 -1
- package/components/Icons/SortDown.js +2 -2
- package/components/Icons/SortDown.js.map +1 -1
- package/components/Icons/SortUp.js +2 -2
- package/components/Icons/SortUp.js.map +1 -1
- package/components/Icons/SpeechBubble.js.map +1 -1
- package/components/Icons/Spray.js +2 -2
- package/components/Icons/Spray.js.map +1 -1
- package/components/Icons/Stopwatch.js +2 -2
- package/components/Icons/Stopwatch.js.map +1 -1
- package/components/Icons/Sun.d.ts +5 -0
- package/components/Icons/Sun.d.ts.map +1 -0
- package/components/Icons/Sun.js +24 -0
- package/components/Icons/Sun.js.map +1 -0
- package/components/Icons/SupportingPerson.js.map +1 -1
- package/components/Icons/Surgery.js +1 -1
- package/components/Icons/Surgery.js.map +1 -1
- package/components/Icons/Syringe.js +3 -3
- package/components/Icons/Syringe.js.map +1 -1
- package/components/Icons/Taxi.js.map +1 -1
- package/components/Icons/TeddyBear.js +2 -2
- package/components/Icons/TeddyBear.js.map +1 -1
- package/components/Icons/Teenagers.js.map +1 -1
- package/components/Icons/ThinkingAboutBaby.js +2 -2
- package/components/Icons/ThinkingAboutBaby.js.map +1 -1
- package/components/Icons/Ticket.js.map +1 -1
- package/components/Icons/TimePassing.js.map +1 -1
- package/components/Icons/Tombstone.js.map +1 -1
- package/components/Icons/Toolbox.js.map +1 -1
- package/components/Icons/Tooth.js.map +1 -1
- package/components/Icons/TotalKneeProsthesis.js.map +1 -1
- package/components/Icons/Train.js.map +1 -1
- package/components/Icons/Transplantation.js.map +1 -1
- package/components/Icons/TrashCan.js.map +1 -1
- package/components/Icons/TravelRoute.js.map +1 -1
- package/components/Icons/TriangleX.js.map +1 -1
- package/components/Icons/Twitter.js.map +1 -1
- package/components/Icons/Undo.js +2 -2
- package/components/Icons/Undo.js.map +1 -1
- package/components/Icons/UniProsthesis.js +2 -2
- package/components/Icons/UniProsthesis.js.map +1 -1
- package/components/Icons/Upload.js.map +1 -1
- package/components/Icons/UserOrganization.js.map +1 -1
- package/components/Icons/Vaccine.js.map +1 -1
- package/components/Icons/VerticalDots.js.map +1 -1
- package/components/Icons/VideoCamera.js.map +1 -1
- package/components/Icons/VideoChat.js.map +1 -1
- package/components/Icons/Wallet.js.map +1 -1
- package/components/Icons/Watch.js.map +1 -1
- package/components/Icons/Website.js.map +1 -1
- package/components/Icons/Wheelchair.js +2 -2
- package/components/Icons/Wheelchair.js.map +1 -1
- package/components/Icons/WheelchairActive.js.map +1 -1
- package/components/Icons/Window.js +2 -2
- package/components/Icons/Window.js.map +1 -1
- package/components/Icons/WordDocument.js.map +1 -1
- package/components/Icons/WorkSuitcase.js +2 -2
- package/components/Icons/WorkSuitcase.js.map +1 -1
- package/components/Icons/X.js +2 -2
- package/components/Icons/X.js.map +1 -1
- package/components/Icons/XOutline.js +2 -2
- package/components/Icons/XOutline.js.map +1 -1
- package/components/Icons/XmlFile.js +2 -2
- package/components/Icons/XmlFile.js.map +1 -1
- package/components/Icons/YouTube.js +1 -1
- package/components/Icons/YouTube.js.map +1 -1
- package/components/Icons/Zoom.js.map +1 -1
- package/components/Illustration/Illustration.d.ts +6 -0
- package/components/Illustration/Illustration.d.ts.map +1 -0
- package/components/Illustration/index.d.ts +2 -0
- package/components/Illustration/index.d.ts.map +1 -0
- package/components/Illustration/index.js +2 -0
- package/components/Illustration/index.js.map +1 -0
- package/components/Input/Input.d.ts.map +1 -1
- package/components/Input/Input.js +65 -61
- package/components/Input/Input.js.map +1 -1
- package/components/Input/index.d.ts.map +1 -1
- package/components/Label/Label.js +36 -36
- package/components/Label/Label.js.map +1 -1
- package/components/Label/SubLabel.js +5 -5
- package/components/Label/SubLabel.js.map +1 -1
- package/components/Label/styles.module.scss +5 -0
- package/components/Label/styles.module.scss.d.ts +1 -0
- package/components/LazyIcon/LazyIcon.d.ts.map +1 -1
- package/components/LazyIcon/LazyIcon.js +16 -15
- package/components/LazyIcon/LazyIcon.js.map +1 -1
- package/components/LinkList/LinkList.d.ts +0 -4
- package/components/LinkList/LinkList.d.ts.map +1 -1
- package/components/LinkList/LinkList.js +8 -8
- package/components/LinkList/LinkList.js.map +1 -1
- package/components/List/List.js +2 -2
- package/components/List/List.js.map +1 -1
- package/components/ListHeader/ListHeader.js +12 -12
- package/components/ListHeader/ListHeader.js.map +1 -1
- package/components/ListHeader/ListHeaderText/ListHeaderText.js +6 -6
- package/components/ListHeader/ListHeaderText/ListHeaderText.js.map +1 -1
- package/components/Loader/Loader.js.map +1 -1
- package/components/Logo/Logo.js +2 -2
- package/components/Logo/Logo.js.map +1 -1
- package/components/MaxCharacters/MaxCharacters.js +6 -6
- package/components/MaxCharacters/MaxCharacters.js.map +1 -1
- package/components/Modal/Modal.js.map +1 -1
- package/components/NotificationPanel/DetailButton/DetailButton.js +5 -5
- package/components/NotificationPanel/DetailButton/DetailButton.js.map +1 -1
- package/components/NotificationPanel/NotificationPanel.d.ts.map +1 -1
- package/components/NotificationPanel/NotificationPanel.js +32 -31
- package/components/NotificationPanel/NotificationPanel.js.map +1 -1
- package/components/NotificationPanel/styles.module.scss +8 -0
- package/components/NotificationPanel/styles.module.scss.d.ts +1 -0
- package/components/Panel/Panel.d.ts +40 -40
- package/components/Panel/Panel.d.ts.map +1 -1
- package/components/Panel/Panel.js +167 -122
- package/components/Panel/Panel.js.map +1 -1
- package/components/Panel/styles.module.scss +137 -191
- package/components/Panel/styles.module.scss.d.ts +24 -31
- package/components/PanelList/PanelList.js +4 -4
- package/components/PanelList/PanelList.js.map +1 -1
- package/components/PopMenu/PopMenu.d.ts.map +1 -1
- package/components/PopMenu/PopMenu.js +58 -56
- package/components/PopMenu/PopMenu.js.map +1 -1
- package/components/PopOver/PopOver.js +8 -8
- package/components/PopOver/PopOver.js.map +1 -1
- package/components/Portal/index.js +3 -3
- package/components/PromoPanel/PromoPanel.d.ts +33 -0
- package/components/PromoPanel/PromoPanel.d.ts.map +1 -0
- package/components/PromoPanel/PromoPanel.js +42 -0
- package/components/PromoPanel/PromoPanel.js.map +1 -0
- package/components/PromoPanel/index.d.ts +4 -0
- package/components/PromoPanel/index.d.ts.map +1 -0
- package/components/PromoPanel/index.js +5 -0
- package/components/PromoPanel/index.js.map +1 -0
- package/components/PromoPanel/styles.module.scss +115 -0
- package/components/PromoPanel/styles.module.scss.d.ts +16 -0
- package/components/RadioButton/RadioButton.js +13 -13
- package/components/RadioButton/RadioButton.js.map +1 -1
- package/components/RadioButton/styles.module.scss +2 -2
- package/components/Select/Select.js +10 -10
- package/components/Select/Select.js.map +1 -1
- package/components/ServiceMessage/ServiceMessage.d.ts +0 -5
- package/components/ServiceMessage/ServiceMessage.d.ts.map +1 -1
- package/components/ServiceMessage/ServiceMessage.js +12 -12
- package/components/ServiceMessage/ServiceMessage.js.map +1 -1
- package/components/SharingStatus/SharingStatus.d.ts +21 -0
- package/components/SharingStatus/SharingStatus.d.ts.map +1 -0
- package/components/SharingStatus/SharingStatus.js +16 -0
- package/components/SharingStatus/SharingStatus.js.map +1 -0
- package/components/SharingStatus/index.d.ts +4 -0
- package/components/SharingStatus/index.d.ts.map +1 -0
- package/components/SharingStatus/index.js +5 -0
- package/components/SharingStatus/index.js.map +1 -0
- package/components/SharingStatus/styles.module.scss +74 -0
- package/components/SharingStatus/styles.module.scss.d.ts +22 -0
- package/components/Slider/Slider.d.ts +12 -0
- package/components/Slider/Slider.d.ts.map +1 -1
- package/components/Slider/Slider.js +124 -84
- package/components/Slider/Slider.js.map +1 -1
- package/components/Slider/styles.module.scss +51 -8
- package/components/Slider/styles.module.scss.d.ts +7 -0
- package/components/Spacer/Spacer.js.map +1 -1
- package/components/StatusDot/StatusDot.js.map +1 -1
- package/components/StatusDot/styles.module.scss +12 -3
- package/components/Step/Step.js +7 -7
- package/components/Step/Step.js.map +1 -1
- package/components/StepButtons/StepButtons.js.map +1 -1
- package/components/Stepper/Dot.js +8 -8
- package/components/Stepper/DotList.js +1 -1
- package/components/Stepper/DotList.js.map +1 -1
- package/components/Stepper/Stepper.js +8 -8
- package/components/Stepper/Stepper.js.map +1 -1
- package/components/Table/Table.d.ts +4 -0
- package/components/Table/Table.d.ts.map +1 -1
- package/components/Table/Table.js +30 -28
- package/components/Table/Table.js.map +1 -1
- package/components/Table/TableBody/TableBody.js +5 -5
- package/components/Table/TableBody/TableBody.js.map +1 -1
- package/components/Table/TableCell/TableCell.js +5 -5
- package/components/Table/TableCell/TableCell.js.map +1 -1
- package/components/Table/TableExpandedRow/TableExpandedRow.js +8 -8
- package/components/Table/TableExpandedRow/TableExpandedRow.js.map +1 -1
- package/components/Table/TableExpanderCell/TableExpanderCell.js +17 -17
- package/components/Table/TableExpanderCell/TableExpanderCell.js.map +1 -1
- package/components/Table/TableExpanderCell/TableExpanderCellMobile.js +5 -5
- package/components/Table/TableExpanderCell/TableExpanderCellMobile.js.map +1 -1
- package/components/Table/TableHead/TableHead.js +2 -2
- package/components/Table/TableHead/TableHead.js.map +1 -1
- package/components/Table/TableHeadCell/TableHeadCell.d.ts.map +1 -1
- package/components/Table/TableHeadCell/TableHeadCell.js +21 -24
- package/components/Table/TableHeadCell/TableHeadCell.js.map +1 -1
- package/components/Table/TableRow/TableRow.js +8 -8
- package/components/Table/TableRow/TableRow.js.map +1 -1
- package/components/Table/styles.module.scss +0 -12
- package/components/Table/styles.module.scss.d.ts +0 -1
- package/components/Tag/Tag.js +7 -7
- package/components/Tag/Tag.js.map +1 -1
- package/components/TagList/TagList.js +2 -2
- package/components/TagList/TagList.js.map +1 -1
- package/components/Textarea/Textarea.d.ts.map +1 -1
- package/components/Textarea/Textarea.js +61 -57
- package/components/Textarea/Textarea.js.map +1 -1
- package/components/Tile/Tile.d.ts +1 -0
- package/components/Tile/Tile.d.ts.map +1 -1
- package/components/Tile/Tile.js +39 -25
- package/components/Tile/Tile.js.map +1 -1
- package/components/Tile/styles.module.scss +4 -0
- package/components/Tile/styles.module.scss.d.ts +1 -0
- package/components/Title/Title.js +7 -7
- package/components/Title/Title.js.map +1 -1
- package/components/Tooltip/Tooltip.js +17 -17
- package/components/Tooltip/Tooltip.js.map +1 -1
- package/components/Tooltip/TooltipWord/TooltipWord.js +5 -5
- package/components/Tooltip/TooltipWord/TooltipWord.js.map +1 -1
- package/components/TooltipExample/TooltipExample.js.map +1 -1
- package/components/Trigger/HelpSign.js.map +1 -1
- package/components/Trigger/Trigger.js +2 -2
- package/components/Trigger/Trigger.js.map +1 -1
- package/components/Validation/Validation.js.map +1 -1
- package/constants.d.ts +3 -0
- package/constants.d.ts.map +1 -1
- package/constants.js +5 -5
- package/constants.js.map +1 -1
- package/hoc/withBreakpoint/withBreakpoint.js +6 -6
- package/hoc/withBreakpoint/withBreakpoint.js.map +1 -1
- package/hooks/usePseudoClasses.d.ts.map +1 -1
- package/hooks/usePseudoClasses.js +11 -11
- package/hooks/usePseudoClasses.js.map +1 -1
- package/package.json +1 -1
- package/scss/_font-settings.scss +2 -0
- package/scss/_palette.scss +2 -1
- package/scss/_title.scss +13 -0
- package/scss/typography.module.scss +1 -8
- package/utils/component.js +2 -2
|
@@ -1,125 +1,165 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
import { AnalyticsId as
|
|
4
|
-
import { useSize as
|
|
5
|
-
import { useUuid as
|
|
6
|
-
import { getAriaLabelAttributes as
|
|
7
|
-
import
|
|
8
|
-
import
|
|
9
|
-
const
|
|
10
|
-
const [
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
1
|
+
import a, { useState as R, useRef as U, useEffect as h } from "react";
|
|
2
|
+
import S from "classnames";
|
|
3
|
+
import { AnalyticsId as F } from "../../constants.js";
|
|
4
|
+
import { useSize as G } from "../../hooks/useSize.js";
|
|
5
|
+
import { useUuid as j } from "../../hooks/useUuid.js";
|
|
6
|
+
import { getAriaLabelAttributes as J } from "../../utils/accessibility.js";
|
|
7
|
+
import Q from "../Title/Title.js";
|
|
8
|
+
import o from "./styles.module.scss";
|
|
9
|
+
const Y = (u, f, l) => {
|
|
10
|
+
const [v, n] = R(u), E = (t) => {
|
|
11
|
+
t > l ? n(l) : t < f ? n(f) : n(t);
|
|
12
|
+
};
|
|
13
|
+
return h(() => {
|
|
14
|
+
n((l - f) / 2 + f);
|
|
15
|
+
}, [f, l]), [v, E];
|
|
16
|
+
}, Z = ({
|
|
17
|
+
title: u,
|
|
18
|
+
ariaLabel: f,
|
|
19
|
+
labelLeft: l,
|
|
20
|
+
labelRight: v,
|
|
21
|
+
disabled: n = !1,
|
|
22
|
+
onChange: E,
|
|
23
|
+
steps: t,
|
|
24
|
+
step: _ = 1,
|
|
25
|
+
minValue: i = 0,
|
|
26
|
+
maxValue: s = t ? t.length - 1 : 100,
|
|
27
|
+
testId: $
|
|
28
|
+
}) => {
|
|
29
|
+
const [A, I] = R(!1), [d, m] = Y((s - i) / 2 + i, i, s), k = j(), y = j(), w = j(), N = U(null), b = U(null), { width: M } = G(N) || { width: 0 }, C = s / 10;
|
|
16
30
|
h(() => {
|
|
17
|
-
const
|
|
18
|
-
|
|
31
|
+
const r = () => {
|
|
32
|
+
I(!1);
|
|
19
33
|
};
|
|
20
|
-
return document.addEventListener("pointerup",
|
|
21
|
-
document.removeEventListener("pointerup",
|
|
34
|
+
return document.addEventListener("pointerup", r), () => {
|
|
35
|
+
document.removeEventListener("pointerup", r);
|
|
22
36
|
};
|
|
23
37
|
}, []);
|
|
24
|
-
const
|
|
25
|
-
var
|
|
26
|
-
const
|
|
27
|
-
|
|
38
|
+
const D = (r) => {
|
|
39
|
+
var L;
|
|
40
|
+
const e = ((L = N.current) == null ? void 0 : L.getBoundingClientRect().x) ?? 0, c = (r - e) / M, g = s - i;
|
|
41
|
+
let p = c * g + i;
|
|
42
|
+
return p = Math.round(p / _) * _, p = Math.max(i, Math.min(s, p)), p;
|
|
28
43
|
};
|
|
29
44
|
h(() => {
|
|
30
|
-
const
|
|
31
|
-
if (!
|
|
32
|
-
const
|
|
33
|
-
|
|
45
|
+
const r = (e) => {
|
|
46
|
+
if (!n && A) {
|
|
47
|
+
const c = D(e.clientX);
|
|
48
|
+
m(c);
|
|
34
49
|
}
|
|
35
50
|
};
|
|
36
|
-
return document.addEventListener("pointermove",
|
|
37
|
-
document.removeEventListener("pointermove",
|
|
51
|
+
return document.addEventListener("pointermove", r), () => {
|
|
52
|
+
document.removeEventListener("pointermove", r);
|
|
38
53
|
};
|
|
39
|
-
}, [
|
|
40
|
-
!
|
|
41
|
-
}, [
|
|
42
|
-
const
|
|
43
|
-
if (
|
|
54
|
+
}, [A]), h(() => {
|
|
55
|
+
!n && E && E(d);
|
|
56
|
+
}, [d]);
|
|
57
|
+
const B = (r) => {
|
|
58
|
+
if (n)
|
|
44
59
|
return;
|
|
45
|
-
let
|
|
46
|
-
switch (
|
|
60
|
+
let e = !1;
|
|
61
|
+
switch (r.key) {
|
|
47
62
|
case "ArrowLeft":
|
|
48
63
|
case "ArrowDown":
|
|
49
|
-
|
|
64
|
+
m(d - _), e = !0;
|
|
50
65
|
break;
|
|
51
66
|
case "PageDown":
|
|
52
|
-
|
|
67
|
+
m(d - C), e = !0;
|
|
53
68
|
break;
|
|
54
69
|
case "ArrowRight":
|
|
55
70
|
case "ArrowUp":
|
|
56
|
-
|
|
71
|
+
m(d + _), e = !0;
|
|
57
72
|
break;
|
|
58
73
|
case "PageUp":
|
|
59
|
-
|
|
74
|
+
m(d + C), e = !0;
|
|
60
75
|
break;
|
|
61
76
|
case "Home":
|
|
62
|
-
|
|
77
|
+
m(i), e = !0;
|
|
63
78
|
break;
|
|
64
79
|
case "End":
|
|
65
|
-
|
|
80
|
+
m(s), e = !0;
|
|
66
81
|
break;
|
|
67
82
|
}
|
|
68
|
-
|
|
69
|
-
},
|
|
70
|
-
var
|
|
71
|
-
if (
|
|
83
|
+
e && (r.preventDefault(), r.stopPropagation());
|
|
84
|
+
}, X = (r) => {
|
|
85
|
+
var c;
|
|
86
|
+
if (n)
|
|
72
87
|
return;
|
|
73
|
-
const
|
|
74
|
-
|
|
75
|
-
},
|
|
76
|
-
var
|
|
77
|
-
|
|
78
|
-
},
|
|
79
|
-
|
|
88
|
+
const e = D(r.clientX);
|
|
89
|
+
m(e), (c = b.current) == null || c.focus();
|
|
90
|
+
}, T = (r) => {
|
|
91
|
+
var e;
|
|
92
|
+
n || (I(!0), r.preventDefault(), r.stopPropagation(), (e = b.current) == null || e.focus());
|
|
93
|
+
}, z = s !== i ? M / (s - i) * (d - i) : 0, K = () => {
|
|
94
|
+
const r = t ? Math.round((d - i) / _) : null;
|
|
95
|
+
if (t && r !== null && r >= 0 && r < t.length) {
|
|
96
|
+
const e = t[r], c = e.emojiUniCode, g = typeof e.label < "u" ? e.label.toString() : void 0;
|
|
97
|
+
return c && g ? `${c} ${g}` : c || g;
|
|
98
|
+
}
|
|
99
|
+
}, H = J({
|
|
100
|
+
label: f,
|
|
80
101
|
id: (() => {
|
|
81
|
-
if (
|
|
82
|
-
return [
|
|
83
|
-
if (
|
|
84
|
-
return [
|
|
85
|
-
if (
|
|
86
|
-
return [
|
|
87
|
-
if (
|
|
88
|
-
return
|
|
102
|
+
if (u && l && v)
|
|
103
|
+
return [k, y, w].join(" ");
|
|
104
|
+
if (u && l)
|
|
105
|
+
return [k, y].join(" ");
|
|
106
|
+
if (u && v)
|
|
107
|
+
return [k, w].join(" ");
|
|
108
|
+
if (u)
|
|
109
|
+
return k;
|
|
89
110
|
})(),
|
|
90
111
|
prefer: "label"
|
|
91
|
-
})
|
|
92
|
-
|
|
112
|
+
}), P = (r, e) => ({ left: `${r / (e - 1) * 100}%` }), O = () => /* @__PURE__ */ a.createElement("div", { className: o["slider__emoji-container"] }, t == null ? void 0 : t.map((r, e) => r.emojiUniCode && /* @__PURE__ */ a.createElement(
|
|
113
|
+
"div",
|
|
114
|
+
{
|
|
115
|
+
"aria-hidden": !0,
|
|
116
|
+
key: "emoji" + e,
|
|
117
|
+
className: o.slider__emoji,
|
|
118
|
+
style: P(e, t.length)
|
|
119
|
+
},
|
|
120
|
+
r.emojiUniCode
|
|
121
|
+
))), W = () => t == null ? void 0 : t.map((r, e) => /* @__PURE__ */ a.createElement("div", { key: "step" + e, className: o.slider__track__step, style: P(e, t.length) })), q = () => /* @__PURE__ */ a.createElement("div", { className: o["slider__value-container"] }, t == null ? void 0 : t.map((r, e) => typeof r.label < "u" && /* @__PURE__ */ a.createElement(
|
|
122
|
+
"div",
|
|
123
|
+
{
|
|
124
|
+
"aria-hidden": !0,
|
|
125
|
+
key: "label" + e,
|
|
126
|
+
className: o.slider__value,
|
|
127
|
+
style: P(e, t.length)
|
|
128
|
+
},
|
|
129
|
+
r.label
|
|
130
|
+
)));
|
|
131
|
+
return /* @__PURE__ */ a.createElement("div", { className: o.slider, "data-testid": $, "data-analyticsid": F.Slider }, u && /* @__PURE__ */ a.createElement(Q, { className: o.slider__title, htmlMarkup: "h3", margin: 0, appearance: "title3", id: k }, u), /* @__PURE__ */ a.createElement("div", { className: o["slider__content-container"] }, O(), /* @__PURE__ */ a.createElement(
|
|
93
132
|
"div",
|
|
94
133
|
{
|
|
95
|
-
ref:
|
|
96
|
-
className:
|
|
97
|
-
onClick:
|
|
98
|
-
onPointerDown:
|
|
134
|
+
ref: N,
|
|
135
|
+
className: S(o["slider__track-wrapper"], n && o["slider__track-wrapper--disabled"]),
|
|
136
|
+
onClick: X,
|
|
137
|
+
onPointerDown: T
|
|
99
138
|
},
|
|
100
|
-
/* @__PURE__ */
|
|
101
|
-
/* @__PURE__ */
|
|
139
|
+
/* @__PURE__ */ a.createElement("div", { className: S(o.slider__track, n && o["slider__track--disabled"]) }, W()),
|
|
140
|
+
/* @__PURE__ */ a.createElement(
|
|
102
141
|
"div",
|
|
103
142
|
{
|
|
104
|
-
role:
|
|
105
|
-
ref:
|
|
106
|
-
className:
|
|
143
|
+
role: n ? void 0 : "slider",
|
|
144
|
+
ref: b,
|
|
145
|
+
className: S(o.slider__marker, n && o["slider__marker--disabled"]),
|
|
107
146
|
style: {
|
|
108
|
-
left: `${
|
|
147
|
+
left: `${z}px`
|
|
109
148
|
},
|
|
110
|
-
onKeyDown:
|
|
111
|
-
"aria-valuenow":
|
|
112
|
-
"aria-
|
|
113
|
-
"aria-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
149
|
+
onKeyDown: B,
|
|
150
|
+
"aria-valuenow": d,
|
|
151
|
+
"aria-valuetext": K(),
|
|
152
|
+
"aria-valuemin": i,
|
|
153
|
+
"aria-valuemax": s,
|
|
154
|
+
tabIndex: n ? void 0 : 0,
|
|
155
|
+
"aria-disabled": n,
|
|
156
|
+
...H
|
|
117
157
|
}
|
|
118
158
|
)
|
|
119
|
-
), (
|
|
120
|
-
},
|
|
159
|
+
), q()), (l || v) && /* @__PURE__ */ a.createElement("span", { className: o.slider__options }, /* @__PURE__ */ a.createElement("span", { id: y }, l), /* @__PURE__ */ a.createElement("span", { id: w }, v)));
|
|
160
|
+
}, le = Z;
|
|
121
161
|
export {
|
|
122
|
-
|
|
123
|
-
|
|
162
|
+
Z as Slider,
|
|
163
|
+
le as default
|
|
124
164
|
};
|
|
125
165
|
//# sourceMappingURL=Slider.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Slider.js","sources":["../../../src/components/Slider/Slider.tsx"],"sourcesContent":["import React, { useEffect, useState, useRef } from 'react';\n\nimport classNames from 'classnames';\n\nimport { AnalyticsId } from '../../constants';\nimport { useSize } from '../../hooks/useSize';\nimport { useUuid } from '../../hooks/useUuid';\nimport { getAriaLabelAttributes } from '../../utils/accessibility';\nimport Title from '../Title';\n\nimport styles from './styles.module.scss';\n\nconst useSafeNumberValue = (initial: number, min: number, max: number): [number, (value: number) => void] => {\n const [value, setValue] = useState(initial);\n\n const setSafeValue = (newValue: number): void => {\n if (newValue > max) {\n setValue(max);\n } else if (newValue < min) {\n setValue(min);\n } else {\n setValue(newValue);\n }\n };\n\n return [value, setSafeValue];\n};\n\ninterface SliderProps {\n /**\tSets the title of the slider. */\n title?: string;\n /** Adds the left hand label to the element. */\n labelLeft?: string;\n /** Adds the right hand label to the element. */\n labelRight?: string;\n /**\tSets aria-label of the slider. */\n ariaLabel?: string;\n /** Disables the slider element. */\n disabled?: boolean;\n /** Function to be called when the value state has changed. */\n onChange?: (value: number) => void;\n /** Sets the data-testid attribute. */\n testId?: string;\n}\n\nconst MAX_VALUE = 100;\nconst MIN_VALUE = 0;\nconst STEP = 1;\nconst LARGE_STEP = 10;\n\nexport const Slider: React.FC<SliderProps> = ({ title, ariaLabel, labelLeft, labelRight, disabled = false, onChange, testId }) => {\n const [isMoving, setIsMoving] = useState(false);\n const [value, setValue] = useSafeNumberValue((MAX_VALUE - MIN_VALUE) / 2, MIN_VALUE, MAX_VALUE);\n const titleId = useUuid();\n const labelLeftId = useUuid();\n const labelRightId = useUuid();\n const trackRef = useRef<HTMLDivElement>(null);\n const markerRef = useRef<HTMLDivElement>(null);\n const { width: trackWidth } = useSize(trackRef) || { width: 0 };\n const { width: markerWidth } = useSize(markerRef) || { width: 0 };\n\n useEffect(() => {\n const handlePointerUp = (): void => {\n setIsMoving(false);\n };\n\n document.addEventListener('pointerup', handlePointerUp);\n\n return () => {\n document.removeEventListener('pointerup', handlePointerUp);\n };\n }, []);\n\n const getValueBasedOnMarkerPosition = (markerPosition: number): number => {\n const trackPosition = trackRef.current?.getBoundingClientRect().x ?? 0;\n\n return Math.round(((markerPosition - trackPosition) / trackWidth) * (MAX_VALUE - MIN_VALUE));\n };\n\n useEffect(() => {\n const handlePointerMove = (e: PointerEvent): void => {\n if (!disabled && isMoving) {\n const newValue = getValueBasedOnMarkerPosition(e.clientX);\n setValue(newValue);\n }\n };\n\n document.addEventListener('pointermove', handlePointerMove);\n\n return () => {\n document.removeEventListener('pointermove', handlePointerMove);\n };\n }, [isMoving]);\n\n useEffect(() => {\n if (!disabled && onChange) {\n onChange(value);\n }\n }, [value]);\n\n const handleKeyDown: React.KeyboardEventHandler<HTMLDivElement> = e => {\n if (disabled) return;\n\n let flag = false;\n\n switch (e.key) {\n case 'ArrowLeft':\n case 'ArrowDown':\n setValue(value - STEP);\n flag = true;\n break;\n case 'PageDown':\n setValue(value - LARGE_STEP);\n flag = true;\n break;\n case 'ArrowRight':\n case 'ArrowUp':\n setValue(value + STEP);\n flag = true;\n break;\n case 'PageUp':\n setValue(value + LARGE_STEP);\n flag = true;\n break;\n case 'Home':\n setValue(MIN_VALUE);\n flag = true;\n break;\n case 'End':\n setValue(MAX_VALUE);\n flag = true;\n break;\n default:\n break;\n }\n\n if (flag) {\n e.preventDefault();\n e.stopPropagation();\n }\n };\n\n const handleTrackClick: React.MouseEventHandler<HTMLDivElement> = e => {\n if (disabled) return;\n\n const newValue = getValueBasedOnMarkerPosition(e.clientX);\n setValue(newValue);\n markerRef.current?.focus();\n };\n\n const handlePointerDown: React.PointerEventHandler<HTMLDivElement> = e => {\n if (disabled) return;\n\n setIsMoving(true);\n\n e.preventDefault();\n e.stopPropagation();\n\n markerRef.current?.focus();\n };\n\n const markerXPos = ((trackWidth - markerWidth) / (MAX_VALUE - MIN_VALUE)) * value;\n\n const getAriaLabeledById = (): string | undefined => {\n if (title && labelLeft && labelRight) {\n return [titleId, labelLeftId, labelRightId].join(' ');\n }\n if (title && labelLeft) {\n return [titleId, labelLeftId].join(' ');\n }\n if (title && labelRight) {\n return [titleId, labelRightId].join(' ');\n }\n if (title) {\n return titleId;\n }\n };\n\n const ariaLabelAttributes = getAriaLabelAttributes({\n label: ariaLabel,\n id: getAriaLabeledById(),\n prefer: 'label',\n });\n\n return (\n <div className={styles.slider} data-testid={testId} data-analyticsid={AnalyticsId.Slider}>\n {title && (\n <Title htmlMarkup={'h3'} margin={1.5} appearance={'title3'} id={titleId}>\n {title}\n </Title>\n )}\n {/* Komponenten er tilgjengelig for mus/keyboard gjennom bruk av slideren */}\n {/* eslint-disable-next-line jsx-a11y/no-static-element-interactions, jsx-a11y/click-events-have-key-events */}\n <div\n ref={trackRef}\n className={classNames(styles['slider__track-wrapper'], disabled && styles['slider__track-wrapper--disabled'])}\n onClick={handleTrackClick}\n onPointerDown={handlePointerDown}\n >\n <div className={classNames(styles.slider__track, disabled && styles['slider__track--disabled'])} />\n <div\n role={disabled ? undefined : 'slider'}\n ref={markerRef}\n className={classNames(styles.slider__marker, disabled && styles['slider__marker--disabled'])}\n style={{\n left: `${markerXPos}px`,\n }}\n onKeyDown={handleKeyDown}\n aria-valuenow={value}\n aria-valuemin={MIN_VALUE}\n aria-valuemax={MAX_VALUE}\n tabIndex={disabled ? undefined : 0}\n aria-disabled={disabled}\n {...ariaLabelAttributes}\n />\n </div>\n {(labelLeft || labelRight) && (\n <span className={styles.slider__options}>\n <span id={labelLeftId}>{labelLeft}</span>\n <span id={labelRightId}>{labelRight}</span>\n </span>\n )}\n </div>\n );\n};\n\nexport default Slider;\n"],"names":["useSafeNumberValue","initial","min","max","value","setValue","useState","newValue","MAX_VALUE","MIN_VALUE","STEP","LARGE_STEP","Slider","title","ariaLabel","labelLeft","labelRight","disabled","onChange","testId","isMoving","setIsMoving","titleId","useUuid","labelLeftId","labelRightId","trackRef","useRef","markerRef","trackWidth","useSize","markerWidth","useEffect","handlePointerUp","getValueBasedOnMarkerPosition","markerPosition","trackPosition","_a","handlePointerMove","e","handleKeyDown","flag","handleTrackClick","handlePointerDown","markerXPos","ariaLabelAttributes","getAriaLabelAttributes","React","styles","AnalyticsId","Title","classNames","Slider$1"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Slider.js","sources":["../../../src/components/Slider/Slider.tsx"],"sourcesContent":["import React, { useEffect, useState, useRef } from 'react';\n\nimport classNames from 'classnames';\n\nimport { AnalyticsId } from '../../constants';\nimport { useSize } from '../../hooks/useSize';\nimport { useUuid } from '../../hooks/useUuid';\nimport { getAriaLabelAttributes } from '../../utils/accessibility';\nimport Title from '../Title';\n\nimport styles from './styles.module.scss';\n\nconst useSafeNumberValue = (initial: number, min: number, max: number): [number, (value: number) => void] => {\n const [value, setValue] = useState(initial);\n\n const setSafeValue = (newValue: number): void => {\n if (newValue > max) {\n setValue(max);\n } else if (newValue < min) {\n setValue(min);\n } else {\n setValue(newValue);\n }\n };\n\n useEffect(() => {\n setValue((max - min) / 2 + min);\n }, [min, max]);\n\n return [value, setSafeValue];\n};\n\nexport type SliderStep = {\n label?: number | string;\n emojiUniCode?: string;\n};\n\ninterface SliderProps {\n /**\tSets the title of the slider. */\n title?: string;\n /** Adds the left hand label to the element. */\n labelLeft?: string;\n /** Adds the right hand label to the element. */\n labelRight?: string;\n /**\tSets aria-label of the slider. */\n ariaLabel?: string;\n /** Disables the slider element. */\n disabled?: boolean;\n /** Sets the minimum allowed value on the slider - this overrides the use of steps prop for minValue/maxValue. */\n minValue?: number;\n /** Sets the maximum allowed value on the slider - this overrides the use of steps prop for minValue/maxValue. */\n maxValue?: number;\n /** Function to be called when the value state has changed. */\n onChange?: (value: number) => void;\n /** Sets the steps data for the slider*/\n steps?: SliderStep[];\n /** Sets the step to move per point in the slider */\n step?: number;\n /** Sets the data-testid attribute. */\n testId?: string;\n}\n\nexport const Slider: React.FC<SliderProps> = ({\n title,\n ariaLabel,\n labelLeft,\n labelRight,\n disabled = false,\n onChange,\n steps,\n step = 1,\n minValue = 0,\n maxValue = steps ? steps.length - 1 : 100,\n testId,\n}) => {\n const [isMoving, setIsMoving] = useState(false);\n const [value, setValue] = useSafeNumberValue((maxValue - minValue) / 2 + minValue, minValue, maxValue);\n\n const titleId = useUuid();\n const labelLeftId = useUuid();\n const labelRightId = useUuid();\n const trackRef = useRef<HTMLDivElement>(null);\n const markerRef = useRef<HTMLDivElement>(null);\n const { width: trackWidth } = useSize(trackRef) || { width: 0 };\n const largeStep = maxValue / 10;\n\n useEffect(() => {\n const handlePointerUp = (): void => {\n setIsMoving(false);\n };\n\n document.addEventListener('pointerup', handlePointerUp);\n\n return () => {\n document.removeEventListener('pointerup', handlePointerUp);\n };\n }, []);\n\n const getValueBasedOnMarkerPosition = (markerPosition: number): number => {\n const trackPosition = trackRef.current?.getBoundingClientRect().x ?? 0;\n\n // Calculate the normalized position (0 to 1) of the marker along the track\n const normalizedPosition = (markerPosition - trackPosition) / trackWidth;\n const valueRange = maxValue - minValue;\n // Calculate the value without considering the step\n let value = normalizedPosition * valueRange + minValue;\n // Adjust the value to account for the step increment\n const stepCount = Math.round(value / step);\n value = stepCount * step;\n value = Math.max(minValue, Math.min(maxValue, value));\n\n return value;\n };\n\n useEffect(() => {\n const handlePointerMove = (e: PointerEvent): void => {\n if (!disabled && isMoving) {\n const newValue = getValueBasedOnMarkerPosition(e.clientX);\n setValue(newValue);\n }\n };\n\n document.addEventListener('pointermove', handlePointerMove);\n\n return () => {\n document.removeEventListener('pointermove', handlePointerMove);\n };\n }, [isMoving]);\n\n useEffect(() => {\n if (!disabled && onChange) {\n onChange(value);\n }\n }, [value]);\n\n const handleKeyDown: React.KeyboardEventHandler<HTMLDivElement> = e => {\n if (disabled) return;\n\n let flag = false;\n\n switch (e.key) {\n case 'ArrowLeft':\n case 'ArrowDown':\n setValue(value - step);\n flag = true;\n break;\n case 'PageDown':\n setValue(value - largeStep);\n flag = true;\n break;\n case 'ArrowRight':\n case 'ArrowUp':\n setValue(value + step);\n flag = true;\n break;\n case 'PageUp':\n setValue(value + largeStep);\n flag = true;\n break;\n case 'Home':\n setValue(minValue);\n flag = true;\n break;\n case 'End':\n setValue(maxValue);\n flag = true;\n break;\n default:\n break;\n }\n\n if (flag) {\n e.preventDefault();\n e.stopPropagation();\n }\n };\n\n const handleTrackClick: React.MouseEventHandler<HTMLDivElement> = e => {\n if (disabled) return;\n\n const newValue = getValueBasedOnMarkerPosition(e.clientX);\n setValue(newValue);\n markerRef.current?.focus();\n };\n\n const handlePointerDown: React.PointerEventHandler<HTMLDivElement> = e => {\n if (disabled) return;\n\n setIsMoving(true);\n\n e.preventDefault();\n e.stopPropagation();\n\n markerRef.current?.focus();\n };\n\n const markerXPos = maxValue !== minValue ? (trackWidth / (maxValue - minValue)) * (value - minValue) : 0;\n\n const getAriaValueText = (): string | undefined => {\n const stepIndex = steps ? Math.round((value - minValue) / step) : null;\n\n if (steps && stepIndex !== null && stepIndex >= 0 && stepIndex < steps.length) {\n const step = steps[stepIndex];\n const emojiCode = step.emojiUniCode;\n const label = typeof step.label !== 'undefined' ? step.label.toString() : undefined;\n\n return emojiCode && label ? `${emojiCode} ${label}` : emojiCode || label;\n }\n\n return undefined;\n };\n\n const getAriaLabeledById = (): string | undefined => {\n if (title && labelLeft && labelRight) {\n return [titleId, labelLeftId, labelRightId].join(' ');\n }\n if (title && labelLeft) {\n return [titleId, labelLeftId].join(' ');\n }\n if (title && labelRight) {\n return [titleId, labelRightId].join(' ');\n }\n if (title) {\n return titleId;\n }\n };\n\n const ariaLabelAttributes = getAriaLabelAttributes({\n label: ariaLabel,\n id: getAriaLabeledById(),\n prefer: 'label',\n });\n\n const getXPostionStyling = (index: number, stepsLength: number): { left: string } => {\n return { left: `${(index / (stepsLength - 1)) * 100}%` };\n };\n\n const renderEmojies = (): React.ReactNode => {\n return (\n <div className={styles['slider__emoji-container']}>\n {steps?.map((step, index) => {\n return (\n step.emojiUniCode && (\n <div\n aria-hidden={true}\n key={'emoji' + index}\n className={styles['slider__emoji']}\n style={getXPostionStyling(index, steps.length)}\n >\n {step.emojiUniCode}\n </div>\n )\n );\n })}\n </div>\n );\n };\n\n const renderSteps = (): React.ReactNode => {\n return steps?.map((_step, index) => {\n return <div key={'step' + index} className={styles['slider__track__step']} style={getXPostionStyling(index, steps.length)} />;\n });\n };\n\n const renderStepLabels = (): React.ReactNode => {\n return (\n <div className={styles['slider__value-container']}>\n {steps?.map((step, index) => {\n return (\n typeof step.label !== 'undefined' && (\n <div\n aria-hidden={true}\n key={'label' + index}\n className={styles['slider__value']}\n style={getXPostionStyling(index, steps.length)}\n >\n {step.label}\n </div>\n )\n );\n })}\n </div>\n );\n };\n\n return (\n <div className={styles.slider} data-testid={testId} data-analyticsid={AnalyticsId.Slider}>\n {title && (\n <Title className={styles['slider__title']} htmlMarkup={'h3'} margin={0} appearance={'title3'} id={titleId}>\n {title}\n </Title>\n )}\n <div className={styles['slider__content-container']}>\n {renderEmojies()}\n {/* Komponenten er tilgjengelig for mus/keyboard gjennom bruk av slideren */}\n {/* eslint-disable-next-line jsx-a11y/no-static-element-interactions, jsx-a11y/click-events-have-key-events */}\n <div\n ref={trackRef}\n className={classNames(styles['slider__track-wrapper'], disabled && styles['slider__track-wrapper--disabled'])}\n onClick={handleTrackClick}\n onPointerDown={handlePointerDown}\n >\n <div className={classNames(styles.slider__track, disabled && styles['slider__track--disabled'])}>{renderSteps()}</div>\n <div\n role={disabled ? undefined : 'slider'}\n ref={markerRef}\n className={classNames(styles.slider__marker, disabled && styles['slider__marker--disabled'])}\n style={{\n left: `${markerXPos}px`,\n }}\n onKeyDown={handleKeyDown}\n aria-valuenow={value}\n aria-valuetext={getAriaValueText()}\n aria-valuemin={minValue}\n aria-valuemax={maxValue}\n tabIndex={disabled ? undefined : 0}\n aria-disabled={disabled}\n {...ariaLabelAttributes}\n />\n </div>\n {renderStepLabels()}\n </div>\n {(labelLeft || labelRight) && (\n <span className={styles.slider__options}>\n <span id={labelLeftId}>{labelLeft}</span>\n <span id={labelRightId}>{labelRight}</span>\n </span>\n )}\n </div>\n );\n};\n\nexport default Slider;\n"],"names":["useSafeNumberValue","initial","min","max","value","setValue","useState","setSafeValue","newValue","useEffect","Slider","title","ariaLabel","labelLeft","labelRight","disabled","onChange","steps","step","minValue","maxValue","testId","isMoving","setIsMoving","titleId","useUuid","labelLeftId","labelRightId","trackRef","useRef","markerRef","trackWidth","useSize","largeStep","handlePointerUp","getValueBasedOnMarkerPosition","markerPosition","trackPosition","_a","normalizedPosition","valueRange","handlePointerMove","handleKeyDown","e","flag","handleTrackClick","handlePointerDown","markerXPos","getAriaValueText","stepIndex","emojiCode","label","ariaLabelAttributes","getAriaLabelAttributes","getXPostionStyling","index","stepsLength","renderEmojies","React","styles","renderSteps","_step","renderStepLabels","AnalyticsId","Title","classNames","Slider$1"],"mappings":"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"}
|
|
@@ -2,13 +2,47 @@
|
|
|
2
2
|
@import '../../scss/breakpoints';
|
|
3
3
|
@import '../../scss/palette';
|
|
4
4
|
|
|
5
|
+
$track-height-offset: 1rem;
|
|
6
|
+
$mark-size: getSpacer(l);
|
|
7
|
+
|
|
5
8
|
.slider {
|
|
9
|
+
display: flex;
|
|
10
|
+
flex-direction: column;
|
|
11
|
+
row-gap: getSpacer(s);
|
|
6
12
|
width: 100%;
|
|
7
13
|
padding: getSpacer(m) 0;
|
|
8
14
|
position: relative;
|
|
9
15
|
outline: none !important;
|
|
10
16
|
|
|
17
|
+
&__title {
|
|
18
|
+
grid-column: 1 / -1;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
&__content-container {
|
|
22
|
+
display: flex;
|
|
23
|
+
flex-direction: column;
|
|
24
|
+
row-gap: getSpacer(s);
|
|
25
|
+
padding: 0 getSpacer(s);
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
&__emoji-container,
|
|
29
|
+
&__value-container {
|
|
30
|
+
width: 100%;
|
|
31
|
+
position: relative;
|
|
32
|
+
display: flex;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
&__emoji,
|
|
36
|
+
&__value {
|
|
37
|
+
position: relative;
|
|
38
|
+
display: flex;
|
|
39
|
+
justify-content: center;
|
|
40
|
+
width: 0;
|
|
41
|
+
transform: translateX(-50%);
|
|
42
|
+
}
|
|
43
|
+
|
|
11
44
|
&__track-wrapper {
|
|
45
|
+
height: $mark-size;
|
|
12
46
|
width: 100%;
|
|
13
47
|
cursor: pointer;
|
|
14
48
|
touch-action: none;
|
|
@@ -19,27 +53,36 @@
|
|
|
19
53
|
}
|
|
20
54
|
|
|
21
55
|
&__track {
|
|
56
|
+
padding: 0 getSpacer(s);
|
|
22
57
|
border-top: 2px solid $black;
|
|
23
|
-
width: 100%;
|
|
24
58
|
position: relative;
|
|
25
|
-
top:
|
|
59
|
+
top: $track-height-offset;
|
|
26
60
|
|
|
27
61
|
&--disabled {
|
|
28
62
|
border-color: $neutral600;
|
|
29
63
|
}
|
|
64
|
+
|
|
65
|
+
&__step {
|
|
66
|
+
position: absolute;
|
|
67
|
+
left: -1px;
|
|
68
|
+
width: 2px;
|
|
69
|
+
height: getSpacer(xs);
|
|
70
|
+
bottom: 0;
|
|
71
|
+
top: (calc($track-height-offset / 2) * -1) + 0.05rem;
|
|
72
|
+
background-color: $black;
|
|
73
|
+
}
|
|
30
74
|
}
|
|
31
75
|
|
|
32
76
|
&__marker {
|
|
33
77
|
display: flex;
|
|
34
78
|
justify-content: center;
|
|
35
79
|
align-items: center;
|
|
36
|
-
width:
|
|
37
|
-
height:
|
|
80
|
+
width: $mark-size;
|
|
81
|
+
height: $mark-size;
|
|
38
82
|
background-color: $white;
|
|
39
83
|
border: 0.15rem solid $black;
|
|
40
|
-
border-radius:
|
|
41
|
-
position:
|
|
42
|
-
top: -0.05rem;
|
|
84
|
+
border-radius: 10rem;
|
|
85
|
+
position: absolute;
|
|
43
86
|
z-index: 9;
|
|
44
87
|
outline: none;
|
|
45
88
|
cursor: pointer;
|
|
@@ -53,7 +96,7 @@
|
|
|
53
96
|
width: 1.25rem;
|
|
54
97
|
height: 1.25rem;
|
|
55
98
|
border: 0.1rem solid $black;
|
|
56
|
-
border-radius:
|
|
99
|
+
border-radius: 10rem;
|
|
57
100
|
background-color: $blueberry600;
|
|
58
101
|
|
|
59
102
|
:hover > &,
|
|
@@ -1,12 +1,19 @@
|
|
|
1
1
|
export type Styles = {
|
|
2
2
|
slider: string;
|
|
3
|
+
'slider__content-container': string;
|
|
4
|
+
slider__emoji: string;
|
|
5
|
+
'slider__emoji-container': string;
|
|
3
6
|
slider__marker: string;
|
|
4
7
|
'slider__marker--disabled': string;
|
|
5
8
|
slider__options: string;
|
|
9
|
+
slider__title: string;
|
|
6
10
|
slider__track: string;
|
|
11
|
+
slider__track__step: string;
|
|
7
12
|
'slider__track--disabled': string;
|
|
8
13
|
'slider__track-wrapper': string;
|
|
9
14
|
'slider__track-wrapper--disabled': string;
|
|
15
|
+
slider__value: string;
|
|
16
|
+
'slider__value-container': string;
|
|
10
17
|
};
|
|
11
18
|
|
|
12
19
|
export type ClassNames = keyof Styles;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Spacer.js","sources":["../../../src/components/Spacer/Spacer.tsx"],"sourcesContent":["import React from 'react';\n\nimport classNames from 'classnames';\n\nimport { SpacerSizes } from './../../theme/spacers';\nimport { AnalyticsId } from '../../constants';\n\nimport spacerStyles from './styles.module.scss';\n\ninterface SpacerProps {\n /** Sets the size of the spacer. */\n size?: SpacerSizes;\n /** Adds custom classes to the element. */\n className?: string;\n /** Sets the data-testid attribute. */\n testId?: string;\n}\n\nconst Spacer = React.forwardRef(function SpacerForwardedRef(props: SpacerProps, ref: React.ForwardedRef<HTMLElement>) {\n const { size = 's', className, testId } = props;\n const spacerClasses = classNames(\n spacerStyles.spacer,\n {\n [spacerStyles['spacer--4xs']]: size === '4xs',\n [spacerStyles['spacer--3xs']]: size === '3xs',\n [spacerStyles['spacer--2xs']]: size === '2xs',\n [spacerStyles['spacer--xs']]: size === 'xs',\n [spacerStyles['spacer--s']]: size === 's',\n [spacerStyles['spacer--m']]: size === 'm',\n [spacerStyles['spacer--l']]: size === 'l',\n [spacerStyles['spacer--xl']]: size === 'xl',\n [spacerStyles['spacer--2xl']]: size === '2xl',\n [spacerStyles['spacer--3xl']]: size === '3xl',\n [spacerStyles['spacer--4xl']]: size === '4xl',\n [spacerStyles['spacer--5xl']]: size === '5xl',\n [spacerStyles['spacer--6xl']]: size === '6xl',\n },\n className\n );\n\n return <span className={spacerClasses} ref={ref} data-testid={testId} data-analyticsid={AnalyticsId.Spacer}></span>;\n});\n\nexport default Spacer;\n"],"names":["Spacer","React","props","ref","size","className","testId","spacerClasses","classNames","spacerStyles","AnalyticsId","Spacer$1"],"mappings":";;;;AAkBA,MAAMA,IAASC,EAAM,WAAW,SAA4BC,GAAoBC,GAAsC;AACpH,QAAM,EAAE,MAAAC,IAAO,KAAK,WAAAC,GAAW,QAAAC,MAAWJ,GACpCK,IAAgBC;AAAA,IACpBC,EAAa;AAAA,IACb;AAAA,MACE,CAACA,EAAa,aAAa,CAAC,GAAGL,MAAS;AAAA,MACxC,CAACK,EAAa,aAAa,CAAC,GAAGL,MAAS;AAAA,MACxC,CAACK,EAAa,aAAa,CAAC,GAAGL,MAAS;AAAA,MACxC,CAACK,EAAa,YAAY,CAAC,GAAGL,MAAS;AAAA,MACvC,CAACK,EAAa,WAAW,CAAC,GAAGL,MAAS;AAAA,MACtC,CAACK,EAAa,WAAW,CAAC,GAAGL,MAAS;AAAA,MACtC,CAACK,EAAa,WAAW,CAAC,GAAGL,MAAS;AAAA,MACtC,CAACK,EAAa,YAAY,CAAC,GAAGL,MAAS;AAAA,MACvC,CAACK,EAAa,aAAa,CAAC,GAAGL,MAAS;AAAA,MACxC,CAACK,EAAa,aAAa,CAAC,GAAGL,MAAS;AAAA,MACxC,CAACK,EAAa,aAAa,CAAC,GAAGL,MAAS;AAAA,MACxC,CAACK,EAAa,aAAa,CAAC,GAAGL,MAAS;AAAA,MACxC,CAACK,EAAa,aAAa,CAAC,GAAGL,MAAS;AAAA,IAC1C;AAAA,IACAC;AAAA,EAAA;AAGK,
|
|
1
|
+
{"version":3,"file":"Spacer.js","sources":["../../../src/components/Spacer/Spacer.tsx"],"sourcesContent":["import React from 'react';\n\nimport classNames from 'classnames';\n\nimport { SpacerSizes } from './../../theme/spacers';\nimport { AnalyticsId } from '../../constants';\n\nimport spacerStyles from './styles.module.scss';\n\ninterface SpacerProps {\n /** Sets the size of the spacer. */\n size?: SpacerSizes;\n /** Adds custom classes to the element. */\n className?: string;\n /** Sets the data-testid attribute. */\n testId?: string;\n}\n\nconst Spacer = React.forwardRef(function SpacerForwardedRef(props: SpacerProps, ref: React.ForwardedRef<HTMLElement>) {\n const { size = 's', className, testId } = props;\n const spacerClasses = classNames(\n spacerStyles.spacer,\n {\n [spacerStyles['spacer--4xs']]: size === '4xs',\n [spacerStyles['spacer--3xs']]: size === '3xs',\n [spacerStyles['spacer--2xs']]: size === '2xs',\n [spacerStyles['spacer--xs']]: size === 'xs',\n [spacerStyles['spacer--s']]: size === 's',\n [spacerStyles['spacer--m']]: size === 'm',\n [spacerStyles['spacer--l']]: size === 'l',\n [spacerStyles['spacer--xl']]: size === 'xl',\n [spacerStyles['spacer--2xl']]: size === '2xl',\n [spacerStyles['spacer--3xl']]: size === '3xl',\n [spacerStyles['spacer--4xl']]: size === '4xl',\n [spacerStyles['spacer--5xl']]: size === '5xl',\n [spacerStyles['spacer--6xl']]: size === '6xl',\n },\n className\n );\n\n return <span className={spacerClasses} ref={ref} data-testid={testId} data-analyticsid={AnalyticsId.Spacer}></span>;\n});\n\nexport default Spacer;\n"],"names":["Spacer","React","props","ref","size","className","testId","spacerClasses","classNames","spacerStyles","AnalyticsId","Spacer$1"],"mappings":";;;;AAkBA,MAAMA,IAASC,EAAM,WAAW,SAA4BC,GAAoBC,GAAsC;AACpH,QAAM,EAAE,MAAAC,IAAO,KAAK,WAAAC,GAAW,QAAAC,MAAWJ,GACpCK,IAAgBC;AAAA,IACpBC,EAAa;AAAA,IACb;AAAA,MACE,CAACA,EAAa,aAAa,CAAC,GAAGL,MAAS;AAAA,MACxC,CAACK,EAAa,aAAa,CAAC,GAAGL,MAAS;AAAA,MACxC,CAACK,EAAa,aAAa,CAAC,GAAGL,MAAS;AAAA,MACxC,CAACK,EAAa,YAAY,CAAC,GAAGL,MAAS;AAAA,MACvC,CAACK,EAAa,WAAW,CAAC,GAAGL,MAAS;AAAA,MACtC,CAACK,EAAa,WAAW,CAAC,GAAGL,MAAS;AAAA,MACtC,CAACK,EAAa,WAAW,CAAC,GAAGL,MAAS;AAAA,MACtC,CAACK,EAAa,YAAY,CAAC,GAAGL,MAAS;AAAA,MACvC,CAACK,EAAa,aAAa,CAAC,GAAGL,MAAS;AAAA,MACxC,CAACK,EAAa,aAAa,CAAC,GAAGL,MAAS;AAAA,MACxC,CAACK,EAAa,aAAa,CAAC,GAAGL,MAAS;AAAA,MACxC,CAACK,EAAa,aAAa,CAAC,GAAGL,MAAS;AAAA,MACxC,CAACK,EAAa,aAAa,CAAC,GAAGL,MAAS;AAAA,IAC1C;AAAA,IACAC;AAAA,EAAA;AAGK,SAAAJ,gBAAAA,EAAA,cAAC,UAAK,WAAWM,GAAe,KAAAJ,GAAU,eAAaG,GAAQ,oBAAkBI,EAAY,OAAQ,CAAA;AAC9G,CAAC,GAEDC,IAAeX;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StatusDot.js","sources":["../../../src/components/StatusDot/StatusDot.tsx"],"sourcesContent":["import React from 'react';\n\nimport classNames from 'classnames';\n\nimport { IconSize } from '../..';\nimport { AnalyticsId } from '../../constants';\nimport { getColor } from '../../theme/currys';\nimport { Icon } from '../Icon';\nimport Attachment from '../Icons/Attachment';\nimport Group from '../Icons/Group';\nimport NoAccess from '../Icons/NoAccess';\nimport Undo from '../Icons/Undo';\n\nimport styles from './styles.module.scss';\n\nexport enum StatusDotModes {\n onwhite = 'onwhite',\n ondark = 'ondark',\n}\n\nexport enum StatusDotVariant {\n info = 'info',\n warning = 'warning',\n alert = 'alert',\n cancelled = 'cancelled',\n active = 'active',\n transparent = 'transparent',\n recurring = 'recurring',\n group = 'group',\n noaccess = 'noaccess',\n attachment = 'attachment',\n}\n\nexport interface StatusDotIconProps {\n /** The variant defines style formatting and what icon to use */\n variant?: keyof typeof StatusDotVariant;\n}\n\nconst StatusDotIcon: React.FC<StatusDotIconProps> = ({ variant }) => {\n if (variant === StatusDotVariant.recurring) {\n return <Icon size={IconSize.XXSmall} svgIcon={Undo} />;\n } else if (variant === StatusDotVariant.group) {\n return <Icon size={IconSize.XXSmall} svgIcon={Group} />;\n } else if (variant === StatusDotVariant.noaccess) {\n return <Icon size={IconSize.XXSmall} svgIcon={NoAccess} color={getColor('cherry', 600)} />;\n } else if (variant === StatusDotVariant.attachment) {\n return <Icon size={IconSize.XXSmall} svgIcon={Attachment} />;\n }\n\n return null;\n};\n\nexport interface StatusDotProps {\n /** id that is placed on the wrapper */\n id?: string;\n /** Defines the color mode, onwhite, ondark etc. */\n mode?: keyof typeof StatusDotModes;\n /** Visual variants for the statusdot */\n variant?: keyof typeof StatusDotVariant;\n /** Text placed to the right of the statusdot */\n text: string;\n /** Adds custom classes to the element. */\n className?: string;\n /** Sets the data-testid attribute. */\n testId?: string;\n}\n\nconst StatusDot: React.FC<StatusDotProps> = props => {\n const { id, mode = StatusDotModes.onwhite, variant = StatusDotVariant.info, text, className, testId } = props;\n\n const hasIcon =\n variant === StatusDotVariant.recurring ||\n variant === StatusDotVariant.group ||\n variant === StatusDotVariant.noaccess ||\n variant === StatusDotVariant.attachment;\n\n const isCancelled = variant === StatusDotVariant.cancelled;\n\n const statusDotClasses = classNames(styles['statusdot'], isCancelled && styles['statusdot--cancelled'], className);\n const dotClasses = classNames(styles['statusdot__dot'], hasIcon ? styles[`statusdot__dot--icon`] : styles[`statusdot__dot--${variant}`]);\n const labelClasses = classNames(\n styles['statusdot__label'],\n hasIcon && styles['statusdot__label--icon'],\n mode === StatusDotModes.ondark && styles['statusdot__label--on-dark']\n );\n\n return (\n <span id={id} className={statusDotClasses} data-testid={testId} data-analyticsid={AnalyticsId.StatusDot}>\n <span className={dotClasses}>\n <StatusDotIcon variant={variant} />\n </span>\n <span className={labelClasses}>{text}</span>\n </span>\n );\n};\n\nexport default StatusDot;\n"],"names":["StatusDotModes","StatusDotVariant","StatusDotIcon","variant","Icon","IconSize","Undo","Group","React","NoAccess","getColor","Attachment","StatusDot","props","id","mode","text","className","testId","hasIcon","isCancelled","statusDotClasses","classNames","styles","dotClasses","labelClasses","AnalyticsId","StatusDot$1"],"mappings":";;;;;;;;;;;;AAeY,IAAAA,sBAAAA,OACVA,EAAA,UAAU,WACVA,EAAA,SAAS,UAFCA,IAAAA,KAAA,CAAA,CAAA,GAKAC,sBAAAA,OACVA,EAAA,OAAO,QACPA,EAAA,UAAU,WACVA,EAAA,QAAQ,SACRA,EAAA,YAAY,aACZA,EAAA,SAAS,UACTA,EAAA,cAAc,eACdA,EAAA,YAAY,aACZA,EAAA,QAAQ,SACRA,EAAA,WAAW,YACXA,EAAA,aAAa,cAVHA,IAAAA,KAAA,CAAA,CAAA;AAkBZ,MAAMC,IAA8C,CAAC,EAAE,SAAAC,QACjDA,MAAY,8CACNC,GAAK,EAAA,MAAMC,EAAS,SAAS,SAASC,EAAM,CAAA,IAC3CH,MAAY,0CACbC,GAAK,EAAA,MAAMC,EAAS,SAAS,SAASE,EAAO,CAAA,IAC5CJ,MAAY,
|
|
1
|
+
{"version":3,"file":"StatusDot.js","sources":["../../../src/components/StatusDot/StatusDot.tsx"],"sourcesContent":["import React from 'react';\n\nimport classNames from 'classnames';\n\nimport { IconSize } from '../..';\nimport { AnalyticsId } from '../../constants';\nimport { getColor } from '../../theme/currys';\nimport { Icon } from '../Icon';\nimport Attachment from '../Icons/Attachment';\nimport Group from '../Icons/Group';\nimport NoAccess from '../Icons/NoAccess';\nimport Undo from '../Icons/Undo';\n\nimport styles from './styles.module.scss';\n\nexport enum StatusDotModes {\n onwhite = 'onwhite',\n ondark = 'ondark',\n}\n\nexport enum StatusDotVariant {\n info = 'info',\n warning = 'warning',\n alert = 'alert',\n cancelled = 'cancelled',\n active = 'active',\n transparent = 'transparent',\n recurring = 'recurring',\n group = 'group',\n noaccess = 'noaccess',\n attachment = 'attachment',\n}\n\nexport interface StatusDotIconProps {\n /** The variant defines style formatting and what icon to use */\n variant?: keyof typeof StatusDotVariant;\n}\n\nconst StatusDotIcon: React.FC<StatusDotIconProps> = ({ variant }) => {\n if (variant === StatusDotVariant.recurring) {\n return <Icon size={IconSize.XXSmall} svgIcon={Undo} />;\n } else if (variant === StatusDotVariant.group) {\n return <Icon size={IconSize.XXSmall} svgIcon={Group} />;\n } else if (variant === StatusDotVariant.noaccess) {\n return <Icon size={IconSize.XXSmall} svgIcon={NoAccess} color={getColor('cherry', 600)} />;\n } else if (variant === StatusDotVariant.attachment) {\n return <Icon size={IconSize.XXSmall} svgIcon={Attachment} />;\n }\n\n return null;\n};\n\nexport interface StatusDotProps {\n /** id that is placed on the wrapper */\n id?: string;\n /** Defines the color mode, onwhite, ondark etc. */\n mode?: keyof typeof StatusDotModes;\n /** Visual variants for the statusdot */\n variant?: keyof typeof StatusDotVariant;\n /** Text placed to the right of the statusdot */\n text: string;\n /** Adds custom classes to the element. */\n className?: string;\n /** Sets the data-testid attribute. */\n testId?: string;\n}\n\nconst StatusDot: React.FC<StatusDotProps> = props => {\n const { id, mode = StatusDotModes.onwhite, variant = StatusDotVariant.info, text, className, testId } = props;\n\n const hasIcon =\n variant === StatusDotVariant.recurring ||\n variant === StatusDotVariant.group ||\n variant === StatusDotVariant.noaccess ||\n variant === StatusDotVariant.attachment;\n\n const isCancelled = variant === StatusDotVariant.cancelled;\n\n const statusDotClasses = classNames(styles['statusdot'], isCancelled && styles['statusdot--cancelled'], className);\n const dotClasses = classNames(styles['statusdot__dot'], hasIcon ? styles[`statusdot__dot--icon`] : styles[`statusdot__dot--${variant}`]);\n const labelClasses = classNames(\n styles['statusdot__label'],\n hasIcon && styles['statusdot__label--icon'],\n mode === StatusDotModes.ondark && styles['statusdot__label--on-dark']\n );\n\n return (\n <span id={id} className={statusDotClasses} data-testid={testId} data-analyticsid={AnalyticsId.StatusDot}>\n <span className={dotClasses}>\n <StatusDotIcon variant={variant} />\n </span>\n <span className={labelClasses}>{text}</span>\n </span>\n );\n};\n\nexport default StatusDot;\n"],"names":["StatusDotModes","StatusDotVariant","StatusDotIcon","variant","Icon","IconSize","Undo","Group","React","NoAccess","getColor","Attachment","StatusDot","props","id","mode","text","className","testId","hasIcon","isCancelled","statusDotClasses","classNames","styles","dotClasses","labelClasses","AnalyticsId","StatusDot$1"],"mappings":";;;;;;;;;;;;AAeY,IAAAA,sBAAAA,OACVA,EAAA,UAAU,WACVA,EAAA,SAAS,UAFCA,IAAAA,KAAA,CAAA,CAAA,GAKAC,sBAAAA,OACVA,EAAA,OAAO,QACPA,EAAA,UAAU,WACVA,EAAA,QAAQ,SACRA,EAAA,YAAY,aACZA,EAAA,SAAS,UACTA,EAAA,cAAc,eACdA,EAAA,YAAY,aACZA,EAAA,QAAQ,SACRA,EAAA,WAAW,YACXA,EAAA,aAAa,cAVHA,IAAAA,KAAA,CAAA,CAAA;AAkBZ,MAAMC,IAA8C,CAAC,EAAE,SAAAC,QACjDA,MAAY,8CACNC,GAAK,EAAA,MAAMC,EAAS,SAAS,SAASC,EAAM,CAAA,IAC3CH,MAAY,0CACbC,GAAK,EAAA,MAAMC,EAAS,SAAS,SAASE,EAAO,CAAA,IAC5CJ,MAAY,aACdK,gBAAAA,EAAA,cAACJ,GAAK,EAAA,MAAMC,EAAS,SAAS,SAASI,GAAU,OAAOC,EAAS,UAAU,GAAG,EAAG,CAAA,IAC/EP,MAAY,+CACbC,GAAK,EAAA,MAAMC,EAAS,SAAS,SAASM,EAAY,CAAA,IAGrD,MAkBHC,IAAsC,CAASC,MAAA;AAC7C,QAAA,EAAE,IAAAC,GAAI,MAAAC,IAAO,WAAwB,SAAAZ,IAAU,QAAuB,MAAAa,GAAM,WAAAC,GAAW,QAAAC,EAAW,IAAAL,GAElGM,IACJhB,MAAY,eACZA,MAAY,WACZA,MAAY,cACZA,MAAY,cAERiB,IAAcjB,MAAY,aAE1BkB,IAAmBC,EAAWC,EAAO,WAAcH,KAAeG,EAAO,sBAAsB,GAAGN,CAAS,GAC3GO,IAAaF,EAAWC,EAAO,gBAAmBJ,IAAUI,EAAO,sBAAsB,IAAIA,EAAO,mBAAmBpB,CAAO,EAAE,CAAC,GACjIsB,IAAeH;AAAA,IACnBC,EAAO;AAAA,IACPJ,KAAWI,EAAO,wBAAwB;AAAA,IAC1CR,MAAS,YAAyBQ,EAAO,2BAA2B;AAAA,EAAA;AAIpE,SAAAf,gBAAAA,EAAA,cAAC,QAAK,EAAA,IAAAM,GAAQ,WAAWO,GAAkB,eAAaH,GAAQ,oBAAkBQ,EAAY,UAAA,GAC3FlB,gBAAAA,EAAA,cAAA,QAAA,EAAK,WAAWgB,EACf,GAAAhB,gBAAAA,EAAA,cAACN,GAAc,EAAA,SAAAC,EAAA,CAAkB,CACnC,mCACC,QAAK,EAAA,WAAWsB,EAAe,GAAAT,CAAK,CACvC;AAEJ,GAEAW,IAAef;"}
|
|
@@ -5,10 +5,12 @@
|
|
|
5
5
|
@import '../../scss/font-settings';
|
|
6
6
|
@import '../../scss/screen-reader';
|
|
7
7
|
|
|
8
|
+
$status-dot-size: 0.937rem;
|
|
9
|
+
|
|
8
10
|
.statusdot {
|
|
9
11
|
position: relative;
|
|
10
12
|
display: inline-flex;
|
|
11
|
-
align-items:
|
|
13
|
+
align-items: flex-start;
|
|
12
14
|
font-size: $font-size-xs;
|
|
13
15
|
line-height: $lineheight-size-xs;
|
|
14
16
|
font-weight: 400;
|
|
@@ -26,10 +28,17 @@
|
|
|
26
28
|
top: getSpacer(3xs);
|
|
27
29
|
margin-right: getSpacer(2xs);
|
|
28
30
|
border-radius: 10rem;
|
|
31
|
+
margin-top: 0.28rem;
|
|
32
|
+
|
|
33
|
+
@media (min-width: map.get($grid-breakpoints, sm)) {
|
|
34
|
+
margin-top: 0.45rem;
|
|
35
|
+
}
|
|
29
36
|
|
|
30
37
|
&:not(#{&}--icon) {
|
|
31
|
-
width:
|
|
32
|
-
height:
|
|
38
|
+
width: $status-dot-size;
|
|
39
|
+
height: $status-dot-size;
|
|
40
|
+
min-width: $status-dot-size;
|
|
41
|
+
min-height: $status-dot-size;
|
|
33
42
|
}
|
|
34
43
|
|
|
35
44
|
&--info {
|
package/components/Step/Step.js
CHANGED
|
@@ -5,26 +5,26 @@ import i from "./styles.module.scss";
|
|
|
5
5
|
const f = ({
|
|
6
6
|
stepper: t,
|
|
7
7
|
children: c,
|
|
8
|
-
backButton:
|
|
9
|
-
forwardButton:
|
|
8
|
+
backButton: a,
|
|
9
|
+
forwardButton: s,
|
|
10
10
|
additionalButtons: m,
|
|
11
11
|
cancelButton: r,
|
|
12
12
|
stickyButtons: p = !1,
|
|
13
13
|
testId: l
|
|
14
14
|
}) => {
|
|
15
|
-
const o =
|
|
15
|
+
const o = a || s || m || r;
|
|
16
16
|
return /* @__PURE__ */ e.createElement("div", { "data-testid": l, "data-analyticsid": n.Step }, t && /* @__PURE__ */ e.createElement("div", { className: i.step__stepper }, t), /* @__PURE__ */ e.createElement("div", { className: i.step__content }, c), o && /* @__PURE__ */ e.createElement(
|
|
17
17
|
d,
|
|
18
18
|
{
|
|
19
|
-
backButton:
|
|
20
|
-
forwardButton:
|
|
19
|
+
backButton: a,
|
|
20
|
+
forwardButton: s,
|
|
21
21
|
additionalButtons: m,
|
|
22
22
|
cancelButton: r,
|
|
23
23
|
sticky: p
|
|
24
24
|
}
|
|
25
25
|
));
|
|
26
|
-
},
|
|
26
|
+
}, S = f;
|
|
27
27
|
export {
|
|
28
|
-
|
|
28
|
+
S as default
|
|
29
29
|
};
|
|
30
30
|
//# sourceMappingURL=Step.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Step.js","sources":["../../../src/components/Step/Step.tsx"],"sourcesContent":["import React from 'react';\n\nimport classNames from 'classnames';\n\nimport { AnalyticsId } from '../../constants';\nimport { ButtonProps } from '../Button';\nimport StepButtons from '../StepButtons';\nimport { StepperProps } from '../Stepper';\n\nimport styles from './styles.module.scss';\n\nexport interface StepProps {\n /** Stepper viser fremdriften */\n stepper?: React.ReactElement<StepperProps>;\n /** Innhold i steget */\n children: React.ReactNode;\n /** Knapp for å gå tilbake. Vises med \"outline\" variant. */\n backButton?: React.ReactElement<ButtonProps>;\n /** Knapp for å gå videre. Vises med \"fill\" variant. */\n forwardButton?: React.ReactElement<ButtonProps>;\n /** Ekstra knapper. Valgfritt utseende. */\n additionalButtons?: React.ReactElement<ButtonProps>[];\n /** Knapp for å avbryte eller fortsette senere. Vises med \"borderless\" variant. */\n cancelButton?: React.ReactElement<ButtonProps>;\n /** Knappene vil vises sticky nederst på skjermen dersom innholdet i Step tar mer plass enn vinduet. Default: false */\n stickyButtons?: boolean;\n /** Sets the data-testid attribute. */\n testId?: string;\n}\n\nconst Step: React.FC<StepProps> = ({\n stepper,\n children,\n backButton,\n forwardButton,\n additionalButtons,\n cancelButton,\n stickyButtons = false,\n testId,\n}) => {\n const hasNavigation = backButton || forwardButton || additionalButtons || cancelButton;\n\n return (\n <div data-testid={testId} data-analyticsid={AnalyticsId.Step}>\n {stepper && <div className={styles.step__stepper}>{stepper}</div>}\n <div className={styles.step__content}>{children}</div>\n {hasNavigation && (\n <StepButtons\n backButton={backButton}\n forwardButton={forwardButton}\n additionalButtons={additionalButtons}\n cancelButton={cancelButton}\n sticky={stickyButtons}\n />\n )}\n </div>\n );\n};\n\nexport default Step;\n"],"names":["Step","stepper","children","backButton","forwardButton","additionalButtons","cancelButton","stickyButtons","testId","hasNavigation","React","AnalyticsId","styles","StepButtons","Step$1"],"mappings":";;;;AA8BA,MAAMA,IAA4B,CAAC;AAAA,EACjC,SAAAC;AAAA,EACA,UAAAC;AAAA,EACA,YAAAC;AAAA,EACA,eAAAC;AAAA,EACA,mBAAAC;AAAA,EACA,cAAAC;AAAA,EACA,eAAAC,IAAgB;AAAA,EAChB,QAAAC;AACF,MAAM;AACE,QAAAC,IAAgBN,KAAcC,KAAiBC,KAAqBC;AAGxE,
|
|
1
|
+
{"version":3,"file":"Step.js","sources":["../../../src/components/Step/Step.tsx"],"sourcesContent":["import React from 'react';\n\nimport classNames from 'classnames';\n\nimport { AnalyticsId } from '../../constants';\nimport { ButtonProps } from '../Button';\nimport StepButtons from '../StepButtons';\nimport { StepperProps } from '../Stepper';\n\nimport styles from './styles.module.scss';\n\nexport interface StepProps {\n /** Stepper viser fremdriften */\n stepper?: React.ReactElement<StepperProps>;\n /** Innhold i steget */\n children: React.ReactNode;\n /** Knapp for å gå tilbake. Vises med \"outline\" variant. */\n backButton?: React.ReactElement<ButtonProps>;\n /** Knapp for å gå videre. Vises med \"fill\" variant. */\n forwardButton?: React.ReactElement<ButtonProps>;\n /** Ekstra knapper. Valgfritt utseende. */\n additionalButtons?: React.ReactElement<ButtonProps>[];\n /** Knapp for å avbryte eller fortsette senere. Vises med \"borderless\" variant. */\n cancelButton?: React.ReactElement<ButtonProps>;\n /** Knappene vil vises sticky nederst på skjermen dersom innholdet i Step tar mer plass enn vinduet. Default: false */\n stickyButtons?: boolean;\n /** Sets the data-testid attribute. */\n testId?: string;\n}\n\nconst Step: React.FC<StepProps> = ({\n stepper,\n children,\n backButton,\n forwardButton,\n additionalButtons,\n cancelButton,\n stickyButtons = false,\n testId,\n}) => {\n const hasNavigation = backButton || forwardButton || additionalButtons || cancelButton;\n\n return (\n <div data-testid={testId} data-analyticsid={AnalyticsId.Step}>\n {stepper && <div className={styles.step__stepper}>{stepper}</div>}\n <div className={styles.step__content}>{children}</div>\n {hasNavigation && (\n <StepButtons\n backButton={backButton}\n forwardButton={forwardButton}\n additionalButtons={additionalButtons}\n cancelButton={cancelButton}\n sticky={stickyButtons}\n />\n )}\n </div>\n );\n};\n\nexport default Step;\n"],"names":["Step","stepper","children","backButton","forwardButton","additionalButtons","cancelButton","stickyButtons","testId","hasNavigation","React","AnalyticsId","styles","StepButtons","Step$1"],"mappings":";;;;AA8BA,MAAMA,IAA4B,CAAC;AAAA,EACjC,SAAAC;AAAA,EACA,UAAAC;AAAA,EACA,YAAAC;AAAA,EACA,eAAAC;AAAA,EACA,mBAAAC;AAAA,EACA,cAAAC;AAAA,EACA,eAAAC,IAAgB;AAAA,EAChB,QAAAC;AACF,MAAM;AACE,QAAAC,IAAgBN,KAAcC,KAAiBC,KAAqBC;AAGxE,SAAAI,gBAAAA,EAAA,cAAC,SAAI,eAAaF,GAAQ,oBAAkBG,EAAY,KAAA,GACrDV,KAAWS,gBAAAA,EAAA,cAAC,OAAI,EAAA,WAAWE,EAAO,cAAgB,GAAAX,CAAQ,GAC1DS,gBAAAA,EAAA,cAAA,OAAA,EAAI,WAAWE,EAAO,cAAA,GAAgBV,CAAS,GAC/CO,KACCC,gBAAAA,EAAA;AAAA,IAACG;AAAA,IAAA;AAAA,MACC,YAAAV;AAAA,MACA,eAAAC;AAAA,MACA,mBAAAC;AAAA,MACA,cAAAC;AAAA,MACA,QAAQC;AAAA,IAAA;AAAA,EAAA,CAGd;AAEJ,GAEAO,IAAed;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StepButtons.js","sources":["../../../src/components/StepButtons/StepButtons.tsx"],"sourcesContent":["import React from 'react';\n\nimport classNames from 'classnames';\n\nimport { AnalyticsId } from '../../constants';\nimport { ButtonProps } from '../Button';\n\nimport styles from './styles.module.scss';\n\nexport interface StepButtonsProps {\n /** Knapp for å gå tilbake. Vises med \"outline\" variant. */\n backButton?: React.ReactElement<ButtonProps>;\n /** Knapp for å gå videre. Vises med \"fill\" variant. */\n forwardButton?: React.ReactElement<ButtonProps>;\n /** Ekstra knapper. Valgfritt utseende. */\n additionalButtons?: React.ReactElement<ButtonProps>[];\n /** Knapp for å avbryte eller fortsette senere. Vises med \"borderless\" variant. */\n cancelButton?: React.ReactElement<ButtonProps>;\n /** Knappene vil vises sticky nederst på skjermen. Default: false */\n sticky?: boolean;\n /** Sets the data-testid attribute. */\n testId?: string;\n}\n\nexport const StepButtons: React.FC<StepButtonsProps> = props => {\n const { backButton, forwardButton, additionalButtons, cancelButton, sticky = false, testId } = props;\n\n const navigationClasses = classNames(styles.stepbuttons, sticky && styles['stepbuttons--has-sticky-buttons']);\n\n if (backButton || forwardButton || additionalButtons || cancelButton) {\n return (\n <div className={navigationClasses} data-testid={testId} data-analyticsid={AnalyticsId.StepButtons}>\n {(backButton || forwardButton) && (\n <div className={classNames(styles.stepbuttons__buttons, styles['stepbuttons__buttons--navigation'])}>\n {backButton &&\n React.cloneElement(backButton, {\n variant: 'outline',\n wrapperClassName: classNames(styles['stepbuttons__button--back']),\n })}\n {forwardButton &&\n React.cloneElement(forwardButton, {\n variant: 'fill',\n wrapperClassName: classNames(styles['stepbuttons__button--forward']),\n })}\n </div>\n )}\n {additionalButtons && (\n <div className={classNames(styles.stepbuttons__buttons, styles['stepbuttons__buttons--additional'])}>{additionalButtons}</div>\n )}\n {cancelButton && (\n <div className={styles.stepbuttons__buttons}>\n {React.cloneElement(cancelButton, {\n variant: 'borderless',\n })}\n </div>\n )}\n </div>\n );\n }\n return null;\n};\n\nexport default StepButtons;\n"],"names":["StepButtons","props","backButton","forwardButton","additionalButtons","cancelButton","sticky","testId","navigationClasses","classNames","styles","React","AnalyticsId","StepButtons$1"],"mappings":";;;;AAwBO,MAAMA,IAA0C,CAASC,MAAA;AACxD,QAAA,EAAE,YAAAC,GAAY,eAAAC,GAAe,mBAAAC,GAAmB,cAAAC,GAAc,QAAAC,IAAS,IAAO,QAAAC,EAAW,IAAAN,GAEzFO,IAAoBC,EAAWC,EAAO,aAAaJ,KAAUI,EAAO,iCAAiC,CAAC;AAExG,SAAAR,KAAcC,KAAiBC,KAAqBC,
|
|
1
|
+
{"version":3,"file":"StepButtons.js","sources":["../../../src/components/StepButtons/StepButtons.tsx"],"sourcesContent":["import React from 'react';\n\nimport classNames from 'classnames';\n\nimport { AnalyticsId } from '../../constants';\nimport { ButtonProps } from '../Button';\n\nimport styles from './styles.module.scss';\n\nexport interface StepButtonsProps {\n /** Knapp for å gå tilbake. Vises med \"outline\" variant. */\n backButton?: React.ReactElement<ButtonProps>;\n /** Knapp for å gå videre. Vises med \"fill\" variant. */\n forwardButton?: React.ReactElement<ButtonProps>;\n /** Ekstra knapper. Valgfritt utseende. */\n additionalButtons?: React.ReactElement<ButtonProps>[];\n /** Knapp for å avbryte eller fortsette senere. Vises med \"borderless\" variant. */\n cancelButton?: React.ReactElement<ButtonProps>;\n /** Knappene vil vises sticky nederst på skjermen. Default: false */\n sticky?: boolean;\n /** Sets the data-testid attribute. */\n testId?: string;\n}\n\nexport const StepButtons: React.FC<StepButtonsProps> = props => {\n const { backButton, forwardButton, additionalButtons, cancelButton, sticky = false, testId } = props;\n\n const navigationClasses = classNames(styles.stepbuttons, sticky && styles['stepbuttons--has-sticky-buttons']);\n\n if (backButton || forwardButton || additionalButtons || cancelButton) {\n return (\n <div className={navigationClasses} data-testid={testId} data-analyticsid={AnalyticsId.StepButtons}>\n {(backButton || forwardButton) && (\n <div className={classNames(styles.stepbuttons__buttons, styles['stepbuttons__buttons--navigation'])}>\n {backButton &&\n React.cloneElement(backButton, {\n variant: 'outline',\n wrapperClassName: classNames(styles['stepbuttons__button--back']),\n })}\n {forwardButton &&\n React.cloneElement(forwardButton, {\n variant: 'fill',\n wrapperClassName: classNames(styles['stepbuttons__button--forward']),\n })}\n </div>\n )}\n {additionalButtons && (\n <div className={classNames(styles.stepbuttons__buttons, styles['stepbuttons__buttons--additional'])}>{additionalButtons}</div>\n )}\n {cancelButton && (\n <div className={styles.stepbuttons__buttons}>\n {React.cloneElement(cancelButton, {\n variant: 'borderless',\n })}\n </div>\n )}\n </div>\n );\n }\n return null;\n};\n\nexport default StepButtons;\n"],"names":["StepButtons","props","backButton","forwardButton","additionalButtons","cancelButton","sticky","testId","navigationClasses","classNames","styles","React","AnalyticsId","StepButtons$1"],"mappings":";;;;AAwBO,MAAMA,IAA0C,CAASC,MAAA;AACxD,QAAA,EAAE,YAAAC,GAAY,eAAAC,GAAe,mBAAAC,GAAmB,cAAAC,GAAc,QAAAC,IAAS,IAAO,QAAAC,EAAW,IAAAN,GAEzFO,IAAoBC,EAAWC,EAAO,aAAaJ,KAAUI,EAAO,iCAAiC,CAAC;AAExG,SAAAR,KAAcC,KAAiBC,KAAqBC,IAEpDM,gBAAAA,EAAA,cAAC,OAAI,EAAA,WAAWH,GAAmB,eAAaD,GAAQ,oBAAkBK,EAAY,YAClF,IAAAV,KAAcC,MACdQ,gBAAAA,EAAA,cAAC,SAAI,WAAWF,EAAWC,EAAO,sBAAsBA,EAAO,kCAAkC,CAAC,EAC/F,GAAAR,KACCS,EAAM,aAAaT,GAAY;AAAA,IAC7B,SAAS;AAAA,IACT,kBAAkBO,EAAWC,EAAO,2BAA2B,CAAC;AAAA,EACjE,CAAA,GACFP,KACCQ,EAAM,aAAaR,GAAe;AAAA,IAChC,SAAS;AAAA,IACT,kBAAkBM,EAAWC,EAAO,8BAA8B,CAAC;AAAA,EACpE,CAAA,CACL,GAEDN,KACCO,gBAAAA,EAAA,cAAC,SAAI,WAAWF,EAAWC,EAAO,sBAAsBA,EAAO,kCAAkC,CAAC,KAAIN,CAAkB,GAEzHC,KACEM,gBAAAA,EAAA,cAAA,OAAA,EAAI,WAAWD,EAAO,qBAAA,GACpBC,EAAM,aAAaN,GAAc;AAAA,IAChC,SAAS;AAAA,EACV,CAAA,CACH,CAEJ,IAGG;AACT,GAEAQ,IAAeb;"}
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
import { STEPPER_PADDING_X_PX as
|
|
1
|
+
import d from "react";
|
|
2
|
+
import l from "classnames";
|
|
3
|
+
import { STEPPER_PADDING_X_PX as m } from "./utils.js";
|
|
4
4
|
import e from "./styles.module.scss";
|
|
5
|
-
const
|
|
6
|
-
const r =
|
|
5
|
+
const f = ({ index: o, completed: p, distanceBetweenDots: s, position: t }) => {
|
|
6
|
+
const r = l(
|
|
7
7
|
e.stepper__dot,
|
|
8
8
|
p && e["stepper__dot--completed"],
|
|
9
9
|
t && e[`stepper__dot--${t}`]
|
|
10
|
-
),
|
|
11
|
-
return /* @__PURE__ */
|
|
12
|
-
}, u =
|
|
10
|
+
), a = !t && typeof o < "u" && typeof s < "u" ? { left: `${o * s + m}px` } : void 0;
|
|
11
|
+
return /* @__PURE__ */ d.createElement("span", { className: r, style: a, "data-testid": "dot" });
|
|
12
|
+
}, u = f;
|
|
13
13
|
export {
|
|
14
14
|
u as default
|
|
15
15
|
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import t from "react";
|
|
2
2
|
import c from "./Dot.js";
|
|
3
|
-
const
|
|
3
|
+
const l = ({ allowedValues: o, currentValue: m, distanceBetweenDots: r }) => /* @__PURE__ */ t.createElement(t.Fragment, null, o.map((e, a) => /* @__PURE__ */ t.createElement(c, { index: a, key: e, completed: e < m, distanceBetweenDots: r }))), s = l;
|
|
4
4
|
export {
|
|
5
5
|
s as default
|
|
6
6
|
};
|