@sebgroup/green-react 3.17.0 → 3.19.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/_rollupPluginBabelHelpers.js +410 -0
- package/_tslib.js +35 -0
- package/index.js +588 -0
- package/package.json +6 -7
- package/src/index.js +588 -0
- package/src/lib/accordion/accordion-item.js +75 -0
- package/src/lib/accordion/accordion.js +25 -0
- package/src/lib/accordion/index.d.ts +2 -0
- package/src/lib/accordion/index.js +6 -0
- package/src/lib/alert-ribbon/alert-ribbon.js +98 -0
- package/src/lib/alert-ribbon/index.d.ts +1 -0
- package/src/lib/alert-ribbon/index.js +9 -0
- package/src/lib/badge/badge.js +60 -0
- package/src/lib/badge/index.d.ts +1 -0
- package/src/lib/badge/index.js +5 -0
- package/src/lib/breadcrumb/breadcrumb.js +32 -0
- package/src/lib/breadcrumb/index.d.ts +1 -0
- package/src/lib/breadcrumb/index.js +4 -0
- package/src/lib/card/card.js +17 -0
- package/src/lib/card/index.d.ts +1 -0
- package/src/lib/card/index.js +2 -0
- package/src/lib/context-menu/context-menu.js +31 -0
- package/src/lib/context-menu/index.d.ts +1 -0
- package/src/lib/context-menu/index.js +6 -0
- package/src/lib/datepicker/datepicker.d.ts +21 -12
- package/src/lib/datepicker/datepicker.js +64 -0
- package/src/lib/datepicker/index.d.ts +1 -0
- package/src/lib/datepicker/index.js +8 -0
- package/src/lib/dropdown/dropdown.js +104 -0
- package/src/lib/dropdown/index.d.ts +1 -0
- package/src/lib/dropdown/index.js +10 -0
- package/src/lib/filter-chips/filter-chips.js +19 -0
- package/src/lib/filter-chips/index.d.ts +1 -0
- package/src/lib/filter-chips/index.js +6 -0
- package/src/lib/form/button/button.d.ts +1 -1
- package/src/lib/form/button/button.js +35 -0
- package/src/lib/form/button/index.d.ts +1 -0
- package/src/lib/form/button/index.js +5 -0
- package/src/lib/form/buttonGroup/buttonGroup.js +54 -0
- package/src/lib/form/buttonGroup/index.d.ts +1 -0
- package/src/lib/form/buttonGroup/index.js +9 -0
- package/src/lib/form/checkbox/checkbox.d.ts +1 -1
- package/src/lib/form/checkbox/checkbox.js +49 -0
- package/src/lib/form/checkbox/index.d.ts +1 -0
- package/src/lib/form/checkbox/index.js +7 -0
- package/src/lib/form/form.js +12 -0
- package/src/lib/form/formContext.js +71 -0
- package/src/lib/form/formItems.js +91 -0
- package/src/lib/form/group/group.js +35 -0
- package/src/lib/form/group/index.d.ts +1 -0
- package/src/lib/form/group/index.js +3 -0
- package/src/lib/form/iconButton/iconButton.d.ts +1 -1
- package/src/lib/form/iconButton/iconButton.js +21 -0
- package/src/lib/form/iconButton/index.d.ts +1 -0
- package/src/lib/form/iconButton/index.js +4 -0
- package/src/lib/form/index.js +24 -0
- package/src/lib/form/input/index.d.ts +1 -0
- package/src/lib/form/input/index.js +15 -0
- package/src/lib/form/input/input.d.ts +9 -5
- package/src/lib/form/input/input.js +131 -0
- package/src/lib/form/radioButton/index.d.ts +2 -0
- package/src/lib/form/radioButton/index.js +13 -0
- package/src/lib/form/radioButton/radioButton.js +32 -0
- package/src/lib/form/radioButton/radioGroup.js +105 -0
- package/src/lib/form/text/index.d.ts +1 -0
- package/src/lib/form/text/index.js +2 -0
- package/src/lib/form/text/text.js +11 -0
- package/src/lib/form/textarea/index.d.ts +1 -0
- package/src/lib/form/textarea/index.js +11 -0
- package/src/lib/form/textarea/textarea.d.ts +1 -1
- package/src/lib/form/textarea/textarea.js +81 -0
- package/src/lib/form/useInput.js +20 -0
- package/src/lib/form/validateInput.js +46 -0
- package/src/lib/formItem/formItem.js +145 -0
- package/src/lib/formItem/index.js +10 -0
- package/src/lib/grouped-list/grouped-list.js +19 -0
- package/src/lib/grouped-list/index.js +6 -0
- package/src/lib/icon/icons/IconAirplaneUp.js +12 -0
- package/src/lib/icon/icons/IconArchive.js +12 -0
- package/src/lib/icon/icons/IconArrow.js +12 -0
- package/src/lib/icon/icons/IconArrowBoxLeft.js +12 -0
- package/src/lib/icon/icons/IconArrowBoxRight.js +12 -0
- package/src/lib/icon/icons/IconArrowDown.js +12 -0
- package/src/lib/icon/icons/IconArrowInbox.js +12 -0
- package/src/lib/icon/icons/IconArrowLeft.js +12 -0
- package/src/lib/icon/icons/IconArrowLeftRight.js +12 -0
- package/src/lib/icon/icons/IconArrowOutOfBox.js +12 -0
- package/src/lib/icon/icons/IconArrowRight.js +12 -0
- package/src/lib/icon/icons/IconArrowRightCircle.js +12 -0
- package/src/lib/icon/icons/IconArrowRightDownCircle.js +12 -0
- package/src/lib/icon/icons/IconArrowRightUpCircle.js +12 -0
- package/src/lib/icon/icons/IconArrowRotateClockwise.js +12 -0
- package/src/lib/icon/icons/IconArrowRotateCounterClockwise.js +12 -0
- package/src/lib/icon/icons/IconArrowRotateLeftRight.js +12 -0
- package/src/lib/icon/icons/IconArrowRotateRightLeft.js +12 -0
- package/src/lib/icon/icons/IconArrowShareLeft.js +12 -0
- package/src/lib/icon/icons/IconArrowShareRight.js +12 -0
- package/src/lib/icon/icons/IconArrowUp.js +12 -0
- package/src/lib/icon/icons/IconArrowWallDown.js +12 -0
- package/src/lib/icon/icons/IconArrowWallLeft.js +12 -0
- package/src/lib/icon/icons/IconArrowWallRight.js +12 -0
- package/src/lib/icon/icons/IconArrowWallUp.js +12 -0
- package/src/lib/icon/icons/IconArrowsRepeat.js +12 -0
- package/src/lib/icon/icons/IconAt.js +12 -0
- package/src/lib/icon/icons/IconBack.js +12 -0
- package/src/lib/icon/icons/IconBag.js +12 -0
- package/src/lib/icon/icons/IconBank.js +12 -0
- package/src/lib/icon/icons/IconBanknote.js +12 -0
- package/src/lib/icon/icons/IconBarcode.js +12 -0
- package/src/lib/icon/icons/IconBarsThree.js +12 -0
- package/src/lib/icon/icons/IconBarsTwo.js +12 -0
- package/src/lib/icon/icons/IconBatteryLoading.js +12 -0
- package/src/lib/icon/icons/IconBell.js +12 -0
- package/src/lib/icon/icons/IconBlock.js +12 -0
- package/src/lib/icon/icons/IconBook.js +12 -0
- package/src/lib/icon/icons/IconBookmark.js +12 -0
- package/src/lib/icon/icons/IconBookmarkCheck.js +12 -0
- package/src/lib/icon/icons/IconBookmarkDelete.js +12 -0
- package/src/lib/icon/icons/IconBookmarkPlus.js +12 -0
- package/src/lib/icon/icons/IconBookmarkRemove.js +12 -0
- package/src/lib/icon/icons/IconBooks.js +12 -0
- package/src/lib/icon/icons/IconBrandAppStore.js +12 -0
- package/src/lib/icon/icons/IconBrandAppleMusic.js +12 -0
- package/src/lib/icon/icons/IconBrandBankid.js +12 -0
- package/src/lib/icon/icons/IconBrandChrome.js +12 -0
- package/src/lib/icon/icons/IconBrandFacebook.js +12 -0
- package/src/lib/icon/icons/IconBrandFigma.js +12 -0
- package/src/lib/icon/icons/IconBrandGithub.js +12 -0
- package/src/lib/icon/icons/IconBrandGreen.js +12 -0
- package/src/lib/icon/icons/IconBrandInstagram.js +12 -0
- package/src/lib/icon/icons/IconBrandLinkedin.js +12 -0
- package/src/lib/icon/icons/IconBrandPlayStore.js +12 -0
- package/src/lib/icon/icons/IconBrandRssFeed.js +12 -0
- package/src/lib/icon/icons/IconBrandSeb.js +12 -0
- package/src/lib/icon/icons/IconBrandSpotify.js +12 -0
- package/src/lib/icon/icons/IconBrandX.js +12 -0
- package/src/lib/icon/icons/IconBrush.js +12 -0
- package/src/lib/icon/icons/IconBubble.js +12 -0
- package/src/lib/icon/icons/IconBubbleAnnotation.js +12 -0
- package/src/lib/icon/icons/IconBubbleDots.js +12 -0
- package/src/lib/icon/icons/IconBubbleQuestion.js +12 -0
- package/src/lib/icon/icons/IconBubbleQuotes.js +12 -0
- package/src/lib/icon/icons/IconBubbleText.js +12 -0
- package/src/lib/icon/icons/IconBubbleWideAnnotation.js +12 -0
- package/src/lib/icon/icons/IconBubbles.js +12 -0
- package/src/lib/icon/icons/IconBuildings.js +12 -0
- package/src/lib/icon/icons/IconCainLink.js +12 -0
- package/src/lib/icon/icons/IconCalculator.js +12 -0
- package/src/lib/icon/icons/IconCalendar.js +12 -0
- package/src/lib/icon/icons/IconCalendarCheck.js +12 -0
- package/src/lib/icon/icons/IconCalenderAdd.js +12 -0
- package/src/lib/icon/icons/IconCall.js +12 -0
- package/src/lib/icon/icons/IconCar.js +12 -0
- package/src/lib/icon/icons/IconChargingStation.js +12 -0
- package/src/lib/icon/icons/IconChartOne.js +12 -0
- package/src/lib/icon/icons/IconChartPresentation.js +12 -0
- package/src/lib/icon/icons/IconChartTwo.js +12 -0
- package/src/lib/icon/icons/IconChecklist.js +12 -0
- package/src/lib/icon/icons/IconCheckmark.js +12 -0
- package/src/lib/icon/icons/IconChevronBottom.js +12 -0
- package/src/lib/icon/icons/IconChevronDoubleDown.js +12 -0
- package/src/lib/icon/icons/IconChevronDoubleLeft.js +12 -0
- package/src/lib/icon/icons/IconChevronDoubleRight.js +12 -0
- package/src/lib/icon/icons/IconChevronDoubleUp.js +12 -0
- package/src/lib/icon/icons/IconChevronGrabberVertical.js +12 -0
- package/src/lib/icon/icons/IconChevronLeft.js +12 -0
- package/src/lib/icon/icons/IconChevronRight.js +12 -0
- package/src/lib/icon/icons/IconChevronTop.js +12 -0
- package/src/lib/icon/icons/IconCircleCheck.js +12 -0
- package/src/lib/icon/icons/IconCircleInfo.js +12 -0
- package/src/lib/icon/icons/IconCircleMinus.js +12 -0
- package/src/lib/icon/icons/IconCirclePlaceholderOn.js +12 -0
- package/src/lib/icon/icons/IconCirclePlus.js +12 -0
- package/src/lib/icon/icons/IconCircleQuestionmark.js +12 -0
- package/src/lib/icon/icons/IconCircleX.js +12 -0
- package/src/lib/icon/icons/IconCirclesThree.js +12 -0
- package/src/lib/icon/icons/IconClock.js +12 -0
- package/src/lib/icon/icons/IconCloudUpload.js +12 -0
- package/src/lib/icon/icons/IconCloudySun.js +12 -0
- package/src/lib/icon/icons/IconCompassRound.js +12 -0
- package/src/lib/icon/icons/IconCreditCard.js +12 -0
- package/src/lib/icon/icons/IconCrossLarge.js +12 -0
- package/src/lib/icon/icons/IconCrossSmall.js +12 -0
- package/src/lib/icon/icons/IconCupHot.js +12 -0
- package/src/lib/icon/icons/IconDevices.js +12 -0
- package/src/lib/icon/icons/IconDirection.js +12 -0
- package/src/lib/icon/icons/IconDollar.js +12 -0
- package/src/lib/icon/icons/IconDotGridOneHorizontal.js +12 -0
- package/src/lib/icon/icons/IconDotGridOneVertical.js +12 -0
- package/src/lib/icon/icons/IconDotGridThree.js +12 -0
- package/src/lib/icon/icons/IconDotGridTwo.js +12 -0
- package/src/lib/icon/icons/IconEmail.js +12 -0
- package/src/lib/icon/icons/IconEuro.js +12 -0
- package/src/lib/icon/icons/IconEyeOpen.js +12 -0
- package/src/lib/icon/icons/IconEyeSlash.js +12 -0
- package/src/lib/icon/icons/IconFashion.js +12 -0
- package/src/lib/icon/icons/IconFastForward.js +12 -0
- package/src/lib/icon/icons/IconFileBend.js +12 -0
- package/src/lib/icon/icons/IconFileChart.js +12 -0
- package/src/lib/icon/icons/IconFileText.js +12 -0
- package/src/lib/icon/icons/IconFiles.js +12 -0
- package/src/lib/icon/icons/IconFilter.js +12 -0
- package/src/lib/icon/icons/IconFlag.js +12 -0
- package/src/lib/icon/icons/IconFloppyDisk.js +12 -0
- package/src/lib/icon/icons/IconFocus.js +12 -0
- package/src/lib/icon/icons/IconFocusSquare.js +12 -0
- package/src/lib/icon/icons/IconFolder.js +12 -0
- package/src/lib/icon/icons/IconFolderAddRight.js +12 -0
- package/src/lib/icon/icons/IconFolderPaper.js +12 -0
- package/src/lib/icon/icons/IconFolderUpload.js +12 -0
- package/src/lib/icon/icons/IconGlobus.js +12 -0
- package/src/lib/icon/icons/IconGraduateCap.js +12 -0
- package/src/lib/icon/icons/IconGroup.js +12 -0
- package/src/lib/icon/icons/IconGrowth.js +12 -0
- package/src/lib/icon/icons/IconHeadphones.js +12 -0
- package/src/lib/icon/icons/IconHeart.js +12 -0
- package/src/lib/icon/icons/IconHeartBeat.js +12 -0
- package/src/lib/icon/icons/IconHistory.js +12 -0
- package/src/lib/icon/icons/IconHomeEnergyOne.js +12 -0
- package/src/lib/icon/icons/IconHomeEnergyTwo.js +12 -0
- package/src/lib/icon/icons/IconHomeOpen.js +12 -0
- package/src/lib/icon/icons/IconHomeRoof.js +12 -0
- package/src/lib/icon/icons/IconHorizontalAlignmentBottom.js +12 -0
- package/src/lib/icon/icons/IconImages.js +12 -0
- package/src/lib/icon/icons/IconInvite.js +12 -0
- package/src/lib/icon/icons/IconKnifeSpoon.js +12 -0
- package/src/lib/icon/icons/IconLaw.js +12 -0
- package/src/lib/icon/icons/IconLightBulb.js +12 -0
- package/src/lib/icon/icons/IconLightBulbSimple.js +12 -0
- package/src/lib/icon/icons/IconLightning.js +12 -0
- package/src/lib/icon/icons/IconLineChartFour.js +12 -0
- package/src/lib/icon/icons/IconLineChartOne.js +12 -0
- package/src/lib/icon/icons/IconLineChartThree.js +12 -0
- package/src/lib/icon/icons/IconLineChartTwo.js +12 -0
- package/src/lib/icon/icons/IconLock.js +12 -0
- package/src/lib/icon/icons/IconMacbookAir.js +12 -0
- package/src/lib/icon/icons/IconMagnifyingGlass.js +12 -0
- package/src/lib/icon/icons/IconMaintenance.js +12 -0
- package/src/lib/icon/icons/IconMapPin.js +12 -0
- package/src/lib/icon/icons/IconMegaphone.js +12 -0
- package/src/lib/icon/icons/IconMinusLarge.js +12 -0
- package/src/lib/icon/icons/IconMinusSmall.js +12 -0
- package/src/lib/icon/icons/IconMoneyHand.js +12 -0
- package/src/lib/icon/icons/IconMoneybag.js +12 -0
- package/src/lib/icon/icons/IconMoon.js +12 -0
- package/src/lib/icon/icons/IconMute.js +12 -0
- package/src/lib/icon/icons/IconPageText.js +12 -0
- package/src/lib/icon/icons/IconPaperclip.js +12 -0
- package/src/lib/icon/icons/IconPause.js +12 -0
- package/src/lib/icon/icons/IconPencelLine.js +12 -0
- package/src/lib/icon/icons/IconPencilSparkle.js +12 -0
- package/src/lib/icon/icons/IconPencilWave.js +12 -0
- package/src/lib/icon/icons/IconPeople.js +12 -0
- package/src/lib/icon/icons/IconPeopleAdd.js +12 -0
- package/src/lib/icon/icons/IconPeopleAdded.js +12 -0
- package/src/lib/icon/icons/IconPeopleCircle.js +12 -0
- package/src/lib/icon/icons/IconPeopleCopy.js +12 -0
- package/src/lib/icon/icons/IconPeopleProfile.js +12 -0
- package/src/lib/icon/icons/IconPeopleRemove.js +12 -0
- package/src/lib/icon/icons/IconPercent.js +12 -0
- package/src/lib/icon/icons/IconPhone.js +12 -0
- package/src/lib/icon/icons/IconPhoneDynamicIsland.js +12 -0
- package/src/lib/icon/icons/IconPieChart.js +12 -0
- package/src/lib/icon/icons/IconPiggyBank.js +12 -0
- package/src/lib/icon/icons/IconPin.js +12 -0
- package/src/lib/icon/icons/IconPinch.js +12 -0
- package/src/lib/icon/icons/IconPlay.js +12 -0
- package/src/lib/icon/icons/IconPlayCircle.js +12 -0
- package/src/lib/icon/icons/IconPlusLarge.js +12 -0
- package/src/lib/icon/icons/IconPlusSmall.js +12 -0
- package/src/lib/icon/icons/IconPoop.js +12 -0
- package/src/lib/icon/icons/IconPowerPlant.js +12 -0
- package/src/lib/icon/icons/IconPrinter.js +12 -0
- package/src/lib/icon/icons/IconPush.js +12 -0
- package/src/lib/icon/icons/IconQrCode.js +12 -0
- package/src/lib/icon/icons/IconRainy.js +12 -0
- package/src/lib/icon/icons/IconRaisingHand.js +12 -0
- package/src/lib/icon/icons/IconReadingList.js +12 -0
- package/src/lib/icon/icons/IconReceiptBill.js +12 -0
- package/src/lib/icon/icons/IconReceiptionBell.js +12 -0
- package/src/lib/icon/icons/IconRobot.js +12 -0
- package/src/lib/icon/icons/IconRocket.js +12 -0
- package/src/lib/icon/icons/IconSchool.js +12 -0
- package/src/lib/icon/icons/IconScissors.js +12 -0
- package/src/lib/icon/icons/IconSearchMenu.js +12 -0
- package/src/lib/icon/icons/IconSeb.js +13 -0
- package/src/lib/icon/icons/IconSettingsGear.js +12 -0
- package/src/lib/icon/icons/IconSettingsSliderHor.js +12 -0
- package/src/lib/icon/icons/IconSettingsSliderThree.js +12 -0
- package/src/lib/icon/icons/IconSettingsSliderVer.js +12 -0
- package/src/lib/icon/icons/IconShare.js +12 -0
- package/src/lib/icon/icons/IconShoppingBag.js +12 -0
- package/src/lib/icon/icons/IconSmartwatch.js +12 -0
- package/src/lib/icon/icons/IconSolar.js +12 -0
- package/src/lib/icon/icons/IconSolarPanel.js +12 -0
- package/src/lib/icon/icons/IconSquareArrowTopRight.js +12 -0
- package/src/lib/icon/icons/IconSquareBehindSquare.js +12 -0
- package/src/lib/icon/icons/IconSquareCheck.js +12 -0
- package/src/lib/icon/icons/IconSquareGridCircle.js +12 -0
- package/src/lib/icon/icons/IconSquareInfo.js +12 -0
- package/src/lib/icon/icons/IconSquareMinus.js +12 -0
- package/src/lib/icon/icons/IconSquarePlaceholder.js +12 -0
- package/src/lib/icon/icons/IconSquarePlus.js +12 -0
- package/src/lib/icon/icons/IconSquareX.js +12 -0
- package/src/lib/icon/icons/IconStar.js +12 -0
- package/src/lib/icon/icons/IconStore.js +12 -0
- package/src/lib/icon/icons/IconSuitcaseWork.js +12 -0
- package/src/lib/icon/icons/IconSun.js +12 -0
- package/src/lib/icon/icons/IconTag.js +12 -0
- package/src/lib/icon/icons/IconTelevision.js +12 -0
- package/src/lib/icon/icons/IconTennis.js +12 -0
- package/src/lib/icon/icons/IconTextEdit.js +12 -0
- package/src/lib/icon/icons/IconThermostat.js +12 -0
- package/src/lib/icon/icons/IconThumbsDown.js +12 -0
- package/src/lib/icon/icons/IconThumbsUp.js +12 -0
- package/src/lib/icon/icons/IconTodos.js +12 -0
- package/src/lib/icon/icons/IconTradingViewCandles.js +12 -0
- package/src/lib/icon/icons/IconTrashCan.js +12 -0
- package/src/lib/icon/icons/IconTree.js +12 -0
- package/src/lib/icon/icons/IconTrendingFour.js +12 -0
- package/src/lib/icon/icons/IconTrendingOne.js +12 -0
- package/src/lib/icon/icons/IconTrendingThree.js +12 -0
- package/src/lib/icon/icons/IconTrendingTwo.js +12 -0
- package/src/lib/icon/icons/IconTriangleExclamation.js +12 -0
- package/src/lib/icon/icons/IconTruck.js +12 -0
- package/src/lib/icon/icons/IconUmbrellaSecurity.js +12 -0
- package/src/lib/icon/icons/IconUnlocked.js +12 -0
- package/src/lib/icon/icons/IconVerticalAlignmentRight.js +12 -0
- package/src/lib/icon/icons/IconVolumeFull.js +12 -0
- package/src/lib/icon/icons/IconVolumeHalf.js +12 -0
- package/src/lib/icon/icons/IconVolumeOff.js +12 -0
- package/src/lib/icon/icons/IconWallet.js +12 -0
- package/src/lib/icon/icons/IconWarningSign.js +12 -0
- package/src/lib/icon/icons/IconZap.js +12 -0
- package/src/lib/icon/icons/IconZoomIn.js +12 -0
- package/src/lib/icon/icons/IconZoomOut.js +12 -0
- package/src/lib/icon/icons/index.js +519 -0
- package/src/lib/icons/bankId.js +68 -0
- package/src/lib/icons/check.js +32 -0
- package/src/lib/icons/chevronDown.js +31 -0
- package/src/lib/icons/edit.js +40 -0
- package/src/lib/icons/index.js +11 -0
- package/src/lib/icons/infoCircle.js +31 -0
- package/src/lib/icons/square-exclamation.js +35 -0
- package/src/lib/icons/square-info.js +30 -0
- package/src/lib/icons/times.js +24 -0
- package/src/lib/in-page-wizard/inPageWizardStepCard.js +80 -0
- package/src/lib/in-page-wizard/index.js +7 -0
- package/src/lib/layout/flexbox/flexbox.js +48 -0
- package/src/lib/layout/flexbox/types.js +1 -0
- package/src/lib/layout/index.js +5 -0
- package/src/lib/link/index.d.ts +1 -0
- package/src/lib/link/index.js +4 -0
- package/src/lib/link/link.js +25 -0
- package/src/lib/list/index.js +5 -0
- package/src/lib/list/list.js +45 -0
- package/src/lib/list/listItem.js +28 -0
- package/src/lib/list/valueList.js +2 -0
- package/src/lib/modal/index.d.ts +1 -0
- package/src/lib/modal/index.js +9 -0
- package/src/lib/modal/modal.js +235 -0
- package/src/lib/navbar/index.d.ts +1 -0
- package/src/lib/navbar/index.js +7 -0
- package/src/lib/navbar/navbar.js +65 -0
- package/src/lib/popover/index.d.ts +1 -0
- package/src/lib/popover/index.js +6 -0
- package/src/lib/popover/popover.js +14 -0
- package/src/lib/segmented-control/index.d.ts +1 -0
- package/src/lib/segmented-control/index.js +10 -0
- package/src/lib/segmented-control/segmented-control.js +42 -0
- package/src/lib/select/index.js +12 -0
- package/src/lib/select/select.js +63 -0
- package/src/lib/slider/index.js +5 -0
- package/src/lib/slider/slider.js +174 -0
- package/src/lib/stepper/index.d.ts +1 -0
- package/src/lib/stepper/index.js +4 -0
- package/src/lib/stepper/stepper.js +82 -0
- package/src/lib/table/components/Table.js +38 -0
- package/src/lib/table/components/context/TableContextProvider.js +18 -0
- package/src/lib/table/components/index.js +14 -0
- package/src/lib/table/components/parts/TableBody/TableBody.js +41 -0
- package/src/lib/table/components/parts/TableBody/index.js +4 -0
- package/src/lib/table/components/parts/TableCell/TableCell.js +13 -0
- package/src/lib/table/components/parts/TableCell/index.js +4 -0
- package/src/lib/table/components/parts/TableHeader/TableHeader.js +23 -0
- package/src/lib/table/components/parts/TableHeader/index.js +4 -0
- package/src/lib/table/components/parts/TableHeaderCell/TableHeaderCell.js +95 -0
- package/src/lib/table/components/parts/TableHeaderCell/index.js +8 -0
- package/src/lib/table/components/parts/TableRow/TableRow.js +164 -0
- package/src/lib/table/components/parts/TableRow/index.js +10 -0
- package/src/lib/table/components/parts/helperFunctions/helperFunctions.js +138 -0
- package/src/lib/table/components/parts/helperFunctions/index.js +3 -0
- package/src/lib/table/components/table-typings.js +7 -0
- package/src/lib/table/index.d.ts +1 -0
- package/src/lib/table/index.js +14 -0
- package/src/lib/table/story/multiple-story-tables.js +205 -0
- package/src/lib/tabs/index.d.ts +1 -0
- package/src/lib/tabs/index.js +4 -0
- package/src/lib/tabs/tabs.js +77 -0
- package/src/types/index.js +1 -0
- package/src/types/props/index.js +1 -0
- package/valueList.js +55 -0
- package/README.md +0 -64
- package/index.esm.d.ts +0 -1
- package/index.esm.js +0 -5193
|
@@ -0,0 +1,235 @@
|
|
|
1
|
+
import { _ as _slicedToArray } from '../../../_rollupPluginBabelHelpers.js';
|
|
2
|
+
import { _ as __rest } from '../../../_tslib.js';
|
|
3
|
+
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
4
|
+
import { randomId } from '@sebgroup/extract';
|
|
5
|
+
import { useState, useRef, useEffect } from 'react';
|
|
6
|
+
import { Button } from '../form/button/button.js';
|
|
7
|
+
import classNames from 'classnames';
|
|
8
|
+
import { disableBodyScroll, enableBodyScroll, clearAllBodyScrollLocks } from 'body-scroll-lock';
|
|
9
|
+
|
|
10
|
+
var ModalHeader = function ModalHeader(_ref) {
|
|
11
|
+
var type = _ref.type,
|
|
12
|
+
setStatus = _ref.setStatus,
|
|
13
|
+
setShouldRender = _ref.setShouldRender,
|
|
14
|
+
_ref$header = _ref.header,
|
|
15
|
+
header = _ref$header === void 0 ? '' : _ref$header,
|
|
16
|
+
id = _ref.id,
|
|
17
|
+
onClose = _ref.onClose;
|
|
18
|
+
var handleClose = function handleClose(event) {
|
|
19
|
+
if (type === 'slideout') {
|
|
20
|
+
setStatus && setStatus(IS_EXITING);
|
|
21
|
+
setTimeout(function () {
|
|
22
|
+
if (onClose) onClose(event);
|
|
23
|
+
setStatus && setStatus(UNMOUNTED);
|
|
24
|
+
setShouldRender && setShouldRender(false);
|
|
25
|
+
}, DELAY);
|
|
26
|
+
} else {
|
|
27
|
+
if (onClose) onClose(event);
|
|
28
|
+
setStatus && setStatus(UNMOUNTED);
|
|
29
|
+
setShouldRender && setShouldRender(false);
|
|
30
|
+
}
|
|
31
|
+
};
|
|
32
|
+
return jsxs("div", {
|
|
33
|
+
className: "header",
|
|
34
|
+
children: [jsx("h3", {
|
|
35
|
+
id: id,
|
|
36
|
+
children: header
|
|
37
|
+
}), jsxs("button", {
|
|
38
|
+
className: "close",
|
|
39
|
+
onClick: handleClose,
|
|
40
|
+
children: [jsx("span", {
|
|
41
|
+
className: "sr-only",
|
|
42
|
+
children: "Close"
|
|
43
|
+
}), jsx("i", {})]
|
|
44
|
+
})]
|
|
45
|
+
});
|
|
46
|
+
};
|
|
47
|
+
var ModalBody = function ModalBody(_ref2) {
|
|
48
|
+
var children = _ref2.children,
|
|
49
|
+
id = _ref2.id;
|
|
50
|
+
return jsx("div", {
|
|
51
|
+
className: "body",
|
|
52
|
+
id: id,
|
|
53
|
+
children: children
|
|
54
|
+
});
|
|
55
|
+
};
|
|
56
|
+
var ModalFooter = function ModalFooter(_ref3) {
|
|
57
|
+
var confirm = _ref3.confirm,
|
|
58
|
+
dismiss = _ref3.dismiss,
|
|
59
|
+
onClose = _ref3.onClose,
|
|
60
|
+
onConfirm = _ref3.onConfirm,
|
|
61
|
+
onDismiss = _ref3.onDismiss;
|
|
62
|
+
_ref3.preventBackdropClose;
|
|
63
|
+
var handleConfirm = function handleConfirm(event) {
|
|
64
|
+
if (onConfirm) onConfirm(event);
|
|
65
|
+
if (onClose) onClose(event);
|
|
66
|
+
};
|
|
67
|
+
var handleDismiss = function handleDismiss(event) {
|
|
68
|
+
if (onDismiss) onDismiss(event);
|
|
69
|
+
if (onClose) onClose(event);
|
|
70
|
+
};
|
|
71
|
+
return jsxs("div", {
|
|
72
|
+
className: "footer",
|
|
73
|
+
children: [dismiss && jsx(Button, {
|
|
74
|
+
variant: "secondary",
|
|
75
|
+
onClick: handleDismiss,
|
|
76
|
+
children: dismiss
|
|
77
|
+
}), confirm && jsx(Button, {
|
|
78
|
+
variant: "primary",
|
|
79
|
+
onClick: handleConfirm,
|
|
80
|
+
children: confirm
|
|
81
|
+
})]
|
|
82
|
+
});
|
|
83
|
+
};
|
|
84
|
+
/* This delay is the same as the one used in the aside modal mixin: /libs/chlorophyll/scss/components/modal/_mixins.scss */
|
|
85
|
+
var DELAY = 500;
|
|
86
|
+
var UNMOUNTED = 'unmounted';
|
|
87
|
+
var IS_MOUNTING = 'is-mounting';
|
|
88
|
+
var IS_ENTERING = 'is-entering';
|
|
89
|
+
var ENTERED = 'entered';
|
|
90
|
+
var IS_EXITING = 'is-exiting';
|
|
91
|
+
var Modal = function Modal(_a) {
|
|
92
|
+
var _a$type = _a.type,
|
|
93
|
+
type = _a$type === void 0 ? 'default' : _a$type,
|
|
94
|
+
_a$id = _a.id,
|
|
95
|
+
id = _a$id === void 0 ? randomId() : _a$id,
|
|
96
|
+
isOpen = _a.isOpen,
|
|
97
|
+
_a$size = _a.size,
|
|
98
|
+
size = _a$size === void 0 ? 'sm' : _a$size,
|
|
99
|
+
props = __rest(_a, ["type", "id", "isOpen", "size"]);
|
|
100
|
+
var _useState = useState(id),
|
|
101
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
102
|
+
uuid = _useState2[0];
|
|
103
|
+
_useState2[1];
|
|
104
|
+
var _useState3 = useState(UNMOUNTED),
|
|
105
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
106
|
+
status = _useState4[0],
|
|
107
|
+
setStatus = _useState4[1];
|
|
108
|
+
var _useState5 = useState(false),
|
|
109
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
110
|
+
shouldRender = _useState6[0],
|
|
111
|
+
setShouldRender = _useState6[1];
|
|
112
|
+
var modalRef = useRef(null);
|
|
113
|
+
useEffect(function () {
|
|
114
|
+
if (isOpen && !shouldRender && status === UNMOUNTED) {
|
|
115
|
+
setShouldRender(true);
|
|
116
|
+
setStatus(IS_MOUNTING);
|
|
117
|
+
}
|
|
118
|
+
if (isOpen && shouldRender && status === IS_MOUNTING) {
|
|
119
|
+
setStatus(IS_ENTERING);
|
|
120
|
+
setTimeout(function () {
|
|
121
|
+
setStatus(ENTERED);
|
|
122
|
+
}, DELAY);
|
|
123
|
+
}
|
|
124
|
+
if (!isOpen && status === ENTERED) {
|
|
125
|
+
setStatus(IS_EXITING);
|
|
126
|
+
setTimeout(function () {
|
|
127
|
+
setStatus(UNMOUNTED);
|
|
128
|
+
setShouldRender(false);
|
|
129
|
+
}, DELAY);
|
|
130
|
+
}
|
|
131
|
+
if (isOpen && modalRef.current) {
|
|
132
|
+
// Disable scrolling on the body when the modal is open
|
|
133
|
+
disableBodyScroll(modalRef.current);
|
|
134
|
+
} else if (modalRef.current) {
|
|
135
|
+
// Enable scrolling on the body when the modal is closed
|
|
136
|
+
enableBodyScroll(modalRef.current);
|
|
137
|
+
}
|
|
138
|
+
return function () {
|
|
139
|
+
// Cleanup by enabling body scroll and removing all scroll locks
|
|
140
|
+
clearAllBodyScrollLocks();
|
|
141
|
+
};
|
|
142
|
+
}, [isOpen, shouldRender, status]);
|
|
143
|
+
if (!isOpen) return null;
|
|
144
|
+
var bodyId = "".concat(uuid, "_body");
|
|
145
|
+
var headerId = "".concat(uuid, "_header");
|
|
146
|
+
var dialogProps = {
|
|
147
|
+
id: uuid,
|
|
148
|
+
role: 'dialog',
|
|
149
|
+
'aria-modal': true,
|
|
150
|
+
'aria-labelledby': headerId,
|
|
151
|
+
'aria-describedby': bodyId
|
|
152
|
+
};
|
|
153
|
+
var modalContent;
|
|
154
|
+
switch (type) {
|
|
155
|
+
case 'slideout':
|
|
156
|
+
{
|
|
157
|
+
var className = classNames(status, {
|
|
158
|
+
'gds-slide-out--960': size === 'lg',
|
|
159
|
+
'gds-slide-out--768': size === 'md'
|
|
160
|
+
});
|
|
161
|
+
modalContent = jsxs("aside", Object.assign({
|
|
162
|
+
className: className
|
|
163
|
+
}, dialogProps, {
|
|
164
|
+
ref: modalRef,
|
|
165
|
+
children: [jsx(ModalHeader, Object.assign({
|
|
166
|
+
id: headerId,
|
|
167
|
+
setStatus: setStatus,
|
|
168
|
+
setShouldRender: setShouldRender,
|
|
169
|
+
type: type
|
|
170
|
+
}, props)), jsx(ModalBody, Object.assign({
|
|
171
|
+
id: bodyId
|
|
172
|
+
}, props)), jsx(ModalFooter, Object.assign({}, props))]
|
|
173
|
+
}));
|
|
174
|
+
break;
|
|
175
|
+
}
|
|
176
|
+
case 'takeover':
|
|
177
|
+
{
|
|
178
|
+
modalContent = jsxs("main", Object.assign({}, dialogProps, {
|
|
179
|
+
ref: modalRef,
|
|
180
|
+
children: [jsx(ModalHeader, Object.assign({
|
|
181
|
+
id: headerId
|
|
182
|
+
}, props)), jsx(ModalBody, Object.assign({
|
|
183
|
+
id: bodyId
|
|
184
|
+
}, props)), jsx(ModalFooter, Object.assign({}, props))]
|
|
185
|
+
}));
|
|
186
|
+
break;
|
|
187
|
+
}
|
|
188
|
+
default:
|
|
189
|
+
{
|
|
190
|
+
modalContent = jsx("div", {
|
|
191
|
+
className: "gds-dialog-wrapper",
|
|
192
|
+
ref: modalRef,
|
|
193
|
+
children: jsxs("section", Object.assign({}, dialogProps, {
|
|
194
|
+
children: [jsx(ModalHeader, Object.assign({
|
|
195
|
+
id: headerId
|
|
196
|
+
}, props)), jsx(ModalBody, Object.assign({
|
|
197
|
+
id: bodyId
|
|
198
|
+
}, props)), jsx(ModalFooter, Object.assign({}, props))]
|
|
199
|
+
}))
|
|
200
|
+
});
|
|
201
|
+
break;
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
var backdropClassnames = classNames('backdrop', {
|
|
205
|
+
'backdrop--transparent': type === 'slideout'
|
|
206
|
+
}, status);
|
|
207
|
+
var handleBackdropClick = function handleBackdropClick(event) {
|
|
208
|
+
if (props.onClose && !props.preventBackdropClose) {
|
|
209
|
+
if (type === 'slideout') {
|
|
210
|
+
setStatus && setStatus(IS_EXITING);
|
|
211
|
+
setTimeout(function () {
|
|
212
|
+
if (props.onClose) props.onClose(event);
|
|
213
|
+
setStatus && setStatus(UNMOUNTED);
|
|
214
|
+
setShouldRender && setShouldRender(false);
|
|
215
|
+
}, DELAY);
|
|
216
|
+
} else {
|
|
217
|
+
if (props.onClose) props.onClose(event);
|
|
218
|
+
setStatus && setStatus(UNMOUNTED);
|
|
219
|
+
setShouldRender && setShouldRender(false);
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
};
|
|
223
|
+
return jsxs(Fragment, {
|
|
224
|
+
children: [modalContent, jsx("div", {
|
|
225
|
+
"data-testid": "modal-backdrop",
|
|
226
|
+
className: backdropClassnames,
|
|
227
|
+
onClick: function onClick(e) {
|
|
228
|
+
return handleBackdropClick(e);
|
|
229
|
+
},
|
|
230
|
+
"aria-hidden": "true"
|
|
231
|
+
})]
|
|
232
|
+
});
|
|
233
|
+
};
|
|
234
|
+
|
|
235
|
+
export { Modal, Modal as default };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './navbar';
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { _ as _slicedToArray } from '../../../_rollupPluginBabelHelpers.js';
|
|
2
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
3
|
+
import { Link } from '../link/link.js';
|
|
4
|
+
import { useState, useEffect } from 'react';
|
|
5
|
+
import '../../../_tslib.js';
|
|
6
|
+
import 'classnames';
|
|
7
|
+
|
|
8
|
+
//TODO: Add variants
|
|
9
|
+
var Navbar = function Navbar(_ref) {
|
|
10
|
+
var children = _ref.children,
|
|
11
|
+
variant = _ref.variant,
|
|
12
|
+
title = _ref.title,
|
|
13
|
+
titleLink = _ref.titleLink,
|
|
14
|
+
_ref$brandLink = _ref.brandLink,
|
|
15
|
+
brandLink = _ref$brandLink === void 0 ? 'https://www.seb.se' : _ref$brandLink,
|
|
16
|
+
_ref$brandAriaLabel = _ref.brandAriaLabel,
|
|
17
|
+
brandAriaLabel = _ref$brandAriaLabel === void 0 ? 'Open seb.se in new tab' : _ref$brandAriaLabel;
|
|
18
|
+
var _useState = useState({}),
|
|
19
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
20
|
+
props = _useState2[0],
|
|
21
|
+
setProps = _useState2[1];
|
|
22
|
+
useEffect(function () {
|
|
23
|
+
var classNames = [];
|
|
24
|
+
if (variant) classNames.push(variant);
|
|
25
|
+
setProps(Object.assign(Object.assign({}, props), {
|
|
26
|
+
className: classNames.join(' ')
|
|
27
|
+
}));
|
|
28
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
29
|
+
}, [variant]);
|
|
30
|
+
return jsxs("nav", Object.assign({
|
|
31
|
+
role: "navigation"
|
|
32
|
+
}, props, {
|
|
33
|
+
children: [jsx(Link, {
|
|
34
|
+
"aria-label": brandAriaLabel,
|
|
35
|
+
href: brandLink,
|
|
36
|
+
target: "_blank",
|
|
37
|
+
className: "brand"
|
|
38
|
+
}), jsx("div", {
|
|
39
|
+
className: "container-fluid",
|
|
40
|
+
children: jsxs("div", {
|
|
41
|
+
className: "row justify-content-between align-items-center",
|
|
42
|
+
children: [jsx("div", {
|
|
43
|
+
className: "col-auto",
|
|
44
|
+
children: titleLink ? jsx(Link, {
|
|
45
|
+
className: "mx-4",
|
|
46
|
+
href: titleLink,
|
|
47
|
+
children: jsx("h1", {
|
|
48
|
+
children: title
|
|
49
|
+
})
|
|
50
|
+
}) : jsx("h1", {
|
|
51
|
+
children: title
|
|
52
|
+
})
|
|
53
|
+
}), jsx("div", {
|
|
54
|
+
className: "col-auto",
|
|
55
|
+
children: jsx("div", {
|
|
56
|
+
className: "group size-sm",
|
|
57
|
+
children: children
|
|
58
|
+
})
|
|
59
|
+
})]
|
|
60
|
+
})
|
|
61
|
+
})]
|
|
62
|
+
}));
|
|
63
|
+
};
|
|
64
|
+
|
|
65
|
+
export { Navbar, Navbar as default };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './popover';
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { createComponent } from '@lit/react';
|
|
3
|
+
import { GdsPopover } from '@sebgroup/green-core/components/popover/index.js';
|
|
4
|
+
import { getScopedTagName } from '@sebgroup/green-core/scoping';
|
|
5
|
+
import * as PopoverTransitionalStyles from '@sebgroup/green-core/components/popover/popover.trans.styles';
|
|
6
|
+
|
|
7
|
+
PopoverTransitionalStyles.register();
|
|
8
|
+
var Popover = createComponent({
|
|
9
|
+
tagName: getScopedTagName('gds-popover'),
|
|
10
|
+
elementClass: GdsPopover,
|
|
11
|
+
react: React
|
|
12
|
+
});
|
|
13
|
+
|
|
14
|
+
export { Popover };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './segmented-control';
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export { CoreSegementedControl, CoreSegment, Segment, SegmentedControl } from './segmented-control.js';
|
|
2
|
+
import '../../../_tslib.js';
|
|
3
|
+
import 'react/jsx-runtime';
|
|
4
|
+
import 'react';
|
|
5
|
+
import '@lit/react';
|
|
6
|
+
import '@sebgroup/green-core/components/segmented-control/index.js';
|
|
7
|
+
import '@sebgroup/green-core/components/segmented-control/segment/index.js';
|
|
8
|
+
import '@sebgroup/green-core/scoping';
|
|
9
|
+
import '@sebgroup/green-core/transitional-styles';
|
|
10
|
+
import 'classnames';
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { _ as __rest } from '../../../_tslib.js';
|
|
2
|
+
import { jsx } from 'react/jsx-runtime';
|
|
3
|
+
import React from 'react';
|
|
4
|
+
import { createComponent } from '@lit/react';
|
|
5
|
+
import { GdsSegmentedControl } from '@sebgroup/green-core/components/segmented-control/index.js';
|
|
6
|
+
import { GdsSegment } from '@sebgroup/green-core/components/segmented-control/segment/index.js';
|
|
7
|
+
import { getScopedTagName } from '@sebgroup/green-core/scoping';
|
|
8
|
+
import { registerTransitionalStyles } from '@sebgroup/green-core/transitional-styles';
|
|
9
|
+
import classNames from 'classnames';
|
|
10
|
+
|
|
11
|
+
registerTransitionalStyles();
|
|
12
|
+
var CoreSegementedControl = createComponent({
|
|
13
|
+
tagName: getScopedTagName('gds-segmented-control'),
|
|
14
|
+
elementClass: GdsSegmentedControl,
|
|
15
|
+
events: {
|
|
16
|
+
onchange: 'change'
|
|
17
|
+
},
|
|
18
|
+
react: React
|
|
19
|
+
});
|
|
20
|
+
var CoreSegment = createComponent({
|
|
21
|
+
tagName: getScopedTagName('gds-segment'),
|
|
22
|
+
elementClass: GdsSegment,
|
|
23
|
+
react: React
|
|
24
|
+
});
|
|
25
|
+
var SegmentedControl = function SegmentedControl(_a) {
|
|
26
|
+
var onChange = _a.onChange,
|
|
27
|
+
className = _a.className,
|
|
28
|
+
props = __rest(_a, ["onChange", "className"]);
|
|
29
|
+
return jsx(CoreSegementedControl, Object.assign({
|
|
30
|
+
onchange: onChange,
|
|
31
|
+
className: classNames(className)
|
|
32
|
+
}, props));
|
|
33
|
+
};
|
|
34
|
+
var Segment = function Segment(_a) {
|
|
35
|
+
var className = _a.className,
|
|
36
|
+
props = __rest(_a, ["className"]);
|
|
37
|
+
return jsx(CoreSegment, Object.assign({
|
|
38
|
+
className: classNames(className)
|
|
39
|
+
}, props));
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
export { CoreSegementedControl, CoreSegment, Segment, SegmentedControl };
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export { Option, OptionGroup, Select } from './select.js';
|
|
2
|
+
import '../../../_rollupPluginBabelHelpers.js';
|
|
3
|
+
import '../../../_tslib.js';
|
|
4
|
+
import 'react/jsx-runtime';
|
|
5
|
+
import 'react';
|
|
6
|
+
import '@sebgroup/extract';
|
|
7
|
+
import '../icons/chevronDown.js';
|
|
8
|
+
import '../formItem/formItem.js';
|
|
9
|
+
import 'classnames';
|
|
10
|
+
import '../form/iconButton/iconButton.js';
|
|
11
|
+
import '../icons/times.js';
|
|
12
|
+
import '../icons/infoCircle.js';
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { _ as _slicedToArray, a as _defineProperty } from '../../../_rollupPluginBabelHelpers.js';
|
|
2
|
+
import { _ as __rest } from '../../../_tslib.js';
|
|
3
|
+
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
4
|
+
import React, { useState } from 'react';
|
|
5
|
+
import { randomId, validateClassName } from '@sebgroup/extract';
|
|
6
|
+
import { ChevronDown } from '../icons/chevronDown.js';
|
|
7
|
+
import { FormItem } from '../formItem/formItem.js';
|
|
8
|
+
import classNames from 'classnames';
|
|
9
|
+
import '../form/iconButton/iconButton.js';
|
|
10
|
+
import '../icons/times.js';
|
|
11
|
+
import '../icons/infoCircle.js';
|
|
12
|
+
|
|
13
|
+
var Select = /*#__PURE__*/React.forwardRef(function (_a, ref) {
|
|
14
|
+
var ariaDescribedBy = _a['aria-describedby'],
|
|
15
|
+
_a$id = _a.id,
|
|
16
|
+
id = _a$id === void 0 ? randomId() : _a$id,
|
|
17
|
+
validator = _a.validator,
|
|
18
|
+
label = _a.label,
|
|
19
|
+
info = _a.info,
|
|
20
|
+
testId = _a.testId,
|
|
21
|
+
expandableInfo = _a.expandableInfo,
|
|
22
|
+
expandableInfoButtonLabel = _a.expandableInfoButtonLabel,
|
|
23
|
+
required = _a.required,
|
|
24
|
+
props = __rest(_a, ['aria-describedby', "id", "validator", "label", "info", "testId", "expandableInfo", "expandableInfoButtonLabel", "required"]);
|
|
25
|
+
var _useState = useState(id),
|
|
26
|
+
_useState2 = _slicedToArray(_useState, 1),
|
|
27
|
+
uuid = _useState2[0];
|
|
28
|
+
var selectClassName = classNames('gds-select', _defineProperty({}, "".concat(validateClassName(validator === null || validator === void 0 ? void 0 : validator.indicator)), validator));
|
|
29
|
+
var describedBy = classNames(ariaDescribedBy, _defineProperty(_defineProperty(_defineProperty({}, "".concat(uuid, "_message"), (validator === null || validator === void 0 ? void 0 : validator.message) !== undefined && validator.message.length > 0), "".concat(uuid, "_info"), info || props.labelInformation), "gds-expandable-info-".concat(uuid), expandableInfo));
|
|
30
|
+
return jsx(FormItem, {
|
|
31
|
+
label: label,
|
|
32
|
+
labelInformation: info !== null && info !== void 0 ? info : props.labelInformation,
|
|
33
|
+
expandableInfo: expandableInfo,
|
|
34
|
+
expandableInfoButtonLabel: expandableInfoButtonLabel,
|
|
35
|
+
inputId: uuid,
|
|
36
|
+
validator: validator,
|
|
37
|
+
children: jsxs("div", {
|
|
38
|
+
className: selectClassName,
|
|
39
|
+
children: [jsx("select", Object.assign({
|
|
40
|
+
"aria-describedby": describedBy || undefined,
|
|
41
|
+
"aria-invalid": (validator === null || validator === void 0 ? void 0 : validator.indicator) === 'error',
|
|
42
|
+
"aria-required": required,
|
|
43
|
+
id: uuid,
|
|
44
|
+
"data-testid": testId,
|
|
45
|
+
ref: ref,
|
|
46
|
+
required: required
|
|
47
|
+
}, props)), jsx(ChevronDown, {})]
|
|
48
|
+
})
|
|
49
|
+
});
|
|
50
|
+
});
|
|
51
|
+
var Option = function Option(props) {
|
|
52
|
+
return jsx("option", Object.assign({}, props));
|
|
53
|
+
};
|
|
54
|
+
var OptionGroup = function OptionGroup(props) {
|
|
55
|
+
return jsx("optgroup", Object.assign({}, props));
|
|
56
|
+
};
|
|
57
|
+
var select = {
|
|
58
|
+
Select: Select,
|
|
59
|
+
Option: Option,
|
|
60
|
+
OptionGroup: OptionGroup
|
|
61
|
+
};
|
|
62
|
+
|
|
63
|
+
export { Option, OptionGroup, Select, select as default };
|
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
import { _ as _slicedToArray } from '../../../_rollupPluginBabelHelpers.js';
|
|
2
|
+
import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
|
|
3
|
+
import React from 'react';
|
|
4
|
+
import { randomId, sliderColors, getSliderTrackBackground } from '@sebgroup/extract';
|
|
5
|
+
|
|
6
|
+
var InputWrapper = function InputWrapper(_ref) {
|
|
7
|
+
var children = _ref.children,
|
|
8
|
+
unitLabel = _ref.unitLabel;
|
|
9
|
+
return jsx(Fragment, {
|
|
10
|
+
children: unitLabel ? jsxs("div", {
|
|
11
|
+
className: "group group-border group-focus",
|
|
12
|
+
children: [children, jsx("span", {
|
|
13
|
+
className: "form-text",
|
|
14
|
+
children: unitLabel
|
|
15
|
+
})]
|
|
16
|
+
}) : children
|
|
17
|
+
});
|
|
18
|
+
};
|
|
19
|
+
var minMaxFormatFn = function minMaxFormatFn(value, unit) {
|
|
20
|
+
if (unit) return "".concat(value, " ").concat(unit);
|
|
21
|
+
return value.toString();
|
|
22
|
+
};
|
|
23
|
+
function Slider(_ref2) {
|
|
24
|
+
var _ref2$name = _ref2.name,
|
|
25
|
+
name = _ref2$name === void 0 ? "".concat(randomId(), "-slider") : _ref2$name,
|
|
26
|
+
value = _ref2.value,
|
|
27
|
+
defaultValue = _ref2.defaultValue,
|
|
28
|
+
_ref2$min = _ref2.min,
|
|
29
|
+
min = _ref2$min === void 0 ? 0 : _ref2$min,
|
|
30
|
+
_ref2$max = _ref2.max,
|
|
31
|
+
max = _ref2$max === void 0 ? 100 : _ref2$max,
|
|
32
|
+
_ref2$minMaxFormat = _ref2.minMaxFormat,
|
|
33
|
+
minMaxFormat = _ref2$minMaxFormat === void 0 ? minMaxFormatFn : _ref2$minMaxFormat,
|
|
34
|
+
_ref2$showMinMax = _ref2.showMinMax,
|
|
35
|
+
showMinMax = _ref2$showMinMax === void 0 ? false : _ref2$showMinMax,
|
|
36
|
+
_ref2$step = _ref2.step,
|
|
37
|
+
step = _ref2$step === void 0 ? 1 : _ref2$step,
|
|
38
|
+
label = _ref2.label,
|
|
39
|
+
instruction = _ref2.instruction,
|
|
40
|
+
errorMessage = _ref2.errorMessage,
|
|
41
|
+
_ref2$hasTextbox = _ref2.hasTextbox,
|
|
42
|
+
hasTextbox = _ref2$hasTextbox === void 0 ? false : _ref2$hasTextbox,
|
|
43
|
+
unitLabel = _ref2.unitLabel,
|
|
44
|
+
_ref2$disabled = _ref2.disabled,
|
|
45
|
+
disabled = _ref2$disabled === void 0 ? false : _ref2$disabled,
|
|
46
|
+
onChange = _ref2.onChange,
|
|
47
|
+
_ref2$enableClamping = _ref2.enableClamping,
|
|
48
|
+
enableClamping = _ref2$enableClamping === void 0 ? true : _ref2$enableClamping,
|
|
49
|
+
onClamp = _ref2.onClamp,
|
|
50
|
+
enterKeyHint = _ref2.enterKeyHint;
|
|
51
|
+
var _React$useState = React.useState(),
|
|
52
|
+
_React$useState2 = _slicedToArray(_React$useState, 2),
|
|
53
|
+
background = _React$useState2[0],
|
|
54
|
+
setBackground = _React$useState2[1];
|
|
55
|
+
var _React$useState3 = React.useState(value !== null && value !== void 0 ? value : defaultValue),
|
|
56
|
+
_React$useState4 = _slicedToArray(_React$useState3, 2),
|
|
57
|
+
sliderValue = _React$useState4[0],
|
|
58
|
+
setSliderValue = _React$useState4[1];
|
|
59
|
+
var _React$useState5 = React.useState(sliderValue + ''),
|
|
60
|
+
_React$useState6 = _slicedToArray(_React$useState5, 2),
|
|
61
|
+
inputFieldValue = _React$useState6[0],
|
|
62
|
+
setInputFieldValue = _React$useState6[1];
|
|
63
|
+
React.useLayoutEffect(function () {
|
|
64
|
+
if (disabled) {
|
|
65
|
+
setBackground(sliderColors.disabled);
|
|
66
|
+
return;
|
|
67
|
+
}
|
|
68
|
+
var percent = 0;
|
|
69
|
+
if (sliderValue !== undefined) percent = (sliderValue - min) / (max - min) * 100;
|
|
70
|
+
setBackground(getSliderTrackBackground(percent));
|
|
71
|
+
}, [disabled, sliderValue]);
|
|
72
|
+
var clamp = function clamp(unclamped) {
|
|
73
|
+
if (!enableClamping) return Number(unclamped);
|
|
74
|
+
if (typeof unclamped === 'string') unclamped = Number(unclamped);
|
|
75
|
+
if (!unclamped || Number.isNaN(unclamped)) return min;
|
|
76
|
+
var clamped = Math.min(Math.max(min, unclamped), max);
|
|
77
|
+
if (clamped !== unclamped && onClamp) onClamp(unclamped);
|
|
78
|
+
return clamped;
|
|
79
|
+
};
|
|
80
|
+
var setNumValue = function setNumValue(value) {
|
|
81
|
+
if (value === '') value = min;
|
|
82
|
+
var unclamped = Number(value);
|
|
83
|
+
var clamped = clamp(unclamped);
|
|
84
|
+
setSliderValue(clamped);
|
|
85
|
+
return [unclamped, clamped];
|
|
86
|
+
};
|
|
87
|
+
React.useEffect(function () {
|
|
88
|
+
setNumValue(value);
|
|
89
|
+
}, [value]);
|
|
90
|
+
var handleChange = function handleChange(value) {
|
|
91
|
+
var _setNumValue = setNumValue(value),
|
|
92
|
+
_setNumValue2 = _slicedToArray(_setNumValue, 2),
|
|
93
|
+
unclamped = _setNumValue2[0],
|
|
94
|
+
clamped = _setNumValue2[1];
|
|
95
|
+
setInputFieldValue(unclamped + '');
|
|
96
|
+
if (onChange) onChange(clamped);
|
|
97
|
+
};
|
|
98
|
+
var handleInputFieldChange = function handleInputFieldChange(value) {
|
|
99
|
+
var shouldClamp = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
100
|
+
handleChange(value);
|
|
101
|
+
if (value === '') setInputFieldValue('');else if (shouldClamp) setInputFieldValue(clamp(value) + '');
|
|
102
|
+
};
|
|
103
|
+
return jsxs(Fragment, {
|
|
104
|
+
children: [jsxs("div", {
|
|
105
|
+
className: "gds-slider-label-container",
|
|
106
|
+
children: [jsx("div", {
|
|
107
|
+
children: label && jsxs(Fragment, {
|
|
108
|
+
children: [jsx("label", {
|
|
109
|
+
htmlFor: name,
|
|
110
|
+
id: "".concat(name, "-label"),
|
|
111
|
+
children: label
|
|
112
|
+
}), instruction && jsx("p", {
|
|
113
|
+
children: instruction
|
|
114
|
+
})]
|
|
115
|
+
})
|
|
116
|
+
}), hasTextbox && jsx(InputWrapper, {
|
|
117
|
+
unitLabel: unitLabel,
|
|
118
|
+
children: jsx("input", {
|
|
119
|
+
type: "text",
|
|
120
|
+
inputMode: "numeric",
|
|
121
|
+
pattern: "[0-9]*",
|
|
122
|
+
value: inputFieldValue,
|
|
123
|
+
id: "".concat(name, "-textbox"),
|
|
124
|
+
name: name,
|
|
125
|
+
"aria-labelledby": "".concat(name, "-label"),
|
|
126
|
+
enterKeyHint: enterKeyHint,
|
|
127
|
+
className: errorMessage ? 'is-invalid' : '',
|
|
128
|
+
disabled: disabled,
|
|
129
|
+
onChange: function onChange(e) {
|
|
130
|
+
return handleInputFieldChange(e.currentTarget.value);
|
|
131
|
+
},
|
|
132
|
+
onKeyDown: function onKeyDown(e) {
|
|
133
|
+
return e.key === 'Enter' && handleInputFieldChange(e.currentTarget.value, true);
|
|
134
|
+
},
|
|
135
|
+
onBlur: function onBlur(e) {
|
|
136
|
+
return handleInputFieldChange(e.currentTarget.value, true);
|
|
137
|
+
},
|
|
138
|
+
min: min,
|
|
139
|
+
max: max,
|
|
140
|
+
onInvalid: function onInvalid(e) {
|
|
141
|
+
e.preventDefault();
|
|
142
|
+
}
|
|
143
|
+
})
|
|
144
|
+
})]
|
|
145
|
+
}), jsx("input", {
|
|
146
|
+
type: "range",
|
|
147
|
+
value: sliderValue || 0,
|
|
148
|
+
id: name,
|
|
149
|
+
name: name,
|
|
150
|
+
min: min,
|
|
151
|
+
max: max,
|
|
152
|
+
step: step,
|
|
153
|
+
disabled: disabled,
|
|
154
|
+
onChange: function onChange(e) {
|
|
155
|
+
return handleChange(e.currentTarget.value);
|
|
156
|
+
},
|
|
157
|
+
style: {
|
|
158
|
+
background: background
|
|
159
|
+
}
|
|
160
|
+
}), showMinMax && jsxs("div", {
|
|
161
|
+
className: "gds-slider-min-max",
|
|
162
|
+
children: [jsx("div", {
|
|
163
|
+
children: minMaxFormat(min, unitLabel)
|
|
164
|
+
}), jsx("div", {
|
|
165
|
+
children: minMaxFormat(max, unitLabel)
|
|
166
|
+
})]
|
|
167
|
+
}), errorMessage && jsx("p", {
|
|
168
|
+
className: "gds-slider-error-info",
|
|
169
|
+
children: errorMessage
|
|
170
|
+
})]
|
|
171
|
+
});
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
export { Slider, Slider as default };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './stepper';
|