UNPKG

@legion-ui-kit/react-core

Version:

To install the package into your project:

1 lines 2.03 kB
{"version":3,"file":"Tabs.helper.cjs","sources":["../../../../src/components/Tabs/Tabs.helper.ts"],"sourcesContent":["// Types\r\nimport type { JSX, ReactNode } from 'react';\r\nimport type { TTabPosition } from './Tabs.type';\r\n\r\n// Helpers\r\nimport { checkComponent } from '../../helpers';\r\n\r\n// Constants\r\nimport { TABS_CHILDREN_DISPLAY_NAME, TABS_POSITION } from './Tab.constant';\r\n\r\n// Check if the child is a valid TabList or TabPanel\r\nexport const checkTabsChildren = (child: ReactNode | JSX.Element) => {\r\n let validChild = false;\r\n TABS_CHILDREN_DISPLAY_NAME.forEach(displayName => {\r\n if (checkComponent(child, displayName)) {\r\n validChild = true;\r\n }\r\n });\r\n\r\n return validChild;\r\n};\r\n\r\n// Calculate the position of the indicator\r\nexport const getTabsIndicator = (tabsPosition: TTabPosition, tabRef: HTMLDivElement | null) => {\r\n switch (tabsPosition) {\r\n case TABS_POSITION.right: {\r\n return {\r\n top: tabRef?.offsetTop\r\n };\r\n }\r\n case TABS_POSITION.bottom: {\r\n return {\r\n left: tabRef?.offsetLeft,\r\n width: tabRef?.offsetWidth\r\n };\r\n }\r\n case TABS_POSITION.left: {\r\n return {\r\n top: tabRef?.offsetTop\r\n };\r\n }\r\n default: {\r\n return {\r\n left: tabRef?.offsetLeft,\r\n width: tabRef?.offsetWidth\r\n };\r\n }\r\n }\r\n};\r\n"],"names":["child","validChild","TABS_CHILDREN_DISPLAY_NAME","forEach","displayName","checkComponent","tabsPosition","tabRef","TABS_POSITION","right","top","offsetTop","bottom","left","offsetLeft","width","offsetWidth"],"mappings":"mHAWkCA,IAChC,IAAIC,GAAa,EAOjB,OANAC,EAAAA,2BAA2BC,QAAQC,IAC7BC,EAAAA,eAAeL,EAAOI,KACxBH,GAAa,KAIVA,4BAIuB,CAACK,EAA4BC,KAC3D,OAAQD,GACN,KAAKE,EAAAA,cAAcC,MACjB,MAAO,CACLC,IAAKH,GAAQI,WAGjB,KAAKH,EAAAA,cAAcI,OACjB,MAAO,CACLC,KAAMN,GAAQO,WACdC,MAAOR,GAAQS,aAGnB,KAAKR,EAAAA,cAAcK,KACjB,MAAO,CACLH,IAAKH,GAAQI,WAGjB,QACE,MAAO,CACLE,KAAMN,GAAQO,WACdC,MAAOR,GAAQS"}