{"version":3,"file":"@restart-DjlUrcea.js","sources":["../../node_modules/@restart/ui/esm/Button.js"],"sourcesContent":["const _excluded = [\"as\", \"disabled\"];\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport * as React from 'react';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport function isTrivialHref(href) {\n return !href || href.trim() === '#';\n}\nexport function useButtonProps({\n tagName,\n disabled,\n href,\n target,\n rel,\n role,\n onClick,\n tabIndex = 0,\n type\n}) {\n if (!tagName) {\n if (href != null || target != null || rel != null) {\n tagName = 'a';\n } else {\n tagName = 'button';\n }\n }\n const meta = {\n tagName\n };\n if (tagName === 'button') {\n return [{\n type: type || 'button',\n disabled\n }, meta];\n }\n const handleClick = event => {\n if (disabled || tagName === 'a' && isTrivialHref(href)) {\n event.preventDefault();\n }\n if (disabled) {\n event.stopPropagation();\n return;\n }\n onClick == null ? void 0 : onClick(event);\n };\n const handleKeyDown = event => {\n if (event.key === ' ') {\n event.preventDefault();\n handleClick(event);\n }\n };\n if (tagName === 'a') {\n // Ensure there's a href so Enter can trigger anchor button.\n href || (href = '#');\n if (disabled) {\n href = undefined;\n }\n }\n return [{\n role: role != null ? role : 'button',\n // explicitly undefined so that it overrides the props disabled in a spread\n // e.g. \n disabled: undefined,\n tabIndex: disabled ? undefined : tabIndex,\n href,\n target: tagName === 'a' ? target : undefined,\n 'aria-disabled': !disabled ? undefined : disabled,\n rel: tagName === 'a' ? rel : undefined,\n onClick: handleClick,\n onKeyDown: handleKeyDown\n }, meta];\n}\nconst Button = /*#__PURE__*/React.forwardRef((_ref, ref) => {\n let {\n as: asProp,\n disabled\n } = _ref,\n props = _objectWithoutPropertiesLoose(_ref, _excluded);\n const [buttonProps, {\n tagName: Component\n }] = useButtonProps(Object.assign({\n tagName: asProp,\n disabled\n }, props));\n return /*#__PURE__*/_jsx(Component, Object.assign({}, props, buttonProps, {\n ref: ref\n }));\n});\nButton.displayName = 'Button';\nexport default Button;"],"names":["_excluded","_objectWithoutPropertiesLoose","source","excluded","target","sourceKeys","key","i","isTrivialHref","href","useButtonProps","tagName","disabled","rel","role","onClick","tabIndex","type","meta","handleClick","event","handleKeyDown","Button","React.forwardRef","_ref","ref","asProp","props","buttonProps","Component","_jsx"],"mappings":"+EAAA,MAAMA,EAAY,CAAC,KAAM,UAAU,EACnC,SAASC,EAA8BC,EAAQC,EAAU,CAAE,GAAID,GAAU,KAAM,MAAO,CAAE,EAAE,IAAIE,EAAS,CAAE,EAAMC,EAAa,OAAO,KAAKH,CAAM,EAAOI,EAAKC,EAAG,IAAKA,EAAI,EAAGA,EAAIF,EAAW,OAAQE,IAAOD,EAAMD,EAAWE,CAAC,EAAO,EAAAJ,EAAS,QAAQG,CAAG,GAAK,KAAaF,EAAOE,CAAG,EAAIJ,EAAOI,CAAG,GAAK,OAAOF,CAAS,CAG5S,SAASI,EAAcC,EAAM,CAClC,MAAO,CAACA,GAAQA,EAAK,KAAI,IAAO,GAClC,CACO,SAASC,EAAe,CAC7B,QAAAC,EACA,SAAAC,EACA,KAAAH,EACA,OAAAL,EACA,IAAAS,EACA,KAAAC,EACA,QAAAC,EACA,SAAAC,EAAW,EACX,KAAAC,CACF,EAAG,CACIN,IACCF,GAAQ,MAAQL,GAAU,MAAQS,GAAO,KAC3CF,EAAU,IAEVA,EAAU,UAGd,MAAMO,EAAO,CACX,QAAAP,CACJ,EACE,GAAIA,IAAY,SACd,MAAO,CAAC,CACN,KAAMM,GAAQ,SACd,SAAAL,CACD,EAAEM,CAAI,EAET,MAAMC,EAAcC,GAAS,CAI3B,IAHIR,GAAYD,IAAY,KAAOH,EAAcC,CAAI,IACnDW,EAAM,eAAc,EAElBR,EAAU,CACZQ,EAAM,gBAAe,EACrB,MACD,CACDL,GAAW,MAAgBA,EAAQK,CAAK,CAC5C,EACQC,EAAgBD,GAAS,CACzBA,EAAM,MAAQ,MAChBA,EAAM,eAAc,EACpBD,EAAYC,CAAK,EAEvB,EACE,OAAIT,IAAY,MAEdF,IAASA,EAAO,KACZG,IACFH,EAAO,SAGJ,CAAC,CACN,KAAMK,GAAsB,SAG5B,SAAU,OACV,SAAUF,EAAW,OAAYI,EACjC,KAAAP,EACA,OAAQE,IAAY,IAAMP,EAAS,OACnC,gBAAkBQ,GAAW,OAC7B,IAAKD,IAAY,IAAME,EAAM,OAC7B,QAASM,EACT,UAAWE,CACZ,EAAEH,CAAI,CACT,CACA,MAAMI,EAAsBC,EAAgB,WAAC,CAACC,EAAMC,IAAQ,CAC1D,GAAI,CACA,GAAIC,EACJ,SAAAd,CACN,EAAQY,EACJG,EAAQ1B,EAA8BuB,EAAMxB,CAAS,EACvD,KAAM,CAAC4B,EAAa,CAClB,QAASC,CACb,CAAG,EAAInB,EAAe,OAAO,OAAO,CAChC,QAASgB,EACT,SAAAd,CACJ,EAAKe,CAAK,CAAC,EACT,OAAoBG,EAAAA,IAAKD,EAAW,OAAO,OAAO,CAAE,EAAEF,EAAOC,EAAa,CACxE,IAAKH,CACN,CAAA,CAAC,CACJ,CAAC,EACDH,EAAO,YAAc","x_google_ignoreList":[0]}