@activecollab/components 1.0.199 → 1.0.201

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.
@@ -1,20 +1,26 @@
1
1
  "use strict";
2
2
 
3
+ function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
4
+
3
5
  Object.defineProperty(exports, "__esModule", {
4
6
  value: true
5
7
  });
6
8
  exports.Link = void 0;
7
9
 
8
- var _react = _interopRequireDefault(require("react"));
10
+ var _react = _interopRequireWildcard(require("react"));
9
11
 
10
12
  var _classnames = _interopRequireDefault(require("classnames"));
11
13
 
12
14
  var _Styles = require("./Styles");
13
15
 
14
- var _excluded = ["children", "variant", "size", "disabled", "className"];
16
+ var _excluded = ["as", "children", "variant", "size", "disabled", "className"];
15
17
 
16
18
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
19
 
20
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
21
+
22
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
23
+
18
24
  function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
19
25
 
20
26
  function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
@@ -24,8 +30,9 @@ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) r
24
30
  /**
25
31
  * Link component
26
32
  */
27
- var Link = function Link(_ref) {
28
- var children = _ref.children,
33
+ var Link = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
34
+ var as = _ref.as,
35
+ children = _ref.children,
29
36
  _ref$variant = _ref.variant,
30
37
  variant = _ref$variant === void 0 ? "contained" : _ref$variant,
31
38
  size = _ref.size,
@@ -34,7 +41,10 @@ var Link = function Link(_ref) {
34
41
  className = _ref.className,
35
42
  args = _objectWithoutProperties(_ref, _excluded);
36
43
 
44
+ var Component = as || "a";
37
45
  return /*#__PURE__*/_react.default.createElement(_Styles.StyledLink, _extends({
46
+ ref: ref,
47
+ as: Component,
38
48
  disabled: disabled,
39
49
  className: (0, _classnames.default)("c-link", className, {
40
50
  "c-link--contained": variant === "primary" || variant === "contained",
@@ -59,8 +69,7 @@ var Link = function Link(_ref) {
59
69
  key: index
60
70
  }, value) : null;
61
71
  })) : children);
62
- };
63
-
72
+ });
64
73
  exports.Link = Link;
65
74
  Link.displayName = "Link";
66
75
  //# sourceMappingURL=Link.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Links/Link.tsx"],"names":["Link","children","variant","size","disabled","className","args","Object","Array","map","value","index","displayName"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;;;;;;;;;;;AAyBA;AACA;AACA;AACO,IAAMA,IAAoB,GAAG,SAAvBA,IAAuB,OAO9B;AAAA,MANJC,QAMI,QANJA,QAMI;AAAA,0BALJC,OAKI;AAAA,MALJA,OAKI,6BALM,WAKN;AAAA,MAJJC,IAII,QAJJA,IAII;AAAA,2BAHJC,QAGI;AAAA,MAHJA,QAGI,8BAHO,KAGP;AAAA,MAFJC,SAEI,QAFJA,SAEI;AAAA,MADDC,IACC;;AACJ,sBACE,6BAAC,kBAAD;AACE,IAAA,QAAQ,EAAEF,QADZ;AAEE,IAAA,SAAS,EAAE,yBAAW,QAAX,EAAqBC,SAArB,EAAgC;AACzC,2BAAqBH,OAAO,KAAK,SAAZ,IAAyBA,OAAO,KAAK,WADjB;AAEzC,0BAAoBA,OAAO,KAAK,WAAZ,IAA2BA,OAAO,KAAK,UAFlB;AAGzC,8BACEA,OAAO,KAAK,UAAZ,IAA0BA,OAAO,KAAK,cAJC;AAKzC,2BAAqBA,OAAO,KAAK,QAAZ,IAAwBA,OAAO,KAAK,WALhB;AAMzC,kCAA4BA,OAAO,KAAK,kBANC;AAOzC,+BAAyBA,OAAO,KAAK,eAPI;AAQzC,qBAAeC,IAAI,KAAK,KARiB;AASzC,uBAAiBA,IAAI,KAAK,OATe;AAUzC,2BACEF,QAAQ,YAAYM,MAApB,IAA8B,EAAEN,QAAQ,YAAYO,KAAtB,CAXS;AAYzC,0BAAoBJ;AAZqB,KAAhC,CAFb;AAgBE,IAAA,OAAO,EAAEF,OAhBX;AAiBE,IAAA,IAAI,EAAEC,IAjBR;AAkBE,IAAA,QAAQ,EAAEF,QAAQ,YAAYM,MAApB,IAA8B,EAAEN,QAAQ,YAAYO,KAAtB;AAlB1C,KAmBMF,IAnBN,GAqBGL,QAAQ,YAAYO,KAApB,gBACC,6BAAC,0BAAD;AAAoB,IAAA,SAAS,EAAC;AAA9B,KACGP,QAAQ,CAACQ,GAAT,CAAa,UAACC,KAAD,EAAQC,KAAR;AAAA,WACZD,KAAK,gBACH,6BAAC,yBAAD;AACE,MAAA,SAAS,EAAC,2BADZ;AAEE,MAAA,GAAG,EAAEC;AAFP,OAIGD,KAJH,CADG,GAOD,IARQ;AAAA,GAAb,CADH,CADD,GAcCT,QAnCJ,CADF;AAwCD,CAhDM;;;AAkDPD,IAAI,CAACY,WAAL,GAAmB,MAAnB","sourcesContent":["import React, { FC, BaseHTMLAttributes, ReactNode } from \"react\";\nimport classNames from \"classnames\";\nimport { StyledLink, StyledLinkElement, StyledLinkElements } from \"./Styles\";\n\nexport interface ILinkProps extends BaseHTMLAttributes<HTMLAnchorElement> {\n /** Children type of node or string */\n children: ReactNode | string;\n /** Variant Buttons */\n variant?:\n | \"primary\"\n | \"secondary\"\n | \"tertiary\"\n | \"option\"\n | \"contained\"\n | \"outlined\"\n | \"text colored\"\n | \"text gray\"\n | \"dark transparent\"\n | \"circle raised\";\n /** Button size can be big, medium or small */\n size?: \"big\" | \"small\";\n /** Disabled prop */\n disabled?: boolean;\n /** CSS classes */\n className?: string;\n}\n\n/**\n * Link component\n */\nexport const Link: FC<ILinkProps> = ({\n children,\n variant = \"contained\",\n size,\n disabled = false,\n className,\n ...args\n}) => {\n return (\n <StyledLink\n disabled={disabled}\n className={classNames(\"c-link\", className, {\n \"c-link--contained\": variant === \"primary\" || variant === \"contained\",\n \"c-link--outlined\": variant === \"secondary\" || variant === \"outlined\",\n \"c-link--text_colored\":\n variant === \"tertiary\" || variant === \"text colored\",\n \"c-link--text_gray\": variant === \"option\" || variant === \"text gray\",\n \"c-link--dark_transparent\": variant === \"dark transparent\",\n \"c-link--circle_raised\": variant === \"circle raised\",\n \"c-link--big\": size === \"big\",\n \"c-link--small\": size === \"small\",\n \"c-link--icon-only\":\n children instanceof Object && !(children instanceof Array),\n \"c-link--disabled\": disabled,\n })}\n variant={variant}\n size={size}\n iconOnly={children instanceof Object && !(children instanceof Array)}\n {...args}\n >\n {children instanceof Array ? (\n <StyledLinkElements className=\"c-link__elements\">\n {children.map((value, index) =>\n value ? (\n <StyledLinkElement\n className=\"c-link__elements__element\"\n key={index}\n >\n {value}\n </StyledLinkElement>\n ) : null\n )}\n </StyledLinkElements>\n ) : (\n children\n )}\n </StyledLink>\n );\n};\n\nLink.displayName = \"Link\";\n"],"file":"Link.js"}
1
+ {"version":3,"sources":["../../../../src/components/Links/Link.tsx"],"names":["Link","ref","as","children","variant","size","disabled","className","args","Component","Object","Array","map","value","index","displayName"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;;;;;;;;;;;;;;;AAoCA;AACA;AACA;AACO,IAAMA,IAA8C,gBAAG,uBAC5D,gBAUEC,GAVF,EAWK;AAAA,MATDC,EASC,QATDA,EASC;AAAA,MARDC,QAQC,QARDA,QAQC;AAAA,0BAPDC,OAOC;AAAA,MAPDA,OAOC,6BAPS,WAOT;AAAA,MANDC,IAMC,QANDA,IAMC;AAAA,2BALDC,QAKC;AAAA,MALDA,QAKC,8BALU,KAKV;AAAA,MAJDC,SAIC,QAJDA,SAIC;AAAA,MAHEC,IAGF;;AACH,MAAMC,SAAS,GAAGP,EAAE,IAAI,GAAxB;AAEA,sBACE,6BAAC,kBAAD;AACE,IAAA,GAAG,EAAED,GADP;AAEE,IAAA,EAAE,EAAEQ,SAFN;AAGE,IAAA,QAAQ,EAAEH,QAHZ;AAIE,IAAA,SAAS,EAAE,yBAAW,QAAX,EAAqBC,SAArB,EAAgC;AACzC,2BAAqBH,OAAO,KAAK,SAAZ,IAAyBA,OAAO,KAAK,WADjB;AAEzC,0BAAoBA,OAAO,KAAK,WAAZ,IAA2BA,OAAO,KAAK,UAFlB;AAGzC,8BACEA,OAAO,KAAK,UAAZ,IAA0BA,OAAO,KAAK,cAJC;AAKzC,2BAAqBA,OAAO,KAAK,QAAZ,IAAwBA,OAAO,KAAK,WALhB;AAMzC,kCAA4BA,OAAO,KAAK,kBANC;AAOzC,+BAAyBA,OAAO,KAAK,eAPI;AAQzC,qBAAeC,IAAI,KAAK,KARiB;AASzC,uBAAiBA,IAAI,KAAK,OATe;AAUzC,2BACEF,QAAQ,YAAYO,MAApB,IAA8B,EAAEP,QAAQ,YAAYQ,KAAtB,CAXS;AAYzC,0BAAoBL;AAZqB,KAAhC,CAJb;AAkBE,IAAA,OAAO,EAAEF,OAlBX;AAmBE,IAAA,IAAI,EAAEC,IAnBR;AAoBE,IAAA,QAAQ,EAAEF,QAAQ,YAAYO,MAApB,IAA8B,EAAEP,QAAQ,YAAYQ,KAAtB;AApB1C,KAqBMH,IArBN,GAuBGL,QAAQ,YAAYQ,KAApB,gBACC,6BAAC,0BAAD;AAAoB,IAAA,SAAS,EAAC;AAA9B,KACGR,QAAQ,CAACS,GAAT,CAAa,UAACC,KAAD,EAAQC,KAAR;AAAA,WACZD,KAAK,gBACH,6BAAC,yBAAD;AACE,MAAA,SAAS,EAAC,2BADZ;AAEE,MAAA,GAAG,EAAEC;AAFP,OAIGD,KAJH,CADG,GAOD,IARQ;AAAA,GAAb,CADH,CADD,GAcCV,QArCJ,CADF;AA0CD,CAzD2D,CAAvD;;AA4DPH,IAAI,CAACe,WAAL,GAAmB,MAAnB","sourcesContent":["import React, { BaseHTMLAttributes, ReactNode, forwardRef } from \"react\";\nimport classNames from \"classnames\";\nimport { StyledLink, StyledLinkElement, StyledLinkElements } from \"./Styles\";\nimport {\n PolymorphicComponentPropsWithRef,\n PolymorphicRef,\n} from \"../../utils/types\";\n\nexport interface ILinkProps extends BaseHTMLAttributes<HTMLElement> {\n /** Children type of node or string */\n children: ReactNode | string;\n /** Variant Buttons */\n variant?:\n | \"primary\"\n | \"secondary\"\n | \"tertiary\"\n | \"option\"\n | \"contained\"\n | \"outlined\"\n | \"text colored\"\n | \"text gray\"\n | \"dark transparent\"\n | \"circle raised\";\n /** Button size can be big, medium or small */\n size?: \"big\" | \"small\";\n /** Disabled prop */\n disabled?: boolean;\n /** CSS classes */\n className?: string;\n}\n\nexport type LinkProps<C extends React.ElementType> =\n PolymorphicComponentPropsWithRef<C, ILinkProps>;\n\nexport type LinkComponent = <C extends React.ElementType = \"a\">(\n props: LinkProps<C>\n) => React.ReactElement | null;\n\n/**\n * Link component\n */\nexport const Link: LinkComponent & { displayName?: string } = forwardRef(\n <C extends React.ElementType = \"a\">(\n {\n as,\n children,\n variant = \"contained\",\n size,\n disabled = false,\n className,\n ...args\n }: LinkProps<C>,\n ref?: PolymorphicRef<C>\n ) => {\n const Component = as || \"a\";\n\n return (\n <StyledLink\n ref={ref}\n as={Component}\n disabled={disabled}\n className={classNames(\"c-link\", className, {\n \"c-link--contained\": variant === \"primary\" || variant === \"contained\",\n \"c-link--outlined\": variant === \"secondary\" || variant === \"outlined\",\n \"c-link--text_colored\":\n variant === \"tertiary\" || variant === \"text colored\",\n \"c-link--text_gray\": variant === \"option\" || variant === \"text gray\",\n \"c-link--dark_transparent\": variant === \"dark transparent\",\n \"c-link--circle_raised\": variant === \"circle raised\",\n \"c-link--big\": size === \"big\",\n \"c-link--small\": size === \"small\",\n \"c-link--icon-only\":\n children instanceof Object && !(children instanceof Array),\n \"c-link--disabled\": disabled,\n })}\n variant={variant}\n size={size}\n iconOnly={children instanceof Object && !(children instanceof Array)}\n {...args}\n >\n {children instanceof Array ? (\n <StyledLinkElements className=\"c-link__elements\">\n {children.map((value, index) =>\n value ? (\n <StyledLinkElement\n className=\"c-link__elements__element\"\n key={index}\n >\n {value}\n </StyledLinkElement>\n ) : null\n )}\n </StyledLinkElements>\n ) : (\n children\n )}\n </StyledLink>\n );\n }\n);\n\nLink.displayName = \"Link\";\n"],"file":"Link.js"}
@@ -27,7 +27,7 @@ exports.StyledLinkElement = StyledLinkElement;
27
27
  var StyledLink = _styledComponents.default.a.withConfig({
28
28
  displayName: "Styles__StyledLink",
29
29
  componentId: "sc-1c1jdox-1"
30
- })(["", " ", " ", " border:none;height:32px;transition:all 0.3s ease;svg{fill:currentColor;}&::-moz-focus-inner{border:0;}&:focus{outline:none;}&:hover{text-decoration:none;}", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", ""], _FontStyle.FontStyle, _BoxSizingStyle.BoxSizingStyle, {
30
+ })(["", " ", " ", " border:none;height:32px;transition:background-color 0.3s ease,box-shadow 0.3s ease,color 0.3s ease,border-color 0.3s ease;svg{fill:currentColor;}&::-moz-focus-inner{border:0;}&:focus{outline:none;}&:hover{text-decoration:none;}", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", ""], _FontStyle.FontStyle, _BoxSizingStyle.BoxSizingStyle, {
31
31
  "WebkitFontSmoothing": "antialiased",
32
32
  "MozOsxFontSmoothing": "grayscale",
33
33
  "fontWeight": "500",
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Links/Styles.ts"],"names":["StyledLinkElement","styled","div","StyledLink","a","FontStyle","BoxSizingStyle","props","disabled","css","size","variant","iconOnly","StyledLinkElements","StyledBackLink","displayName"],"mappings":"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","sourcesContent":["import styled, { css } from \"styled-components\";\nimport tw from \"twin.macro\";\nimport { FontStyle } from \"../FontStyle\";\nimport { BoxSizingStyle } from \"../BoxSizingStyle\";\nimport { ILinkProps } from \"./Link\";\n\ninterface StyledLinkProps extends ILinkProps {\n iconOnly: boolean;\n}\n\nexport const StyledLinkElement = styled.div``;\n\nexport const StyledLink = styled.a<StyledLinkProps>`\n ${FontStyle}\n ${BoxSizingStyle}\n ${tw`\n tw-antialiased\n tw-font-medium\n tw-leading-none\n tw-m-0\n tw-no-underline\n tw-text-sm\n tw-select-none\n tw-cursor-pointer\n tw-inline-flex\n tw-items-center\n tw-justify-center`}\n\n border: none;\n height: 32px;\n transition: all 0.3s ease;\n\n svg {\n fill: currentColor;\n }\n\n &::-moz-focus-inner {\n border: 0;\n }\n\n &:focus {\n outline: none;\n }\n\n &:hover {\n text-decoration: none;\n }\n\n ${(props) =>\n props.disabled &&\n css`\n cursor: default;\n opacity: 50%;\n pointer-events: none;\n `}\n\n ${(props) =>\n props.size === \"small\" &&\n css`\n height: 24px;\n `}\n\n ${(props) =>\n props.size === \"big\" &&\n css`\n height: 40px;\n `}\n\n ${(props) =>\n (props.variant === \"primary\" || props.variant === \"contained\") &&\n css`\n padding: 0 16px;\n background-color: var(--color-primary);\n border-radius: 16px;\n color: var(--color-theme-100);\n\n &:focus,\n &:hover {\n box-shadow: 0 3px 6px -2px var(--color-primary-500);\n background-color: var(--color-primary-800);\n }\n\n &:active {\n box-shadow: 0 4px 10px -2px var(--color-primary-600);\n background-color: var(--color-primary-800);\n }\n `}\n\n ${(props) =>\n (props.variant === \"secondary\" || props.variant === \"outlined\") &&\n css`\n padding: 0 16px;\n background-color: transparent;\n border-radius: 16px;\n border: solid 1px var(--color-theme-600);\n color: var(--color-theme-600);\n\n &:focus,\n &:hover {\n border-color: var(--color-primary);\n color: var(--color-primary);\n }\n\n &:active {\n border-color: var(--color-primary);\n color: var(--color-primary);\n background-color: var(--color-primary-200);\n }\n `}\n\n ${(props) =>\n (props.variant === \"tertiary\" || props.variant === \"text colored\") &&\n css`\n padding: 0 8px;\n background-color: transparent;\n border-radius: 6px;\n color: var(--color-primary);\n\n &:focus,\n &:hover {\n background-color: var(--color-primary-200);\n }\n\n &:active {\n background-color: var(--color-primary-300);\n }\n `}\n\n ${(props) =>\n (props.variant === \"option\" || props.variant === \"text gray\") &&\n css`\n padding: 0 8px;\n background-color: transparent;\n border-radius: 6px;\n color: var(--color-theme-600);\n\n &:focus,\n &:hover {\n background-color: var(--color-theme-300);\n color: var(--color-theme-900);\n }\n\n &:active {\n background-color: var(--color-theme-400);\n color: var(--color-theme-900);\n }\n `}\n\n ${(props) =>\n props.variant === \"dark transparent\" &&\n css`\n padding: 0 8px;\n background-color: rgba(0, 0, 0, 0.5);\n border-radius: var(--ac-br-6);\n color: var(--only-white);\n\n &:hover {\n background-color: rgba(0, 0, 0, 0.85);\n }\n\n &:active {\n background-color: var(--only-black);\n }\n `}\n\n ${(props) =>\n props.variant === \"circle raised\" &&\n css`\n padding: 0 6px;\n background-color: transparent;\n border-radius: var(--ac-br-rounded);\n color: var(--color-theme-700);\n transition: ease 0.3s all;\n\n &:hover {\n background-color: var(--page-paper-main);\n box-shadow: var(--shadow-tertiary);\n }\n\n &:active {\n background-color: var(--page-paper-main);\n box-shadow: var(--shadow-tertiary-hover);\n }\n `}\n\n ${(props) =>\n props.iconOnly &&\n css`\n padding: 0;\n width: 32px;\n\n ${props.size === \"small\" &&\n css`\n radius: 16px;\n width: 24px;\n `}\n\n ${props.size === \"big\" &&\n css`\n radius: 20px;\n width: 40px;\n `}\n `}\n\n ${(props) =>\n (props.variant === \"primary\" ||\n props.variant === \"contained\" ||\n props.variant === \"secondary\" ||\n props.variant === \"outlined\") &&\n css`\n ${StyledLinkElement}:first-child svg {\n margin-left: -6px;\n }\n ${StyledLinkElement}:last-child svg {\n margin-right: -6px;\n }\n\n ${props.size === \"small\" &&\n css`\n radius: 16px;\n `}\n\n ${props.size === \"big\" &&\n css`\n radius: 20px;\n `}\n `}\n\n ${(props) =>\n (props.variant === \"tertiary\" ||\n props.variant === \"text colored\" ||\n props.variant === \"option\" ||\n props.variant === \"text gray\" ||\n props.variant === \"dark transparent\") &&\n css`\n ${StyledLinkElement}:first-child svg {\n margin-left: -4px;\n }\n ${StyledLinkElement}:last-child svg {\n margin-right: -4px;\n }\n\n ${props.size === \"small\" &&\n css`\n radius: 4px;\n `}\n\n ${props.size === \"big\" &&\n css`\n radius: 8px;\n `}\n `}\n`;\n\nexport const StyledLinkElements = styled.div`\n display: table;\n height: inherit;\n\n svg {\n margin: 0 4px;\n margin-bottom: -2px;\n }\n\n ${StyledLinkElement} {\n display: table-cell;\n vertical-align: middle;\n padding-bottom: 2px;\n }\n`;\n\nexport const StyledBackLink = styled.a`\n ${FontStyle}\n ${BoxSizingStyle}\n\n ${tw`\n tw-pl-8\n tw-text-xxs\n tw-uppercase\n tw-inline-flex\n tw-align-middle\n tw-pr-4\n tw-text-theme-600\n tw-cursor-pointer\n `}\n\n text-decoration: none;\n border: transparent 1px solid;\n border-radius: 20px;\n height: 32px;\n font-size: 10px;\n font-weight: 500;\n display: table-cell;\n vertical-align: middle;\n\n &:before,\n &:after {\n content: \"\";\n ${tw`\n tw-border-solid\n tw-text-theme-700\n tw-inline-block\n tw-p-0\n tw-w-2\n tw-h-2\n tw-bg-no-repeat\n `}\n border-width: 0 1px 1px 0;\n position: absolute;\n left: 0;\n transition: all ease 0.3s;\n }\n &:before {\n ${tw`tw-opacity-100`}\n transform: translateX(1rem) translateY(0.1rem) rotate(135deg);\n }\n &:after {\n ${tw`tw-opacity-0`}\n transform: translateX(2rem) translateY(0.1rem) rotate(135deg);\n }\n &:hover {\n text-decoration: none;\n border-color: var(--border-primary);\n &:before {\n ${tw`tw-opacity-0`}\n transform: translateX(0rem) translateY(0.1rem) rotate(135deg);\n }\n &:after {\n ${tw`tw-opacity-100`}\n transform: translateX(1rem) translateY(0.1rem) rotate(135deg);\n }\n }\n`;\n\nStyledBackLink.displayName = \"StyledBackLink\";\nStyledLinkElement.displayName = \"StyledLinkElement\";\nStyledLinkElements.displayName = \"StyledLinkElements\";\nStyledLink.displayName = \"StyledLink\";\n"],"file":"Styles.js"}
1
+ {"version":3,"sources":["../../../../src/components/Links/Styles.ts"],"names":["StyledLinkElement","styled","div","StyledLink","a","FontStyle","BoxSizingStyle","props","disabled","css","size","variant","iconOnly","StyledLinkElements","StyledBackLink","displayName"],"mappings":"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","sourcesContent":["import styled, { css } from \"styled-components\";\nimport tw from \"twin.macro\";\nimport { FontStyle } from \"../FontStyle\";\nimport { BoxSizingStyle } from \"../BoxSizingStyle\";\nimport { ILinkProps } from \"./Link\";\n\ninterface StyledLinkProps extends ILinkProps {\n iconOnly: boolean;\n}\n\nexport const StyledLinkElement = styled.div``;\n\nexport const StyledLink = styled.a<StyledLinkProps>`\n ${FontStyle}\n ${BoxSizingStyle}\n ${tw`\n tw-antialiased\n tw-font-medium\n tw-leading-none\n tw-m-0\n tw-no-underline\n tw-text-sm\n tw-select-none\n tw-cursor-pointer\n tw-inline-flex\n tw-items-center\n tw-justify-center`}\n\n border: none;\n height: 32px;\n transition: background-color 0.3s ease, box-shadow 0.3s ease, color 0.3s ease,\n border-color 0.3s ease;\n\n svg {\n fill: currentColor;\n }\n\n &::-moz-focus-inner {\n border: 0;\n }\n\n &:focus {\n outline: none;\n }\n\n &:hover {\n text-decoration: none;\n }\n\n ${(props) =>\n props.disabled &&\n css`\n cursor: default;\n opacity: 50%;\n pointer-events: none;\n `}\n\n ${(props) =>\n props.size === \"small\" &&\n css`\n height: 24px;\n `}\n\n ${(props) =>\n props.size === \"big\" &&\n css`\n height: 40px;\n `}\n\n ${(props) =>\n (props.variant === \"primary\" || props.variant === \"contained\") &&\n css`\n padding: 0 16px;\n background-color: var(--color-primary);\n border-radius: 16px;\n color: var(--color-theme-100);\n\n &:focus,\n &:hover {\n box-shadow: 0 3px 6px -2px var(--color-primary-500);\n background-color: var(--color-primary-800);\n }\n\n &:active {\n box-shadow: 0 4px 10px -2px var(--color-primary-600);\n background-color: var(--color-primary-800);\n }\n `}\n\n ${(props) =>\n (props.variant === \"secondary\" || props.variant === \"outlined\") &&\n css`\n padding: 0 16px;\n background-color: transparent;\n border-radius: 16px;\n border: solid 1px var(--color-theme-600);\n color: var(--color-theme-600);\n\n &:focus,\n &:hover {\n border-color: var(--color-primary);\n color: var(--color-primary);\n }\n\n &:active {\n border-color: var(--color-primary);\n color: var(--color-primary);\n background-color: var(--color-primary-200);\n }\n `}\n\n ${(props) =>\n (props.variant === \"tertiary\" || props.variant === \"text colored\") &&\n css`\n padding: 0 8px;\n background-color: transparent;\n border-radius: 6px;\n color: var(--color-primary);\n\n &:focus,\n &:hover {\n background-color: var(--color-primary-200);\n }\n\n &:active {\n background-color: var(--color-primary-300);\n }\n `}\n\n ${(props) =>\n (props.variant === \"option\" || props.variant === \"text gray\") &&\n css`\n padding: 0 8px;\n background-color: transparent;\n border-radius: 6px;\n color: var(--color-theme-600);\n\n &:focus,\n &:hover {\n background-color: var(--color-theme-300);\n color: var(--color-theme-900);\n }\n\n &:active {\n background-color: var(--color-theme-400);\n color: var(--color-theme-900);\n }\n `}\n\n ${(props) =>\n props.variant === \"dark transparent\" &&\n css`\n padding: 0 8px;\n background-color: rgba(0, 0, 0, 0.5);\n border-radius: var(--ac-br-6);\n color: var(--only-white);\n\n &:hover {\n background-color: rgba(0, 0, 0, 0.85);\n }\n\n &:active {\n background-color: var(--only-black);\n }\n `}\n\n ${(props) =>\n props.variant === \"circle raised\" &&\n css`\n padding: 0 6px;\n background-color: transparent;\n border-radius: var(--ac-br-rounded);\n color: var(--color-theme-700);\n transition: ease 0.3s all;\n\n &:hover {\n background-color: var(--page-paper-main);\n box-shadow: var(--shadow-tertiary);\n }\n\n &:active {\n background-color: var(--page-paper-main);\n box-shadow: var(--shadow-tertiary-hover);\n }\n `}\n\n ${(props) =>\n props.iconOnly &&\n css`\n padding: 0;\n width: 32px;\n\n ${props.size === \"small\" &&\n css`\n radius: 16px;\n width: 24px;\n `}\n\n ${props.size === \"big\" &&\n css`\n radius: 20px;\n width: 40px;\n `}\n `}\n\n ${(props) =>\n (props.variant === \"primary\" ||\n props.variant === \"contained\" ||\n props.variant === \"secondary\" ||\n props.variant === \"outlined\") &&\n css`\n ${StyledLinkElement}:first-child svg {\n margin-left: -6px;\n }\n ${StyledLinkElement}:last-child svg {\n margin-right: -6px;\n }\n\n ${props.size === \"small\" &&\n css`\n radius: 16px;\n `}\n\n ${props.size === \"big\" &&\n css`\n radius: 20px;\n `}\n `}\n\n ${(props) =>\n (props.variant === \"tertiary\" ||\n props.variant === \"text colored\" ||\n props.variant === \"option\" ||\n props.variant === \"text gray\" ||\n props.variant === \"dark transparent\") &&\n css`\n ${StyledLinkElement}:first-child svg {\n margin-left: -4px;\n }\n ${StyledLinkElement}:last-child svg {\n margin-right: -4px;\n }\n\n ${props.size === \"small\" &&\n css`\n radius: 4px;\n `}\n\n ${props.size === \"big\" &&\n css`\n radius: 8px;\n `}\n `}\n`;\n\nexport const StyledLinkElements = styled.div`\n display: table;\n height: inherit;\n\n svg {\n margin: 0 4px;\n margin-bottom: -2px;\n }\n\n ${StyledLinkElement} {\n display: table-cell;\n vertical-align: middle;\n padding-bottom: 2px;\n }\n`;\n\nexport const StyledBackLink = styled.a`\n ${FontStyle}\n ${BoxSizingStyle}\n\n ${tw`\n tw-pl-8\n tw-text-xxs\n tw-uppercase\n tw-inline-flex\n tw-align-middle\n tw-pr-4\n tw-text-theme-600\n tw-cursor-pointer\n `}\n\n text-decoration: none;\n border: transparent 1px solid;\n border-radius: 20px;\n height: 32px;\n font-size: 10px;\n font-weight: 500;\n display: table-cell;\n vertical-align: middle;\n\n &:before,\n &:after {\n content: \"\";\n ${tw`\n tw-border-solid\n tw-text-theme-700\n tw-inline-block\n tw-p-0\n tw-w-2\n tw-h-2\n tw-bg-no-repeat\n `}\n border-width: 0 1px 1px 0;\n position: absolute;\n left: 0;\n transition: all ease 0.3s;\n }\n &:before {\n ${tw`tw-opacity-100`}\n transform: translateX(1rem) translateY(0.1rem) rotate(135deg);\n }\n &:after {\n ${tw`tw-opacity-0`}\n transform: translateX(2rem) translateY(0.1rem) rotate(135deg);\n }\n &:hover {\n text-decoration: none;\n border-color: var(--border-primary);\n &:before {\n ${tw`tw-opacity-0`}\n transform: translateX(0rem) translateY(0.1rem) rotate(135deg);\n }\n &:after {\n ${tw`tw-opacity-100`}\n transform: translateX(1rem) translateY(0.1rem) rotate(135deg);\n }\n }\n`;\n\nStyledBackLink.displayName = \"StyledBackLink\";\nStyledLinkElement.displayName = \"StyledLinkElement\";\nStyledLinkElements.displayName = \"StyledLinkElements\";\nStyledLink.displayName = \"StyledLink\";\n"],"file":"Styles.js"}
@@ -1,10 +1,15 @@
1
- import { FC, BaseHTMLAttributes, ReactNode } from "react";
2
- export interface ILinkProps extends BaseHTMLAttributes<HTMLAnchorElement> {
1
+ import React, { BaseHTMLAttributes, ReactNode } from "react";
2
+ import { PolymorphicComponentPropsWithRef } from "../../utils/types";
3
+ export interface ILinkProps extends BaseHTMLAttributes<HTMLElement> {
3
4
  children: ReactNode | string;
4
5
  variant?: "primary" | "secondary" | "tertiary" | "option" | "contained" | "outlined" | "text colored" | "text gray" | "dark transparent" | "circle raised";
5
6
  size?: "big" | "small";
6
7
  disabled?: boolean;
7
8
  className?: string;
8
9
  }
9
- export declare const Link: FC<ILinkProps>;
10
+ export declare type LinkProps<C extends React.ElementType> = PolymorphicComponentPropsWithRef<C, ILinkProps>;
11
+ export declare type LinkComponent = <C extends React.ElementType = "a">(props: LinkProps<C>) => React.ReactElement | null;
12
+ export declare const Link: LinkComponent & {
13
+ displayName?: string;
14
+ };
10
15
  //# sourceMappingURL=Link.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Link.d.ts","sourceRoot":"","sources":["../../../../src/components/Links/Link.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,EAAE,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAIjE,MAAM,WAAW,UAAW,SAAQ,kBAAkB,CAAC,iBAAiB,CAAC;IAEvE,QAAQ,EAAE,SAAS,GAAG,MAAM,CAAC;IAE7B,OAAO,CAAC,EACJ,SAAS,GACT,WAAW,GACX,UAAU,GACV,QAAQ,GACR,WAAW,GACX,UAAU,GACV,cAAc,GACd,WAAW,GACX,kBAAkB,GAClB,eAAe,CAAC;IAEpB,IAAI,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC;IAEvB,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAKD,eAAO,MAAM,IAAI,EAAE,EAAE,CAAC,UAAU,CAgD/B,CAAC"}
1
+ {"version":3,"file":"Link.d.ts","sourceRoot":"","sources":["../../../../src/components/Links/Link.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,kBAAkB,EAAE,SAAS,EAAc,MAAM,OAAO,CAAC;AAGzE,OAAO,EACL,gCAAgC,EAEjC,MAAM,mBAAmB,CAAC;AAE3B,MAAM,WAAW,UAAW,SAAQ,kBAAkB,CAAC,WAAW,CAAC;IAEjE,QAAQ,EAAE,SAAS,GAAG,MAAM,CAAC;IAE7B,OAAO,CAAC,EACJ,SAAS,GACT,WAAW,GACX,UAAU,GACV,QAAQ,GACR,WAAW,GACX,UAAU,GACV,cAAc,GACd,WAAW,GACX,kBAAkB,GAClB,eAAe,CAAC;IAEpB,IAAI,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC;IAEvB,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,oBAAY,SAAS,CAAC,CAAC,SAAS,KAAK,CAAC,WAAW,IAC/C,gCAAgC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;AAElD,oBAAY,aAAa,GAAG,CAAC,CAAC,SAAS,KAAK,CAAC,WAAW,GAAG,GAAG,EAC5D,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,KAChB,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC;AAK/B,eAAO,MAAM,IAAI,EAAE,aAAa,GAAG;IAAE,WAAW,CAAC,EAAE,MAAM,CAAA;CA0DxD,CAAC"}
@@ -1,15 +1,16 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
3
- var _excluded = ["children", "variant", "size", "disabled", "className"];
4
- import React from "react";
3
+ var _excluded = ["as", "children", "variant", "size", "disabled", "className"];
4
+ import React, { forwardRef } from "react";
5
5
  import classNames from "classnames";
6
6
  import { StyledLink, StyledLinkElement, StyledLinkElements } from "./Styles";
7
7
 
8
8
  /**
9
9
  * Link component
10
10
  */
11
- export var Link = function Link(_ref) {
12
- var children = _ref.children,
11
+ export var Link = /*#__PURE__*/forwardRef(function (_ref, ref) {
12
+ var as = _ref.as,
13
+ children = _ref.children,
13
14
  _ref$variant = _ref.variant,
14
15
  variant = _ref$variant === void 0 ? "contained" : _ref$variant,
15
16
  size = _ref.size,
@@ -18,7 +19,10 @@ export var Link = function Link(_ref) {
18
19
  className = _ref.className,
19
20
  args = _objectWithoutPropertiesLoose(_ref, _excluded);
20
21
 
22
+ var Component = as || "a";
21
23
  return /*#__PURE__*/React.createElement(StyledLink, _extends({
24
+ ref: ref,
25
+ as: Component,
22
26
  disabled: disabled,
23
27
  className: classNames("c-link", className, {
24
28
  "c-link--contained": variant === "primary" || variant === "contained",
@@ -43,6 +47,6 @@ export var Link = function Link(_ref) {
43
47
  key: index
44
48
  }, value) : null;
45
49
  })) : children);
46
- };
50
+ });
47
51
  Link.displayName = "Link";
48
52
  //# sourceMappingURL=Link.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Links/Link.tsx"],"names":["React","classNames","StyledLink","StyledLinkElement","StyledLinkElements","Link","children","variant","size","disabled","className","args","Object","Array","map","value","index","displayName"],"mappings":";;;AAAA,OAAOA,KAAP,MAAyD,OAAzD;AACA,OAAOC,UAAP,MAAuB,YAAvB;AACA,SAASC,UAAT,EAAqBC,iBAArB,EAAwCC,kBAAxC,QAAkE,UAAlE;;AAyBA;AACA;AACA;AACA,OAAO,IAAMC,IAAoB,GAAG,SAAvBA,IAAuB,OAO9B;AAAA,MANJC,QAMI,QANJA,QAMI;AAAA,0BALJC,OAKI;AAAA,MALJA,OAKI,6BALM,WAKN;AAAA,MAJJC,IAII,QAJJA,IAII;AAAA,2BAHJC,QAGI;AAAA,MAHJA,QAGI,8BAHO,KAGP;AAAA,MAFJC,SAEI,QAFJA,SAEI;AAAA,MADDC,IACC;;AACJ,sBACE,oBAAC,UAAD;AACE,IAAA,QAAQ,EAAEF,QADZ;AAEE,IAAA,SAAS,EAAER,UAAU,CAAC,QAAD,EAAWS,SAAX,EAAsB;AACzC,2BAAqBH,OAAO,KAAK,SAAZ,IAAyBA,OAAO,KAAK,WADjB;AAEzC,0BAAoBA,OAAO,KAAK,WAAZ,IAA2BA,OAAO,KAAK,UAFlB;AAGzC,8BACEA,OAAO,KAAK,UAAZ,IAA0BA,OAAO,KAAK,cAJC;AAKzC,2BAAqBA,OAAO,KAAK,QAAZ,IAAwBA,OAAO,KAAK,WALhB;AAMzC,kCAA4BA,OAAO,KAAK,kBANC;AAOzC,+BAAyBA,OAAO,KAAK,eAPI;AAQzC,qBAAeC,IAAI,KAAK,KARiB;AASzC,uBAAiBA,IAAI,KAAK,OATe;AAUzC,2BACEF,QAAQ,YAAYM,MAApB,IAA8B,EAAEN,QAAQ,YAAYO,KAAtB,CAXS;AAYzC,0BAAoBJ;AAZqB,KAAtB,CAFvB;AAgBE,IAAA,OAAO,EAAEF,OAhBX;AAiBE,IAAA,IAAI,EAAEC,IAjBR;AAkBE,IAAA,QAAQ,EAAEF,QAAQ,YAAYM,MAApB,IAA8B,EAAEN,QAAQ,YAAYO,KAAtB;AAlB1C,KAmBMF,IAnBN,GAqBGL,QAAQ,YAAYO,KAApB,gBACC,oBAAC,kBAAD;AAAoB,IAAA,SAAS,EAAC;AAA9B,KACGP,QAAQ,CAACQ,GAAT,CAAa,UAACC,KAAD,EAAQC,KAAR;AAAA,WACZD,KAAK,gBACH,oBAAC,iBAAD;AACE,MAAA,SAAS,EAAC,2BADZ;AAEE,MAAA,GAAG,EAAEC;AAFP,OAIGD,KAJH,CADG,GAOD,IARQ;AAAA,GAAb,CADH,CADD,GAcCT,QAnCJ,CADF;AAwCD,CAhDM;AAkDPD,IAAI,CAACY,WAAL,GAAmB,MAAnB","sourcesContent":["import React, { FC, BaseHTMLAttributes, ReactNode } from \"react\";\nimport classNames from \"classnames\";\nimport { StyledLink, StyledLinkElement, StyledLinkElements } from \"./Styles\";\n\nexport interface ILinkProps extends BaseHTMLAttributes<HTMLAnchorElement> {\n /** Children type of node or string */\n children: ReactNode | string;\n /** Variant Buttons */\n variant?:\n | \"primary\"\n | \"secondary\"\n | \"tertiary\"\n | \"option\"\n | \"contained\"\n | \"outlined\"\n | \"text colored\"\n | \"text gray\"\n | \"dark transparent\"\n | \"circle raised\";\n /** Button size can be big, medium or small */\n size?: \"big\" | \"small\";\n /** Disabled prop */\n disabled?: boolean;\n /** CSS classes */\n className?: string;\n}\n\n/**\n * Link component\n */\nexport const Link: FC<ILinkProps> = ({\n children,\n variant = \"contained\",\n size,\n disabled = false,\n className,\n ...args\n}) => {\n return (\n <StyledLink\n disabled={disabled}\n className={classNames(\"c-link\", className, {\n \"c-link--contained\": variant === \"primary\" || variant === \"contained\",\n \"c-link--outlined\": variant === \"secondary\" || variant === \"outlined\",\n \"c-link--text_colored\":\n variant === \"tertiary\" || variant === \"text colored\",\n \"c-link--text_gray\": variant === \"option\" || variant === \"text gray\",\n \"c-link--dark_transparent\": variant === \"dark transparent\",\n \"c-link--circle_raised\": variant === \"circle raised\",\n \"c-link--big\": size === \"big\",\n \"c-link--small\": size === \"small\",\n \"c-link--icon-only\":\n children instanceof Object && !(children instanceof Array),\n \"c-link--disabled\": disabled,\n })}\n variant={variant}\n size={size}\n iconOnly={children instanceof Object && !(children instanceof Array)}\n {...args}\n >\n {children instanceof Array ? (\n <StyledLinkElements className=\"c-link__elements\">\n {children.map((value, index) =>\n value ? (\n <StyledLinkElement\n className=\"c-link__elements__element\"\n key={index}\n >\n {value}\n </StyledLinkElement>\n ) : null\n )}\n </StyledLinkElements>\n ) : (\n children\n )}\n </StyledLink>\n );\n};\n\nLink.displayName = \"Link\";\n"],"file":"Link.js"}
1
+ {"version":3,"sources":["../../../../src/components/Links/Link.tsx"],"names":["React","forwardRef","classNames","StyledLink","StyledLinkElement","StyledLinkElements","Link","ref","as","children","variant","size","disabled","className","args","Component","Object","Array","map","value","index","displayName"],"mappings":";;;AAAA,OAAOA,KAAP,IAA+CC,UAA/C,QAAiE,OAAjE;AACA,OAAOC,UAAP,MAAuB,YAAvB;AACA,SAASC,UAAT,EAAqBC,iBAArB,EAAwCC,kBAAxC,QAAkE,UAAlE;;AAoCA;AACA;AACA;AACA,OAAO,IAAMC,IAA8C,gBAAGL,UAAU,CACtE,gBAUEM,GAVF,EAWK;AAAA,MATDC,EASC,QATDA,EASC;AAAA,MARDC,QAQC,QARDA,QAQC;AAAA,0BAPDC,OAOC;AAAA,MAPDA,OAOC,6BAPS,WAOT;AAAA,MANDC,IAMC,QANDA,IAMC;AAAA,2BALDC,QAKC;AAAA,MALDA,QAKC,8BALU,KAKV;AAAA,MAJDC,SAIC,QAJDA,SAIC;AAAA,MAHEC,IAGF;;AACH,MAAMC,SAAS,GAAGP,EAAE,IAAI,GAAxB;AAEA,sBACE,oBAAC,UAAD;AACE,IAAA,GAAG,EAAED,GADP;AAEE,IAAA,EAAE,EAAEQ,SAFN;AAGE,IAAA,QAAQ,EAAEH,QAHZ;AAIE,IAAA,SAAS,EAAEV,UAAU,CAAC,QAAD,EAAWW,SAAX,EAAsB;AACzC,2BAAqBH,OAAO,KAAK,SAAZ,IAAyBA,OAAO,KAAK,WADjB;AAEzC,0BAAoBA,OAAO,KAAK,WAAZ,IAA2BA,OAAO,KAAK,UAFlB;AAGzC,8BACEA,OAAO,KAAK,UAAZ,IAA0BA,OAAO,KAAK,cAJC;AAKzC,2BAAqBA,OAAO,KAAK,QAAZ,IAAwBA,OAAO,KAAK,WALhB;AAMzC,kCAA4BA,OAAO,KAAK,kBANC;AAOzC,+BAAyBA,OAAO,KAAK,eAPI;AAQzC,qBAAeC,IAAI,KAAK,KARiB;AASzC,uBAAiBA,IAAI,KAAK,OATe;AAUzC,2BACEF,QAAQ,YAAYO,MAApB,IAA8B,EAAEP,QAAQ,YAAYQ,KAAtB,CAXS;AAYzC,0BAAoBL;AAZqB,KAAtB,CAJvB;AAkBE,IAAA,OAAO,EAAEF,OAlBX;AAmBE,IAAA,IAAI,EAAEC,IAnBR;AAoBE,IAAA,QAAQ,EAAEF,QAAQ,YAAYO,MAApB,IAA8B,EAAEP,QAAQ,YAAYQ,KAAtB;AApB1C,KAqBMH,IArBN,GAuBGL,QAAQ,YAAYQ,KAApB,gBACC,oBAAC,kBAAD;AAAoB,IAAA,SAAS,EAAC;AAA9B,KACGR,QAAQ,CAACS,GAAT,CAAa,UAACC,KAAD,EAAQC,KAAR;AAAA,WACZD,KAAK,gBACH,oBAAC,iBAAD;AACE,MAAA,SAAS,EAAC,2BADZ;AAEE,MAAA,GAAG,EAAEC;AAFP,OAIGD,KAJH,CADG,GAOD,IARQ;AAAA,GAAb,CADH,CADD,GAcCV,QArCJ,CADF;AA0CD,CAzDqE,CAAjE;AA4DPH,IAAI,CAACe,WAAL,GAAmB,MAAnB","sourcesContent":["import React, { BaseHTMLAttributes, ReactNode, forwardRef } from \"react\";\nimport classNames from \"classnames\";\nimport { StyledLink, StyledLinkElement, StyledLinkElements } from \"./Styles\";\nimport {\n PolymorphicComponentPropsWithRef,\n PolymorphicRef,\n} from \"../../utils/types\";\n\nexport interface ILinkProps extends BaseHTMLAttributes<HTMLElement> {\n /** Children type of node or string */\n children: ReactNode | string;\n /** Variant Buttons */\n variant?:\n | \"primary\"\n | \"secondary\"\n | \"tertiary\"\n | \"option\"\n | \"contained\"\n | \"outlined\"\n | \"text colored\"\n | \"text gray\"\n | \"dark transparent\"\n | \"circle raised\";\n /** Button size can be big, medium or small */\n size?: \"big\" | \"small\";\n /** Disabled prop */\n disabled?: boolean;\n /** CSS classes */\n className?: string;\n}\n\nexport type LinkProps<C extends React.ElementType> =\n PolymorphicComponentPropsWithRef<C, ILinkProps>;\n\nexport type LinkComponent = <C extends React.ElementType = \"a\">(\n props: LinkProps<C>\n) => React.ReactElement | null;\n\n/**\n * Link component\n */\nexport const Link: LinkComponent & { displayName?: string } = forwardRef(\n <C extends React.ElementType = \"a\">(\n {\n as,\n children,\n variant = \"contained\",\n size,\n disabled = false,\n className,\n ...args\n }: LinkProps<C>,\n ref?: PolymorphicRef<C>\n ) => {\n const Component = as || \"a\";\n\n return (\n <StyledLink\n ref={ref}\n as={Component}\n disabled={disabled}\n className={classNames(\"c-link\", className, {\n \"c-link--contained\": variant === \"primary\" || variant === \"contained\",\n \"c-link--outlined\": variant === \"secondary\" || variant === \"outlined\",\n \"c-link--text_colored\":\n variant === \"tertiary\" || variant === \"text colored\",\n \"c-link--text_gray\": variant === \"option\" || variant === \"text gray\",\n \"c-link--dark_transparent\": variant === \"dark transparent\",\n \"c-link--circle_raised\": variant === \"circle raised\",\n \"c-link--big\": size === \"big\",\n \"c-link--small\": size === \"small\",\n \"c-link--icon-only\":\n children instanceof Object && !(children instanceof Array),\n \"c-link--disabled\": disabled,\n })}\n variant={variant}\n size={size}\n iconOnly={children instanceof Object && !(children instanceof Array)}\n {...args}\n >\n {children instanceof Array ? (\n <StyledLinkElements className=\"c-link__elements\">\n {children.map((value, index) =>\n value ? (\n <StyledLinkElement\n className=\"c-link__elements__element\"\n key={index}\n >\n {value}\n </StyledLinkElement>\n ) : null\n )}\n </StyledLinkElements>\n ) : (\n children\n )}\n </StyledLink>\n );\n }\n);\n\nLink.displayName = \"Link\";\n"],"file":"Link.js"}
@@ -1 +1 @@
1
- {"version":3,"file":"Styles.d.ts","sourceRoot":"","sources":["../../../../src/components/Links/Styles.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAEpC,UAAU,eAAgB,SAAQ,UAAU;IAC1C,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,eAAO,MAAM,iBAAiB,oEAAe,CAAC;AAE9C,eAAO,MAAM,UAAU,+EAgPtB,CAAC;AAEF,eAAO,MAAM,kBAAkB,oEAc9B,CAAC;AAEF,eAAO,MAAM,cAAc,kEA6D1B,CAAC"}
1
+ {"version":3,"file":"Styles.d.ts","sourceRoot":"","sources":["../../../../src/components/Links/Styles.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAEpC,UAAU,eAAgB,SAAQ,UAAU;IAC1C,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,eAAO,MAAM,iBAAiB,oEAAe,CAAC;AAE9C,eAAO,MAAM,UAAU,+EAiPtB,CAAC;AAEF,eAAO,MAAM,kBAAkB,oEAc9B,CAAC;AAEF,eAAO,MAAM,cAAc,kEA6D1B,CAAC"}
@@ -8,7 +8,7 @@ export var StyledLinkElement = styled.div.withConfig({
8
8
  export var StyledLink = styled.a.withConfig({
9
9
  displayName: "Styles__StyledLink",
10
10
  componentId: "sc-1c1jdox-1"
11
- })(["", " ", " ", " border:none;height:32px;transition:all 0.3s ease;svg{fill:currentColor;}&::-moz-focus-inner{border:0;}&:focus{outline:none;}&:hover{text-decoration:none;}", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", ""], FontStyle, BoxSizingStyle, {
11
+ })(["", " ", " ", " border:none;height:32px;transition:background-color 0.3s ease,box-shadow 0.3s ease,color 0.3s ease,border-color 0.3s ease;svg{fill:currentColor;}&::-moz-focus-inner{border:0;}&:focus{outline:none;}&:hover{text-decoration:none;}", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", ""], FontStyle, BoxSizingStyle, {
12
12
  "WebkitFontSmoothing": "antialiased",
13
13
  "MozOsxFontSmoothing": "grayscale",
14
14
  "fontWeight": "500",
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Links/Styles.ts"],"names":["styled","css","FontStyle","BoxSizingStyle","StyledLinkElement","div","StyledLink","a","props","disabled","size","variant","iconOnly","StyledLinkElements","StyledBackLink","displayName"],"mappings":"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","sourcesContent":["import styled, { css } from \"styled-components\";\nimport tw from \"twin.macro\";\nimport { FontStyle } from \"../FontStyle\";\nimport { BoxSizingStyle } from \"../BoxSizingStyle\";\nimport { ILinkProps } from \"./Link\";\n\ninterface StyledLinkProps extends ILinkProps {\n iconOnly: boolean;\n}\n\nexport const StyledLinkElement = styled.div``;\n\nexport const StyledLink = styled.a<StyledLinkProps>`\n ${FontStyle}\n ${BoxSizingStyle}\n ${tw`\n tw-antialiased\n tw-font-medium\n tw-leading-none\n tw-m-0\n tw-no-underline\n tw-text-sm\n tw-select-none\n tw-cursor-pointer\n tw-inline-flex\n tw-items-center\n tw-justify-center`}\n\n border: none;\n height: 32px;\n transition: all 0.3s ease;\n\n svg {\n fill: currentColor;\n }\n\n &::-moz-focus-inner {\n border: 0;\n }\n\n &:focus {\n outline: none;\n }\n\n &:hover {\n text-decoration: none;\n }\n\n ${(props) =>\n props.disabled &&\n css`\n cursor: default;\n opacity: 50%;\n pointer-events: none;\n `}\n\n ${(props) =>\n props.size === \"small\" &&\n css`\n height: 24px;\n `}\n\n ${(props) =>\n props.size === \"big\" &&\n css`\n height: 40px;\n `}\n\n ${(props) =>\n (props.variant === \"primary\" || props.variant === \"contained\") &&\n css`\n padding: 0 16px;\n background-color: var(--color-primary);\n border-radius: 16px;\n color: var(--color-theme-100);\n\n &:focus,\n &:hover {\n box-shadow: 0 3px 6px -2px var(--color-primary-500);\n background-color: var(--color-primary-800);\n }\n\n &:active {\n box-shadow: 0 4px 10px -2px var(--color-primary-600);\n background-color: var(--color-primary-800);\n }\n `}\n\n ${(props) =>\n (props.variant === \"secondary\" || props.variant === \"outlined\") &&\n css`\n padding: 0 16px;\n background-color: transparent;\n border-radius: 16px;\n border: solid 1px var(--color-theme-600);\n color: var(--color-theme-600);\n\n &:focus,\n &:hover {\n border-color: var(--color-primary);\n color: var(--color-primary);\n }\n\n &:active {\n border-color: var(--color-primary);\n color: var(--color-primary);\n background-color: var(--color-primary-200);\n }\n `}\n\n ${(props) =>\n (props.variant === \"tertiary\" || props.variant === \"text colored\") &&\n css`\n padding: 0 8px;\n background-color: transparent;\n border-radius: 6px;\n color: var(--color-primary);\n\n &:focus,\n &:hover {\n background-color: var(--color-primary-200);\n }\n\n &:active {\n background-color: var(--color-primary-300);\n }\n `}\n\n ${(props) =>\n (props.variant === \"option\" || props.variant === \"text gray\") &&\n css`\n padding: 0 8px;\n background-color: transparent;\n border-radius: 6px;\n color: var(--color-theme-600);\n\n &:focus,\n &:hover {\n background-color: var(--color-theme-300);\n color: var(--color-theme-900);\n }\n\n &:active {\n background-color: var(--color-theme-400);\n color: var(--color-theme-900);\n }\n `}\n\n ${(props) =>\n props.variant === \"dark transparent\" &&\n css`\n padding: 0 8px;\n background-color: rgba(0, 0, 0, 0.5);\n border-radius: var(--ac-br-6);\n color: var(--only-white);\n\n &:hover {\n background-color: rgba(0, 0, 0, 0.85);\n }\n\n &:active {\n background-color: var(--only-black);\n }\n `}\n\n ${(props) =>\n props.variant === \"circle raised\" &&\n css`\n padding: 0 6px;\n background-color: transparent;\n border-radius: var(--ac-br-rounded);\n color: var(--color-theme-700);\n transition: ease 0.3s all;\n\n &:hover {\n background-color: var(--page-paper-main);\n box-shadow: var(--shadow-tertiary);\n }\n\n &:active {\n background-color: var(--page-paper-main);\n box-shadow: var(--shadow-tertiary-hover);\n }\n `}\n\n ${(props) =>\n props.iconOnly &&\n css`\n padding: 0;\n width: 32px;\n\n ${props.size === \"small\" &&\n css`\n radius: 16px;\n width: 24px;\n `}\n\n ${props.size === \"big\" &&\n css`\n radius: 20px;\n width: 40px;\n `}\n `}\n\n ${(props) =>\n (props.variant === \"primary\" ||\n props.variant === \"contained\" ||\n props.variant === \"secondary\" ||\n props.variant === \"outlined\") &&\n css`\n ${StyledLinkElement}:first-child svg {\n margin-left: -6px;\n }\n ${StyledLinkElement}:last-child svg {\n margin-right: -6px;\n }\n\n ${props.size === \"small\" &&\n css`\n radius: 16px;\n `}\n\n ${props.size === \"big\" &&\n css`\n radius: 20px;\n `}\n `}\n\n ${(props) =>\n (props.variant === \"tertiary\" ||\n props.variant === \"text colored\" ||\n props.variant === \"option\" ||\n props.variant === \"text gray\" ||\n props.variant === \"dark transparent\") &&\n css`\n ${StyledLinkElement}:first-child svg {\n margin-left: -4px;\n }\n ${StyledLinkElement}:last-child svg {\n margin-right: -4px;\n }\n\n ${props.size === \"small\" &&\n css`\n radius: 4px;\n `}\n\n ${props.size === \"big\" &&\n css`\n radius: 8px;\n `}\n `}\n`;\n\nexport const StyledLinkElements = styled.div`\n display: table;\n height: inherit;\n\n svg {\n margin: 0 4px;\n margin-bottom: -2px;\n }\n\n ${StyledLinkElement} {\n display: table-cell;\n vertical-align: middle;\n padding-bottom: 2px;\n }\n`;\n\nexport const StyledBackLink = styled.a`\n ${FontStyle}\n ${BoxSizingStyle}\n\n ${tw`\n tw-pl-8\n tw-text-xxs\n tw-uppercase\n tw-inline-flex\n tw-align-middle\n tw-pr-4\n tw-text-theme-600\n tw-cursor-pointer\n `}\n\n text-decoration: none;\n border: transparent 1px solid;\n border-radius: 20px;\n height: 32px;\n font-size: 10px;\n font-weight: 500;\n display: table-cell;\n vertical-align: middle;\n\n &:before,\n &:after {\n content: \"\";\n ${tw`\n tw-border-solid\n tw-text-theme-700\n tw-inline-block\n tw-p-0\n tw-w-2\n tw-h-2\n tw-bg-no-repeat\n `}\n border-width: 0 1px 1px 0;\n position: absolute;\n left: 0;\n transition: all ease 0.3s;\n }\n &:before {\n ${tw`tw-opacity-100`}\n transform: translateX(1rem) translateY(0.1rem) rotate(135deg);\n }\n &:after {\n ${tw`tw-opacity-0`}\n transform: translateX(2rem) translateY(0.1rem) rotate(135deg);\n }\n &:hover {\n text-decoration: none;\n border-color: var(--border-primary);\n &:before {\n ${tw`tw-opacity-0`}\n transform: translateX(0rem) translateY(0.1rem) rotate(135deg);\n }\n &:after {\n ${tw`tw-opacity-100`}\n transform: translateX(1rem) translateY(0.1rem) rotate(135deg);\n }\n }\n`;\n\nStyledBackLink.displayName = \"StyledBackLink\";\nStyledLinkElement.displayName = \"StyledLinkElement\";\nStyledLinkElements.displayName = \"StyledLinkElements\";\nStyledLink.displayName = \"StyledLink\";\n"],"file":"Styles.js"}
1
+ {"version":3,"sources":["../../../../src/components/Links/Styles.ts"],"names":["styled","css","FontStyle","BoxSizingStyle","StyledLinkElement","div","StyledLink","a","props","disabled","size","variant","iconOnly","StyledLinkElements","StyledBackLink","displayName"],"mappings":"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","sourcesContent":["import styled, { css } from \"styled-components\";\nimport tw from \"twin.macro\";\nimport { FontStyle } from \"../FontStyle\";\nimport { BoxSizingStyle } from \"../BoxSizingStyle\";\nimport { ILinkProps } from \"./Link\";\n\ninterface StyledLinkProps extends ILinkProps {\n iconOnly: boolean;\n}\n\nexport const StyledLinkElement = styled.div``;\n\nexport const StyledLink = styled.a<StyledLinkProps>`\n ${FontStyle}\n ${BoxSizingStyle}\n ${tw`\n tw-antialiased\n tw-font-medium\n tw-leading-none\n tw-m-0\n tw-no-underline\n tw-text-sm\n tw-select-none\n tw-cursor-pointer\n tw-inline-flex\n tw-items-center\n tw-justify-center`}\n\n border: none;\n height: 32px;\n transition: background-color 0.3s ease, box-shadow 0.3s ease, color 0.3s ease,\n border-color 0.3s ease;\n\n svg {\n fill: currentColor;\n }\n\n &::-moz-focus-inner {\n border: 0;\n }\n\n &:focus {\n outline: none;\n }\n\n &:hover {\n text-decoration: none;\n }\n\n ${(props) =>\n props.disabled &&\n css`\n cursor: default;\n opacity: 50%;\n pointer-events: none;\n `}\n\n ${(props) =>\n props.size === \"small\" &&\n css`\n height: 24px;\n `}\n\n ${(props) =>\n props.size === \"big\" &&\n css`\n height: 40px;\n `}\n\n ${(props) =>\n (props.variant === \"primary\" || props.variant === \"contained\") &&\n css`\n padding: 0 16px;\n background-color: var(--color-primary);\n border-radius: 16px;\n color: var(--color-theme-100);\n\n &:focus,\n &:hover {\n box-shadow: 0 3px 6px -2px var(--color-primary-500);\n background-color: var(--color-primary-800);\n }\n\n &:active {\n box-shadow: 0 4px 10px -2px var(--color-primary-600);\n background-color: var(--color-primary-800);\n }\n `}\n\n ${(props) =>\n (props.variant === \"secondary\" || props.variant === \"outlined\") &&\n css`\n padding: 0 16px;\n background-color: transparent;\n border-radius: 16px;\n border: solid 1px var(--color-theme-600);\n color: var(--color-theme-600);\n\n &:focus,\n &:hover {\n border-color: var(--color-primary);\n color: var(--color-primary);\n }\n\n &:active {\n border-color: var(--color-primary);\n color: var(--color-primary);\n background-color: var(--color-primary-200);\n }\n `}\n\n ${(props) =>\n (props.variant === \"tertiary\" || props.variant === \"text colored\") &&\n css`\n padding: 0 8px;\n background-color: transparent;\n border-radius: 6px;\n color: var(--color-primary);\n\n &:focus,\n &:hover {\n background-color: var(--color-primary-200);\n }\n\n &:active {\n background-color: var(--color-primary-300);\n }\n `}\n\n ${(props) =>\n (props.variant === \"option\" || props.variant === \"text gray\") &&\n css`\n padding: 0 8px;\n background-color: transparent;\n border-radius: 6px;\n color: var(--color-theme-600);\n\n &:focus,\n &:hover {\n background-color: var(--color-theme-300);\n color: var(--color-theme-900);\n }\n\n &:active {\n background-color: var(--color-theme-400);\n color: var(--color-theme-900);\n }\n `}\n\n ${(props) =>\n props.variant === \"dark transparent\" &&\n css`\n padding: 0 8px;\n background-color: rgba(0, 0, 0, 0.5);\n border-radius: var(--ac-br-6);\n color: var(--only-white);\n\n &:hover {\n background-color: rgba(0, 0, 0, 0.85);\n }\n\n &:active {\n background-color: var(--only-black);\n }\n `}\n\n ${(props) =>\n props.variant === \"circle raised\" &&\n css`\n padding: 0 6px;\n background-color: transparent;\n border-radius: var(--ac-br-rounded);\n color: var(--color-theme-700);\n transition: ease 0.3s all;\n\n &:hover {\n background-color: var(--page-paper-main);\n box-shadow: var(--shadow-tertiary);\n }\n\n &:active {\n background-color: var(--page-paper-main);\n box-shadow: var(--shadow-tertiary-hover);\n }\n `}\n\n ${(props) =>\n props.iconOnly &&\n css`\n padding: 0;\n width: 32px;\n\n ${props.size === \"small\" &&\n css`\n radius: 16px;\n width: 24px;\n `}\n\n ${props.size === \"big\" &&\n css`\n radius: 20px;\n width: 40px;\n `}\n `}\n\n ${(props) =>\n (props.variant === \"primary\" ||\n props.variant === \"contained\" ||\n props.variant === \"secondary\" ||\n props.variant === \"outlined\") &&\n css`\n ${StyledLinkElement}:first-child svg {\n margin-left: -6px;\n }\n ${StyledLinkElement}:last-child svg {\n margin-right: -6px;\n }\n\n ${props.size === \"small\" &&\n css`\n radius: 16px;\n `}\n\n ${props.size === \"big\" &&\n css`\n radius: 20px;\n `}\n `}\n\n ${(props) =>\n (props.variant === \"tertiary\" ||\n props.variant === \"text colored\" ||\n props.variant === \"option\" ||\n props.variant === \"text gray\" ||\n props.variant === \"dark transparent\") &&\n css`\n ${StyledLinkElement}:first-child svg {\n margin-left: -4px;\n }\n ${StyledLinkElement}:last-child svg {\n margin-right: -4px;\n }\n\n ${props.size === \"small\" &&\n css`\n radius: 4px;\n `}\n\n ${props.size === \"big\" &&\n css`\n radius: 8px;\n `}\n `}\n`;\n\nexport const StyledLinkElements = styled.div`\n display: table;\n height: inherit;\n\n svg {\n margin: 0 4px;\n margin-bottom: -2px;\n }\n\n ${StyledLinkElement} {\n display: table-cell;\n vertical-align: middle;\n padding-bottom: 2px;\n }\n`;\n\nexport const StyledBackLink = styled.a`\n ${FontStyle}\n ${BoxSizingStyle}\n\n ${tw`\n tw-pl-8\n tw-text-xxs\n tw-uppercase\n tw-inline-flex\n tw-align-middle\n tw-pr-4\n tw-text-theme-600\n tw-cursor-pointer\n `}\n\n text-decoration: none;\n border: transparent 1px solid;\n border-radius: 20px;\n height: 32px;\n font-size: 10px;\n font-weight: 500;\n display: table-cell;\n vertical-align: middle;\n\n &:before,\n &:after {\n content: \"\";\n ${tw`\n tw-border-solid\n tw-text-theme-700\n tw-inline-block\n tw-p-0\n tw-w-2\n tw-h-2\n tw-bg-no-repeat\n `}\n border-width: 0 1px 1px 0;\n position: absolute;\n left: 0;\n transition: all ease 0.3s;\n }\n &:before {\n ${tw`tw-opacity-100`}\n transform: translateX(1rem) translateY(0.1rem) rotate(135deg);\n }\n &:after {\n ${tw`tw-opacity-0`}\n transform: translateX(2rem) translateY(0.1rem) rotate(135deg);\n }\n &:hover {\n text-decoration: none;\n border-color: var(--border-primary);\n &:before {\n ${tw`tw-opacity-0`}\n transform: translateX(0rem) translateY(0.1rem) rotate(135deg);\n }\n &:after {\n ${tw`tw-opacity-100`}\n transform: translateX(1rem) translateY(0.1rem) rotate(135deg);\n }\n }\n`;\n\nStyledBackLink.displayName = \"StyledBackLink\";\nStyledLinkElement.displayName = \"StyledLinkElement\";\nStyledLinkElements.displayName = \"StyledLinkElements\";\nStyledLink.displayName = \"StyledLink\";\n"],"file":"Styles.js"}
package/dist/index.js CHANGED
@@ -9378,7 +9378,7 @@
9378
9378
  var StyledLink = styled__default["default"].a.withConfig({
9379
9379
  displayName: "Styles__StyledLink",
9380
9380
  componentId: "sc-1c1jdox-1"
9381
- })(["", " ", " ", " border:none;height:32px;transition:all 0.3s ease;svg{fill:currentColor;}&::-moz-focus-inner{border:0;}&:focus{outline:none;}&:hover{text-decoration:none;}", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", ""], FontStyle, BoxSizingStyle, {
9381
+ })(["", " ", " ", " border:none;height:32px;transition:background-color 0.3s ease,box-shadow 0.3s ease,color 0.3s ease,border-color 0.3s ease;svg{fill:currentColor;}&::-moz-focus-inner{border:0;}&:focus{outline:none;}&:hover{text-decoration:none;}", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", ""], FontStyle, BoxSizingStyle, {
9382
9382
  "WebkitFontSmoothing": "antialiased",
9383
9383
  "MozOsxFontSmoothing": "grayscale",
9384
9384
  "fontWeight": "500",
@@ -9470,13 +9470,14 @@
9470
9470
  };
9471
9471
  BackLink.displayName = "BackLink";
9472
9472
 
9473
- var _excluded$n = ["children", "variant", "size", "disabled", "className"];
9473
+ var _excluded$n = ["as", "children", "variant", "size", "disabled", "className"];
9474
9474
 
9475
9475
  /**
9476
9476
  * Link component
9477
9477
  */
9478
- var Link = function Link(_ref) {
9479
- var children = _ref.children,
9478
+ var Link = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
9479
+ var as = _ref.as,
9480
+ children = _ref.children,
9480
9481
  _ref$variant = _ref.variant,
9481
9482
  variant = _ref$variant === void 0 ? "contained" : _ref$variant,
9482
9483
  size = _ref.size,
@@ -9485,7 +9486,10 @@
9485
9486
  className = _ref.className,
9486
9487
  args = _objectWithoutProperties(_ref, _excluded$n);
9487
9488
 
9489
+ var Component = as || "a";
9488
9490
  return /*#__PURE__*/React__default["default"].createElement(StyledLink, _extends({
9491
+ ref: ref,
9492
+ as: Component,
9489
9493
  disabled: disabled,
9490
9494
  className: classNames__default["default"]("c-link", className, {
9491
9495
  "c-link--contained": variant === "primary" || variant === "contained",
@@ -9510,7 +9514,7 @@
9510
9514
  key: index
9511
9515
  }, value) : null;
9512
9516
  })) : children);
9513
- };
9517
+ });
9514
9518
  Link.displayName = "Link";
9515
9519
 
9516
9520
  var defaultStyle$2 = {