@xfers/design-system 4.4.1-dev.b44af69c94 → 4.4.1-dev.c22b210705

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.
@@ -28,13 +28,19 @@ var __rest = (this && this.__rest) || function (s, e) {
28
28
  Object.defineProperty(exports, "__esModule", { value: true });
29
29
  var react_1 = require("react");
30
30
  var styled_1 = require("@emotion/styled");
31
- var ThemeContext_1 = require("src/theme/ThemeContext");
32
- var fontStyles_1 = require("src/constants/fontStyles");
31
+ var Typography_1 = require("src/constants/Typography/Typography");
32
+ var theme_1 = require("src/theme/theme");
33
33
  var Link = function (_a) {
34
- var size = _a.size, children = _a.children, props = __rest(_a, ["size", "children"]);
35
- var primary = (0, ThemeContext_1.useTheme)().brand.primary;
36
- var StyledLink = styled_1.default.a(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n ", ";\n color: ", ";\n user-select: none;\n text-decoration: underline;\n\n &:hover {\n color: ", ";\n text-decoration: underline;\n }\n "], ["\n ", ";\n color: ", ";\n user-select: none;\n text-decoration: underline;\n\n &:hover {\n color: ", ";\n text-decoration: underline;\n }\n "])), size === 'small' ? fontStyles_1.smallPStyle : fontStyles_1.pStyle, primary.link, primary.default);
37
- return react_1.default.createElement(StyledLink, __assign({}, props), children);
34
+ var _b = _a.typographyType, typographyType = _b === void 0 ? 'body' : _b, _c = _a.size, size = _c === void 0 ? 'md' : _c, textContent = _a.textContent, children = _a.children, href = _a.href, target = _a.target, rel = _a.rel, _d = _a.isUnderlined, isUnderlined = _d === void 0 ? true : _d, icon = _a.icon, _e = _a.iconPlacement, iconPlacement = _e === void 0 ? 'left' : _e, onClick = _a.onClick, props = __rest(_a, ["typographyType", "size", "textContent", "children", "href", "target", "rel", "isUnderlined", "icon", "iconPlacement", "onClick"]);
35
+ var StyledLink = styled_1.default.a(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n display: ", ";\n align-items: center;\n gap: 4px;\n .material-symbols-rounded {\n color: ", " !important;\n }\n text-decoration: ", " ", ";\n :hover {\n text-decoration: ", " ", ";\n }\n user-select: none;\n "], ["\n display: ", ";\n align-items: center;\n gap: 4px;\n .material-symbols-rounded {\n color: ", " !important;\n }\n text-decoration: ", " ", ";\n :hover {\n text-decoration: ", " ", ";\n }\n user-select: none;\n "])), icon ? 'flex' : 'inline-flex', theme_1.straitsXTheme.color.base.link, isUnderlined ? 'underline' : 'none', theme_1.straitsXTheme.color.base.link, isUnderlined ? 'underline' : 'none', theme_1.straitsXTheme.color.base.link);
36
+ var toShowIconOnLeft = icon && iconPlacement === 'left';
37
+ var toShowIconOnRight = icon && iconPlacement === 'right';
38
+ var content = textContent || children;
39
+ return (react_1.default.createElement(StyledLink, __assign({ href: href, target: target, rel: rel, onClick: onClick }, props),
40
+ toShowIconOnLeft && icon,
41
+ typographyType === 'body' && (react_1.default.createElement(Typography_1.Typography.Body, { size: size, color: theme_1.straitsXTheme.color.base.link }, content)),
42
+ typographyType === 'label' && (react_1.default.createElement(Typography_1.Typography.Label, { size: size, color: theme_1.straitsXTheme.color.base.link }, content)),
43
+ toShowIconOnRight && icon));
38
44
  };
39
45
  exports.default = Link;
40
46
  var templateObject_1;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/Link/index.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+BAAyB;AACzB,0CAAoC;AACpC,uDAAiD;AACjD,uDAA8D;AAM9D,IAAM,IAAI,GAAG,UAAC,EAAuC;IAArC,IAAA,IAAI,UAAA,EAAE,QAAQ,cAAA,EAAK,KAAK,cAA1B,oBAA4B,CAAF;IAE3B,IAAA,OAAO,GACd,IAAA,uBAAQ,GAAE,cADI,CACJ;IAEd,IAAM,UAAU,GAAG,gBAAM,CAAC,CAAC,8OAAA,QACvB,EAAuC,gBAChC,EAAY,4FAKV,EAAe,iDAG3B,KATG,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,wBAAW,CAAC,CAAC,CAAC,mBAAM,EAChC,OAAO,CAAC,IAAI,EAKV,OAAO,CAAC,OAAO,CAG3B,CAAA;IACD,OAAO,8BAAC,UAAU,eAAK,KAAK,GAAG,QAAQ,CAAc,CAAA;AACvD,CAAC,CAAA;AACD,kBAAe,IAAI,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/Link/index.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+BAAyB;AACzB,0CAAoC;AACpC,kEAAgE;AAChE,yCAA+C;AAgB/C,IAAM,IAAI,GAAG,UAAC,EAaN;IAZN,IAAA,sBAAuB,EAAvB,cAAc,mBAAG,MAAM,KAAA,EACvB,YAAW,EAAX,IAAI,mBAAG,IAAI,KAAA,EACX,WAAW,iBAAA,EACX,QAAQ,cAAA,EACR,IAAI,UAAA,EACJ,MAAM,YAAA,EACN,GAAG,SAAA,EACH,oBAAmB,EAAnB,YAAY,mBAAG,IAAI,KAAA,EACnB,IAAI,UAAA,EACJ,qBAAsB,EAAtB,aAAa,mBAAG,MAAM,KAAA,EACtB,OAAO,aAAA,EACJ,KAAK,cAZI,kIAab,CADS;IAER,IAAM,UAAU,GAAG,gBAAM,CAAC,CAAC,8TAAA,iBACd,EAA6B,4FAI7B,EAA6B,4CAErB,EAAmC,GAAI,EAA6B,0CAElE,EAAmC,GAAI,EAA6B,sCAG1F,KAXY,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,EAI7B,qBAAa,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAErB,YAAY,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,EAAI,qBAAa,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAElE,YAAY,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,EAAI,qBAAa,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAG1F,CAAA;IAED,IAAM,gBAAgB,GAAG,IAAI,IAAI,aAAa,KAAK,MAAM,CAAA;IACzD,IAAM,iBAAiB,GAAG,IAAI,IAAI,aAAa,KAAK,OAAO,CAAA;IAC3D,IAAM,OAAO,GAAG,WAAW,IAAI,QAAQ,CAAA;IAEvC,OAAO,CACL,8BAAC,UAAU,aACT,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,GAAG,EACR,OAAO,EAAE,OAAO,IACZ,KAAK;QAER,gBAAgB,IAAI,IAAI;QACxB,cAAc,KAAK,MAAM,IAAI,CAC5B,8BAAC,uBAAU,CAAC,IAAI,IAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,qBAAa,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,IAC9D,OAAO,CACQ,CACnB;QACA,cAAc,KAAK,OAAO,IAAI,CAC7B,8BAAC,uBAAU,CAAC,KAAK,IAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,qBAAa,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,IAC/D,OAAO,CACS,CACpB;QACA,iBAAiB,IAAI,IAAI,CACf,CACd,CAAA;AACH,CAAC,CAAA;AACD,kBAAe,IAAI,CAAA"}
@@ -1,6 +1,16 @@
1
1
  import React from 'react';
2
- type LinkProps = {
3
- size?: 'small';
2
+ type Props = {
3
+ typographyType?: 'body' | 'label';
4
+ size?: 'md' | 'sm';
5
+ textContent?: string;
6
+ children?: React.ReactNode;
7
+ href?: string;
8
+ target?: string;
9
+ rel?: string;
10
+ isUnderlined?: boolean;
11
+ icon?: React.ReactNode;
12
+ iconPlacement?: 'left' | 'right';
13
+ onClick?: () => void;
4
14
  } & React.AnchorHTMLAttributes<HTMLAnchorElement>;
5
- declare const Link: ({ size, children, ...props }: LinkProps) => React.JSX.Element;
15
+ declare const Link: ({ typographyType, size, textContent, children, href, target, rel, isUnderlined, icon, iconPlacement, onClick, ...props }: Props) => React.JSX.Element;
6
16
  export default Link;