@norges-domstoler/dds-components 10.0.1 → 10.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/README.md +3 -0
- package/dist/cjs/components/Stack/Stack.d.ts +37 -0
- package/dist/cjs/components/Stack/Stack.stories.d.ts +10 -0
- package/dist/cjs/components/Stack/Stack.tokens.d.ts +20 -0
- package/dist/cjs/components/Stack/index.d.ts +1 -0
- package/dist/cjs/components/Table/Cell.d.ts +5 -0
- package/dist/cjs/components/Table/Row.d.ts +3 -20
- package/dist/cjs/components/Table/Table.d.ts +2 -14
- package/dist/cjs/components/Table/Table.stories.d.ts +4 -4
- package/dist/cjs/components/Table/Table.styles.d.ts +10 -0
- package/dist/cjs/components/Table/Table.tokens.d.ts +5 -0
- package/dist/cjs/components/Table/Table.types.d.ts +37 -0
- package/dist/cjs/components/Table/collapsible/CollapsibleRow.d.ts +6 -0
- package/dist/cjs/components/Table/collapsible/CollapsibleTable.d.ts +9 -0
- package/dist/cjs/components/Table/collapsible/CollapsibleTable.stories.d.ts +48 -0
- package/dist/cjs/components/Table/collapsible/Table.context.d.ts +9 -0
- package/dist/cjs/components/Table/index.d.ts +11 -3
- package/dist/cjs/components/Typography/Paragraph/Paragraph.stories.d.ts +1 -0
- package/dist/cjs/index.d.ts +1 -0
- package/dist/cjs/index.js +692 -410
- package/dist/components/ProgressTracker/ProgressTracker.tokens.js +0 -1
- package/dist/components/Search/Search.js +1 -1
- package/dist/components/Search/SearchAutocompleteWrapper.js +5 -2
- package/dist/components/Stack/Stack.d.ts +37 -0
- package/dist/components/Stack/Stack.js +46 -0
- package/dist/components/Stack/Stack.stories.d.ts +10 -0
- package/dist/components/Stack/Stack.tokens.d.ts +20 -0
- package/dist/components/Stack/Stack.tokens.js +26 -0
- package/dist/components/Stack/index.d.ts +1 -0
- package/dist/components/Table/Cell.d.ts +5 -0
- package/dist/components/Table/Cell.js +13 -4
- package/dist/components/Table/Row.d.ts +3 -20
- package/dist/components/Table/Row.js +1 -25
- package/dist/components/Table/Table.d.ts +2 -14
- package/dist/components/Table/Table.js +1 -1
- package/dist/components/Table/Table.stories.d.ts +4 -4
- package/dist/components/Table/Table.styles.d.ts +10 -0
- package/dist/components/Table/Table.styles.js +28 -0
- package/dist/components/Table/Table.tokens.d.ts +5 -0
- package/dist/components/Table/Table.tokens.js +10 -2
- package/dist/components/Table/Table.types.d.ts +37 -0
- package/dist/components/Table/collapsible/CollapsibleRow.d.ts +6 -0
- package/dist/components/Table/collapsible/CollapsibleRow.js +157 -0
- package/dist/components/Table/collapsible/CollapsibleTable.d.ts +9 -0
- package/dist/components/Table/collapsible/CollapsibleTable.js +42 -0
- package/dist/components/Table/collapsible/CollapsibleTable.stories.d.ts +48 -0
- package/dist/components/Table/collapsible/Table.context.d.ts +9 -0
- package/dist/components/Table/collapsible/Table.context.js +11 -0
- package/dist/components/Table/index.d.ts +11 -3
- package/dist/components/Table/index.js +5 -1
- package/dist/components/Tooltip/Tooltip.js +40 -6
- package/dist/components/Typography/Paragraph/Paragraph.stories.d.ts +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +2 -1
- package/package.json +1 -1
|
@@ -107,7 +107,7 @@ var Search = /*#__PURE__*/forwardRef(function (_a, ref) {
|
|
|
107
107
|
type: 'search',
|
|
108
108
|
id: uniqueId,
|
|
109
109
|
'aria-describedby': spaceSeparatedIdListGenerator([tip ? tipId : undefined, context.suggestions ? suggestionsDescriptionId : undefined, ariaDescribedby]),
|
|
110
|
-
value: context.inputValue !== undefined ? context.inputValue : value
|
|
110
|
+
value: context.inputValue !== undefined ? context.inputValue : value,
|
|
111
111
|
onChange: handleChange,
|
|
112
112
|
autoComplete: 'off'
|
|
113
113
|
});
|
|
@@ -48,7 +48,7 @@ var SearchAutocompleteWrapper = function SearchAutocompleteWrapper(props) {
|
|
|
48
48
|
};
|
|
49
49
|
var handleChange = function handleChange(e) {
|
|
50
50
|
var query = e.target.value;
|
|
51
|
-
|
|
51
|
+
handleSetInputValue(query);
|
|
52
52
|
var finalSuggestions = [];
|
|
53
53
|
if (query.length >= queryLength) {
|
|
54
54
|
if (data) {
|
|
@@ -82,10 +82,13 @@ var SearchAutocompleteWrapper = function SearchAutocompleteWrapper(props) {
|
|
|
82
82
|
};
|
|
83
83
|
var handleSuggestionClick = function handleSuggestionClick(e) {
|
|
84
84
|
setSuggestions([]);
|
|
85
|
-
|
|
85
|
+
handleSetInputValue(e.target.innerText);
|
|
86
86
|
onSuggestionSelection && onSuggestionSelection();
|
|
87
87
|
closeSuggestions();
|
|
88
88
|
};
|
|
89
|
+
var handleSetInputValue = function handleSetInputValue(value) {
|
|
90
|
+
setInputValue(value || '');
|
|
91
|
+
};
|
|
89
92
|
var inputRef = useRef(null);
|
|
90
93
|
var suggestionsRef = useRef(null);
|
|
91
94
|
useOnClickOutside([inputRef.current, suggestionsRef.current], function () {
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { stackTokens } from './Stack.tokens';
|
|
2
|
+
import { BaseComponentPropsWithChildren } from '../../types';
|
|
3
|
+
declare type Align = 'stretch' | 'center' | 'flex-start' | 'flex-end';
|
|
4
|
+
declare type Justify = 'flex-start' | 'flex-end' | 'space-between' | 'space-around';
|
|
5
|
+
export interface StackStyleProps {
|
|
6
|
+
/**
|
|
7
|
+
* Hvilken retning elementene skal plasseres i.
|
|
8
|
+
*/
|
|
9
|
+
direction: 'horizontal' | 'vertical';
|
|
10
|
+
/**
|
|
11
|
+
* CSS `align-items`.
|
|
12
|
+
* @default 'center'
|
|
13
|
+
*/
|
|
14
|
+
align?: Align;
|
|
15
|
+
/**
|
|
16
|
+
* CSS `justify-content`.
|
|
17
|
+
* @default 'flex-start'
|
|
18
|
+
*/
|
|
19
|
+
justify?: Justify;
|
|
20
|
+
/**
|
|
21
|
+
* Hvilken spacing token som skal brukes som CSS `gap`.
|
|
22
|
+
* @default 0
|
|
23
|
+
*/
|
|
24
|
+
gap?: keyof typeof stackTokens.gap | 0;
|
|
25
|
+
}
|
|
26
|
+
export declare type StackProps = BaseComponentPropsWithChildren<HTMLDivElement, Omit<StackStyleProps, 'direction'>>;
|
|
27
|
+
export declare const HStack: import("react").ForwardRefExoticComponent<Pick<import("react").HTMLAttributes<HTMLDivElement>, "className" | "id"> & Omit<StackStyleProps, "direction"> & {
|
|
28
|
+
children?: import("react").ReactNode;
|
|
29
|
+
} & {
|
|
30
|
+
htmlProps?: import("react").HTMLAttributes<HTMLDivElement> | undefined;
|
|
31
|
+
} & import("react").RefAttributes<HTMLDivElement>>;
|
|
32
|
+
export declare const VStack: import("react").ForwardRefExoticComponent<Pick<import("react").HTMLAttributes<HTMLDivElement>, "className" | "id"> & Omit<StackStyleProps, "direction"> & {
|
|
33
|
+
children?: import("react").ReactNode;
|
|
34
|
+
} & {
|
|
35
|
+
htmlProps?: import("react").HTMLAttributes<HTMLDivElement> | undefined;
|
|
36
|
+
} & import("react").RefAttributes<HTMLDivElement>>;
|
|
37
|
+
export {};
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { __rest } from 'tslib';
|
|
2
|
+
import { jsx } from 'react/jsx-runtime';
|
|
3
|
+
import { forwardRef } from 'react';
|
|
4
|
+
import styled from 'styled-components';
|
|
5
|
+
import { stackTokens } from './Stack.tokens.js';
|
|
6
|
+
import { getBaseHTMLProps } from '../../types/BaseComponentProps.js';
|
|
7
|
+
|
|
8
|
+
var Stack = styled.div.withConfig({
|
|
9
|
+
displayName: "Stack",
|
|
10
|
+
componentId: "sc-1a1z9ks-0"
|
|
11
|
+
})(["display:flex;flex-direction:", ";align-items:", ";justify-content:", ";gap:", ";"], function (_ref) {
|
|
12
|
+
var direction = _ref.direction;
|
|
13
|
+
return direction === 'horizontal' ? 'row' : 'column';
|
|
14
|
+
}, function (props) {
|
|
15
|
+
return props.align;
|
|
16
|
+
}, function (props) {
|
|
17
|
+
return props.justify;
|
|
18
|
+
}, function (props) {
|
|
19
|
+
return props.gap === undefined || props.gap === 0 ? '0' : stackTokens.gap[props.gap];
|
|
20
|
+
});
|
|
21
|
+
Stack.defaultProps = {
|
|
22
|
+
align: 'center',
|
|
23
|
+
justify: 'flex-start'
|
|
24
|
+
};
|
|
25
|
+
var HStack = /*#__PURE__*/forwardRef(function (_a, ref) {
|
|
26
|
+
var id = _a.id,
|
|
27
|
+
className = _a.className,
|
|
28
|
+
htmlProps = _a.htmlProps,
|
|
29
|
+
rest = __rest(_a, ["id", "className", "htmlProps"]);
|
|
30
|
+
return jsx(Stack, Object.assign({
|
|
31
|
+
direction: "horizontal",
|
|
32
|
+
ref: ref
|
|
33
|
+
}, getBaseHTMLProps(id, className, htmlProps, rest)));
|
|
34
|
+
});
|
|
35
|
+
var VStack = /*#__PURE__*/forwardRef(function (_a, ref) {
|
|
36
|
+
var id = _a.id,
|
|
37
|
+
className = _a.className,
|
|
38
|
+
htmlProps = _a.htmlProps,
|
|
39
|
+
rest = __rest(_a, ["id", "className", "htmlProps"]);
|
|
40
|
+
return jsx(Stack, Object.assign({
|
|
41
|
+
direction: "vertical",
|
|
42
|
+
ref: ref
|
|
43
|
+
}, getBaseHTMLProps(id, className, htmlProps, rest)));
|
|
44
|
+
});
|
|
45
|
+
|
|
46
|
+
export { HStack, VStack };
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { ComponentMeta } from '@storybook/react';
|
|
2
|
+
import { StackProps } from './Stack';
|
|
3
|
+
declare const _default: ComponentMeta<import("react").ForwardRefExoticComponent<Pick<import("react").HTMLAttributes<HTMLDivElement>, "id" | "className"> & Omit<import("./Stack").StackStyleProps, "direction"> & {
|
|
4
|
+
children?: import("react").ReactNode;
|
|
5
|
+
} & {
|
|
6
|
+
htmlProps?: import("react").HTMLAttributes<HTMLDivElement> | undefined;
|
|
7
|
+
} & import("react").RefAttributes<HTMLDivElement>>>;
|
|
8
|
+
export default _default;
|
|
9
|
+
export declare const VStackOverview: (args: StackProps) => JSX.Element;
|
|
10
|
+
export declare const HStackOverview: (args: StackProps) => JSX.Element;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export declare const stackTokens: {
|
|
2
|
+
gap: {
|
|
3
|
+
'local-x0.125': string;
|
|
4
|
+
'local-x0.25': string;
|
|
5
|
+
'local-x0.5': string;
|
|
6
|
+
'local-x0.75': string;
|
|
7
|
+
'local-x1': string;
|
|
8
|
+
'local-x1.5': string;
|
|
9
|
+
'local-x2': string;
|
|
10
|
+
'local-x2.5': string;
|
|
11
|
+
'local-x3': string;
|
|
12
|
+
'layout-x1': string;
|
|
13
|
+
'layout-x1.5': string;
|
|
14
|
+
'layout-x2': string;
|
|
15
|
+
'layout-x3': string;
|
|
16
|
+
'layout-x4': string;
|
|
17
|
+
'layout-x6': string;
|
|
18
|
+
'layout-x10': string;
|
|
19
|
+
};
|
|
20
|
+
};
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { ddsBaseTokens } from '@norges-domstoler/dds-design-tokens';
|
|
2
|
+
|
|
3
|
+
var spacing = ddsBaseTokens.spacing;
|
|
4
|
+
var gapTokens = {
|
|
5
|
+
'local-x0.125': spacing.SizesDdsSpacingLocalX0125,
|
|
6
|
+
'local-x0.25': spacing.SizesDdsSpacingLocalX025,
|
|
7
|
+
'local-x0.5': spacing.SizesDdsSpacingLocalX05,
|
|
8
|
+
'local-x0.75': spacing.SizesDdsSpacingLocalX075,
|
|
9
|
+
'local-x1': spacing.SizesDdsSpacingLocalX1,
|
|
10
|
+
'local-x1.5': spacing.SizesDdsSpacingLocalX15,
|
|
11
|
+
'local-x2': spacing.SizesDdsSpacingLocalX2,
|
|
12
|
+
'local-x2.5': spacing.SizesDdsSpacingLocalX25,
|
|
13
|
+
'local-x3': spacing.SizesDdsSpacingLocalX3,
|
|
14
|
+
'layout-x1': spacing.SizesDdsSpacingLayoutX1,
|
|
15
|
+
'layout-x1.5': spacing.SizesDdsSpacingLayoutX15,
|
|
16
|
+
'layout-x2': spacing.SizesDdsSpacingLayoutX2,
|
|
17
|
+
'layout-x3': spacing.SizesDdsSpacingLayoutX3,
|
|
18
|
+
'layout-x4': spacing.SizesDdsSpacingLayoutX4,
|
|
19
|
+
'layout-x6': spacing.SizesDdsSpacingLayoutX6,
|
|
20
|
+
'layout-x10': spacing.SizesDdsSpacingLayoutX10
|
|
21
|
+
};
|
|
22
|
+
var stackTokens = {
|
|
23
|
+
gap: gapTokens
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
export { stackTokens };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './Stack';
|
|
@@ -1,10 +1,15 @@
|
|
|
1
1
|
import { ThHTMLAttributes, TdHTMLAttributes } from 'react';
|
|
2
2
|
export declare type TableCellType = 'data' | 'head';
|
|
3
3
|
export declare type TableCellLayout = 'left' | 'right' | 'center' | 'text and icon';
|
|
4
|
+
export declare type CollapsibleProps = {
|
|
5
|
+
isCollapsibleChild?: boolean;
|
|
6
|
+
};
|
|
4
7
|
export declare type TableCellProps = {
|
|
5
8
|
/**Type celle. Returnerer enten `<td>` eller `<th>`. */
|
|
6
9
|
type?: TableCellType;
|
|
7
10
|
/**Layout av innholdet i cellen. 'tekst and icon' legger `gap` mellom barna og andre barnet i cellen. */
|
|
8
11
|
layout?: TableCellLayout;
|
|
12
|
+
/** Props ved bruk av `<CollapsibleRow>`. **OBS!** settes automatisk av forelder. */
|
|
13
|
+
collapsibleProps?: CollapsibleProps;
|
|
9
14
|
} & (TdHTMLAttributes<HTMLTableCellElement> | ThHTMLAttributes<HTMLTableCellElement>);
|
|
10
15
|
export declare const Cell: import("react").ForwardRefExoticComponent<TableCellProps & import("react").RefAttributes<HTMLTableCellElement>>;
|
|
@@ -2,10 +2,14 @@ import { __rest } from 'tslib';
|
|
|
2
2
|
import { jsx } from 'react/jsx-runtime';
|
|
3
3
|
import { forwardRef } from 'react';
|
|
4
4
|
import styled, { css } from 'styled-components';
|
|
5
|
+
import '../DescriptionList/DescriptionList.js';
|
|
6
|
+
import '../DescriptionList/DescriptionListTerm.js';
|
|
7
|
+
import { DescriptionListDesc } from '../DescriptionList/DescriptionListDesc.js';
|
|
8
|
+
import '../DescriptionList/DescriptionListGroup.js';
|
|
5
9
|
import { tableTokens } from './Table.tokens.js';
|
|
6
10
|
|
|
7
11
|
var cell = tableTokens.cell;
|
|
8
|
-
var
|
|
12
|
+
var getLayoutStyle = function getLayoutStyle(layout) {
|
|
9
13
|
switch (layout) {
|
|
10
14
|
case 'center':
|
|
11
15
|
return css(["justify-content:center;"]);
|
|
@@ -30,7 +34,7 @@ var InnerCell = styled.div.withConfig({
|
|
|
30
34
|
componentId: "sc-ghfpfs-1"
|
|
31
35
|
})(["display:flex;align-items:center;", ""], function (_ref2) {
|
|
32
36
|
var layout = _ref2.layout;
|
|
33
|
-
return
|
|
37
|
+
return getLayoutStyle(layout);
|
|
34
38
|
});
|
|
35
39
|
var getTableCellType = function getTableCellType(type) {
|
|
36
40
|
switch (type) {
|
|
@@ -47,8 +51,11 @@ var Cell = /*#__PURE__*/forwardRef(function (_a, ref) {
|
|
|
47
51
|
type = _a$type === void 0 ? 'data' : _a$type,
|
|
48
52
|
_a$layout = _a.layout,
|
|
49
53
|
layout = _a$layout === void 0 ? 'left' : _a$layout,
|
|
50
|
-
|
|
54
|
+
collapsibleProps = _a.collapsibleProps,
|
|
55
|
+
rest = __rest(_a, ["children", "type", "layout", "collapsibleProps"]);
|
|
51
56
|
var as = getTableCellType(type);
|
|
57
|
+
var _ref3 = collapsibleProps || {},
|
|
58
|
+
isCollapsibleChild = _ref3.isCollapsibleChild;
|
|
52
59
|
var cellProps = Object.assign({
|
|
53
60
|
as: as,
|
|
54
61
|
type: type
|
|
@@ -56,7 +63,9 @@ var Cell = /*#__PURE__*/forwardRef(function (_a, ref) {
|
|
|
56
63
|
var innerCellProps = {
|
|
57
64
|
layout: layout
|
|
58
65
|
};
|
|
59
|
-
return jsx(
|
|
66
|
+
return isCollapsibleChild ? jsx(DescriptionListDesc, {
|
|
67
|
+
children: children
|
|
68
|
+
}) : jsx(StyledCell, Object.assign({
|
|
60
69
|
ref: ref
|
|
61
70
|
}, cellProps, {
|
|
62
71
|
children: jsx(InnerCell, Object.assign({}, innerCellProps, {
|
|
@@ -1,23 +1,6 @@
|
|
|
1
|
-
import { HTMLAttributes } from 'react';
|
|
2
|
-
export declare type TableRowType = 'body' | 'head';
|
|
3
|
-
export declare type RowMode = 'normal' | 'sum';
|
|
4
|
-
export declare type TableRowProps = {
|
|
5
|
-
/**Spesifiserer om raden skal brukes i `<head>` eller `<body>`-seksjonen. */
|
|
6
|
-
type?: TableRowType;
|
|
7
|
-
/**Custom modus for rader som har ytterligere semantisk betydning (f.eks. summeringsrad), definerer kun styling. Ved bruk av sum må `<Cell>` med tall i høyrestilles vha layout prop. */
|
|
8
|
-
mode?: RowMode;
|
|
9
|
-
/**Spesifiserer om raden har blitt valgt/markert. */
|
|
10
|
-
selected?: boolean;
|
|
11
|
-
/**Spesifiserer om raden skal ha hover styling. Brukes hovedsakelig på klikkbare rader. */
|
|
12
|
-
hoverable?: boolean;
|
|
13
|
-
} & HTMLAttributes<HTMLTableRowElement>;
|
|
14
1
|
export declare const Row: import("react").ForwardRefExoticComponent<{
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
/**Custom modus for rader som har ytterligere semantisk betydning (f.eks. summeringsrad), definerer kun styling. Ved bruk av sum må `<Cell>` med tall i høyrestilles vha layout prop. */
|
|
18
|
-
mode?: RowMode | undefined;
|
|
19
|
-
/**Spesifiserer om raden har blitt valgt/markert. */
|
|
2
|
+
type?: import("./Table.types").TableRowType | undefined;
|
|
3
|
+
mode?: import("./Table.types").RowMode | undefined;
|
|
20
4
|
selected?: boolean | undefined;
|
|
21
|
-
/**Spesifiserer om raden skal ha hover styling. Brukes hovedsakelig på klikkbare rader. */
|
|
22
5
|
hoverable?: boolean | undefined;
|
|
23
|
-
} & HTMLAttributes<HTMLTableRowElement> & import("react").RefAttributes<HTMLTableRowElement>>;
|
|
6
|
+
} & import("react").HTMLAttributes<HTMLTableRowElement> & import("react").RefAttributes<HTMLTableRowElement>>;
|
|
@@ -1,32 +1,8 @@
|
|
|
1
1
|
import { __rest } from 'tslib';
|
|
2
2
|
import { jsx } from 'react/jsx-runtime';
|
|
3
3
|
import { forwardRef } from 'react';
|
|
4
|
-
import
|
|
5
|
-
import { focusVisibleInset } from '../../helpers/styling/focusVisible.js';
|
|
6
|
-
import '../../helpers/styling/hover.js';
|
|
7
|
-
import '../../helpers/styling/focus.js';
|
|
8
|
-
import '../../helpers/styling/danger.js';
|
|
9
|
-
import '../../helpers/styling/selection.js';
|
|
10
|
-
import { getFontStyling, defaultTypographyType } from '../Typography/Typography.utils.js';
|
|
11
|
-
import { tableTokens } from './Table.tokens.js';
|
|
4
|
+
import { StyledRow } from './Table.styles.js';
|
|
12
5
|
|
|
13
|
-
var row = tableTokens.row;
|
|
14
|
-
var bodyStyles = function bodyStyles(mode, selected) {
|
|
15
|
-
return css(["", " ", ""], mode === 'sum' && css(["font-weight:600;border-top:", ";border-bottom:", ";background-color:", ";"], row.body.mode.sum.borderTop, row.body.mode.sum.borderBottom, row.body.mode.sum.backgroundColor), selected && css(["background-color:", ";"], row.body.selected.backgroundColor));
|
|
16
|
-
};
|
|
17
|
-
var StyledRow = styled.tr.withConfig({
|
|
18
|
-
displayName: "Row__StyledRow",
|
|
19
|
-
componentId: "sc-15vvjkk-0"
|
|
20
|
-
})(["@media (prefers-reduced-motion:no-preference){transition:background-color 0.2s,border-color 0.2s,box-shadow 0.2s;}", " ", " ", ""], getFontStyling(defaultTypographyType, true), function (_ref) {
|
|
21
|
-
var type = _ref.type;
|
|
22
|
-
return type === 'head' && css(["font-weight:600;text-align:left;"]);
|
|
23
|
-
}, function (_ref2) {
|
|
24
|
-
var type = _ref2.type,
|
|
25
|
-
mode = _ref2.mode,
|
|
26
|
-
selected = _ref2.selected,
|
|
27
|
-
hoverable = _ref2.hoverable;
|
|
28
|
-
return type === 'body' && css(["&:nth-of-type(even){background-color:", ";", "}&:nth-of-type(odd){background-color:", ";", "}", " &:focus-visible,&.focus-visible{", "}"], row.body.even.backgroundColor, bodyStyles(mode, selected), row.body.odd.backgroundColor, bodyStyles(mode, selected), hoverable && css(["&:hover{background-color:", ";}"], row.body.hover.backgroundColor), focusVisibleInset);
|
|
29
|
-
});
|
|
30
6
|
var Row = /*#__PURE__*/forwardRef(function (_a, ref) {
|
|
31
7
|
var _a$type = _a.type,
|
|
32
8
|
type = _a$type === void 0 ? 'body' : _a$type,
|
|
@@ -1,18 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export declare type TableDensity = 'normal' | 'compact';
|
|
3
|
-
export declare type TableProps = {
|
|
4
|
-
/**Spesifiserer hvor romslige cellene i tabellen skal være. */
|
|
5
|
-
density?: TableDensity;
|
|
6
|
-
/**Spesifiserer om cellene i `<Head>` skal bli sticky ved scrolling. */
|
|
7
|
-
stickyHeader?: boolean;
|
|
8
|
-
/**Legger skillelinjer mellom radene. */
|
|
9
|
-
withDividers?: boolean;
|
|
10
|
-
} & HTMLAttributes<HTMLTableElement>;
|
|
1
|
+
import { TableDensity } from './Table.types';
|
|
11
2
|
export declare const Table: import("react").ForwardRefExoticComponent<{
|
|
12
|
-
/**Spesifiserer hvor romslige cellene i tabellen skal være. */
|
|
13
3
|
density?: TableDensity | undefined;
|
|
14
|
-
/**Spesifiserer om cellene i `<Head>` skal bli sticky ved scrolling. */
|
|
15
4
|
stickyHeader?: boolean | undefined;
|
|
16
|
-
/**Legger skillelinjer mellom radene. */
|
|
17
5
|
withDividers?: boolean | undefined;
|
|
18
|
-
} & HTMLAttributes<HTMLTableElement> & import("react").RefAttributes<HTMLTableElement>>;
|
|
6
|
+
} & import("react").HTMLAttributes<HTMLTableElement> & import("react").RefAttributes<HTMLTableElement>>;
|
|
@@ -22,7 +22,7 @@ var StyledTable = styled.table.withConfig({
|
|
|
22
22
|
return css(["td,th{padding:", ";}"], cell.density[density].padding);
|
|
23
23
|
}, function (_ref2) {
|
|
24
24
|
var stickyHeader = _ref2.stickyHeader;
|
|
25
|
-
return stickyHeader && css(["tr[type='head']{th[type='head']{position:sticky;top:0;}}"]);
|
|
25
|
+
return stickyHeader && css(["tr[type='head']{th[type='head']{position:sticky;top:0;z-index:50;}}"]);
|
|
26
26
|
}, function (_ref3) {
|
|
27
27
|
var withDividers = _ref3.withDividers;
|
|
28
28
|
return withDividers && css(["tr[type='body']{border-bottom:", ";}"], row.body.withDividers.borderBottom);
|
|
@@ -2,7 +2,7 @@ import { TableProps, SortOrder } from '.';
|
|
|
2
2
|
declare const _default: {
|
|
3
3
|
title: string;
|
|
4
4
|
component: import("react").ForwardRefExoticComponent<{
|
|
5
|
-
density?: import("./Table").TableDensity | undefined;
|
|
5
|
+
density?: import("./Table.types").TableDensity | undefined;
|
|
6
6
|
stickyHeader?: boolean | undefined;
|
|
7
7
|
withDividers?: boolean | undefined;
|
|
8
8
|
} & import("react").HTMLAttributes<HTMLTableElement> & import("react").RefAttributes<HTMLTableElement>> & {
|
|
@@ -11,8 +11,8 @@ declare const _default: {
|
|
|
11
11
|
Body: import("react").ForwardRefExoticComponent<import("./Body").TableBodyProps & import("react").RefAttributes<HTMLTableSectionElement>>;
|
|
12
12
|
Foot: import("react").ForwardRefExoticComponent<import("./Foot").TableFootProps & import("react").RefAttributes<HTMLTableSectionElement>>;
|
|
13
13
|
Row: import("react").ForwardRefExoticComponent<{
|
|
14
|
-
type?: import("./
|
|
15
|
-
mode?: import("./
|
|
14
|
+
type?: import("./Table.types").TableRowType | undefined;
|
|
15
|
+
mode?: import("./Table.types").RowMode | undefined;
|
|
16
16
|
selected?: boolean | undefined;
|
|
17
17
|
hoverable?: boolean | undefined;
|
|
18
18
|
} & import("react").HTMLAttributes<HTMLTableRowElement> & import("react").RefAttributes<HTMLTableRowElement>>;
|
|
@@ -38,7 +38,7 @@ declare const _default: {
|
|
|
38
38
|
};
|
|
39
39
|
export default _default;
|
|
40
40
|
export declare const Default: (args: TableProps) => JSX.Element;
|
|
41
|
-
export declare const
|
|
41
|
+
export declare const WithDividers: (args: TableProps) => JSX.Element;
|
|
42
42
|
export declare const Focusable: (args: TableProps) => JSX.Element;
|
|
43
43
|
export declare const Compact: (args: TableProps) => JSX.Element;
|
|
44
44
|
export declare const StickyHeader: (args: TableProps) => JSX.Element;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { RowMode, TableRowType } from './Table.types';
|
|
2
|
+
export declare const bodyRowStyles: (mode?: RowMode, selected?: boolean) => import("styled-components").FlattenSimpleInterpolation;
|
|
3
|
+
declare type StyledProps = {
|
|
4
|
+
type: TableRowType;
|
|
5
|
+
mode?: RowMode;
|
|
6
|
+
selected?: boolean;
|
|
7
|
+
hoverable?: boolean;
|
|
8
|
+
};
|
|
9
|
+
export declare const StyledRow: import("styled-components").StyledComponent<"tr", any, StyledProps, never>;
|
|
10
|
+
export {};
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import styled, { css } from 'styled-components';
|
|
2
|
+
import { tableTokens } from './Table.tokens.js';
|
|
3
|
+
import { focusVisibleInset } from '../../helpers/styling/focusVisible.js';
|
|
4
|
+
import '../../helpers/styling/hover.js';
|
|
5
|
+
import '../../helpers/styling/focus.js';
|
|
6
|
+
import '../../helpers/styling/danger.js';
|
|
7
|
+
import '../../helpers/styling/selection.js';
|
|
8
|
+
import { getFontStyling, defaultTypographyType } from '../Typography/Typography.utils.js';
|
|
9
|
+
|
|
10
|
+
var row = tableTokens.row;
|
|
11
|
+
var bodyRowStyles = function bodyRowStyles(mode, selected) {
|
|
12
|
+
return css(["", " ", ""], mode === 'sum' && css(["font-weight:600;border-top:", ";border-bottom:", ";background-color:", ";"], row.body.mode.sum.borderTop, row.body.mode.sum.borderBottom, row.body.mode.sum.backgroundColor), selected && css(["background-color:", ";"], row.body.selected.backgroundColor));
|
|
13
|
+
};
|
|
14
|
+
var StyledRow = styled.tr.withConfig({
|
|
15
|
+
displayName: "Tablestyles__StyledRow",
|
|
16
|
+
componentId: "sc-1b057ci-0"
|
|
17
|
+
})(["@media (prefers-reduced-motion:no-preference){transition:background-color 0.2s,border-color 0.2s,box-shadow 0.2s;}", " ", " ", ""], getFontStyling(defaultTypographyType, true), function (_ref) {
|
|
18
|
+
var type = _ref.type;
|
|
19
|
+
return type === 'head' && css(["font-weight:600;text-align:left;"]);
|
|
20
|
+
}, function (_ref2) {
|
|
21
|
+
var type = _ref2.type,
|
|
22
|
+
mode = _ref2.mode,
|
|
23
|
+
selected = _ref2.selected,
|
|
24
|
+
hoverable = _ref2.hoverable;
|
|
25
|
+
return type === 'body' && css(["&:nth-of-type(even){background-color:", ";", "}&:nth-of-type(odd){background-color:", ";", "}", " &:focus-visible,&.focus-visible{", "}"], row.body.even.backgroundColor, bodyRowStyles(mode, selected), row.body.odd.backgroundColor, bodyRowStyles(mode, selected), hoverable && css(["&:hover{background-color:", ";}"], row.body.hover.backgroundColor), focusVisibleInset);
|
|
26
|
+
});
|
|
27
|
+
|
|
28
|
+
export { StyledRow, bodyRowStyles };
|
|
@@ -2,7 +2,9 @@ import { ddsBaseTokens } from '@norges-domstoler/dds-design-tokens';
|
|
|
2
2
|
|
|
3
3
|
var colors = ddsBaseTokens.colors,
|
|
4
4
|
border = ddsBaseTokens.border,
|
|
5
|
-
spacing = ddsBaseTokens.spacing
|
|
5
|
+
spacing = ddsBaseTokens.spacing,
|
|
6
|
+
iconSizes = ddsBaseTokens.iconSizes,
|
|
7
|
+
borderRadius = ddsBaseTokens.borderRadius;
|
|
6
8
|
var row = {
|
|
7
9
|
body: {
|
|
8
10
|
odd: {
|
|
@@ -54,9 +56,15 @@ var cell = {
|
|
|
54
56
|
}
|
|
55
57
|
}
|
|
56
58
|
};
|
|
59
|
+
var collapseButton = {
|
|
60
|
+
height: iconSizes.DdsIconsizeMedium,
|
|
61
|
+
width: iconSizes.DdsIconsizeMedium,
|
|
62
|
+
borderRadius: borderRadius.RadiiDdsBorderRadius1Radius
|
|
63
|
+
};
|
|
57
64
|
var tableTokens = {
|
|
58
65
|
row: row,
|
|
59
|
-
cell: cell
|
|
66
|
+
cell: cell,
|
|
67
|
+
collapseButton: collapseButton
|
|
60
68
|
};
|
|
61
69
|
|
|
62
70
|
export { tableTokens };
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { HTMLAttributes, ReactNode } from 'react';
|
|
2
|
+
export declare type TableDensity = 'normal' | 'compact';
|
|
3
|
+
export declare type TableProps = {
|
|
4
|
+
/**Spesifiserer hvor romslige cellene i tabellen skal være. */
|
|
5
|
+
density?: TableDensity;
|
|
6
|
+
/**Spesifiserer om cellene i `<Head>` skal bli sticky ved scrolling. */
|
|
7
|
+
stickyHeader?: boolean;
|
|
8
|
+
/**Legger skillelinjer mellom radene. */
|
|
9
|
+
withDividers?: boolean;
|
|
10
|
+
} & HTMLAttributes<HTMLTableElement>;
|
|
11
|
+
export declare type HeaderValues = {
|
|
12
|
+
key: string;
|
|
13
|
+
content: ReactNode;
|
|
14
|
+
}[];
|
|
15
|
+
export declare type CollapsibleTableProps = {
|
|
16
|
+
/**Om tabellen skal kollapse. */
|
|
17
|
+
isCollapsed?: boolean;
|
|
18
|
+
/**Innhold i headere (`content`) og deres `key`. `headerValues.content` må være den samme som faktisk innhold i `<Table.Cell type='head'>`. */
|
|
19
|
+
headerValues: HeaderValues;
|
|
20
|
+
/**
|
|
21
|
+
* Indeksen(e) til kolonnen(e) som skal synes når tabellen er kollapset. Rekkefølgen i array avgjør rekkefølgen i render.
|
|
22
|
+
* @default [0]
|
|
23
|
+
* */
|
|
24
|
+
definingColumnIndex?: number[];
|
|
25
|
+
} & TableProps;
|
|
26
|
+
export declare type TableRowType = 'body' | 'head';
|
|
27
|
+
export declare type RowMode = 'normal' | 'sum';
|
|
28
|
+
export declare type TableRowProps = {
|
|
29
|
+
/**Spesifiserer om raden skal brukes i `<head>` eller `<body>`-seksjonen. */
|
|
30
|
+
type?: TableRowType;
|
|
31
|
+
/**Custom modus for rader som har ytterligere semantisk betydning (f.eks. summeringsrad), definerer kun styling. Ved bruk av sum må `<Cell>` med tall i høyrestilles vha layout prop. */
|
|
32
|
+
mode?: RowMode;
|
|
33
|
+
/**Spesifiserer om raden har blitt valgt/markert. */
|
|
34
|
+
selected?: boolean;
|
|
35
|
+
/**Spesifiserer om raden skal ha hover styling. Brukes hovedsakelig på klikkbare rader. */
|
|
36
|
+
hoverable?: boolean;
|
|
37
|
+
} & HTMLAttributes<HTMLTableRowElement>;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export declare const CollapsibleRow: import("react").ForwardRefExoticComponent<{
|
|
2
|
+
type?: import("../Table.types").TableRowType | undefined;
|
|
3
|
+
mode?: import("../Table.types").RowMode | undefined;
|
|
4
|
+
selected?: boolean | undefined;
|
|
5
|
+
hoverable?: boolean | undefined;
|
|
6
|
+
} & import("react").HTMLAttributes<HTMLTableRowElement> & import("react").RefAttributes<HTMLTableRowElement>>;
|