koval-ui
Version:
React components collection with minimalistic design. Supports theming, layout, and input validation.
1 lines • 2.77 kB
Source Map (JSON)
{"version":3,"file":"ActionsTree.cjs","sources":["../../../../src/internal/Actions/ActionsTree.tsx"],"sourcesContent":["import type {FC, ComponentProps} from 'react';\nimport {useId} from 'react';\nimport classNames from 'classnames';\n\nimport {ActionButton} from './ActionButton.tsx';\nimport classes from './ActionButton.module.css';\n\nexport type Props = {\n actions?: (\n | ComponentProps<typeof ActionButton>\n | [ComponentProps<typeof ActionButton>, ComponentProps<typeof ActionButton>]\n )[];\n classNameRow?: string;\n classNameAction?: string;\n actionComponent?: FC<ComponentProps<typeof ActionButton>>;\n};\n\nexport const ActionsTree: FC<Props> = ({\n actions = [],\n classNameRow,\n classNameAction,\n actionComponent: ActionComponent = ActionButton,\n}) => {\n const id = useId();\n return actions.map((actionSlot, i) => {\n if (Array.isArray(actionSlot)) {\n const [left, right] = actionSlot;\n return (\n <div key={`${id}-${i}`} className={classNames(classes.row, classNameRow)}>\n <ActionComponent\n {...left}\n className={classNames(classes.actionButton, classNameAction)}\n />\n <ActionComponent\n {...right}\n className={classNames(classes.actionButton, classNameAction)}\n />\n </div>\n );\n } else {\n return (\n <div key={`${id}-${i}`} className={classNames(classes.row, classNameRow)}>\n <ActionComponent\n {...actionSlot}\n className={classNames(classes.actionButton, classNameAction)}\n />\n </div>\n );\n }\n });\n};\n"],"names":["ActionsTree","actions","classNameRow","classNameAction","ActionComponent","ActionButton","id","useId","actionSlot","i","left","right","classNames","classes","jsx"],"mappings":"wPAiBaA,EAAyB,CAAC,CACnC,QAAAC,EAAU,CAAC,EACX,aAAAC,EACA,gBAAAC,EACA,gBAAiBC,EAAkBC,EAAAA,YACvC,IAAM,CACF,MAAMC,EAAKC,EAAAA,MAAM,EACjB,OAAON,EAAQ,IAAI,CAACO,EAAYC,IAAM,CAC9B,GAAA,MAAM,QAAQD,CAAU,EAAG,CACrB,KAAA,CAACE,EAAMC,CAAK,EAAIH,EACtB,cACK,MAAuB,CAAA,UAAWI,EAAWC,EAAAA,QAAQ,IAAKX,CAAY,EACnE,SAAA,CAAAY,EAAA,IAACV,EAAA,CACI,GAAGM,EACJ,UAAWE,EAAWC,UAAQ,aAAcV,CAAe,CAAA,CAC/D,EACAW,EAAA,IAACV,EAAA,CACI,GAAGO,EACJ,UAAWC,EAAWC,UAAQ,aAAcV,CAAe,CAAA,CAAA,CAC/D,CAAA,EARM,GAAGG,CAAE,IAAIG,CAAC,EASpB,CAAA,KAGJ,cACK,MAAuB,CAAA,UAAWG,EAAWC,EAAQ,QAAA,IAAKX,CAAY,EACnE,SAAAY,EAAA,IAACV,EAAA,CACI,GAAGI,EACJ,UAAWI,EAAWC,UAAQ,aAAcV,CAAe,CAAA,CAHzD,CAAA,EAAA,GAAGG,CAAE,IAAIG,CAAC,EAKpB,CAER,CACH,CACL"}