@helsenorge/designsystem-react 11.1.0-alpha.0 → 11.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 (35) hide show
  1. package/Button.js +6 -8
  2. package/Button.js.map +1 -1
  3. package/CHANGELOG.md +882 -1495
  4. package/HelpBubble.js +78 -0
  5. package/HelpBubble.js.map +1 -0
  6. package/PopOver.js +141 -3589
  7. package/PopOver.js.map +1 -1
  8. package/components/Drawer/Drawer.d.ts +2 -0
  9. package/components/Drawer/index.js +3 -5
  10. package/components/Drawer/index.js.map +1 -1
  11. package/components/HelpBubble/HelpBubble.d.ts +9 -7
  12. package/components/HelpBubble/index.js +3 -47
  13. package/components/HelpBubble/index.js.map +1 -1
  14. package/components/HelpBubble/styles.module.scss +7 -5
  15. package/components/HelpBubble/styles.module.scss.d.ts +1 -0
  16. package/components/HelpPanel/styles.module.scss +2 -3
  17. package/components/HelpTooltip/index.js +2 -2
  18. package/components/HelpTooltip/index.js.map +1 -1
  19. package/components/HighlightPanel/styles.module.scss +0 -1
  20. package/components/PopMenu/index.js +24 -15
  21. package/components/PopMenu/index.js.map +1 -1
  22. package/components/PopMenu/styles.module.scss +10 -9
  23. package/components/PopMenu/styles.module.scss.d.ts +1 -0
  24. package/components/PopOver/PopOver.d.ts +5 -9
  25. package/components/PopOver/index.js +3 -3
  26. package/components/PopOver/styles.module.scss +53 -11
  27. package/components/PopOver/styles.module.scss.d.ts +5 -0
  28. package/hooks/useIsMobileBreakpoint.d.ts +1 -0
  29. package/hooks/useIsMobileBreakpoint.js +10 -0
  30. package/hooks/useIsMobileBreakpoint.js.map +1 -0
  31. package/package.json +1 -1
  32. package/scss/_font-mixins.scss +0 -22
  33. package/scss/typography.module.scss +0 -8
  34. package/scss/typography.module.scss.d.ts +0 -2
  35. package/scss/typography.stories.tsx +0 -8
package/HelpBubble.js ADDED
@@ -0,0 +1,78 @@
1
+ import { jsx, jsxs } from "react/jsx-runtime";
2
+ import React__default from "react";
3
+ import classNames from "classnames";
4
+ import { AnalyticsId } from "./constants.js";
5
+ import { A as AnchorLink } from "./AnchorLink.js";
6
+ import { C as Close } from "./Close.js";
7
+ import { P as PopOverVariant, a as PopOver } from "./PopOver.js";
8
+ import styles from "./components/HelpBubble/styles.module.scss";
9
+ const HelpBubbleVariant = PopOverVariant;
10
+ const HelpBubble = React__default.forwardRef((props, ref) => {
11
+ const {
12
+ children,
13
+ className = "",
14
+ noCloseButton,
15
+ linkText = "Mer hjelp",
16
+ linkUrl,
17
+ linkTarget,
18
+ onLinkClick,
19
+ onClose,
20
+ closeAriaLabel,
21
+ // Props passed on to PopOver
22
+ showBubble,
23
+ helpBubbleId,
24
+ variant,
25
+ controllerRef,
26
+ role,
27
+ testId
28
+ } = props;
29
+ const isTooltip = role === "tooltip";
30
+ if (!showBubble && !isTooltip) {
31
+ return null;
32
+ }
33
+ const helpBubbleClasses = classNames(styles.helpbubble, className);
34
+ const contentClasses = classNames(styles.helpbubble__content, {
35
+ [styles["helpbubble__content--close"]]: !noCloseButton && !isTooltip
36
+ });
37
+ const renderLink = () => {
38
+ if (isTooltip) {
39
+ return;
40
+ }
41
+ if (onLinkClick && linkText) {
42
+ return /* @__PURE__ */ jsx("button", { className: styles.helpbubble__link, onClick: onLinkClick, type: "button", children: linkText });
43
+ } else if (linkUrl && linkText) {
44
+ return /* @__PURE__ */ jsx(AnchorLink, { href: linkUrl, target: linkTarget, children: linkText });
45
+ }
46
+ };
47
+ const renderCloseButton = () => {
48
+ if (noCloseButton || isTooltip) {
49
+ return;
50
+ }
51
+ return /* @__PURE__ */ jsx("div", { className: styles.helpbubble__close, children: /* @__PURE__ */ jsx(Close, { small: true, onClick: onClose, ariaLabel: closeAriaLabel }) });
52
+ };
53
+ return /* @__PURE__ */ jsx(
54
+ PopOver,
55
+ {
56
+ id: helpBubbleId,
57
+ variant,
58
+ controllerRef,
59
+ role,
60
+ ref,
61
+ show: isTooltip && showBubble,
62
+ testId,
63
+ children: /* @__PURE__ */ jsxs("div", { className: helpBubbleClasses, "data-analyticsid": AnalyticsId.HelpBubble, children: [
64
+ renderCloseButton(),
65
+ /* @__PURE__ */ jsxs("div", { className: contentClasses, children: [
66
+ children,
67
+ renderLink()
68
+ ] })
69
+ ] })
70
+ }
71
+ );
72
+ });
73
+ HelpBubble.displayName = "HelpBubble";
74
+ export {
75
+ HelpBubble as H,
76
+ HelpBubbleVariant as a
77
+ };
78
+ //# sourceMappingURL=HelpBubble.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HelpBubble.js","sources":["../src/components/HelpBubble/HelpBubble.tsx"],"sourcesContent":["import React from 'react';\n\nimport classNames from 'classnames';\n\nimport { AnalyticsId } from '../../constants';\nimport AnchorLink, { AnchorLinkTargets } from '../AnchorLink';\nimport Close from '../Close';\nimport PopOver, { PopOverProps, PopOverVariant } from '../PopOver';\n\nimport styles from './styles.module.scss';\n\nexport const HelpBubbleVariant = PopOverVariant;\n\ntype HelpBubbleRole = 'tooltip';\n\nexport interface HelpBubbleProps extends Pick<PopOverProps, 'children' | 'variant' | 'controllerRef' | 'role'> {\n /** Id of the HelpBubble */\n helpBubbleId?: string;\n /** Content shown inside HelpBubble. Note that if role=\"tooltip\", you must not include interactive/focusable elements. */\n children: React.ReactNode;\n /** Ref for the element the HelpBubble is placed upon */\n controllerRef: React.RefObject<HTMLElement | SVGSVGElement>;\n /** Adds custom classes to the element. */\n className?: string;\n /** Determines the placement of the helpbubble. Default: automatic positioning. */\n variant?: keyof typeof HelpBubbleVariant;\n /** Show the bubble. Default: false. */\n showBubble?: boolean;\n /** Hide the close button in the bubble. Close button is never rendered if role=\"tooltip\". */\n noCloseButton?: boolean;\n /** Visible text on the link. Link is never rendered if role=\"tooltip\". */\n linkText?: string;\n /** Url the link leads to */\n linkUrl?: string;\n /** Sets the target type of the link. _blank adds an arrow icon at the end of the link */\n linkTarget?: AnchorLinkTargets;\n /** Function is called when link is clicked */\n onLinkClick?: () => void;\n /** Function is called when user clicks the button */\n onClose?: () => void;\n /** aria-label to be passed onto Close */\n closeAriaLabel?: string;\n /** Sets role of the HelpBubble element. If set to \"tooltip\", */\n role?: HelpBubbleRole;\n /** Sets the data-testid attribute. */\n testId?: string;\n}\n\nconst HelpBubble = React.forwardRef<HTMLDivElement | SVGSVGElement, HelpBubbleProps>((props, ref) => {\n const {\n children,\n className = '',\n noCloseButton,\n linkText = 'Mer hjelp',\n linkUrl,\n linkTarget,\n onLinkClick,\n onClose,\n closeAriaLabel,\n // Props passed on to PopOver\n showBubble,\n helpBubbleId,\n variant,\n controllerRef,\n role,\n testId,\n } = props;\n\n const isTooltip = role === 'tooltip';\n\n if (!showBubble && !isTooltip) {\n return null;\n }\n\n const helpBubbleClasses = classNames(styles.helpbubble, className);\n\n const contentClasses = classNames(styles.helpbubble__content, {\n [styles['helpbubble__content--close']]: !noCloseButton && !isTooltip,\n });\n\n const renderLink = (): JSX.Element | undefined => {\n // Det er ikke tillatt med interaktive/fokuserbare elementer i role=\"tooltip\"\n if (isTooltip) {\n return;\n }\n if (onLinkClick && linkText) {\n return (\n <button className={styles.helpbubble__link} onClick={onLinkClick} type=\"button\">\n {linkText}\n </button>\n );\n } else if (linkUrl && linkText) {\n return (\n <AnchorLink href={linkUrl} target={linkTarget}>\n {linkText}\n </AnchorLink>\n );\n }\n };\n\n const renderCloseButton = (): JSX.Element | undefined => {\n if (noCloseButton || isTooltip) {\n return;\n }\n return (\n <div className={styles.helpbubble__close}>\n <Close small onClick={onClose} ariaLabel={closeAriaLabel} />\n </div>\n );\n };\n\n return (\n <PopOver\n id={helpBubbleId}\n variant={variant}\n controllerRef={controllerRef}\n role={role}\n ref={ref}\n show={isTooltip && showBubble}\n testId={testId}\n >\n <div className={helpBubbleClasses} data-analyticsid={AnalyticsId.HelpBubble}>\n {renderCloseButton()}\n <div className={contentClasses}>\n {children}\n {renderLink()}\n </div>\n </div>\n </PopOver>\n );\n});\n\nHelpBubble.displayName = 'HelpBubble';\n\nexport default HelpBubble;\n"],"names":["React"],"mappings":";;;;;;;;AAWO,MAAM,oBAAoB;AAqCjC,MAAM,aAAaA,eAAM,WAA4D,CAAC,OAAO,QAAQ;AAC7F,QAAA;AAAA,IACJ;AAAA,IACA,YAAY;AAAA,IACZ;AAAA,IACA,WAAW;AAAA,IACX;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAAA,IAEA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA,IACE;AAEJ,QAAM,YAAY,SAAS;AAEvB,MAAA,CAAC,cAAc,CAAC,WAAW;AACtB,WAAA;AAAA,EAAA;AAGT,QAAM,oBAAoB,WAAW,OAAO,YAAY,SAAS;AAE3D,QAAA,iBAAiB,WAAW,OAAO,qBAAqB;AAAA,IAC5D,CAAC,OAAO,4BAA4B,CAAC,GAAG,CAAC,iBAAiB,CAAC;AAAA,EAAA,CAC5D;AAED,QAAM,aAAa,MAA+B;AAEhD,QAAI,WAAW;AACb;AAAA,IAAA;AAEF,QAAI,eAAe,UAAU;AAEzB,aAAA,oBAAC,YAAO,WAAW,OAAO,kBAAkB,SAAS,aAAa,MAAK,UACpE,UACH,SAAA,CAAA;AAAA,IAAA,WAEO,WAAW,UAAU;AAC9B,iCACG,YAAW,EAAA,MAAM,SAAS,QAAQ,YAChC,UACH,UAAA;AAAA,IAAA;AAAA,EAGN;AAEA,QAAM,oBAAoB,MAA+B;AACvD,QAAI,iBAAiB,WAAW;AAC9B;AAAA,IAAA;AAEF,WACG,oBAAA,OAAA,EAAI,WAAW,OAAO,mBACrB,UAAA,oBAAC,OAAM,EAAA,OAAK,MAAC,SAAS,SAAS,WAAW,eAAgB,CAAA,GAC5D;AAAA,EAEJ;AAGE,SAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,IAAI;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,MAAM,aAAa;AAAA,MACnB;AAAA,MAEA,+BAAC,OAAI,EAAA,WAAW,mBAAmB,oBAAkB,YAAY,YAC9D,UAAA;AAAA,QAAkB,kBAAA;AAAA,QACnB,qBAAC,OAAI,EAAA,WAAW,gBACb,UAAA;AAAA,UAAA;AAAA,UACA,WAAW;AAAA,QAAA,EACd,CAAA;AAAA,MAAA,EACF,CAAA;AAAA,IAAA;AAAA,EACF;AAEJ,CAAC;AAED,WAAW,cAAc;"}