@fpkit/acss 2.2.0 → 3.1.0

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 (81) hide show
  1. package/libs/chunk-5RAWNUVD.js +8 -0
  2. package/libs/chunk-5RAWNUVD.js.map +1 -0
  3. package/libs/{chunk-UJAQVHWC.js → chunk-CWRNJA4P.js} +2 -2
  4. package/libs/{chunk-R7NLLZU2.cjs → chunk-DYFAUAB7.cjs} +3 -3
  5. package/libs/chunk-NWJDAHP6.cjs +17 -0
  6. package/libs/chunk-NWJDAHP6.cjs.map +1 -0
  7. package/libs/components/breadcrumbs/breadcrumb.cjs +5 -5
  8. package/libs/components/breadcrumbs/breadcrumb.d.cts +2 -2
  9. package/libs/components/breadcrumbs/breadcrumb.d.ts +2 -2
  10. package/libs/components/breadcrumbs/breadcrumb.js +2 -2
  11. package/libs/components/flexbox/flex.css +1 -0
  12. package/libs/components/flexbox/flex.css.map +1 -0
  13. package/libs/components/flexbox/flex.min.css +3 -0
  14. package/libs/components/link/link.cjs +5 -5
  15. package/libs/components/link/link.css +1 -1
  16. package/libs/components/link/link.css.map +1 -1
  17. package/libs/components/link/link.d.cts +2 -131
  18. package/libs/components/link/link.d.ts +2 -131
  19. package/libs/components/link/link.js +1 -1
  20. package/libs/components/link/link.min.css +2 -2
  21. package/libs/components/nav/nav.css +1 -1
  22. package/libs/components/nav/nav.css.map +1 -1
  23. package/libs/components/nav/nav.min.css +2 -2
  24. package/libs/hooks.cjs +3 -3
  25. package/libs/hooks.d.cts +1 -1
  26. package/libs/hooks.d.ts +1 -1
  27. package/libs/hooks.js +2 -2
  28. package/libs/index.cjs +30 -29
  29. package/libs/index.cjs.map +1 -1
  30. package/libs/index.css +1 -1
  31. package/libs/index.css.map +1 -1
  32. package/libs/index.d.cts +246 -290
  33. package/libs/index.d.ts +246 -290
  34. package/libs/index.js +15 -15
  35. package/libs/index.js.map +1 -1
  36. package/libs/link-59ad884f.d.ts +371 -0
  37. package/package.json +2 -2
  38. package/src/components/flexbox/README.mdx +996 -0
  39. package/src/components/flexbox/flex.scss +847 -0
  40. package/src/components/flexbox/flex.stories.tsx +1233 -0
  41. package/src/components/flexbox/flex.test.tsx +689 -0
  42. package/src/components/flexbox/flex.tsx +484 -0
  43. package/src/components/flexbox/flex.types.ts +224 -0
  44. package/src/components/link/link.scss +4 -10
  45. package/src/components/link/link.tsx +18 -3
  46. package/src/components/nav/nav.scss +1 -1
  47. package/src/index.scss +1 -0
  48. package/src/index.ts +19 -2
  49. package/src/patterns/page/page-header.tsx +1 -3
  50. package/src/styles/flexbox/flex.css +736 -0
  51. package/src/styles/flexbox/flex.css.map +1 -0
  52. package/src/styles/index.css +739 -9
  53. package/src/styles/index.css.map +1 -1
  54. package/src/styles/link/link.css +2 -6
  55. package/src/styles/link/link.css.map +1 -1
  56. package/src/styles/nav/nav.css +3 -3
  57. package/libs/chunk-5PJYLVFY.cjs +0 -17
  58. package/libs/chunk-5PJYLVFY.cjs.map +0 -1
  59. package/libs/chunk-NNTBIHSD.js +0 -8
  60. package/libs/chunk-NNTBIHSD.js.map +0 -1
  61. package/libs/components/alert/alert.min.min.css +0 -2
  62. package/libs/components/badge/badge.min.min.css +0 -2
  63. package/libs/components/breadcrumbs/breadcrumb.min.min.css +0 -2
  64. package/libs/components/buttons/button.min.min.css +0 -2
  65. package/libs/components/cards/card-style.min.min.css +0 -2
  66. package/libs/components/cards/card.min.min.css +0 -2
  67. package/libs/components/details/details.min.min.css +0 -2
  68. package/libs/components/dialog/dialog.min.min.css +0 -2
  69. package/libs/components/form/form.min.min.css +0 -2
  70. package/libs/components/icons/icon.min.min.css +0 -2
  71. package/libs/components/images/img.min.min.css +0 -2
  72. package/libs/components/layout/landmarks.min.min.css +0 -2
  73. package/libs/components/link/link.min.min.css +0 -2
  74. package/libs/components/list/list.min.min.css +0 -2
  75. package/libs/components/nav/nav.min.min.css +0 -2
  76. package/libs/components/progress/progress.min.min.css +0 -2
  77. package/libs/components/styles/index.min.min.css +0 -2
  78. package/libs/components/tag/tag.min.min.css +0 -2
  79. package/libs/components/text-to-speech/text-to-speech.min.min.css +0 -2
  80. /package/libs/{chunk-UJAQVHWC.js.map → chunk-CWRNJA4P.js.map} +0 -0
  81. /package/libs/{chunk-R7NLLZU2.cjs.map → chunk-DYFAUAB7.cjs.map} +0 -0
@@ -0,0 +1,8 @@
1
+ import { a as a$1 } from './chunk-HHLNOC5T.js';
2
+ import o from 'react';
3
+
4
+ var i=o.forwardRef(({href:r,target:e,rel:n,children:t,styles:c,prefetch:f=!1,btnStyle:m,onClick:d,onPointerDown:u,...l},y)=>{let h=o.useMemo(()=>{if(e==="_blank"){let s=new Set(["noopener","noreferrer"]);return f&&s.add("prefetch"),n&&n.split(/\s+/).forEach(p=>{p&&s.add(p);}),Array.from(s).join(" ")}return n},[e,n,f]);return o.createElement(a$1,{as:"a",ref:y,href:r,target:e,rel:h,styles:c,"data-btn":m,onClick:d,onPointerDown:u,...l},t)}),k=o.forwardRef(({href:r,icon:e,...n},t)=>o.createElement(i,{ref:t,href:r,...n},e)),a=o.forwardRef(({href:r,children:e,...n},t)=>o.createElement(i,{ref:t,href:r,...n},o.createElement("i",null,e)));i.displayName="Link";k.displayName="IconLink";a.displayName="LinkButton";var x=Object.assign(i,{LinkButton:a,IconLink:k}),E=x;
5
+
6
+ export { i as a, k as b, a as c, E as d };
7
+ //# sourceMappingURL=out.js.map
8
+ //# sourceMappingURL=chunk-5RAWNUVD.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/link/link.tsx"],"names":["React","Link","href","target","rel","children","styles","prefetch","btnStyle","onClick","onPointerDown","props","ref","computedRel","securityTokens","token","ui_default","IconLink","icon","LinkButton","LinkWithSubcomponents","link_default"],"mappings":"wCAAA,OAAOA,MAAW,QA+FX,IAAMC,EAAOD,EAAM,WACxB,CACE,CACE,KAAAE,EACA,OAAAC,EACA,IAAAC,EACA,SAAAC,EACA,OAAAC,EACA,SAAAC,EAAW,GACX,SAAAC,EACA,QAAAC,EACA,cAAAC,EACA,GAAGC,CACL,EACAC,IACG,CAWH,IAAMC,EAAcb,EAAM,QAAQ,IAAM,CACtC,GAAIG,IAAW,SAAU,CAEvB,IAAMW,EAAiB,IAAI,IAAI,CAAC,WAAY,YAAY,CAAC,EAGzD,OAAIP,GACFO,EAAe,IAAI,UAAU,EAI3BV,GACFA,EAAI,MAAM,KAAK,EAAE,QAASW,GAAU,CAC9BA,GAAOD,EAAe,IAAIC,CAAK,CACrC,CAAC,EAGI,MAAM,KAAKD,CAAc,EAAE,KAAK,GAAG,CAC5C,CAGA,OAAOV,CACT,EAAG,CAACD,EAAQC,EAAKG,CAAQ,CAAC,EAE1B,OACEP,EAAA,cAACgB,EAAA,CACC,GAAG,IACH,IAAKJ,EACL,KAAMV,EACN,OAAQC,EACR,IAAKU,EACL,OAAQP,EACR,WAAUE,EACV,QAASC,EACT,cAAeC,EACd,GAAGC,GAEHN,CACH,CAEJ,CACF,EAEaY,EAAWjB,EAAM,WAC5B,CAAC,CAAE,KAAAE,EAAM,KAAAgB,EAAM,GAAGP,CAAM,EAAGC,IAEvBZ,EAAA,cAACC,EAAA,CAAK,IAAKW,EAAK,KAAMV,EAAO,GAAGS,GAC7BO,CACH,CAGN,EAEaC,EAAanB,EAAM,WAC9B,CAAC,CAAE,KAAAE,EAAM,SAAAG,EAAU,GAAGM,CAAM,EAAGC,IAE3BZ,EAAA,cAACC,EAAA,CAAK,IAAKW,EAAK,KAAMV,EAAO,GAAGS,GAC9BX,EAAA,cAAC,SAAGK,CAAS,CACf,CAGN,EAEAJ,EAAK,YAAc,OACnBgB,EAAS,YAAc,WACvBE,EAAW,YAAc,aAYzB,IAAMC,EAAwB,OAAO,OAAOnB,EAAM,CAChD,WAAAkB,EACA,SAAAF,CACF,CAAC,EAEMI,EAAQD","sourcesContent":["import React from \"react\";\nimport UI from \"../ui\";\nimport type { LinkProps } from \"./link.types\";\n\n/**\n * Link - A semantic, accessible anchor component with enhanced security and styling.\n *\n * The Link component renders accessible `<a>` elements with automatic security\n * attributes for external links, customizable styling variants, and full WCAG 2.1\n * AA compliance. It supports traditional text links, button-styled links, and\n * programmatic focus management via ref forwarding.\n *\n * ## Features\n *\n * - 🔒 **Automatic Security**: External links get `rel=\"noopener noreferrer\"`\n * - ♿ **WCAG 2.1 AA Compliant**: Accessible focus indicators and semantic HTML\n * - 🎨 **Flexible Styling**: Text links, button links, and pill variants\n * - ⚡ **Performance**: Optional prefetch hints for faster navigation\n * - 🎯 **Ref Forwarding**: Direct DOM access for focus management and scroll\n * - 🧪 **Type-Safe**: Full TypeScript support with comprehensive prop types\n *\n * ## Accessibility\n *\n * - ✅ Semantic `<a>` element for proper keyboard navigation\n * - ✅ Focus indicators meet WCAG 2.4.7 (3:1 contrast ratio)\n * - ✅ Screen readers announce link purpose and destination\n * - ✅ External links include security attributes automatically\n * - ✅ Supports `aria-label` for icon-only or ambiguous links\n * - ✅ Ref forwarding enables skip-link patterns\n *\n * @example\n * // Basic internal link\n * <Link href=\"/about\">About Us</Link>\n *\n * @example\n * // External link with automatic security\n * <Link href=\"https://example.com\" target=\"_blank\">\n * Visit Example\n * </Link>\n *\n * @example\n * // Button-styled call-to-action link\n * <Link href=\"/signup\">\n * <b>Get Started</b>\n * </Link>\n *\n * @example\n * // Icon-only link with accessible label\n * <Link href=\"/settings\" aria-label=\"Open settings\">\n * <SettingsIcon aria-hidden=\"true\" />\n * </Link>\n *\n * @example\n * // Analytics tracking with onClick (includes keyboard users)\n * <Link\n * href=\"/products\"\n * onClick={(e) => trackEvent('link_click', { href: '/products' })}\n * >\n * Browse Products\n * </Link>\n *\n * @example\n * // Skip link with ref forwarding for focus management\n * const mainRef = useRef<HTMLAnchorElement>(null);\n *\n * <Link ref={mainRef} href=\"#main-content\">\n * Skip to main content\n * </Link>\n *\n * @example\n * // Custom styled link with CSS variables\n * <Link\n * href=\"/products\"\n * styles={{\n * '--link-color': '#0066cc',\n * '--link-decoration': 'underline',\n * }}\n * >\n * Browse Products\n * </Link>\n *\n * @example\n * // ✅ GOOD: Descriptive link text\n * <Link href=\"/docs/installation\">\n * Read installation guide\n * </Link>\n *\n * @example\n * // ❌ BAD: Generic link text (poor for screen readers)\n * <Link href=\"/docs/installation\">\n * Click here\n * </Link>\n *\n * @see {@link LinkProps} for complete prop documentation\n */\nexport const Link = React.forwardRef<HTMLAnchorElement, LinkProps>(\n (\n {\n href,\n target,\n rel,\n children,\n styles,\n prefetch = false,\n btnStyle,\n onClick,\n onPointerDown,\n ...props\n },\n ref\n ) => {\n /**\n * Compute the final `rel` attribute value with security defaults.\n *\n * For external links (target=\"_blank\"), we merge user-provided `rel` values\n * with security defaults `noopener noreferrer` to prevent:\n * - window.opener exploitation (noopener)\n * - Referrer header leakage (noreferrer)\n *\n * If prefetch is enabled, we also add the `prefetch` hint.\n */\n const computedRel = React.useMemo(() => {\n if (target === \"_blank\") {\n // Start with security defaults\n const securityTokens = new Set([\"noopener\", \"noreferrer\"]);\n\n // Add prefetch if enabled\n if (prefetch) {\n securityTokens.add(\"prefetch\");\n }\n\n // Merge with user-provided rel tokens (if any)\n if (rel) {\n rel.split(/\\s+/).forEach((token) => {\n if (token) securityTokens.add(token);\n });\n }\n\n return Array.from(securityTokens).join(\" \");\n }\n\n // For non-external links, use provided rel as-is\n return rel;\n }, [target, rel, prefetch]);\n\n return (\n <UI\n as=\"a\"\n ref={ref}\n href={href}\n target={target}\n rel={computedRel}\n styles={styles}\n data-btn={btnStyle}\n onClick={onClick}\n onPointerDown={onPointerDown}\n {...props}\n >\n {children}\n </UI>\n );\n }\n);\n\nexport const IconLink = React.forwardRef<HTMLAnchorElement, LinkProps>(\n ({ href, icon, ...props }, ref) => {\n return (\n <Link ref={ref} href={href} {...props}>\n {icon}\n </Link>\n );\n }\n);\n\nexport const LinkButton = React.forwardRef<HTMLAnchorElement, LinkProps>(\n ({ href, children, ...props }, ref) => {\n return (\n <Link ref={ref} href={href} {...props}>\n <i>{children}</i>\n </Link>\n );\n }\n);\n\nLink.displayName = \"Link\";\nIconLink.displayName = \"IconLink\";\nLinkButton.displayName = \"LinkButton\";\n\n// Compound component pattern - attach subcomponents to Link with proper typing\nexport interface LinkComponent\n extends React.ForwardRefExoticComponent<\n LinkProps & React.RefAttributes<HTMLAnchorElement>\n > {\n LinkButton: typeof LinkButton;\n IconLink: typeof IconLink;\n}\n\n// Attach subcomponents to Link using Object.assign for better type inference\nconst LinkWithSubcomponents = Object.assign(Link, {\n LinkButton,\n IconLink,\n});\n\nexport default LinkWithSubcomponents as LinkComponent;\n"]}
@@ -1,4 +1,4 @@
1
- import { d } from './chunk-NNTBIHSD.js';
1
+ import { d } from './chunk-5RAWNUVD.js';
2
2
  import { a } from './chunk-HHLNOC5T.js';
3
3
  import e from 'react';
4
4
 
@@ -6,4 +6,4 @@ var U=(r,t=15)=>r.length>t?`${r.slice(0,t)}...`:r;var i=e.memo(({children:r,id:t
6
6
 
7
7
  export { w as a, l as b, H as c };
8
8
  //# sourceMappingURL=out.js.map
9
- //# sourceMappingURL=chunk-UJAQVHWC.js.map
9
+ //# sourceMappingURL=chunk-CWRNJA4P.js.map
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunk5PJYLVFY_cjs = require('./chunk-5PJYLVFY.cjs');
3
+ var chunkNWJDAHP6_cjs = require('./chunk-NWJDAHP6.cjs');
4
4
  var chunkENTCUJ3A_cjs = require('./chunk-ENTCUJ3A.cjs');
5
5
  var e = require('react');
6
6
 
@@ -8,10 +8,10 @@ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
8
8
 
9
9
  var e__default = /*#__PURE__*/_interopDefault(e);
10
10
 
11
- var U=(r,t=15)=>r.length>t?`${r.slice(0,t)}...`:r;var i=e__default.default.memo(({children:r,id:t,styles:s,classes:a,...m})=>{let{renderStyles:n,defaultStyles:o,as:d,ref:I,...p}=m;return e__default.default.createElement("li",{id:t,style:s,className:a,"data-list":"unstyled inline",...p},r)});i.displayName="BreadcrumbItem";var y=e__default.default.memo(({children:r,...t})=>e__default.default.createElement(chunkENTCUJ3A_cjs.a,{as:"ol","data-list":"unstyled inline",...t},r));y.displayName="BreadcrumbList";var B=e__default.default.memo(({styles:r,id:t,classes:s,children:a,...m})=>e__default.default.createElement(chunkENTCUJ3A_cjs.a,{as:"nav",id:t,styles:r,className:s,...m},e__default.default.createElement(y,null,a)));B.displayName="BreadcrumbNav";function w(r,t){let s=e__default.default.useMemo(()=>r?r.split("/").filter(n=>n):[],[r]),a=e__default.default.useCallback(n=>{let o=t?.find(d=>d.path===n);return {path:o?.path||n,name:o?.name||n,url:o?.url||n}},[t]),m=e__default.default.useMemo(()=>s.map((n,o)=>({...a(n),isLast:o===s.length-1,index:o})),[s,a]);return {segments:m,hasSegments:m.length>0}}var l=({startRoute:r="Home",startRouteUrl:t="/",currentRoute:s,spacer:a=e__default.default.createElement(e__default.default.Fragment,null,"/"),routes:m,styles:n,id:o,classes:d,ariaLabel:I="Breadcrumb",truncateLength:p=15,linkProps:N,...k})=>{let{segments:L,hasSegments:v}=w(s,m),b=e__default.default.useId();return !s?.length||!v?null:e__default.default.createElement(B,{id:o,styles:n,className:d,"aria-label":I,...k},e__default.default.createElement(i,{key:`start-${b}`},e__default.default.createElement(chunk5PJYLVFY_cjs.d,{href:t,...N},r)),L.map(({name:$,url:x,path:u,isLast:S,index:h})=>{let c=decodeURIComponent($),C=U(c,p),P=c.length>p;if(S){let M=h>0?L[h-1].path:null;return !u||u.length<=3||u===M?null:e__default.default.createElement(i,{key:`${u}-${b}`},e__default.default.createElement("span",{"aria-hidden":"true"},a),e__default.default.createElement("span",{"aria-current":"page","aria-label":P?c:void 0},C))}return e__default.default.createElement(i,{key:`${u}-${b}`},e__default.default.createElement("span",{"aria-hidden":"true"},a),e__default.default.createElement(chunk5PJYLVFY_cjs.d,{href:x,"aria-label":P?c:void 0,...N},C))}))},H=l;l.displayName="Breadcrumb";l.Nav=B;l.List=y;l.Item=i;
11
+ var U=(r,t=15)=>r.length>t?`${r.slice(0,t)}...`:r;var i=e__default.default.memo(({children:r,id:t,styles:s,classes:a,...m})=>{let{renderStyles:n,defaultStyles:o,as:d,ref:I,...p}=m;return e__default.default.createElement("li",{id:t,style:s,className:a,"data-list":"unstyled inline",...p},r)});i.displayName="BreadcrumbItem";var y=e__default.default.memo(({children:r,...t})=>e__default.default.createElement(chunkENTCUJ3A_cjs.a,{as:"ol","data-list":"unstyled inline",...t},r));y.displayName="BreadcrumbList";var B=e__default.default.memo(({styles:r,id:t,classes:s,children:a,...m})=>e__default.default.createElement(chunkENTCUJ3A_cjs.a,{as:"nav",id:t,styles:r,className:s,...m},e__default.default.createElement(y,null,a)));B.displayName="BreadcrumbNav";function w(r,t){let s=e__default.default.useMemo(()=>r?r.split("/").filter(n=>n):[],[r]),a=e__default.default.useCallback(n=>{let o=t?.find(d=>d.path===n);return {path:o?.path||n,name:o?.name||n,url:o?.url||n}},[t]),m=e__default.default.useMemo(()=>s.map((n,o)=>({...a(n),isLast:o===s.length-1,index:o})),[s,a]);return {segments:m,hasSegments:m.length>0}}var l=({startRoute:r="Home",startRouteUrl:t="/",currentRoute:s,spacer:a=e__default.default.createElement(e__default.default.Fragment,null,"/"),routes:m,styles:n,id:o,classes:d,ariaLabel:I="Breadcrumb",truncateLength:p=15,linkProps:N,...k})=>{let{segments:L,hasSegments:v}=w(s,m),b=e__default.default.useId();return !s?.length||!v?null:e__default.default.createElement(B,{id:o,styles:n,className:d,"aria-label":I,...k},e__default.default.createElement(i,{key:`start-${b}`},e__default.default.createElement(chunkNWJDAHP6_cjs.d,{href:t,...N},r)),L.map(({name:$,url:x,path:u,isLast:S,index:h})=>{let c=decodeURIComponent($),C=U(c,p),P=c.length>p;if(S){let M=h>0?L[h-1].path:null;return !u||u.length<=3||u===M?null:e__default.default.createElement(i,{key:`${u}-${b}`},e__default.default.createElement("span",{"aria-hidden":"true"},a),e__default.default.createElement("span",{"aria-current":"page","aria-label":P?c:void 0},C))}return e__default.default.createElement(i,{key:`${u}-${b}`},e__default.default.createElement("span",{"aria-hidden":"true"},a),e__default.default.createElement(chunkNWJDAHP6_cjs.d,{href:x,"aria-label":P?c:void 0,...N},C))}))},H=l;l.displayName="Breadcrumb";l.Nav=B;l.List=y;l.Item=i;
12
12
 
13
13
  exports.a = w;
14
14
  exports.b = l;
15
15
  exports.c = H;
16
16
  //# sourceMappingURL=out.js.map
17
- //# sourceMappingURL=chunk-R7NLLZU2.cjs.map
17
+ //# sourceMappingURL=chunk-DYFAUAB7.cjs.map
@@ -0,0 +1,17 @@
1
+ 'use strict';
2
+
3
+ var chunkENTCUJ3A_cjs = require('./chunk-ENTCUJ3A.cjs');
4
+ var o = require('react');
5
+
6
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
7
+
8
+ var o__default = /*#__PURE__*/_interopDefault(o);
9
+
10
+ var i=o__default.default.forwardRef(({href:r,target:e,rel:n,children:t,styles:c,prefetch:f=!1,btnStyle:m,onClick:d,onPointerDown:u,...l},y)=>{let h=o__default.default.useMemo(()=>{if(e==="_blank"){let s=new Set(["noopener","noreferrer"]);return f&&s.add("prefetch"),n&&n.split(/\s+/).forEach(p=>{p&&s.add(p);}),Array.from(s).join(" ")}return n},[e,n,f]);return o__default.default.createElement(chunkENTCUJ3A_cjs.a,{as:"a",ref:y,href:r,target:e,rel:h,styles:c,"data-btn":m,onClick:d,onPointerDown:u,...l},t)}),k=o__default.default.forwardRef(({href:r,icon:e,...n},t)=>o__default.default.createElement(i,{ref:t,href:r,...n},e)),a=o__default.default.forwardRef(({href:r,children:e,...n},t)=>o__default.default.createElement(i,{ref:t,href:r,...n},o__default.default.createElement("i",null,e)));i.displayName="Link";k.displayName="IconLink";a.displayName="LinkButton";var x=Object.assign(i,{LinkButton:a,IconLink:k}),E=x;
11
+
12
+ exports.a = i;
13
+ exports.b = k;
14
+ exports.c = a;
15
+ exports.d = E;
16
+ //# sourceMappingURL=out.js.map
17
+ //# sourceMappingURL=chunk-NWJDAHP6.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/link/link.tsx"],"names":["React","Link","href","target","rel","children","styles","prefetch","btnStyle","onClick","onPointerDown","props","ref","computedRel","securityTokens","token","ui_default","IconLink","icon","LinkButton","LinkWithSubcomponents","link_default"],"mappings":"yCAAA,OAAOA,MAAW,QA+FX,IAAMC,EAAOD,EAAM,WACxB,CACE,CACE,KAAAE,EACA,OAAAC,EACA,IAAAC,EACA,SAAAC,EACA,OAAAC,EACA,SAAAC,EAAW,GACX,SAAAC,EACA,QAAAC,EACA,cAAAC,EACA,GAAGC,CACL,EACAC,IACG,CAWH,IAAMC,EAAcb,EAAM,QAAQ,IAAM,CACtC,GAAIG,IAAW,SAAU,CAEvB,IAAMW,EAAiB,IAAI,IAAI,CAAC,WAAY,YAAY,CAAC,EAGzD,OAAIP,GACFO,EAAe,IAAI,UAAU,EAI3BV,GACFA,EAAI,MAAM,KAAK,EAAE,QAASW,GAAU,CAC9BA,GAAOD,EAAe,IAAIC,CAAK,CACrC,CAAC,EAGI,MAAM,KAAKD,CAAc,EAAE,KAAK,GAAG,CAC5C,CAGA,OAAOV,CACT,EAAG,CAACD,EAAQC,EAAKG,CAAQ,CAAC,EAE1B,OACEP,EAAA,cAACgB,EAAA,CACC,GAAG,IACH,IAAKJ,EACL,KAAMV,EACN,OAAQC,EACR,IAAKU,EACL,OAAQP,EACR,WAAUE,EACV,QAASC,EACT,cAAeC,EACd,GAAGC,GAEHN,CACH,CAEJ,CACF,EAEaY,EAAWjB,EAAM,WAC5B,CAAC,CAAE,KAAAE,EAAM,KAAAgB,EAAM,GAAGP,CAAM,EAAGC,IAEvBZ,EAAA,cAACC,EAAA,CAAK,IAAKW,EAAK,KAAMV,EAAO,GAAGS,GAC7BO,CACH,CAGN,EAEaC,EAAanB,EAAM,WAC9B,CAAC,CAAE,KAAAE,EAAM,SAAAG,EAAU,GAAGM,CAAM,EAAGC,IAE3BZ,EAAA,cAACC,EAAA,CAAK,IAAKW,EAAK,KAAMV,EAAO,GAAGS,GAC9BX,EAAA,cAAC,SAAGK,CAAS,CACf,CAGN,EAEAJ,EAAK,YAAc,OACnBgB,EAAS,YAAc,WACvBE,EAAW,YAAc,aAYzB,IAAMC,EAAwB,OAAO,OAAOnB,EAAM,CAChD,WAAAkB,EACA,SAAAF,CACF,CAAC,EAEMI,EAAQD","sourcesContent":["import React from \"react\";\nimport UI from \"../ui\";\nimport type { LinkProps } from \"./link.types\";\n\n/**\n * Link - A semantic, accessible anchor component with enhanced security and styling.\n *\n * The Link component renders accessible `<a>` elements with automatic security\n * attributes for external links, customizable styling variants, and full WCAG 2.1\n * AA compliance. It supports traditional text links, button-styled links, and\n * programmatic focus management via ref forwarding.\n *\n * ## Features\n *\n * - 🔒 **Automatic Security**: External links get `rel=\"noopener noreferrer\"`\n * - ♿ **WCAG 2.1 AA Compliant**: Accessible focus indicators and semantic HTML\n * - 🎨 **Flexible Styling**: Text links, button links, and pill variants\n * - ⚡ **Performance**: Optional prefetch hints for faster navigation\n * - 🎯 **Ref Forwarding**: Direct DOM access for focus management and scroll\n * - 🧪 **Type-Safe**: Full TypeScript support with comprehensive prop types\n *\n * ## Accessibility\n *\n * - ✅ Semantic `<a>` element for proper keyboard navigation\n * - ✅ Focus indicators meet WCAG 2.4.7 (3:1 contrast ratio)\n * - ✅ Screen readers announce link purpose and destination\n * - ✅ External links include security attributes automatically\n * - ✅ Supports `aria-label` for icon-only or ambiguous links\n * - ✅ Ref forwarding enables skip-link patterns\n *\n * @example\n * // Basic internal link\n * <Link href=\"/about\">About Us</Link>\n *\n * @example\n * // External link with automatic security\n * <Link href=\"https://example.com\" target=\"_blank\">\n * Visit Example\n * </Link>\n *\n * @example\n * // Button-styled call-to-action link\n * <Link href=\"/signup\">\n * <b>Get Started</b>\n * </Link>\n *\n * @example\n * // Icon-only link with accessible label\n * <Link href=\"/settings\" aria-label=\"Open settings\">\n * <SettingsIcon aria-hidden=\"true\" />\n * </Link>\n *\n * @example\n * // Analytics tracking with onClick (includes keyboard users)\n * <Link\n * href=\"/products\"\n * onClick={(e) => trackEvent('link_click', { href: '/products' })}\n * >\n * Browse Products\n * </Link>\n *\n * @example\n * // Skip link with ref forwarding for focus management\n * const mainRef = useRef<HTMLAnchorElement>(null);\n *\n * <Link ref={mainRef} href=\"#main-content\">\n * Skip to main content\n * </Link>\n *\n * @example\n * // Custom styled link with CSS variables\n * <Link\n * href=\"/products\"\n * styles={{\n * '--link-color': '#0066cc',\n * '--link-decoration': 'underline',\n * }}\n * >\n * Browse Products\n * </Link>\n *\n * @example\n * // ✅ GOOD: Descriptive link text\n * <Link href=\"/docs/installation\">\n * Read installation guide\n * </Link>\n *\n * @example\n * // ❌ BAD: Generic link text (poor for screen readers)\n * <Link href=\"/docs/installation\">\n * Click here\n * </Link>\n *\n * @see {@link LinkProps} for complete prop documentation\n */\nexport const Link = React.forwardRef<HTMLAnchorElement, LinkProps>(\n (\n {\n href,\n target,\n rel,\n children,\n styles,\n prefetch = false,\n btnStyle,\n onClick,\n onPointerDown,\n ...props\n },\n ref\n ) => {\n /**\n * Compute the final `rel` attribute value with security defaults.\n *\n * For external links (target=\"_blank\"), we merge user-provided `rel` values\n * with security defaults `noopener noreferrer` to prevent:\n * - window.opener exploitation (noopener)\n * - Referrer header leakage (noreferrer)\n *\n * If prefetch is enabled, we also add the `prefetch` hint.\n */\n const computedRel = React.useMemo(() => {\n if (target === \"_blank\") {\n // Start with security defaults\n const securityTokens = new Set([\"noopener\", \"noreferrer\"]);\n\n // Add prefetch if enabled\n if (prefetch) {\n securityTokens.add(\"prefetch\");\n }\n\n // Merge with user-provided rel tokens (if any)\n if (rel) {\n rel.split(/\\s+/).forEach((token) => {\n if (token) securityTokens.add(token);\n });\n }\n\n return Array.from(securityTokens).join(\" \");\n }\n\n // For non-external links, use provided rel as-is\n return rel;\n }, [target, rel, prefetch]);\n\n return (\n <UI\n as=\"a\"\n ref={ref}\n href={href}\n target={target}\n rel={computedRel}\n styles={styles}\n data-btn={btnStyle}\n onClick={onClick}\n onPointerDown={onPointerDown}\n {...props}\n >\n {children}\n </UI>\n );\n }\n);\n\nexport const IconLink = React.forwardRef<HTMLAnchorElement, LinkProps>(\n ({ href, icon, ...props }, ref) => {\n return (\n <Link ref={ref} href={href} {...props}>\n {icon}\n </Link>\n );\n }\n);\n\nexport const LinkButton = React.forwardRef<HTMLAnchorElement, LinkProps>(\n ({ href, children, ...props }, ref) => {\n return (\n <Link ref={ref} href={href} {...props}>\n <i>{children}</i>\n </Link>\n );\n }\n);\n\nLink.displayName = \"Link\";\nIconLink.displayName = \"IconLink\";\nLinkButton.displayName = \"LinkButton\";\n\n// Compound component pattern - attach subcomponents to Link with proper typing\nexport interface LinkComponent\n extends React.ForwardRefExoticComponent<\n LinkProps & React.RefAttributes<HTMLAnchorElement>\n > {\n LinkButton: typeof LinkButton;\n IconLink: typeof IconLink;\n}\n\n// Attach subcomponents to Link using Object.assign for better type inference\nconst LinkWithSubcomponents = Object.assign(Link, {\n LinkButton,\n IconLink,\n});\n\nexport default LinkWithSubcomponents as LinkComponent;\n"]}
@@ -2,23 +2,23 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var chunkR7NLLZU2_cjs = require('../../chunk-R7NLLZU2.cjs');
6
- require('../../chunk-5PJYLVFY.cjs');
5
+ var chunkDYFAUAB7_cjs = require('../../chunk-DYFAUAB7.cjs');
6
+ require('../../chunk-NWJDAHP6.cjs');
7
7
  require('../../chunk-ENTCUJ3A.cjs');
8
8
 
9
9
 
10
10
 
11
11
  Object.defineProperty(exports, 'Breadcrumb', {
12
12
  enumerable: true,
13
- get: function () { return chunkR7NLLZU2_cjs.b; }
13
+ get: function () { return chunkDYFAUAB7_cjs.b; }
14
14
  });
15
15
  Object.defineProperty(exports, 'default', {
16
16
  enumerable: true,
17
- get: function () { return chunkR7NLLZU2_cjs.c; }
17
+ get: function () { return chunkDYFAUAB7_cjs.c; }
18
18
  });
19
19
  Object.defineProperty(exports, 'useBreadcrumbSegments', {
20
20
  enumerable: true,
21
- get: function () { return chunkR7NLLZU2_cjs.a; }
21
+ get: function () { return chunkDYFAUAB7_cjs.a; }
22
22
  });
23
23
  //# sourceMappingURL=out.js.map
24
24
  //# sourceMappingURL=breadcrumb.cjs.map
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { U as UI } from '../../ui-d01b50d4.js';
3
- import Link from '../link/link.cjs';
3
+ import { _ as _default } from '../../link-59ad884f.js';
4
4
 
5
5
  /**
6
6
  * Represents a route segment in the breadcrumb navigation.
@@ -65,7 +65,7 @@ type BreadcrumbProps = {
65
65
  /** Maximum character length before truncating breadcrumb text */
66
66
  truncateLength?: number;
67
67
  /** Props to spread onto breadcrumb Link components */
68
- linkProps?: Omit<React.ComponentProps<typeof Link>, "href" | "children">;
68
+ linkProps?: Omit<React.ComponentProps<typeof _default>, "href" | "children">;
69
69
  } & Omit<React.ComponentProps<typeof UI>, "as" | "aria-label">;
70
70
  /**
71
71
  * Custom hook to process breadcrumb segments from a path string.
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { U as UI } from '../../ui-d01b50d4.js';
3
- import Link from '../link/link.js';
3
+ import { _ as _default } from '../../link-59ad884f.js';
4
4
 
5
5
  /**
6
6
  * Represents a route segment in the breadcrumb navigation.
@@ -65,7 +65,7 @@ type BreadcrumbProps = {
65
65
  /** Maximum character length before truncating breadcrumb text */
66
66
  truncateLength?: number;
67
67
  /** Props to spread onto breadcrumb Link components */
68
- linkProps?: Omit<React.ComponentProps<typeof Link>, "href" | "children">;
68
+ linkProps?: Omit<React.ComponentProps<typeof _default>, "href" | "children">;
69
69
  } & Omit<React.ComponentProps<typeof UI>, "as" | "aria-label">;
70
70
  /**
71
71
  * Custom hook to process breadcrumb segments from a path string.
@@ -1,5 +1,5 @@
1
- export { b as Breadcrumb, c as default, a as useBreadcrumbSegments } from '../../chunk-UJAQVHWC.js';
2
- import '../../chunk-NNTBIHSD.js';
1
+ export { b as Breadcrumb, c as default, a as useBreadcrumbSegments } from '../../chunk-CWRNJA4P.js';
2
+ import '../../chunk-5RAWNUVD.js';
3
3
  import '../../chunk-HHLNOC5T.js';
4
4
  //# sourceMappingURL=out.js.map
5
5
  //# sourceMappingURL=breadcrumb.js.map
@@ -0,0 +1 @@
1
+ :root{--flex-gap-xs: clamp(0.25rem, 0.2rem + 0.25vw, 0.5rem);--flex-gap-sm: clamp(0.5rem, 0.45rem + 0.35vw, 0.75rem);--flex-gap-md: clamp(0.75rem, 0.65rem + 0.45vw, 1.125rem);--flex-gap-lg: clamp(1rem, 0.85rem + 0.6vw, 1.5rem);--flex-gap-xl: clamp(1.5rem, 1.25rem + 0.75vw, 2rem);--flex-gap: var(--flex-gap-sm)}.flex{display:flex;gap:var(--flex-gap)}.flex-inline{display:inline-flex;gap:var(--flex-gap)}.flex-row{flex-direction:row}.flex-row-reverse{flex-direction:row-reverse}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.flex-wrap-reverse{flex-wrap:wrap-reverse}.flex-nowrap{flex-wrap:nowrap}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.justify-evenly{justify-content:space-evenly}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.content-start{align-content:flex-start}.content-end{align-content:flex-end}.content-center{align-content:center}.content-between{align-content:space-between}.content-around{align-content:space-around}.content-evenly{align-content:space-evenly}.content-stretch{align-content:stretch}.self-auto{align-self:auto}.self-start{align-self:flex-start}.self-end{align-self:flex-end}.self-center{align-self:center}.self-baseline{align-self:baseline}.self-stretch{align-self:stretch}.flex-grow-0{flex-grow:0}.flex-grow-1{flex-grow:1}.flex-shrink-0{flex-shrink:0}.flex-shrink-1{flex-shrink:1}.flex-basis-auto{flex-basis:auto}.flex-basis-0{flex-basis:0}.flex-basis-full{flex-basis:100%}.flex-1{flex:1 1 0%}.flex-auto{flex:1 1 auto}.flex-initial{flex:0 1 auto}.flex-none{flex:none}.gap-0{gap:0}.gap-xs{gap:var(--flex-gap-xs)}.gap-sm{gap:var(--flex-gap-sm)}.gap-md{gap:var(--flex-gap-md)}.gap-lg{gap:var(--flex-gap-lg)}.gap-xl{gap:var(--flex-gap-xl)}.row-gap-0{row-gap:0}.row-gap-xs{row-gap:var(--flex-gap-xs)}.row-gap-sm{row-gap:var(--flex-gap-sm)}.row-gap-md{row-gap:var(--flex-gap-md)}.row-gap-lg{row-gap:var(--flex-gap-lg)}.row-gap-xl{row-gap:var(--flex-gap-xl)}.col-gap-0{column-gap:0}.col-gap-xs{column-gap:var(--flex-gap-xs)}.col-gap-sm{column-gap:var(--flex-gap-sm)}.col-gap-md{column-gap:var(--flex-gap-md)}.col-gap-lg{column-gap:var(--flex-gap-lg)}.col-gap-xl{column-gap:var(--flex-gap-xl)}.flex-center{display:flex;align-items:center;justify-content:center}.flex-between{display:flex;justify-content:space-between;align-items:center}.flex-around{display:flex;justify-content:space-around;align-items:center}.flex-stack{display:flex;flex-direction:column;gap:var(--flex-gap-sm)}.flex-spread>*{flex:1 1 0%}.order-first{order:-1}.order-last{order:999}.order-none{order:0}@media(width >= 30rem){.sm\:flex-row{flex-direction:row}.sm\:flex-row-reverse{flex-direction:row-reverse}.sm\:flex-col{flex-direction:column}.sm\:flex-col-reverse{flex-direction:column-reverse}.sm\:flex-wrap{flex-wrap:wrap}.sm\:flex-nowrap{flex-wrap:nowrap}.sm\:justify-start{justify-content:flex-start}.sm\:justify-end{justify-content:flex-end}.sm\:justify-center{justify-content:center}.sm\:justify-between{justify-content:space-between}.sm\:justify-around{justify-content:space-around}.sm\:justify-evenly{justify-content:space-evenly}.sm\:items-start{align-items:flex-start}.sm\:items-end{align-items:flex-end}.sm\:items-center{align-items:center}.sm\:items-baseline{align-items:baseline}.sm\:items-stretch{align-items:stretch}.sm\:gap-0{gap:0}.sm\:gap-xs{gap:var(--flex-gap-xs)}.sm\:gap-sm{gap:var(--flex-gap-sm)}.sm\:gap-md{gap:var(--flex-gap-md)}.sm\:gap-lg{gap:var(--flex-gap-lg)}.sm\:gap-xl{gap:var(--flex-gap-xl)}.sm\:flex-1{flex:1 1 0%}.sm\:flex-auto{flex:1 1 auto}.sm\:flex-none{flex:none}}@media(width >= 48rem){.md\:flex-row{flex-direction:row}.md\:flex-row-reverse{flex-direction:row-reverse}.md\:flex-col{flex-direction:column}.md\:flex-col-reverse{flex-direction:column-reverse}.md\:flex-wrap{flex-wrap:wrap}.md\:flex-nowrap{flex-wrap:nowrap}.md\:justify-start{justify-content:flex-start}.md\:justify-end{justify-content:flex-end}.md\:justify-center{justify-content:center}.md\:justify-between{justify-content:space-between}.md\:justify-around{justify-content:space-around}.md\:justify-evenly{justify-content:space-evenly}.md\:items-start{align-items:flex-start}.md\:items-end{align-items:flex-end}.md\:items-center{align-items:center}.md\:items-baseline{align-items:baseline}.md\:items-stretch{align-items:stretch}.md\:gap-0{gap:0}.md\:gap-xs{gap:var(--flex-gap-xs)}.md\:gap-sm{gap:var(--flex-gap-sm)}.md\:gap-md{gap:var(--flex-gap-md)}.md\:gap-lg{gap:var(--flex-gap-lg)}.md\:gap-xl{gap:var(--flex-gap-xl)}.md\:flex-1{flex:1 1 0%}.md\:flex-auto{flex:1 1 auto}.md\:flex-none{flex:none}.flex-stack{flex-direction:row;align-items:center;gap:var(--flex-gap-md)}}@media(width >= 62rem){.lg\:flex-row{flex-direction:row}.lg\:flex-row-reverse{flex-direction:row-reverse}.lg\:flex-col{flex-direction:column}.lg\:flex-col-reverse{flex-direction:column-reverse}.lg\:flex-wrap{flex-wrap:wrap}.lg\:flex-nowrap{flex-wrap:nowrap}.lg\:justify-start{justify-content:flex-start}.lg\:justify-end{justify-content:flex-end}.lg\:justify-center{justify-content:center}.lg\:justify-between{justify-content:space-between}.lg\:justify-around{justify-content:space-around}.lg\:justify-evenly{justify-content:space-evenly}.lg\:items-start{align-items:flex-start}.lg\:items-end{align-items:flex-end}.lg\:items-center{align-items:center}.lg\:items-baseline{align-items:baseline}.lg\:items-stretch{align-items:stretch}.lg\:gap-0{gap:0}.lg\:gap-xs{gap:var(--flex-gap-xs)}.lg\:gap-sm{gap:var(--flex-gap-sm)}.lg\:gap-md{gap:var(--flex-gap-md)}.lg\:gap-lg{gap:var(--flex-gap-lg)}.lg\:gap-xl{gap:var(--flex-gap-xl)}.lg\:flex-1{flex:1 1 0%}.lg\:flex-auto{flex:1 1 auto}.lg\:flex-none{flex:none}.flex,.flex-inline{gap:var(--flex-gap-md)}.flex-stack{gap:var(--flex-gap-lg)}}@media(width >= 80rem){.xl\:flex-row{flex-direction:row}.xl\:flex-row-reverse{flex-direction:row-reverse}.xl\:flex-col{flex-direction:column}.xl\:flex-col-reverse{flex-direction:column-reverse}.xl\:flex-wrap{flex-wrap:wrap}.xl\:flex-nowrap{flex-wrap:nowrap}.xl\:justify-start{justify-content:flex-start}.xl\:justify-end{justify-content:flex-end}.xl\:justify-center{justify-content:center}.xl\:justify-between{justify-content:space-between}.xl\:justify-around{justify-content:space-around}.xl\:justify-evenly{justify-content:space-evenly}.xl\:items-start{align-items:flex-start}.xl\:items-end{align-items:flex-end}.xl\:items-center{align-items:center}.xl\:items-baseline{align-items:baseline}.xl\:items-stretch{align-items:stretch}.xl\:gap-0{gap:0}.xl\:gap-xs{gap:var(--flex-gap-xs)}.xl\:gap-sm{gap:var(--flex-gap-sm)}.xl\:gap-md{gap:var(--flex-gap-md)}.xl\:gap-lg{gap:var(--flex-gap-lg)}.xl\:gap-xl{gap:var(--flex-gap-xl)}.xl\:flex-1{flex:1 1 0%}.xl\:flex-auto{flex:1 1 auto}.xl\:flex-none{flex:none}.flex,.flex-inline{gap:var(--flex-gap-lg)}.flex-stack{gap:var(--flex-gap-xl)}}/*# sourceMappingURL=flex.css.map */
@@ -0,0 +1 @@
1
+ {"version":3,"sourceRoot":"","sources":["../../../src/components/flexbox/flex.scss"],"names":[],"mappings":"AAyBA,MAEE,uDACA,wDACA,0DACA,oDACA,qDAGA,+BAOF,MACE,aACA,oBAIF,aACE,oBACA,oBAKF,UACE,mBAGF,kBACE,2BAGF,UACE,sBAGF,kBACE,8BAKF,WACE,eAGF,mBACE,uBAGF,aACE,iBAKF,eACE,2BAGF,aACE,yBAGF,gBACE,uBAGF,iBACE,8BAGF,gBACE,6BAGF,gBACE,6BAKF,aACE,uBAGF,WACE,qBAGF,cACE,mBAGF,gBACE,qBAGF,eACE,oBAKF,eACE,yBAGF,aACE,uBAGF,gBACE,qBAGF,iBACE,4BAGF,gBACE,2BAGF,gBACE,2BAGF,iBACE,sBAKF,WACE,gBAGF,YACE,sBAGF,UACE,oBAGF,aACE,kBAGF,eACE,oBAGF,cACE,mBAOF,aACE,YAGF,aACE,YAIF,eACE,cAGF,eACE,cAIF,iBACE,gBAGF,cACE,aAGF,iBACE,gBAIF,QACE,YAGF,WACE,cAGF,cACE,cAGF,WACE,UAKF,OACE,MAGF,QACE,uBAGF,QACE,uBAGF,QACE,uBAGF,QACE,uBAGF,QACE,uBAIF,WACE,UAGF,YACE,2BAGF,YACE,2BAGF,YACE,2BAGF,YACE,2BAGF,YACE,2BAIF,WACE,aAGF,YACE,8BAGF,YACE,8BAGF,YACE,8BAGF,YACE,8BAGF,YACE,8BAOF,aACE,aACA,mBACA,uBAIF,cACE,aACA,8BACA,mBAIF,aACE,aACA,6BACA,mBAIF,YACE,aACA,sBACA,uBAIF,eACE,YAKF,aACE,SAGF,YACE,UAGF,YACE,QAKF,uBAEE,cACE,mBAGF,sBACE,2BAGF,cACE,sBAGF,sBACE,8BAIF,eACE,eAGF,iBACE,iBAIF,mBACE,2BAGF,iBACE,yBAGF,oBACE,uBAGF,qBACE,8BAGF,oBACE,6BAGF,oBACE,6BAIF,iBACE,uBAGF,eACE,qBAGF,kBACE,mBAGF,oBACE,qBAGF,mBACE,oBAIF,WACE,MAGF,YACE,uBAGF,YACE,uBAGF,YACE,uBAGF,YACE,uBAGF,YACE,uBAIF,YACE,YAGF,eACE,cAGF,eACE,WAMJ,uBAEE,cACE,mBAGF,sBACE,2BAGF,cACE,sBAGF,sBACE,8BAIF,eACE,eAGF,iBACE,iBAIF,mBACE,2BAGF,iBACE,yBAGF,oBACE,uBAGF,qBACE,8BAGF,oBACE,6BAGF,oBACE,6BAIF,iBACE,uBAGF,eACE,qBAGF,kBACE,mBAGF,oBACE,qBAGF,mBACE,oBAIF,WACE,MAGF,YACE,uBAGF,YACE,uBAGF,YACE,uBAGF,YACE,uBAGF,YACE,uBAIF,YACE,YAGF,eACE,cAGF,eACE,UAIF,YACE,mBACA,mBACA,wBAMJ,uBAEE,cACE,mBAGF,sBACE,2BAGF,cACE,sBAGF,sBACE,8BAIF,eACE,eAGF,iBACE,iBAIF,mBACE,2BAGF,iBACE,yBAGF,oBACE,uBAGF,qBACE,8BAGF,oBACE,6BAGF,oBACE,6BAIF,iBACE,uBAGF,eACE,qBAGF,kBACE,mBAGF,oBACE,qBAGF,mBACE,oBAIF,WACE,MAGF,YACE,uBAGF,YACE,uBAGF,YACE,uBAGF,YACE,uBAGF,YACE,uBAIF,YACE,YAGF,eACE,cAGF,eACE,UAIF,mBAEE,uBAGF,YACE,wBAMJ,uBAEE,cACE,mBAGF,sBACE,2BAGF,cACE,sBAGF,sBACE,8BAIF,eACE,eAGF,iBACE,iBAIF,mBACE,2BAGF,iBACE,yBAGF,oBACE,uBAGF,qBACE,8BAGF,oBACE,6BAGF,oBACE,6BAIF,iBACE,uBAGF,eACE,qBAGF,kBACE,mBAGF,oBACE,qBAGF,mBACE,oBAIF,WACE,MAGF,YACE,uBAGF,YACE,uBAGF,YACE,uBAGF,YACE,uBAGF,YACE,uBAIF,YACE,YAGF,eACE,cAGF,eACE,UAIF,mBAEE,uBAGF,YACE","file":"flex.css"}
@@ -0,0 +1,3 @@
1
+ :root{--flex-gap-xs: clamp(0.25rem, 0.2rem + 0.25vw, 0.5rem);--flex-gap-sm: clamp(0.5rem, 0.45rem + 0.35vw, 0.75rem);--flex-gap-md: clamp(0.75rem, 0.65rem + 0.45vw, 1.125rem);--flex-gap-lg: clamp(1rem, 0.85rem + 0.6vw, 1.5rem);--flex-gap-xl: clamp(1.5rem, 1.25rem + 0.75vw, 2rem);--flex-gap: var(--flex-gap-sm)}.flex{display:flex;gap:var(--flex-gap)}.flex-inline{display:inline-flex;gap:var(--flex-gap)}.flex-row{flex-direction:row}.flex-row-reverse{flex-direction:row-reverse}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.flex-wrap-reverse{flex-wrap:wrap-reverse}.flex-nowrap{flex-wrap:nowrap}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.justify-evenly{justify-content:space-evenly}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.content-start{align-content:flex-start}.content-end{align-content:flex-end}.content-center{align-content:center}.content-between{align-content:space-between}.content-around{align-content:space-around}.content-evenly{align-content:space-evenly}.content-stretch{align-content:stretch}.self-auto{align-self:auto}.self-start{align-self:flex-start}.self-end{align-self:flex-end}.self-center{align-self:center}.self-baseline{align-self:baseline}.self-stretch{align-self:stretch}.flex-grow-0{flex-grow:0}.flex-grow-1{flex-grow:1}.flex-shrink-0{flex-shrink:0}.flex-shrink-1{flex-shrink:1}.flex-basis-auto{flex-basis:auto}.flex-basis-0{flex-basis:0}.flex-basis-full{flex-basis:100%}.flex-1{flex:1 1 0%}.flex-auto{flex:1 1 auto}.flex-initial{flex:0 1 auto}.flex-none{flex:none}.gap-0{gap:0}.gap-xs{gap:var(--flex-gap-xs)}.gap-sm{gap:var(--flex-gap-sm)}.gap-md{gap:var(--flex-gap-md)}.gap-lg{gap:var(--flex-gap-lg)}.gap-xl{gap:var(--flex-gap-xl)}.row-gap-0{row-gap:0}.row-gap-xs{row-gap:var(--flex-gap-xs)}.row-gap-sm{row-gap:var(--flex-gap-sm)}.row-gap-md{row-gap:var(--flex-gap-md)}.row-gap-lg{row-gap:var(--flex-gap-lg)}.row-gap-xl{row-gap:var(--flex-gap-xl)}.col-gap-0{-moz-column-gap:0;column-gap:0}.col-gap-xs{-moz-column-gap:var(--flex-gap-xs);column-gap:var(--flex-gap-xs)}.col-gap-sm{-moz-column-gap:var(--flex-gap-sm);column-gap:var(--flex-gap-sm)}.col-gap-md{-moz-column-gap:var(--flex-gap-md);column-gap:var(--flex-gap-md)}.col-gap-lg{-moz-column-gap:var(--flex-gap-lg);column-gap:var(--flex-gap-lg)}.col-gap-xl{-moz-column-gap:var(--flex-gap-xl);column-gap:var(--flex-gap-xl)}.flex-center{display:flex;align-items:center;justify-content:center}.flex-between{display:flex;justify-content:space-between;align-items:center}.flex-around{display:flex;justify-content:space-around;align-items:center}.flex-stack{display:flex;flex-direction:column;gap:var(--flex-gap-sm)}.flex-spread>*{flex:1 1 0%}.order-first{order:-1}.order-last{order:999}.order-none{order:0}@media(width >= 30rem){.sm\:flex-row{flex-direction:row}.sm\:flex-row-reverse{flex-direction:row-reverse}.sm\:flex-col{flex-direction:column}.sm\:flex-col-reverse{flex-direction:column-reverse}.sm\:flex-wrap{flex-wrap:wrap}.sm\:flex-nowrap{flex-wrap:nowrap}.sm\:justify-start{justify-content:flex-start}.sm\:justify-end{justify-content:flex-end}.sm\:justify-center{justify-content:center}.sm\:justify-between{justify-content:space-between}.sm\:justify-around{justify-content:space-around}.sm\:justify-evenly{justify-content:space-evenly}.sm\:items-start{align-items:flex-start}.sm\:items-end{align-items:flex-end}.sm\:items-center{align-items:center}.sm\:items-baseline{align-items:baseline}.sm\:items-stretch{align-items:stretch}.sm\:gap-0{gap:0}.sm\:gap-xs{gap:var(--flex-gap-xs)}.sm\:gap-sm{gap:var(--flex-gap-sm)}.sm\:gap-md{gap:var(--flex-gap-md)}.sm\:gap-lg{gap:var(--flex-gap-lg)}.sm\:gap-xl{gap:var(--flex-gap-xl)}.sm\:flex-1{flex:1 1 0%}.sm\:flex-auto{flex:1 1 auto}.sm\:flex-none{flex:none}}@media(width >= 48rem){.md\:flex-row{flex-direction:row}.md\:flex-row-reverse{flex-direction:row-reverse}.md\:flex-col{flex-direction:column}.md\:flex-col-reverse{flex-direction:column-reverse}.md\:flex-wrap{flex-wrap:wrap}.md\:flex-nowrap{flex-wrap:nowrap}.md\:justify-start{justify-content:flex-start}.md\:justify-end{justify-content:flex-end}.md\:justify-center{justify-content:center}.md\:justify-between{justify-content:space-between}.md\:justify-around{justify-content:space-around}.md\:justify-evenly{justify-content:space-evenly}.md\:items-start{align-items:flex-start}.md\:items-end{align-items:flex-end}.md\:items-center{align-items:center}.md\:items-baseline{align-items:baseline}.md\:items-stretch{align-items:stretch}.md\:gap-0{gap:0}.md\:gap-xs{gap:var(--flex-gap-xs)}.md\:gap-sm{gap:var(--flex-gap-sm)}.md\:gap-md{gap:var(--flex-gap-md)}.md\:gap-lg{gap:var(--flex-gap-lg)}.md\:gap-xl{gap:var(--flex-gap-xl)}.md\:flex-1{flex:1 1 0%}.md\:flex-auto{flex:1 1 auto}.md\:flex-none{flex:none}.flex-stack{flex-direction:row;align-items:center;gap:var(--flex-gap-md)}}@media(width >= 62rem){.lg\:flex-row{flex-direction:row}.lg\:flex-row-reverse{flex-direction:row-reverse}.lg\:flex-col{flex-direction:column}.lg\:flex-col-reverse{flex-direction:column-reverse}.lg\:flex-wrap{flex-wrap:wrap}.lg\:flex-nowrap{flex-wrap:nowrap}.lg\:justify-start{justify-content:flex-start}.lg\:justify-end{justify-content:flex-end}.lg\:justify-center{justify-content:center}.lg\:justify-between{justify-content:space-between}.lg\:justify-around{justify-content:space-around}.lg\:justify-evenly{justify-content:space-evenly}.lg\:items-start{align-items:flex-start}.lg\:items-end{align-items:flex-end}.lg\:items-center{align-items:center}.lg\:items-baseline{align-items:baseline}.lg\:items-stretch{align-items:stretch}.lg\:gap-0{gap:0}.lg\:gap-xs{gap:var(--flex-gap-xs)}.lg\:gap-sm{gap:var(--flex-gap-sm)}.lg\:gap-md{gap:var(--flex-gap-md)}.lg\:gap-lg{gap:var(--flex-gap-lg)}.lg\:gap-xl{gap:var(--flex-gap-xl)}.lg\:flex-1{flex:1 1 0%}.lg\:flex-auto{flex:1 1 auto}.lg\:flex-none{flex:none}.flex,.flex-inline{gap:var(--flex-gap-md)}.flex-stack{gap:var(--flex-gap-lg)}}@media(width >= 80rem){.xl\:flex-row{flex-direction:row}.xl\:flex-row-reverse{flex-direction:row-reverse}.xl\:flex-col{flex-direction:column}.xl\:flex-col-reverse{flex-direction:column-reverse}.xl\:flex-wrap{flex-wrap:wrap}.xl\:flex-nowrap{flex-wrap:nowrap}.xl\:justify-start{justify-content:flex-start}.xl\:justify-end{justify-content:flex-end}.xl\:justify-center{justify-content:center}.xl\:justify-between{justify-content:space-between}.xl\:justify-around{justify-content:space-around}.xl\:justify-evenly{justify-content:space-evenly}.xl\:items-start{align-items:flex-start}.xl\:items-end{align-items:flex-end}.xl\:items-center{align-items:center}.xl\:items-baseline{align-items:baseline}.xl\:items-stretch{align-items:stretch}.xl\:gap-0{gap:0}.xl\:gap-xs{gap:var(--flex-gap-xs)}.xl\:gap-sm{gap:var(--flex-gap-sm)}.xl\:gap-md{gap:var(--flex-gap-md)}.xl\:gap-lg{gap:var(--flex-gap-lg)}.xl\:gap-xl{gap:var(--flex-gap-xl)}.xl\:flex-1{flex:1 1 0%}.xl\:flex-auto{flex:1 1 auto}.xl\:flex-none{flex:none}.flex,.flex-inline{gap:var(--flex-gap-lg)}.flex-stack{gap:var(--flex-gap-xl)}}
2
+
3
+ /*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2ZsZXhib3gvZmxleC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXlCQSxNQUVFLHNEQUFBLENBQ0EsdURBQUEsQ0FDQSx5REFBQSxDQUNBLG1EQUFBLENBQ0Esb0RBQUEsQ0FHQSw4QkFBQSxDQU9GLE1BQ0UsWUFBQSxDQUNBLG1CQUFBLENBSUYsYUFDRSxtQkFBQSxDQUNBLG1CQUFBLENBS0YsVUFDRSxrQkFBQSxDQUdGLGtCQUNFLDBCQUFBLENBR0YsVUFDRSxxQkFBQSxDQUdGLGtCQUNFLDZCQUFBLENBS0YsV0FDRSxjQUFBLENBR0YsbUJBQ0Usc0JBQUEsQ0FHRixhQUNFLGdCQUFBLENBS0YsZUFDRSwwQkFBQSxDQUdGLGFBQ0Usd0JBQUEsQ0FHRixnQkFDRSxzQkFBQSxDQUdGLGlCQUNFLDZCQUFBLENBR0YsZ0JBQ0UsNEJBQUEsQ0FHRixnQkFDRSw0QkFBQSxDQUtGLGFBQ0Usc0JBQUEsQ0FHRixXQUNFLG9CQUFBLENBR0YsY0FDRSxrQkFBQSxDQUdGLGdCQUNFLG9CQUFBLENBR0YsZUFDRSxtQkFBQSxDQUtGLGVBQ0Usd0JBQUEsQ0FHRixhQUNFLHNCQUFBLENBR0YsZ0JBQ0Usb0JBQUEsQ0FHRixpQkFDRSwyQkFBQSxDQUdGLGdCQUNFLDBCQUFBLENBR0YsZ0JBQ0UsMEJBQUEsQ0FHRixpQkFDRSxxQkFBQSxDQUtGLFdBQ0UsZUFBQSxDQUdGLFlBQ0UscUJBQUEsQ0FHRixVQUNFLG1CQUFBLENBR0YsYUFDRSxpQkFBQSxDQUdGLGVBQ0UsbUJBQUEsQ0FHRixjQUNFLGtCQUFBLENBT0YsYUFDRSxXQUFBLENBR0YsYUFDRSxXQUFBLENBSUYsZUFDRSxhQUFBLENBR0YsZUFDRSxhQUFBLENBSUYsaUJBQ0UsZUFBQSxDQUdGLGNBQ0UsWUFBQSxDQUdGLGlCQUNFLGVBQUEsQ0FJRixRQUNFLFdBQUEsQ0FHRixXQUNFLGFBQUEsQ0FHRixjQUNFLGFBQUEsQ0FHRixXQUNFLFNBQUEsQ0FLRixPQUNFLEtBQUEsQ0FHRixRQUNFLHNCQUFBLENBR0YsUUFDRSxzQkFBQSxDQUdGLFFBQ0Usc0JBQUEsQ0FHRixRQUNFLHNCQUFBLENBR0YsUUFDRSxzQkFBQSxDQUlGLFdBQ0UsU0FBQSxDQUdGLFlBQ0UsMEJBQUEsQ0FHRixZQUNFLDBCQUFBLENBR0YsWUFDRSwwQkFBQSxDQUdGLFlBQ0UsMEJBQUEsQ0FHRixZQUNFLDBCQUFBLENBSUYsV0FDRSxpQkFBQSxDQUFBLFlBQUEsQ0FHRixZQUNFLGtDQUFBLENBQUEsNkJBQUEsQ0FHRixZQUNFLGtDQUFBLENBQUEsNkJBQUEsQ0FHRixZQUNFLGtDQUFBLENBQUEsNkJBQUEsQ0FHRixZQUNFLGtDQUFBLENBQUEsNkJBQUEsQ0FHRixZQUNFLGtDQUFBLENBQUEsNkJBQUEsQ0FPRixhQUNFLFlBQUEsQ0FDQSxrQkFBQSxDQUNBLHNCQUFBLENBSUYsY0FDRSxZQUFBLENBQ0EsNkJBQUEsQ0FDQSxrQkFBQSxDQUlGLGFBQ0UsWUFBQSxDQUNBLDRCQUFBLENBQ0Esa0JBQUEsQ0FJRixZQUNFLFlBQUEsQ0FDQSxxQkFBQSxDQUNBLHNCQUFBLENBSUYsZUFDRSxXQUFBLENBS0YsYUFDRSxRQUFBLENBR0YsWUFDRSxTQUFBLENBR0YsWUFDRSxPQUFBLENBS0YsdUJBRUUsY0FDRSxrQkFBQSxDQUdGLHNCQUNFLDBCQUFBLENBR0YsY0FDRSxxQkFBQSxDQUdGLHNCQUNFLDZCQUFBLENBSUYsZUFDRSxjQUFBLENBR0YsaUJBQ0UsZ0JBQUEsQ0FJRixtQkFDRSwwQkFBQSxDQUdGLGlCQUNFLHdCQUFBLENBR0Ysb0JBQ0Usc0JBQUEsQ0FHRixxQkFDRSw2QkFBQSxDQUdGLG9CQUNFLDRCQUFBLENBR0Ysb0JBQ0UsNEJBQUEsQ0FJRixpQkFDRSxzQkFBQSxDQUdGLGVBQ0Usb0JBQUEsQ0FHRixrQkFDRSxrQkFBQSxDQUdGLG9CQUNFLG9CQUFBLENBR0YsbUJBQ0UsbUJBQUEsQ0FJRixXQUNFLEtBQUEsQ0FHRixZQUNFLHNCQUFBLENBR0YsWUFDRSxzQkFBQSxDQUdGLFlBQ0Usc0JBQUEsQ0FHRixZQUNFLHNCQUFBLENBR0YsWUFDRSxzQkFBQSxDQUlGLFlBQ0UsV0FBQSxDQUdGLGVBQ0UsYUFBQSxDQUdGLGVBQ0UsU0FBQSxDQUFBLENBTUosdUJBRUUsY0FDRSxrQkFBQSxDQUdGLHNCQUNFLDBCQUFBLENBR0YsY0FDRSxxQkFBQSxDQUdGLHNCQUNFLDZCQUFBLENBSUYsZUFDRSxjQUFBLENBR0YsaUJBQ0UsZ0JBQUEsQ0FJRixtQkFDRSwwQkFBQSxDQUdGLGlCQUNFLHdCQUFBLENBR0Ysb0JBQ0Usc0JBQUEsQ0FHRixxQkFDRSw2QkFBQSxDQUdGLG9CQUNFLDRCQUFBLENBR0Ysb0JBQ0UsNEJBQUEsQ0FJRixpQkFDRSxzQkFBQSxDQUdGLGVBQ0Usb0JBQUEsQ0FHRixrQkFDRSxrQkFBQSxDQUdGLG9CQUNFLG9CQUFBLENBR0YsbUJBQ0UsbUJBQUEsQ0FJRixXQUNFLEtBQUEsQ0FHRixZQUNFLHNCQUFBLENBR0YsWUFDRSxzQkFBQSxDQUdGLFlBQ0Usc0JBQUEsQ0FHRixZQUNFLHNCQUFBLENBR0YsWUFDRSxzQkFBQSxDQUlGLFlBQ0UsV0FBQSxDQUdGLGVBQ0UsYUFBQSxDQUdGLGVBQ0UsU0FBQSxDQUlGLFlBQ0Usa0JBQUEsQ0FDQSxrQkFBQSxDQUNBLHNCQUFBLENBQUEsQ0FNSix1QkFFRSxjQUNFLGtCQUFBLENBR0Ysc0JBQ0UsMEJBQUEsQ0FHRixjQUNFLHFCQUFBLENBR0Ysc0JBQ0UsNkJBQUEsQ0FJRixlQUNFLGNBQUEsQ0FHRixpQkFDRSxnQkFBQSxDQUlGLG1CQUNFLDBCQUFBLENBR0YsaUJBQ0Usd0JBQUEsQ0FHRixvQkFDRSxzQkFBQSxDQUdGLHFCQUNFLDZCQUFBLENBR0Ysb0JBQ0UsNEJBQUEsQ0FHRixvQkFDRSw0QkFBQSxDQUlGLGlCQUNFLHNCQUFBLENBR0YsZUFDRSxvQkFBQSxDQUdGLGtCQUNFLGtCQUFBLENBR0Ysb0JBQ0Usb0JBQUEsQ0FHRixtQkFDRSxtQkFBQSxDQUlGLFdBQ0UsS0FBQSxDQUdGLFlBQ0Usc0JBQUEsQ0FHRixZQUNFLHNCQUFBLENBR0YsWUFDRSxzQkFBQSxDQUdGLFlBQ0Usc0JBQUEsQ0FHRixZQUNFLHNCQUFBLENBSUYsWUFDRSxXQUFBLENBR0YsZUFDRSxhQUFBLENBR0YsZUFDRSxTQUFBLENBSUYsbUJBRUUsc0JBQUEsQ0FHRixZQUNFLHNCQUFBLENBQUEsQ0FNSix1QkFFRSxjQUNFLGtCQUFBLENBR0Ysc0JBQ0UsMEJBQUEsQ0FHRixjQUNFLHFCQUFBLENBR0Ysc0JBQ0UsNkJBQUEsQ0FJRixlQUNFLGNBQUEsQ0FHRixpQkFDRSxnQkFBQSxDQUlGLG1CQUNFLDBCQUFBLENBR0YsaUJBQ0Usd0JBQUEsQ0FHRixvQkFDRSxzQkFBQSxDQUdGLHFCQUNFLDZCQUFBLENBR0Ysb0JBQ0UsNEJBQUEsQ0FHRixvQkFDRSw0QkFBQSxDQUlGLGlCQUNFLHNCQUFBLENBR0YsZUFDRSxvQkFBQSxDQUdGLGtCQUNFLGtCQUFBLENBR0Ysb0JBQ0Usb0JBQUEsQ0FHRixtQkFDRSxtQkFBQSxDQUlGLFdBQ0UsS0FBQSxDQUdGLFlBQ0Usc0JBQUEsQ0FHRixZQUNFLHNCQUFBLENBR0YsWUFDRSxzQkFBQSxDQUdGLFlBQ0Usc0JBQUEsQ0FHRixZQUNFLHNCQUFBLENBSUYsWUFDRSxXQUFBLENBR0YsZUFDRSxhQUFBLENBR0YsZUFDRSxTQUFBLENBSUYsbUJBRUUsc0JBQUEsQ0FHRixZQUNFLHNCQUFBLENBQUEiLCJmaWxlIjoiZmxleC5taW4uY3NzIn0= */
@@ -2,26 +2,26 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var chunk5PJYLVFY_cjs = require('../../chunk-5PJYLVFY.cjs');
5
+ var chunkNWJDAHP6_cjs = require('../../chunk-NWJDAHP6.cjs');
6
6
  require('../../chunk-ENTCUJ3A.cjs');
7
7
 
8
8
 
9
9
 
10
10
  Object.defineProperty(exports, 'IconLink', {
11
11
  enumerable: true,
12
- get: function () { return chunk5PJYLVFY_cjs.b; }
12
+ get: function () { return chunkNWJDAHP6_cjs.b; }
13
13
  });
14
14
  Object.defineProperty(exports, 'Link', {
15
15
  enumerable: true,
16
- get: function () { return chunk5PJYLVFY_cjs.a; }
16
+ get: function () { return chunkNWJDAHP6_cjs.a; }
17
17
  });
18
18
  Object.defineProperty(exports, 'LinkButton', {
19
19
  enumerable: true,
20
- get: function () { return chunk5PJYLVFY_cjs.c; }
20
+ get: function () { return chunkNWJDAHP6_cjs.c; }
21
21
  });
22
22
  Object.defineProperty(exports, 'default', {
23
23
  enumerable: true,
24
- get: function () { return chunk5PJYLVFY_cjs.d; }
24
+ get: function () { return chunkNWJDAHP6_cjs.d; }
25
25
  });
26
26
  //# sourceMappingURL=out.js.map
27
27
  //# sourceMappingURL=link.cjs.map
@@ -1 +1 @@
1
- a[href]{--link-color: #085ab7;--link-fw: 400;--link-fs: 1rem;--link-decoration: none;--link-decoration-offset: 0.09375rem;--link-decoration-thickness: 0.0625rem;--link-skip-ink: auto;--link-bg: transparent;--link-radius: 0.25rem;--link-padding-inline: 0;--link-padding-block: 0;--link-transition: all 0.75s ease-in-out;--link-focus-color: currentColor;--link-focus-width: 0.125rem;--link-focus-offset: 0.125rem;--link-focus-style: solid;color:var(--link-color);font-size:var(--link-fs);font-weight:var(--link-fw);text-decoration:var(--link-decoration);text-underline-offset:var(--link-decoration-offset);text-decoration-thickness:var(--link-decoration-thickness);text-decoration-skip-ink:var(--link-skip-ink);background-color:var(--link-bg);border-radius:var(--link-radius);transition:var(--link-transition)}a[href]>i,a[href]>b{font-weight:var(--link-fw);font-style:normal}a[href]:hover{--link-decoration: underline}a[href]:focus{outline:var(--link-focus-width) var(--link-focus-style) var(--link-focus-color);outline-offset:var(--link-focus-offset);--link-decoration: underline}a[href]:focus-visible{outline:var(--link-focus-width) var(--link-focus-style) var(--link-focus-color);outline-offset:var(--link-focus-offset)}a[href]:visited,a[href]:active{--link-color: currentColor}a[href]:has(>b),a[href][data-btn],a[href]:has(>i){--link-button-color: var(--link-color);--link-bg: transparent;--link-decoration: none;--link-border-width: 0.125rem;--link-border-color: currentColor;--link-border-style: solid;--link-fs: 0.9rem;color:var(--link-button-color);background-color:var(--link-bg);font-style:normal;font-size:var(--link-fs);padding-inline:var(--link-fs);padding-block:calc(var(--link-fs) - .4rem);border-radius:var(--link-radius, 99rem);display:inline-flex;align-items:center;justify-content:center;outline:var(--link-border-width) var(--link-border-color) var(--link-border-style);--scale-transition: transform 0.25s ease;--scale: scale(1);--scale-to: scale(1.05);transform:var(--scale);transition:var(--scale-transition)}a[href]:has(>b):focus,a[href]:has(>b):focus-visible,a[href][data-btn]:focus,a[href][data-btn]:focus-visible,a[href]:has(>i):focus,a[href]:has(>i):focus-visible{outline:var(--link-border-width) var(--link-border-color) var(--link-border-style);outline-offset:var(--link-focus-offset);--link-decoration: none}a[href]:has(>b):hover,a[href][data-btn]:hover,a[href]:has(>i):hover{--link-decoration: none}a[href]:has(>b):hover,a[href][data-btn]:hover,a[href]:has(>i):hover{transform:var(--scale-to)}a[href][data-link~=pill],a[href]:has(>i){--link-radius: 99rem;--link-decoration: none;font-style:normal}a[href][data-link~=pill]:hover,a[href][data-link~=pill]:focus,a[href][data-link~=pill]:focus-visible,a[href]:has(>i):hover,a[href]:has(>i):focus,a[href]:has(>i):focus-visible{--link-decoration: none}/*# sourceMappingURL=link.css.map */
1
+ a[href]{--link-color: #085ab7;--link-fw: 400;--link-fs: 1rem;--link-decoration: none;--link-decoration-offset: 0.09375rem;--link-decoration-thickness: 0.0625rem;--link-skip-ink: auto;--link-bg: transparent;--link-radius: 0.25rem;--link-padding-inline: 0;--link-padding-block: 0;--link-transition: all 0.35s ease-in-out;--link-focus-color: currentColor;--link-focus-width: 0.125rem;--link-focus-offset: 0.125rem;--link-focus-style: solid;color:var(--link-color);font-size:var(--link-fs);font-weight:var(--link-fw);text-decoration:var(--link-decoration);text-underline-offset:var(--link-decoration-offset);text-decoration-thickness:var(--link-decoration-thickness);text-decoration-skip-ink:var(--link-skip-ink);background-color:var(--link-bg);border-radius:var(--link-radius);transition:var(--link-transition)}a[href]>i,a[href]>b{font-weight:var(--link-fw);font-style:normal}a[href]:hover{--link-decoration: underline}a[href]:focus-visible{outline:var(--link-focus-width) var(--link-focus-style) var(--link-focus-color);outline-offset:var(--link-focus-offset);font-weight:bold}a[href]:visited,a[href]:active{--link-color: currentColor}a[href]:has(>b),a[href][data-btn],a[href]:has(>i){--link-button-color: var(--link-color);--link-bg: transparent;--link-decoration: none;--link-border-width: 0.125rem;--link-border-color: currentColor;--link-border-style: solid;--link-fs: 0.9rem;color:var(--link-button-color);background-color:var(--link-bg);font-style:normal;font-size:var(--link-fs);padding-inline:var(--link-fs);padding-block:calc(var(--link-fs) - .4rem);border-radius:var(--link-radius, 99rem);display:inline-flex;align-items:center;justify-content:center;outline:var(--link-border-width) var(--link-border-color) var(--link-border-style);--scale-transition: transform 0.25s ease;--scale: scale(1);--scale-to: scale(1.05);transform:var(--scale);transition:var(--scale-transition)}a[href]:has(>b):focus,a[href]:has(>b):focus-visible,a[href][data-btn]:focus,a[href][data-btn]:focus-visible,a[href]:has(>i):focus,a[href]:has(>i):focus-visible{outline:var(--link-border-width) var(--link-border-color) var(--link-border-style);outline-offset:var(--link-focus-offset);--link-decoration: none}a[href]:has(>b):hover,a[href][data-btn]:hover,a[href]:has(>i):hover{--link-decoration: none}a[href]:has(>b):hover,a[href][data-btn]:hover,a[href]:has(>i):hover{transform:var(--scale-to)}a[href][data-link~=pill],a[href]:has(>i){--link-radius: 99rem;--link-decoration: none;font-style:normal}a[href][data-link~=pill]:hover,a[href][data-link~=pill]:focus,a[href][data-link~=pill]:focus-visible,a[href]:has(>i):hover,a[href]:has(>i):focus,a[href]:has(>i):focus-visible{--link-decoration: none}/*# sourceMappingURL=link.css.map */
@@ -1 +1 @@
1
- {"version":3,"sourceRoot":"","sources":["../../../src/components/link/link.scss","../../../src/sass/_mixins.scss"],"names":[],"mappings":"AAcA,QAEE,sBACA,eACA,gBAGA,wBACA,qCACA,uCACA,sBAGA,uBACA,uBAGA,yBACA,wBAGA,yCAGA,iCACA,6BACA,8BACA,0BAGA,wBACA,yBACA,2BACA,uCACA,oDACA,2DACA,8CACA,gCACA,iCACA,kCAGA,oBAEE,2BACA,kBAIF,cACE,6BAIF,cACE,gFAEA,wCACA,6BAIF,sBACE,gFAEA,wCAIF,+BAEE,2BAIF,kDAGE,uCACA,uBACA,wBACA,8BACA,kCACA,2BACA,kBAEA,+BACA,gCACA,kBACA,yBACA,8BACA,2CACA,wCACA,oBACA,mBACA,uBACA,mFC7GF,yCACA,kBACA,wBACA,uBACA,mCD6GE,gKAEE,mFAEA,wCACA,wBAIF,oEACE,wBCtHJ,oEACE,0BD6HF,yCAEE,qBACA,wBACA,kBAEA,+KAGE","file":"link.css"}
1
+ {"version":3,"sourceRoot":"","sources":["../../../src/components/link/link.scss","../../../src/sass/_mixins.scss"],"names":[],"mappings":"AAcA,QAEE,sBACA,eACA,gBAGA,wBACA,qCACA,uCACA,sBAGA,uBACA,uBAGA,yBACA,wBAGA,yCAGA,iCACA,6BACA,8BACA,0BAGA,wBACA,yBACA,2BACA,uCACA,oDACA,2DACA,8CACA,gCACA,iCACA,kCAGA,oBAEE,2BACA,kBAIF,cACE,6BAKF,sBACE,gFAEA,wCACA,iBAIF,+BAEE,2BAIF,kDAGE,uCACA,uBACA,wBACA,8BACA,kCACA,2BACA,kBAEA,+BACA,gCACA,kBACA,yBACA,8BACA,2CACA,wCACA,oBACA,mBACA,uBACA,mFCvGF,yCACA,kBACA,wBACA,uBACA,mCDuGE,gKAEE,mFAEA,wCACA,wBAIF,oEACE,wBChHJ,oEACE,0BDuHF,yCAEE,qBACA,wBACA,kBAEA,+KAGE","file":"link.css"}
@@ -1,131 +1,2 @@
1
- import React from 'react';
2
-
3
- /**
4
- * Link - A semantic, accessible anchor component with enhanced security and styling.
5
- *
6
- * The Link component renders accessible `<a>` elements with automatic security
7
- * attributes for external links, customizable styling variants, and full WCAG 2.1
8
- * AA compliance. It supports traditional text links, button-styled links, and
9
- * programmatic focus management via ref forwarding.
10
- *
11
- * ## Features
12
- *
13
- * - 🔒 **Automatic Security**: External links get `rel="noopener noreferrer"`
14
- * - ♿ **WCAG 2.1 AA Compliant**: Accessible focus indicators and semantic HTML
15
- * - 🎨 **Flexible Styling**: Text links, button links, and pill variants
16
- * - ⚡ **Performance**: Optional prefetch hints for faster navigation
17
- * - 🎯 **Ref Forwarding**: Direct DOM access for focus management and scroll
18
- * - 🧪 **Type-Safe**: Full TypeScript support with comprehensive prop types
19
- *
20
- * ## Accessibility
21
- *
22
- * - ✅ Semantic `<a>` element for proper keyboard navigation
23
- * - ✅ Focus indicators meet WCAG 2.4.7 (3:1 contrast ratio)
24
- * - ✅ Screen readers announce link purpose and destination
25
- * - ✅ External links include security attributes automatically
26
- * - ✅ Supports `aria-label` for icon-only or ambiguous links
27
- * - ✅ Ref forwarding enables skip-link patterns
28
- *
29
- * @example
30
- * // Basic internal link
31
- * <Link href="/about">About Us</Link>
32
- *
33
- * @example
34
- * // External link with automatic security
35
- * <Link href="https://example.com" target="_blank">
36
- * Visit Example
37
- * </Link>
38
- *
39
- * @example
40
- * // Button-styled call-to-action link
41
- * <Link href="/signup">
42
- * <b>Get Started</b>
43
- * </Link>
44
- *
45
- * @example
46
- * // Icon-only link with accessible label
47
- * <Link href="/settings" aria-label="Open settings">
48
- * <SettingsIcon aria-hidden="true" />
49
- * </Link>
50
- *
51
- * @example
52
- * // Analytics tracking with onClick (includes keyboard users)
53
- * <Link
54
- * href="/products"
55
- * onClick={(e) => trackEvent('link_click', { href: '/products' })}
56
- * >
57
- * Browse Products
58
- * </Link>
59
- *
60
- * @example
61
- * // Skip link with ref forwarding for focus management
62
- * const mainRef = useRef<HTMLAnchorElement>(null);
63
- *
64
- * <Link ref={mainRef} href="#main-content">
65
- * Skip to main content
66
- * </Link>
67
- *
68
- * @example
69
- * // Custom styled link with CSS variables
70
- * <Link
71
- * href="/products"
72
- * styles={{
73
- * '--link-color': '#0066cc',
74
- * '--link-decoration': 'underline',
75
- * }}
76
- * >
77
- * Browse Products
78
- * </Link>
79
- *
80
- * @example
81
- * // ✅ GOOD: Descriptive link text
82
- * <Link href="/docs/installation">
83
- * Read installation guide
84
- * </Link>
85
- *
86
- * @example
87
- * // ❌ BAD: Generic link text (poor for screen readers)
88
- * <Link href="/docs/installation">
89
- * Click here
90
- * </Link>
91
- *
92
- * @see {@link LinkProps} for complete prop documentation
93
- */
94
- declare const Link: React.ForwardRefExoticComponent<{
95
- href?: string | undefined;
96
- target?: string | undefined;
97
- rel?: string | undefined;
98
- children: React.ReactNode;
99
- styles?: React.CSSProperties | undefined;
100
- prefetch?: boolean | undefined;
101
- btnStyle?: string | undefined;
102
- onClick?: ((event: React.MouseEvent<HTMLAnchorElement, MouseEvent>) => void) | undefined;
103
- onPointerDown?: ((event: React.PointerEvent<HTMLAnchorElement>) => void) | undefined;
104
- icon?: React.ReactNode;
105
- } & Omit<Omit<React.DetailedHTMLProps<React.AnchorHTMLAttributes<HTMLAnchorElement>, HTMLAnchorElement>, "ref">, "style"> & React.RefAttributes<HTMLAnchorElement>>;
106
- declare const IconLink: React.ForwardRefExoticComponent<{
107
- href?: string | undefined;
108
- target?: string | undefined;
109
- rel?: string | undefined;
110
- children: React.ReactNode;
111
- styles?: React.CSSProperties | undefined;
112
- prefetch?: boolean | undefined;
113
- btnStyle?: string | undefined;
114
- onClick?: ((event: React.MouseEvent<HTMLAnchorElement, MouseEvent>) => void) | undefined;
115
- onPointerDown?: ((event: React.PointerEvent<HTMLAnchorElement>) => void) | undefined;
116
- icon?: React.ReactNode;
117
- } & Omit<Omit<React.DetailedHTMLProps<React.AnchorHTMLAttributes<HTMLAnchorElement>, HTMLAnchorElement>, "ref">, "style"> & React.RefAttributes<HTMLAnchorElement>>;
118
- declare const LinkButton: React.ForwardRefExoticComponent<{
119
- href?: string | undefined;
120
- target?: string | undefined;
121
- rel?: string | undefined;
122
- children: React.ReactNode;
123
- styles?: React.CSSProperties | undefined;
124
- prefetch?: boolean | undefined;
125
- btnStyle?: string | undefined;
126
- onClick?: ((event: React.MouseEvent<HTMLAnchorElement, MouseEvent>) => void) | undefined;
127
- onPointerDown?: ((event: React.PointerEvent<HTMLAnchorElement>) => void) | undefined;
128
- icon?: React.ReactNode;
129
- } & Omit<Omit<React.DetailedHTMLProps<React.AnchorHTMLAttributes<HTMLAnchorElement>, HTMLAnchorElement>, "ref">, "style"> & React.RefAttributes<HTMLAnchorElement>>;
130
-
131
- export { IconLink, Link, LinkButton, Link as default };
1
+ import 'react';
2
+ export { I as IconLink, a as Link, b as LinkButton, c as LinkComponent, _ as default } from '../../link-59ad884f.js';
@@ -1,131 +1,2 @@
1
- import React from 'react';
2
-
3
- /**
4
- * Link - A semantic, accessible anchor component with enhanced security and styling.
5
- *
6
- * The Link component renders accessible `<a>` elements with automatic security
7
- * attributes for external links, customizable styling variants, and full WCAG 2.1
8
- * AA compliance. It supports traditional text links, button-styled links, and
9
- * programmatic focus management via ref forwarding.
10
- *
11
- * ## Features
12
- *
13
- * - 🔒 **Automatic Security**: External links get `rel="noopener noreferrer"`
14
- * - ♿ **WCAG 2.1 AA Compliant**: Accessible focus indicators and semantic HTML
15
- * - 🎨 **Flexible Styling**: Text links, button links, and pill variants
16
- * - ⚡ **Performance**: Optional prefetch hints for faster navigation
17
- * - 🎯 **Ref Forwarding**: Direct DOM access for focus management and scroll
18
- * - 🧪 **Type-Safe**: Full TypeScript support with comprehensive prop types
19
- *
20
- * ## Accessibility
21
- *
22
- * - ✅ Semantic `<a>` element for proper keyboard navigation
23
- * - ✅ Focus indicators meet WCAG 2.4.7 (3:1 contrast ratio)
24
- * - ✅ Screen readers announce link purpose and destination
25
- * - ✅ External links include security attributes automatically
26
- * - ✅ Supports `aria-label` for icon-only or ambiguous links
27
- * - ✅ Ref forwarding enables skip-link patterns
28
- *
29
- * @example
30
- * // Basic internal link
31
- * <Link href="/about">About Us</Link>
32
- *
33
- * @example
34
- * // External link with automatic security
35
- * <Link href="https://example.com" target="_blank">
36
- * Visit Example
37
- * </Link>
38
- *
39
- * @example
40
- * // Button-styled call-to-action link
41
- * <Link href="/signup">
42
- * <b>Get Started</b>
43
- * </Link>
44
- *
45
- * @example
46
- * // Icon-only link with accessible label
47
- * <Link href="/settings" aria-label="Open settings">
48
- * <SettingsIcon aria-hidden="true" />
49
- * </Link>
50
- *
51
- * @example
52
- * // Analytics tracking with onClick (includes keyboard users)
53
- * <Link
54
- * href="/products"
55
- * onClick={(e) => trackEvent('link_click', { href: '/products' })}
56
- * >
57
- * Browse Products
58
- * </Link>
59
- *
60
- * @example
61
- * // Skip link with ref forwarding for focus management
62
- * const mainRef = useRef<HTMLAnchorElement>(null);
63
- *
64
- * <Link ref={mainRef} href="#main-content">
65
- * Skip to main content
66
- * </Link>
67
- *
68
- * @example
69
- * // Custom styled link with CSS variables
70
- * <Link
71
- * href="/products"
72
- * styles={{
73
- * '--link-color': '#0066cc',
74
- * '--link-decoration': 'underline',
75
- * }}
76
- * >
77
- * Browse Products
78
- * </Link>
79
- *
80
- * @example
81
- * // ✅ GOOD: Descriptive link text
82
- * <Link href="/docs/installation">
83
- * Read installation guide
84
- * </Link>
85
- *
86
- * @example
87
- * // ❌ BAD: Generic link text (poor for screen readers)
88
- * <Link href="/docs/installation">
89
- * Click here
90
- * </Link>
91
- *
92
- * @see {@link LinkProps} for complete prop documentation
93
- */
94
- declare const Link: React.ForwardRefExoticComponent<{
95
- href?: string | undefined;
96
- target?: string | undefined;
97
- rel?: string | undefined;
98
- children: React.ReactNode;
99
- styles?: React.CSSProperties | undefined;
100
- prefetch?: boolean | undefined;
101
- btnStyle?: string | undefined;
102
- onClick?: ((event: React.MouseEvent<HTMLAnchorElement, MouseEvent>) => void) | undefined;
103
- onPointerDown?: ((event: React.PointerEvent<HTMLAnchorElement>) => void) | undefined;
104
- icon?: React.ReactNode;
105
- } & Omit<Omit<React.DetailedHTMLProps<React.AnchorHTMLAttributes<HTMLAnchorElement>, HTMLAnchorElement>, "ref">, "style"> & React.RefAttributes<HTMLAnchorElement>>;
106
- declare const IconLink: React.ForwardRefExoticComponent<{
107
- href?: string | undefined;
108
- target?: string | undefined;
109
- rel?: string | undefined;
110
- children: React.ReactNode;
111
- styles?: React.CSSProperties | undefined;
112
- prefetch?: boolean | undefined;
113
- btnStyle?: string | undefined;
114
- onClick?: ((event: React.MouseEvent<HTMLAnchorElement, MouseEvent>) => void) | undefined;
115
- onPointerDown?: ((event: React.PointerEvent<HTMLAnchorElement>) => void) | undefined;
116
- icon?: React.ReactNode;
117
- } & Omit<Omit<React.DetailedHTMLProps<React.AnchorHTMLAttributes<HTMLAnchorElement>, HTMLAnchorElement>, "ref">, "style"> & React.RefAttributes<HTMLAnchorElement>>;
118
- declare const LinkButton: React.ForwardRefExoticComponent<{
119
- href?: string | undefined;
120
- target?: string | undefined;
121
- rel?: string | undefined;
122
- children: React.ReactNode;
123
- styles?: React.CSSProperties | undefined;
124
- prefetch?: boolean | undefined;
125
- btnStyle?: string | undefined;
126
- onClick?: ((event: React.MouseEvent<HTMLAnchorElement, MouseEvent>) => void) | undefined;
127
- onPointerDown?: ((event: React.PointerEvent<HTMLAnchorElement>) => void) | undefined;
128
- icon?: React.ReactNode;
129
- } & Omit<Omit<React.DetailedHTMLProps<React.AnchorHTMLAttributes<HTMLAnchorElement>, HTMLAnchorElement>, "ref">, "style"> & React.RefAttributes<HTMLAnchorElement>>;
130
-
131
- export { IconLink, Link, LinkButton, Link as default };
1
+ import 'react';
2
+ export { I as IconLink, a as Link, b as LinkButton, c as LinkComponent, _ as default } from '../../link-59ad884f.js';
@@ -1,4 +1,4 @@
1
- export { b as IconLink, a as Link, c as LinkButton, d as default } from '../../chunk-NNTBIHSD.js';
1
+ export { b as IconLink, a as Link, c as LinkButton, d as default } from '../../chunk-5RAWNUVD.js';
2
2
  import '../../chunk-HHLNOC5T.js';
3
3
  //# sourceMappingURL=out.js.map
4
4
  //# sourceMappingURL=link.js.map
@@ -1,3 +1,3 @@
1
- a[href]{--link-color: #085ab7;--link-fw: 400;--link-fs: 1rem;--link-decoration: none;--link-decoration-offset: 0.09375rem;--link-decoration-thickness: 0.0625rem;--link-skip-ink: auto;--link-bg: transparent;--link-radius: 0.25rem;--link-padding-inline: 0;--link-padding-block: 0;--link-transition: all 0.75s ease-in-out;--link-focus-color: currentColor;--link-focus-width: 0.125rem;--link-focus-offset: 0.125rem;--link-focus-style: solid;color:var(--link-color);font-size:var(--link-fs);font-weight:var(--link-fw);-webkit-text-decoration:var(--link-decoration);text-decoration:var(--link-decoration);text-underline-offset:var(--link-decoration-offset);text-decoration-thickness:var(--link-decoration-thickness);-webkit-text-decoration-skip-ink:var(--link-skip-ink);text-decoration-skip-ink:var(--link-skip-ink);background-color:var(--link-bg);border-radius:var(--link-radius);transition:var(--link-transition)}a[href]>i,a[href]>b{font-weight:var(--link-fw);font-style:normal}a[href]:hover{--link-decoration: underline}a[href]:focus{outline:var(--link-focus-width) var(--link-focus-style) var(--link-focus-color);outline-offset:var(--link-focus-offset);--link-decoration: underline}a[href]:focus-visible{outline:var(--link-focus-width) var(--link-focus-style) var(--link-focus-color);outline-offset:var(--link-focus-offset)}a[href]:visited,a[href]:active{--link-color: currentColor}a[href]:has(>b),a[href][data-btn],a[href]:has(>i){--link-button-color: var(--link-color);--link-bg: transparent;--link-decoration: none;--link-border-width: 0.125rem;--link-border-color: currentColor;--link-border-style: solid;--link-fs: 0.9rem;color:var(--link-button-color);background-color:var(--link-bg);font-style:normal;font-size:var(--link-fs);padding-inline:var(--link-fs);padding-block:calc(var(--link-fs) - .4rem);border-radius:var(--link-radius, 99rem);display:inline-flex;align-items:center;justify-content:center;outline:var(--link-border-width) var(--link-border-color) var(--link-border-style);--scale-transition: transform 0.25s ease;--scale: scale(1);--scale-to: scale(1.05);transform:var(--scale);transition:var(--scale-transition)}a[href]:has(>b):focus,a[href]:has(>b):focus-visible,a[href][data-btn]:focus,a[href][data-btn]:focus-visible,a[href]:has(>i):focus,a[href]:has(>i):focus-visible{outline:var(--link-border-width) var(--link-border-color) var(--link-border-style);outline-offset:var(--link-focus-offset);--link-decoration: none}a[href]:has(>b):hover,a[href][data-btn]:hover,a[href]:has(>i):hover{--link-decoration: none}a[href]:has(>b):hover,a[href][data-btn]:hover,a[href]:has(>i):hover{transform:var(--scale-to)}a[href][data-link~=pill],a[href]:has(>i){--link-radius: 99rem;--link-decoration: none;font-style:normal}a[href][data-link~=pill]:hover,a[href][data-link~=pill]:focus,a[href][data-link~=pill]:focus-visible,a[href]:has(>i):hover,a[href]:has(>i):focus,a[href]:has(>i):focus-visible{--link-decoration: none}
1
+ a[href]{--link-color: #085ab7;--link-fw: 400;--link-fs: 1rem;--link-decoration: none;--link-decoration-offset: 0.09375rem;--link-decoration-thickness: 0.0625rem;--link-skip-ink: auto;--link-bg: transparent;--link-radius: 0.25rem;--link-padding-inline: 0;--link-padding-block: 0;--link-transition: all 0.35s ease-in-out;--link-focus-color: currentColor;--link-focus-width: 0.125rem;--link-focus-offset: 0.125rem;--link-focus-style: solid;color:var(--link-color);font-size:var(--link-fs);font-weight:var(--link-fw);-webkit-text-decoration:var(--link-decoration);text-decoration:var(--link-decoration);text-underline-offset:var(--link-decoration-offset);text-decoration-thickness:var(--link-decoration-thickness);-webkit-text-decoration-skip-ink:var(--link-skip-ink);text-decoration-skip-ink:var(--link-skip-ink);background-color:var(--link-bg);border-radius:var(--link-radius);transition:var(--link-transition)}a[href]>i,a[href]>b{font-weight:var(--link-fw);font-style:normal}a[href]:hover{--link-decoration: underline}a[href]:focus-visible{outline:var(--link-focus-width) var(--link-focus-style) var(--link-focus-color);outline-offset:var(--link-focus-offset);font-weight:bold}a[href]:visited,a[href]:active{--link-color: currentColor}a[href]:has(>b),a[href][data-btn],a[href]:has(>i){--link-button-color: var(--link-color);--link-bg: transparent;--link-decoration: none;--link-border-width: 0.125rem;--link-border-color: currentColor;--link-border-style: solid;--link-fs: 0.9rem;color:var(--link-button-color);background-color:var(--link-bg);font-style:normal;font-size:var(--link-fs);padding-inline:var(--link-fs);padding-block:calc(var(--link-fs) - .4rem);border-radius:var(--link-radius, 99rem);display:inline-flex;align-items:center;justify-content:center;outline:var(--link-border-width) var(--link-border-color) var(--link-border-style);--scale-transition: transform 0.25s ease;--scale: scale(1);--scale-to: scale(1.05);transform:var(--scale);transition:var(--scale-transition)}a[href]:has(>b):focus,a[href]:has(>b):focus-visible,a[href][data-btn]:focus,a[href][data-btn]:focus-visible,a[href]:has(>i):focus,a[href]:has(>i):focus-visible{outline:var(--link-border-width) var(--link-border-color) var(--link-border-style);outline-offset:var(--link-focus-offset);--link-decoration: none}a[href]:has(>b):hover,a[href][data-btn]:hover,a[href]:has(>i):hover{--link-decoration: none}a[href]:has(>b):hover,a[href][data-btn]:hover,a[href]:has(>i):hover{transform:var(--scale-to)}a[href][data-link~=pill],a[href]:has(>i){--link-radius: 99rem;--link-decoration: none;font-style:normal}a[href][data-link~=pill]:hover,a[href][data-link~=pill]:focus,a[href][data-link~=pill]:focus-visible,a[href]:has(>i):hover,a[href]:has(>i):focus,a[href]:has(>i):focus-visible{--link-decoration: none}
2
2
 
3
- /*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2xpbmsvbGluay5zY3NzIiwiLi4vLi4vLi4vc3JjL3Nhc3MvX21peGlucy5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWNBLFFBRUUscUJBQUEsQ0FDQSxjQUFBLENBQ0EsZUFBQSxDQUdBLHVCQUFBLENBQ0Esb0NBQUEsQ0FDQSxzQ0FBQSxDQUNBLHFCQUFBLENBR0Esc0JBQUEsQ0FDQSxzQkFBQSxDQUdBLHdCQUFBLENBQ0EsdUJBQUEsQ0FHQSx3Q0FBQSxDQUdBLGdDQUFBLENBQ0EsNEJBQUEsQ0FDQSw2QkFBQSxDQUNBLHlCQUFBLENBR0EsdUJBQUEsQ0FDQSx3QkFBQSxDQUNBLDBCQUFBLENBQ0EsOENBQUEsQ0FBQSxzQ0FBQSxDQUNBLG1EQUFBLENBQ0EsMERBQUEsQ0FDQSxxREFBQSxDQUFBLDZDQUFBLENBQ0EsK0JBQUEsQ0FDQSxnQ0FBQSxDQUNBLGlDQUFBLENBR0Esb0JBRUUsMEJBQUEsQ0FDQSxpQkFBQSxDQUlGLGNBQ0UsNEJBQUEsQ0FJRixjQUNFLCtFQUFBLENBRUEsdUNBQUEsQ0FDQSw0QkFBQSxDQUlGLHNCQUNFLCtFQUFBLENBRUEsdUNBQUEsQ0FJRiwrQkFFRSwwQkFBQSxDQUlGLGtEQUdFLHNDQUFBLENBQ0Esc0JBQUEsQ0FDQSx1QkFBQSxDQUNBLDZCQUFBLENBQ0EsaUNBQUEsQ0FDQSwwQkFBQSxDQUNBLGlCQUFBLENBRUEsOEJBQUEsQ0FDQSwrQkFBQSxDQUNBLGlCQUFBLENBQ0Esd0JBQUEsQ0FDQSw2QkFBQSxDQUNBLDBDQUFBLENBQ0EsdUNBQUEsQ0FDQSxtQkFBQSxDQUNBLGtCQUFBLENBQ0Esc0JBQUEsQ0FDQSxrRkFBQSxDQzdHRix3Q0FBQSxDQUNBLGlCQUFBLENBQ0EsdUJBQUEsQ0FDQSxzQkFBQSxDQUNBLGtDQUFBLENENkdFLGdLQUVFLGtGQUFBLENBRUEsdUNBQUEsQ0FDQSx1QkFBQSxDQUlGLG9FQUNFLHVCQUFBLENDdEhKLG9FQUNFLHlCQUFBLENENkhGLHlDQUVFLG9CQUFBLENBQ0EsdUJBQUEsQ0FDQSxpQkFBQSxDQUVBLCtLQUdFLHVCQUFBIiwiZmlsZSI6ImxpbmsubWluLmNzcyJ9 */
3
+ /*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2xpbmsvbGluay5zY3NzIiwiLi4vLi4vLi4vc3JjL3Nhc3MvX21peGlucy5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWNBLFFBRUUscUJBQUEsQ0FDQSxjQUFBLENBQ0EsZUFBQSxDQUdBLHVCQUFBLENBQ0Esb0NBQUEsQ0FDQSxzQ0FBQSxDQUNBLHFCQUFBLENBR0Esc0JBQUEsQ0FDQSxzQkFBQSxDQUdBLHdCQUFBLENBQ0EsdUJBQUEsQ0FHQSx3Q0FBQSxDQUdBLGdDQUFBLENBQ0EsNEJBQUEsQ0FDQSw2QkFBQSxDQUNBLHlCQUFBLENBR0EsdUJBQUEsQ0FDQSx3QkFBQSxDQUNBLDBCQUFBLENBQ0EsOENBQUEsQ0FBQSxzQ0FBQSxDQUNBLG1EQUFBLENBQ0EsMERBQUEsQ0FDQSxxREFBQSxDQUFBLDZDQUFBLENBQ0EsK0JBQUEsQ0FDQSxnQ0FBQSxDQUNBLGlDQUFBLENBR0Esb0JBRUUsMEJBQUEsQ0FDQSxpQkFBQSxDQUlGLGNBQ0UsNEJBQUEsQ0FLRixzQkFDRSwrRUFBQSxDQUVBLHVDQUFBLENBQ0EsZ0JBQUEsQ0FJRiwrQkFFRSwwQkFBQSxDQUlGLGtEQUdFLHNDQUFBLENBQ0Esc0JBQUEsQ0FDQSx1QkFBQSxDQUNBLDZCQUFBLENBQ0EsaUNBQUEsQ0FDQSwwQkFBQSxDQUNBLGlCQUFBLENBRUEsOEJBQUEsQ0FDQSwrQkFBQSxDQUNBLGlCQUFBLENBQ0Esd0JBQUEsQ0FDQSw2QkFBQSxDQUNBLDBDQUFBLENBQ0EsdUNBQUEsQ0FDQSxtQkFBQSxDQUNBLGtCQUFBLENBQ0Esc0JBQUEsQ0FDQSxrRkFBQSxDQ3ZHRix3Q0FBQSxDQUNBLGlCQUFBLENBQ0EsdUJBQUEsQ0FDQSxzQkFBQSxDQUNBLGtDQUFBLENEdUdFLGdLQUVFLGtGQUFBLENBRUEsdUNBQUEsQ0FDQSx1QkFBQSxDQUlGLG9FQUNFLHVCQUFBLENDaEhKLG9FQUNFLHlCQUFBLENEdUhGLHlDQUVFLG9CQUFBLENBQ0EsdUJBQUEsQ0FDQSxpQkFBQSxDQUVBLCtLQUdFLHVCQUFBIiwiZmlsZSI6ImxpbmsubWluLmNzcyJ9 */
@@ -1 +1 @@
1
- body>nav,[aria-label~=navbar],.navbar{padding-inline:var(--nav-padding-inline, 1rem);min-height:var(--nav-height, fit-content)}@media(max-width: 580px){body>nav,[aria-label~=navbar],.navbar{flex-direction:column;height:fit-content;min-height:fit-content;padding-block:unset;gap:.5rem}}body>nav ul>li,[aria-label~=navbar] ul>li,.navbar ul>li{display:flex;align-items:center;list-style:none;margin:0;padding:0;min-height:100%;padding-inline:var(--nav-padding-inline, 0.75rem)}body>nav ul>li:hover,[aria-label~=navbar] ul>li:hover,.navbar ul>li:hover{background-color:var(--nav-hover-bg, #e8e8e8)}body>nav ul>li:hover:where(img,button),[aria-label~=navbar] ul>li:hover:where(img,button),.navbar ul>li:hover:where(img,button){background-color:rgba(0,0,0,0)}nav{--nav-focus-color: currentColor;--nav-focus-width: 0.125rem;--nav-focus-offset: 0.125rem;--nav-focus-style: solid;display:var(--nav-display, flex);flex-direction:var(--nav-direction, row);width:var(--nav-width, auto);place-items:var(--nav-align, center);justify-content:var(--nav-justify, space-between);margin-inline:var(--nav-margin-inline, 0);background-color:var(--nav-bg, initial)}nav>section,nav>ul{--nav-display: flex;flex-direction:var(--nav-direction, row);display:var(--nav-display, flex);gap:var(--nav-gap, 0);font-size:var(--nav-fs, 0.9rem);align-items:var(--nav-align, center);padding-inline:var(--nav-padding-inline, 1rem);padding-block:var(--nav-padding-block, 0);margin-block-end:var(--nav-margin-block-end, 0);height:100%}nav>section[data-list~=block],nav>ul[data-list~=block]{--nav-direction: column}nav>section>div{--nav-padding-block: 0}nav ul>li{display:flex;align-items:center;list-style:none;margin:0;padding:0;min-height:100%;padding-inline:var(--nav-padding-inline, 1rem)}nav img[alt]{--nav-img-padding-inline: 0 var(--s1);--nav-img-width: var(--brand-w, 3.6rem)}nav[data-variant]{background-color:var(--nav-bg);color:var(--nav-color);font-size:var(--nav-fs, 0.9rem)}nav>div{margin-block-start:0}nav a:focus{outline:var(--nav-focus-width) var(--nav-focus-style) var(--nav-focus-color);outline-offset:var(--nav-focus-offset)}nav a:focus-visible{outline:var(--nav-focus-width) var(--nav-focus-style) var(--nav-focus-color);outline-offset:var(--nav-focus-offset)}nav button:focus{outline:var(--nav-focus-width) var(--nav-focus-style) var(--nav-focus-color);outline-offset:var(--nav-focus-offset)}nav button:focus-visible{outline:var(--nav-focus-width) var(--nav-focus-style) var(--nav-focus-color);outline-offset:var(--nav-focus-offset)}/*# sourceMappingURL=nav.css.map */
1
+ body>nav,[aria-label~=navbar],.navbar{padding-inline:var(--nav-padding-inline, 1rem);min-height:var(--nav-height, fit-content)}@media(max-width: 580px){body>nav,[aria-label~=navbar],.navbar{flex-direction:column;height:fit-content;min-height:fit-content;padding-block:unset;gap:.5rem}}body>nav ul>li,[aria-label~=navbar] ul>li,.navbar ul>li{display:flex;align-items:center;list-style:none;margin:0;padding:0;min-height:100%;padding-inline:var(--nav-padding-inline, 0.75rem)}body>nav ul>li:hover,[aria-label~=navbar] ul>li:hover,.navbar ul>li:hover{background-color:var(--nav-hover-bg, #e8e8e8)}body>nav ul>li:hover:has(img,button),[aria-label~=navbar] ul>li:hover:has(img,button),.navbar ul>li:hover:has(img,button){background-color:rgba(0,0,0,0)}nav{--nav-focus-color: currentColor;--nav-focus-width: 0.125rem;--nav-focus-offset: 0.125rem;--nav-focus-style: solid;display:var(--nav-display, flex);flex-direction:var(--nav-direction, row);width:var(--nav-width, auto);place-items:var(--nav-align, center);justify-content:var(--nav-justify, space-between);margin-inline:var(--nav-margin-inline, 0);background-color:var(--nav-bg, initial)}nav>section,nav>ul{--nav-display: flex;flex-direction:var(--nav-direction, row);display:var(--nav-display, flex);gap:var(--nav-gap, 0);font-size:var(--nav-fs, 0.9rem);align-items:var(--nav-align, center);padding-inline:var(--nav-padding-inline, 1rem);padding-block:var(--nav-padding-block, 0);margin-block-end:var(--nav-margin-block-end, 0);height:100%}nav>section[data-list~=block],nav>ul[data-list~=block]{--nav-direction: column}nav>section>div{--nav-padding-block: 0}nav ul>li{display:flex;align-items:center;list-style:none;margin:0;padding:0;min-height:100%;padding-inline:var(--nav-padding-inline, 1rem)}nav img[alt]{--nav-img-padding-inline: 0 var(--s1);--nav-img-width: var(--brand-w, 3.6rem)}nav[data-variant]{background-color:var(--nav-bg);color:var(--nav-color);font-size:var(--nav-fs, 0.9rem)}nav>div{margin-block-start:0}nav a:focus{outline:var(--nav-focus-width) var(--nav-focus-style) var(--nav-focus-color);outline-offset:var(--nav-focus-offset)}nav a:focus-visible{outline:var(--nav-focus-width) var(--nav-focus-style) var(--nav-focus-color);outline-offset:var(--nav-focus-offset)}nav button:focus{outline:var(--nav-focus-width) var(--nav-focus-style) var(--nav-focus-color);outline-offset:var(--nav-focus-offset)}nav button:focus-visible{outline:var(--nav-focus-width) var(--nav-focus-style) var(--nav-focus-color);outline-offset:var(--nav-focus-offset)}/*# sourceMappingURL=nav.css.map */
@@ -1 +1 @@
1
- {"version":3,"sourceRoot":"","sources":["../../../src/components/nav/nav.scss"],"names":[],"mappings":"AAAA,sCAGE,+CACA,0CAEA,yBANF,sCAOI,sBACA,mBACA,uBACA,oBACA,WAGA,wDACE,aACA,mBACA,gBACA,SACA,UACA,gBACA,kDAEA,0EACE,8CAEF,gIACE,+BAMR,IAEE,gCACA,4BACA,6BACA,yBAEA,iCACA,yCACA,6BACA,qCACA,kDACA,0CACA,wCAEA,mBAEE,oBACA,yCACA,iCACA,sBACA,gCACA,qCACA,+CACA,0CACA,gDACA,YACA,uDACE,wBAKF,gBACE,uBAKF,UACE,aACA,mBACA,gBACA,SACA,UACA,gBACA,+CAIJ,aACE,sCACA,wCAGF,kBACE,+BACA,uBACA,gCAGF,QACE,qBAIF,YACE,6EAEA,uCAGF,oBACE,6EAEA,uCAGF,iBACE,6EAEA,uCAGF,yBACE,6EAEA","file":"nav.css"}
1
+ {"version":3,"sourceRoot":"","sources":["../../../src/components/nav/nav.scss"],"names":[],"mappings":"AAAA,sCAGE,+CACA,0CAEA,yBANF,sCAOI,sBACA,mBACA,uBACA,oBACA,WAGA,wDACE,aACA,mBACA,gBACA,SACA,UACA,gBACA,kDAEA,0EACE,8CAEF,0HACE,+BAMR,IAEE,gCACA,4BACA,6BACA,yBAEA,iCACA,yCACA,6BACA,qCACA,kDACA,0CACA,wCAEA,mBAEE,oBACA,yCACA,iCACA,sBACA,gCACA,qCACA,+CACA,0CACA,gDACA,YACA,uDACE,wBAKF,gBACE,uBAKF,UACE,aACA,mBACA,gBACA,SACA,UACA,gBACA,+CAIJ,aACE,sCACA,wCAGF,kBACE,+BACA,uBACA,gCAGF,QACE,qBAIF,YACE,6EAEA,uCAGF,oBACE,6EAEA,uCAGF,iBACE,6EAEA,uCAGF,yBACE,6EAEA","file":"nav.css"}