@helsenorge/designsystem-react 12.0.0-beta.1 → 12.0.0-beta.2
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/CHANGELOG.md +90 -9
- package/Checkbox.js +1 -1
- package/Checkbox.js.map +1 -1
- package/Duolist.js +92 -0
- package/Duolist.js.map +1 -0
- package/ElementHeader.js +150 -0
- package/ElementHeader.js.map +1 -0
- package/ElementHeaderText.js +35 -0
- package/ElementHeaderText.js.map +1 -0
- package/HelpDetails.js +1 -1
- package/HelpDetails.js.map +1 -1
- package/HelpTriggerIcon.js +4 -4
- package/HelpTriggerIcon.js.map +1 -1
- package/HelpTriggerStandalone.js +5 -2
- package/HelpTriggerStandalone.js.map +1 -1
- package/Highlighter.js +44 -0
- package/Highlighter.js.map +1 -0
- package/LazyIcon.js +1 -1
- package/LazyIcon.js.map +1 -1
- package/LinkList.js +47 -9
- package/LinkList.js.map +1 -1
- package/NotificationBadge.js +1 -1
- package/NotificationBadge.js.map +1 -1
- package/Panel.js +38 -18
- package/Panel.js.map +1 -1
- package/PanelTitle.js +3 -2
- package/PanelTitle.js.map +1 -1
- package/PopOver.js +6 -0
- package/PopOver.js.map +1 -1
- package/StatusDot.js +15 -6
- package/StatusDot.js.map +1 -1
- package/StatusDotMultiComposition.js +27 -0
- package/StatusDotMultiComposition.js.map +1 -0
- package/components/AnchorLink/styles.module.scss +7 -7
- package/components/ArticleTeaser/styles.module.scss +7 -3
- package/components/Checkbox/styles.module.scss +7 -1
- package/components/Checkbox/styles.module.scss.d.ts +1 -0
- package/components/Close/styles.module.scss +10 -6
- package/components/DictionaryTrigger/styles.module.scss +12 -5
- package/components/Dropdown/styles.module.scss +9 -1
- package/components/Duolist/index.js +3 -88
- package/components/Duolist/index.js.map +1 -1
- package/components/ElementHeader/ElementHeader.d.ts +59 -0
- package/components/ElementHeader/ElementHeaderText/ElementHeaderText.d.ts +25 -0
- package/components/ElementHeader/ElementHeaderText/index.d.ts +3 -0
- package/components/ElementHeader/ElementHeaderText/index.js +6 -0
- package/components/ElementHeader/StatusDotMultiComposition/StatusDotMultiComposition.d.ts +23 -0
- package/components/ElementHeader/StatusDotMultiComposition/index.d.ts +3 -0
- package/components/ElementHeader/StatusDotMultiComposition/index.js +6 -0
- package/components/{ListHeader → ElementHeader/StatusDotMultiComposition}/index.js.map +1 -1
- package/components/ElementHeader/StatusDotMultiComposition/styles.module.scss +28 -0
- package/components/ElementHeader/StatusDotMultiComposition/styles.module.scss.d.ts +11 -0
- package/components/ElementHeader/index.d.ts +3 -0
- package/components/ElementHeader/index.js +9 -0
- package/components/ElementHeader/index.js.map +1 -0
- package/components/{ListHeader → ElementHeader}/styles.module.scss +46 -9
- package/components/ElementHeader/styles.module.scss.d.ts +22 -0
- package/components/ExpanderList/ExpanderList.d.ts +9 -2
- package/components/ExpanderList/index.js +40 -23
- package/components/ExpanderList/index.js.map +1 -1
- package/components/ExpanderList/styles.module.scss +288 -47
- package/components/ExpanderList/styles.module.scss.d.ts +22 -2
- package/components/HelpBubble/HelpBubble.d.ts +7 -0
- package/components/HelpBubble/index.js +43 -8
- package/components/HelpBubble/index.js.map +1 -1
- package/components/HelpBubble/resourceHelper.d.ts +3 -0
- package/components/HelpBubble/styles.module.scss +0 -2
- package/components/HelpDetails/styles.module.scss +3 -2
- package/components/HelpDrawer/HelpDrawer.d.ts +3 -0
- package/components/HelpDrawer/index.js +31 -1
- package/components/HelpDrawer/index.js.map +1 -1
- package/components/HelpDrawer/resourceHelper.d.ts +3 -0
- package/components/HelpDrawer/styles.module.scss +1 -11
- package/components/HelpDrawer/styles.module.scss.d.ts +0 -1
- package/components/HelpPanel/styles.module.scss +2 -2
- package/components/HelpTeaser/styles.module.scss +5 -5
- package/components/HelpTooltip/HelpTooltip.d.ts +2 -2
- package/components/HelpTooltip/index.js.map +1 -1
- package/components/HelpTriggerIcon/HelpTriggerIcon.d.ts +4 -0
- package/components/HelpTriggerIcon/styles.module.scss +10 -10
- package/components/HelpTriggerInline/index.js +5 -2
- package/components/HelpTriggerInline/index.js.map +1 -1
- package/components/HelpTriggerInline/styles.module.scss +8 -4
- package/components/HelpTriggerStandalone/styles.module.scss +8 -4
- package/components/Highlighter/Highlighter.d.ts +7 -0
- package/components/Highlighter/Highlighter.test.d.ts +1 -0
- package/components/Highlighter/index.d.ts +3 -0
- package/components/Highlighter/index.js +6 -0
- package/components/Highlighter/index.js.map +1 -0
- package/components/Highlighter/styles.module.scss +4 -0
- package/components/Highlighter/styles.module.scss.d.ts +9 -0
- package/components/Icons/AdditionalIconInformation.d.ts +4 -0
- package/components/Icons/AdditionalIconInformation.js +2 -1
- package/components/Icons/AdditionalIconInformation.js.map +1 -1
- package/components/Icons/DotActive.d.ts +4 -0
- package/components/Icons/DotActive.js +16 -0
- package/components/Icons/DotActive.js.map +1 -0
- package/components/Icons/DotInactive.d.ts +4 -0
- package/components/Icons/DotInactive.js +30 -0
- package/components/Icons/DotInactive.js.map +1 -0
- package/components/Icons/DotPending.d.ts +4 -0
- package/components/Icons/DotPending.js +16 -0
- package/components/Icons/DotPending.js.map +1 -0
- package/components/Icons/IconNames.d.ts +1 -1
- package/components/Icons/IconNames.js +4 -0
- package/components/Icons/IconNames.js.map +1 -1
- package/components/Icons/TreatmentAids.d.ts +4 -0
- package/components/Icons/TreatmentAids.js +41 -0
- package/components/Icons/TreatmentAids.js.map +1 -0
- package/components/LinkList/LinkList.d.ts +9 -2
- package/components/LinkList/styles.module.scss +70 -0
- package/components/LinkList/styles.module.scss.d.ts +11 -0
- package/components/NotificationPanel/styles.module.scss +1 -1
- package/components/Panel/Panel.d.ts +16 -8
- package/components/Panel/PanelTitle/PanelTitle.d.ts +3 -1
- package/components/Panel/styles.module.scss +10 -1
- package/components/Panel/styles.module.scss.d.ts +2 -0
- package/components/PanelList/PanelList.d.ts +2 -0
- package/components/PanelList/index.js +3 -2
- package/components/PanelList/index.js.map +1 -1
- package/components/PopOver/PopOver.d.ts +4 -0
- package/components/PopOver/styles.module.scss +6 -3
- package/components/PopOver/styles.module.scss.d.ts +1 -0
- package/components/RadioButton/styles.module.scss +7 -1
- package/components/StatusDot/StatusDot.d.ts +6 -2
- package/components/StatusDot/index.js +3 -3
- package/components/StatusDot/styles.module.scss +12 -6
- package/components/StatusDot/styles.module.scss.d.ts +3 -0
- package/components/Step/Step.d.ts +4 -0
- package/components/Step/index.js +5 -2
- package/components/Step/index.js.map +1 -1
- package/components/Toggle/index.js +2 -1
- package/components/Toggle/index.js.map +1 -1
- package/constants.d.ts +1 -0
- package/constants.js +1 -0
- package/constants.js.map +1 -1
- package/designsystem-react.css +1 -1
- package/package.json +1 -1
- package/resources/HN.Designsystem.HelpBubble.nb-NO.json.d.ts +6 -0
- package/resources/HN.Designsystem.HelpDrawer.nb-NO.json.d.ts +6 -0
- package/scss/helsenorge.scss +2 -0
- package/scss/supernova/styles/colors.css +1 -1
- package/scss/typography.stories.tsx +1 -1
- package/ListHeader.js +0 -94
- package/ListHeader.js.map +0 -1
- package/ListHeaderText.js +0 -39
- package/ListHeaderText.js.map +0 -1
- package/components/ListHeader/ListHeader.d.ts +0 -43
- package/components/ListHeader/ListHeaderText/ListHeaderText.d.ts +0 -26
- package/components/ListHeader/ListHeaderText/index.d.ts +0 -3
- package/components/ListHeader/ListHeaderText/index.js +0 -6
- package/components/ListHeader/index.d.ts +0 -4
- package/components/ListHeader/index.js +0 -11
- package/components/ListHeader/styles.module.scss.d.ts +0 -21
- /package/components/{ListHeader/ListHeaderText → ElementHeader/ElementHeaderText}/index.js.map +0 -0
|
@@ -7,9 +7,10 @@ import { usePseudoClasses } from "../../hooks/usePseudoClasses.js";
|
|
|
7
7
|
import { useUuid } from "../../hooks/useUuid.js";
|
|
8
8
|
import { mergeRefs } from "../../utils/refs.js";
|
|
9
9
|
import { isElementInViewport } from "../../utils/viewport.js";
|
|
10
|
+
import { r as renderElementHeader } from "../../ElementHeader.js";
|
|
11
|
+
import { H as Highlighter } from "../../Highlighter.js";
|
|
10
12
|
import ChevronDown from "../Icons/ChevronDown.js";
|
|
11
13
|
import ChevronUp from "../Icons/ChevronUp.js";
|
|
12
|
-
import { r as renderListHeader } from "../../ListHeader.js";
|
|
13
14
|
import expanderListStyles from "./styles.module.scss";
|
|
14
15
|
const Expander = React__default.forwardRef((props, ref) => {
|
|
15
16
|
const {
|
|
@@ -28,7 +29,9 @@ const Expander = React__default.forwardRef((props, ref) => {
|
|
|
28
29
|
onExpand,
|
|
29
30
|
renderChildrenWhenClosed,
|
|
30
31
|
variant = "line",
|
|
31
|
-
zIndex = 0
|
|
32
|
+
zIndex = 0,
|
|
33
|
+
highlightText,
|
|
34
|
+
status = "none"
|
|
32
35
|
} = props;
|
|
33
36
|
const [isExpanded] = useExpand(expanded, onExpand);
|
|
34
37
|
const expanderRef = useRef(null);
|
|
@@ -42,34 +45,41 @@ const Expander = React__default.forwardRef((props, ref) => {
|
|
|
42
45
|
[expanderListStyles[`expander-list__item--fill`]]: isFill,
|
|
43
46
|
[expanderListStyles[`expander-list__item--fill--${color}`]]: isFill,
|
|
44
47
|
[expanderListStyles[`expander-list__item--fill-negative`]]: isFillNegative,
|
|
48
|
+
[expanderListStyles[`expander-list__item--fill-negative--${color}`]]: isFillNegative,
|
|
45
49
|
[expanderListStyles["expander-list__item--outline"]]: isOutline,
|
|
46
50
|
[expanderListStyles[`expander-list__item--outline--${color}`]]: isOutline,
|
|
47
51
|
[expanderListStyles["expander-list__item--line"]]: isLine,
|
|
48
|
-
[expanderListStyles[`expander-list__item--line--${color}`]]: isLine
|
|
52
|
+
[expanderListStyles[`expander-list__item--line--${color}`]]: isLine,
|
|
53
|
+
[expanderListStyles[`expander-list__item--new`]]: status === "new"
|
|
49
54
|
});
|
|
50
55
|
const expanderClasses = classNames(expanderListStyles["expander-list-link"], expanderListStyles[`expander-list-link--${color}`], {
|
|
51
|
-
[expanderListStyles[`expander-list-link--fill`]]: isFill,
|
|
52
56
|
[expanderListStyles[`expander-list-link--fill--${color}`]]: isFill,
|
|
53
57
|
[expanderListStyles[`expander-list-link--fill-negative`]]: isFillNegative,
|
|
58
|
+
[expanderListStyles[`expander-list-link--fill-negative--${color}`]]: isFillNegative,
|
|
54
59
|
[expanderListStyles["expander-list-link--outline"]]: isOutline,
|
|
55
60
|
[expanderListStyles[`expander-list-link--outline--${color}`]]: isOutline,
|
|
56
61
|
[expanderListStyles[`expander-list-link--line--${color}`]]: isLine,
|
|
57
|
-
[expanderListStyles["expander-list-link--closed"]]: !isExpanded,
|
|
58
62
|
[expanderListStyles["expander-list-link--open"]]: isExpanded,
|
|
59
|
-
[expanderListStyles["expander-list-link--large"]]: large
|
|
63
|
+
[expanderListStyles["expander-list-link--large"]]: large,
|
|
64
|
+
[expanderListStyles[`expander-list-link--new`]]: status === "new"
|
|
60
65
|
});
|
|
61
66
|
const renderContent = () => {
|
|
62
67
|
if (!renderChildrenWhenClosed && !isExpanded) {
|
|
63
68
|
return null;
|
|
64
69
|
}
|
|
65
|
-
const mainContentClasses = classNames(
|
|
66
|
-
expanderListStyles["expander-list-link__main-content"],
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
70
|
+
const mainContentClasses = classNames(expanderListStyles["expander-list-link__main-content"], {
|
|
71
|
+
[expanderListStyles["expander-list-link__main-content--expanded"]]: isExpanded,
|
|
72
|
+
[expanderListStyles["expander-list-link__main-content--padding"]]: padding,
|
|
73
|
+
[expanderListStyles[`expander-list-link__main-content--outline--${color}`]]: isOutline,
|
|
74
|
+
[expanderListStyles[`expander-list-link__main-content--new`]]: status === "new"
|
|
75
|
+
});
|
|
76
|
+
return /* @__PURE__ */ jsx("div", { className: mainContentClasses, "data-state": isExpanded ? "open" : "closed", children: /* @__PURE__ */ jsx(Highlighter, { searchText: highlightText, children }) });
|
|
71
77
|
};
|
|
78
|
+
const statusMarkerClasses = classNames(expanderListStyles["expander-list__item__status-marker"], {
|
|
79
|
+
[expanderListStyles["expander-list__item__status-marker--new"]]: status === "new"
|
|
80
|
+
});
|
|
72
81
|
return /* @__PURE__ */ jsxs("li", { className: itemClasses, ref: mergeRefs([ref, expanderRef]), children: [
|
|
82
|
+
status !== "none" && /* @__PURE__ */ jsx("div", { className: statusMarkerClasses }),
|
|
73
83
|
/* @__PURE__ */ jsx(
|
|
74
84
|
"button",
|
|
75
85
|
{
|
|
@@ -84,14 +94,15 @@ const Expander = React__default.forwardRef((props, ref) => {
|
|
|
84
94
|
style: {
|
|
85
95
|
zIndex: isFocused ? zIndex + 1 : zIndex
|
|
86
96
|
},
|
|
87
|
-
children:
|
|
88
|
-
title,
|
|
97
|
+
children: renderElementHeader(title, {
|
|
89
98
|
titleHtmlMarkup,
|
|
90
|
-
isHovered || isFocused,
|
|
91
|
-
large ? "large" : "medium",
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
99
|
+
isHovered: isHovered || isFocused,
|
|
100
|
+
size: large ? "large" : "medium",
|
|
101
|
+
parentType: "expanderlist",
|
|
102
|
+
chevronIcon: isExpanded ? ChevronUp : ChevronDown,
|
|
103
|
+
icon,
|
|
104
|
+
highlightText
|
|
105
|
+
})
|
|
95
106
|
}
|
|
96
107
|
),
|
|
97
108
|
renderContent()
|
|
@@ -104,17 +115,21 @@ const ExpanderList = React__default.forwardRef((props, ref) => {
|
|
|
104
115
|
childPadding = true,
|
|
105
116
|
large,
|
|
106
117
|
renderChildrenWhenClosed = false,
|
|
107
|
-
color,
|
|
118
|
+
color = "white",
|
|
108
119
|
className = "",
|
|
109
120
|
accordion = false,
|
|
110
121
|
testId,
|
|
111
122
|
variant,
|
|
112
|
-
zIndex
|
|
123
|
+
zIndex,
|
|
124
|
+
highlightText
|
|
113
125
|
} = props;
|
|
114
126
|
const [activeExpander, setActiveExpander] = useState();
|
|
115
127
|
const [latestExpander, setLatestExpander] = useState();
|
|
116
128
|
const uuid = useUuid();
|
|
117
|
-
const expanderListClasses = classNames(expanderListStyles["expander-list"], className
|
|
129
|
+
const expanderListClasses = classNames(expanderListStyles["expander-list"], className, {
|
|
130
|
+
[expanderListStyles[`expander-list--outline--${color}`]]: variant === "outline",
|
|
131
|
+
[expanderListStyles[`expander-list--fill`]]: variant === "fill" || variant === "fill-negative"
|
|
132
|
+
});
|
|
118
133
|
function handleExpanderClick(event, id) {
|
|
119
134
|
setActiveExpander((prevState) => accordion ? { [id]: !(prevState == null ? void 0 : prevState[id]) } : { ...prevState, [id]: !(prevState == null ? void 0 : prevState[id]) });
|
|
120
135
|
setLatestExpander(event.currentTarget);
|
|
@@ -143,6 +158,7 @@ const ExpanderList = React__default.forwardRef((props, ref) => {
|
|
|
143
158
|
if (isExpanderComponent(child)) {
|
|
144
159
|
const id = getExpanderId(index);
|
|
145
160
|
const expanded = activeExpander == null ? void 0 : activeExpander[id];
|
|
161
|
+
const highlightTextChild = child.props.highlightText || highlightText;
|
|
146
162
|
return React__default.cloneElement(child, {
|
|
147
163
|
id,
|
|
148
164
|
key: index,
|
|
@@ -155,7 +171,8 @@ const ExpanderList = React__default.forwardRef((props, ref) => {
|
|
|
155
171
|
handleExpanderClick: (event) => handleExpanderClick(event, `${uuid}-${index}`),
|
|
156
172
|
renderChildrenWhenClosed,
|
|
157
173
|
variant,
|
|
158
|
-
zIndex
|
|
174
|
+
zIndex,
|
|
175
|
+
highlightText: highlightTextChild
|
|
159
176
|
});
|
|
160
177
|
}
|
|
161
178
|
return child;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../src/components/ExpanderList/ExpanderList.tsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from 'react';\n\nimport classNames from 'classnames';\n\nimport { AnalyticsId } from '../../constants';\nimport { useExpand } from '../../hooks/useExpand';\nimport { usePseudoClasses } from '../../hooks/usePseudoClasses';\nimport { useUuid } from '../../hooks/useUuid';\nimport { PaletteNames } from '../../theme/palette';\nimport { mergeRefs } from '../../utils/refs';\nimport { isElementInViewport } from '../../utils/viewport';\nimport ChevronDown from '../Icons/ChevronDown';\nimport ChevronUp from '../Icons/ChevronUp';\nimport { ListHeaderType, renderListHeader } from '../ListHeader/ListHeader';\nimport { TitleTags } from '../Title';\n\nimport expanderListStyles from './styles.module.scss';\n\nexport type ExpanderListColors = Extract<PaletteNames, 'white' | 'blueberry' | 'cherry' | 'neutral'>;\nexport interface ExpanderType extends React.ForwardRefExoticComponent<ExpanderProps & React.RefAttributes<HTMLLIElement>> {\n ListHeader?: ListHeaderType;\n}\n\nexport interface ExpanderListCompound extends React.ForwardRefExoticComponent<ExpanderListProps & React.RefAttributes<HTMLUListElement>> {\n Expander: ExpanderType;\n}\n\nexport type ExpanderListVariant = 'line' | 'outline' | 'fill' | 'fill-negative';\n\ninterface ExpanderListProps {\n /** Toggles accordion functionality for the expanders. */\n accordion?: boolean;\n /** Items in the ExpanderList */\n children: React.ReactNode;\n /** Toggles padding of child elements */\n childPadding?: boolean;\n /** Adds custom classes to the element. */\n className?: string;\n /** Changes the colors of the list. */\n color?: ExpanderListColors;\n /** Changes the font size. */\n large?: boolean;\n /** Whether to render children when closed (in which case they are hidden with CSS). Default: false */\n renderChildrenWhenClosed?: boolean;\n /** Sets the data-testid attribute. */\n testId?: string;\n /** Sets visual priority */\n variant?: ExpanderListVariant;\n /** Overrides the default z-index of the expander header */\n zIndex?: number;\n}\n\ntype Modify<T, R> = Omit<T, keyof R> & R;\n\ntype ExpanderProps = Modify<\n React.HTMLAttributes<HTMLButtonElement>,\n {\n id?: string;\n title: JSX.Element | string;\n /** Changes the underlying element of the title. Default: span*/\n titleHtmlMarkup?: TitleTags;\n children: React.ReactNode;\n className?: string;\n color?: ExpanderListColors;\n icon?: React.ReactElement;\n padding?: boolean;\n expanded?: boolean;\n large?: boolean;\n testId?: string;\n handleExpanderClick?: (event: React.MouseEvent<HTMLElement, MouseEvent>) => void;\n /** Called when expander is open/closed. */\n onExpand?: (isExpanded: boolean) => void;\n /** Overrides the default z-index of the expander header */\n zIndex?: number;\n }\n> &\n Pick<ExpanderListProps, 'renderChildrenWhenClosed' | 'variant'>;\n\nconst Expander: ExpanderType = React.forwardRef<HTMLLIElement, ExpanderProps>((props, ref) => {\n const {\n id,\n children,\n padding = true,\n color = 'neutral',\n className = '',\n icon,\n large = false,\n title,\n titleHtmlMarkup = 'span',\n expanded = false,\n testId,\n handleExpanderClick,\n onExpand,\n renderChildrenWhenClosed,\n variant = 'line',\n zIndex = 0,\n } = props;\n const [isExpanded] = useExpand(expanded, onExpand);\n const expanderRef = useRef<HTMLLIElement>(null);\n const triggerRef = useRef<HTMLButtonElement>(null);\n const { isHovered, isFocused } = usePseudoClasses(triggerRef);\n\n const isFill = variant === 'fill';\n const isFillNegative = variant === 'fill-negative';\n const isOutline = variant === 'outline';\n const isLine = variant === 'line';\n\n const itemClasses = classNames(className, expanderListStyles['expander-list__item'], {\n [expanderListStyles[`expander-list__item--fill`]]: isFill,\n [expanderListStyles[`expander-list__item--fill--${color}`]]: isFill,\n [expanderListStyles[`expander-list__item--fill-negative`]]: isFillNegative,\n [expanderListStyles['expander-list__item--outline']]: isOutline,\n [expanderListStyles[`expander-list__item--outline--${color}`]]: isOutline,\n [expanderListStyles['expander-list__item--line']]: isLine,\n [expanderListStyles[`expander-list__item--line--${color}`]]: isLine,\n });\n\n const expanderClasses = classNames(expanderListStyles['expander-list-link'], expanderListStyles[`expander-list-link--${color}`], {\n [expanderListStyles[`expander-list-link--fill`]]: isFill,\n [expanderListStyles[`expander-list-link--fill--${color}`]]: isFill,\n [expanderListStyles[`expander-list-link--fill-negative`]]: isFillNegative,\n [expanderListStyles['expander-list-link--outline']]: isOutline,\n [expanderListStyles[`expander-list-link--outline--${color}`]]: isOutline,\n [expanderListStyles[`expander-list-link--line--${color}`]]: isLine,\n [expanderListStyles['expander-list-link--closed']]: !isExpanded,\n [expanderListStyles['expander-list-link--open']]: isExpanded,\n [expanderListStyles['expander-list-link--large']]: large,\n });\n\n const renderContent = (): React.ReactNode => {\n if (!renderChildrenWhenClosed && !isExpanded) {\n return null;\n }\n\n const mainContentClasses = classNames(\n expanderListStyles['expander-list-link__main-content'],\n isExpanded && expanderListStyles['expander-list-link__main-content--expanded'],\n padding ? expanderListStyles['expander-list-link__main-content--padding'] : ''\n );\n\n return <div className={mainContentClasses}>{children}</div>;\n };\n\n return (\n <li className={itemClasses} ref={mergeRefs([ref, expanderRef])}>\n <button\n type=\"button\"\n id={id}\n onClick={handleExpanderClick}\n data-testid={testId}\n data-analyticsid={AnalyticsId.ExpanderListExpander}\n className={expanderClasses}\n ref={triggerRef}\n aria-expanded={isExpanded}\n style={{\n zIndex: isFocused ? zIndex + 1 : zIndex,\n }}\n >\n {renderListHeader(\n title,\n titleHtmlMarkup,\n isHovered || isFocused,\n large ? 'large' : 'medium',\n isExpanded ? ChevronUp : ChevronDown,\n icon\n )}\n </button>\n {renderContent()}\n </li>\n );\n});\n\ntype ActiveExpander = Record<string, boolean>;\n\nconst isExpanderComponent = (element: unknown | null | undefined): element is React.ReactElement<ExpanderProps> =>\n React.isValidElement<ExpanderProps>(element) && (element as React.ReactElement).type === Expander;\n\nexport const ExpanderList = React.forwardRef((props: ExpanderListProps, ref: React.Ref<HTMLUListElement>) => {\n const {\n children,\n childPadding = true,\n large,\n renderChildrenWhenClosed = false,\n color,\n className = '',\n accordion = false,\n testId,\n variant,\n zIndex,\n } = props;\n const [activeExpander, setActiveExpander] = useState<ActiveExpander>();\n const [latestExpander, setLatestExpander] = useState<HTMLElement>();\n const uuid = useUuid();\n const expanderListClasses = classNames(expanderListStyles['expander-list'], className);\n\n function handleExpanderClick(event: React.MouseEvent<HTMLElement, MouseEvent>, id: string): void {\n setActiveExpander(prevState => (accordion ? { [id]: !prevState?.[id] } : { ...prevState, [id]: !prevState?.[id] }));\n setLatestExpander(event.currentTarget);\n }\n\n const getExpanderId = (index: number): string => `${uuid}-${index}`;\n\n useEffect(() => {\n if (accordion && latestExpander && !isElementInViewport(latestExpander)) {\n latestExpander.scrollIntoView();\n }\n }, [accordion, latestExpander]);\n\n useEffect(() => {\n const newActiveExpander = React.Children.map(children, child => {\n if (isExpanderComponent(child)) {\n return child;\n }\n })?.reduce((acc, child, index) => {\n // Expanded-status skal bare settes dersom prop er satt av den som bruker komponenten\n if (typeof child.props.expanded !== 'undefined') {\n acc[getExpanderId(index)] = child.props.expanded;\n }\n return acc;\n }, {} as ActiveExpander);\n\n setActiveExpander({ ...activeExpander, ...newActiveExpander });\n }, [children]);\n\n return (\n <ul className={expanderListClasses} ref={ref} data-testid={testId} data-analyticsid={AnalyticsId.ExpanderList}>\n {React.Children.map(children, (child, index) => {\n if (isExpanderComponent(child)) {\n const id = getExpanderId(index);\n const expanded = activeExpander?.[id];\n\n return React.cloneElement(child as React.ReactElement<ExpanderProps>, {\n id,\n key: index,\n expanded,\n padding: childPadding,\n color,\n large,\n 'aria-expanded': expanded,\n className: expanderListStyles['expander-list__item'],\n handleExpanderClick: (event: React.MouseEvent<HTMLElement>) => handleExpanderClick(event, `${uuid}-${index}`),\n renderChildrenWhenClosed,\n variant,\n zIndex: zIndex,\n });\n }\n return child;\n })}\n </ul>\n );\n}) as ExpanderListCompound;\n\nExpanderList.displayName = 'ExpanderList';\nExpanderList.Expander = Expander;\nExpander.displayName = 'ExpanderList.Expander';\n\nexport default ExpanderList;\n"],"names":["React"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/components/ExpanderList/ExpanderList.tsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from 'react';\n\nimport classNames from 'classnames';\n\nimport { AnalyticsId } from '../../constants';\nimport { useExpand } from '../../hooks/useExpand';\nimport { usePseudoClasses } from '../../hooks/usePseudoClasses';\nimport { useUuid } from '../../hooks/useUuid';\nimport { PaletteNames } from '../../theme/palette';\nimport { mergeRefs } from '../../utils/refs';\nimport { isElementInViewport } from '../../utils/viewport';\nimport { ElementHeaderType, renderElementHeader } from '../ElementHeader/ElementHeader';\nimport Highlighter from '../Highlighter';\nimport ChevronDown from '../Icons/ChevronDown';\nimport ChevronUp from '../Icons/ChevronUp';\nimport { TitleTags } from '../Title';\n\nimport expanderListStyles from './styles.module.scss';\n\nexport type ExpanderListColors = Extract<PaletteNames, 'white' | 'blueberry' | 'cherry' | 'neutral'>;\nexport interface ExpanderType extends React.ForwardRefExoticComponent<ExpanderProps & React.RefAttributes<HTMLLIElement>> {\n ElementHeader?: ElementHeaderType;\n}\n\nexport interface ExpanderListCompound extends React.ForwardRefExoticComponent<ExpanderListProps & React.RefAttributes<HTMLUListElement>> {\n Expander: ExpanderType;\n}\n\nexport type ExpanderListVariant = 'line' | 'outline' | 'fill' | 'fill-negative';\n\nexport type ExpanderListStatus = 'none' | 'new';\n\ninterface ExpanderListProps {\n /** Toggles accordion functionality for the expanders. */\n accordion?: boolean;\n /** Items in the ExpanderList */\n children: React.ReactNode;\n /** Toggles padding of child elements */\n childPadding?: boolean;\n /** Adds custom classes to the element. */\n className?: string;\n /** Changes the colors of the list. */\n color?: ExpanderListColors;\n /** Changes the font size. */\n large?: boolean;\n /** Whether to render children when closed (in which case they are hidden with CSS). Default: false */\n renderChildrenWhenClosed?: boolean;\n /** Sets the data-testid attribute. */\n testId?: string;\n /** Sets visual priority */\n variant?: ExpanderListVariant;\n /** Overrides the default z-index of the expander header */\n zIndex?: number;\n /** Highlights text in title and content. Used for search results */\n highlightText?: string;\n}\n\ntype Modify<T, R> = Omit<T, keyof R> & R;\n\ntype ExpanderProps = Modify<\n React.HTMLAttributes<HTMLButtonElement>,\n {\n id?: string;\n title: JSX.Element | string;\n /** Changes the underlying element of the title. Default: span*/\n titleHtmlMarkup?: TitleTags;\n children: React.ReactNode;\n className?: string;\n color?: ExpanderListColors;\n icon?: React.ReactElement;\n padding?: boolean;\n expanded?: boolean;\n large?: boolean;\n testId?: string;\n handleExpanderClick?: (event: React.MouseEvent<HTMLElement, MouseEvent>) => void;\n /** Called when expander is open/closed. */\n onExpand?: (isExpanded: boolean) => void;\n /** Overrides the default z-index of the expander header */\n zIndex?: number;\n /** Highlights text in title and content. Override if different from list. */\n highlightText?: string;\n /** Displays a status on the left side: default none */\n status?: ExpanderListStatus;\n }\n> &\n Pick<ExpanderListProps, 'renderChildrenWhenClosed' | 'variant'>;\n\nconst Expander: ExpanderType = React.forwardRef<HTMLLIElement, ExpanderProps>((props, ref) => {\n const {\n id,\n children,\n padding = true,\n color = 'neutral',\n className = '',\n icon,\n large = false,\n title,\n titleHtmlMarkup = 'span',\n expanded = false,\n testId,\n handleExpanderClick,\n onExpand,\n renderChildrenWhenClosed,\n variant = 'line',\n zIndex = 0,\n highlightText,\n status = 'none',\n } = props;\n const [isExpanded] = useExpand(expanded, onExpand);\n const expanderRef = useRef<HTMLLIElement>(null);\n const triggerRef = useRef<HTMLButtonElement>(null);\n const { isHovered, isFocused } = usePseudoClasses(triggerRef);\n\n const isFill = variant === 'fill';\n const isFillNegative = variant === 'fill-negative';\n const isOutline = variant === 'outline';\n const isLine = variant === 'line';\n\n const itemClasses = classNames(className, expanderListStyles['expander-list__item'], {\n [expanderListStyles[`expander-list__item--fill`]]: isFill,\n [expanderListStyles[`expander-list__item--fill--${color}`]]: isFill,\n [expanderListStyles[`expander-list__item--fill-negative`]]: isFillNegative,\n [expanderListStyles[`expander-list__item--fill-negative--${color}`]]: isFillNegative,\n [expanderListStyles['expander-list__item--outline']]: isOutline,\n [expanderListStyles[`expander-list__item--outline--${color}`]]: isOutline,\n [expanderListStyles['expander-list__item--line']]: isLine,\n [expanderListStyles[`expander-list__item--line--${color}`]]: isLine,\n [expanderListStyles[`expander-list__item--new`]]: status === 'new',\n });\n\n const expanderClasses = classNames(expanderListStyles['expander-list-link'], expanderListStyles[`expander-list-link--${color}`], {\n [expanderListStyles[`expander-list-link--fill--${color}`]]: isFill,\n [expanderListStyles[`expander-list-link--fill-negative`]]: isFillNegative,\n [expanderListStyles[`expander-list-link--fill-negative--${color}`]]: isFillNegative,\n [expanderListStyles['expander-list-link--outline']]: isOutline,\n [expanderListStyles[`expander-list-link--outline--${color}`]]: isOutline,\n [expanderListStyles[`expander-list-link--line--${color}`]]: isLine,\n [expanderListStyles['expander-list-link--open']]: isExpanded,\n [expanderListStyles['expander-list-link--large']]: large,\n [expanderListStyles[`expander-list-link--new`]]: status === 'new',\n });\n\n const renderContent = (): React.ReactNode => {\n if (!renderChildrenWhenClosed && !isExpanded) {\n return null;\n }\n\n const mainContentClasses = classNames(expanderListStyles['expander-list-link__main-content'], {\n [expanderListStyles['expander-list-link__main-content--expanded']]: isExpanded,\n [expanderListStyles['expander-list-link__main-content--padding']]: padding,\n [expanderListStyles[`expander-list-link__main-content--outline--${color}`]]: isOutline,\n [expanderListStyles[`expander-list-link__main-content--new`]]: status === 'new',\n });\n\n return (\n <div className={mainContentClasses} data-state={isExpanded ? 'open' : 'closed'}>\n <Highlighter searchText={highlightText}>{children}</Highlighter>\n </div>\n );\n };\n\n const statusMarkerClasses = classNames(expanderListStyles['expander-list__item__status-marker'], {\n [expanderListStyles['expander-list__item__status-marker--new']]: status === 'new',\n });\n\n return (\n <li className={itemClasses} ref={mergeRefs([ref, expanderRef])}>\n {status !== 'none' && <div className={statusMarkerClasses}></div>}\n <button\n type=\"button\"\n id={id}\n onClick={handleExpanderClick}\n data-testid={testId}\n data-analyticsid={AnalyticsId.ExpanderListExpander}\n className={expanderClasses}\n ref={triggerRef}\n aria-expanded={isExpanded}\n style={{\n zIndex: isFocused ? zIndex + 1 : zIndex,\n }}\n >\n {renderElementHeader(title, {\n titleHtmlMarkup,\n isHovered: isHovered || isFocused,\n size: large ? 'large' : 'medium',\n parentType: 'expanderlist',\n chevronIcon: isExpanded ? ChevronUp : ChevronDown,\n icon,\n highlightText,\n })}\n </button>\n {renderContent()}\n </li>\n );\n});\n\ntype ActiveExpander = Record<string, boolean>;\n\nconst isExpanderComponent = (element: unknown | null | undefined): element is React.ReactElement<ExpanderProps> =>\n React.isValidElement<ExpanderProps>(element) && (element as React.ReactElement).type === Expander;\n\nexport const ExpanderList = React.forwardRef((props: ExpanderListProps, ref: React.Ref<HTMLUListElement>) => {\n const {\n children,\n childPadding = true,\n large,\n renderChildrenWhenClosed = false,\n color = 'white',\n className = '',\n accordion = false,\n testId,\n variant,\n zIndex,\n highlightText,\n } = props;\n const [activeExpander, setActiveExpander] = useState<ActiveExpander>();\n const [latestExpander, setLatestExpander] = useState<HTMLElement>();\n const uuid = useUuid();\n const expanderListClasses = classNames(expanderListStyles['expander-list'], className, {\n [expanderListStyles[`expander-list--outline--${color}`]]: variant === 'outline',\n [expanderListStyles[`expander-list--fill`]]: variant === 'fill' || variant === 'fill-negative',\n });\n\n function handleExpanderClick(event: React.MouseEvent<HTMLElement, MouseEvent>, id: string): void {\n setActiveExpander(prevState => (accordion ? { [id]: !prevState?.[id] } : { ...prevState, [id]: !prevState?.[id] }));\n setLatestExpander(event.currentTarget);\n }\n\n const getExpanderId = (index: number): string => `${uuid}-${index}`;\n\n useEffect(() => {\n if (accordion && latestExpander && !isElementInViewport(latestExpander)) {\n latestExpander.scrollIntoView();\n }\n }, [accordion, latestExpander]);\n\n useEffect(() => {\n const newActiveExpander = React.Children.map(children, child => {\n if (isExpanderComponent(child)) {\n return child;\n }\n })?.reduce((acc, child, index) => {\n // Expanded-status skal bare settes dersom prop er satt av den som bruker komponenten\n if (typeof child.props.expanded !== 'undefined') {\n acc[getExpanderId(index)] = child.props.expanded;\n }\n return acc;\n }, {} as ActiveExpander);\n\n setActiveExpander({ ...activeExpander, ...newActiveExpander });\n }, [children]);\n\n return (\n <ul className={expanderListClasses} ref={ref} data-testid={testId} data-analyticsid={AnalyticsId.ExpanderList}>\n {React.Children.map(children, (child, index) => {\n if (isExpanderComponent(child)) {\n const id = getExpanderId(index);\n const expanded = activeExpander?.[id];\n const highlightTextChild: string | undefined = child.props.highlightText || highlightText;\n\n return React.cloneElement(child as React.ReactElement<ExpanderProps>, {\n id,\n key: index,\n expanded,\n padding: childPadding,\n color,\n large,\n 'aria-expanded': expanded,\n className: expanderListStyles['expander-list__item'],\n handleExpanderClick: (event: React.MouseEvent<HTMLElement>) => handleExpanderClick(event, `${uuid}-${index}`),\n renderChildrenWhenClosed,\n variant,\n zIndex: zIndex,\n highlightText: highlightTextChild,\n });\n }\n return child;\n })}\n </ul>\n );\n}) as ExpanderListCompound;\n\nExpanderList.displayName = 'ExpanderList';\nExpanderList.Expander = Expander;\nExpander.displayName = 'ExpanderList.Expander';\n\nexport default ExpanderList;\n"],"names":["React"],"mappings":"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"}
|
|
@@ -5,14 +5,51 @@
|
|
|
5
5
|
@import '../../scss/supernova/styles/colors.css';
|
|
6
6
|
|
|
7
7
|
.expander-list {
|
|
8
|
+
--statusmarker-left-space: 8px;
|
|
9
|
+
|
|
8
10
|
list-style: none;
|
|
9
11
|
padding: 0;
|
|
10
12
|
width: inherit;
|
|
11
13
|
margin: 0;
|
|
12
14
|
|
|
15
|
+
&--outline {
|
|
16
|
+
&--neutral {
|
|
17
|
+
border: 1px solid var(--color-base-border-onlight);
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
&--blueberry {
|
|
21
|
+
border: 1px solid var(--core-color-blueberry-500);
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
&--cherry {
|
|
25
|
+
border: 1px solid var(--core-color-cherry-400);
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
&--white {
|
|
29
|
+
border: 1px solid var(--color-base-border-onlight);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
&--fill {
|
|
34
|
+
display: flex;
|
|
35
|
+
flex-flow: column;
|
|
36
|
+
gap: spacers.getSpacer(2xs);
|
|
37
|
+
}
|
|
38
|
+
|
|
13
39
|
&__item {
|
|
14
40
|
border: 0;
|
|
15
|
-
|
|
41
|
+
display: grid;
|
|
42
|
+
grid-template:
|
|
43
|
+
'header' auto
|
|
44
|
+
'content' auto / 1fr auto;
|
|
45
|
+
|
|
46
|
+
&--new {
|
|
47
|
+
grid-template:
|
|
48
|
+
'statusmarker header' auto
|
|
49
|
+
'statusmarker content' auto / 8px auto;
|
|
50
|
+
|
|
51
|
+
--statusmarker-left-space: 0px;
|
|
52
|
+
}
|
|
16
53
|
|
|
17
54
|
&--line {
|
|
18
55
|
border-bottom: 1px solid var(--color-base-border-onlight);
|
|
@@ -111,6 +148,36 @@
|
|
|
111
148
|
&--fill-negative {
|
|
112
149
|
background-color: var(--color-base-background-white);
|
|
113
150
|
}
|
|
151
|
+
|
|
152
|
+
&--fill,
|
|
153
|
+
&--fill-negative {
|
|
154
|
+
&--blueberry {
|
|
155
|
+
border: 1px solid var(--core-color-blueberry-500);
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
&--cherry {
|
|
159
|
+
border: 1px solid var(--core-color-cherry-400);
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
&--neutral {
|
|
163
|
+
border: 1px solid var(--color-base-border-onlight);
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
&--white {
|
|
167
|
+
border: 1px solid var(--color-base-border-onlight);
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
&__status-marker {
|
|
172
|
+
width: 8px;
|
|
173
|
+
height: 100%;
|
|
174
|
+
grid-area: statusmarker;
|
|
175
|
+
background-color: transparent;
|
|
176
|
+
|
|
177
|
+
&--new {
|
|
178
|
+
background-color: var(--core-color-blueberry-500);
|
|
179
|
+
}
|
|
180
|
+
}
|
|
114
181
|
}
|
|
115
182
|
}
|
|
116
183
|
|
|
@@ -130,108 +197,226 @@
|
|
|
130
197
|
border: 0;
|
|
131
198
|
width: 100%;
|
|
132
199
|
outline: none;
|
|
200
|
+
grid-area: header;
|
|
201
|
+
padding-left: var(--statusmarker-left-space);
|
|
133
202
|
|
|
134
203
|
@media (min-width: map.get(breakpoints.$grid-breakpoints, md)) {
|
|
135
204
|
font-size: font-settings.$font-size-md;
|
|
136
205
|
line-height: font-settings.$lineheight-size-md;
|
|
137
206
|
}
|
|
138
207
|
|
|
139
|
-
|
|
140
|
-
|
|
208
|
+
&[aria-expanded='true'] {
|
|
209
|
+
border-bottom: 1px solid var(--color-action-border-ondark);
|
|
141
210
|
}
|
|
142
211
|
|
|
143
|
-
&--
|
|
144
|
-
|
|
145
|
-
margin-top: spacers.getSpacer(s);
|
|
212
|
+
&--open {
|
|
213
|
+
font-weight: 600;
|
|
146
214
|
}
|
|
147
215
|
|
|
148
216
|
&--fill-negative {
|
|
149
217
|
background-color: var(--color-base-background-white);
|
|
150
218
|
}
|
|
151
219
|
|
|
152
|
-
|
|
153
|
-
margin-bottom: spacers.getSpacer(s);
|
|
154
|
-
}
|
|
155
|
-
|
|
156
|
-
&:focus-visible:not(.expander-list-link--outline) {
|
|
220
|
+
&:focus-visible {
|
|
157
221
|
outline: 0.25rem solid var(--color-action-border-onlight-focus);
|
|
158
222
|
}
|
|
159
223
|
|
|
160
|
-
&--white:not(.expander-list-link--outline) {
|
|
161
|
-
|
|
162
|
-
|
|
224
|
+
&--white:not(.expander-list-link--outline, .expander-list-link--fill-negative) {
|
|
225
|
+
&[aria-expanded='false'] {
|
|
226
|
+
&:hover {
|
|
227
|
+
background-color: var(--core-color-neutral-50);
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
&:active {
|
|
231
|
+
background-color: var(--core-color-neutral-100);
|
|
232
|
+
}
|
|
163
233
|
}
|
|
164
234
|
|
|
165
|
-
|
|
166
|
-
background-color: var(--core-color-
|
|
235
|
+
&[aria-expanded='true'] {
|
|
236
|
+
background-color: var(--core-color-neutral-50);
|
|
237
|
+
|
|
238
|
+
&:hover {
|
|
239
|
+
background-color: var(--core-color-neutral-100);
|
|
240
|
+
}
|
|
241
|
+
|
|
242
|
+
&:active {
|
|
243
|
+
background-color: var(--core-color-neutral-200);
|
|
244
|
+
}
|
|
167
245
|
}
|
|
168
246
|
}
|
|
169
247
|
|
|
170
|
-
&--blueberry:not(.expander-list-link--outline) {
|
|
171
|
-
|
|
172
|
-
|
|
248
|
+
&--blueberry:not(.expander-list-link--outline, .expander-list-link--fill-negative) {
|
|
249
|
+
&[aria-expanded='false'] {
|
|
250
|
+
&:hover {
|
|
251
|
+
background-color: var(--core-color-blueberry-100);
|
|
252
|
+
}
|
|
253
|
+
|
|
254
|
+
&:active {
|
|
255
|
+
background-color: var(--color-action-background-ondark-hoverselected);
|
|
256
|
+
}
|
|
173
257
|
}
|
|
174
258
|
|
|
175
|
-
|
|
176
|
-
background-color: var(--color-
|
|
259
|
+
&[aria-expanded='true'] {
|
|
260
|
+
background-color: var(--core-color-blueberry-100);
|
|
261
|
+
|
|
262
|
+
&:hover {
|
|
263
|
+
background-color: var(--core-color-blueberry-200);
|
|
264
|
+
}
|
|
265
|
+
|
|
266
|
+
&:active {
|
|
267
|
+
background-color: var(--core-color-blueberry-300);
|
|
268
|
+
}
|
|
177
269
|
}
|
|
178
270
|
}
|
|
179
271
|
|
|
180
|
-
&--cherry:not(.expander-list-link--outline) {
|
|
181
|
-
|
|
182
|
-
|
|
272
|
+
&--cherry:not(.expander-list-link--outline, .expander-list-link--fill-negative) {
|
|
273
|
+
&[aria-expanded='false'] {
|
|
274
|
+
&:hover {
|
|
275
|
+
background-color: var(--core-color-cherry-100);
|
|
276
|
+
}
|
|
277
|
+
|
|
278
|
+
&:active {
|
|
279
|
+
background-color: var(--core-color-cherry-200);
|
|
280
|
+
}
|
|
183
281
|
}
|
|
184
282
|
|
|
185
|
-
|
|
186
|
-
background-color: var(--core-color-cherry-
|
|
283
|
+
&[aria-expanded='true'] {
|
|
284
|
+
background-color: var(--core-color-cherry-100);
|
|
285
|
+
|
|
286
|
+
&:hover {
|
|
287
|
+
background-color: var(--core-color-cherry-200);
|
|
288
|
+
}
|
|
289
|
+
|
|
290
|
+
&:active {
|
|
291
|
+
background-color: var(--core-color-cherry-300);
|
|
292
|
+
}
|
|
187
293
|
}
|
|
188
294
|
}
|
|
189
295
|
|
|
190
|
-
&--neutral:not(.expander-list-link--outline) {
|
|
191
|
-
|
|
192
|
-
|
|
296
|
+
&--neutral:not(.expander-list-link--outline, .expander-list-link--fill-negative) {
|
|
297
|
+
&[aria-expanded='false'] {
|
|
298
|
+
&:hover {
|
|
299
|
+
background-color: var(--core-color-neutral-100);
|
|
300
|
+
}
|
|
301
|
+
|
|
302
|
+
&:active {
|
|
303
|
+
background-color: var(--core-color-neutral-200);
|
|
304
|
+
}
|
|
193
305
|
}
|
|
194
306
|
|
|
195
|
-
|
|
196
|
-
background-color: var(--core-color-neutral-
|
|
307
|
+
&[aria-expanded='true'] {
|
|
308
|
+
background-color: var(--core-color-neutral-100);
|
|
309
|
+
|
|
310
|
+
&:hover {
|
|
311
|
+
background-color: var(--core-color-neutral-200);
|
|
312
|
+
}
|
|
313
|
+
|
|
314
|
+
&:active {
|
|
315
|
+
background-color: var(--core-color-neutral-300);
|
|
316
|
+
}
|
|
197
317
|
}
|
|
198
318
|
}
|
|
199
319
|
|
|
200
320
|
&--outline {
|
|
201
|
-
|
|
321
|
+
&--blueberry {
|
|
322
|
+
&[aria-expanded='false'] {
|
|
323
|
+
border-bottom: 1px solid var(--core-color-blueberry-500);
|
|
324
|
+
}
|
|
325
|
+
}
|
|
326
|
+
|
|
327
|
+
&--cherry {
|
|
328
|
+
&[aria-expanded='false'] {
|
|
329
|
+
border-bottom: 1px solid var(--core-color-cherry-400);
|
|
330
|
+
}
|
|
331
|
+
}
|
|
332
|
+
|
|
333
|
+
&--neutral {
|
|
334
|
+
&[aria-expanded='false'] {
|
|
335
|
+
border-bottom: 1px solid var(--color-base-border-onlight);
|
|
336
|
+
}
|
|
337
|
+
}
|
|
202
338
|
|
|
203
|
-
|
|
204
|
-
|
|
339
|
+
&--white {
|
|
340
|
+
&[aria-expanded='false'] {
|
|
341
|
+
border-bottom: 1px solid var(--color-base-border-onlight);
|
|
342
|
+
}
|
|
205
343
|
}
|
|
344
|
+
}
|
|
345
|
+
|
|
346
|
+
&--outline,
|
|
347
|
+
&--fill-negative {
|
|
348
|
+
background-color: var(--color-base-background-white);
|
|
206
349
|
|
|
207
350
|
&--blueberry {
|
|
208
|
-
|
|
209
|
-
|
|
351
|
+
&[aria-expanded='false'] {
|
|
352
|
+
&:hover {
|
|
353
|
+
background-color: var(--core-color-blueberry-50);
|
|
354
|
+
}
|
|
355
|
+
|
|
356
|
+
&:active {
|
|
357
|
+
background-color: var(--core-color-blueberry-100);
|
|
358
|
+
}
|
|
210
359
|
}
|
|
211
360
|
|
|
212
|
-
|
|
213
|
-
background-color: var(--core-color-blueberry-
|
|
361
|
+
&[aria-expanded='true'] {
|
|
362
|
+
background-color: var(--core-color-blueberry-50);
|
|
363
|
+
|
|
364
|
+
&:hover {
|
|
365
|
+
background-color: var(--core-color-blueberry-100);
|
|
366
|
+
}
|
|
367
|
+
|
|
368
|
+
&:active {
|
|
369
|
+
background-color: var(--core-color-blueberry-200);
|
|
370
|
+
}
|
|
214
371
|
}
|
|
215
372
|
}
|
|
216
373
|
|
|
217
374
|
&--cherry {
|
|
218
|
-
|
|
219
|
-
|
|
375
|
+
&[aria-expanded='false'] {
|
|
376
|
+
&:hover {
|
|
377
|
+
background-color: var(--core-color-cherry-50);
|
|
378
|
+
}
|
|
379
|
+
|
|
380
|
+
&:active {
|
|
381
|
+
background-color: var(--core-color-cherry-100);
|
|
382
|
+
}
|
|
220
383
|
}
|
|
221
384
|
|
|
222
|
-
|
|
223
|
-
background-color: var(--core-color-cherry-
|
|
385
|
+
&[aria-expanded='true'] {
|
|
386
|
+
background-color: var(--core-color-cherry-50);
|
|
387
|
+
|
|
388
|
+
&:hover {
|
|
389
|
+
background-color: var(--core-color-cherry-100);
|
|
390
|
+
}
|
|
391
|
+
|
|
392
|
+
&:active {
|
|
393
|
+
background-color: var(--core-color-cherry-200);
|
|
394
|
+
}
|
|
224
395
|
}
|
|
225
396
|
}
|
|
226
397
|
|
|
227
398
|
&--neutral,
|
|
228
399
|
&--white {
|
|
229
|
-
|
|
230
|
-
|
|
400
|
+
&[aria-expanded='false'] {
|
|
401
|
+
&:hover {
|
|
402
|
+
background-color: var(--core-color-neutral-50);
|
|
403
|
+
}
|
|
404
|
+
|
|
405
|
+
&:active {
|
|
406
|
+
background-color: var(--core-color-neutral-100);
|
|
407
|
+
}
|
|
231
408
|
}
|
|
232
409
|
|
|
233
|
-
|
|
234
|
-
background-color: var(--core-color-neutral-
|
|
410
|
+
&[aria-expanded='true'] {
|
|
411
|
+
background-color: var(--core-color-neutral-50);
|
|
412
|
+
|
|
413
|
+
&:hover {
|
|
414
|
+
background-color: var(--core-color-neutral-100);
|
|
415
|
+
}
|
|
416
|
+
|
|
417
|
+
&:active {
|
|
418
|
+
background-color: var(--core-color-neutral-200);
|
|
419
|
+
}
|
|
235
420
|
}
|
|
236
421
|
}
|
|
237
422
|
}
|
|
@@ -241,6 +426,30 @@
|
|
|
241
426
|
line-height: font-settings.$lineheight-size-lg;
|
|
242
427
|
}
|
|
243
428
|
|
|
429
|
+
&--new {
|
|
430
|
+
background-color: var(--core-color-blueberry-50) !important;
|
|
431
|
+
|
|
432
|
+
&:hover {
|
|
433
|
+
background-color: var(--core-color-blueberry-100) !important;
|
|
434
|
+
}
|
|
435
|
+
|
|
436
|
+
&:active {
|
|
437
|
+
background-color: var(--core-color-blueberry-200) !important;
|
|
438
|
+
}
|
|
439
|
+
|
|
440
|
+
&[aria-expanded='true'] {
|
|
441
|
+
background-color: var(--core-color-blueberry-100) !important;
|
|
442
|
+
|
|
443
|
+
&:hover {
|
|
444
|
+
background-color: var(--core-color-blueberry-200) !important;
|
|
445
|
+
}
|
|
446
|
+
|
|
447
|
+
&:active {
|
|
448
|
+
background-color: var(--core-color-blueberry-300) !important;
|
|
449
|
+
}
|
|
450
|
+
}
|
|
451
|
+
}
|
|
452
|
+
|
|
244
453
|
&__icon {
|
|
245
454
|
display: flex;
|
|
246
455
|
align-items: center;
|
|
@@ -257,6 +466,8 @@
|
|
|
257
466
|
&__main-content {
|
|
258
467
|
padding: 0;
|
|
259
468
|
display: none;
|
|
469
|
+
grid-area: content;
|
|
470
|
+
padding-left: var(--statusmarker-left-space);
|
|
260
471
|
|
|
261
472
|
@media print {
|
|
262
473
|
display: block;
|
|
@@ -266,8 +477,38 @@
|
|
|
266
477
|
display: block;
|
|
267
478
|
}
|
|
268
479
|
|
|
480
|
+
&--new {
|
|
481
|
+
background-color: var(--core-color-blueberry-50);
|
|
482
|
+
}
|
|
483
|
+
|
|
269
484
|
&--padding {
|
|
270
|
-
padding: spacers.getSpacer(xs) spacers.getSpacer(s) spacers.getSpacer(l);
|
|
485
|
+
padding: spacers.getSpacer(xs) spacers.getSpacer(s) spacers.getSpacer(l) calc(spacers.getSpacer(s) + var(--statusmarker-left-space));
|
|
486
|
+
}
|
|
487
|
+
|
|
488
|
+
&--outline {
|
|
489
|
+
&--blueberry {
|
|
490
|
+
&[aria-expanded='true'] {
|
|
491
|
+
border-bottom: 1px solid var(--core-color-blueberry-500);
|
|
492
|
+
}
|
|
493
|
+
}
|
|
494
|
+
|
|
495
|
+
&--cherry {
|
|
496
|
+
&[aria-expanded='true'] {
|
|
497
|
+
border-bottom: 1px solid var(--core-color-cherry-400);
|
|
498
|
+
}
|
|
499
|
+
}
|
|
500
|
+
|
|
501
|
+
&--neutral {
|
|
502
|
+
&[aria-expanded='true'] {
|
|
503
|
+
border-bottom: 1px solid var(--color-base-border-onlight);
|
|
504
|
+
}
|
|
505
|
+
}
|
|
506
|
+
|
|
507
|
+
&--white {
|
|
508
|
+
&[aria-expanded='true'] {
|
|
509
|
+
border-bottom: 1px solid var(--color-base-border-onlight);
|
|
510
|
+
}
|
|
511
|
+
}
|
|
271
512
|
}
|
|
272
513
|
}
|
|
273
514
|
}
|