@laerdal/life-react-components 6.0.0-dev.13.full → 6.0.0-dev.14.full

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.
@@ -11,6 +11,7 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
11
11
  var React = _interopRequireWildcard(require("react"));
12
12
  var _styledComponents = _interopRequireDefault(require("styled-components"));
13
13
  var _styling = require("./styling");
14
+ var _Navigation = require("../Navigation");
14
15
  var _jsxRuntime = require("react/jsx-runtime");
15
16
  const _excluded = ["children", "target", "variant"];
16
17
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
@@ -29,7 +30,15 @@ const HyperLink = _ref => {
29
30
  variant = 'default'
30
31
  } = _ref,
31
32
  props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
33
+ const navigationContext = (0, _Navigation.useNavigation)();
34
+ const onClick = e => {
35
+ if (!props.external && navigationContext?.navigate) {
36
+ navigationContext?.navigate(props.href, false);
37
+ e?.preventDefault();
38
+ }
39
+ };
32
40
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(StyledLink, _objectSpread(_objectSpread({}, props), {}, {
41
+ onClick: onClick,
33
42
  $variant: variant,
34
43
  target: target,
35
44
  rel: "noopener noreferrer",
@@ -44,7 +53,8 @@ HyperLink.propTypes = {
44
53
  margin: _propTypes.default.string,
45
54
  children: _propTypes.default.any,
46
55
  className: _propTypes.default.string,
47
- ref: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.func, _propTypes.default.object])
56
+ ref: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.func, _propTypes.default.object]),
57
+ external: _propTypes.default.bool
48
58
  };
49
59
  var _default = exports.default = HyperLink;
50
60
  //# sourceMappingURL=HyperLink.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"HyperLink.cjs","names":["React","_interopRequireWildcard","require","_styledComponents","_interopRequireDefault","_styling","_jsxRuntime","_excluded","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","StyledLink","exports","styled","props","$variant","invertedStyle","defaultStyle","$margin","HyperLink","_ref","children","target","variant","_objectWithoutProperties2","jsx","rel","propTypes","id","_propTypes","string","oneOf","isRequired","href","disabled","bool","margin","any","className","ref","oneOfType","func","object","_default"],"sources":["../../src/HyperLink/HyperLink.tsx"],"sourcesContent":["import * as React from 'react';\r\nimport styled from 'styled-components';\r\nimport { defaultStyle, invertedStyle } from './styling';\r\n\r\nexport const StyledLink = styled.a<{\r\n $variant: 'default' | 'inverted' | 'styleless';\r\n $margin?: string;\r\n}>`\r\n cursor: pointer;\r\n ${(props) => (props.$variant === 'styleless' || !props.$variant ? '' : (props.$variant == 'inverted' ? invertedStyle : defaultStyle))}\r\n ${(props) => (props.$margin ? `margin: ${props.$margin};` : '')}\r\n`;\r\n\r\nexport interface HyperlinkProps extends React.AnchorHTMLAttributes<HTMLAnchorElement> {\r\n /** Id of the link component. */\r\n id?: string;\r\n /** Style variant of the link */\r\n variant: 'default' | 'inverted' | 'styleless';\r\n /** Href of the link component */\r\n href: string;\r\n /** If set then user can not interact with the link. */\r\n disabled?: boolean;\r\n /** Custom value of margin style. */\r\n margin?: string;\r\n /** Content of the Hyperlink */\r\n children?: any;\r\n /** Custom className to set to the link. */\r\n className?: string;\r\n /** Ref for Hyperlink. */\r\n ref?: React.Ref<HTMLAnchorElement>;\r\n}\r\n\r\nconst HyperLink: React.FunctionComponent<HyperlinkProps> = ({ children, target = '_blank', variant = 'default', ...props }: HyperlinkProps) => {\r\n return (\r\n <StyledLink {...props} $variant={variant} target={target} rel=\"noopener noreferrer\">\r\n {children}\r\n </StyledLink>\r\n );\r\n};\r\n\r\nexport default HyperLink;\r\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"HyperLink.cjs","names":["React","_interopRequireWildcard","require","_styledComponents","_interopRequireDefault","_styling","_Navigation","_jsxRuntime","_excluded","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","StyledLink","exports","styled","props","$variant","invertedStyle","defaultStyle","$margin","HyperLink","_ref","children","target","variant","_objectWithoutProperties2","navigationContext","useNavigation","onClick","external","navigate","href","preventDefault","jsx","rel","propTypes","id","_propTypes","string","oneOf","isRequired","disabled","bool","margin","any","className","ref","oneOfType","func","object","_default"],"sources":["../../src/HyperLink/HyperLink.tsx"],"sourcesContent":["import * as React from 'react';\r\nimport styled from 'styled-components';\r\nimport { defaultStyle, invertedStyle } from './styling';\r\nimport { useNavigation } from '../Navigation';\r\n\r\nexport const StyledLink = styled.a<{\r\n $variant: 'default' | 'inverted' | 'styleless';\r\n $margin?: string;\r\n}>`\r\n cursor: pointer;\r\n ${(props) => (props.$variant === 'styleless' || !props.$variant ? '' : (props.$variant == 'inverted' ? invertedStyle : defaultStyle))}\r\n ${(props) => (props.$margin ? `margin: ${props.$margin};` : '')}\r\n`;\r\n\r\nexport interface HyperlinkProps extends React.AnchorHTMLAttributes<HTMLAnchorElement> {\r\n /** Id of the link component. */\r\n id?: string;\r\n /** Style variant of the link */\r\n variant: 'default' | 'inverted' | 'styleless';\r\n /** Href of the link component */\r\n href: string;\r\n /** If set then user can not interact with the link. */\r\n disabled?: boolean;\r\n /** Custom value of margin style. */\r\n margin?: string;\r\n /** Content of the Hyperlink */\r\n children?: any;\r\n /** Custom className to set to the link. */\r\n className?: string;\r\n /** Ref for Hyperlink. */\r\n ref?: React.Ref<HTMLAnchorElement>;\r\n /** If this flag is set, then Hyperlink will behave like anchor tag, otherwise it will use 'navigate' method of NavigationProvider */\r\n external?: boolean;\r\n}\r\n\r\nconst HyperLink: React.FunctionComponent<HyperlinkProps> = ({ children, target = '_blank', variant = 'default', ...props }: HyperlinkProps) => {\r\n const navigationContext = useNavigation();\r\n const onClick = (e: any) => {\r\n if(!props.external && navigationContext?.navigate)\r\n {\r\n navigationContext?.navigate(props.href, false);\r\n e?.preventDefault();\r\n }\r\n };\r\n return (\r\n <StyledLink {...props} onClick={onClick} $variant={variant} target={target} rel=\"noopener noreferrer\">\r\n {children}\r\n </StyledLink>\r\n );\r\n};\r\n\r\nexport default HyperLink;\r\n"],"mappings":"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","ignoreList":[]}
@@ -20,6 +20,8 @@ export interface HyperlinkProps extends React.AnchorHTMLAttributes<HTMLAnchorEle
20
20
  className?: string;
21
21
  /** Ref for Hyperlink. */
22
22
  ref?: React.Ref<HTMLAnchorElement>;
23
+ /** If this flag is set, then Hyperlink will behave like anchor tag, otherwise it will use 'navigate' method of NavigationProvider */
24
+ external?: boolean;
23
25
  }
24
26
  declare const HyperLink: React.FunctionComponent<HyperlinkProps>;
25
27
  export default HyperLink;
@@ -7,6 +7,7 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
7
7
  import * as React from 'react';
8
8
  import styled from 'styled-components';
9
9
  import { defaultStyle, invertedStyle } from './styling';
10
+ import { useNavigation } from '../Navigation';
10
11
  import { jsx as _jsx } from "react/jsx-runtime";
11
12
  export const StyledLink = styled.a`
12
13
  cursor: pointer;
@@ -20,7 +21,15 @@ const HyperLink = _ref => {
20
21
  variant = 'default'
21
22
  } = _ref,
22
23
  props = _objectWithoutProperties(_ref, _excluded);
24
+ const navigationContext = useNavigation();
25
+ const onClick = e => {
26
+ if (!props.external && navigationContext?.navigate) {
27
+ navigationContext?.navigate(props.href, false);
28
+ e?.preventDefault();
29
+ }
30
+ };
23
31
  return /*#__PURE__*/_jsx(StyledLink, _objectSpread(_objectSpread({}, props), {}, {
32
+ onClick: onClick,
24
33
  $variant: variant,
25
34
  target: target,
26
35
  rel: "noopener noreferrer",
@@ -35,7 +44,8 @@ HyperLink.propTypes = {
35
44
  margin: _pt.string,
36
45
  children: _pt.any,
37
46
  className: _pt.string,
38
- ref: _pt.oneOfType([_pt.string, _pt.func, _pt.object])
47
+ ref: _pt.oneOfType([_pt.string, _pt.func, _pt.object]),
48
+ external: _pt.bool
39
49
  };
40
50
  export default HyperLink;
41
51
  //# sourceMappingURL=HyperLink.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"HyperLink.js","names":["React","styled","defaultStyle","invertedStyle","jsx","_jsx","StyledLink","a","props","$variant","$margin","HyperLink","_ref","children","target","variant","_objectWithoutProperties","_excluded","_objectSpread","rel","propTypes","id","_pt","string","oneOf","isRequired","href","disabled","bool","margin","any","className","ref","oneOfType","func","object"],"sources":["../../src/HyperLink/HyperLink.tsx"],"sourcesContent":["import * as React from 'react';\r\nimport styled from 'styled-components';\r\nimport { defaultStyle, invertedStyle } from './styling';\r\n\r\nexport const StyledLink = styled.a<{\r\n $variant: 'default' | 'inverted' | 'styleless';\r\n $margin?: string;\r\n}>`\r\n cursor: pointer;\r\n ${(props) => (props.$variant === 'styleless' || !props.$variant ? '' : (props.$variant == 'inverted' ? invertedStyle : defaultStyle))}\r\n ${(props) => (props.$margin ? `margin: ${props.$margin};` : '')}\r\n`;\r\n\r\nexport interface HyperlinkProps extends React.AnchorHTMLAttributes<HTMLAnchorElement> {\r\n /** Id of the link component. */\r\n id?: string;\r\n /** Style variant of the link */\r\n variant: 'default' | 'inverted' | 'styleless';\r\n /** Href of the link component */\r\n href: string;\r\n /** If set then user can not interact with the link. */\r\n disabled?: boolean;\r\n /** Custom value of margin style. */\r\n margin?: string;\r\n /** Content of the Hyperlink */\r\n children?: any;\r\n /** Custom className to set to the link. */\r\n className?: string;\r\n /** Ref for Hyperlink. */\r\n ref?: React.Ref<HTMLAnchorElement>;\r\n}\r\n\r\nconst HyperLink: React.FunctionComponent<HyperlinkProps> = ({ children, target = '_blank', variant = 'default', ...props }: HyperlinkProps) => {\r\n return (\r\n <StyledLink {...props} $variant={variant} target={target} rel=\"noopener noreferrer\">\r\n {children}\r\n </StyledLink>\r\n );\r\n};\r\n\r\nexport default HyperLink;\r\n"],"mappings":";;;;;;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,OAAOC,MAAM,MAAM,mBAAmB;AACtC,SAASC,YAAY,EAAEC,aAAa,QAAQ,WAAW;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAExD,OAAO,MAAMC,UAAU,GAAGL,MAAM,CAACM,CAG/B;AACF;AACA,IAAKC,KAAK,IAAMA,KAAK,CAACC,QAAQ,KAAK,WAAW,IAAI,CAACD,KAAK,CAACC,QAAQ,GAAG,EAAE,GAAID,KAAK,CAACC,QAAQ,IAAI,UAAU,GAAGN,aAAa,GAAGD,YAAc;AACvI,IAAKM,KAAK,IAAMA,KAAK,CAACE,OAAO,GAAG,WAAWF,KAAK,CAACE,OAAO,GAAG,GAAG,EAAG;AACjE,CAAC;AAqBD,MAAMC,SAAkD,GAAGC,IAAA,IAAoF;EAAA,IAAnF;MAAEC,QAAQ;MAAEC,MAAM,GAAG,QAAQ;MAAEC,OAAO,GAAG;IAAoC,CAAC,GAAAH,IAAA;IAAvBJ,KAAK,GAAAQ,wBAAA,CAAAJ,IAAA,EAAAK,SAAA;EACtH,oBACEZ,IAAA,CAACC,UAAU,EAAAY,aAAA,CAAAA,aAAA,KAAKV,KAAK;IAAEC,QAAQ,EAAEM,OAAQ;IAACD,MAAM,EAAEA,MAAO;IAACK,GAAG,EAAC,qBAAqB;IAAAN,QAAA,EAChFA;EAAQ,EACC,CAAC;AAEjB,CAAC;AAACF,SAAA,CAAAS,SAAA;EAvBAC,EAAE,EAAAC,GAAA,CAAAC,MAAA;EAEFR,OAAO,EAAAO,GAAA,CAAAE,KAAA,EAAE,SAAS,EAAG,UAAU,EAAG,WAAW,GAAAC,UAAA;EAE7CC,IAAI,EAAAJ,GAAA,CAAAC,MAAA,CAAAE,UAAA;EAEJE,QAAQ,EAAAL,GAAA,CAAAM,IAAA;EAERC,MAAM,EAAAP,GAAA,CAAAC,MAAA;EAENV,QAAQ,EAAAS,GAAA,CAAAQ,GAAA;EAERC,SAAS,EAAAT,GAAA,CAAAC,MAAA;EAETS,GAAG,EAAAV,GAAA,CAAAW,SAAA,EAAAX,GAAA,CAAAC,MAAA,EAAAD,GAAA,CAAAY,IAAA,EAAAZ,GAAA,CAAAa,MAAA;AAAA;AAWL,eAAexB,SAAS","ignoreList":[]}
1
+ {"version":3,"file":"HyperLink.js","names":["React","styled","defaultStyle","invertedStyle","useNavigation","jsx","_jsx","StyledLink","a","props","$variant","$margin","HyperLink","_ref","children","target","variant","_objectWithoutProperties","_excluded","navigationContext","onClick","e","external","navigate","href","preventDefault","_objectSpread","rel","propTypes","id","_pt","string","oneOf","isRequired","disabled","bool","margin","any","className","ref","oneOfType","func","object"],"sources":["../../src/HyperLink/HyperLink.tsx"],"sourcesContent":["import * as React from 'react';\r\nimport styled from 'styled-components';\r\nimport { defaultStyle, invertedStyle } from './styling';\r\nimport { useNavigation } from '../Navigation';\r\n\r\nexport const StyledLink = styled.a<{\r\n $variant: 'default' | 'inverted' | 'styleless';\r\n $margin?: string;\r\n}>`\r\n cursor: pointer;\r\n ${(props) => (props.$variant === 'styleless' || !props.$variant ? '' : (props.$variant == 'inverted' ? invertedStyle : defaultStyle))}\r\n ${(props) => (props.$margin ? `margin: ${props.$margin};` : '')}\r\n`;\r\n\r\nexport interface HyperlinkProps extends React.AnchorHTMLAttributes<HTMLAnchorElement> {\r\n /** Id of the link component. */\r\n id?: string;\r\n /** Style variant of the link */\r\n variant: 'default' | 'inverted' | 'styleless';\r\n /** Href of the link component */\r\n href: string;\r\n /** If set then user can not interact with the link. */\r\n disabled?: boolean;\r\n /** Custom value of margin style. */\r\n margin?: string;\r\n /** Content of the Hyperlink */\r\n children?: any;\r\n /** Custom className to set to the link. */\r\n className?: string;\r\n /** Ref for Hyperlink. */\r\n ref?: React.Ref<HTMLAnchorElement>;\r\n /** If this flag is set, then Hyperlink will behave like anchor tag, otherwise it will use 'navigate' method of NavigationProvider */\r\n external?: boolean;\r\n}\r\n\r\nconst HyperLink: React.FunctionComponent<HyperlinkProps> = ({ children, target = '_blank', variant = 'default', ...props }: HyperlinkProps) => {\r\n const navigationContext = useNavigation();\r\n const onClick = (e: any) => {\r\n if(!props.external && navigationContext?.navigate)\r\n {\r\n navigationContext?.navigate(props.href, false);\r\n e?.preventDefault();\r\n }\r\n };\r\n return (\r\n <StyledLink {...props} onClick={onClick} $variant={variant} target={target} rel=\"noopener noreferrer\">\r\n {children}\r\n </StyledLink>\r\n );\r\n};\r\n\r\nexport default HyperLink;\r\n"],"mappings":";;;;;;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,OAAOC,MAAM,MAAM,mBAAmB;AACtC,SAASC,YAAY,EAAEC,aAAa,QAAQ,WAAW;AACvD,SAASC,aAAa,QAAQ,eAAe;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAE9C,OAAO,MAAMC,UAAU,GAAGN,MAAM,CAACO,CAG/B;AACF;AACA,IAAKC,KAAK,IAAMA,KAAK,CAACC,QAAQ,KAAK,WAAW,IAAI,CAACD,KAAK,CAACC,QAAQ,GAAG,EAAE,GAAID,KAAK,CAACC,QAAQ,IAAI,UAAU,GAAGP,aAAa,GAAGD,YAAc;AACvI,IAAKO,KAAK,IAAMA,KAAK,CAACE,OAAO,GAAG,WAAWF,KAAK,CAACE,OAAO,GAAG,GAAG,EAAG;AACjE,CAAC;AAuBD,MAAMC,SAAkD,GAAGC,IAAA,IAAoF;EAAA,IAAnF;MAAEC,QAAQ;MAAEC,MAAM,GAAG,QAAQ;MAAEC,OAAO,GAAG;IAAoC,CAAC,GAAAH,IAAA;IAAvBJ,KAAK,GAAAQ,wBAAA,CAAAJ,IAAA,EAAAK,SAAA;EACtH,MAAMC,iBAAiB,GAAGf,aAAa,CAAC,CAAC;EACzC,MAAMgB,OAAO,GAAIC,CAAM,IAAK;IAC1B,IAAG,CAACZ,KAAK,CAACa,QAAQ,IAAIH,iBAAiB,EAAEI,QAAQ,EACjD;MACEJ,iBAAiB,EAAEI,QAAQ,CAACd,KAAK,CAACe,IAAI,EAAE,KAAK,CAAC;MAC9CH,CAAC,EAAEI,cAAc,CAAC,CAAC;IACrB;EACF,CAAC;EACD,oBACEnB,IAAA,CAACC,UAAU,EAAAmB,aAAA,CAAAA,aAAA,KAAKjB,KAAK;IAAEW,OAAO,EAAEA,OAAQ;IAACV,QAAQ,EAAEM,OAAQ;IAACD,MAAM,EAAEA,MAAO;IAACY,GAAG,EAAC,qBAAqB;IAAAb,QAAA,EAClGA;EAAQ,EACC,CAAC;AAEjB,CAAC;AAACF,SAAA,CAAAgB,SAAA;EAjCAC,EAAE,EAAAC,GAAA,CAAAC,MAAA;EAEFf,OAAO,EAAAc,GAAA,CAAAE,KAAA,EAAE,SAAS,EAAG,UAAU,EAAG,WAAW,GAAAC,UAAA;EAE7CT,IAAI,EAAAM,GAAA,CAAAC,MAAA,CAAAE,UAAA;EAEJC,QAAQ,EAAAJ,GAAA,CAAAK,IAAA;EAERC,MAAM,EAAAN,GAAA,CAAAC,MAAA;EAENjB,QAAQ,EAAAgB,GAAA,CAAAO,GAAA;EAERC,SAAS,EAAAR,GAAA,CAAAC,MAAA;EAETQ,GAAG,EAAAT,GAAA,CAAAU,SAAA,EAAAV,GAAA,CAAAC,MAAA,EAAAD,GAAA,CAAAW,IAAA,EAAAX,GAAA,CAAAY,MAAA;EAEHpB,QAAQ,EAAAQ,GAAA,CAAAK;AAAA;AAmBV,eAAevB,SAAS","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@laerdal/life-react-components",
3
- "version": "6.0.0-dev.13.full",
3
+ "version": "6.0.0-dev.14.full",
4
4
  "private": false,
5
5
  "author": "Erik Martirosyan <erik.martirosyan@laerdal.com>",
6
6
  "contributors": [],