@norges-domstoler/dds-components 7.1.0 → 8.0.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/README.md +1 -0
- package/dist/cjs/components/Breadcrumbs/Breadcrumbs.stories.d.ts +1 -1
- package/dist/cjs/components/Button/Button.stories.d.ts +1 -1
- package/dist/cjs/components/Checkbox/Checkbox.stories.d.ts +1 -1
- package/dist/cjs/components/Chip/Chip.stories.d.ts +1 -1
- package/dist/cjs/components/DescriptionList/DescriptionList.stories.d.ts +1 -1
- package/dist/cjs/components/Divider/Divider.stories.d.ts +1 -1
- package/dist/cjs/components/Drawer/Drawer.stories.d.ts +1 -1
- package/dist/cjs/components/GlobalMessage/GlobalMessage.stories.d.ts +1 -1
- package/dist/cjs/components/InputMessage/InputMessage.stories.d.ts +1 -1
- package/dist/cjs/components/List/List.stories.d.ts +1 -1
- package/dist/cjs/components/LocalMessage/LocalMessage.stories.d.ts +1 -1
- package/dist/cjs/components/Modal/Modal.stories.d.ts +1 -1
- package/dist/cjs/components/OverflowMenu/OverflowMenu.stories.d.ts +1 -1
- package/dist/cjs/components/Pagination/Pagination.stories.d.ts +1 -1
- package/dist/cjs/components/Popover/Popover.d.ts +12 -4
- package/dist/cjs/components/Popover/Popover.stories.d.ts +4 -2
- package/dist/cjs/components/Popover/Popover.tokens.d.ts +11 -8
- package/dist/cjs/components/ProgressTracker/ProgressTracker.context.d.ts +6 -0
- package/dist/cjs/components/ProgressTracker/ProgressTracker.d.ts +12 -0
- package/dist/cjs/components/ProgressTracker/ProgressTracker.stories.d.ts +40 -0
- package/dist/cjs/components/ProgressTracker/ProgressTracker.tokens.d.ts +69 -0
- package/dist/cjs/components/ProgressTracker/ProgressTrackerItem.d.ts +24 -0
- package/dist/cjs/components/ProgressTracker/index.d.ts +1 -0
- package/dist/cjs/components/RadioButton/RadioButton.stories.d.ts +1 -1
- package/dist/cjs/components/RadioButton/RadioButtonGroup.stories.d.ts +1 -1
- package/dist/cjs/components/Search/Search.d.ts +2 -2
- package/dist/cjs/components/Search/Search.stories.d.ts +7 -1
- package/dist/cjs/components/Search/Search.tokens.d.ts +4 -1
- package/dist/cjs/components/SkipToContent/SkipToContent.stories.d.ts +1 -1
- package/dist/cjs/components/Table/Cell.d.ts +1 -1
- package/dist/cjs/components/Table/Table.d.ts +4 -0
- package/dist/cjs/components/Table/Table.stories.d.ts +7 -0
- package/dist/cjs/components/Table/Table.tokens.d.ts +72 -0
- package/dist/cjs/components/Tag/Tag.stories.d.ts +1 -1
- package/dist/cjs/components/ToggleButton/ToggleButton.stories.d.ts +1 -1
- package/dist/cjs/components/Tooltip/Tooltip.stories.d.ts +1 -1
- package/dist/cjs/components/Typography/Caption/Caption.stories.d.ts +1 -1
- package/dist/cjs/components/Typography/Heading/Heading.stories.d.ts +1 -1
- package/dist/cjs/components/Typography/Label/Label.stories.d.ts +1 -1
- package/dist/cjs/components/Typography/Legend/Legend.stories.d.ts +1 -1
- package/dist/cjs/components/Typography/Link/Link.stories.d.ts +1 -1
- package/dist/cjs/components/Typography/Paragraph/Paragraph.stories.d.ts +1 -1
- package/dist/cjs/helpers/Paper/Paper.d.ts +8 -1
- package/dist/cjs/helpers/Paper/Paper.tokens.d.ts +5 -2
- package/dist/cjs/hooks/index.d.ts +1 -0
- package/dist/cjs/hooks/useFocusTrap.d.ts +1 -1
- package/dist/cjs/hooks/useReturnFocusOnBlur.d.ts +31 -0
- package/dist/cjs/index.d.ts +1 -1
- package/dist/cjs/index.js +1224 -1060
- package/dist/cjs/utils/getFocusableElements.d.ts +2 -0
- package/dist/cjs/utils/index.d.ts +1 -0
- package/dist/components/Breadcrumbs/Breadcrumbs.stories.d.ts +1 -1
- package/dist/components/Button/Button.stories.d.ts +1 -1
- package/dist/components/Button/Button.styles.js +1 -1
- package/dist/components/Card/CardAccordion/CardAccordionHeader.js +1 -1
- package/dist/components/Checkbox/Checkbox.stories.d.ts +1 -1
- package/dist/components/Chip/Chip.stories.d.ts +1 -1
- package/dist/components/DescriptionList/DescriptionList.stories.d.ts +1 -1
- package/dist/components/Divider/Divider.stories.d.ts +1 -1
- package/dist/components/Drawer/Drawer.js +3 -0
- package/dist/components/Drawer/Drawer.stories.d.ts +1 -1
- package/dist/components/GlobalMessage/GlobalMessage.stories.d.ts +1 -1
- package/dist/components/Grid/Grid.context.js +1 -0
- package/dist/components/Grid/Grid.js +1 -0
- package/dist/components/Grid/Grid.tokens.js +1 -0
- package/dist/components/Grid/Grid.utils.js +1 -0
- package/dist/components/InputMessage/InputMessage.stories.d.ts +1 -1
- package/dist/components/List/List.stories.d.ts +1 -1
- package/dist/components/LocalMessage/LocalMessage.stories.d.ts +1 -1
- package/dist/components/Modal/Modal.js +1 -0
- package/dist/components/Modal/Modal.stories.d.ts +1 -1
- package/dist/components/OverflowMenu/OverflowMenu.js +1 -0
- package/dist/components/OverflowMenu/OverflowMenu.stories.d.ts +1 -1
- package/dist/components/OverflowMenu/OverflowMenuItem.js +2 -1
- package/dist/components/Pagination/Pagination.stories.d.ts +1 -1
- package/dist/components/Popover/Popover.d.ts +12 -4
- package/dist/components/Popover/Popover.js +47 -22
- package/dist/components/Popover/Popover.stories.d.ts +4 -2
- package/dist/components/Popover/Popover.tokens.d.ts +11 -8
- package/dist/components/Popover/Popover.tokens.js +17 -28
- package/dist/components/Popover/PopoverGroup.js +9 -20
- package/dist/components/ProgressTracker/ProgressTracker.context.d.ts +6 -0
- package/dist/components/ProgressTracker/ProgressTracker.context.js +10 -0
- package/dist/components/ProgressTracker/ProgressTracker.d.ts +12 -0
- package/dist/components/ProgressTracker/ProgressTracker.js +93 -0
- package/dist/components/ProgressTracker/ProgressTracker.stories.d.ts +40 -0
- package/dist/components/ProgressTracker/ProgressTracker.tokens.d.ts +69 -0
- package/dist/components/ProgressTracker/ProgressTracker.tokens.js +80 -0
- package/dist/components/ProgressTracker/ProgressTrackerItem.d.ts +24 -0
- package/dist/components/ProgressTracker/ProgressTrackerItem.js +168 -0
- package/dist/components/ProgressTracker/index.d.ts +1 -0
- package/dist/components/RadioButton/RadioButton.stories.d.ts +1 -1
- package/dist/components/RadioButton/RadioButtonGroup.stories.d.ts +1 -1
- package/dist/components/Search/Search.d.ts +2 -2
- package/dist/components/Search/Search.js +36 -28
- package/dist/components/Search/Search.stories.d.ts +7 -1
- package/dist/components/Search/Search.tokens.d.ts +4 -1
- package/dist/components/Search/Search.tokens.js +6 -2
- package/dist/components/SkipToContent/SkipToContent.stories.d.ts +1 -1
- package/dist/components/Table/Cell.d.ts +1 -1
- package/dist/components/Table/Cell.js +6 -4
- package/dist/components/Table/Row.js +12 -5
- package/dist/components/Table/SortCell.js +8 -11
- package/dist/components/Table/Table.d.ts +4 -0
- package/dist/components/Table/Table.js +8 -3
- package/dist/components/Table/Table.stories.d.ts +7 -0
- package/dist/components/Table/Table.tokens.d.ts +72 -0
- package/dist/components/Table/Table.tokens.js +69 -0
- package/dist/components/Tabs/Tab.js +2 -1
- package/dist/components/Tabs/TabList.js +1 -0
- package/dist/components/Tabs/TabPanels.js +1 -0
- package/dist/components/Tag/Tag.stories.d.ts +1 -1
- package/dist/components/ToggleButton/ToggleButton.stories.d.ts +1 -1
- package/dist/components/Tooltip/Tooltip.js +2 -2
- package/dist/components/Tooltip/Tooltip.stories.d.ts +1 -1
- package/dist/components/Typography/Caption/Caption.stories.d.ts +1 -1
- package/dist/components/Typography/Heading/Heading.stories.d.ts +1 -1
- package/dist/components/Typography/Label/Label.stories.d.ts +1 -1
- package/dist/components/Typography/Legend/Legend.stories.d.ts +1 -1
- package/dist/components/Typography/Link/Link.stories.d.ts +1 -1
- package/dist/components/Typography/Paragraph/Paragraph.stories.d.ts +1 -1
- package/dist/components/Typography/Typography/Typography.js +1 -1
- package/dist/helpers/Paper/Paper.d.ts +8 -1
- package/dist/helpers/Paper/Paper.js +38 -2
- package/dist/helpers/Paper/Paper.tokens.d.ts +5 -2
- package/dist/helpers/Paper/Paper.tokens.js +8 -10
- package/dist/hooks/index.d.ts +1 -0
- package/dist/hooks/useFocusTrap.d.ts +1 -1
- package/dist/hooks/useFocusTrap.js +4 -2
- package/dist/hooks/useReturnFocusOnBlur.d.ts +31 -0
- package/dist/hooks/useReturnFocusOnBlur.js +65 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.js +2 -2
- package/dist/utils/getFocusableElements.d.ts +2 -0
- package/dist/utils/getFocusableElements.js +5 -0
- package/dist/utils/index.d.ts +1 -0
- package/package.json +1 -1
- package/dist/cjs/components/Stepper/Step.d.ts +0 -20
- package/dist/cjs/components/Stepper/Stepper.context.d.ts +0 -6
- package/dist/cjs/components/Stepper/Stepper.d.ts +0 -11
- package/dist/cjs/components/Stepper/Stepper.stories.d.ts +0 -25
- package/dist/cjs/components/Stepper/Stepper.tokens.d.ts +0 -39
- package/dist/cjs/components/Stepper/index.d.ts +0 -2
- package/dist/cjs/components/Table/Cell.tokens.d.ts +0 -31
- package/dist/cjs/components/Table/Row.tokens.d.ts +0 -32
- package/dist/components/Stepper/Step.d.ts +0 -20
- package/dist/components/Stepper/Step.js +0 -118
- package/dist/components/Stepper/Stepper.context.d.ts +0 -6
- package/dist/components/Stepper/Stepper.context.js +0 -10
- package/dist/components/Stepper/Stepper.d.ts +0 -11
- package/dist/components/Stepper/Stepper.js +0 -66
- package/dist/components/Stepper/Stepper.stories.d.ts +0 -25
- package/dist/components/Stepper/Stepper.tokens.d.ts +0 -39
- package/dist/components/Stepper/Stepper.tokens.js +0 -49
- package/dist/components/Stepper/index.d.ts +0 -2
- package/dist/components/Table/Cell.tokens.d.ts +0 -31
- package/dist/components/Table/Cell.tokens.js +0 -60
- package/dist/components/Table/Row.tokens.d.ts +0 -32
- package/dist/components/Table/Row.tokens.js +0 -73
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { createContext, useContext } from 'react';
|
|
2
|
+
|
|
3
|
+
var ProgressTrackerContext = /*#__PURE__*/createContext({
|
|
4
|
+
activeStep: 0
|
|
5
|
+
});
|
|
6
|
+
var useProgressTrackerContext = function useProgressTrackerContext() {
|
|
7
|
+
return useContext(ProgressTrackerContext);
|
|
8
|
+
};
|
|
9
|
+
|
|
10
|
+
export { ProgressTrackerContext, useProgressTrackerContext };
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { ForwardRefExoticComponent } from 'react';
|
|
2
|
+
import { BaseComponentPropsWithChildren } from '../../types';
|
|
3
|
+
import { ProgressTrackerItem } from './ProgressTrackerItem';
|
|
4
|
+
declare type ProgressTrackerProps = BaseComponentPropsWithChildren<HTMLDivElement, {
|
|
5
|
+
/** Indeksen til det aktive steget. */
|
|
6
|
+
activeStep?: number;
|
|
7
|
+
}>;
|
|
8
|
+
declare type ProgressTrackerComponent = ForwardRefExoticComponent<ProgressTrackerProps> & {
|
|
9
|
+
Item: typeof ProgressTrackerItem;
|
|
10
|
+
};
|
|
11
|
+
export declare const ProgressTracker: ProgressTrackerComponent;
|
|
12
|
+
export {};
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import { slicedToArray as _slicedToArray } from '../../_virtual/_rollupPluginBabelHelpers.js';
|
|
2
|
+
import { __rest } from 'tslib';
|
|
3
|
+
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
4
|
+
import { forwardRef, useState, useEffect, useMemo, Children, isValidElement, cloneElement, Fragment } from 'react';
|
|
5
|
+
import styled from 'styled-components';
|
|
6
|
+
import { getBaseHTMLProps } from '../../types/BaseComponentProps.js';
|
|
7
|
+
import { ProgressTrackerContext } from './ProgressTracker.context.js';
|
|
8
|
+
import { progressTrackerTokens } from './ProgressTracker.tokens.js';
|
|
9
|
+
import { ProgressTrackerItem } from './ProgressTrackerItem.js';
|
|
10
|
+
|
|
11
|
+
var ItemsWrapper = styled.ol.withConfig({
|
|
12
|
+
displayName: "ProgressTracker__ItemsWrapper",
|
|
13
|
+
componentId: "sc-v5htnb-0"
|
|
14
|
+
})(["display:flex;flex-direction:column;align-items:flex-start;gap:", ";margin:0;padding:0;"], progressTrackerTokens.itemsWrapper.gap);
|
|
15
|
+
var ProgressTrackerConnector = styled.div.withConfig({
|
|
16
|
+
displayName: "ProgressTracker__ProgressTrackerConnector",
|
|
17
|
+
componentId: "sc-v5htnb-1"
|
|
18
|
+
})(["margin-left:calc( (", " / 2) - (", " / 2) );height:", ";border-right:", " solid ", ";"], progressTrackerTokens.itemNumber.size, progressTrackerTokens.connector.width, progressTrackerTokens.connector.height, progressTrackerTokens.connector.width, progressTrackerTokens.connector.color);
|
|
19
|
+
var ProgressTracker = function () {
|
|
20
|
+
var Res = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
21
|
+
var id = props.id,
|
|
22
|
+
_props$activeStep = props.activeStep,
|
|
23
|
+
activeStep = _props$activeStep === void 0 ? 0 : _props$activeStep,
|
|
24
|
+
children = props.children,
|
|
25
|
+
className = props.className,
|
|
26
|
+
htmlProps = props.htmlProps,
|
|
27
|
+
rest = __rest(props, ["id", "activeStep", "children", "className", "htmlProps"]);
|
|
28
|
+
|
|
29
|
+
var _useState = useState(activeStep),
|
|
30
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
31
|
+
thisActiveStep = _useState2[0],
|
|
32
|
+
setActiveStep = _useState2[1];
|
|
33
|
+
|
|
34
|
+
useEffect(function () {
|
|
35
|
+
if (activeStep !== undefined && activeStep != thisActiveStep) {
|
|
36
|
+
setActiveStep(activeStep);
|
|
37
|
+
}
|
|
38
|
+
}, [activeStep, thisActiveStep]);
|
|
39
|
+
var containerProps = Object.assign(Object.assign({}, getBaseHTMLProps(id, className, htmlProps, rest)), {
|
|
40
|
+
ref: ref
|
|
41
|
+
});
|
|
42
|
+
var steps = useMemo(function () {
|
|
43
|
+
var validChildren = removeInvalidChildren(children);
|
|
44
|
+
var itemsWithIndex = passIndexPropToProgressTrackerItem(validChildren);
|
|
45
|
+
var itemsWithConnectorsBetween = intersperseItemsWithConnector(itemsWithIndex);
|
|
46
|
+
return itemsWithConnectorsBetween;
|
|
47
|
+
}, [children]);
|
|
48
|
+
return jsx(ProgressTrackerContext.Provider, Object.assign({
|
|
49
|
+
value: {
|
|
50
|
+
activeStep: thisActiveStep
|
|
51
|
+
}
|
|
52
|
+
}, {
|
|
53
|
+
children: jsx("div", Object.assign({
|
|
54
|
+
role: "group",
|
|
55
|
+
"aria-label": "progress"
|
|
56
|
+
}, containerProps, {
|
|
57
|
+
children: jsx(ItemsWrapper, {
|
|
58
|
+
children: steps
|
|
59
|
+
})
|
|
60
|
+
}))
|
|
61
|
+
}));
|
|
62
|
+
});
|
|
63
|
+
Res.Item = ProgressTrackerItem;
|
|
64
|
+
return Res;
|
|
65
|
+
}();
|
|
66
|
+
|
|
67
|
+
var removeInvalidChildren = function removeInvalidChildren(children) {
|
|
68
|
+
return Children.toArray(children).filter(isValidElement);
|
|
69
|
+
};
|
|
70
|
+
|
|
71
|
+
var passIndexPropToProgressTrackerItem = function passIndexPropToProgressTrackerItem(children) {
|
|
72
|
+
return Children.map(children, function (item, index) {
|
|
73
|
+
return /*#__PURE__*/cloneElement(item, Object.assign(Object.assign({}, item.props), {
|
|
74
|
+
index: index
|
|
75
|
+
}));
|
|
76
|
+
});
|
|
77
|
+
};
|
|
78
|
+
|
|
79
|
+
var intersperseItemsWithConnector = function intersperseItemsWithConnector(children) {
|
|
80
|
+
return Children.map(children, function (child, index) {
|
|
81
|
+
if (index === 0) {
|
|
82
|
+
return child;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
return jsxs(Fragment, {
|
|
86
|
+
children: [jsx(ProgressTrackerConnector, {
|
|
87
|
+
"aria-hidden": true
|
|
88
|
+
}), child]
|
|
89
|
+
}, index);
|
|
90
|
+
});
|
|
91
|
+
};
|
|
92
|
+
|
|
93
|
+
export { ProgressTracker };
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
declare const _default: {
|
|
2
|
+
title: string;
|
|
3
|
+
component: import("react").ForwardRefExoticComponent<Pick<import("react").HTMLAttributes<HTMLDivElement>, "id" | "className"> & {
|
|
4
|
+
activeStep?: number | undefined;
|
|
5
|
+
} & {
|
|
6
|
+
children?: import("react").ReactNode;
|
|
7
|
+
} & {
|
|
8
|
+
htmlProps?: import("react").HTMLAttributes<HTMLDivElement> | undefined;
|
|
9
|
+
}> & {
|
|
10
|
+
Item: (props: ({
|
|
11
|
+
onClick: (index: number) => void;
|
|
12
|
+
} & Pick<import("react").HTMLAttributes<HTMLButtonElement>, "id" | "className"> & {
|
|
13
|
+
active?: boolean | undefined;
|
|
14
|
+
completed?: boolean | undefined;
|
|
15
|
+
disabled?: boolean | undefined;
|
|
16
|
+
icon?: import("../../icons/utils").SvgIcon | undefined;
|
|
17
|
+
index?: number | undefined;
|
|
18
|
+
} & {
|
|
19
|
+
children?: import("react").ReactNode;
|
|
20
|
+
} & {
|
|
21
|
+
htmlProps?: import("react").HTMLAttributes<HTMLButtonElement> | undefined;
|
|
22
|
+
}) | ({
|
|
23
|
+
onClick?: undefined;
|
|
24
|
+
} & Pick<import("react").HTMLAttributes<HTMLDivElement>, "id" | "className"> & {
|
|
25
|
+
active?: boolean | undefined;
|
|
26
|
+
completed?: boolean | undefined;
|
|
27
|
+
disabled?: boolean | undefined;
|
|
28
|
+
icon?: import("../../icons/utils").SvgIcon | undefined;
|
|
29
|
+
index?: number | undefined;
|
|
30
|
+
} & {
|
|
31
|
+
children?: import("react").ReactNode;
|
|
32
|
+
} & {
|
|
33
|
+
htmlProps?: import("react").HTMLAttributes<HTMLDivElement> | undefined;
|
|
34
|
+
})) => JSX.Element;
|
|
35
|
+
};
|
|
36
|
+
};
|
|
37
|
+
export default _default;
|
|
38
|
+
export declare const Overview: () => JSX.Element;
|
|
39
|
+
export declare const WithIcons: () => JSX.Element;
|
|
40
|
+
export declare const NonClickable: () => JSX.Element;
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { IconSize } from '../Icon';
|
|
2
|
+
export declare const progressTrackerTokens: {
|
|
3
|
+
itemsWrapper: {
|
|
4
|
+
gap: string;
|
|
5
|
+
};
|
|
6
|
+
itemContentWrapper: {
|
|
7
|
+
gap: string;
|
|
8
|
+
};
|
|
9
|
+
connector: {
|
|
10
|
+
color: string;
|
|
11
|
+
height: string;
|
|
12
|
+
width: string;
|
|
13
|
+
};
|
|
14
|
+
itemNumber: {
|
|
15
|
+
size: string;
|
|
16
|
+
borderWidth: string;
|
|
17
|
+
iconSize: IconSize;
|
|
18
|
+
fontSize: string;
|
|
19
|
+
active: {
|
|
20
|
+
borderColor: string;
|
|
21
|
+
color: string;
|
|
22
|
+
backgroundColor: string;
|
|
23
|
+
};
|
|
24
|
+
completed: {
|
|
25
|
+
borderColor: string;
|
|
26
|
+
color: string;
|
|
27
|
+
backgroundColor: string;
|
|
28
|
+
hover: {
|
|
29
|
+
borderColor: string;
|
|
30
|
+
color: string;
|
|
31
|
+
backgroundColor: string;
|
|
32
|
+
};
|
|
33
|
+
};
|
|
34
|
+
inactive: {
|
|
35
|
+
borderColor: string;
|
|
36
|
+
color: string;
|
|
37
|
+
backgroundColor: string;
|
|
38
|
+
hover: {
|
|
39
|
+
borderColor: string;
|
|
40
|
+
color: string;
|
|
41
|
+
backgroundColor: string;
|
|
42
|
+
};
|
|
43
|
+
};
|
|
44
|
+
disabled: {
|
|
45
|
+
borderColor: string;
|
|
46
|
+
color: string;
|
|
47
|
+
backgroundColor: string;
|
|
48
|
+
};
|
|
49
|
+
};
|
|
50
|
+
itemText: {
|
|
51
|
+
fontFamily: string;
|
|
52
|
+
fontSize: string;
|
|
53
|
+
active: {
|
|
54
|
+
color: string;
|
|
55
|
+
textDecoration: string;
|
|
56
|
+
};
|
|
57
|
+
inactive: {
|
|
58
|
+
color: string;
|
|
59
|
+
textDecoration: string;
|
|
60
|
+
hover: {
|
|
61
|
+
textDecoration: string;
|
|
62
|
+
};
|
|
63
|
+
};
|
|
64
|
+
disabled: {
|
|
65
|
+
color: string;
|
|
66
|
+
textDecoration: string;
|
|
67
|
+
};
|
|
68
|
+
};
|
|
69
|
+
};
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { ddsBaseTokens } from '@norges-domstoler/dds-design-tokens';
|
|
2
|
+
|
|
3
|
+
var colors = ddsBaseTokens.colors,
|
|
4
|
+
spacing = ddsBaseTokens.spacing,
|
|
5
|
+
font = ddsBaseTokens.font;
|
|
6
|
+
var itemsWrapper = {
|
|
7
|
+
gap: spacing.SizesDdsSpacingLocalX0125
|
|
8
|
+
};
|
|
9
|
+
var itemContentWrapper = {
|
|
10
|
+
gap: spacing.SizesDdsSpacingLocalX05
|
|
11
|
+
};
|
|
12
|
+
var connector = {
|
|
13
|
+
color: colors.DdsColorNeutralsGray5,
|
|
14
|
+
height: '18px',
|
|
15
|
+
width: '1px'
|
|
16
|
+
};
|
|
17
|
+
var itemNumber = {
|
|
18
|
+
size: '28px',
|
|
19
|
+
borderWidth: '2px',
|
|
20
|
+
iconSize: 'small',
|
|
21
|
+
fontSize: font.DdsFontBodySans01FontSize,
|
|
22
|
+
active: {
|
|
23
|
+
borderColor: colors.DdsColorInteractiveBase,
|
|
24
|
+
color: colors.DdsColorNeutralsWhite,
|
|
25
|
+
backgroundColor: colors.DdsColorInteractiveBase
|
|
26
|
+
},
|
|
27
|
+
completed: {
|
|
28
|
+
borderColor: colors.DdsColorInteractiveBase,
|
|
29
|
+
color: colors.DdsColorNeutralsWhite,
|
|
30
|
+
backgroundColor: colors.DdsColorInteractiveBase,
|
|
31
|
+
hover: {
|
|
32
|
+
borderColor: colors.DdsColorInteractiveDark,
|
|
33
|
+
color: colors.DdsColorNeutralsWhite,
|
|
34
|
+
backgroundColor: colors.DdsColorInteractiveDark
|
|
35
|
+
}
|
|
36
|
+
},
|
|
37
|
+
inactive: {
|
|
38
|
+
borderColor: colors.DdsColorInteractiveBase,
|
|
39
|
+
color: colors.DdsColorInteractiveBase,
|
|
40
|
+
backgroundColor: colors.DdsColorNeutralsWhite,
|
|
41
|
+
hover: {
|
|
42
|
+
borderColor: colors.DdsColorInteractiveBase,
|
|
43
|
+
color: colors.DdsColorInteractiveBase,
|
|
44
|
+
backgroundColor: colors.DdsColorInteractiveLightest
|
|
45
|
+
}
|
|
46
|
+
},
|
|
47
|
+
disabled: {
|
|
48
|
+
borderColor: colors.DdsColorNeutralsGray5,
|
|
49
|
+
color: colors.DdsColorNeutralsGray5,
|
|
50
|
+
backgroundColor: colors.DdsColorNeutralsWhite
|
|
51
|
+
}
|
|
52
|
+
};
|
|
53
|
+
var itemText = {
|
|
54
|
+
fontFamily: font.DdsFontSupportingStyleLabel01FontFamily,
|
|
55
|
+
fontSize: font.DdsFontSupportingStyleLabel01FontSize,
|
|
56
|
+
active: {
|
|
57
|
+
color: colors.DdsColorNeutralsGray9,
|
|
58
|
+
textDecoration: 'underline'
|
|
59
|
+
},
|
|
60
|
+
inactive: {
|
|
61
|
+
color: colors.DdsColorNeutralsGray7,
|
|
62
|
+
textDecoration: 'none',
|
|
63
|
+
hover: {
|
|
64
|
+
textDecoration: 'underline'
|
|
65
|
+
}
|
|
66
|
+
},
|
|
67
|
+
disabled: {
|
|
68
|
+
color: colors.DdsColorNeutralsGray6,
|
|
69
|
+
textDecoration: 'none'
|
|
70
|
+
}
|
|
71
|
+
};
|
|
72
|
+
var progressTrackerTokens = {
|
|
73
|
+
itemsWrapper: itemsWrapper,
|
|
74
|
+
itemContentWrapper: itemContentWrapper,
|
|
75
|
+
connector: connector,
|
|
76
|
+
itemNumber: itemNumber,
|
|
77
|
+
itemText: itemText
|
|
78
|
+
};
|
|
79
|
+
|
|
80
|
+
export { progressTrackerTokens };
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { SvgIcon } from '../../icons/utils';
|
|
2
|
+
import { BaseComponentPropsWithChildren } from '../../types';
|
|
3
|
+
declare type BaseItemProps = {
|
|
4
|
+
/** Om steget er valgt eller ikke. Settes av konsument. */
|
|
5
|
+
active?: boolean;
|
|
6
|
+
/** Om steget er ferdig eller ikke. Settes av konsument. */
|
|
7
|
+
completed?: boolean;
|
|
8
|
+
/** Om steget skal være disabled. Settes av konsument.
|
|
9
|
+
* @default false
|
|
10
|
+
*/
|
|
11
|
+
disabled?: boolean;
|
|
12
|
+
/** Ikon som skal vises istedenfor stegnummeret. Settes av konument. */
|
|
13
|
+
icon?: SvgIcon;
|
|
14
|
+
/** Indeksen til steget. NB! Denne settes automatisk av `<ProgressTracker />` og skal ikke settes manuelt. */
|
|
15
|
+
index?: number;
|
|
16
|
+
};
|
|
17
|
+
declare type ProgressTrackerItemProps = ({
|
|
18
|
+
/** Click-handler som gjør det mulig for bruker å klikke på steget for å navigere. Valgfri. */
|
|
19
|
+
onClick: (index: number) => void;
|
|
20
|
+
} & BaseComponentPropsWithChildren<HTMLButtonElement, BaseItemProps>) | ({
|
|
21
|
+
onClick?: undefined;
|
|
22
|
+
} & BaseComponentPropsWithChildren<HTMLDivElement, BaseItemProps>);
|
|
23
|
+
export declare const ProgressTrackerItem: (props: ProgressTrackerItemProps) => JSX.Element;
|
|
24
|
+
export {};
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
2
|
+
import { useMemo } from 'react';
|
|
3
|
+
import styled, { css } from 'styled-components';
|
|
4
|
+
import { focusVisibleTransitionValue, focusVisible } from '../../helpers/styling/focusVisible.js';
|
|
5
|
+
import '../../helpers/styling/hover.js';
|
|
6
|
+
import '../../helpers/styling/focus.js';
|
|
7
|
+
import '../../helpers/styling/danger.js';
|
|
8
|
+
import '../../helpers/styling/selection.js';
|
|
9
|
+
import 'tslib';
|
|
10
|
+
import '../../icons/utils/StyledSvg.js';
|
|
11
|
+
import { CheckIcon } from '../../icons/tsx/check.js';
|
|
12
|
+
import { Icon } from '../Icon/Icon.js';
|
|
13
|
+
import { VisuallyHidden } from '../VisuallyHidden/VisuallyHidden.js';
|
|
14
|
+
import { useProgressTrackerContext } from './ProgressTracker.context.js';
|
|
15
|
+
import { progressTrackerTokens } from './ProgressTracker.tokens.js';
|
|
16
|
+
|
|
17
|
+
var toItemState = function toItemState(active, completed, disabled) {
|
|
18
|
+
if (disabled) {
|
|
19
|
+
return 'disabled';
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
if (active) {
|
|
23
|
+
return completed ? 'activeCompleted' : 'activeIncomplete';
|
|
24
|
+
} else {
|
|
25
|
+
return completed ? 'inactiveCompleted' : 'inactiveIncomplete';
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
var itemNumber = progressTrackerTokens.itemNumber,
|
|
30
|
+
itemText = progressTrackerTokens.itemText,
|
|
31
|
+
itemContentWrapper = progressTrackerTokens.itemContentWrapper;
|
|
32
|
+
var ItemWrapper = styled.li.withConfig({
|
|
33
|
+
displayName: "ProgressTrackerItem__ItemWrapper",
|
|
34
|
+
componentId: "sc-1j9qaj9-0"
|
|
35
|
+
})(["flex:1;position:relative;display:flex;justify-content:center;"]);
|
|
36
|
+
var ItemNumber = styled.div.withConfig({
|
|
37
|
+
displayName: "ProgressTrackerItem__ItemNumber",
|
|
38
|
+
componentId: "sc-1j9qaj9-1"
|
|
39
|
+
})(["border-radius:50%;border:", " solid;width:", ";height:", ";display:flex;align-items:center;justify-content:center;z-index:2;font-size:", ";font-weight:600;", ""], itemNumber.borderWidth, itemNumber.size, itemNumber.size, itemNumber.fontSize, function (_ref) {
|
|
40
|
+
var state = _ref.state;
|
|
41
|
+
|
|
42
|
+
switch (state) {
|
|
43
|
+
case 'activeIncomplete':
|
|
44
|
+
return css(["border-color:", ";color:", ";background-color:", ";"], itemNumber.active.borderColor, itemNumber.active.color, itemNumber.active.backgroundColor);
|
|
45
|
+
|
|
46
|
+
case 'activeCompleted':
|
|
47
|
+
return css(["border-color:", ";color:", ";background-color:", ";"], itemNumber.completed.borderColor, itemNumber.completed.color, itemNumber.completed.backgroundColor);
|
|
48
|
+
|
|
49
|
+
case 'inactiveCompleted':
|
|
50
|
+
return css(["border-color:", ";color:", ";background-color:", ";"], itemNumber.completed.borderColor, itemNumber.completed.color, itemNumber.completed.backgroundColor);
|
|
51
|
+
|
|
52
|
+
case 'inactiveIncomplete':
|
|
53
|
+
return css(["border-color:", ";color:", ";background-color:", ";"], itemNumber.inactive.borderColor, itemNumber.inactive.color, itemNumber.inactive.backgroundColor);
|
|
54
|
+
|
|
55
|
+
case 'disabled':
|
|
56
|
+
return css(["border-color:", ";color:", ";background-color:", ";"], itemNumber.disabled.borderColor, itemNumber.disabled.color, itemNumber.disabled.backgroundColor);
|
|
57
|
+
}
|
|
58
|
+
});
|
|
59
|
+
var ItemText = styled.div.withConfig({
|
|
60
|
+
displayName: "ProgressTrackerItem__ItemText",
|
|
61
|
+
componentId: "sc-1j9qaj9-2"
|
|
62
|
+
})(["font-family:", ";font-size:", ";text-align:start;", ""], itemText.fontFamily, itemText.fontSize, function (_ref2) {
|
|
63
|
+
var state = _ref2.state;
|
|
64
|
+
|
|
65
|
+
switch (state) {
|
|
66
|
+
case 'activeCompleted':
|
|
67
|
+
case 'activeIncomplete':
|
|
68
|
+
return css(["color:", ";text-decoration ", ";"], itemText.active.color, itemText.active.textDecoration);
|
|
69
|
+
|
|
70
|
+
case 'inactiveCompleted':
|
|
71
|
+
case 'inactiveIncomplete':
|
|
72
|
+
return css(["color:", ";text-decoration ", ";"], itemText.inactive.color, itemText.inactive.textDecoration);
|
|
73
|
+
|
|
74
|
+
case 'disabled':
|
|
75
|
+
return css(["color:", ";text-decoration:", ";"], itemText.disabled.color, itemText.disabled.textDecoration);
|
|
76
|
+
}
|
|
77
|
+
});
|
|
78
|
+
var ItemContentWrapper = styled.div.withConfig({
|
|
79
|
+
displayName: "ProgressTrackerItem__ItemContentWrapper",
|
|
80
|
+
componentId: "sc-1j9qaj9-3"
|
|
81
|
+
})(["background:none;border:none;margin:0;padding:0;display:grid;grid-template-columns:", " 1fr;justify-content:flex-start;align-items:center;font-family:inherit;gap:", ";transition:", ";:focus-visible{", "}", " ", ""], itemNumber.size, itemContentWrapper.gap, focusVisibleTransitionValue, focusVisible, function (_ref3) {
|
|
82
|
+
var clickable = _ref3.clickable,
|
|
83
|
+
state = _ref3.state;
|
|
84
|
+
|
|
85
|
+
if (clickable) {
|
|
86
|
+
return css([":hover{", "{", "}", "{", "}}"], ItemNumber, function () {
|
|
87
|
+
if (state === 'inactiveCompleted') {
|
|
88
|
+
return css(["border-color:", ";color:", ";background-color:", ";"], itemNumber.completed.hover.borderColor, itemNumber.completed.hover.color, itemNumber.completed.hover.backgroundColor);
|
|
89
|
+
} else if (state === 'inactiveIncomplete') {
|
|
90
|
+
return css(["border-color:", ";color:", ";background-color:", ";"], itemNumber.inactive.hover.borderColor, itemNumber.inactive.hover.color, itemNumber.inactive.hover.backgroundColor);
|
|
91
|
+
}
|
|
92
|
+
}, ItemText, function () {
|
|
93
|
+
if (state !== 'disabled') {
|
|
94
|
+
return css(["text-decoration ", ";"], itemText.inactive.hover.textDecoration);
|
|
95
|
+
}
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
}, function (_ref4) {
|
|
99
|
+
var clickable = _ref4.clickable,
|
|
100
|
+
state = _ref4.state;
|
|
101
|
+
return clickable && state !== 'disabled' && css(["cursor:pointer;"]);
|
|
102
|
+
});
|
|
103
|
+
|
|
104
|
+
var getVisuallyHiddenText = function getVisuallyHiddenText(active, completed, index) {
|
|
105
|
+
return "".concat(index + 1, ", ").concat(active ? '' : 'Trinn, ').concat(completed ? 'Ferdig, ' : 'Ikke ferdig, ');
|
|
106
|
+
};
|
|
107
|
+
|
|
108
|
+
var ProgressTrackerItem = function ProgressTrackerItem(props) {
|
|
109
|
+
var _props$index = props.index,
|
|
110
|
+
index = _props$index === void 0 ? 0 : _props$index,
|
|
111
|
+
_props$completed = props.completed,
|
|
112
|
+
completed = _props$completed === void 0 ? false : _props$completed,
|
|
113
|
+
_props$disabled = props.disabled,
|
|
114
|
+
disabled = _props$disabled === void 0 ? false : _props$disabled,
|
|
115
|
+
icon = props.icon,
|
|
116
|
+
children = props.children;
|
|
117
|
+
|
|
118
|
+
var _useProgressTrackerCo = useProgressTrackerContext(),
|
|
119
|
+
activeStep = _useProgressTrackerCo.activeStep;
|
|
120
|
+
|
|
121
|
+
var active = activeStep === index;
|
|
122
|
+
var styleProps = {
|
|
123
|
+
state: toItemState(active, completed, disabled),
|
|
124
|
+
clickable: props.onClick !== undefined
|
|
125
|
+
};
|
|
126
|
+
var stepNumberContent = useMemo(function () {
|
|
127
|
+
if (completed) {
|
|
128
|
+
return jsx(Icon, {
|
|
129
|
+
icon: CheckIcon,
|
|
130
|
+
iconSize: itemNumber.iconSize
|
|
131
|
+
});
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
if (icon !== undefined) {
|
|
135
|
+
return jsx(Icon, {
|
|
136
|
+
icon: icon,
|
|
137
|
+
iconSize: itemNumber.iconSize
|
|
138
|
+
});
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
return index + 1;
|
|
142
|
+
}, [completed, icon, index]);
|
|
143
|
+
return jsx(ItemWrapper, Object.assign({
|
|
144
|
+
"aria-current": active ? 'step' : undefined
|
|
145
|
+
}, {
|
|
146
|
+
children: jsxs(ItemContentWrapper, Object.assign({}, styleProps, {
|
|
147
|
+
as: props.onClick ? 'button' : 'div',
|
|
148
|
+
onClick: !disabled && props.onClick ? function () {
|
|
149
|
+
return props.onClick(index);
|
|
150
|
+
} : undefined,
|
|
151
|
+
disabled: disabled
|
|
152
|
+
}, {
|
|
153
|
+
children: [jsx(ItemNumber, Object.assign({}, styleProps, {
|
|
154
|
+
"aria-hidden": true
|
|
155
|
+
}, {
|
|
156
|
+
children: stepNumberContent
|
|
157
|
+
})), jsxs(ItemText, Object.assign({}, styleProps, {
|
|
158
|
+
children: [jsx(VisuallyHidden, Object.assign({
|
|
159
|
+
as: "span"
|
|
160
|
+
}, {
|
|
161
|
+
children: getVisuallyHiddenText(active, completed, index)
|
|
162
|
+
})), children]
|
|
163
|
+
}))]
|
|
164
|
+
}))
|
|
165
|
+
}));
|
|
166
|
+
};
|
|
167
|
+
|
|
168
|
+
export { ProgressTrackerItem };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './ProgressTracker';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { RadioButtonProps } from '.';
|
|
2
2
|
declare const _default: {
|
|
3
3
|
title: string;
|
|
4
|
-
component: import("react").ForwardRefExoticComponent<Pick<Omit<import("react").InputHTMLAttributes<HTMLInputElement>, "name" | "aria-describedby" | "onChange" | "value" | "checked" | "readOnly" | "required">, "
|
|
4
|
+
component: import("react").ForwardRefExoticComponent<Pick<Omit<import("react").InputHTMLAttributes<HTMLInputElement>, "name" | "aria-describedby" | "onChange" | "value" | "checked" | "readOnly" | "required">, "id" | "className"> & {
|
|
5
5
|
label?: string | undefined;
|
|
6
6
|
disabled?: boolean | undefined;
|
|
7
7
|
error?: boolean | undefined;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { RadioButtonGroupProps } from '.';
|
|
2
2
|
declare const _default: {
|
|
3
3
|
title: string;
|
|
4
|
-
component: <T extends string | number = string>(props: Pick<Omit<import("react").HTMLAttributes<HTMLDivElement>, "onChange">, "
|
|
4
|
+
component: <T extends string | number = string>(props: Pick<Omit<import("react").HTMLAttributes<HTMLDivElement>, "onChange">, "id" | "className"> & {
|
|
5
5
|
name?: string | undefined;
|
|
6
6
|
label?: string | undefined;
|
|
7
7
|
onChange?: ((event: import("react").ChangeEvent<HTMLInputElement>, value: T | undefined) => void) | undefined;
|
|
@@ -6,13 +6,13 @@ declare type ButtonProps = {
|
|
|
6
6
|
label?: string;
|
|
7
7
|
loading?: boolean;
|
|
8
8
|
} & ButtonHTMLAttributes<HTMLButtonElement>;
|
|
9
|
-
export declare type SearchProps = Pick<BaseInputProps, 'tip'> & {
|
|
9
|
+
export declare type SearchProps = Pick<BaseInputProps, 'tip' | 'label'> & {
|
|
10
10
|
/**Størrelsen på komponenten. */
|
|
11
11
|
componentSize?: SearchSize;
|
|
12
12
|
/**Props for søkeknappen. */
|
|
13
13
|
buttonProps?: ButtonProps;
|
|
14
14
|
} & InputHTMLAttributes<HTMLInputElement>;
|
|
15
|
-
export declare const Search: import("react").ForwardRefExoticComponent<Pick<BaseInputProps, "tip"> & {
|
|
15
|
+
export declare const Search: import("react").ForwardRefExoticComponent<Pick<BaseInputProps, "label" | "tip"> & {
|
|
16
16
|
/**Størrelsen på komponenten. */
|
|
17
17
|
componentSize?: SearchSize | undefined;
|
|
18
18
|
/**Props for søkeknappen. */
|
|
@@ -7,7 +7,7 @@ import { searchTokens } from './Search.tokens.js';
|
|
|
7
7
|
import '../../helpers/Backdrop/Backdrop.js';
|
|
8
8
|
import '../../helpers/Chevron/AnimatedChevronUpDown.styles.js';
|
|
9
9
|
import '../../helpers/HiddenInput/HiddenInput.js';
|
|
10
|
-
import { Input as Input$1
|
|
10
|
+
import { Input as Input$1 } from '../../helpers/Input/Input.styles.js';
|
|
11
11
|
import '../../helpers/Input/Input.tokens.js';
|
|
12
12
|
import '../../helpers/Paper/Paper.js';
|
|
13
13
|
import '../../helpers/RequiredMarker/RequiredMarker.js';
|
|
@@ -17,9 +17,13 @@ import '../../utils/color.js';
|
|
|
17
17
|
import { Icon } from '../Icon/Icon.js';
|
|
18
18
|
import '../../icons/utils/StyledSvg.js';
|
|
19
19
|
import { SearchIcon } from '../../icons/tsx/search.js';
|
|
20
|
+
import '../Typography/Typography/Typography.js';
|
|
21
|
+
import { Label } from '../Typography/Label/Label.js';
|
|
22
|
+
import '../Typography/Link/Link.js';
|
|
20
23
|
|
|
21
24
|
var input = searchTokens.input,
|
|
22
|
-
|
|
25
|
+
outerContainer = searchTokens.outerContainer,
|
|
26
|
+
horisontalContainer = searchTokens.horisontalContainer,
|
|
23
27
|
icon = searchTokens.icon;
|
|
24
28
|
|
|
25
29
|
var getIconSize = function getIconSize(size) {
|
|
@@ -49,32 +53,34 @@ var StyledIcon = styled(Icon).withConfig({
|
|
|
49
53
|
var size = _ref2.size;
|
|
50
54
|
return css(["top:", ";"], searchTokens.icon[size].top);
|
|
51
55
|
});
|
|
52
|
-
var
|
|
53
|
-
displayName: "
|
|
56
|
+
var OuterContainer = styled.div.withConfig({
|
|
57
|
+
displayName: "Search__OuterContainer",
|
|
54
58
|
componentId: "sc-1ax3s9s-2"
|
|
55
|
-
})(["display:flex;flex-direction:
|
|
59
|
+
})(["display:flex;flex-direction:column;gap:", ";"], outerContainer.gap);
|
|
60
|
+
var HorisontalContainer = styled.div.withConfig({
|
|
61
|
+
displayName: "Search__HorisontalContainer",
|
|
62
|
+
componentId: "sc-1ax3s9s-3"
|
|
63
|
+
})(["display:grid;grid-template-columns:1fr auto;gap:", ";"], horisontalContainer.gap);
|
|
56
64
|
var InputContainer = styled.div.withConfig({
|
|
57
65
|
displayName: "Search__InputContainer",
|
|
58
|
-
componentId: "sc-1ax3s9s-3"
|
|
59
|
-
})(["position:relative;"]);
|
|
60
|
-
var ButtonWrapper = styled.div.withConfig({
|
|
61
|
-
displayName: "Search__ButtonWrapper",
|
|
62
66
|
componentId: "sc-1ax3s9s-4"
|
|
63
|
-
})([""]);
|
|
67
|
+
})(["position:relative;"]);
|
|
64
68
|
var Search = /*#__PURE__*/forwardRef(function (_a, ref) {
|
|
65
69
|
var _a$componentSize = _a.componentSize,
|
|
66
70
|
componentSize = _a$componentSize === void 0 ? 'medium' : _a$componentSize,
|
|
67
71
|
buttonProps = _a.buttonProps,
|
|
68
72
|
name = _a.name,
|
|
73
|
+
label = _a.label,
|
|
69
74
|
tip = _a.tip,
|
|
70
75
|
id = _a.id,
|
|
71
76
|
className = _a.className,
|
|
72
77
|
style = _a.style,
|
|
73
78
|
ariaDescribedby = _a['aria-describedby'],
|
|
74
|
-
rest = __rest(_a, ["componentSize", "buttonProps", "name", "tip", "id", "className", "style", 'aria-describedby']);
|
|
79
|
+
rest = __rest(_a, ["componentSize", "buttonProps", "name", "label", "tip", "id", "className", "style", 'aria-describedby']);
|
|
75
80
|
|
|
76
81
|
var generatedId = useId();
|
|
77
82
|
var uniqueId = id !== null && id !== void 0 ? id : "".concat(generatedId, "-searchInput");
|
|
83
|
+
var hasLabel = !!label;
|
|
78
84
|
var hasTip = !!tip;
|
|
79
85
|
var tipId = derivativeIdGenerator(uniqueId, 'tip', tip);
|
|
80
86
|
var containerProps = {
|
|
@@ -92,33 +98,35 @@ var Search = /*#__PURE__*/forwardRef(function (_a, ref) {
|
|
|
92
98
|
});
|
|
93
99
|
|
|
94
100
|
var _b = buttonProps || {},
|
|
95
|
-
|
|
101
|
+
buttonLabel = _b.label,
|
|
96
102
|
onClick = _b.onClick,
|
|
97
103
|
otherButtonProps = __rest(_b, ["label", "onClick"]);
|
|
98
104
|
|
|
99
|
-
return jsxs(
|
|
100
|
-
children: [
|
|
101
|
-
|
|
105
|
+
return jsxs(OuterContainer, {
|
|
106
|
+
children: [hasLabel && jsx(Label, Object.assign({
|
|
107
|
+
htmlFor: uniqueId
|
|
102
108
|
}, {
|
|
103
|
-
children:
|
|
104
|
-
|
|
105
|
-
|
|
109
|
+
children: label
|
|
110
|
+
})), jsxs("div", {
|
|
111
|
+
children: [jsxs(HorisontalContainer, Object.assign({}, containerProps, {
|
|
112
|
+
children: [jsxs(InputContainer, {
|
|
113
|
+
children: [jsx(StyledIcon, {
|
|
114
|
+
icon: SearchIcon,
|
|
115
|
+
size: componentSize,
|
|
116
|
+
iconSize: getIconSize(componentSize)
|
|
117
|
+
}), jsx(Input, Object.assign({}, inputProps))]
|
|
118
|
+
}), buttonProps && onClick && jsx(Button, Object.assign({
|
|
106
119
|
size: componentSize,
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
120
|
+
label: buttonLabel || 'Søk',
|
|
121
|
+
onClick: onClick
|
|
122
|
+
}, otherButtonProps))]
|
|
123
|
+
})), hasTip && jsx(InputMessage, {
|
|
110
124
|
id: tipId,
|
|
111
125
|
messageType: "tip",
|
|
112
126
|
message: tip
|
|
113
127
|
})]
|
|
114
|
-
})), buttonProps && onClick && jsx(ButtonWrapper, {
|
|
115
|
-
children: jsx(Button, Object.assign({
|
|
116
|
-
size: componentSize,
|
|
117
|
-
label: label || 'Søk',
|
|
118
|
-
onClick: onClick
|
|
119
|
-
}, otherButtonProps))
|
|
120
128
|
})]
|
|
121
|
-
})
|
|
129
|
+
});
|
|
122
130
|
});
|
|
123
131
|
|
|
124
132
|
export { Search };
|