@helsenorge/designsystem-react 13.0.0 → 13.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.
- package/lib/AnchorLink.js +2 -2
- package/lib/AnchorLink.js.map +1 -1
- package/lib/Avatar.js +2 -2
- package/lib/Avatar.js.map +1 -1
- package/lib/Badge.js +2 -2
- package/lib/Badge.js.map +1 -1
- package/lib/Button.js +6 -6
- package/lib/Button.js.map +1 -1
- package/lib/CHANGELOG.md +29 -1
- package/lib/Checkbox.js +6 -6
- package/lib/Checkbox.js.map +1 -1
- package/lib/Close.js +3 -3
- package/lib/Close.js.map +1 -1
- package/lib/DictionaryTrigger.js +2 -2
- package/lib/DictionaryTrigger.js.map +1 -1
- package/lib/Drawer.js +5 -5
- package/lib/Drawer.js.map +1 -1
- package/lib/Duolist.js +5 -5
- package/lib/Duolist.js.map +1 -1
- package/lib/ElementHeader.js +36 -17
- package/lib/ElementHeader.js.map +1 -1
- package/lib/ElementHeaderText.js +4 -4
- package/lib/ElementHeaderText.js.map +1 -1
- package/lib/ErrorWrapper.js +2 -2
- package/lib/ErrorWrapper.js.map +1 -1
- package/lib/Expander.js +7 -7
- package/lib/Expander.js.map +1 -1
- package/lib/FormFieldTag.js +2 -2
- package/lib/FormFieldTag.js.map +1 -1
- package/lib/FormGroup.js +5 -5
- package/lib/FormGroup.js.map +1 -1
- package/lib/FormLayout.js +3 -3
- package/lib/FormLayout.js.map +1 -1
- package/lib/HelpDetails.js +3 -3
- package/lib/HelpDetails.js.map +1 -1
- package/lib/HelpTriggerIcon.js +2 -2
- package/lib/HelpTriggerIcon.js.map +1 -1
- package/lib/HelpTriggerStandalone.js +2 -2
- package/lib/HelpTriggerStandalone.js.map +1 -1
- package/lib/HighlightPanel.js +3 -3
- package/lib/HighlightPanel.js.map +1 -1
- package/lib/HorizontalScroll.js +4 -4
- package/lib/HorizontalScroll.js.map +1 -1
- package/lib/Icon.js +2 -2
- package/lib/Icon.js.map +1 -1
- package/lib/InfoTeaser.js +3 -3
- package/lib/InfoTeaser.js.map +1 -1
- package/lib/Input.js +4 -4
- package/lib/Input.js.map +1 -1
- package/lib/Label.js +5 -5
- package/lib/Label.js.map +1 -1
- package/lib/LinkList.js +52 -25
- package/lib/LinkList.js.map +1 -1
- package/lib/List.js +2 -2
- package/lib/List.js.map +1 -1
- package/lib/ListEditMode.js +14 -10
- package/lib/ListEditMode.js.map +1 -1
- package/lib/MaxCharacters.js +2 -2
- package/lib/MaxCharacters.js.map +1 -1
- package/lib/Panel.js +12 -12
- package/lib/Panel.js.map +1 -1
- package/lib/PanelOld.js +14 -14
- package/lib/PanelOld.js.map +1 -1
- package/lib/PanelTitle.js +2 -2
- package/lib/PanelTitle.js.map +1 -1
- package/lib/PopOver.js +2 -2
- package/lib/PopOver.js.map +1 -1
- package/lib/RadioButton.js +5 -5
- package/lib/RadioButton.js.map +1 -1
- package/lib/Select.js +4 -4
- package/lib/Select.js.map +1 -1
- package/lib/SingleSelectItem.js +3 -3
- package/lib/SingleSelectItem.js.map +1 -1
- package/lib/Slider.js +4 -4
- package/lib/Slider.js.map +1 -1
- package/lib/Spacer.js +2 -2
- package/lib/Spacer.js.map +1 -1
- package/lib/StatusDot.js +4 -4
- package/lib/StatusDot.js.map +1 -1
- package/lib/StatusDotList.js +2 -2
- package/lib/StatusDotList.js.map +1 -1
- package/lib/StepButtons.js +5 -5
- package/lib/StepButtons.js.map +1 -1
- package/lib/TabList.js +8 -8
- package/lib/TabList.js.map +1 -1
- package/lib/TabPanel.js +2 -2
- package/lib/TabPanel.js.map +1 -1
- package/lib/Table.js +2 -2
- package/lib/Table.js.map +1 -1
- package/lib/TableBody.js +2 -2
- package/lib/TableBody.js.map +1 -1
- package/lib/TableCell.js +2 -2
- package/lib/TableCell.js.map +1 -1
- package/lib/TableExpandedRow.js +4 -4
- package/lib/TableExpandedRow.js.map +1 -1
- package/lib/TableExpanderCell.js +2 -2
- package/lib/TableExpanderCell.js.map +1 -1
- package/lib/TableHead.js +2 -2
- package/lib/TableHead.js.map +1 -1
- package/lib/TableHeadCell.js +3 -3
- package/lib/TableHeadCell.js.map +1 -1
- package/lib/TableRow.js +3 -3
- package/lib/TableRow.js.map +1 -1
- package/lib/Textarea.js +4 -4
- package/lib/Textarea.js.map +1 -1
- package/lib/Title.js +2 -2
- package/lib/Title.js.map +1 -1
- package/lib/Toast.js +3 -3
- package/lib/Toast.js.map +1 -1
- package/lib/components/ArticleTeaser/index.js +4 -4
- package/lib/components/ArticleTeaser/index.js.map +1 -1
- package/lib/components/Chip/index.js +2 -2
- package/lib/components/Chip/index.js.map +1 -1
- package/lib/components/Dropdown/index.js +5 -5
- package/lib/components/Dropdown/index.js.map +1 -1
- package/lib/components/DropdownOld/index.js +3 -3
- package/lib/components/DropdownOld/index.js.map +1 -1
- package/lib/components/ElementHeader/ElementHeader.d.ts +4 -2
- package/lib/components/ElementHeader/styles.module.scss +30 -0
- package/lib/components/ElementHeader/styles.module.scss.d.ts +2 -0
- package/lib/components/EmptyState/index.js +2 -2
- package/lib/components/EmptyState/index.js.map +1 -1
- package/lib/components/ExpanderHierarchy/index.js +7 -7
- package/lib/components/ExpanderHierarchy/index.js.map +1 -1
- package/lib/components/ExpanderList/index.js +28 -25
- package/lib/components/ExpanderList/index.js.map +1 -1
- package/lib/components/ExpanderList/styles.module.scss +1 -0
- package/lib/components/FavoriteButton/index.js +3 -3
- package/lib/components/FavoriteButton/index.js.map +1 -1
- package/lib/components/HelpBubble/index.js +3 -3
- package/lib/components/HelpBubble/index.js.map +1 -1
- package/lib/components/HelpPanel/index.js +2 -2
- package/lib/components/HelpPanel/index.js.map +1 -1
- package/lib/components/HelpTriggerInline/index.js +2 -2
- package/lib/components/HelpTriggerInline/index.js.map +1 -1
- package/lib/components/LinkList/LinkList.d.ts +7 -0
- package/lib/components/LinkList/index.js +1 -0
- package/lib/components/LinkList/resourceHelper.d.ts +3 -0
- package/lib/components/LinkList/styles.module.scss +4 -0
- package/lib/components/ListEditMode/ListEditMode.d.ts +6 -1
- package/lib/components/ListEditMode/styles.module.scss +4 -8
- package/lib/components/Loader/index.js +4 -4
- package/lib/components/Loader/index.js.map +1 -1
- package/lib/components/Modal/index.js +9 -9
- package/lib/components/Modal/index.js.map +1 -1
- package/lib/components/NotificationPanel/index.js +6 -6
- package/lib/components/NotificationPanel/index.js.map +1 -1
- package/lib/components/PanelList/index.js +3 -3
- package/lib/components/PanelList/index.js.map +1 -1
- package/lib/components/PanelListOld/index.js +2 -2
- package/lib/components/PanelListOld/index.js.map +1 -1
- package/lib/components/PopMenu/index.js +4 -3
- package/lib/components/PopMenu/index.js.map +1 -1
- package/lib/components/Progressbar/index.js +2 -2
- package/lib/components/Progressbar/index.js.map +1 -1
- package/lib/components/PromoPanel/index.js +2 -2
- package/lib/components/PromoPanel/index.js.map +1 -1
- package/lib/components/ServiceMessage/index.js +71 -33
- package/lib/components/ServiceMessage/index.js.map +1 -1
- package/lib/components/ServiceMessage/styles.module.scss +87 -56
- package/lib/components/ServiceMessage/styles.module.scss.d.ts +5 -0
- package/lib/components/SharingStatus/index.js +4 -4
- package/lib/components/SharingStatus/index.js.map +1 -1
- package/lib/components/Step/index.js +2 -2
- package/lib/components/Step/index.js.map +1 -1
- package/lib/components/Stepper/index.js +2 -2
- package/lib/components/Stepper/index.js.map +1 -1
- package/lib/components/StickyNote/index.js +8 -8
- package/lib/components/StickyNote/index.js.map +1 -1
- package/lib/components/Tabs/index.js +4 -4
- package/lib/components/Tabs/index.js.map +1 -1
- package/lib/components/Tag/index.js +2 -2
- package/lib/components/Tag/index.js.map +1 -1
- package/lib/components/Tile/index.js +4 -4
- package/lib/components/Tile/index.js.map +1 -1
- package/lib/components/Toggle/index.js +9 -9
- package/lib/components/Toggle/index.js.map +1 -1
- package/lib/components/Validation/index.js +2 -2
- package/lib/components/Validation/index.js.map +1 -1
- package/lib/designsystem-react.css +8 -0
- package/lib/resources/HN.Designsystem.LinkList.en-GB.json.d.ts +6 -0
- package/lib/resources/HN.Designsystem.LinkList.nb-NO.json.d.ts +6 -0
- package/lib/scss/supernova/styles/colors.css +8 -0
- package/package.json +1 -1
- package/scss/supernova/styles/colors.css +8 -0
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import "../../uuid.js";
|
|
2
|
+
import "../../environment.js";
|
|
1
3
|
import { a as IconSize } from "../../constants2.js";
|
|
2
4
|
import { t as usePseudoClasses } from "../../usePseudoClasses.js";
|
|
3
5
|
import { t as breakpoints } from "../../grid.js";
|
|
@@ -9,30 +11,78 @@ import "../../spacing.js";
|
|
|
9
11
|
import "../../currys.js";
|
|
10
12
|
import "../../refs.js";
|
|
11
13
|
import { t as Icon_default } from "../../Icon.js";
|
|
14
|
+
import "../../Check.js";
|
|
15
|
+
import "../../Avatar.js";
|
|
12
16
|
import "../../CheckFill.js";
|
|
13
17
|
import "../../ErrorSignFill.js";
|
|
14
18
|
import "../../InfoSignFill.js";
|
|
15
19
|
import "../../TriangleX.js";
|
|
16
20
|
import { t as NotificationBadge_default } from "../../NotificationBadge.js";
|
|
21
|
+
import "../../Badge.js";
|
|
22
|
+
import "../../_rolldown_dynamic_import_helper.js";
|
|
23
|
+
import "../../useIsServerSide.js";
|
|
24
|
+
import "../../LazyIcon.js";
|
|
25
|
+
import "../../component.js";
|
|
17
26
|
import { n as useBreakpoint } from "../../useBreakpoint.js";
|
|
18
27
|
import "../../useIsMobileBreakpoint.js";
|
|
19
28
|
import { n as getAriaLabelAttributes } from "../../accessibility.js";
|
|
29
|
+
import "../../Spacer.js";
|
|
30
|
+
import "../../useElementList.js";
|
|
31
|
+
import "../../useFocusableElements.js";
|
|
32
|
+
import "../../useFocusToggle.js";
|
|
33
|
+
import "../../focus.js";
|
|
34
|
+
import "../../useFocusTrap.js";
|
|
35
|
+
import "../../useIntersectionObserver.js";
|
|
36
|
+
import "../../useIsVisible.js";
|
|
37
|
+
import "../../debounce.js";
|
|
38
|
+
import "../../useLayoutEvent.js";
|
|
39
|
+
import "../../usePrevious.js";
|
|
40
|
+
import "../../useSize.js";
|
|
41
|
+
import "../../useResizeObserver.js";
|
|
42
|
+
import "../../useToggle.js";
|
|
43
|
+
import "../../useKeyboardEvent.js";
|
|
44
|
+
import "../../useOutsideEvent.js";
|
|
45
|
+
import "../../mobile.js";
|
|
46
|
+
import "../../src.js";
|
|
47
|
+
import "../../StatusDot.js";
|
|
20
48
|
import { t as X_default } from "../../X.js";
|
|
21
49
|
import { t as Close_default } from "../../Close.js";
|
|
22
50
|
import { t as ChevronDown_default } from "../../ChevronDown.js";
|
|
23
51
|
import { t as ChevronUp_default } from "../../ChevronUp.js";
|
|
52
|
+
import "../../Duolist.js";
|
|
53
|
+
import "../../Highlighter.js";
|
|
54
|
+
import "../../ElementHeaderText.js";
|
|
55
|
+
import "../../StatusDotList.js";
|
|
56
|
+
import { i as renderElementHeader } from "../../ElementHeader.js";
|
|
24
57
|
import { t as Forward_default } from "../../Forward.js";
|
|
25
58
|
import React, { useId, useState } from "react";
|
|
26
|
-
import
|
|
59
|
+
import classNames from "classnames";
|
|
27
60
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
28
61
|
import styles from "./styles.module.scss";
|
|
29
62
|
var Label = ({ label, variant, id, hasExpander, isExpanded, dismissable, onExpand, onDismiss, closeBtnText }) => {
|
|
30
63
|
const breakpoint = useBreakpoint();
|
|
31
64
|
const { isHovered, refObject } = usePseudoClasses();
|
|
32
65
|
const iconSize = breakpoint < breakpoints.lg ? IconSize.XSmall : IconSize.Small;
|
|
33
|
-
const
|
|
66
|
+
const labelContainerClasses = classNames(styles["service-message__label-container"], styles[`service-message__label-container--${variant}`], hasExpander && styles[`service-message__label-container--has-expander`]);
|
|
67
|
+
const elementHeader = renderElementHeader(label, {
|
|
68
|
+
titleHtmlMarkup: "span",
|
|
69
|
+
isHovered,
|
|
70
|
+
size: "compact",
|
|
71
|
+
parentType: "expanderlist",
|
|
72
|
+
chevronIcon: hasExpander ? isExpanded ? ChevronUp_default : ChevronDown_default : void 0,
|
|
73
|
+
icon: /* @__PURE__ */ jsx(NotificationBadge_default, {
|
|
74
|
+
variant,
|
|
75
|
+
size: iconSize,
|
|
76
|
+
isHovered: hasExpander && isHovered
|
|
77
|
+
}),
|
|
78
|
+
closeButton: !hasExpander && dismissable ? /* @__PURE__ */ jsx(Close_default, {
|
|
79
|
+
onClick: onDismiss,
|
|
80
|
+
ariaLabel: closeBtnText,
|
|
81
|
+
className: styles["service-message__close"]
|
|
82
|
+
}) : void 0
|
|
83
|
+
});
|
|
34
84
|
return /* @__PURE__ */ jsx("div", {
|
|
35
|
-
className:
|
|
85
|
+
className: labelContainerClasses,
|
|
36
86
|
ref: refObject,
|
|
37
87
|
children: /* @__PURE__ */ jsx("div", {
|
|
38
88
|
className: styles["service-message__container"],
|
|
@@ -40,35 +90,23 @@ var Label = ({ label, variant, id, hasExpander, isExpanded, dismissable, onExpan
|
|
|
40
90
|
className: styles["service-message__row"],
|
|
41
91
|
children: /* @__PURE__ */ jsx("div", {
|
|
42
92
|
className: styles["service-message__col"],
|
|
43
|
-
children: /* @__PURE__ */
|
|
93
|
+
children: /* @__PURE__ */ jsx("div", {
|
|
44
94
|
className: styles["service-message__label"],
|
|
45
|
-
children:
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
children: /* @__PURE__ */ jsx(CustomTag, {
|
|
55
|
-
className: styles["service-message__toggle"],
|
|
56
|
-
onClick: hasExpander ? onExpand : void 0,
|
|
57
|
-
"aria-expanded": hasExpander ? isExpanded : void 0,
|
|
58
|
-
children: label
|
|
59
|
-
})
|
|
60
|
-
}),
|
|
61
|
-
hasExpander && /* @__PURE__ */ jsx(Icon_default, {
|
|
62
|
-
size: iconSize,
|
|
63
|
-
svgIcon: isExpanded ? ChevronUp_default : ChevronDown_default,
|
|
64
|
-
isHovered
|
|
65
|
-
}),
|
|
66
|
-
!hasExpander && dismissable && /* @__PURE__ */ jsx(Close_default, {
|
|
67
|
-
onClick: onDismiss,
|
|
68
|
-
ariaLabel: closeBtnText,
|
|
69
|
-
className: styles["service-message__close"]
|
|
95
|
+
children: hasExpander ? /* @__PURE__ */ jsx("h1", {
|
|
96
|
+
className: styles["service-message__title"],
|
|
97
|
+
id,
|
|
98
|
+
children: /* @__PURE__ */ jsx("button", {
|
|
99
|
+
type: "button",
|
|
100
|
+
className: styles["service-message__toggle"],
|
|
101
|
+
onClick: onExpand,
|
|
102
|
+
"aria-expanded": isExpanded,
|
|
103
|
+
children: elementHeader
|
|
70
104
|
})
|
|
71
|
-
|
|
105
|
+
}) : /* @__PURE__ */ jsx("h1", {
|
|
106
|
+
className: styles["service-message__title"],
|
|
107
|
+
id,
|
|
108
|
+
children: elementHeader
|
|
109
|
+
})
|
|
72
110
|
})
|
|
73
111
|
})
|
|
74
112
|
})
|
|
@@ -93,7 +131,7 @@ var Content = ({ info, extraInfo, urlTitle, url, target, dismissable, closeBtnTe
|
|
|
93
131
|
children: info
|
|
94
132
|
}),
|
|
95
133
|
extraInfo && /* @__PURE__ */ jsx("p", {
|
|
96
|
-
className:
|
|
134
|
+
className: classNames(styles["service-message__info"], styles["service-message__info--extra"]),
|
|
97
135
|
children: extraInfo
|
|
98
136
|
}),
|
|
99
137
|
/* @__PURE__ */ jsxs("div", {
|
|
@@ -111,7 +149,7 @@ var Content = ({ info, extraInfo, urlTitle, url, target, dismissable, closeBtnTe
|
|
|
111
149
|
})]
|
|
112
150
|
}), dismissable && /* @__PURE__ */ jsxs("button", {
|
|
113
151
|
ref: closeButtonRef,
|
|
114
|
-
className:
|
|
152
|
+
className: classNames(styles["service-message__action"], styles["service-message__action--close"]),
|
|
115
153
|
"aria-label": closeBtnText,
|
|
116
154
|
onClick: onDismiss,
|
|
117
155
|
children: [closeBtnText, /* @__PURE__ */ jsx(Icon_default, {
|
|
@@ -141,7 +179,7 @@ var ServiceMessage = ({ label, dismissable = true, onDismiss, info, extraInfo, u
|
|
|
141
179
|
if (hasExpander) setIsExpanded(!isExpanded);
|
|
142
180
|
};
|
|
143
181
|
return /* @__PURE__ */ jsxs("div", {
|
|
144
|
-
className:
|
|
182
|
+
className: classNames(styles["service-message"], styles[`service-message--${variant}`]),
|
|
145
183
|
role: ariaRole,
|
|
146
184
|
...ariaLabelAttributes,
|
|
147
185
|
"data-testid": testId,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["Label: React.FC<LabelProps>","Content: React.FC<ContentProps>","ServiceMessage: React.FC<ServiceMessageProps>"],"sources":["../../../src/components/ServiceMessage/ServiceMessage.tsx","../../../src/components/ServiceMessage/index.ts"],"sourcesContent":["import React, { useId, useState } from 'react';\n\nimport classNames from 'classnames';\n\nimport { useBreakpoint } from '../../hooks/useBreakpoint';\nimport { usePseudoClasses } from '../../hooks/usePseudoClasses';\nimport { getColor } from '../../theme/currys';\nimport { breakpoints } from '../../theme/grid';\nimport { getAriaLabelAttributes } from '../../utils/accessibility';\nimport { AnchorLinkTargets } from '../AnchorLink';\nimport NotificationBadge from '../Badge/NotificationBadge';\nimport Close from '../Close';\nimport Icon, { IconSize } from '../Icon';\nimport ChevronDown from '../Icons/ChevronDown';\nimport ChevronUp from '../Icons/ChevronUp';\nimport Forward from '../Icons/Forward';\nimport X from '../Icons/X';\nimport { NotificationPanelVariants } from '../NotificationPanel';\n\nimport styles from './styles.module.scss';\n\ninterface LabelProps {\n label: string;\n variant: NotificationPanelVariants;\n id: string;\n hasExpander: boolean;\n isExpanded: boolean;\n dismissable: boolean;\n onExpand: () => void;\n onDismiss?: () => void;\n closeBtnText?: string;\n}\n\nconst Label: React.FC<LabelProps> = ({ label, variant, id, hasExpander, isExpanded, dismissable, onExpand, onDismiss, closeBtnText }) => {\n const breakpoint = useBreakpoint();\n const { isHovered, refObject } = usePseudoClasses<HTMLDivElement>();\n\n const iconSize = breakpoint < breakpoints.lg ? IconSize.XSmall : IconSize.Small;\n const CustomTag = hasExpander ? 'button' : 'span';\n\n const labelContainerClasses = classNames(\n styles['service-message__label-container'],\n hasExpander && styles[`service-message__label-container--has-expander`]\n );\n\n return (\n <div className={labelContainerClasses} ref={refObject}>\n <div className={styles['service-message__container']}>\n <div className={styles['service-message__row']}>\n <div className={styles['service-message__col']}>\n <div className={styles['service-message__label']}>\n <NotificationBadge variant={variant} size={iconSize} isHovered={isHovered} />\n <h1 className={styles['service-message__title']} id={id}>\n <CustomTag\n className={styles['service-message__toggle']}\n onClick={hasExpander ? onExpand : undefined}\n aria-expanded={hasExpander ? isExpanded : undefined}\n >\n {label}\n </CustomTag>\n </h1>\n {hasExpander && <Icon size={iconSize} svgIcon={isExpanded ? ChevronUp : ChevronDown} isHovered={isHovered} />}\n {!hasExpander && dismissable && (\n <Close onClick={onDismiss} ariaLabel={closeBtnText} className={styles['service-message__close']} />\n )}\n </div>\n </div>\n </div>\n </div>\n </div>\n );\n};\n\ninterface ContentProps {\n info?: string;\n extraInfo?: string;\n urlTitle?: string;\n url?: string;\n target?: AnchorLinkTargets;\n dismissable: boolean;\n onDismiss?: () => void;\n closeBtnText?: string;\n}\n\nconst Content: React.FC<ContentProps> = ({ info, extraInfo, urlTitle, url, target, dismissable, closeBtnText, onDismiss }) => {\n const { refObject: readMoreRef, isHovered: readMoreHoverRefIsHovered } = usePseudoClasses<HTMLAnchorElement>();\n const { refObject: closeButtonRef, isHovered: closeButtonIsHovered } = usePseudoClasses<HTMLButtonElement>();\n\n const hasUrl = url && urlTitle;\n\n return (\n <div className={styles['service-message__container']}>\n <div className={styles['service-message__row']}>\n <div className={styles['service-message__col']}>\n <div className={styles['service-message__content']}>\n {info && <p className={styles['service-message__info']}>{info}</p>}\n {extraInfo && (\n <p className={classNames(styles['service-message__info'], styles['service-message__info--extra'])}>{extraInfo}</p>\n )}\n <div className={styles['service-message__actions']}>\n {hasUrl && (\n <a className={styles['service-message__action']} href={url} ref={readMoreRef} target={target}>\n {urlTitle}\n <Icon size={IconSize.XSmall} svgIcon={Forward} color={getColor('blueberry', 700)} isHovered={readMoreHoverRefIsHovered} />\n </a>\n )}\n\n {dismissable && (\n <button\n ref={closeButtonRef}\n className={classNames(styles['service-message__action'], styles['service-message__action--close'])}\n aria-label={closeBtnText}\n onClick={onDismiss}\n >\n {closeBtnText}\n <Icon size={IconSize.XSmall} svgIcon={X} color={getColor('blueberry', 700)} isHovered={closeButtonIsHovered} />\n </button>\n )}\n </div>\n </div>\n </div>\n </div>\n </div>\n );\n};\n\nexport interface ServiceMessageProps {\n /** Sets a label for the notification panel. */\n label: string;\n /** String displayed in service-message when expanded */\n info?: string;\n /** String displayed in service-message when expanded, with a smaller font */\n extraInfo?: string;\n /** function that runs on dismiss */\n onDismiss?: () => void;\n /** Allows for dismiss to be an option, also for ServiceMessage with only label as content */\n dismissable?: boolean;\n /** Makes expander be open from start. */\n expanderOpenFromStart?: boolean;\n /** Name that describes a url-link for the user*/\n urlTitle?: string;\n /** Url for further information*/\n url?: string;\n /** Sets target for the anchorlink to the url*/\n target?: AnchorLinkTargets;\n /** Text on close-button in service messages. */\n closeBtnText?: string;\n /** Changes the visual representation. */\n variant?: NotificationPanelVariants;\n /** Sets the data-testid attribute. */\n testId?: string;\n}\n\nconst ServiceMessage: React.FC<ServiceMessageProps> = ({\n label,\n dismissable = true,\n onDismiss,\n info,\n extraInfo,\n urlTitle,\n url,\n target = '_self',\n closeBtnText = 'fjern melding',\n expanderOpenFromStart = false,\n variant = 'error',\n testId,\n}) => {\n const [isExpanded, setIsExpanded] = useState<boolean>(expanderOpenFromStart);\n\n const labelId = useId();\n const hasExpander = !!info || !!extraInfo;\n\n const ariaRole = variant === 'error' ? 'alert' : 'region';\n const ariaLabelAttributes = getAriaLabelAttributes({ label, id: labelId });\n\n const handleClick = (): void => {\n if (hasExpander) setIsExpanded(!isExpanded);\n };\n\n const classes = classNames(styles['service-message'], styles[`service-message--${variant}`]);\n\n return (\n <div className={classes} role={ariaRole} {...ariaLabelAttributes} data-testid={testId}>\n <Label\n label={label}\n variant={variant}\n id={labelId}\n hasExpander={hasExpander}\n isExpanded={isExpanded}\n dismissable={dismissable}\n onExpand={handleClick}\n onDismiss={onDismiss}\n closeBtnText={closeBtnText}\n />\n {hasExpander && isExpanded && (\n <Content\n info={info}\n extraInfo={extraInfo}\n urlTitle={urlTitle}\n url={url}\n target={target}\n dismissable={dismissable}\n onDismiss={onDismiss}\n closeBtnText={closeBtnText}\n />\n )}\n </div>\n );\n};\n\nexport default ServiceMessage;\n","import ServiceMessage from './ServiceMessage';\nexport * from './ServiceMessage';\nexport default ServiceMessage;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["Label: React.FC<LabelProps>","Content: React.FC<ContentProps>","ServiceMessage: React.FC<ServiceMessageProps>"],"sources":["../../../src/components/ServiceMessage/ServiceMessage.tsx","../../../src/components/ServiceMessage/index.ts"],"sourcesContent":["import React, { useId, useState } from 'react';\n\nimport classNames from 'classnames';\n\nimport { useBreakpoint } from '../../hooks/useBreakpoint';\nimport { usePseudoClasses } from '../../hooks/usePseudoClasses';\nimport { getColor } from '../../theme/currys';\nimport { breakpoints } from '../../theme/grid';\nimport { getAriaLabelAttributes } from '../../utils/accessibility';\nimport { AnchorLinkTargets } from '../AnchorLink';\nimport NotificationBadge from '../Badge/NotificationBadge';\nimport Close from '../Close';\nimport { renderElementHeader } from '../ElementHeader/ElementHeader';\nimport Icon, { IconSize } from '../Icon';\nimport ChevronDown from '../Icons/ChevronDown';\nimport ChevronUp from '../Icons/ChevronUp';\nimport Forward from '../Icons/Forward';\nimport X from '../Icons/X';\nimport { NotificationPanelVariants } from '../NotificationPanel';\n\nimport styles from './styles.module.scss';\n\ninterface LabelProps {\n label: string;\n variant: NotificationPanelVariants;\n id: string;\n hasExpander: boolean;\n isExpanded: boolean;\n dismissable: boolean;\n onExpand: () => void;\n onDismiss?: () => void;\n closeBtnText?: string;\n}\n\nconst Label: React.FC<LabelProps> = ({ label, variant, id, hasExpander, isExpanded, dismissable, onExpand, onDismiss, closeBtnText }) => {\n const breakpoint = useBreakpoint();\n const { isHovered, refObject } = usePseudoClasses<HTMLDivElement>();\n\n const iconSize = breakpoint < breakpoints.lg ? IconSize.XSmall : IconSize.Small;\n const labelContainerClasses = classNames(\n styles['service-message__label-container'],\n styles[`service-message__label-container--${variant}`],\n hasExpander && styles[`service-message__label-container--has-expander`]\n );\n\n const elementHeader = renderElementHeader(label, {\n titleHtmlMarkup: 'span',\n isHovered,\n size: 'compact',\n parentType: 'expanderlist',\n chevronIcon: hasExpander ? (isExpanded ? ChevronUp : ChevronDown) : undefined,\n icon: <NotificationBadge variant={variant} size={iconSize} isHovered={hasExpander && isHovered} />,\n closeButton:\n !hasExpander && dismissable ? (\n <Close onClick={onDismiss} ariaLabel={closeBtnText} className={styles['service-message__close']} />\n ) : undefined,\n });\n\n return (\n <div className={labelContainerClasses} ref={refObject}>\n <div className={styles['service-message__container']}>\n <div className={styles['service-message__row']}>\n <div className={styles['service-message__col']}>\n <div className={styles['service-message__label']}>\n {hasExpander ? (\n <h1 className={styles['service-message__title']} id={id}>\n <button type=\"button\" className={styles['service-message__toggle']} onClick={onExpand} aria-expanded={isExpanded}>\n {elementHeader}\n </button>\n </h1>\n ) : (\n <h1 className={styles['service-message__title']} id={id}>\n {elementHeader}\n </h1>\n )}\n </div>\n </div>\n </div>\n </div>\n </div>\n );\n};\n\ninterface ContentProps {\n info?: string;\n extraInfo?: string;\n urlTitle?: string;\n url?: string;\n target?: AnchorLinkTargets;\n dismissable: boolean;\n onDismiss?: () => void;\n closeBtnText?: string;\n}\n\nconst Content: React.FC<ContentProps> = ({ info, extraInfo, urlTitle, url, target, dismissable, closeBtnText, onDismiss }) => {\n const { refObject: readMoreRef, isHovered: readMoreHoverRefIsHovered } = usePseudoClasses<HTMLAnchorElement>();\n const { refObject: closeButtonRef, isHovered: closeButtonIsHovered } = usePseudoClasses<HTMLButtonElement>();\n\n const hasUrl = url && urlTitle;\n\n return (\n <div className={styles['service-message__container']}>\n <div className={styles['service-message__row']}>\n <div className={styles['service-message__col']}>\n <div className={styles['service-message__content']}>\n {info && <p className={styles['service-message__info']}>{info}</p>}\n {extraInfo && (\n <p className={classNames(styles['service-message__info'], styles['service-message__info--extra'])}>{extraInfo}</p>\n )}\n <div className={styles['service-message__actions']}>\n {hasUrl && (\n <a className={styles['service-message__action']} href={url} ref={readMoreRef} target={target}>\n {urlTitle}\n <Icon size={IconSize.XSmall} svgIcon={Forward} color={getColor('blueberry', 700)} isHovered={readMoreHoverRefIsHovered} />\n </a>\n )}\n\n {dismissable && (\n <button\n ref={closeButtonRef}\n className={classNames(styles['service-message__action'], styles['service-message__action--close'])}\n aria-label={closeBtnText}\n onClick={onDismiss}\n >\n {closeBtnText}\n <Icon size={IconSize.XSmall} svgIcon={X} color={getColor('blueberry', 700)} isHovered={closeButtonIsHovered} />\n </button>\n )}\n </div>\n </div>\n </div>\n </div>\n </div>\n );\n};\n\nexport interface ServiceMessageProps {\n /** Sets a label for the notification panel. */\n label: string;\n /** String displayed in service-message when expanded */\n info?: string;\n /** String displayed in service-message when expanded, with a smaller font */\n extraInfo?: string;\n /** function that runs on dismiss */\n onDismiss?: () => void;\n /** Allows for dismiss to be an option, also for ServiceMessage with only label as content */\n dismissable?: boolean;\n /** Makes expander be open from start. */\n expanderOpenFromStart?: boolean;\n /** Name that describes a url-link for the user*/\n urlTitle?: string;\n /** Url for further information*/\n url?: string;\n /** Sets target for the anchorlink to the url*/\n target?: AnchorLinkTargets;\n /** Text on close-button in service messages. */\n closeBtnText?: string;\n /** Changes the visual representation. */\n variant?: NotificationPanelVariants;\n /** Sets the data-testid attribute. */\n testId?: string;\n}\n\nconst ServiceMessage: React.FC<ServiceMessageProps> = ({\n label,\n dismissable = true,\n onDismiss,\n info,\n extraInfo,\n urlTitle,\n url,\n target = '_self',\n closeBtnText = 'fjern melding',\n expanderOpenFromStart = false,\n variant = 'error',\n testId,\n}) => {\n const [isExpanded, setIsExpanded] = useState<boolean>(expanderOpenFromStart);\n\n const labelId = useId();\n const hasExpander = !!info || !!extraInfo;\n\n const ariaRole = variant === 'error' ? 'alert' : 'region';\n const ariaLabelAttributes = getAriaLabelAttributes({ label, id: labelId });\n\n const handleClick = (): void => {\n if (hasExpander) setIsExpanded(!isExpanded);\n };\n\n const classes = classNames(styles['service-message'], styles[`service-message--${variant}`]);\n\n return (\n <div className={classes} role={ariaRole} {...ariaLabelAttributes} data-testid={testId}>\n <Label\n label={label}\n variant={variant}\n id={labelId}\n hasExpander={hasExpander}\n isExpanded={isExpanded}\n dismissable={dismissable}\n onExpand={handleClick}\n onDismiss={onDismiss}\n closeBtnText={closeBtnText}\n />\n {hasExpander && isExpanded && (\n <Content\n info={info}\n extraInfo={extraInfo}\n urlTitle={urlTitle}\n url={url}\n target={target}\n dismissable={dismissable}\n onDismiss={onDismiss}\n closeBtnText={closeBtnText}\n />\n )}\n </div>\n );\n};\n\nexport default ServiceMessage;\n","import ServiceMessage from './ServiceMessage';\nexport * from './ServiceMessage';\nexport default ServiceMessage;\n"],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
@use 'sass:map';
|
|
2
|
-
@use '../../scss/spacers' as spacers;
|
|
3
|
-
@use '../../scss/palette' as palette;
|
|
4
2
|
@use '../../scss/font-settings' as font-settings;
|
|
3
|
+
@import '../../scss/supernova/styles/colors.css';
|
|
4
|
+
@import '../../scss/supernova/styles/spacers.css';
|
|
5
5
|
@import '../../scss/breakpoints';
|
|
6
6
|
@import '../../scss/grid';
|
|
7
7
|
|
|
@@ -16,57 +16,45 @@
|
|
|
16
16
|
}
|
|
17
17
|
|
|
18
18
|
&--success {
|
|
19
|
-
background-color:
|
|
20
|
-
|
|
21
|
-
&:hover {
|
|
22
|
-
background-color: rgba-to-rgb(rgba(palette.$kiwi500, 0.1), palette.$kiwi50);
|
|
23
|
-
}
|
|
19
|
+
background-color: var(--color-notification-background-success);
|
|
24
20
|
|
|
25
21
|
&#{$servicemessage},
|
|
26
22
|
&#{$servicemessage}__label-container {
|
|
27
|
-
border-color:
|
|
23
|
+
border-color: var(--color-notification-border-success);
|
|
28
24
|
}
|
|
29
25
|
}
|
|
30
26
|
|
|
31
27
|
&--info {
|
|
32
|
-
background-color:
|
|
33
|
-
|
|
34
|
-
&:hover {
|
|
35
|
-
background-color: rgba-to-rgb(rgba(palette.$blueberry500, 0.1), palette.$blueberry50);
|
|
36
|
-
}
|
|
28
|
+
background-color: var(--color-notification-background-info);
|
|
37
29
|
|
|
38
30
|
&#{$servicemessage},
|
|
39
31
|
&#{$servicemessage}__label-container {
|
|
40
|
-
border-color:
|
|
32
|
+
border-color: var(--color-notification-border-info);
|
|
41
33
|
}
|
|
42
34
|
}
|
|
43
35
|
|
|
44
36
|
&--warn {
|
|
45
|
-
background-color:
|
|
46
|
-
|
|
47
|
-
&:hover {
|
|
48
|
-
background-color: rgba-to-rgb(rgba(palette.$banana500, 0.1), palette.$banana50);
|
|
49
|
-
}
|
|
37
|
+
background-color: var(--color-notification-background-warning);
|
|
50
38
|
|
|
51
39
|
&#{$servicemessage},
|
|
52
40
|
&#{$servicemessage}__label-container {
|
|
53
|
-
border-color:
|
|
41
|
+
border-color: var(--color-notification-border-warning);
|
|
54
42
|
}
|
|
55
43
|
}
|
|
56
44
|
|
|
57
45
|
&--error {
|
|
58
|
-
background-color:
|
|
59
|
-
|
|
60
|
-
&:hover {
|
|
61
|
-
background-color: rgba-to-rgb(rgba(palette.$cherry500, 0.1), palette.$cherry50);
|
|
62
|
-
}
|
|
46
|
+
background-color: var(--color-notification-background-error);
|
|
63
47
|
|
|
64
48
|
&#{$servicemessage},
|
|
65
49
|
&#{$servicemessage}__label-container {
|
|
66
|
-
border-color:
|
|
50
|
+
border-color: var(--color-notification-border-error);
|
|
67
51
|
}
|
|
68
52
|
}
|
|
69
53
|
|
|
54
|
+
&__icon {
|
|
55
|
+
fill: var(--color-action-graphics-onlight);
|
|
56
|
+
}
|
|
57
|
+
|
|
70
58
|
&__container {
|
|
71
59
|
@include make-container;
|
|
72
60
|
@include make-container-max-widths;
|
|
@@ -83,16 +71,53 @@
|
|
|
83
71
|
|
|
84
72
|
&__label-container {
|
|
85
73
|
position: relative;
|
|
86
|
-
padding-top: spacers.getSpacer(3xs);
|
|
87
|
-
padding-bottom: spacers.getSpacer(3xs);
|
|
88
74
|
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
padding-bottom: spacers.getSpacer(2xs);
|
|
75
|
+
&--has-expander {
|
|
76
|
+
cursor: pointer;
|
|
92
77
|
}
|
|
93
78
|
|
|
94
79
|
&--has-expander:has(:focus-visible) {
|
|
95
|
-
box-shadow: inset 0 0 0
|
|
80
|
+
box-shadow: inset 0 0 0 4px var(--color-action-border-onlight-focus);
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
&--info#{&}--has-expander {
|
|
84
|
+
&:hover {
|
|
85
|
+
background-color: var(--color-notification-background-info-hover);
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
&:active {
|
|
89
|
+
background-color: var(--color-notification-background-info-active);
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
&--success#{&}--has-expander {
|
|
94
|
+
&:hover {
|
|
95
|
+
background-color: var(--color-notification-background-success-hover);
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
&:active {
|
|
99
|
+
background-color: var(--color-notification-background-success-active);
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
&--warn#{&}--has-expander {
|
|
104
|
+
&:hover {
|
|
105
|
+
background-color: var(--color-notification-background-warning-hover);
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
&:active {
|
|
109
|
+
background-color: var(--color-notification-background-warning-active);
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
&--error#{&}--has-expander {
|
|
114
|
+
&:hover {
|
|
115
|
+
background-color: var(--color-notification-background-error-hover);
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
&:active {
|
|
119
|
+
background-color: var(--color-notification-background-error-active);
|
|
120
|
+
}
|
|
96
121
|
}
|
|
97
122
|
}
|
|
98
123
|
|
|
@@ -100,18 +125,20 @@
|
|
|
100
125
|
display: flex;
|
|
101
126
|
width: 100%;
|
|
102
127
|
align-items: center;
|
|
103
|
-
gap:
|
|
128
|
+
gap: var(--core-space-2xs);
|
|
104
129
|
|
|
105
130
|
@media (min-width: map.get($grid-breakpoints, md)) {
|
|
106
|
-
gap:
|
|
131
|
+
gap: var(--core-space-m);
|
|
107
132
|
}
|
|
108
133
|
}
|
|
109
134
|
|
|
110
135
|
&__title {
|
|
136
|
+
display: flex;
|
|
111
137
|
width: 100%;
|
|
112
138
|
font-weight: 700;
|
|
113
139
|
font-size: font-settings.$font-size-xs;
|
|
114
|
-
line-height:
|
|
140
|
+
line-height: inherit;
|
|
141
|
+
margin: 0;
|
|
115
142
|
|
|
116
143
|
@media (min-width: map.get($grid-breakpoints, md)) {
|
|
117
144
|
font-size: font-settings.$font-size-sm;
|
|
@@ -120,6 +147,8 @@
|
|
|
120
147
|
|
|
121
148
|
&__toggle {
|
|
122
149
|
all: unset;
|
|
150
|
+
width: 100%;
|
|
151
|
+
box-sizing: border-box;
|
|
123
152
|
|
|
124
153
|
// Triks for at hele labelen skal trigge klikk på knappen
|
|
125
154
|
&::after {
|
|
@@ -127,24 +156,26 @@
|
|
|
127
156
|
content: '';
|
|
128
157
|
position: absolute;
|
|
129
158
|
}
|
|
159
|
+
|
|
160
|
+
&:focus-visible {
|
|
161
|
+
outline: none !important;
|
|
162
|
+
}
|
|
130
163
|
}
|
|
131
164
|
|
|
132
165
|
&__content {
|
|
133
|
-
margin-left:
|
|
134
|
-
margin-right:
|
|
135
|
-
padding-top:
|
|
136
|
-
padding-bottom:
|
|
166
|
+
margin-left: 3.375rem;
|
|
167
|
+
margin-right: 3.375rem;
|
|
168
|
+
padding-top: var(--core-space-3xs);
|
|
169
|
+
padding-bottom: var(--core-space-2xs);
|
|
137
170
|
|
|
138
171
|
@media (min-width: map.get($grid-breakpoints, md)) {
|
|
139
|
-
margin-left:
|
|
140
|
-
margin-right:
|
|
172
|
+
margin-left: 4.375rem;
|
|
173
|
+
margin-right: 4.375rem;
|
|
141
174
|
}
|
|
142
175
|
|
|
143
176
|
@media (min-width: map.get($grid-breakpoints, lg)) {
|
|
144
|
-
margin-left:
|
|
145
|
-
margin-right:
|
|
146
|
-
padding-top: spacers.getSpacer(2xs);
|
|
147
|
-
padding-bottom: spacers.getSpacer(s);
|
|
177
|
+
margin-left: 4rem;
|
|
178
|
+
margin-right: 4rem;
|
|
148
179
|
}
|
|
149
180
|
}
|
|
150
181
|
|
|
@@ -154,17 +185,16 @@
|
|
|
154
185
|
margin: 0;
|
|
155
186
|
|
|
156
187
|
@media (min-width: map.get($grid-breakpoints, lg)) {
|
|
157
|
-
margin-top: spacers.getSpacer(xs);
|
|
158
188
|
line-height: 1.625rem;
|
|
159
189
|
font-size: font-settings.$font-size-sm;
|
|
160
190
|
}
|
|
161
191
|
|
|
162
192
|
&--extra {
|
|
163
193
|
font-size: 0.875rem;
|
|
164
|
-
margin-top:
|
|
194
|
+
margin-top: var(--core-space-2xs);
|
|
165
195
|
|
|
166
196
|
@media (min-width: map.get($grid-breakpoints, lg)) {
|
|
167
|
-
margin-top:
|
|
197
|
+
margin-top: var(--core-space-xs);
|
|
168
198
|
font-size: font-settings.$font-size-xs;
|
|
169
199
|
line-height: font-settings.$lineheight-size-xs;
|
|
170
200
|
}
|
|
@@ -175,32 +205,33 @@
|
|
|
175
205
|
display: flex;
|
|
176
206
|
justify-content: space-between;
|
|
177
207
|
flex-flow: column wrap;
|
|
178
|
-
gap:
|
|
179
|
-
margin-top:
|
|
208
|
+
gap: var(--core-space-2xs);
|
|
209
|
+
margin-top: var(--core-space-2xs);
|
|
180
210
|
|
|
181
211
|
@media (min-width: map.get($grid-breakpoints, sm)) {
|
|
182
212
|
flex-direction: row;
|
|
183
213
|
}
|
|
184
214
|
|
|
185
215
|
@media (min-width: map.get($grid-breakpoints, lg)) {
|
|
186
|
-
margin-top:
|
|
216
|
+
margin-top: var(--core-space-s);
|
|
187
217
|
}
|
|
188
218
|
}
|
|
189
219
|
|
|
190
220
|
&__action {
|
|
221
|
+
cursor: pointer;
|
|
191
222
|
display: flex;
|
|
192
223
|
align-items: center;
|
|
193
224
|
border: none;
|
|
194
225
|
width: fit-content;
|
|
195
|
-
color:
|
|
226
|
+
color: var(--color-action-text-onlight);
|
|
196
227
|
font-weight: 600;
|
|
197
228
|
font-size: font-settings.$font-size-xs;
|
|
198
229
|
line-height: 1.25rem;
|
|
199
230
|
background-color: transparent;
|
|
200
231
|
text-decoration: none;
|
|
201
|
-
padding:
|
|
202
|
-
margin-left: -
|
|
203
|
-
gap:
|
|
232
|
+
padding: var(--core-space-xs);
|
|
233
|
+
margin-left: calc(var(--core-space-xs) * -1);
|
|
234
|
+
gap: var(--core-space-xs);
|
|
204
235
|
|
|
205
236
|
&:hover,
|
|
206
237
|
&:active {
|
|
@@ -208,7 +239,7 @@
|
|
|
208
239
|
}
|
|
209
240
|
|
|
210
241
|
&:focus-visible {
|
|
211
|
-
box-shadow: 0 0 0
|
|
242
|
+
box-shadow: 0 0 0 4px var(--color-action-border-onlight-focus);
|
|
212
243
|
background-color: transparent;
|
|
213
244
|
border: 0;
|
|
214
245
|
outline: none;
|
|
@@ -7,11 +7,16 @@ export type Styles = {
|
|
|
7
7
|
'service-message__col': string;
|
|
8
8
|
'service-message__container': string;
|
|
9
9
|
'service-message__content': string;
|
|
10
|
+
'service-message__icon': string;
|
|
10
11
|
'service-message__info': string;
|
|
11
12
|
'service-message__info--extra': string;
|
|
12
13
|
'service-message__label': string;
|
|
13
14
|
'service-message__label-container': string;
|
|
15
|
+
'service-message__label-container--error': string;
|
|
14
16
|
'service-message__label-container--has-expander': string;
|
|
17
|
+
'service-message__label-container--info': string;
|
|
18
|
+
'service-message__label-container--success': string;
|
|
19
|
+
'service-message__label-container--warn': string;
|
|
15
20
|
'service-message__row': string;
|
|
16
21
|
'service-message__title': string;
|
|
17
22
|
'service-message__toggle': string;
|
|
@@ -2,14 +2,14 @@ import { a as IconSize, n as AnalyticsId } from "../../constants2.js";
|
|
|
2
2
|
import { t as palette } from "../../palette.js";
|
|
3
3
|
import { t as Icon_default } from "../../Icon.js";
|
|
4
4
|
import React from "react";
|
|
5
|
-
import
|
|
5
|
+
import classNames from "classnames";
|
|
6
6
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
7
7
|
import styles from "./styles.module.scss";
|
|
8
8
|
var SharingStatus = (props) => {
|
|
9
9
|
const { color = "neutral", icon, children, className, testId, wrapText } = props;
|
|
10
|
-
const sharingStatusClasses =
|
|
11
|
-
const dotClasses =
|
|
12
|
-
const labelClasses =
|
|
10
|
+
const sharingStatusClasses = classNames(styles["sharing-status"], className);
|
|
11
|
+
const dotClasses = classNames(styles["sharing-status__dot"], styles[`sharing-status__dot--${color}`]);
|
|
12
|
+
const labelClasses = classNames(styles["sharing-status__label"], styles[`sharing-status__label--${color}`], { [styles["sharing-status__label--wrap"]]: wrapText });
|
|
13
13
|
return /* @__PURE__ */ jsxs("span", {
|
|
14
14
|
className: sharingStatusClasses,
|
|
15
15
|
"data-testid": testId,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["SharingStatus: React.FC<SharingStatusProps>"],"sources":["../../../src/components/SharingStatus/SharingStatus.tsx","../../../src/components/SharingStatus/index.ts"],"sourcesContent":["import React from 'react';\n\nimport classNames from 'classnames';\n\nimport { AnalyticsId, IconSize } from '../../constants';\nimport { PaletteNames, palette } from '../../theme/palette';\nimport Icon, { SvgIcon } from '../Icon';\n\nimport styles from './styles.module.scss';\n\nexport type SharingStatusColor = Extract<PaletteNames, 'kiwi' | 'cherry' | 'neutral'>;\n\nexport interface SharingStatusProps {\n /** Color choices represent variants of sharingstatus */\n color?: SharingStatusColor;\n /** Adds custom classes to the element. */\n className?: string;\n /** Icon to be displayed next to the sharingstatus */\n icon: SvgIcon;\n /** Sets the data-testid attribute. */\n testId?: string;\n /** Sets the text placed to the right of the sharingstatus */\n children: string;\n /** turn on and off word wrapping */\n wrapText?: boolean;\n}\n\nconst SharingStatus: React.FC<SharingStatusProps> = props => {\n const { color = 'neutral', icon, children, className, testId, wrapText } = props;\n\n const sharingStatusClasses = classNames(styles['sharing-status'], className);\n const dotClasses = classNames(styles['sharing-status__dot'], styles[`sharing-status__dot--${color}`]);\n const labelClasses = classNames(styles['sharing-status__label'], styles[`sharing-status__label--${color}`], {\n [styles['sharing-status__label--wrap']]: wrapText,\n });\n\n return (\n <span className={sharingStatusClasses} data-testid={testId} data-analyticsid={AnalyticsId.SharingStatus}>\n <span className={dotClasses}>\n <Icon color={palette.white} svgIcon={icon} size={IconSize.XXSmall} />\n </span>\n <span className={labelClasses}>{children}</span>\n </span>\n );\n};\n\nexport default SharingStatus;\n","import SharingStatus from './SharingStatus';\nexport * from './SharingStatus';\nexport default SharingStatus;\n"],"mappings":";;;;;;;AA2BA,IAAMA,iBAA8C,UAAS;CAC3D,MAAM,EAAE,QAAQ,WAAW,MAAM,UAAU,WAAW,QAAQ,aAAa;CAE3E,MAAM,uBAAuB,
|
|
1
|
+
{"version":3,"file":"index.js","names":["SharingStatus: React.FC<SharingStatusProps>"],"sources":["../../../src/components/SharingStatus/SharingStatus.tsx","../../../src/components/SharingStatus/index.ts"],"sourcesContent":["import React from 'react';\n\nimport classNames from 'classnames';\n\nimport { AnalyticsId, IconSize } from '../../constants';\nimport { PaletteNames, palette } from '../../theme/palette';\nimport Icon, { SvgIcon } from '../Icon';\n\nimport styles from './styles.module.scss';\n\nexport type SharingStatusColor = Extract<PaletteNames, 'kiwi' | 'cherry' | 'neutral'>;\n\nexport interface SharingStatusProps {\n /** Color choices represent variants of sharingstatus */\n color?: SharingStatusColor;\n /** Adds custom classes to the element. */\n className?: string;\n /** Icon to be displayed next to the sharingstatus */\n icon: SvgIcon;\n /** Sets the data-testid attribute. */\n testId?: string;\n /** Sets the text placed to the right of the sharingstatus */\n children: string;\n /** turn on and off word wrapping */\n wrapText?: boolean;\n}\n\nconst SharingStatus: React.FC<SharingStatusProps> = props => {\n const { color = 'neutral', icon, children, className, testId, wrapText } = props;\n\n const sharingStatusClasses = classNames(styles['sharing-status'], className);\n const dotClasses = classNames(styles['sharing-status__dot'], styles[`sharing-status__dot--${color}`]);\n const labelClasses = classNames(styles['sharing-status__label'], styles[`sharing-status__label--${color}`], {\n [styles['sharing-status__label--wrap']]: wrapText,\n });\n\n return (\n <span className={sharingStatusClasses} data-testid={testId} data-analyticsid={AnalyticsId.SharingStatus}>\n <span className={dotClasses}>\n <Icon color={palette.white} svgIcon={icon} size={IconSize.XXSmall} />\n </span>\n <span className={labelClasses}>{children}</span>\n </span>\n );\n};\n\nexport default SharingStatus;\n","import SharingStatus from './SharingStatus';\nexport * from './SharingStatus';\nexport default SharingStatus;\n"],"mappings":";;;;;;;AA2BA,IAAMA,iBAA8C,UAAS;CAC3D,MAAM,EAAE,QAAQ,WAAW,MAAM,UAAU,WAAW,QAAQ,aAAa;CAE3E,MAAM,uBAAuB,WAAW,OAAO,mBAAmB,UAAU;CAC5E,MAAM,aAAa,WAAW,OAAO,wBAAwB,OAAO,wBAAwB,SAAS;CACrG,MAAM,eAAe,WAAW,OAAO,0BAA0B,OAAO,0BAA0B,UAAU,GACzG,OAAO,iCAAiC,UAC1C,CAAC;AAEF,QACE,qBAAC,QAAA;EAAK,WAAW;EAAsB,eAAa;EAAQ,oBAAkB,YAAY;aACxF,oBAAC,QAAA;GAAK,WAAW;aACf,oBAAC,cAAA;IAAK,OAAO,QAAQ;IAAO,SAAS;IAAM,MAAM,SAAS;KAAW;IAChE,EACP,oBAAC,QAAA;GAAK,WAAW;GAAe;IAAgB,CAAA;GAC3C;;ACxCX,IAAA,wBD4Ce"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { n as AnalyticsId } from "../../constants2.js";
|
|
2
2
|
import { t as StepButtons_default } from "../../StepButtons.js";
|
|
3
3
|
import React from "react";
|
|
4
|
-
import
|
|
4
|
+
import classNames from "classnames";
|
|
5
5
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
6
6
|
import styles from "./styles.module.scss";
|
|
7
7
|
var Step = ({ stepper, children, className, contentClassName, backButton, forwardButton, additionalButtons, cancelButton, stickyButtons = false, testId }) => {
|
|
@@ -16,7 +16,7 @@ var Step = ({ stepper, children, className, contentClassName, backButton, forwar
|
|
|
16
16
|
children: stepper
|
|
17
17
|
}),
|
|
18
18
|
/* @__PURE__ */ jsx("div", {
|
|
19
|
-
className:
|
|
19
|
+
className: classNames(styles.step__content, contentClassName),
|
|
20
20
|
children
|
|
21
21
|
}),
|
|
22
22
|
hasNavigation && /* @__PURE__ */ jsx(StepButtons_default, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["Step: React.FC<StepProps>"],"sources":["../../../src/components/Step/Step.tsx","../../../src/components/Step/index.ts"],"sourcesContent":["import React from 'react';\n\nimport classNames from 'classnames';\n\nimport { AnalyticsId } from '../../constants';\nimport { ButtonProps } from '../Button';\nimport StepButtons from '../StepButtons';\nimport { StepperProps } from '../Stepper';\n\nimport styles from './styles.module.scss';\n\nexport interface StepProps {\n /** Stepper viser fremdriften */\n stepper?: React.ReactElement<StepperProps>;\n /** Innhold i steget */\n children: React.ReactNode;\n /** Adds custom classes to the element. */\n className?: string;\n /** Adds custom classes to the content element. */\n contentClassName?: string;\n /** Knapp for å gå tilbake. Vises med \"outline\" variant. */\n backButton?: React.ReactElement<ButtonProps>;\n /** Knapp for å gå videre. Vises med \"fill\" variant. */\n forwardButton?: React.ReactElement<ButtonProps>;\n /** Ekstra knapper. Valgfritt utseende. */\n additionalButtons?: React.ReactElement<ButtonProps>[];\n /** Knapp for å avbryte eller fortsette senere. Vises med \"borderless\" variant. */\n cancelButton?: React.ReactElement<ButtonProps>;\n /** Knappene vil vises sticky nederst på skjermen dersom innholdet i Step tar mer plass enn vinduet. Default: false */\n stickyButtons?: boolean;\n /** Sets the data-testid attribute. */\n testId?: string;\n}\n\nconst Step: React.FC<StepProps> = ({\n stepper,\n children,\n className,\n contentClassName,\n backButton,\n forwardButton,\n additionalButtons,\n cancelButton,\n stickyButtons = false,\n testId,\n}) => {\n const hasNavigation = backButton || forwardButton || additionalButtons || cancelButton;\n\n return (\n <div data-testid={testId} data-analyticsid={AnalyticsId.Step} className={className}>\n {stepper && <div className={styles.step__stepper}>{stepper}</div>}\n <div className={classNames(styles.step__content, contentClassName)}>{children}</div>\n {hasNavigation && (\n <StepButtons\n backButton={backButton}\n forwardButton={forwardButton}\n additionalButtons={additionalButtons}\n cancelButton={cancelButton}\n sticky={stickyButtons}\n />\n )}\n </div>\n );\n};\n\nexport default Step;\n","import Step from './Step';\nexport * from './Step';\nexport default Step;\n"],"mappings":";;;;;;AAkCA,IAAMA,QAA6B,EACjC,SACA,UACA,WACA,kBACA,YACA,eACA,mBACA,cACA,gBAAgB,OAChB,aACI;CACJ,MAAM,gBAAgB,cAAc,iBAAiB,qBAAqB;AAE1E,QACE,qBAAC,OAAA;EAAI,eAAa;EAAQ,oBAAkB,YAAY;EAAiB;;GACtE,WAAW,oBAAC,OAAA;IAAI,WAAW,OAAO;cAAgB;KAAc;GACjE,oBAAC,OAAA;IAAI,WAAW,
|
|
1
|
+
{"version":3,"file":"index.js","names":["Step: React.FC<StepProps>"],"sources":["../../../src/components/Step/Step.tsx","../../../src/components/Step/index.ts"],"sourcesContent":["import React from 'react';\n\nimport classNames from 'classnames';\n\nimport { AnalyticsId } from '../../constants';\nimport { ButtonProps } from '../Button';\nimport StepButtons from '../StepButtons';\nimport { StepperProps } from '../Stepper';\n\nimport styles from './styles.module.scss';\n\nexport interface StepProps {\n /** Stepper viser fremdriften */\n stepper?: React.ReactElement<StepperProps>;\n /** Innhold i steget */\n children: React.ReactNode;\n /** Adds custom classes to the element. */\n className?: string;\n /** Adds custom classes to the content element. */\n contentClassName?: string;\n /** Knapp for å gå tilbake. Vises med \"outline\" variant. */\n backButton?: React.ReactElement<ButtonProps>;\n /** Knapp for å gå videre. Vises med \"fill\" variant. */\n forwardButton?: React.ReactElement<ButtonProps>;\n /** Ekstra knapper. Valgfritt utseende. */\n additionalButtons?: React.ReactElement<ButtonProps>[];\n /** Knapp for å avbryte eller fortsette senere. Vises med \"borderless\" variant. */\n cancelButton?: React.ReactElement<ButtonProps>;\n /** Knappene vil vises sticky nederst på skjermen dersom innholdet i Step tar mer plass enn vinduet. Default: false */\n stickyButtons?: boolean;\n /** Sets the data-testid attribute. */\n testId?: string;\n}\n\nconst Step: React.FC<StepProps> = ({\n stepper,\n children,\n className,\n contentClassName,\n backButton,\n forwardButton,\n additionalButtons,\n cancelButton,\n stickyButtons = false,\n testId,\n}) => {\n const hasNavigation = backButton || forwardButton || additionalButtons || cancelButton;\n\n return (\n <div data-testid={testId} data-analyticsid={AnalyticsId.Step} className={className}>\n {stepper && <div className={styles.step__stepper}>{stepper}</div>}\n <div className={classNames(styles.step__content, contentClassName)}>{children}</div>\n {hasNavigation && (\n <StepButtons\n backButton={backButton}\n forwardButton={forwardButton}\n additionalButtons={additionalButtons}\n cancelButton={cancelButton}\n sticky={stickyButtons}\n />\n )}\n </div>\n );\n};\n\nexport default Step;\n","import Step from './Step';\nexport * from './Step';\nexport default Step;\n"],"mappings":";;;;;;AAkCA,IAAMA,QAA6B,EACjC,SACA,UACA,WACA,kBACA,YACA,eACA,mBACA,cACA,gBAAgB,OAChB,aACI;CACJ,MAAM,gBAAgB,cAAc,iBAAiB,qBAAqB;AAE1E,QACE,qBAAC,OAAA;EAAI,eAAa;EAAQ,oBAAkB,YAAY;EAAiB;;GACtE,WAAW,oBAAC,OAAA;IAAI,WAAW,OAAO;cAAgB;KAAc;GACjE,oBAAC,OAAA;IAAI,WAAW,WAAW,OAAO,eAAe,iBAAiB;IAAG;KAAe;GACnF,iBACC,oBAAC,qBAAA;IACa;IACG;IACI;IACL;IACd,QAAQ;KACR;;GAEA;;AC3DV,IAAA,eD+De"}
|
|
@@ -3,7 +3,7 @@ import { n as getAriaLabelAttributes } from "../../accessibility.js";
|
|
|
3
3
|
import "../../debounce.js";
|
|
4
4
|
import { t as useSize } from "../../useSize.js";
|
|
5
5
|
import React, { useRef } from "react";
|
|
6
|
-
import
|
|
6
|
+
import classNames from "classnames";
|
|
7
7
|
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
8
8
|
import styles from "./styles.module.scss";
|
|
9
9
|
var MARKER_DOT_MIN_DISTANCE_PX = 4;
|
|
@@ -29,7 +29,7 @@ const getValidatedProps = (value, min, max) => {
|
|
|
29
29
|
};
|
|
30
30
|
var Dot = ({ index, completed, distanceBetweenDots, position }) => {
|
|
31
31
|
return /* @__PURE__ */ jsx("span", {
|
|
32
|
-
className:
|
|
32
|
+
className: classNames(styles.stepper__dot, completed && styles["stepper__dot--completed"], position && styles[`stepper__dot--${position}`]),
|
|
33
33
|
style: !position && typeof index !== "undefined" && typeof distanceBetweenDots !== "undefined" ? { left: `${index * distanceBetweenDots + 8}px` } : void 0,
|
|
34
34
|
"data-testid": "dot"
|
|
35
35
|
});
|