@sebgroup/green-react 3.17.0 → 3.18.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.
Files changed (399) hide show
  1. package/_rollupPluginBabelHelpers.js +410 -0
  2. package/_tslib.js +35 -0
  3. package/index.js +588 -0
  4. package/package.json +6 -7
  5. package/src/index.js +588 -0
  6. package/src/lib/accordion/accordion-item.js +75 -0
  7. package/src/lib/accordion/accordion.js +25 -0
  8. package/src/lib/accordion/index.d.ts +2 -0
  9. package/src/lib/accordion/index.js +6 -0
  10. package/src/lib/alert-ribbon/alert-ribbon.js +98 -0
  11. package/src/lib/alert-ribbon/index.d.ts +1 -0
  12. package/src/lib/alert-ribbon/index.js +9 -0
  13. package/src/lib/badge/badge.js +60 -0
  14. package/src/lib/badge/index.d.ts +1 -0
  15. package/src/lib/badge/index.js +5 -0
  16. package/src/lib/breadcrumb/breadcrumb.js +32 -0
  17. package/src/lib/breadcrumb/index.d.ts +1 -0
  18. package/src/lib/breadcrumb/index.js +4 -0
  19. package/src/lib/card/card.js +17 -0
  20. package/src/lib/card/index.d.ts +1 -0
  21. package/src/lib/card/index.js +2 -0
  22. package/src/lib/context-menu/context-menu.js +31 -0
  23. package/src/lib/context-menu/index.d.ts +1 -0
  24. package/src/lib/context-menu/index.js +6 -0
  25. package/src/lib/datepicker/datepicker.js +61 -0
  26. package/src/lib/datepicker/index.d.ts +1 -0
  27. package/src/lib/datepicker/index.js +8 -0
  28. package/src/lib/dropdown/dropdown.js +104 -0
  29. package/src/lib/dropdown/index.d.ts +1 -0
  30. package/src/lib/dropdown/index.js +10 -0
  31. package/src/lib/filter-chips/filter-chips.js +19 -0
  32. package/src/lib/filter-chips/index.d.ts +1 -0
  33. package/src/lib/filter-chips/index.js +6 -0
  34. package/src/lib/form/button/button.js +32 -0
  35. package/src/lib/form/button/index.d.ts +1 -0
  36. package/src/lib/form/button/index.js +4 -0
  37. package/src/lib/form/buttonGroup/buttonGroup.js +52 -0
  38. package/src/lib/form/buttonGroup/index.d.ts +1 -0
  39. package/src/lib/form/buttonGroup/index.js +9 -0
  40. package/src/lib/form/checkbox/checkbox.js +48 -0
  41. package/src/lib/form/checkbox/index.d.ts +1 -0
  42. package/src/lib/form/checkbox/index.js +7 -0
  43. package/src/lib/form/form.js +12 -0
  44. package/src/lib/form/formContext.js +71 -0
  45. package/src/lib/form/formItems.js +91 -0
  46. package/src/lib/form/group/group.js +35 -0
  47. package/src/lib/form/group/index.d.ts +1 -0
  48. package/src/lib/form/group/index.js +3 -0
  49. package/src/lib/form/iconButton/iconButton.js +20 -0
  50. package/src/lib/form/iconButton/index.d.ts +1 -0
  51. package/src/lib/form/iconButton/index.js +3 -0
  52. package/src/lib/form/index.js +24 -0
  53. package/src/lib/form/input/index.d.ts +1 -0
  54. package/src/lib/form/input/index.js +15 -0
  55. package/src/lib/form/input/input.js +124 -0
  56. package/src/lib/form/radioButton/index.d.ts +2 -0
  57. package/src/lib/form/radioButton/index.js +13 -0
  58. package/src/lib/form/radioButton/radioButton.js +32 -0
  59. package/src/lib/form/radioButton/radioGroup.js +105 -0
  60. package/src/lib/form/text/index.d.ts +1 -0
  61. package/src/lib/form/text/index.js +2 -0
  62. package/src/lib/form/text/text.js +11 -0
  63. package/src/lib/form/textarea/index.d.ts +1 -0
  64. package/src/lib/form/textarea/index.js +11 -0
  65. package/src/lib/form/textarea/textarea.js +80 -0
  66. package/src/lib/form/useInput.js +20 -0
  67. package/src/lib/form/validateInput.js +46 -0
  68. package/src/lib/formItem/formItem.js +145 -0
  69. package/src/lib/formItem/index.js +10 -0
  70. package/src/lib/grouped-list/grouped-list.js +19 -0
  71. package/src/lib/grouped-list/index.js +6 -0
  72. package/src/lib/icon/icons/IconAirplaneUp.js +12 -0
  73. package/src/lib/icon/icons/IconArchive.js +12 -0
  74. package/src/lib/icon/icons/IconArrow.js +12 -0
  75. package/src/lib/icon/icons/IconArrowBoxLeft.js +12 -0
  76. package/src/lib/icon/icons/IconArrowBoxRight.js +12 -0
  77. package/src/lib/icon/icons/IconArrowDown.js +12 -0
  78. package/src/lib/icon/icons/IconArrowInbox.js +12 -0
  79. package/src/lib/icon/icons/IconArrowLeft.js +12 -0
  80. package/src/lib/icon/icons/IconArrowLeftRight.js +12 -0
  81. package/src/lib/icon/icons/IconArrowOutOfBox.js +12 -0
  82. package/src/lib/icon/icons/IconArrowRight.js +12 -0
  83. package/src/lib/icon/icons/IconArrowRightCircle.js +12 -0
  84. package/src/lib/icon/icons/IconArrowRightDownCircle.js +12 -0
  85. package/src/lib/icon/icons/IconArrowRightUpCircle.js +12 -0
  86. package/src/lib/icon/icons/IconArrowRotateClockwise.js +12 -0
  87. package/src/lib/icon/icons/IconArrowRotateCounterClockwise.js +12 -0
  88. package/src/lib/icon/icons/IconArrowRotateLeftRight.js +12 -0
  89. package/src/lib/icon/icons/IconArrowRotateRightLeft.js +12 -0
  90. package/src/lib/icon/icons/IconArrowShareLeft.js +12 -0
  91. package/src/lib/icon/icons/IconArrowShareRight.js +12 -0
  92. package/src/lib/icon/icons/IconArrowUp.js +12 -0
  93. package/src/lib/icon/icons/IconArrowWallDown.js +12 -0
  94. package/src/lib/icon/icons/IconArrowWallLeft.js +12 -0
  95. package/src/lib/icon/icons/IconArrowWallRight.js +12 -0
  96. package/src/lib/icon/icons/IconArrowWallUp.js +12 -0
  97. package/src/lib/icon/icons/IconArrowsRepeat.js +12 -0
  98. package/src/lib/icon/icons/IconAt.js +12 -0
  99. package/src/lib/icon/icons/IconBack.js +12 -0
  100. package/src/lib/icon/icons/IconBag.js +12 -0
  101. package/src/lib/icon/icons/IconBank.js +12 -0
  102. package/src/lib/icon/icons/IconBanknote.js +12 -0
  103. package/src/lib/icon/icons/IconBarcode.js +12 -0
  104. package/src/lib/icon/icons/IconBarsThree.js +12 -0
  105. package/src/lib/icon/icons/IconBarsTwo.js +12 -0
  106. package/src/lib/icon/icons/IconBatteryLoading.js +12 -0
  107. package/src/lib/icon/icons/IconBell.js +12 -0
  108. package/src/lib/icon/icons/IconBlock.js +12 -0
  109. package/src/lib/icon/icons/IconBook.js +12 -0
  110. package/src/lib/icon/icons/IconBookmark.js +12 -0
  111. package/src/lib/icon/icons/IconBookmarkCheck.js +12 -0
  112. package/src/lib/icon/icons/IconBookmarkDelete.js +12 -0
  113. package/src/lib/icon/icons/IconBookmarkPlus.js +12 -0
  114. package/src/lib/icon/icons/IconBookmarkRemove.js +12 -0
  115. package/src/lib/icon/icons/IconBooks.js +12 -0
  116. package/src/lib/icon/icons/IconBrandAppStore.js +12 -0
  117. package/src/lib/icon/icons/IconBrandAppleMusic.js +12 -0
  118. package/src/lib/icon/icons/IconBrandBankid.js +12 -0
  119. package/src/lib/icon/icons/IconBrandChrome.js +12 -0
  120. package/src/lib/icon/icons/IconBrandFacebook.js +12 -0
  121. package/src/lib/icon/icons/IconBrandFigma.js +12 -0
  122. package/src/lib/icon/icons/IconBrandGithub.js +12 -0
  123. package/src/lib/icon/icons/IconBrandGreen.js +12 -0
  124. package/src/lib/icon/icons/IconBrandInstagram.js +12 -0
  125. package/src/lib/icon/icons/IconBrandLinkedin.js +12 -0
  126. package/src/lib/icon/icons/IconBrandPlayStore.js +12 -0
  127. package/src/lib/icon/icons/IconBrandRssFeed.js +12 -0
  128. package/src/lib/icon/icons/IconBrandSeb.js +12 -0
  129. package/src/lib/icon/icons/IconBrandSpotify.js +12 -0
  130. package/src/lib/icon/icons/IconBrandX.js +12 -0
  131. package/src/lib/icon/icons/IconBrush.js +12 -0
  132. package/src/lib/icon/icons/IconBubble.js +12 -0
  133. package/src/lib/icon/icons/IconBubbleAnnotation.js +12 -0
  134. package/src/lib/icon/icons/IconBubbleDots.js +12 -0
  135. package/src/lib/icon/icons/IconBubbleQuestion.js +12 -0
  136. package/src/lib/icon/icons/IconBubbleQuotes.js +12 -0
  137. package/src/lib/icon/icons/IconBubbleText.js +12 -0
  138. package/src/lib/icon/icons/IconBubbleWideAnnotation.js +12 -0
  139. package/src/lib/icon/icons/IconBubbles.js +12 -0
  140. package/src/lib/icon/icons/IconBuildings.js +12 -0
  141. package/src/lib/icon/icons/IconCainLink.js +12 -0
  142. package/src/lib/icon/icons/IconCalculator.js +12 -0
  143. package/src/lib/icon/icons/IconCalendar.js +12 -0
  144. package/src/lib/icon/icons/IconCalendarCheck.js +12 -0
  145. package/src/lib/icon/icons/IconCalenderAdd.js +12 -0
  146. package/src/lib/icon/icons/IconCall.js +12 -0
  147. package/src/lib/icon/icons/IconCar.js +12 -0
  148. package/src/lib/icon/icons/IconChargingStation.js +12 -0
  149. package/src/lib/icon/icons/IconChartOne.js +12 -0
  150. package/src/lib/icon/icons/IconChartPresentation.js +12 -0
  151. package/src/lib/icon/icons/IconChartTwo.js +12 -0
  152. package/src/lib/icon/icons/IconChecklist.js +12 -0
  153. package/src/lib/icon/icons/IconCheckmark.js +12 -0
  154. package/src/lib/icon/icons/IconChevronBottom.js +12 -0
  155. package/src/lib/icon/icons/IconChevronDoubleDown.js +12 -0
  156. package/src/lib/icon/icons/IconChevronDoubleLeft.js +12 -0
  157. package/src/lib/icon/icons/IconChevronDoubleRight.js +12 -0
  158. package/src/lib/icon/icons/IconChevronDoubleUp.js +12 -0
  159. package/src/lib/icon/icons/IconChevronGrabberVertical.js +12 -0
  160. package/src/lib/icon/icons/IconChevronLeft.js +12 -0
  161. package/src/lib/icon/icons/IconChevronRight.js +12 -0
  162. package/src/lib/icon/icons/IconChevronTop.js +12 -0
  163. package/src/lib/icon/icons/IconCircleCheck.js +12 -0
  164. package/src/lib/icon/icons/IconCircleInfo.js +12 -0
  165. package/src/lib/icon/icons/IconCircleMinus.js +12 -0
  166. package/src/lib/icon/icons/IconCirclePlaceholderOn.js +12 -0
  167. package/src/lib/icon/icons/IconCirclePlus.js +12 -0
  168. package/src/lib/icon/icons/IconCircleQuestionmark.js +12 -0
  169. package/src/lib/icon/icons/IconCircleX.js +12 -0
  170. package/src/lib/icon/icons/IconCirclesThree.js +12 -0
  171. package/src/lib/icon/icons/IconClock.js +12 -0
  172. package/src/lib/icon/icons/IconCloudUpload.js +12 -0
  173. package/src/lib/icon/icons/IconCloudySun.js +12 -0
  174. package/src/lib/icon/icons/IconCompassRound.js +12 -0
  175. package/src/lib/icon/icons/IconCreditCard.js +12 -0
  176. package/src/lib/icon/icons/IconCrossLarge.js +12 -0
  177. package/src/lib/icon/icons/IconCrossSmall.js +12 -0
  178. package/src/lib/icon/icons/IconCupHot.js +12 -0
  179. package/src/lib/icon/icons/IconDevices.js +12 -0
  180. package/src/lib/icon/icons/IconDirection.js +12 -0
  181. package/src/lib/icon/icons/IconDollar.js +12 -0
  182. package/src/lib/icon/icons/IconDotGridOneHorizontal.js +12 -0
  183. package/src/lib/icon/icons/IconDotGridOneVertical.js +12 -0
  184. package/src/lib/icon/icons/IconDotGridThree.js +12 -0
  185. package/src/lib/icon/icons/IconDotGridTwo.js +12 -0
  186. package/src/lib/icon/icons/IconEmail.js +12 -0
  187. package/src/lib/icon/icons/IconEuro.js +12 -0
  188. package/src/lib/icon/icons/IconEyeOpen.js +12 -0
  189. package/src/lib/icon/icons/IconEyeSlash.js +12 -0
  190. package/src/lib/icon/icons/IconFashion.js +12 -0
  191. package/src/lib/icon/icons/IconFastForward.js +12 -0
  192. package/src/lib/icon/icons/IconFileBend.js +12 -0
  193. package/src/lib/icon/icons/IconFileChart.js +12 -0
  194. package/src/lib/icon/icons/IconFileText.js +12 -0
  195. package/src/lib/icon/icons/IconFiles.js +12 -0
  196. package/src/lib/icon/icons/IconFilter.js +12 -0
  197. package/src/lib/icon/icons/IconFlag.js +12 -0
  198. package/src/lib/icon/icons/IconFloppyDisk.js +12 -0
  199. package/src/lib/icon/icons/IconFocus.js +12 -0
  200. package/src/lib/icon/icons/IconFocusSquare.js +12 -0
  201. package/src/lib/icon/icons/IconFolder.js +12 -0
  202. package/src/lib/icon/icons/IconFolderAddRight.js +12 -0
  203. package/src/lib/icon/icons/IconFolderPaper.js +12 -0
  204. package/src/lib/icon/icons/IconFolderUpload.js +12 -0
  205. package/src/lib/icon/icons/IconGlobus.js +12 -0
  206. package/src/lib/icon/icons/IconGraduateCap.js +12 -0
  207. package/src/lib/icon/icons/IconGroup.js +12 -0
  208. package/src/lib/icon/icons/IconGrowth.js +12 -0
  209. package/src/lib/icon/icons/IconHeadphones.js +12 -0
  210. package/src/lib/icon/icons/IconHeart.js +12 -0
  211. package/src/lib/icon/icons/IconHeartBeat.js +12 -0
  212. package/src/lib/icon/icons/IconHistory.js +12 -0
  213. package/src/lib/icon/icons/IconHomeEnergyOne.js +12 -0
  214. package/src/lib/icon/icons/IconHomeEnergyTwo.js +12 -0
  215. package/src/lib/icon/icons/IconHomeOpen.js +12 -0
  216. package/src/lib/icon/icons/IconHomeRoof.js +12 -0
  217. package/src/lib/icon/icons/IconHorizontalAlignmentBottom.js +12 -0
  218. package/src/lib/icon/icons/IconImages.js +12 -0
  219. package/src/lib/icon/icons/IconInvite.js +12 -0
  220. package/src/lib/icon/icons/IconKnifeSpoon.js +12 -0
  221. package/src/lib/icon/icons/IconLaw.js +12 -0
  222. package/src/lib/icon/icons/IconLightBulb.js +12 -0
  223. package/src/lib/icon/icons/IconLightBulbSimple.js +12 -0
  224. package/src/lib/icon/icons/IconLightning.js +12 -0
  225. package/src/lib/icon/icons/IconLineChartFour.js +12 -0
  226. package/src/lib/icon/icons/IconLineChartOne.js +12 -0
  227. package/src/lib/icon/icons/IconLineChartThree.js +12 -0
  228. package/src/lib/icon/icons/IconLineChartTwo.js +12 -0
  229. package/src/lib/icon/icons/IconLock.js +12 -0
  230. package/src/lib/icon/icons/IconMacbookAir.js +12 -0
  231. package/src/lib/icon/icons/IconMagnifyingGlass.js +12 -0
  232. package/src/lib/icon/icons/IconMaintenance.js +12 -0
  233. package/src/lib/icon/icons/IconMapPin.js +12 -0
  234. package/src/lib/icon/icons/IconMegaphone.js +12 -0
  235. package/src/lib/icon/icons/IconMinusLarge.js +12 -0
  236. package/src/lib/icon/icons/IconMinusSmall.js +12 -0
  237. package/src/lib/icon/icons/IconMoneyHand.js +12 -0
  238. package/src/lib/icon/icons/IconMoneybag.js +12 -0
  239. package/src/lib/icon/icons/IconMoon.js +12 -0
  240. package/src/lib/icon/icons/IconMute.js +12 -0
  241. package/src/lib/icon/icons/IconPageText.js +12 -0
  242. package/src/lib/icon/icons/IconPaperclip.js +12 -0
  243. package/src/lib/icon/icons/IconPause.js +12 -0
  244. package/src/lib/icon/icons/IconPencelLine.js +12 -0
  245. package/src/lib/icon/icons/IconPencilSparkle.js +12 -0
  246. package/src/lib/icon/icons/IconPencilWave.js +12 -0
  247. package/src/lib/icon/icons/IconPeople.js +12 -0
  248. package/src/lib/icon/icons/IconPeopleAdd.js +12 -0
  249. package/src/lib/icon/icons/IconPeopleAdded.js +12 -0
  250. package/src/lib/icon/icons/IconPeopleCircle.js +12 -0
  251. package/src/lib/icon/icons/IconPeopleCopy.js +12 -0
  252. package/src/lib/icon/icons/IconPeopleProfile.js +12 -0
  253. package/src/lib/icon/icons/IconPeopleRemove.js +12 -0
  254. package/src/lib/icon/icons/IconPercent.js +12 -0
  255. package/src/lib/icon/icons/IconPhone.js +12 -0
  256. package/src/lib/icon/icons/IconPhoneDynamicIsland.js +12 -0
  257. package/src/lib/icon/icons/IconPieChart.js +12 -0
  258. package/src/lib/icon/icons/IconPiggyBank.js +12 -0
  259. package/src/lib/icon/icons/IconPin.js +12 -0
  260. package/src/lib/icon/icons/IconPinch.js +12 -0
  261. package/src/lib/icon/icons/IconPlay.js +12 -0
  262. package/src/lib/icon/icons/IconPlayCircle.js +12 -0
  263. package/src/lib/icon/icons/IconPlusLarge.js +12 -0
  264. package/src/lib/icon/icons/IconPlusSmall.js +12 -0
  265. package/src/lib/icon/icons/IconPoop.js +12 -0
  266. package/src/lib/icon/icons/IconPowerPlant.js +12 -0
  267. package/src/lib/icon/icons/IconPrinter.js +12 -0
  268. package/src/lib/icon/icons/IconPush.js +12 -0
  269. package/src/lib/icon/icons/IconQrCode.js +12 -0
  270. package/src/lib/icon/icons/IconRainy.js +12 -0
  271. package/src/lib/icon/icons/IconRaisingHand.js +12 -0
  272. package/src/lib/icon/icons/IconReadingList.js +12 -0
  273. package/src/lib/icon/icons/IconReceiptBill.js +12 -0
  274. package/src/lib/icon/icons/IconReceiptionBell.js +12 -0
  275. package/src/lib/icon/icons/IconRobot.js +12 -0
  276. package/src/lib/icon/icons/IconRocket.js +12 -0
  277. package/src/lib/icon/icons/IconSchool.js +12 -0
  278. package/src/lib/icon/icons/IconScissors.js +12 -0
  279. package/src/lib/icon/icons/IconSearchMenu.js +12 -0
  280. package/src/lib/icon/icons/IconSeb.js +13 -0
  281. package/src/lib/icon/icons/IconSettingsGear.js +12 -0
  282. package/src/lib/icon/icons/IconSettingsSliderHor.js +12 -0
  283. package/src/lib/icon/icons/IconSettingsSliderThree.js +12 -0
  284. package/src/lib/icon/icons/IconSettingsSliderVer.js +12 -0
  285. package/src/lib/icon/icons/IconShare.js +12 -0
  286. package/src/lib/icon/icons/IconShoppingBag.js +12 -0
  287. package/src/lib/icon/icons/IconSmartwatch.js +12 -0
  288. package/src/lib/icon/icons/IconSolar.js +12 -0
  289. package/src/lib/icon/icons/IconSolarPanel.js +12 -0
  290. package/src/lib/icon/icons/IconSquareArrowTopRight.js +12 -0
  291. package/src/lib/icon/icons/IconSquareBehindSquare.js +12 -0
  292. package/src/lib/icon/icons/IconSquareCheck.js +12 -0
  293. package/src/lib/icon/icons/IconSquareGridCircle.js +12 -0
  294. package/src/lib/icon/icons/IconSquareInfo.js +12 -0
  295. package/src/lib/icon/icons/IconSquareMinus.js +12 -0
  296. package/src/lib/icon/icons/IconSquarePlaceholder.js +12 -0
  297. package/src/lib/icon/icons/IconSquarePlus.js +12 -0
  298. package/src/lib/icon/icons/IconSquareX.js +12 -0
  299. package/src/lib/icon/icons/IconStar.js +12 -0
  300. package/src/lib/icon/icons/IconStore.js +12 -0
  301. package/src/lib/icon/icons/IconSuitcaseWork.js +12 -0
  302. package/src/lib/icon/icons/IconSun.js +12 -0
  303. package/src/lib/icon/icons/IconTag.js +12 -0
  304. package/src/lib/icon/icons/IconTelevision.js +12 -0
  305. package/src/lib/icon/icons/IconTennis.js +12 -0
  306. package/src/lib/icon/icons/IconTextEdit.js +12 -0
  307. package/src/lib/icon/icons/IconThermostat.js +12 -0
  308. package/src/lib/icon/icons/IconThumbsDown.js +12 -0
  309. package/src/lib/icon/icons/IconThumbsUp.js +12 -0
  310. package/src/lib/icon/icons/IconTodos.js +12 -0
  311. package/src/lib/icon/icons/IconTradingViewCandles.js +12 -0
  312. package/src/lib/icon/icons/IconTrashCan.js +12 -0
  313. package/src/lib/icon/icons/IconTree.js +12 -0
  314. package/src/lib/icon/icons/IconTrendingFour.js +12 -0
  315. package/src/lib/icon/icons/IconTrendingOne.js +12 -0
  316. package/src/lib/icon/icons/IconTrendingThree.js +12 -0
  317. package/src/lib/icon/icons/IconTrendingTwo.js +12 -0
  318. package/src/lib/icon/icons/IconTriangleExclamation.js +12 -0
  319. package/src/lib/icon/icons/IconTruck.js +12 -0
  320. package/src/lib/icon/icons/IconUmbrellaSecurity.js +12 -0
  321. package/src/lib/icon/icons/IconUnlocked.js +12 -0
  322. package/src/lib/icon/icons/IconVerticalAlignmentRight.js +12 -0
  323. package/src/lib/icon/icons/IconVolumeFull.js +12 -0
  324. package/src/lib/icon/icons/IconVolumeHalf.js +12 -0
  325. package/src/lib/icon/icons/IconVolumeOff.js +12 -0
  326. package/src/lib/icon/icons/IconWallet.js +12 -0
  327. package/src/lib/icon/icons/IconWarningSign.js +12 -0
  328. package/src/lib/icon/icons/IconZap.js +12 -0
  329. package/src/lib/icon/icons/IconZoomIn.js +12 -0
  330. package/src/lib/icon/icons/IconZoomOut.js +12 -0
  331. package/src/lib/icon/icons/index.js +519 -0
  332. package/src/lib/icons/bankId.js +68 -0
  333. package/src/lib/icons/check.js +32 -0
  334. package/src/lib/icons/chevronDown.js +31 -0
  335. package/src/lib/icons/edit.js +40 -0
  336. package/src/lib/icons/index.js +11 -0
  337. package/src/lib/icons/infoCircle.js +31 -0
  338. package/src/lib/icons/square-exclamation.js +35 -0
  339. package/src/lib/icons/square-info.js +30 -0
  340. package/src/lib/icons/times.js +24 -0
  341. package/src/lib/in-page-wizard/inPageWizardStepCard.js +80 -0
  342. package/src/lib/in-page-wizard/index.js +7 -0
  343. package/src/lib/layout/flexbox/flexbox.js +48 -0
  344. package/src/lib/layout/flexbox/types.js +1 -0
  345. package/src/lib/layout/index.js +5 -0
  346. package/src/lib/link/index.d.ts +1 -0
  347. package/src/lib/link/index.js +4 -0
  348. package/src/lib/link/link.js +25 -0
  349. package/src/lib/list/index.js +5 -0
  350. package/src/lib/list/list.js +45 -0
  351. package/src/lib/list/listItem.js +28 -0
  352. package/src/lib/list/valueList.js +2 -0
  353. package/src/lib/modal/index.d.ts +1 -0
  354. package/src/lib/modal/index.js +9 -0
  355. package/src/lib/modal/modal.js +235 -0
  356. package/src/lib/navbar/index.d.ts +1 -0
  357. package/src/lib/navbar/index.js +7 -0
  358. package/src/lib/navbar/navbar.js +65 -0
  359. package/src/lib/popover/index.d.ts +1 -0
  360. package/src/lib/popover/index.js +6 -0
  361. package/src/lib/popover/popover.js +14 -0
  362. package/src/lib/segmented-control/index.d.ts +1 -0
  363. package/src/lib/segmented-control/index.js +10 -0
  364. package/src/lib/segmented-control/segmented-control.js +42 -0
  365. package/src/lib/select/index.js +12 -0
  366. package/src/lib/select/select.js +63 -0
  367. package/src/lib/slider/index.js +5 -0
  368. package/src/lib/slider/slider.js +174 -0
  369. package/src/lib/stepper/index.d.ts +1 -0
  370. package/src/lib/stepper/index.js +4 -0
  371. package/src/lib/stepper/stepper.js +82 -0
  372. package/src/lib/table/components/Table.js +38 -0
  373. package/src/lib/table/components/context/TableContextProvider.js +18 -0
  374. package/src/lib/table/components/index.js +14 -0
  375. package/src/lib/table/components/parts/TableBody/TableBody.js +41 -0
  376. package/src/lib/table/components/parts/TableBody/index.js +4 -0
  377. package/src/lib/table/components/parts/TableCell/TableCell.js +13 -0
  378. package/src/lib/table/components/parts/TableCell/index.js +4 -0
  379. package/src/lib/table/components/parts/TableHeader/TableHeader.js +23 -0
  380. package/src/lib/table/components/parts/TableHeader/index.js +4 -0
  381. package/src/lib/table/components/parts/TableHeaderCell/TableHeaderCell.js +95 -0
  382. package/src/lib/table/components/parts/TableHeaderCell/index.js +8 -0
  383. package/src/lib/table/components/parts/TableRow/TableRow.js +164 -0
  384. package/src/lib/table/components/parts/TableRow/index.js +10 -0
  385. package/src/lib/table/components/parts/helperFunctions/helperFunctions.js +138 -0
  386. package/src/lib/table/components/parts/helperFunctions/index.js +3 -0
  387. package/src/lib/table/components/table-typings.js +7 -0
  388. package/src/lib/table/index.d.ts +1 -0
  389. package/src/lib/table/index.js +14 -0
  390. package/src/lib/table/story/multiple-story-tables.js +205 -0
  391. package/src/lib/tabs/index.d.ts +1 -0
  392. package/src/lib/tabs/index.js +4 -0
  393. package/src/lib/tabs/tabs.js +77 -0
  394. package/src/types/index.js +1 -0
  395. package/src/types/props/index.js +1 -0
  396. package/valueList.js +55 -0
  397. package/README.md +0 -64
  398. package/index.esm.d.ts +0 -1
  399. 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,4 @@
1
+ export { TableBody } from './TableBody.js';
2
+ import '../../../../../../_tslib.js';
3
+ import 'react/jsx-runtime';
4
+ import 'react';
@@ -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,4 @@
1
+ export { TableCell } from './TableCell.js';
2
+ import '../../../../../../_tslib.js';
3
+ import 'react/jsx-runtime';
4
+ import 'react';
@@ -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,4 @@
1
+ export { TableHeader } from './TableHeader.js';
2
+ import '../../../../../../_tslib.js';
3
+ import 'react/jsx-runtime';
4
+ import 'react';
@@ -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 };