@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,82 @@
|
|
|
1
|
+
import { _ as __rest } from '../../../_tslib.js';
|
|
2
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
3
|
+
import { validateClassName } from '@sebgroup/extract';
|
|
4
|
+
|
|
5
|
+
// TODO: Should be named "Numeric input" instead of stepper?
|
|
6
|
+
function Stepper(_a) {
|
|
7
|
+
var id = _a.id,
|
|
8
|
+
label = _a.label,
|
|
9
|
+
description = _a.description,
|
|
10
|
+
statusMessage = _a.statusMessage,
|
|
11
|
+
validator = _a.validator,
|
|
12
|
+
_a$value = _a.value,
|
|
13
|
+
value = _a$value === void 0 ? 0 : _a$value,
|
|
14
|
+
_a$onChange = _a.onChange,
|
|
15
|
+
onChange = _a$onChange === void 0 ? function () {
|
|
16
|
+
return undefined;
|
|
17
|
+
} : _a$onChange,
|
|
18
|
+
_a$onIncrease = _a.onIncrease,
|
|
19
|
+
onIncrease = _a$onIncrease === void 0 ? function () {
|
|
20
|
+
return undefined;
|
|
21
|
+
} : _a$onIncrease,
|
|
22
|
+
_a$onDecrease = _a.onDecrease,
|
|
23
|
+
onDecrease = _a$onDecrease === void 0 ? function () {
|
|
24
|
+
return undefined;
|
|
25
|
+
} : _a$onDecrease,
|
|
26
|
+
testId = _a.testId,
|
|
27
|
+
props = __rest(_a, ["id", "label", "description", "statusMessage", "validator", "value", "onChange", "onIncrease", "onDecrease", "testId"]);
|
|
28
|
+
var handleKeyDown = function handleKeyDown(e) {
|
|
29
|
+
if (e.key === 'ArrowUp') {
|
|
30
|
+
e.preventDefault();
|
|
31
|
+
onIncrease();
|
|
32
|
+
} else if (e.key === 'ArrowDown') {
|
|
33
|
+
e.preventDefault();
|
|
34
|
+
onDecrease();
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
var PrimitiveStepper = jsxs("div", {
|
|
38
|
+
"data-testid": testId,
|
|
39
|
+
className: "group group-border group-stepper ".concat(validator && validateClassName(validator === null || validator === void 0 ? void 0 : validator.indicator)),
|
|
40
|
+
children: [jsx("button", {
|
|
41
|
+
type: "button",
|
|
42
|
+
onClick: onDecrease,
|
|
43
|
+
children: "-"
|
|
44
|
+
}), jsx("input", Object.assign({
|
|
45
|
+
id: id,
|
|
46
|
+
type: "text",
|
|
47
|
+
inputMode: "numeric",
|
|
48
|
+
pattern: "[0-9]*",
|
|
49
|
+
onChange: onChange,
|
|
50
|
+
onFocus: function onFocus(_ref) {
|
|
51
|
+
var target = _ref.target;
|
|
52
|
+
return target.select();
|
|
53
|
+
},
|
|
54
|
+
onKeyDown: handleKeyDown,
|
|
55
|
+
placeholder: "0",
|
|
56
|
+
value: value
|
|
57
|
+
}, props)), jsx("button", {
|
|
58
|
+
type: "button",
|
|
59
|
+
onClick: onIncrease,
|
|
60
|
+
children: "+"
|
|
61
|
+
})]
|
|
62
|
+
});
|
|
63
|
+
if (!label && !description && !statusMessage && !validator) return PrimitiveStepper;
|
|
64
|
+
return jsxs("div", {
|
|
65
|
+
className: "form-group",
|
|
66
|
+
children: [label && jsx("label", {
|
|
67
|
+
htmlFor: id,
|
|
68
|
+
children: label
|
|
69
|
+
}), description && jsx("span", {
|
|
70
|
+
className: "form-info",
|
|
71
|
+
children: description
|
|
72
|
+
}), jsxs("div", {
|
|
73
|
+
className: "stepper-wrapper",
|
|
74
|
+
children: [PrimitiveStepper, validator && jsx("span", {
|
|
75
|
+
className: "form-info",
|
|
76
|
+
children: validator.message
|
|
77
|
+
})]
|
|
78
|
+
})]
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
export { Stepper };
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { _ as _slicedToArray } from '../../../../_rollupPluginBabelHelpers.js';
|
|
2
|
+
import { _ as __rest } from '../../../../_tslib.js';
|
|
3
|
+
import { jsx } from 'react/jsx-runtime';
|
|
4
|
+
import React from 'react';
|
|
5
|
+
import classNames from 'classnames';
|
|
6
|
+
import { TableContext } from './context/TableContextProvider.js';
|
|
7
|
+
|
|
8
|
+
var Table = /*#__PURE__*/React.memo(/*#__PURE__*/React.forwardRef(function (_a, ref) {
|
|
9
|
+
var onRowSelect = _a.onRowSelect,
|
|
10
|
+
onRowExpand = _a.onRowExpand,
|
|
11
|
+
onSort = _a.onSort,
|
|
12
|
+
_a$sortedColumn = _a.sortedColumn,
|
|
13
|
+
sortedColumn = _a$sortedColumn === void 0 ? null : _a$sortedColumn,
|
|
14
|
+
className = _a.className,
|
|
15
|
+
props = __rest(_a, ["onRowSelect", "onRowExpand", "onSort", "sortedColumn", "className"]);
|
|
16
|
+
var _React$useState = React.useState({
|
|
17
|
+
expandedRows: [],
|
|
18
|
+
sortedColumn: sortedColumn
|
|
19
|
+
}),
|
|
20
|
+
_React$useState2 = _slicedToArray(_React$useState, 2),
|
|
21
|
+
tableState = _React$useState2[0],
|
|
22
|
+
setTableState = _React$useState2[1];
|
|
23
|
+
return jsx(TableContext.Provider, {
|
|
24
|
+
value: {
|
|
25
|
+
tableState: tableState,
|
|
26
|
+
onSort: onSort,
|
|
27
|
+
onRowSelect: onRowSelect,
|
|
28
|
+
onRowExpand: onRowExpand,
|
|
29
|
+
setTableState: setTableState
|
|
30
|
+
},
|
|
31
|
+
children: jsx("table", Object.assign({}, props, {
|
|
32
|
+
className: classNames('table', className),
|
|
33
|
+
ref: ref
|
|
34
|
+
}))
|
|
35
|
+
});
|
|
36
|
+
}));
|
|
37
|
+
|
|
38
|
+
export { Table };
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
|
|
3
|
+
var defaultContext = {
|
|
4
|
+
tableState: {
|
|
5
|
+
sortedColumn: null,
|
|
6
|
+
expandedRows: []
|
|
7
|
+
},
|
|
8
|
+
setTableState: null,
|
|
9
|
+
onRowSelect: null,
|
|
10
|
+
onRowExpand: null,
|
|
11
|
+
onSort: null
|
|
12
|
+
};
|
|
13
|
+
var TableContext = /*#__PURE__*/React.createContext(defaultContext);
|
|
14
|
+
var useTableContext = function useTableContext() {
|
|
15
|
+
return React.useContext(TableContext);
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
export { TableContext, useTableContext };
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export { SortDirection } from './table-typings.js';
|
|
2
|
+
export { TableContext, useTableContext } from './context/TableContextProvider.js';
|
|
3
|
+
export { filterArrayByColumns, onRowSelect, paginate, searchTextByColumns, sortArray, sumCols } from './parts/helperFunctions/helperFunctions.js';
|
|
4
|
+
export { TableCell } from './parts/TableCell/TableCell.js';
|
|
5
|
+
export { TableBody } from './parts/TableBody/TableBody.js';
|
|
6
|
+
export { TableHeader } from './parts/TableHeader/TableHeader.js';
|
|
7
|
+
export { TableHeaderCell } from './parts/TableHeaderCell/TableHeaderCell.js';
|
|
8
|
+
export { TableRow } from './parts/TableRow/TableRow.js';
|
|
9
|
+
export { Table } from './Table.js';
|
|
10
|
+
import 'react';
|
|
11
|
+
import '../../../../_rollupPluginBabelHelpers.js';
|
|
12
|
+
import '../../../../_tslib.js';
|
|
13
|
+
import 'react/jsx-runtime';
|
|
14
|
+
import 'classnames';
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { _ as __rest } from '../../../../../../_tslib.js';
|
|
2
|
+
import { jsx } from 'react/jsx-runtime';
|
|
3
|
+
import React from 'react';
|
|
4
|
+
|
|
5
|
+
var TableBody = /*#__PURE__*/React.forwardRef(function (_a, ref) {
|
|
6
|
+
var props = __rest(_a, []);
|
|
7
|
+
var parentKey;
|
|
8
|
+
/**
|
|
9
|
+
* clone table row by appending parent key to sub row if necessary
|
|
10
|
+
* @param Child react element
|
|
11
|
+
* @param index index number
|
|
12
|
+
*/
|
|
13
|
+
var cloneTableRow = React.useCallback(function (Child, index) {
|
|
14
|
+
var _a;
|
|
15
|
+
var isTableRow = /*#__PURE__*/React.isValidElement(Child) && ((_a = Child === null || Child === void 0 ? void 0 : Child.type) === null || _a === void 0 ? void 0 : _a.displayName) === 'TableRow';
|
|
16
|
+
if (isTableRow && !Child.props.isSubRow) {
|
|
17
|
+
parentKey = Child.props.uniqueKey;
|
|
18
|
+
}
|
|
19
|
+
return isTableRow ? /*#__PURE__*/React.cloneElement(Child, {
|
|
20
|
+
index: index,
|
|
21
|
+
parentKey: parentKey
|
|
22
|
+
}) : Child;
|
|
23
|
+
}, []);
|
|
24
|
+
return jsx("tbody", Object.assign({}, props, {
|
|
25
|
+
ref: ref,
|
|
26
|
+
children: React.Children.map(props.children, function (Child, i) {
|
|
27
|
+
if ((Child === null || Child === void 0 ? void 0 : Child.type) === React.Fragment) {
|
|
28
|
+
return /*#__PURE__*/React.cloneElement(Child, {
|
|
29
|
+
children: React.Children.map(Child.props.children, function (FragmentChild, fragmentIndex) {
|
|
30
|
+
return cloneTableRow(FragmentChild, fragmentIndex);
|
|
31
|
+
})
|
|
32
|
+
});
|
|
33
|
+
} else {
|
|
34
|
+
return cloneTableRow(Child, i);
|
|
35
|
+
}
|
|
36
|
+
})
|
|
37
|
+
}));
|
|
38
|
+
});
|
|
39
|
+
TableBody.displayName = 'TableBody';
|
|
40
|
+
|
|
41
|
+
export { TableBody };
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { _ as __rest } from '../../../../../../_tslib.js';
|
|
2
|
+
import { jsx } from 'react/jsx-runtime';
|
|
3
|
+
import React from 'react';
|
|
4
|
+
|
|
5
|
+
var TableCell = /*#__PURE__*/React.forwardRef(function (_a, ref) {
|
|
6
|
+
var props = __rest(_a, []);
|
|
7
|
+
return jsx("td", Object.assign({}, props, {
|
|
8
|
+
ref: ref
|
|
9
|
+
}));
|
|
10
|
+
});
|
|
11
|
+
TableCell.displayName = 'TableCell';
|
|
12
|
+
|
|
13
|
+
export { TableCell };
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { _ as __rest } from '../../../../../../_tslib.js';
|
|
2
|
+
import { jsx } from 'react/jsx-runtime';
|
|
3
|
+
import React from 'react';
|
|
4
|
+
|
|
5
|
+
var TableHeader = /*#__PURE__*/React.forwardRef(function (_a, ref) {
|
|
6
|
+
var props = __rest(_a, []);
|
|
7
|
+
return jsx("thead", Object.assign({}, props, {
|
|
8
|
+
ref: ref,
|
|
9
|
+
children: React.Children.count(props.children) === 1 && /*#__PURE__*/React.isValidElement(props.children) ? /*#__PURE__*/React.cloneElement(props.children, {
|
|
10
|
+
isHeaderRow: true,
|
|
11
|
+
index: -1
|
|
12
|
+
}) : React.Children.map(props.children, function (Child, i) {
|
|
13
|
+
var _a;
|
|
14
|
+
return /*#__PURE__*/React.isValidElement(Child) && ((_a = Child === null || Child === void 0 ? void 0 : Child.type) === null || _a === void 0 ? void 0 : _a.displayName) === 'TableRow' ? /*#__PURE__*/React.cloneElement(Child, {
|
|
15
|
+
index: i,
|
|
16
|
+
hideSelect: !Child.props.isHeaderRow
|
|
17
|
+
}) : Child;
|
|
18
|
+
})
|
|
19
|
+
}));
|
|
20
|
+
});
|
|
21
|
+
TableHeader.displayName = 'TableHeader';
|
|
22
|
+
|
|
23
|
+
export { TableHeader };
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import { _ as _slicedToArray } from '../../../../../../_rollupPluginBabelHelpers.js';
|
|
2
|
+
import { _ as __rest } from '../../../../../../_tslib.js';
|
|
3
|
+
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
4
|
+
import React from 'react';
|
|
5
|
+
import classNames from 'classnames';
|
|
6
|
+
import { SortDirection } from '../../table-typings.js';
|
|
7
|
+
import { useTableContext } from '../../context/TableContextProvider.js';
|
|
8
|
+
|
|
9
|
+
var TableHeaderCell = /*#__PURE__*/React.forwardRef(function (_a, ref) {
|
|
10
|
+
var accessor = _a.accessor,
|
|
11
|
+
disableSort = _a.disableSort,
|
|
12
|
+
className = _a.className,
|
|
13
|
+
sortDirection = _a.sortDirection,
|
|
14
|
+
onClick = _a.onClick,
|
|
15
|
+
children = _a.children,
|
|
16
|
+
props = __rest(_a, ["accessor", "disableSort", "className", "sortDirection", "onClick", "children"]);
|
|
17
|
+
var tableContext = useTableContext();
|
|
18
|
+
var _React$useState = React.useState(null),
|
|
19
|
+
_React$useState2 = _slicedToArray(_React$useState, 2),
|
|
20
|
+
sortedColumn = _React$useState2[0],
|
|
21
|
+
setSortedColumn = _React$useState2[1];
|
|
22
|
+
var _React$useState3 = React.useState(SortDirection.ASC),
|
|
23
|
+
_React$useState4 = _slicedToArray(_React$useState3, 2),
|
|
24
|
+
sortOrder = _React$useState4[0],
|
|
25
|
+
setSortOrder = _React$useState4[1];
|
|
26
|
+
var _React$useState5 = React.useState(false),
|
|
27
|
+
_React$useState6 = _slicedToArray(_React$useState5, 2),
|
|
28
|
+
sortable = _React$useState6[0],
|
|
29
|
+
setSortable = _React$useState6[1];
|
|
30
|
+
/**
|
|
31
|
+
* get latest sort direction
|
|
32
|
+
* @param oldSortDirection current sort direction
|
|
33
|
+
*/
|
|
34
|
+
var getSortDirection = function getSortDirection(oldSortDirection) {
|
|
35
|
+
return oldSortDirection === SortDirection.ASC ? SortDirection.DESC : SortDirection.ASC;
|
|
36
|
+
};
|
|
37
|
+
/** on column sort */
|
|
38
|
+
var onSort = React.useCallback(function () {
|
|
39
|
+
var _a;
|
|
40
|
+
var newSortedColumn = sortedColumn && sortedColumn.accessor === accessor ? Object.assign(Object.assign({}, sortedColumn), {
|
|
41
|
+
sortDirection: getSortDirection(sortedColumn.sortDirection)
|
|
42
|
+
}) : {
|
|
43
|
+
accessor: accessor,
|
|
44
|
+
sortDirection: SortDirection.DESC
|
|
45
|
+
};
|
|
46
|
+
tableContext.setTableState(Object.assign(Object.assign({}, tableContext.tableState), {
|
|
47
|
+
sortedColumn: newSortedColumn
|
|
48
|
+
}));
|
|
49
|
+
!!newSortedColumn && ((_a = tableContext === null || tableContext === void 0 ? void 0 : tableContext.onSort) === null || _a === void 0 ? void 0 : _a.call(tableContext, newSortedColumn));
|
|
50
|
+
}, [sortedColumn, tableContext]);
|
|
51
|
+
var getCurrentSortValue = React.useCallback(function () {
|
|
52
|
+
if (!sortable || !sortOrder) {
|
|
53
|
+
return 'none';
|
|
54
|
+
}
|
|
55
|
+
if (sortOrder === SortDirection.ASC) {
|
|
56
|
+
return 'ascending';
|
|
57
|
+
}
|
|
58
|
+
return 'descending';
|
|
59
|
+
}, [sortable, sortOrder]);
|
|
60
|
+
React.useEffect(function () {
|
|
61
|
+
setSortable(!disableSort && !!tableContext.onSort);
|
|
62
|
+
}, [disableSort, tableContext.onSort]);
|
|
63
|
+
React.useEffect(function () {
|
|
64
|
+
setSortedColumn(tableContext.tableState.sortedColumn);
|
|
65
|
+
}, [tableContext.tableState.sortedColumn]);
|
|
66
|
+
React.useEffect(function () {
|
|
67
|
+
if (sortDirection && tableContext.onSort) {
|
|
68
|
+
tableContext.setTableState(Object.assign(Object.assign({}, tableContext.tableState), {
|
|
69
|
+
sortedColumn: {
|
|
70
|
+
accessor: accessor,
|
|
71
|
+
sortDirection: sortDirection
|
|
72
|
+
}
|
|
73
|
+
}));
|
|
74
|
+
}
|
|
75
|
+
}, [sortDirection, tableContext.onSort]);
|
|
76
|
+
React.useEffect(function () {
|
|
77
|
+
setSortOrder(sortable && (sortedColumn === null || sortedColumn === void 0 ? void 0 : sortedColumn.accessor) === accessor ? sortedColumn === null || sortedColumn === void 0 ? void 0 : sortedColumn.sortDirection : null);
|
|
78
|
+
}, [sortable, sortedColumn]);
|
|
79
|
+
return jsx("th", Object.assign({
|
|
80
|
+
className: classNames(className, {
|
|
81
|
+
'sg-sortable': sortable
|
|
82
|
+
}),
|
|
83
|
+
onClick: sortable ? onSort : onClick,
|
|
84
|
+
ref: ref,
|
|
85
|
+
"aria-sort": getCurrentSortValue()
|
|
86
|
+
}, props, {
|
|
87
|
+
children: sortable ? jsxs("button", {
|
|
88
|
+
className: "sg-table-sort",
|
|
89
|
+
children: [" ", children]
|
|
90
|
+
}) : children
|
|
91
|
+
}));
|
|
92
|
+
});
|
|
93
|
+
TableHeaderCell.displayName = 'TableHeaderCell';
|
|
94
|
+
|
|
95
|
+
export { TableHeaderCell };
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export { TableHeaderCell } from './TableHeaderCell.js';
|
|
2
|
+
import '../../../../../../_rollupPluginBabelHelpers.js';
|
|
3
|
+
import '../../../../../../_tslib.js';
|
|
4
|
+
import 'react/jsx-runtime';
|
|
5
|
+
import 'react';
|
|
6
|
+
import 'classnames';
|
|
7
|
+
import '../../table-typings.js';
|
|
8
|
+
import '../../context/TableContextProvider.js';
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
import { _ as _slicedToArray, d as _toConsumableArray } from '../../../../../../_rollupPluginBabelHelpers.js';
|
|
2
|
+
import { _ as __rest } from '../../../../../../_tslib.js';
|
|
3
|
+
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
4
|
+
import React, { useId } from 'react';
|
|
5
|
+
import classNames from 'classnames';
|
|
6
|
+
import { TableHeaderCell } from '../TableHeaderCell/TableHeaderCell.js';
|
|
7
|
+
import { TableCell } from '../TableCell/TableCell.js';
|
|
8
|
+
import { useTableContext } from '../../context/TableContextProvider.js';
|
|
9
|
+
import '../../table-typings.js';
|
|
10
|
+
|
|
11
|
+
var angleDown = jsx("svg", {
|
|
12
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
13
|
+
viewBox: "0 0 256 512",
|
|
14
|
+
children: jsx("path", {
|
|
15
|
+
d: "M119.5 326.9L3.5 209.1c-4.7-4.7-4.7-12.3 0-17l7.1-7.1c4.7-4.7 12.3-4.7 17 0L128 287.3l100.4-102.2c4.7-4.7 12.3-4.7 17 0l7.1 7.1c4.7 4.7 4.7 12.3 0 17L136.5 327c-4.7 4.6-12.3 4.6-17-.1z"
|
|
16
|
+
})
|
|
17
|
+
});
|
|
18
|
+
var angleRightIcon = jsx("svg", {
|
|
19
|
+
name: "angle-right",
|
|
20
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
21
|
+
viewBox: "0 0 192 512",
|
|
22
|
+
children: jsx("path", {
|
|
23
|
+
d: "M166.9 264.5l-117.8 116c-4.7 4.7-12.3 4.7-17 0l-7.1-7.1c-4.7-4.7-4.7-12.3 0-17L127.3 256 25.1 155.6c-4.7-4.7-4.7-12.3 0-17l7.1-7.1c4.7-4.7 12.3-4.7 17 0l117.8 116c4.6 4.7 4.6 12.3-.1 17z"
|
|
24
|
+
})
|
|
25
|
+
});
|
|
26
|
+
var TableRow = /*#__PURE__*/React.forwardRef(function (_a, ref) {
|
|
27
|
+
var _b;
|
|
28
|
+
var className = _a.className,
|
|
29
|
+
isHeaderRow = _a.isHeaderRow,
|
|
30
|
+
hideSelect = _a.hideSelect,
|
|
31
|
+
uniqueKey = _a.uniqueKey,
|
|
32
|
+
parentKey = _a.parentKey,
|
|
33
|
+
_a$checked = _a.checked,
|
|
34
|
+
checked = _a$checked === void 0 ? false : _a$checked,
|
|
35
|
+
_a$indeterminate = _a.indeterminate,
|
|
36
|
+
indeterminate = _a$indeterminate === void 0 ? false : _a$indeterminate,
|
|
37
|
+
_a$isSubRow = _a.isSubRow,
|
|
38
|
+
isSubRow = _a$isSubRow === void 0 ? false : _a$isSubRow,
|
|
39
|
+
_a$isExpanded = _a.isExpanded,
|
|
40
|
+
isExpanded = _a$isExpanded === void 0 ? false : _a$isExpanded;
|
|
41
|
+
_a.checkboxProps;
|
|
42
|
+
var _a$collapseButtonProp = _a.collapseButtonProps,
|
|
43
|
+
collapseButtonProps = _a$collapseButtonProp === void 0 ? {} : _a$collapseButtonProp,
|
|
44
|
+
props = __rest(_a, ["className", "isHeaderRow", "hideSelect", "uniqueKey", "parentKey", "checked", "indeterminate", "isSubRow", "isExpanded", "checkboxProps", "collapseButtonProps"]);
|
|
45
|
+
var tableContext = useTableContext();
|
|
46
|
+
var _React$useState = React.useState(uniqueKey),
|
|
47
|
+
_React$useState2 = _slicedToArray(_React$useState, 2),
|
|
48
|
+
uniqueId = _React$useState2[0],
|
|
49
|
+
setUniqueId = _React$useState2[1];
|
|
50
|
+
var _React$useState3 = React.useState(false),
|
|
51
|
+
_React$useState4 = _slicedToArray(_React$useState3, 2),
|
|
52
|
+
isShown = _React$useState4[0],
|
|
53
|
+
setIsShown = _React$useState4[1];
|
|
54
|
+
var _React$useState5 = React.useState(isExpanded),
|
|
55
|
+
_React$useState6 = _slicedToArray(_React$useState5, 2),
|
|
56
|
+
expanded = _React$useState6[0],
|
|
57
|
+
setExpanded = _React$useState6[1];
|
|
58
|
+
var _React$useState7 = React.useState(isExpanded),
|
|
59
|
+
_React$useState8 = _slicedToArray(_React$useState7, 2),
|
|
60
|
+
isParentRow = _React$useState8[0],
|
|
61
|
+
setIsParentRow = _React$useState8[1];
|
|
62
|
+
var _React$useState9 = React.useState(null),
|
|
63
|
+
_React$useState10 = _slicedToArray(_React$useState9, 2),
|
|
64
|
+
columnProps = _React$useState10[0],
|
|
65
|
+
setColumnProps = _React$useState10[1];
|
|
66
|
+
var _React$useState11 = React.useState(((_b = tableContext.tableState) === null || _b === void 0 ? void 0 : _b.expandedRows) || []),
|
|
67
|
+
_React$useState12 = _slicedToArray(_React$useState11, 2),
|
|
68
|
+
expandedRows = _React$useState12[0],
|
|
69
|
+
setExpandedRows = _React$useState12[1];
|
|
70
|
+
var headerId = useId();
|
|
71
|
+
/** initiate default expanded row */
|
|
72
|
+
var initiateExpandedRows = React.useCallback(function () {
|
|
73
|
+
var newExpandedRows = _toConsumableArray(expandedRows);
|
|
74
|
+
var expandedIndex = newExpandedRows.indexOf(uniqueId);
|
|
75
|
+
if (isExpanded && expandedIndex === -1) {
|
|
76
|
+
newExpandedRows.push(uniqueId);
|
|
77
|
+
} else if (expandedIndex > -1) {
|
|
78
|
+
var _expandedIndex = newExpandedRows.indexOf(uniqueId);
|
|
79
|
+
newExpandedRows.splice(_expandedIndex, 1);
|
|
80
|
+
}
|
|
81
|
+
tableContext.setTableState(Object.assign(Object.assign({}, tableContext.tableState), {
|
|
82
|
+
expandedRows: newExpandedRows
|
|
83
|
+
}));
|
|
84
|
+
setExpandedRows(newExpandedRows);
|
|
85
|
+
}, [isExpanded, uniqueId]);
|
|
86
|
+
React.useEffect(function () {
|
|
87
|
+
setUniqueId(isHeaderRow ? 'all' : uniqueKey || headerId);
|
|
88
|
+
}, [uniqueKey, isHeaderRow]);
|
|
89
|
+
React.useEffect(function () {
|
|
90
|
+
setExpandedRows(tableContext.tableState.expandedRows || []);
|
|
91
|
+
}, [tableContext.tableState.expandedRows]);
|
|
92
|
+
React.useEffect(function () {
|
|
93
|
+
setExpanded(isExpanded);
|
|
94
|
+
if (!isSubRow && !isHeaderRow && tableContext.onRowExpand) {
|
|
95
|
+
initiateExpandedRows();
|
|
96
|
+
}
|
|
97
|
+
}, [isExpanded, initiateExpandedRows]);
|
|
98
|
+
React.useEffect(function () {
|
|
99
|
+
setColumnProps(isHeaderRow ? {
|
|
100
|
+
disableSort: true
|
|
101
|
+
} : null);
|
|
102
|
+
}, [isHeaderRow]);
|
|
103
|
+
React.useEffect(function () {
|
|
104
|
+
setIsParentRow(!(isHeaderRow || isSubRow));
|
|
105
|
+
}, [isHeaderRow, isSubRow]);
|
|
106
|
+
React.useEffect(function () {
|
|
107
|
+
if (tableContext.onRowExpand) {
|
|
108
|
+
setIsShown(isSubRow && expandedRows.indexOf(parentKey) > -1);
|
|
109
|
+
}
|
|
110
|
+
}, [expandedRows]);
|
|
111
|
+
var Cell = isHeaderRow ? TableHeaderCell : TableCell;
|
|
112
|
+
return jsxs("tr", Object.assign({}, props, {
|
|
113
|
+
ref: ref,
|
|
114
|
+
className: classNames(className, {
|
|
115
|
+
'sub-row': isSubRow,
|
|
116
|
+
expanded: isExpanded,
|
|
117
|
+
collapsible: isParentRow && !!tableContext.onRowExpand,
|
|
118
|
+
show: isShown
|
|
119
|
+
}),
|
|
120
|
+
children: [!!tableContext.onRowExpand && jsx(Cell, Object.assign({}, columnProps, {
|
|
121
|
+
className: classNames({
|
|
122
|
+
'collapse-control': isParentRow
|
|
123
|
+
}),
|
|
124
|
+
children: isParentRow && jsx("button", Object.assign({}, collapseButtonProps, {
|
|
125
|
+
className: classNames('collapse-btn', collapseButtonProps.className),
|
|
126
|
+
onClick: function onClick() {
|
|
127
|
+
var _a;
|
|
128
|
+
return (_a = tableContext === null || tableContext === void 0 ? void 0 : tableContext.onRowExpand) === null || _a === void 0 ? void 0 : _a.call(tableContext, !isExpanded, uniqueId);
|
|
129
|
+
},
|
|
130
|
+
children: jsx("div", {
|
|
131
|
+
className: "icon-holder",
|
|
132
|
+
children: expanded ? angleDown : angleRightIcon
|
|
133
|
+
})
|
|
134
|
+
}))
|
|
135
|
+
})), !!tableContext.onRowSelect && jsx(Cell, Object.assign({}, columnProps, {
|
|
136
|
+
className: classNames({
|
|
137
|
+
'select-control': !(hideSelect || isSubRow)
|
|
138
|
+
}),
|
|
139
|
+
children: !(hideSelect || isSubRow) && jsxs("label", {
|
|
140
|
+
className: "form-control p-0",
|
|
141
|
+
children: [jsx("input", {
|
|
142
|
+
type: "checkbox",
|
|
143
|
+
checked: checked,
|
|
144
|
+
ref: function ref(input) {
|
|
145
|
+
if (input) {
|
|
146
|
+
input.indeterminate = indeterminate && !checked;
|
|
147
|
+
}
|
|
148
|
+
},
|
|
149
|
+
name: "tb_checkbox_".concat(uniqueId),
|
|
150
|
+
id: "tb_checkbox_".concat(uniqueId),
|
|
151
|
+
onChange: function onChange(event) {
|
|
152
|
+
var _a;
|
|
153
|
+
return (_a = tableContext === null || tableContext === void 0 ? void 0 : tableContext.onRowSelect) === null || _a === void 0 ? void 0 : _a.call(tableContext, event, uniqueId);
|
|
154
|
+
}
|
|
155
|
+
}), jsx("i", {
|
|
156
|
+
className: "m-0"
|
|
157
|
+
})]
|
|
158
|
+
})
|
|
159
|
+
})), props.children]
|
|
160
|
+
}));
|
|
161
|
+
});
|
|
162
|
+
TableRow.displayName = 'TableRow';
|
|
163
|
+
|
|
164
|
+
export { TableRow };
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export { TableRow } from './TableRow.js';
|
|
2
|
+
import '../../../../../../_rollupPluginBabelHelpers.js';
|
|
3
|
+
import '../../../../../../_tslib.js';
|
|
4
|
+
import 'react/jsx-runtime';
|
|
5
|
+
import 'react';
|
|
6
|
+
import 'classnames';
|
|
7
|
+
import '../TableHeaderCell/TableHeaderCell.js';
|
|
8
|
+
import '../../table-typings.js';
|
|
9
|
+
import '../../context/TableContextProvider.js';
|
|
10
|
+
import '../TableCell/TableCell.js';
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
import { d as _toConsumableArray } from '../../../../../../_rollupPluginBabelHelpers.js';
|
|
2
|
+
import { SortDirection } from '../../table-typings.js';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* sum the total of columns or cols in a row
|
|
6
|
+
* @param colsLength the length of the columns
|
|
7
|
+
* @param useSelection add a column for selection checkboxes
|
|
8
|
+
* @param useShowActionColumn add another column for action columns
|
|
9
|
+
* @param useGroupBy add another columns for groupby
|
|
10
|
+
*/
|
|
11
|
+
function sumCols(colsLength, useSelection, useShowActionColumn, useGroupBy) {
|
|
12
|
+
var sum = colsLength;
|
|
13
|
+
if (useSelection) {
|
|
14
|
+
sum = sum + 1;
|
|
15
|
+
}
|
|
16
|
+
if (useGroupBy) {
|
|
17
|
+
sum = sum + 1;
|
|
18
|
+
}
|
|
19
|
+
if (useShowActionColumn) {
|
|
20
|
+
sum = sum + 1;
|
|
21
|
+
}
|
|
22
|
+
return sum;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* sort array of tabke rows
|
|
26
|
+
* @param items table rows array
|
|
27
|
+
* @param columnName the target column name
|
|
28
|
+
* @param sortDirection the sort direction
|
|
29
|
+
* @return Array of tableRow
|
|
30
|
+
*/
|
|
31
|
+
function sortArray() {
|
|
32
|
+
var items = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
33
|
+
var columnName = arguments.length > 1 ? arguments[1] : undefined;
|
|
34
|
+
var sortDirection = arguments.length > 2 ? arguments[2] : undefined;
|
|
35
|
+
var _a;
|
|
36
|
+
var languages = ((_a = window.navigator) === null || _a === void 0 ? void 0 : _a.languages) || ['sw', 'en'];
|
|
37
|
+
var sortedItems = _toConsumableArray(items).sort(function (firstItem, secondItem) {
|
|
38
|
+
var result = 0;
|
|
39
|
+
if (sortDirection === SortDirection.ASC) {
|
|
40
|
+
if (isNaN(secondItem[columnName]) && isNaN(firstItem[columnName])) {
|
|
41
|
+
result = String(firstItem[columnName]).localeCompare(String(secondItem[columnName]), languages, {
|
|
42
|
+
sensitivity: 'base',
|
|
43
|
+
ignorePunctuation: true
|
|
44
|
+
});
|
|
45
|
+
} else {
|
|
46
|
+
result = firstItem[columnName] - secondItem[columnName];
|
|
47
|
+
}
|
|
48
|
+
} else {
|
|
49
|
+
if (isNaN(secondItem[columnName]) && isNaN(firstItem[columnName])) {
|
|
50
|
+
result = String(secondItem[columnName]).localeCompare(String(firstItem[columnName]), languages, {
|
|
51
|
+
sensitivity: 'base',
|
|
52
|
+
ignorePunctuation: true
|
|
53
|
+
});
|
|
54
|
+
} else {
|
|
55
|
+
result = secondItem[columnName] - firstItem[columnName];
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
return result;
|
|
59
|
+
});
|
|
60
|
+
return sortedItems;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
*
|
|
64
|
+
* @param data table data
|
|
65
|
+
* @param filterColumns filter columns
|
|
66
|
+
*/
|
|
67
|
+
function filterArrayByColumns(data, filterColumns) {
|
|
68
|
+
return data.filter(function (row) {
|
|
69
|
+
return filterColumns.length === 0 || filterColumns.every(function (column) {
|
|
70
|
+
return Array.isArray(column.value) ? column.value.length === 0 || column.value.indexOf(row[column.accessor]) > -1 : row[column.accessor] === column.value;
|
|
71
|
+
});
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* search text in array of table row
|
|
76
|
+
* @param data the array of table rows
|
|
77
|
+
* @param keyword The keyword to search in the array
|
|
78
|
+
* @param searchFields the target field to search
|
|
79
|
+
*/
|
|
80
|
+
function searchTextByColumns(data, keyword, searchFields) {
|
|
81
|
+
return _toConsumableArray(data).filter(function (row) {
|
|
82
|
+
var searchText = String(keyword);
|
|
83
|
+
return searchFields === null || searchFields === void 0 ? void 0 : searchFields.some(function (searchColumn) {
|
|
84
|
+
var result = false;
|
|
85
|
+
var regEx = new RegExp(searchText, 'gi');
|
|
86
|
+
if (row[searchColumn] === null || row[searchColumn] === undefined) {
|
|
87
|
+
result = false;
|
|
88
|
+
} else if (typeof row[searchColumn] === 'string') {
|
|
89
|
+
result = row[searchColumn].search(regEx) > -1;
|
|
90
|
+
} else if (typeof row[searchColumn] === 'number') {
|
|
91
|
+
result = String(row[searchColumn]).search(regEx) !== -1;
|
|
92
|
+
}
|
|
93
|
+
return result;
|
|
94
|
+
});
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* paginate data
|
|
99
|
+
* @param data table data
|
|
100
|
+
* @param offset page size
|
|
101
|
+
* @param currentPage current page index
|
|
102
|
+
*/
|
|
103
|
+
function paginate(data, offset, currentPage) {
|
|
104
|
+
if (offset && (data === null || data === void 0 ? void 0 : data.length) > 0) {
|
|
105
|
+
var start = currentPage * offset;
|
|
106
|
+
var end = offset + start;
|
|
107
|
+
var currentPageData = data === null || data === void 0 ? void 0 : data.slice(start, end);
|
|
108
|
+
return currentPageData;
|
|
109
|
+
}
|
|
110
|
+
return data;
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* on row select
|
|
114
|
+
* @param event input event
|
|
115
|
+
* @param data rows of data
|
|
116
|
+
* @param rowUniqueAccessor row unique accessor
|
|
117
|
+
* @param rowId row id value
|
|
118
|
+
*/
|
|
119
|
+
function onRowSelect(event, data, rowUniqueAccessor, rowId) {
|
|
120
|
+
var target = event.target;
|
|
121
|
+
var isAllSelected = true;
|
|
122
|
+
var isIndeterminate = false;
|
|
123
|
+
var newData = data === null || data === void 0 ? void 0 : data.map(function (row) {
|
|
124
|
+
if (row[rowUniqueAccessor] === rowId || rowId === 'all') {
|
|
125
|
+
row.checked = target.checked;
|
|
126
|
+
}
|
|
127
|
+
isAllSelected = isAllSelected && row.checked;
|
|
128
|
+
isIndeterminate = isIndeterminate || row.checked;
|
|
129
|
+
return row;
|
|
130
|
+
});
|
|
131
|
+
return {
|
|
132
|
+
data: newData,
|
|
133
|
+
isAllSelected: !!newData && isAllSelected,
|
|
134
|
+
isIndeterminate: isIndeterminate && !isAllSelected
|
|
135
|
+
};
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
export { filterArrayByColumns, onRowSelect, paginate, searchTextByColumns, sortArray, sumCols };
|