UNPKG

design-react-kit

Version:

Componenti React per Bootstrap 5

1 lines 2.14 kB
{"version":3,"sources":["../../src/Skiplink/SkiplinkItem.tsx"],"sourcesContent":["import React, { FC, ElementType, AnchorHTMLAttributes } from 'react';\nimport classNames from 'classnames';\n\nexport interface SkiplinkItemProps extends AnchorHTMLAttributes<HTMLAnchorElement> {\n /** Utilizzarlo in caso di utilizzo di componenti personalizzati */\n tag?: ElementType;\n /** Utilizzare il componente come elemento di uno Skiplink in modalità `nav` */\n navItem?: boolean;\n /** Classi aggiuntive da usare per il componente Skiplink */\n className?: string;\n /** Abilitare questo attributo per renderizzare lo SkipLinkItem al focus */\n focusable?: boolean;\n testId?: string;\n}\n\nexport const SkiplinkItem: FC<SkiplinkItemProps> = ({\n className,\n tag = 'a',\n focusable = true,\n navItem = false,\n testId,\n ...attributes\n}) => {\n const Tag = tag;\n const classes = classNames(className, {\n 'visually-hidden-focusable': focusable\n });\n\n // Add an extra href for focusable if the user passes an onClick rather than href prop\n const extraHref = attributes.onClick ? { href: '#' } : {};\n\n if (navItem) {\n return (\n <li className={classes}>\n <Tag {...attributes} {...extraHref} data-testid={testId} />\n </li>\n );\n } else {\n return <Tag className={classes} {...attributes} {...extraHref} data-testid={testId} />;\n }\n};\n"],"mappings":"0jBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,kBAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAA6D,sBAC7DC,EAAuB,2BAcVH,EAAsC,CAAC,CAClD,UAAAI,EACA,IAAAC,EAAM,IACN,UAAAC,EAAY,GACZ,QAAAC,EAAU,GACV,OAAAC,EACA,GAAGC,CACL,IAAM,CACJ,IAAMC,EAAML,EACNM,KAAU,EAAAC,SAAWR,EAAW,CACpC,4BAA6BE,CAC/B,CAAC,EAGKO,EAAYJ,EAAW,QAAU,CAAE,KAAM,GAAI,EAAI,CAAC,EAExD,OAAIF,EAEA,EAAAO,QAAA,cAAC,MAAG,UAAWH,GACb,EAAAG,QAAA,cAACJ,EAAA,CAAK,GAAGD,EAAa,GAAGI,EAAW,cAAaL,EAAQ,CAC3D,EAGK,EAAAM,QAAA,cAACJ,EAAA,CAAI,UAAWC,EAAU,GAAGF,EAAa,GAAGI,EAAW,cAAaL,EAAQ,CAExF","names":["SkiplinkItem_exports","__export","SkiplinkItem","__toCommonJS","import_react","import_classnames","className","tag","focusable","navItem","testId","attributes","Tag","classes","classNames","extraHref","React"]}