@legion-ui-kit/react-core
Version:
<div align="center"> <img height="108" width="116" src="https://legion.digitaltelkom.id/favicon.svg?v=4643a71fb65fa61a5f2b266b769ea7b1" /> <h1 align="center">Legion UI Kit - React Core</h1> </div>
1 lines • 5.15 kB
Source Map (JSON)
{"version":3,"file":"Stepper.cjs","sources":["../../../../src/components/Stepper/Stepper.tsx"],"sourcesContent":["// Modules\r\nimport { Children, Fragment } from 'react';\r\nimport cn from 'classnames';\r\n\r\n// Types\r\nimport type { JSX, MouseEvent } from 'react';\r\nimport type { TStepperProps } from './Stepper.type';\r\n\r\n// Styles\r\nimport styles from './styles/Stepper.module.scss';\r\n\r\n// Components\r\nimport Step from './Step';\r\n\r\n// Helpers\r\nimport { getStepProps } from './Stepper.helper';\r\nimport { checkComponent, isFunction } from '../../helpers';\r\n\r\n// Constants\r\nimport { STEP_DISPLAY_NAME, STEPPER_DEFAULT_PROPS } from './Stepper.constant';\r\n\r\nconst Stepper = (props: TStepperProps) => {\r\n const {\r\n activeStep = STEPPER_DEFAULT_PROPS.activeStep,\r\n children,\r\n className,\r\n descriptionClassName,\r\n descriptionStyle,\r\n indicatorClassName,\r\n indicatorStyle,\r\n labelClassName,\r\n labelStyle,\r\n onChange,\r\n orientation = STEPPER_DEFAULT_PROPS.orientation,\r\n stepClassName,\r\n stepStyle,\r\n textPosition = STEPPER_DEFAULT_PROPS.textPosition,\r\n titleClassName,\r\n titleStyle,\r\n ...restProps\r\n } = props;\r\n\r\n const stepperCN = cn(styles.legion_stepper, className, styles[orientation!], styles[textPosition!]);\r\n const stepCN = cn(styles.stepper_step, stepClassName);\r\n\r\n return (\r\n <div className={stepperCN} {...restProps}>\r\n {Children.toArray(children).filter(child => checkComponent(child, STEP_DISPLAY_NAME)).map((child, index, arrChildren) => {\r\n const { key, onClick, ...childProps } = (child as JSX.Element).props;\r\n const stepKey = key || `step-${index}`;\r\n const {\r\n isFirst,\r\n position,\r\n status\r\n } = getStepProps(activeStep!, arrChildren.length, index);\r\n const connectorCN = cn(styles.stepper_connector, {\r\n [styles.active]: activeStep! >= index\r\n });\r\n\r\n const handleClickStep = (e: MouseEvent<HTMLDivElement>) => {\r\n isFunction(onClick) && onClick(e);\r\n isFunction(onChange) && onChange(index);\r\n };\r\n\r\n return (\r\n <Fragment key={stepKey}>\r\n {isFirst || (\r\n <div className={connectorCN}/>\r\n )}\r\n <Step\r\n {...childProps}\r\n className={stepCN}\r\n style={stepStyle}\r\n descriptionClassName={descriptionClassName}\r\n descriptionStyle={descriptionStyle}\r\n indicatorClassName={indicatorClassName}\r\n indicatorStyle={indicatorStyle}\r\n labelClassName={labelClassName}\r\n labelStyle={labelStyle}\r\n titleClassName={titleClassName}\r\n titleStyle={titleStyle}\r\n status={status}\r\n textPosition={textPosition}\r\n position={position}\r\n onClick={handleClickStep}\r\n orientation={orientation}\r\n />\r\n </Fragment>\r\n );\r\n })}\r\n </div>\r\n );\r\n};\r\n\r\nStepper.displayName = 'Stepper';\r\nexport default Stepper;\r\n"],"names":["Stepper","props","activeStep","STEPPER_DEFAULT_PROPS","children","className","descriptionClassName","descriptionStyle","indicatorClassName","indicatorStyle","labelClassName","labelStyle","onChange","orientation","stepClassName","stepStyle","textPosition","titleClassName","titleStyle","restProps","stepperCN","cn","styles","legion_stepper","stepCN","stepper_step","_jsx","Children","toArray","filter","child","checkComponent","STEP_DISPLAY_NAME","map","index","arrChildren","key","onClick","childProps","stepKey","isFirst","position","status","getStepProps","length","connectorCN","stepper_connector","active","_jsxs","Fragment","Step","style","e","isFunction","displayName"],"mappings":"+aAqBA,MAAMA,EAAWC,IACf,MAAMC,WACJA,EAAaC,wBAAsBD,WAAUE,SAC7CA,EAAQC,UACRA,EAASC,qBACTA,EAAoBC,iBACpBA,EAAgBC,mBAChBA,EAAkBC,eAClBA,EAAcC,eACdA,EAAcC,WACdA,EAAUC,SACVA,EAAQC,YACRA,EAAcV,wBAAsBU,YAAWC,cAC/CA,EAAaC,UACbA,EAASC,aACTA,EAAeb,wBAAsBa,aAAYC,eACjDA,EAAcC,WACdA,KACGC,GACDlB,EAEEmB,EAAYC,EAAAA,QAAGC,EAAAA,QAAOC,eAAgBlB,EAAWiB,EAAAA,QAAOT,GAAeS,UAAON,IAC9EQ,EAASH,EAAAA,QAAGC,UAAOG,aAAcX,GAEvC,OACEY,EAAAA,IAAA,MAAA,CAAKrB,UAAWe,KAAeD,EAASf,SACrCuB,WAASC,QAAQxB,GAAUyB,OAAOC,GAASC,iBAAeD,EAAOE,EAAAA,oBAAoBC,IAAI,CAACH,EAAOI,EAAOC,KACvG,MAAMC,IAAEA,EAAGC,QAAEA,KAAYC,GAAgBR,EAAsB7B,MACzDsC,EAAUH,GAAO,QAAQF,KACzBM,QACJA,EAAOC,SACPA,EAAQC,OACRA,GACEC,EAAAA,aAAazC,EAAaiC,EAAYS,OAAQV,GAC5CW,EAAcxB,EAAAA,QAAGC,EAAAA,QAAOwB,kBAAmB,CAC/C,CAACxB,EAAAA,QAAOyB,QAAS7C,GAAegC,IAQlC,OACEc,OAACC,EAAAA,SAAQ,CAAA7C,SAAA,CACNoC,GACCd,EAAAA,IAAA,MAAA,CAAKrB,UAAWwC,IAElBnB,MAACwB,EAAAA,YACKZ,EACJjC,UAAWmB,EACX2B,MAAOpC,EACPT,qBAAsBA,EACtBC,iBAAkBA,EAClBC,mBAAoBA,EACpBC,eAAgBA,EAChBC,eAAgBA,EAChBC,WAAYA,EACZM,eAAgBA,EAChBC,WAAYA,EACZwB,OAAQA,EACR1B,aAAcA,EACdyB,SAAUA,EACVJ,QAzBmBe,IACvBC,EAAAA,WAAWhB,IAAYA,EAAQe,GAC/BC,EAAAA,WAAWzC,IAAaA,EAASsB,IAwB7BrB,YAAaA,MApBF0B,QA6BzBvC,EAAQsD,YAAc"}