@fremtind/jokul 0.57.1 → 0.57.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. package/build/build-stats.html +1 -1
  2. package/build/cjs/components/button/Button.cjs +1 -1
  3. package/build/cjs/components/button/Button.cjs.map +1 -1
  4. package/build/es/components/button/Button.js +1 -1
  5. package/build/es/components/button/Button.js.map +1 -1
  6. package/build/style.css +1 -1
  7. package/package.json +2 -2
  8. package/styles/components/button/button.css +32 -62
  9. package/styles/components/button/button.min.css +1 -1
  10. package/styles/components/button/button.scss +64 -78
  11. package/styles/components/checkbox/checkbox.css +4 -4
  12. package/styles/components/checkbox/checkbox.min.css +1 -1
  13. package/styles/components/checkbox-panel/checkbox-panel.css +2 -2
  14. package/styles/components/checkbox-panel/checkbox-panel.min.css +1 -1
  15. package/styles/components/countdown/countdown.css +2 -2
  16. package/styles/components/countdown/countdown.min.css +1 -1
  17. package/styles/components/feedback/feedback.css +2 -2
  18. package/styles/components/feedback/feedback.min.css +1 -1
  19. package/styles/components/input-group/input-group.css +2 -2
  20. package/styles/components/input-group/input-group.min.css +1 -1
  21. package/styles/components/loader/loader.css +6 -6
  22. package/styles/components/loader/loader.min.css +1 -1
  23. package/styles/components/loader/skeleton-loader.css +5 -5
  24. package/styles/components/loader/skeleton-loader.min.css +1 -1
  25. package/styles/components/message/message.css +2 -2
  26. package/styles/components/message/message.min.css +1 -1
  27. package/styles/components/progress-bar/progress-bar.css +1 -1
  28. package/styles/components/progress-bar/progress-bar.min.css +1 -1
  29. package/styles/components/radio-button/radio-button.css +2 -2
  30. package/styles/components/radio-button/radio-button.min.css +1 -1
  31. package/styles/components/radio-panel/radio-panel.css +2 -2
  32. package/styles/components/radio-panel/radio-panel.min.css +1 -1
  33. package/styles/components/system-message/system-message.css +2 -2
  34. package/styles/components/system-message/system-message.min.css +1 -1
  35. package/styles/components/toast/toast.css +4 -4
  36. package/styles/components/toast/toast.min.css +1 -1
  37. package/styles/styles.css +68 -97
  38. package/styles/styles.min.css +1 -1
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),t=require("../../../clsx-E3yX_9sL.cjs"),o=require("react"),r=require("../../hooks/useAriaLiveRegion/useAriaLiveRegion.cjs"),n=require("../loader/Loader.cjs"),s=o.forwardRef((function(s,i){const{as:a="button",children:l,className:c,density:u,onTouchStart:d,loader:h,icon:x,iconPosition:y="left",iconLeft:j,iconRight:g,variant:b="secondary",...p}=s,v=a;"production"!==process.env.NODE_ENV&&0===o.Children.count(l)&&!s["aria-label"]&&!s["aria-labelledby"]&&!s.title&&console.warn("Når du lager en Button uten synlig tekst må du huske å gi den et navn med enten aria-label, aria-labelledby eller title");const m=o.useCallback((e=>{d&&d(e);const t=e.target;if(t&&!t.disabled&&e.targetTouches.length){const o=e.targetTouches[0].clientX-t.getBoundingClientRect().x,r=e.targetTouches[0].clientY-t.getBoundingClientRect().y;t.style.setProperty("--jkl-touch-xcoord",o.toPrecision(4)+"px"),t.style.setProperty("--jkl-touch-ycoord",r.toPrecision(4)+"px"),t.classList.add("jkl-button--pressed"),setTimeout((()=>{t.classList.remove("jkl-button--pressed"),t.style.removeProperty("--jkl-touch-xcoord"),t.style.removeProperty("--jkl-touch-ycoord")}),400)}}),[d]),k=r.useAriaLiveRegion(null==h?void 0:h.showLoader),f=!!l&&!(null==h||!h.showLoader);return e.jsxs(v,{...k,"data-loading":f,"data-density":u,className:t.clsx("jkl-button","jkl-button--"+b,c),disabled:"button"===a?null==h?void 0:h.showLoader:void 0,onTouchStart:m,...p,ref:i,children:[e.jsxs("div",{className:"jkl-button__label",children:[j&&j,x&&"left"===y&&x,l&&e.jsx("span",{className:"jkl-button__text",children:l}),g&&g,x&&"right"===y&&x]}),l&&e.jsx(n.Loader,{className:"jkl-button__loader",variant:"medium",textDescription:(null==h?void 0:h.textDescription)||"Vennligst vent","aria-hidden":!(null!=h&&h.showLoader)})]})}));exports.Button=s,exports.GhostButton=function(t){const o={...t,variant:"ghost"};return e.jsx(s,{...o})},exports.PrimaryButton=function(t){const o={...t,variant:"primary"};return e.jsx(s,{...o})},exports.SecondaryButton=function(t){const o={...t,variant:"secondary"};return e.jsx(s,{...o})},exports.TertiaryButton=function(t){const o={...t,variant:"tertiary"};return e.jsx(s,{...o})};
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("react/jsx-runtime"),e=require("../../../clsx-E3yX_9sL.cjs"),o=require("react"),n=require("../../hooks/useAriaLiveRegion/useAriaLiveRegion.cjs"),r=require("../loader/Loader.cjs"),s=o.forwardRef((function(s,i){const{as:a="button",children:l,className:c,density:u,onTouchStart:d,onAnimationEnd:x,loader:h,icon:j,iconPosition:y="left",iconLeft:g,iconRight:b,variant:p="secondary",...v}=s,m=a;"production"!==process.env.NODE_ENV&&0===o.Children.count(l)&&!s["aria-label"]&&!s["aria-labelledby"]&&!s.title&&console.warn("Når du lager en Button uten synlig tekst må du huske å gi den et navn med enten aria-label, aria-labelledby eller title");const k=o.useCallback((t=>{const e=t.target;if(e&&!e.disabled&&t.targetTouches.length){const o=t.targetTouches[0].clientX-e.getBoundingClientRect().x,n=t.targetTouches[0].clientY-e.getBoundingClientRect().y;e.style.setProperty("--jkl-touch-xcoord",o.toFixed(1)+"px"),e.style.setProperty("--jkl-touch-ycoord",n.toFixed(1)+"px"),e.classList.add("jkl-button--pressed")}}),[]),f=n.useAriaLiveRegion(null==h?void 0:h.showLoader),L=!!l&&!(null==h||!h.showLoader);return t.jsxs(m,{...f,"data-loading":L,"data-density":u,className:e.clsx("jkl-button","jkl-button--"+p,c),disabled:"button"===a?null==h?void 0:h.showLoader:void 0,onTouchStart:t=>{null==d||d(t),k(t)},onAnimationEnd:t=>{null==x||x(t),(t=>{t.classList.contains("jkl-button--pressed")&&(t.classList.remove("jkl-button--pressed"),t.style.removeProperty("--jkl-touch-xcoord"),t.style.removeProperty("--jkl-touch-ycoord"))})(t.target)},...v,ref:i,children:[t.jsxs("div",{className:"jkl-button__label",children:[g&&g,j&&"left"===y&&j,l&&t.jsx("span",{className:"jkl-button__text",children:l}),b&&b,j&&"right"===y&&j]}),l&&t.jsx(r.Loader,{className:"jkl-button__loader",variant:"medium",textDescription:(null==h?void 0:h.textDescription)||"Vennligst vent","aria-hidden":!(null!=h&&h.showLoader)})]})}));exports.Button=s,exports.GhostButton=function(e){const o={...e,variant:"ghost"};return t.jsx(s,{...o})},exports.PrimaryButton=function(e){const o={...e,variant:"primary"};return t.jsx(s,{...o})},exports.SecondaryButton=function(e){const o={...e,variant:"secondary"};return t.jsx(s,{...o})},exports.TertiaryButton=function(e){const o={...e,variant:"tertiary"};return t.jsx(s,{...o})};
2
2
  //# sourceMappingURL=Button.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"Button.cjs","sources":["../../../../src/components/button/Button.tsx"],"sourcesContent":["import cn from \"clsx\";\nimport React, {\n ButtonHTMLAttributes,\n type TouchEvent,\n useCallback,\n} from \"react\";\nimport { useAriaLiveRegion } from \"../../hooks/useAriaLiveRegion/useAriaLiveRegion.js\";\nimport { PolymorphicRef } from \"../../utilities/polymorphism/polymorphism.js\";\nimport { Loader } from \"../loader/Loader.js\";\nimport { ButtonComponent, ButtonProps } from \"./types.js\";\n\nexport const Button = React.forwardRef(function Button<\n ElementType extends React.ElementType = \"button\",\n>(props: ButtonProps<ElementType>, ref?: PolymorphicRef<ElementType>) {\n const {\n as = \"button\",\n children,\n className,\n density,\n onTouchStart,\n loader,\n icon,\n iconPosition = \"left\",\n iconLeft,\n iconRight,\n variant = \"secondary\",\n ...rest\n } = props;\n\n const Component = as;\n\n if (\n process.env.NODE_ENV !== \"production\" &&\n React.Children.count(children) === 0 &&\n !props[\"aria-label\"] &&\n !props[\"aria-labelledby\"] &&\n !props.title\n ) {\n console.warn(\n \"Når du lager en Button uten synlig tekst må du huske å gi den et navn med enten aria-label, aria-labelledby eller title\",\n );\n }\n\n const handleTouch = useCallback(\n (event: TouchEvent<HTMLButtonElement>) => {\n onTouchStart && onTouchStart(event);\n\n const target = event.target as HTMLButtonElement;\n if (target && !target.disabled && event.targetTouches.length) {\n const Xcoord =\n event.targetTouches[0].clientX -\n target.getBoundingClientRect().x;\n const Ycoord =\n event.targetTouches[0].clientY -\n target.getBoundingClientRect().y;\n target.style.setProperty(\n \"--jkl-touch-xcoord\",\n Xcoord.toPrecision(4) + \"px\",\n );\n target.style.setProperty(\n \"--jkl-touch-ycoord\",\n Ycoord.toPrecision(4) + \"px\",\n );\n target.classList.add(\"jkl-button--pressed\");\n\n setTimeout(() => {\n target.classList.remove(\"jkl-button--pressed\");\n target.style.removeProperty(\"--jkl-touch-xcoord\");\n target.style.removeProperty(\"--jkl-touch-ycoord\");\n }, 400);\n }\n },\n [onTouchStart],\n );\n\n const ariaLive = useAriaLiveRegion(loader?.showLoader);\n const showLoader = Boolean(children) && Boolean(loader?.showLoader);\n\n return (\n <Component\n {...ariaLive}\n data-loading={showLoader}\n data-density={density}\n className={cn(\"jkl-button\", \"jkl-button--\" + variant, className)}\n disabled={as === \"button\" ? loader?.showLoader : undefined}\n onTouchStart={handleTouch}\n {...rest}\n ref={ref}\n >\n <div className=\"jkl-button__label\">\n {iconLeft && iconLeft}\n {icon && iconPosition === \"left\" && icon}\n {children && (\n <span className=\"jkl-button__text\">{children}</span>\n )}\n {iconRight && iconRight}\n {icon && iconPosition === \"right\" && icon}\n </div>\n\n {children && (\n <Loader\n className=\"jkl-button__loader\"\n variant=\"medium\"\n textDescription={\n loader?.textDescription || \"Vennligst vent\"\n }\n aria-hidden={!loader?.showLoader}\n />\n )}\n </Component>\n );\n}) as ButtonComponent;\n\nexport function PrimaryButton<ElementType extends React.ElementType = \"button\">(\n props: Omit<ButtonProps<ElementType>, \"variant\" | \"onClick\" | \"as\"> &\n Pick<ButtonHTMLAttributes<HTMLButtonElement>, \"onClick\">,\n) {\n const buttonProps = {\n ...props,\n variant: \"primary\",\n } as ButtonProps<ElementType>;\n return <Button {...buttonProps} />;\n}\n\nexport function SecondaryButton<\n ElementType extends React.ElementType = \"button\",\n>(\n props: Omit<ButtonProps<ElementType>, \"variant\" | \"onClick\" | \"as\"> &\n Pick<ButtonHTMLAttributes<HTMLButtonElement>, \"onClick\">,\n) {\n const buttonProps = {\n ...props,\n variant: \"secondary\",\n } as ButtonProps<ElementType>;\n return <Button {...buttonProps} />;\n}\n\nexport function TertiaryButton<\n ElementType extends React.ElementType = \"button\",\n>(\n props: Omit<ButtonProps<ElementType>, \"variant\" | \"onClick\" | \"as\"> &\n Pick<ButtonHTMLAttributes<HTMLButtonElement>, \"onClick\">,\n) {\n const buttonProps = {\n ...props,\n variant: \"tertiary\",\n } as ButtonProps<ElementType>;\n return <Button {...buttonProps} />;\n}\n\nexport function GhostButton<ElementType extends React.ElementType = \"button\">(\n props: Omit<ButtonProps<ElementType>, \"variant\" | \"loader\">,\n) {\n const buttonProps = {\n ...props,\n variant: \"ghost\",\n } as ButtonProps<ElementType>;\n return <Button {...buttonProps} />;\n}\n"],"names":["Button","React","forwardRef","props","ref","as","children","className","density","onTouchStart","loader","icon","iconPosition","iconLeft","iconRight","variant","rest","Component","process","env","NODE_ENV","Children","count","title","console","warn","handleTouch","useCallback","event","target","disabled","targetTouches","length","Xcoord","clientX","getBoundingClientRect","x","Ycoord","clientY","y","style","setProperty","toPrecision","classList","add","setTimeout","remove","removeProperty","ariaLive","useAriaLiveRegion","showLoader","jsxs","cn","jsx","Loader","textDescription","buttonProps"],"mappings":"mRAWaA,EAASC,EAAMC,YAAW,SAErCC,EAAiCC,GACzB,MACFC,GAAAA,EAAK,SACLC,SAAAA,EACAC,UAAAA,EACAC,QAAAA,EACAC,aAAAA,EACAC,OAAAA,EACAC,KAAAA,EACAC,aAAAA,EAAe,OACfC,SAAAA,EACAC,UAAAA,EACAC,QAAAA,EAAU,eACPC,GACHb,EAEEc,EAAYZ,EAGW,eAAzBa,QAAQC,IAAIC,UACuB,IAAnCnB,EAAMoB,SAASC,MAAMhB,KACpBH,EAAM,gBACNA,EAAM,qBACNA,EAAMoB,OAECC,QAAAC,KACJ,2HAIR,MAAMC,EAAcC,EAAAA,aACfC,IACGnB,GAAgBA,EAAamB,GAE7B,MAAMC,EAASD,EAAMC,OACrB,GAAIA,IAAWA,EAAOC,UAAYF,EAAMG,cAAcC,OAAQ,CACpD,MAAAC,EACFL,EAAMG,cAAc,GAAGG,QACvBL,EAAOM,wBAAwBC,EAC7BC,EACFT,EAAMG,cAAc,GAAGO,QACvBT,EAAOM,wBAAwBI,EACnCV,EAAOW,MAAMC,YACT,qBACAR,EAAOS,YAAY,GAAK,MAE5Bb,EAAOW,MAAMC,YACT,qBACAJ,EAAOK,YAAY,GAAK,MAErBb,EAAAc,UAAUC,IAAI,uBAErBC,YAAW,KACAhB,EAAAc,UAAUG,OAAO,uBACjBjB,EAAAW,MAAMO,eAAe,sBACrBlB,EAAAW,MAAMO,eAAe,qBAAoB,GACjD,IACP,IAEJ,CAACtC,IAGCuC,EAAWC,EAAAA,kBAAkB,MAAAvC,OAAA,EAAAA,EAAQwC,YACrCA,IAAqB5C,KAAqB,MAAAI,IAAAA,EAAQwC,YAGpD,OAAAC,EAAAA,KAAClC,EAAA,IACO+B,EACJ,eAAcE,EACd,eAAc1C,EACdD,UAAW6C,EAAAA,KAAG,aAAc,eAAiBrC,EAASR,GACtDuB,SAAiB,WAAPzB,EAAkB,MAAAK,OAAA,EAAAA,EAAQwC,gBAAa,EACjDzC,aAAciB,KACVV,EACJZ,IAAAA,EAEAE,SAAA,CAAC6C,EAAAA,KAAA,MAAA,CAAI5C,UAAU,oBACVD,SAAA,CAAYO,GAAAA,EACZF,GAAyB,SAAjBC,GAA2BD,EACnCL,GACG+C,EAAAA,IAAC,OAAK,CAAA9C,UAAU,mBAAoBD,SAAAA,IAEvCQ,GAAaA,EACbH,GAAyB,UAAjBC,GAA4BD,KAGxCL,GACG+C,EAAAA,IAACC,EAAAA,OAAA,CACG/C,UAAU,qBACVQ,QAAQ,SACRwC,iBACI,MAAA7C,OAAAA,EAAAA,EAAQ6C,kBAAmB,iBAE/B,gBAAc,MAAA7C,GAAAA,EAAQwC,gBAK1C,yCAuCO,SACH/C,GAEA,MAAMqD,EAAc,IACbrD,EACHY,QAAS,SAEN,OAAAsC,EAAAA,IAACrD,EAAQ,IAAGwD,GACvB,wBA7CO,SACHrD,GAGA,MAAMqD,EAAc,IACbrD,EACHY,QAAS,WAEN,OAAAsC,EAAAA,IAACrD,EAAQ,IAAGwD,GACvB,0BAEO,SAGHrD,GAGA,MAAMqD,EAAc,IACbrD,EACHY,QAAS,aAEN,OAAAsC,EAAAA,IAACrD,EAAQ,IAAGwD,GACvB,yBAEO,SAGHrD,GAGA,MAAMqD,EAAc,IACbrD,EACHY,QAAS,YAEN,OAAAsC,EAAAA,IAACrD,EAAQ,IAAGwD,GACvB"}
1
+ {"version":3,"file":"Button.cjs","sources":["../../../../src/components/button/Button.tsx"],"sourcesContent":["import cn from \"clsx\";\nimport React, {\n type ButtonHTMLAttributes,\n type TouchEvent,\n useCallback,\n} from \"react\";\nimport { useAriaLiveRegion } from \"../../hooks/useAriaLiveRegion/useAriaLiveRegion.js\";\nimport { PolymorphicRef } from \"../../utilities/polymorphism/polymorphism.js\";\nimport { Loader } from \"../loader/Loader.js\";\nimport { ButtonComponent, ButtonProps } from \"./types.js\";\n\nexport const Button = React.forwardRef(function Button<\n ElementType extends React.ElementType = \"button\",\n>(props: ButtonProps<ElementType>, ref?: PolymorphicRef<ElementType>) {\n const {\n as = \"button\",\n children,\n className,\n density,\n onTouchStart,\n onAnimationEnd,\n loader,\n icon,\n iconPosition = \"left\",\n iconLeft,\n iconRight,\n variant = \"secondary\",\n ...rest\n } = props;\n\n const Component = as;\n\n if (\n process.env.NODE_ENV !== \"production\" &&\n React.Children.count(children) === 0 &&\n !props[\"aria-label\"] &&\n !props[\"aria-labelledby\"] &&\n !props.title\n ) {\n console.warn(\n \"Når du lager en Button uten synlig tekst må du huske å gi den et navn med enten aria-label, aria-labelledby eller title\",\n );\n }\n\n const removeButtonAnimation = (element: HTMLElement) => {\n if (element.classList.contains(\"jkl-button--pressed\")) {\n element.classList.remove(\"jkl-button--pressed\");\n element.style.removeProperty(\"--jkl-touch-xcoord\");\n element.style.removeProperty(\"--jkl-touch-ycoord\");\n }\n };\n\n const handleTouch = useCallback((event: TouchEvent<HTMLButtonElement>) => {\n const target = event.target as HTMLButtonElement;\n\n if (target && !target.disabled && event.targetTouches.length) {\n const Xcoord =\n event.targetTouches[0].clientX -\n target.getBoundingClientRect().x;\n const Ycoord =\n event.targetTouches[0].clientY -\n target.getBoundingClientRect().y;\n target.style.setProperty(\n \"--jkl-touch-xcoord\",\n Xcoord.toFixed(1) + \"px\",\n );\n target.style.setProperty(\n \"--jkl-touch-ycoord\",\n Ycoord.toFixed(1) + \"px\",\n );\n target.classList.add(\"jkl-button--pressed\");\n }\n }, []);\n\n const ariaLive = useAriaLiveRegion(loader?.showLoader);\n const showLoader = Boolean(children) && Boolean(loader?.showLoader);\n\n return (\n <Component\n {...ariaLive}\n data-loading={showLoader}\n data-density={density}\n className={cn(\"jkl-button\", \"jkl-button--\" + variant, className)}\n disabled={as === \"button\" ? loader?.showLoader : undefined}\n onTouchStart={(event) => {\n onTouchStart?.(event);\n handleTouch(event);\n }}\n onAnimationEnd={(event) => {\n onAnimationEnd?.(event);\n removeButtonAnimation(event.target as HTMLElement);\n }}\n {...rest}\n ref={ref}\n >\n <div className=\"jkl-button__label\">\n {iconLeft && iconLeft}\n {icon && iconPosition === \"left\" && icon}\n {children && (\n <span className=\"jkl-button__text\">{children}</span>\n )}\n {iconRight && iconRight}\n {icon && iconPosition === \"right\" && icon}\n </div>\n\n {children && (\n <Loader\n className=\"jkl-button__loader\"\n variant=\"medium\"\n textDescription={\n loader?.textDescription || \"Vennligst vent\"\n }\n aria-hidden={!loader?.showLoader}\n />\n )}\n </Component>\n );\n}) as ButtonComponent;\n\nexport function PrimaryButton<ElementType extends React.ElementType = \"button\">(\n props: Omit<ButtonProps<ElementType>, \"variant\" | \"onClick\" | \"as\"> &\n Pick<ButtonHTMLAttributes<HTMLButtonElement>, \"onClick\">,\n) {\n const buttonProps = {\n ...props,\n variant: \"primary\",\n } as ButtonProps<ElementType>;\n return <Button {...buttonProps} />;\n}\n\nexport function SecondaryButton<\n ElementType extends React.ElementType = \"button\",\n>(\n props: Omit<ButtonProps<ElementType>, \"variant\" | \"onClick\" | \"as\"> &\n Pick<ButtonHTMLAttributes<HTMLButtonElement>, \"onClick\">,\n) {\n const buttonProps = {\n ...props,\n variant: \"secondary\",\n } as ButtonProps<ElementType>;\n return <Button {...buttonProps} />;\n}\n\nexport function TertiaryButton<\n ElementType extends React.ElementType = \"button\",\n>(\n props: Omit<ButtonProps<ElementType>, \"variant\" | \"onClick\" | \"as\"> &\n Pick<ButtonHTMLAttributes<HTMLButtonElement>, \"onClick\">,\n) {\n const buttonProps = {\n ...props,\n variant: \"tertiary\",\n } as ButtonProps<ElementType>;\n return <Button {...buttonProps} />;\n}\n\nexport function GhostButton<ElementType extends React.ElementType = \"button\">(\n props: Omit<ButtonProps<ElementType>, \"variant\" | \"loader\">,\n) {\n const buttonProps = {\n ...props,\n variant: \"ghost\",\n } as ButtonProps<ElementType>;\n return <Button {...buttonProps} />;\n}\n"],"names":["Button","React","forwardRef","props","ref","as","children","className","density","onTouchStart","onAnimationEnd","loader","icon","iconPosition","iconLeft","iconRight","variant","rest","Component","process","env","NODE_ENV","Children","count","title","console","warn","handleTouch","useCallback","event","target","disabled","targetTouches","length","Xcoord","clientX","getBoundingClientRect","x","Ycoord","clientY","y","style","setProperty","toFixed","classList","add","ariaLive","useAriaLiveRegion","showLoader","jsxs","cn","element","contains","remove","removeProperty","removeButtonAnimation","jsx","Loader","textDescription","buttonProps"],"mappings":"mRAWaA,EAASC,EAAMC,YAAW,SAErCC,EAAiCC,GACzB,MACFC,GAAAA,EAAK,SACLC,SAAAA,EACAC,UAAAA,EACAC,QAAAA,EACAC,aAAAA,EACAC,eAAAA,EACAC,OAAAA,EACAC,KAAAA,EACAC,aAAAA,EAAe,OACfC,SAAAA,EACAC,UAAAA,EACAC,QAAAA,EAAU,eACPC,GACHd,EAEEe,EAAYb,EAGW,eAAzBc,QAAQC,IAAIC,UACuB,IAAnCpB,EAAMqB,SAASC,MAAMjB,KACpBH,EAAM,gBACNA,EAAM,qBACNA,EAAMqB,OAECC,QAAAC,KACJ,2HAIF,MAQAC,EAAcC,eAAaC,IAC7B,MAAMC,EAASD,EAAMC,OAErB,GAAIA,IAAWA,EAAOC,UAAYF,EAAMG,cAAcC,OAAQ,CACpD,MAAAC,EACFL,EAAMG,cAAc,GAAGG,QACvBL,EAAOM,wBAAwBC,EAC7BC,EACFT,EAAMG,cAAc,GAAGO,QACvBT,EAAOM,wBAAwBI,EACnCV,EAAOW,MAAMC,YACT,qBACAR,EAAOS,QAAQ,GAAK,MAExBb,EAAOW,MAAMC,YACT,qBACAJ,EAAOK,QAAQ,GAAK,MAEjBb,EAAAc,UAAUC,IAAI,sBACzB,IACD,IAEGC,EAAWC,EAAAA,kBAAkB,MAAApC,OAAAA,EAAAA,EAAQqC,YACrCA,IAAqB1C,KAAqB,MAAAK,IAAAA,EAAQqC,YAGpD,OAAAC,EAAAA,KAAC/B,EAAA,IACO4B,EACJ,eAAcE,EACd,eAAcxC,EACdD,UAAW2C,EAAAA,KAAG,aAAc,eAAiBlC,EAAST,GACtDwB,SAAiB,WAAP1B,EAAkB,MAAAM,OAAA,EAAAA,EAAQqC,gBAAa,EACjDvC,aAAeoB,IACX,MAAApB,GAAAA,EAAeoB,GACfF,EAAYE,EAAK,EAErBnB,eAAiBmB,IACb,MAAAnB,GAAAA,EAAiBmB,GA7CEsB,KACvBA,EAAQP,UAAUQ,SAAS,yBACnBD,EAAAP,UAAUS,OAAO,uBACjBF,EAAAV,MAAMa,eAAe,sBACrBH,EAAAV,MAAMa,eAAe,sBAAoB,EA0C7CC,CAAsB1B,EAAMC,OAAqB,KAEjDb,EACJb,IAAAA,EAEAE,SAAA,CAAC2C,EAAAA,KAAA,MAAA,CAAI1C,UAAU,oBACVD,SAAA,CAAYQ,GAAAA,EACZF,GAAyB,SAAjBC,GAA2BD,EACnCN,GACGkD,EAAAA,IAAC,OAAK,CAAAjD,UAAU,mBAAoBD,SAAAA,IAEvCS,GAAaA,EACbH,GAAyB,UAAjBC,GAA4BD,KAGxCN,GACGkD,EAAAA,IAACC,EAAAA,OAAA,CACGlD,UAAU,qBACVS,QAAQ,SACR0C,iBACI,MAAA/C,OAAA,EAAAA,EAAQ+C,kBAAmB,iBAE/B,gBAAc,MAAA/C,GAAAA,EAAQqC,gBAK1C,yCAuCO,SACH7C,GAEA,MAAMwD,EAAc,IACbxD,EACHa,QAAS,SAEN,OAAAwC,EAAAA,IAACxD,EAAQ,IAAG2D,GACvB,wBA7CO,SACHxD,GAGA,MAAMwD,EAAc,IACbxD,EACHa,QAAS,WAEN,OAAAwC,EAAAA,IAACxD,EAAQ,IAAG2D,GACvB,0BAEO,SAGHxD,GAGA,MAAMwD,EAAc,IACbxD,EACHa,QAAS,aAEN,OAAAwC,EAAAA,IAACxD,EAAQ,IAAG2D,GACvB,yBAEO,SAGHxD,GAGA,MAAMwD,EAAc,IACbxD,EACHa,QAAS,YAEN,OAAAwC,EAAAA,IAACxD,EAAQ,IAAG2D,GACvB"}
@@ -1,2 +1,2 @@
1
- import{jsxs as t,jsx as e}from"react/jsx-runtime";import{c as o}from"../../../clsx-BeLtu-UY.js";import n,{useCallback as r}from"react";import{useAriaLiveRegion as a}from"../../hooks/useAriaLiveRegion/useAriaLiveRegion.js";import{Loader as s}from"../loader/Loader.js";const i=n.forwardRef((function(i,l){const{as:c="button",children:u,className:d,density:h,onTouchStart:m,loader:y,icon:g,iconPosition:p="left",iconLeft:v,iconRight:b,variant:f="secondary",...j}=i,k=c;"production"!==process.env.NODE_ENV&&0===n.Children.count(u)&&!i["aria-label"]&&!i["aria-labelledby"]&&!i.title&&console.warn("Når du lager en Button uten synlig tekst må du huske å gi den et navn med enten aria-label, aria-labelledby eller title");const x=r((t=>{m&&m(t);const e=t.target;if(e&&!e.disabled&&t.targetTouches.length){const o=t.targetTouches[0].clientX-e.getBoundingClientRect().x,n=t.targetTouches[0].clientY-e.getBoundingClientRect().y;e.style.setProperty("--jkl-touch-xcoord",o.toPrecision(4)+"px"),e.style.setProperty("--jkl-touch-ycoord",n.toPrecision(4)+"px"),e.classList.add("jkl-button--pressed"),setTimeout((()=>{e.classList.remove("jkl-button--pressed"),e.style.removeProperty("--jkl-touch-xcoord"),e.style.removeProperty("--jkl-touch-ycoord")}),400)}}),[m]),L=a(null==y?void 0:y.showLoader),B=!!u&&!(null==y||!y.showLoader);return t(k,{...L,"data-loading":B,"data-density":h,className:o("jkl-button","jkl-button--"+f,d),disabled:"button"===c?null==y?void 0:y.showLoader:void 0,onTouchStart:x,...j,ref:l,children:[t("div",{className:"jkl-button__label",children:[v&&v,g&&"left"===p&&g,u&&e("span",{className:"jkl-button__text",children:u}),b&&b,g&&"right"===p&&g]}),u&&e(s,{className:"jkl-button__loader",variant:"medium",textDescription:(null==y?void 0:y.textDescription)||"Vennligst vent","aria-hidden":!(null!=y&&y.showLoader)})]})}));function l(t){const o={...t,variant:"primary"};return e(i,{...o})}function c(t){const o={...t,variant:"secondary"};return e(i,{...o})}function u(t){const o={...t,variant:"tertiary"};return e(i,{...o})}function d(t){const o={...t,variant:"ghost"};return e(i,{...o})}export{i as Button,d as GhostButton,l as PrimaryButton,c as SecondaryButton,u as TertiaryButton};
1
+ import{jsxs as t,jsx as e}from"react/jsx-runtime";import{c as o}from"../../../clsx-BeLtu-UY.js";import n,{useCallback as r}from"react";import{useAriaLiveRegion as a}from"../../hooks/useAriaLiveRegion/useAriaLiveRegion.js";import{Loader as s}from"../loader/Loader.js";const i=n.forwardRef((function(i,l){const{as:c="button",children:d,className:u,density:m,onTouchStart:h,onAnimationEnd:y,loader:g,icon:p,iconPosition:b="left",iconLeft:v,iconRight:j,variant:f="secondary",...k}=i,x=c;"production"!==process.env.NODE_ENV&&0===n.Children.count(d)&&!i["aria-label"]&&!i["aria-labelledby"]&&!i.title&&console.warn("Når du lager en Button uten synlig tekst må du huske å gi den et navn med enten aria-label, aria-labelledby eller title");const L=r((t=>{const e=t.target;if(e&&!e.disabled&&t.targetTouches.length){const o=t.targetTouches[0].clientX-e.getBoundingClientRect().x,n=t.targetTouches[0].clientY-e.getBoundingClientRect().y;e.style.setProperty("--jkl-touch-xcoord",o.toFixed(1)+"px"),e.style.setProperty("--jkl-touch-ycoord",n.toFixed(1)+"px"),e.classList.add("jkl-button--pressed")}}),[]),B=a(null==g?void 0:g.showLoader),N=!!d&&!(null==g||!g.showLoader);return t(x,{...B,"data-loading":N,"data-density":m,className:o("jkl-button","jkl-button--"+f,u),disabled:"button"===c?null==g?void 0:g.showLoader:void 0,onTouchStart:t=>{null==h||h(t),L(t)},onAnimationEnd:t=>{null==y||y(t),(t=>{t.classList.contains("jkl-button--pressed")&&(t.classList.remove("jkl-button--pressed"),t.style.removeProperty("--jkl-touch-xcoord"),t.style.removeProperty("--jkl-touch-ycoord"))})(t.target)},...k,ref:l,children:[t("div",{className:"jkl-button__label",children:[v&&v,p&&"left"===b&&p,d&&e("span",{className:"jkl-button__text",children:d}),j&&j,p&&"right"===b&&p]}),d&&e(s,{className:"jkl-button__loader",variant:"medium",textDescription:(null==g?void 0:g.textDescription)||"Vennligst vent","aria-hidden":!(null!=g&&g.showLoader)})]})}));function l(t){const o={...t,variant:"primary"};return e(i,{...o})}function c(t){const o={...t,variant:"secondary"};return e(i,{...o})}function d(t){const o={...t,variant:"tertiary"};return e(i,{...o})}function u(t){const o={...t,variant:"ghost"};return e(i,{...o})}export{i as Button,u as GhostButton,l as PrimaryButton,c as SecondaryButton,d as TertiaryButton};
2
2
  //# sourceMappingURL=Button.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Button.js","sources":["../../../../src/components/button/Button.tsx"],"sourcesContent":["import cn from \"clsx\";\nimport React, {\n ButtonHTMLAttributes,\n type TouchEvent,\n useCallback,\n} from \"react\";\nimport { useAriaLiveRegion } from \"../../hooks/useAriaLiveRegion/useAriaLiveRegion.js\";\nimport { PolymorphicRef } from \"../../utilities/polymorphism/polymorphism.js\";\nimport { Loader } from \"../loader/Loader.js\";\nimport { ButtonComponent, ButtonProps } from \"./types.js\";\n\nexport const Button = React.forwardRef(function Button<\n ElementType extends React.ElementType = \"button\",\n>(props: ButtonProps<ElementType>, ref?: PolymorphicRef<ElementType>) {\n const {\n as = \"button\",\n children,\n className,\n density,\n onTouchStart,\n loader,\n icon,\n iconPosition = \"left\",\n iconLeft,\n iconRight,\n variant = \"secondary\",\n ...rest\n } = props;\n\n const Component = as;\n\n if (\n process.env.NODE_ENV !== \"production\" &&\n React.Children.count(children) === 0 &&\n !props[\"aria-label\"] &&\n !props[\"aria-labelledby\"] &&\n !props.title\n ) {\n console.warn(\n \"Når du lager en Button uten synlig tekst må du huske å gi den et navn med enten aria-label, aria-labelledby eller title\",\n );\n }\n\n const handleTouch = useCallback(\n (event: TouchEvent<HTMLButtonElement>) => {\n onTouchStart && onTouchStart(event);\n\n const target = event.target as HTMLButtonElement;\n if (target && !target.disabled && event.targetTouches.length) {\n const Xcoord =\n event.targetTouches[0].clientX -\n target.getBoundingClientRect().x;\n const Ycoord =\n event.targetTouches[0].clientY -\n target.getBoundingClientRect().y;\n target.style.setProperty(\n \"--jkl-touch-xcoord\",\n Xcoord.toPrecision(4) + \"px\",\n );\n target.style.setProperty(\n \"--jkl-touch-ycoord\",\n Ycoord.toPrecision(4) + \"px\",\n );\n target.classList.add(\"jkl-button--pressed\");\n\n setTimeout(() => {\n target.classList.remove(\"jkl-button--pressed\");\n target.style.removeProperty(\"--jkl-touch-xcoord\");\n target.style.removeProperty(\"--jkl-touch-ycoord\");\n }, 400);\n }\n },\n [onTouchStart],\n );\n\n const ariaLive = useAriaLiveRegion(loader?.showLoader);\n const showLoader = Boolean(children) && Boolean(loader?.showLoader);\n\n return (\n <Component\n {...ariaLive}\n data-loading={showLoader}\n data-density={density}\n className={cn(\"jkl-button\", \"jkl-button--\" + variant, className)}\n disabled={as === \"button\" ? loader?.showLoader : undefined}\n onTouchStart={handleTouch}\n {...rest}\n ref={ref}\n >\n <div className=\"jkl-button__label\">\n {iconLeft && iconLeft}\n {icon && iconPosition === \"left\" && icon}\n {children && (\n <span className=\"jkl-button__text\">{children}</span>\n )}\n {iconRight && iconRight}\n {icon && iconPosition === \"right\" && icon}\n </div>\n\n {children && (\n <Loader\n className=\"jkl-button__loader\"\n variant=\"medium\"\n textDescription={\n loader?.textDescription || \"Vennligst vent\"\n }\n aria-hidden={!loader?.showLoader}\n />\n )}\n </Component>\n );\n}) as ButtonComponent;\n\nexport function PrimaryButton<ElementType extends React.ElementType = \"button\">(\n props: Omit<ButtonProps<ElementType>, \"variant\" | \"onClick\" | \"as\"> &\n Pick<ButtonHTMLAttributes<HTMLButtonElement>, \"onClick\">,\n) {\n const buttonProps = {\n ...props,\n variant: \"primary\",\n } as ButtonProps<ElementType>;\n return <Button {...buttonProps} />;\n}\n\nexport function SecondaryButton<\n ElementType extends React.ElementType = \"button\",\n>(\n props: Omit<ButtonProps<ElementType>, \"variant\" | \"onClick\" | \"as\"> &\n Pick<ButtonHTMLAttributes<HTMLButtonElement>, \"onClick\">,\n) {\n const buttonProps = {\n ...props,\n variant: \"secondary\",\n } as ButtonProps<ElementType>;\n return <Button {...buttonProps} />;\n}\n\nexport function TertiaryButton<\n ElementType extends React.ElementType = \"button\",\n>(\n props: Omit<ButtonProps<ElementType>, \"variant\" | \"onClick\" | \"as\"> &\n Pick<ButtonHTMLAttributes<HTMLButtonElement>, \"onClick\">,\n) {\n const buttonProps = {\n ...props,\n variant: \"tertiary\",\n } as ButtonProps<ElementType>;\n return <Button {...buttonProps} />;\n}\n\nexport function GhostButton<ElementType extends React.ElementType = \"button\">(\n props: Omit<ButtonProps<ElementType>, \"variant\" | \"loader\">,\n) {\n const buttonProps = {\n ...props,\n variant: \"ghost\",\n } as ButtonProps<ElementType>;\n return <Button {...buttonProps} />;\n}\n"],"names":["Button","React","forwardRef","props","ref","as","children","className","density","onTouchStart","loader","icon","iconPosition","iconLeft","iconRight","variant","rest","Component","process","env","NODE_ENV","Children","count","title","console","warn","handleTouch","useCallback","event","target","disabled","targetTouches","length","Xcoord","clientX","getBoundingClientRect","x","Ycoord","clientY","y","style","setProperty","toPrecision","classList","add","setTimeout","remove","removeProperty","ariaLive","useAriaLiveRegion","showLoader","jsxs","cn","jsx","Loader","textDescription","PrimaryButton","buttonProps","SecondaryButton","TertiaryButton","GhostButton"],"mappings":"2QAWO,MAAMA,EAASC,EAAMC,YAAW,SAErCC,EAAiCC,GACzB,MACFC,GAAAA,EAAK,SACLC,SAAAA,EACAC,UAAAA,EACAC,QAAAA,EACAC,aAAAA,EACAC,OAAAA,EACAC,KAAAA,EACAC,aAAAA,EAAe,OACfC,SAAAA,EACAC,UAAAA,EACAC,QAAAA,EAAU,eACPC,GACHb,EAEEc,EAAYZ,EAGW,eAAzBa,QAAQC,IAAIC,UACuB,IAAnCnB,EAAMoB,SAASC,MAAMhB,KACpBH,EAAM,gBACNA,EAAM,qBACNA,EAAMoB,OAECC,QAAAC,KACJ,2HAIR,MAAMC,EAAcC,GACfC,IACGnB,GAAgBA,EAAamB,GAE7B,MAAMC,EAASD,EAAMC,OACrB,GAAIA,IAAWA,EAAOC,UAAYF,EAAMG,cAAcC,OAAQ,CACpD,MAAAC,EACFL,EAAMG,cAAc,GAAGG,QACvBL,EAAOM,wBAAwBC,EAC7BC,EACFT,EAAMG,cAAc,GAAGO,QACvBT,EAAOM,wBAAwBI,EACnCV,EAAOW,MAAMC,YACT,qBACAR,EAAOS,YAAY,GAAK,MAE5Bb,EAAOW,MAAMC,YACT,qBACAJ,EAAOK,YAAY,GAAK,MAErBb,EAAAc,UAAUC,IAAI,uBAErBC,YAAW,KACAhB,EAAAc,UAAUG,OAAO,uBACjBjB,EAAAW,MAAMO,eAAe,sBACrBlB,EAAAW,MAAMO,eAAe,qBAAoB,GACjD,IACP,IAEJ,CAACtC,IAGCuC,EAAWC,EAAkB,MAAAvC,SAAAA,EAAQwC,YACrCA,IAAqB5C,KAAqB,MAAAI,IAAAA,EAAQwC,YAGpD,OAAAC,EAAClC,EAAA,IACO+B,EACJ,eAAcE,EACd,eAAc1C,EACdD,UAAW6C,EAAG,aAAc,eAAiBrC,EAASR,GACtDuB,SAAiB,WAAPzB,EAAkB,MAAAK,OAAA,EAAAA,EAAQwC,gBAAa,EACjDzC,aAAciB,KACVV,EACJZ,IAAAA,EAEAE,SAAA,CAAC6C,EAAA,MAAA,CAAI5C,UAAU,oBACVD,SAAA,CAAYO,GAAAA,EACZF,GAAyB,SAAjBC,GAA2BD,EACnCL,GACG+C,EAAC,OAAK,CAAA9C,UAAU,mBAAoBD,SAAAA,IAEvCQ,GAAaA,EACbH,GAAyB,UAAjBC,GAA4BD,KAGxCL,GACG+C,EAACC,EAAA,CACG/C,UAAU,qBACVQ,QAAQ,SACRwC,iBACI,MAAA7C,OAAAA,EAAAA,EAAQ6C,kBAAmB,iBAE/B,gBAAc,MAAA7C,GAAAA,EAAQwC,gBAK1C,IAEO,SAASM,EACZrD,GAGA,MAAMsD,EAAc,IACbtD,EACHY,QAAS,WAEN,OAAAsC,EAACrD,EAAQ,IAAGyD,GACvB,CAEO,SAASC,EAGZvD,GAGA,MAAMsD,EAAc,IACbtD,EACHY,QAAS,aAEN,OAAAsC,EAACrD,EAAQ,IAAGyD,GACvB,CAEO,SAASE,EAGZxD,GAGA,MAAMsD,EAAc,IACbtD,EACHY,QAAS,YAEN,OAAAsC,EAACrD,EAAQ,IAAGyD,GACvB,CAEO,SAASG,EACZzD,GAEA,MAAMsD,EAAc,IACbtD,EACHY,QAAS,SAEN,OAAAsC,EAACrD,EAAQ,IAAGyD,GACvB"}
1
+ {"version":3,"file":"Button.js","sources":["../../../../src/components/button/Button.tsx"],"sourcesContent":["import cn from \"clsx\";\nimport React, {\n type ButtonHTMLAttributes,\n type TouchEvent,\n useCallback,\n} from \"react\";\nimport { useAriaLiveRegion } from \"../../hooks/useAriaLiveRegion/useAriaLiveRegion.js\";\nimport { PolymorphicRef } from \"../../utilities/polymorphism/polymorphism.js\";\nimport { Loader } from \"../loader/Loader.js\";\nimport { ButtonComponent, ButtonProps } from \"./types.js\";\n\nexport const Button = React.forwardRef(function Button<\n ElementType extends React.ElementType = \"button\",\n>(props: ButtonProps<ElementType>, ref?: PolymorphicRef<ElementType>) {\n const {\n as = \"button\",\n children,\n className,\n density,\n onTouchStart,\n onAnimationEnd,\n loader,\n icon,\n iconPosition = \"left\",\n iconLeft,\n iconRight,\n variant = \"secondary\",\n ...rest\n } = props;\n\n const Component = as;\n\n if (\n process.env.NODE_ENV !== \"production\" &&\n React.Children.count(children) === 0 &&\n !props[\"aria-label\"] &&\n !props[\"aria-labelledby\"] &&\n !props.title\n ) {\n console.warn(\n \"Når du lager en Button uten synlig tekst må du huske å gi den et navn med enten aria-label, aria-labelledby eller title\",\n );\n }\n\n const removeButtonAnimation = (element: HTMLElement) => {\n if (element.classList.contains(\"jkl-button--pressed\")) {\n element.classList.remove(\"jkl-button--pressed\");\n element.style.removeProperty(\"--jkl-touch-xcoord\");\n element.style.removeProperty(\"--jkl-touch-ycoord\");\n }\n };\n\n const handleTouch = useCallback((event: TouchEvent<HTMLButtonElement>) => {\n const target = event.target as HTMLButtonElement;\n\n if (target && !target.disabled && event.targetTouches.length) {\n const Xcoord =\n event.targetTouches[0].clientX -\n target.getBoundingClientRect().x;\n const Ycoord =\n event.targetTouches[0].clientY -\n target.getBoundingClientRect().y;\n target.style.setProperty(\n \"--jkl-touch-xcoord\",\n Xcoord.toFixed(1) + \"px\",\n );\n target.style.setProperty(\n \"--jkl-touch-ycoord\",\n Ycoord.toFixed(1) + \"px\",\n );\n target.classList.add(\"jkl-button--pressed\");\n }\n }, []);\n\n const ariaLive = useAriaLiveRegion(loader?.showLoader);\n const showLoader = Boolean(children) && Boolean(loader?.showLoader);\n\n return (\n <Component\n {...ariaLive}\n data-loading={showLoader}\n data-density={density}\n className={cn(\"jkl-button\", \"jkl-button--\" + variant, className)}\n disabled={as === \"button\" ? loader?.showLoader : undefined}\n onTouchStart={(event) => {\n onTouchStart?.(event);\n handleTouch(event);\n }}\n onAnimationEnd={(event) => {\n onAnimationEnd?.(event);\n removeButtonAnimation(event.target as HTMLElement);\n }}\n {...rest}\n ref={ref}\n >\n <div className=\"jkl-button__label\">\n {iconLeft && iconLeft}\n {icon && iconPosition === \"left\" && icon}\n {children && (\n <span className=\"jkl-button__text\">{children}</span>\n )}\n {iconRight && iconRight}\n {icon && iconPosition === \"right\" && icon}\n </div>\n\n {children && (\n <Loader\n className=\"jkl-button__loader\"\n variant=\"medium\"\n textDescription={\n loader?.textDescription || \"Vennligst vent\"\n }\n aria-hidden={!loader?.showLoader}\n />\n )}\n </Component>\n );\n}) as ButtonComponent;\n\nexport function PrimaryButton<ElementType extends React.ElementType = \"button\">(\n props: Omit<ButtonProps<ElementType>, \"variant\" | \"onClick\" | \"as\"> &\n Pick<ButtonHTMLAttributes<HTMLButtonElement>, \"onClick\">,\n) {\n const buttonProps = {\n ...props,\n variant: \"primary\",\n } as ButtonProps<ElementType>;\n return <Button {...buttonProps} />;\n}\n\nexport function SecondaryButton<\n ElementType extends React.ElementType = \"button\",\n>(\n props: Omit<ButtonProps<ElementType>, \"variant\" | \"onClick\" | \"as\"> &\n Pick<ButtonHTMLAttributes<HTMLButtonElement>, \"onClick\">,\n) {\n const buttonProps = {\n ...props,\n variant: \"secondary\",\n } as ButtonProps<ElementType>;\n return <Button {...buttonProps} />;\n}\n\nexport function TertiaryButton<\n ElementType extends React.ElementType = \"button\",\n>(\n props: Omit<ButtonProps<ElementType>, \"variant\" | \"onClick\" | \"as\"> &\n Pick<ButtonHTMLAttributes<HTMLButtonElement>, \"onClick\">,\n) {\n const buttonProps = {\n ...props,\n variant: \"tertiary\",\n } as ButtonProps<ElementType>;\n return <Button {...buttonProps} />;\n}\n\nexport function GhostButton<ElementType extends React.ElementType = \"button\">(\n props: Omit<ButtonProps<ElementType>, \"variant\" | \"loader\">,\n) {\n const buttonProps = {\n ...props,\n variant: \"ghost\",\n } as ButtonProps<ElementType>;\n return <Button {...buttonProps} />;\n}\n"],"names":["Button","React","forwardRef","props","ref","as","children","className","density","onTouchStart","onAnimationEnd","loader","icon","iconPosition","iconLeft","iconRight","variant","rest","Component","process","env","NODE_ENV","Children","count","title","console","warn","removeButtonAnimation","handleTouch","useCallback","event","target","disabled","targetTouches","length","Xcoord","clientX","getBoundingClientRect","x","Ycoord","clientY","y","style","setProperty","toFixed","classList","add","ariaLive","useAriaLiveRegion","showLoader","jsxs","cn","element","contains","remove","removeProperty","jsx","Loader","textDescription","PrimaryButton","buttonProps","SecondaryButton","TertiaryButton","GhostButton"],"mappings":"2QAWO,MAAMA,EAASC,EAAMC,YAAW,SAErCC,EAAiCC,GACzB,MACFC,GAAAA,EAAK,SACLC,SAAAA,EACAC,UAAAA,EACAC,QAAAA,EACAC,aAAAA,EACAC,eAAAA,EACAC,OAAAA,EACAC,KAAAA,EACAC,aAAAA,EAAe,OACfC,SAAAA,EACAC,UAAAA,EACAC,QAAAA,EAAU,eACPC,GACHd,EAEEe,EAAYb,EAGW,eAAzBc,QAAQC,IAAIC,UACuB,IAAnCpB,EAAMqB,SAASC,MAAMjB,KACpBH,EAAM,gBACNA,EAAM,qBACNA,EAAMqB,OAECC,QAAAC,KACJ,2HAIFC,MAQAC,EAAcC,GAAaC,IAC7B,MAAMC,EAASD,EAAMC,OAErB,GAAIA,IAAWA,EAAOC,UAAYF,EAAMG,cAAcC,OAAQ,CACpD,MAAAC,EACFL,EAAMG,cAAc,GAAGG,QACvBL,EAAOM,wBAAwBC,EAC7BC,EACFT,EAAMG,cAAc,GAAGO,QACvBT,EAAOM,wBAAwBI,EACnCV,EAAOW,MAAMC,YACT,qBACAR,EAAOS,QAAQ,GAAK,MAExBb,EAAOW,MAAMC,YACT,qBACAJ,EAAOK,QAAQ,GAAK,MAEjBb,EAAAc,UAAUC,IAAI,sBACzB,IACD,IAEGC,EAAWC,EAAkB,MAAArC,OAAA,EAAAA,EAAQsC,YACrCA,IAAqB3C,KAAqB,MAAAK,IAAAA,EAAQsC,YAGpD,OAAAC,EAAChC,EAAA,IACO6B,EACJ,eAAcE,EACd,eAAczC,EACdD,UAAW4C,EAAG,aAAc,eAAiBnC,EAAST,GACtDyB,SAAiB,WAAP3B,EAAkB,MAAAM,OAAA,EAAAA,EAAQsC,gBAAa,EACjDxC,aAAeqB,IACX,MAAArB,GAAAA,EAAeqB,GACfF,EAAYE,EAAK,EAErBpB,eAAiBoB,IACb,MAAApB,GAAAA,EAAiBoB,GA7CC,CAACsB,IACvBA,EAAQP,UAAUQ,SAAS,yBACnBD,EAAAP,UAAUS,OAAO,uBACjBF,EAAAV,MAAMa,eAAe,sBACrBH,EAAAV,MAAMa,eAAe,sBAAoB,EA0C7C5B,CAAsBG,EAAMC,OAAqB,KAEjDd,EACJb,IAAAA,EAEAE,SAAA,CAAC4C,EAAA,MAAA,CAAI3C,UAAU,oBACVD,SAAA,CAAYQ,GAAAA,EACZF,GAAyB,SAAjBC,GAA2BD,EACnCN,GACGkD,EAAC,OAAK,CAAAjD,UAAU,mBAAoBD,SAAAA,IAEvCS,GAAaA,EACbH,GAAyB,UAAjBC,GAA4BD,KAGxCN,GACGkD,EAACC,EAAA,CACGlD,UAAU,qBACVS,QAAQ,SACR0C,iBACI,MAAA/C,OAAAA,EAAAA,EAAQ+C,kBAAmB,iBAE/B,gBAAc,MAAA/C,GAAAA,EAAQsC,gBAK1C,IAEO,SAASU,EACZxD,GAGA,MAAMyD,EAAc,IACbzD,EACHa,QAAS,WAEN,OAAAwC,EAACxD,EAAQ,IAAG4D,GACvB,CAEO,SAASC,EAGZ1D,GAGA,MAAMyD,EAAc,IACbzD,EACHa,QAAS,aAEN,OAAAwC,EAACxD,EAAQ,IAAG4D,GACvB,CAEO,SAASE,EAGZ3D,GAGA,MAAMyD,EAAc,IACbzD,EACHa,QAAS,YAEN,OAAAwC,EAACxD,EAAQ,IAAG4D,GACvB,CAEO,SAASG,EACZ5D,GAEA,MAAMyD,EAAc,IACbzD,EACHa,QAAS,SAEN,OAAAwC,EAACxD,EAAQ,IAAG4D,GACvB"}