@norges-domstoler/dds-components 10.0.2 → 10.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (65) hide show
  1. package/README.md +3 -0
  2. package/dist/_virtual/_rollupPluginBabelHelpers.js +292 -1
  3. package/dist/cjs/components/Stack/Stack.d.ts +37 -0
  4. package/dist/cjs/components/Stack/Stack.stories.d.ts +10 -0
  5. package/dist/cjs/components/Stack/Stack.tokens.d.ts +20 -0
  6. package/dist/cjs/components/Stack/index.d.ts +1 -0
  7. package/dist/cjs/components/Table/Cell.d.ts +5 -0
  8. package/dist/cjs/components/Table/Row.d.ts +3 -20
  9. package/dist/cjs/components/Table/Table.d.ts +2 -14
  10. package/dist/cjs/components/Table/Table.stories.d.ts +4 -4
  11. package/dist/cjs/components/Table/Table.styles.d.ts +10 -0
  12. package/dist/cjs/components/Table/Table.tokens.d.ts +5 -0
  13. package/dist/cjs/components/Table/Table.types.d.ts +37 -0
  14. package/dist/cjs/components/Table/collapsible/CollapsibleRow.d.ts +6 -0
  15. package/dist/cjs/components/Table/collapsible/CollapsibleTable.d.ts +9 -0
  16. package/dist/cjs/components/Table/collapsible/CollapsibleTable.stories.d.ts +48 -0
  17. package/dist/cjs/components/Table/collapsible/Table.context.d.ts +9 -0
  18. package/dist/cjs/components/Table/index.d.ts +11 -3
  19. package/dist/cjs/index.d.ts +3 -0
  20. package/dist/cjs/index.js +2077 -792
  21. package/dist/components/DescriptionList/DescriptionList.js +1 -1
  22. package/dist/components/FileUploader/ErrorList.js +28 -0
  23. package/dist/components/FileUploader/File.js +69 -0
  24. package/dist/components/FileUploader/FileUploader.js +153 -0
  25. package/dist/components/FileUploader/FileUploader.tokens.js +31 -0
  26. package/dist/components/FileUploader/fileUploaderReducer.js +35 -0
  27. package/dist/components/FileUploader/useFileUploader.js +202 -0
  28. package/dist/components/FileUploader/utils.js +32 -0
  29. package/dist/components/FormGenerator/FormGenerator.js +239 -0
  30. package/dist/components/FormGenerator/FormGenerator.styles.js +39 -0
  31. package/dist/components/FormGenerator/FormGenerator.tokens.js +21 -0
  32. package/dist/components/ProgressTracker/ProgressTracker.tokens.js +0 -1
  33. package/dist/components/Search/SearchSuggestions.js +1 -1
  34. package/dist/components/SkipToContent/SkipToContent.js +1 -1
  35. package/dist/components/Stack/Stack.d.ts +37 -0
  36. package/dist/components/Stack/Stack.js +46 -0
  37. package/dist/components/Stack/Stack.stories.d.ts +10 -0
  38. package/dist/components/Stack/Stack.tokens.d.ts +20 -0
  39. package/dist/components/Stack/Stack.tokens.js +26 -0
  40. package/dist/components/Stack/index.d.ts +1 -0
  41. package/dist/components/Table/Cell.d.ts +5 -0
  42. package/dist/components/Table/Cell.js +13 -4
  43. package/dist/components/Table/Row.d.ts +3 -20
  44. package/dist/components/Table/Row.js +1 -25
  45. package/dist/components/Table/Table.d.ts +2 -14
  46. package/dist/components/Table/Table.js +1 -1
  47. package/dist/components/Table/Table.stories.d.ts +4 -4
  48. package/dist/components/Table/Table.styles.d.ts +10 -0
  49. package/dist/components/Table/Table.styles.js +28 -0
  50. package/dist/components/Table/Table.tokens.d.ts +5 -0
  51. package/dist/components/Table/Table.tokens.js +10 -2
  52. package/dist/components/Table/Table.types.d.ts +37 -0
  53. package/dist/components/Table/collapsible/CollapsibleRow.d.ts +6 -0
  54. package/dist/components/Table/collapsible/CollapsibleRow.js +157 -0
  55. package/dist/components/Table/collapsible/CollapsibleTable.d.ts +9 -0
  56. package/dist/components/Table/collapsible/CollapsibleTable.js +42 -0
  57. package/dist/components/Table/collapsible/CollapsibleTable.stories.d.ts +48 -0
  58. package/dist/components/Table/collapsible/Table.context.d.ts +9 -0
  59. package/dist/components/Table/collapsible/Table.context.js +11 -0
  60. package/dist/components/Table/index.d.ts +11 -3
  61. package/dist/components/Table/index.js +5 -1
  62. package/dist/components/Tooltip/Tooltip.styles.js +1 -1
  63. package/dist/index.d.ts +3 -0
  64. package/dist/index.js +4 -1
  65. package/package.json +2 -2
@@ -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("./Row").TableRowType | undefined;
15
- mode?: import("./Row").RowMode | undefined;
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 withDividers: (args: TableProps) => JSX.Element;
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 };
@@ -50,4 +50,9 @@ export declare const tableTokens: {
50
50
  };
51
51
  };
52
52
  };
53
+ collapseButton: {
54
+ height: string;
55
+ width: string;
56
+ borderRadius: string;
57
+ };
53
58
  };
@@ -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>>;
@@ -0,0 +1,157 @@
1
+ import { slicedToArray as _slicedToArray } from '../../../_virtual/_rollupPluginBabelHelpers.js';
2
+ import { __rest } from 'tslib';
3
+ import { jsxs, jsx, Fragment as Fragment$1 } from 'react/jsx-runtime';
4
+ import { forwardRef, useState, useEffect, Children, Fragment, isValidElement, cloneElement } from 'react';
5
+ import styled from 'styled-components';
6
+ import { Table } from '../index.js';
7
+ import { removeButtonStyling } from '../../../helpers/styling/removeButtonStyling.js';
8
+ import { focusVisibleTransitionValue, focusVisible } from '../../../helpers/styling/focusVisible.js';
9
+ import '../../../helpers/styling/hover.js';
10
+ import '../../../helpers/styling/focus.js';
11
+ import '../../../helpers/styling/danger.js';
12
+ import '../../../helpers/styling/selection.js';
13
+ import { derivativeIdGenerator, spaceSeparatedIdListGenerator } from '../../../utils/idGenerator.js';
14
+ import '../../../utils/color.js';
15
+ import { DescriptionList } from '../../DescriptionList/DescriptionList.js';
16
+ import { DescriptionListTerm } from '../../DescriptionList/DescriptionListTerm.js';
17
+ import '../../DescriptionList/DescriptionListDesc.js';
18
+ import '../../DescriptionList/DescriptionListGroup.js';
19
+ import { VisuallyHidden } from '../../VisuallyHidden/VisuallyHidden.js';
20
+ import { Cell } from '../Cell.js';
21
+ import { useCollapsibleTableContext } from './Table.context.js';
22
+ import '../../../helpers/Backdrop/Backdrop.js';
23
+ import { AnimatedChevronUpDown } from '../../../helpers/Chevron/AnimatedChevronUpDown.js';
24
+ import '../../../helpers/HiddenInput/HiddenInput.js';
25
+ import '../../../helpers/Input/Input.styles.js';
26
+ import '../../../helpers/Input/Input.tokens.js';
27
+ import '../../InputMessage/InputMessage.js';
28
+ import '../../../helpers/Paper/Paper.js';
29
+ import '../../../helpers/RequiredMarker/RequiredMarker.js';
30
+ import { StyledRow } from '../Table.styles.js';
31
+ import { tableTokens } from '../Table.tokens.js';
32
+
33
+ var collapseButton = tableTokens.collapseButton;
34
+ var CollapseButton = styled.button.withConfig({
35
+ displayName: "CollapsibleRow__CollapseButton",
36
+ componentId: "sc-1bsqre3-0"
37
+ })(["", " margin-left:auto;margin-right:auto;display:flex;align-items:center;justify-content:center;transition:", ";border-radius:", ";height:", ";width:", ";&:focus-visible{", "}"], removeButtonStyling, focusVisibleTransitionValue, collapseButton.borderRadius, collapseButton.height, collapseButton.width, focusVisible);
38
+ var DescriptionListCell = styled(Cell).withConfig({
39
+ displayName: "CollapsibleRow__DescriptionListCell",
40
+ componentId: "sc-1bsqre3-1"
41
+ })(["& > div{display:block;}"]);
42
+ var CollapsibleRow = /*#__PURE__*/forwardRef(function (_a, ref) {
43
+ var _a$type = _a.type,
44
+ type = _a$type === void 0 ? 'body' : _a$type,
45
+ _a$mode = _a.mode,
46
+ mode = _a$mode === void 0 ? 'normal' : _a$mode,
47
+ children = _a.children,
48
+ rest = __rest(_a, ["type", "mode", "children"]);
49
+ var rowProps = Object.assign({
50
+ type: type,
51
+ mode: mode
52
+ }, rest);
53
+ var _useCollapsibleTableC = useCollapsibleTableContext(),
54
+ isCollapsed = _useCollapsibleTableC.isCollapsed,
55
+ headerValues = _useCollapsibleTableC.headerValues,
56
+ definingColumnIndex = _useCollapsibleTableC.definingColumnIndex;
57
+ var _useState = useState(true),
58
+ _useState2 = _slicedToArray(_useState, 2),
59
+ childrenCollapsed = _useState2[0],
60
+ setChildrenCollapsed = _useState2[1];
61
+ useEffect(function () {
62
+ !isCollapsed && setChildrenCollapsed(true);
63
+ }, [isCollapsed]);
64
+ var collapsedHeaderValues = headerValues.filter(function (column, index) {
65
+ return definingColumnIndex.indexOf(index) === -1;
66
+ });
67
+ var childrenArray = Children.toArray(children);
68
+ var collapsedChildren = childrenArray.filter(function (column, index) {
69
+ return definingColumnIndex.indexOf(index) === -1;
70
+ });
71
+ var prefix = 'collapsibleRow';
72
+ var collapsibleIds = [];
73
+ var collapsedRenderedChildren = isCollapsed && collapsedHeaderValues.length > 0 ? collapsedChildren.map(function (child, index) {
74
+ var id = derivativeIdGenerator(prefix, index.toString());
75
+ collapsibleIds.push(id);
76
+ return jsxs(Fragment, {
77
+ children: [jsx(DescriptionListTerm, {
78
+ children: collapsedHeaderValues[index].content
79
+ }), /*#__PURE__*/isValidElement(child) && /*#__PURE__*/cloneElement(child, {
80
+ collapsibleProps: {
81
+ isCollapsibleChild: true
82
+ }
83
+ })]
84
+ }, "DL-".concat(index));
85
+ }) : null;
86
+ var collapsedRows = collapsedRenderedChildren && collapsedRenderedChildren.length > 0 ? jsx(StyledRow, Object.assign({
87
+ type: "body"
88
+ }, {
89
+ children: jsx(DescriptionListCell, Object.assign({
90
+ colSpan: definingColumnIndex.length + 1
91
+ }, {
92
+ children: jsx(DescriptionList, {
93
+ children: collapsedRenderedChildren
94
+ })
95
+ }))
96
+ })) : null;
97
+ var definingColumnCells = childrenArray.slice().filter(function (column, index) {
98
+ return definingColumnIndex.indexOf(index) > -1;
99
+ }).sort(function (a, b) {
100
+ return definingColumnIndex.indexOf(childrenArray.indexOf(a)) - definingColumnIndex.indexOf(childrenArray.indexOf(b));
101
+ });
102
+ var headerRow = function headerRow() {
103
+ if (type !== 'head' || !isCollapsed) return null;
104
+ return jsx(StyledRow, Object.assign({
105
+ ref: ref
106
+ }, rowProps, {
107
+ children: jsxs(Fragment$1, {
108
+ children: [definingColumnCells, jsxs(Table.Cell, Object.assign({
109
+ type: "head",
110
+ layout: "center"
111
+ }, {
112
+ children: ["Utvid", jsx(VisuallyHidden, Object.assign({
113
+ as: "span"
114
+ }, {
115
+ children: "raden"
116
+ }))]
117
+ }))]
118
+ })
119
+ }));
120
+ };
121
+ var idList = spaceSeparatedIdListGenerator(collapsibleIds);
122
+ var rowWithChevron = function rowWithChevron() {
123
+ if (type !== 'body' || !isCollapsed) return null;
124
+ return jsxs(StyledRow, Object.assign({
125
+ ref: ref
126
+ }, rowProps, {
127
+ "data-isopencollapsibleheader": !childrenCollapsed && true
128
+ }, {
129
+ children: [definingColumnCells, jsx(Table.Cell, {
130
+ children: jsx(CollapseButton, Object.assign({
131
+ onClick: function onClick() {
132
+ return setChildrenCollapsed(!childrenCollapsed);
133
+ },
134
+ "aria-expanded": !childrenCollapsed,
135
+ "aria-controls": idList
136
+ }, {
137
+ children: jsx(AnimatedChevronUpDown, {
138
+ isUp: childrenCollapsed ? false : true,
139
+ height: "7.5px",
140
+ width: "12px"
141
+ })
142
+ }))
143
+ })]
144
+ }));
145
+ };
146
+ return isCollapsed && collapsedRenderedChildren && collapsedRenderedChildren.length > 0 ? jsxs(Fragment$1, {
147
+ children: [headerRow(), type === 'body' && jsxs(Fragment$1, {
148
+ children: [rowWithChevron(), childrenCollapsed ? null : collapsedRows]
149
+ })]
150
+ }) : jsx(StyledRow, Object.assign({
151
+ ref: ref
152
+ }, rowProps, {
153
+ children: children
154
+ }));
155
+ });
156
+
157
+ export { CollapsibleRow };
@@ -0,0 +1,9 @@
1
+ export declare const CollapsibleTable: import("react").ForwardRefExoticComponent<{
2
+ isCollapsed?: boolean | undefined;
3
+ headerValues: import("../Table.types").HeaderValues;
4
+ definingColumnIndex?: number[] | undefined;
5
+ } & {
6
+ density?: import("../Table.types").TableDensity | undefined;
7
+ stickyHeader?: boolean | undefined;
8
+ withDividers?: boolean | undefined;
9
+ } & import("react").HTMLAttributes<HTMLTableElement> & import("react").RefAttributes<HTMLTableElement>>;
@@ -0,0 +1,42 @@
1
+ import { __rest } from 'tslib';
2
+ import { jsx } from 'react/jsx-runtime';
3
+ import { forwardRef } from 'react';
4
+ import styled, { css } from 'styled-components';
5
+ import { Table } from '../Table.js';
6
+ import { CollapsibleTableContext } from './Table.context.js';
7
+
8
+ var StyledTable = styled(Table).withConfig({
9
+ displayName: "CollapsibleTable__StyledTable",
10
+ componentId: "sc-1slp1a9-0"
11
+ })(["width:100%;", ""], function (_ref) {
12
+ var withDividers = _ref.withDividers;
13
+ return withDividers && css(["tr[data-isopencollapsibleheader='true']{border-bottom:none;}"]);
14
+ });
15
+ var CollapsibleTable = /*#__PURE__*/forwardRef(function (props, ref) {
16
+ var _props$density = props.density,
17
+ density = _props$density === void 0 ? 'normal' : _props$density,
18
+ children = props.children,
19
+ isCollapsed = props.isCollapsed,
20
+ headerValues = props.headerValues,
21
+ _props$definingColumn = props.definingColumnIndex,
22
+ definingColumnIndex = _props$definingColumn === void 0 ? [0] : _props$definingColumn,
23
+ rest = __rest(props, ["density", "children", "isCollapsed", "headerValues", "definingColumnIndex"]);
24
+ var tableProps = Object.assign({
25
+ ref: ref,
26
+ density: density,
27
+ isCollapsed: isCollapsed
28
+ }, rest);
29
+ return jsx(CollapsibleTableContext.Provider, Object.assign({
30
+ value: {
31
+ isCollapsed: isCollapsed,
32
+ headerValues: headerValues,
33
+ definingColumnIndex: definingColumnIndex
34
+ }
35
+ }, {
36
+ children: jsx(StyledTable, Object.assign({}, tableProps, {
37
+ children: children
38
+ }))
39
+ }));
40
+ });
41
+
42
+ export { CollapsibleTable };
@@ -0,0 +1,48 @@
1
+ import { CollapsibleTableProps } from '..';
2
+ declare const _default: {
3
+ title: string;
4
+ component: import("react").ForwardRefExoticComponent<{
5
+ isCollapsed?: boolean | undefined;
6
+ headerValues: import("../Table.types").HeaderValues;
7
+ definingColumnIndex?: number[] | undefined;
8
+ } & {
9
+ density?: import("..").TableDensity | undefined;
10
+ stickyHeader?: boolean | undefined;
11
+ withDividers?: boolean | undefined;
12
+ } & import("react").HTMLAttributes<HTMLTableElement> & import("react").RefAttributes<HTMLTableElement>> & {
13
+ Row: import("react").ForwardRefExoticComponent<{
14
+ type?: import("..").TableRowType | undefined;
15
+ mode?: import("../Table.types").RowMode | undefined;
16
+ selected?: boolean | undefined;
17
+ hoverable?: boolean | undefined;
18
+ } & import("react").HTMLAttributes<HTMLTableRowElement> & import("react").RefAttributes<HTMLTableRowElement>>;
19
+ };
20
+ argTypes: {
21
+ isCollapsed: {
22
+ control: {
23
+ type: string;
24
+ };
25
+ };
26
+ stickyHeader: {
27
+ control: {
28
+ type: string;
29
+ };
30
+ };
31
+ };
32
+ parameters: {
33
+ controls: {
34
+ exclude: string[];
35
+ };
36
+ };
37
+ };
38
+ export default _default;
39
+ export declare const SingleDefiningColumn: (args: CollapsibleTableProps) => JSX.Element;
40
+ export declare const MultipleDefiningColumns: (args: CollapsibleTableProps) => JSX.Element;
41
+ export declare const PrioritizedDefiningColumns: (args: CollapsibleTableProps) => JSX.Element;
42
+ export declare const withDividers: (args: CollapsibleTableProps) => JSX.Element;
43
+ export declare const Compact: (args: CollapsibleTableProps) => JSX.Element;
44
+ export declare const StickyHeader: (args: CollapsibleTableProps) => JSX.Element;
45
+ export declare const WithButtonAndIcons: (args: CollapsibleTableProps) => JSX.Element;
46
+ export declare const Responsive: (args: CollapsibleTableProps) => JSX.Element;
47
+ export declare const ResposiveMultipleBreakpoints: (args: CollapsibleTableProps) => JSX.Element;
48
+ export declare const Example: () => JSX.Element;
@@ -0,0 +1,9 @@
1
+ import { HeaderValues } from '../Table.types';
2
+ declare type CollapsibleTableContextProps = {
3
+ isCollapsed?: boolean;
4
+ headerValues: HeaderValues;
5
+ definingColumnIndex: number[];
6
+ };
7
+ export declare const CollapsibleTableContext: import("react").Context<CollapsibleTableContextProps>;
8
+ export declare const useCollapsibleTableContext: () => CollapsibleTableContextProps;
9
+ export {};
@@ -0,0 +1,11 @@
1
+ import { useContext, createContext } from 'react';
2
+
3
+ var CollapsibleTableContext = /*#__PURE__*/createContext({
4
+ headerValues: [],
5
+ definingColumnIndex: [0]
6
+ });
7
+ var useCollapsibleTableContext = function useCollapsibleTableContext() {
8
+ return useContext(CollapsibleTableContext);
9
+ };
10
+
11
+ export { CollapsibleTableContext, useCollapsibleTableContext };
@@ -1,8 +1,11 @@
1
- import { Table as BaseTable, TableProps, TableDensity } from './Table';
1
+ import { Table as BaseTable } from './Table';
2
+ import { CollapsibleTable as BaseCollapsibleTable } from './collapsible/CollapsibleTable';
3
+ import { TableProps, TableDensity, CollapsibleTableProps, TableRowProps, TableRowType } from './Table.types';
2
4
  import { Head, TableHeadProps } from './Head';
3
5
  import { Body, TableBodyProps } from './Body';
4
6
  import { Foot, TableFootProps } from './Foot';
5
- import { Row, TableRowProps, TableRowType } from './Row';
7
+ import { Row } from './Row';
8
+ import { CollapsibleRow } from './collapsible/CollapsibleRow';
6
9
  import { Cell, TableCellProps, TableCellLayout, TableCellType } from './Cell';
7
10
  import { SortCell, TableSortCellProps, SortOrder } from './SortCell';
8
11
  import { TableWrapper } from './TableWrapper';
@@ -16,5 +19,10 @@ declare type TableCompoundProps = typeof BaseTable & {
16
19
  SortCell: typeof SortCell;
17
20
  };
18
21
  declare const Table: TableCompoundProps;
22
+ declare type CollapsibleTableCompoundProps = typeof BaseCollapsibleTable & {
23
+ Row: typeof CollapsibleRow;
24
+ };
25
+ declare const CollapsibleTable: CollapsibleTableCompoundProps;
19
26
  export { Table };
20
- export type { TableCellProps, TableDensity, TableProps, TableRowProps, TableRowType, TableHeadProps, TableBodyProps, TableFootProps, TableSortCellProps, SortOrder, TableCellLayout, TableCellType, };
27
+ export { CollapsibleTable };
28
+ export type { TableCellProps, TableDensity, TableProps, TableRowProps, TableRowType, TableHeadProps, TableBodyProps, TableFootProps, TableSortCellProps, SortOrder, TableCellLayout, TableCellType, CollapsibleTableProps, };
@@ -1,8 +1,10 @@
1
1
  import { Table as Table$1 } from './Table.js';
2
+ import { CollapsibleTable as CollapsibleTable$1 } from './collapsible/CollapsibleTable.js';
2
3
  import { Head } from './Head.js';
3
4
  import { Body } from './Body.js';
4
5
  import { Foot } from './Foot.js';
5
6
  import { Row } from './Row.js';
7
+ import { CollapsibleRow } from './collapsible/CollapsibleRow.js';
6
8
  import { Cell } from './Cell.js';
7
9
  import { SortCell } from './SortCell.js';
8
10
  import { TableWrapper } from './TableWrapper.js';
@@ -15,5 +17,7 @@ Table.Cell = Cell;
15
17
  Table.SortCell = SortCell;
16
18
  Table.Row = Row;
17
19
  Table.Foot = Foot;
20
+ var CollapsibleTable = CollapsibleTable$1;
21
+ CollapsibleTable.Row = CollapsibleRow;
18
22
 
19
- export { Table };
23
+ export { CollapsibleTable, Table };
@@ -33,7 +33,7 @@ var Container = styled.div.withConfig({
33
33
  var TooltipWrapper = styled(Paper).withConfig({
34
34
  displayName: "Tooltipstyles__TooltipWrapper",
35
35
  componentId: "sc-1cna5tc-3"
36
- })(["", " width:fit-content;position:absolute;z-index:100;text-align:center;padding:", ";", ";"], function (_ref) {
36
+ })(["", " width:fit-content;position:absolute;z-index:80;text-align:center;padding:", ";", ";"], function (_ref) {
37
37
  var open = _ref.open;
38
38
  return visibilityTransition(open);
39
39
  }, wrapper.padding, getFontStyling(defaultTypographyType));
package/dist/index.d.ts CHANGED
@@ -42,3 +42,6 @@ export * from './hooks';
42
42
  export * from './components/InlineEdit';
43
43
  export * from './components/TextArea';
44
44
  export * from './components/SplitButton';
45
+ export * from './components/Stack';
46
+ export * from './components/FormGenerator';
47
+ export * from './components/FileUploader';
package/dist/index.js CHANGED
@@ -16,7 +16,7 @@ export { Heading } from './components/Typography/Heading/Heading.js';
16
16
  export { Link } from './components/Typography/Link/Link.js';
17
17
  export { Legend } from './components/Typography/Legend/Legend.js';
18
18
  export { Caption } from './components/Typography/Caption/Caption.js';
19
- export { Table } from './components/Table/index.js';
19
+ export { CollapsibleTable, Table } from './components/Table/index.js';
20
20
  export { Breadcrumb } from './components/Breadcrumbs/Breadcrumb.js';
21
21
  export { Breadcrumbs } from './components/Breadcrumbs/Breadcrumbs.js';
22
22
  export { Icon } from './components/Icon/Icon.js';
@@ -213,3 +213,6 @@ export { InlineEditTextArea } from './components/InlineEdit/InlineEditTextArea.j
213
213
  export { InlineEditInput } from './components/InlineEdit/InlineEditInput.js';
214
214
  export { StyledTextArea, TextArea } from './components/TextArea/TextArea.js';
215
215
  export { SplitButton } from './components/SplitButton/SplitButton.js';
216
+ export { HStack, VStack } from './components/Stack/Stack.js';
217
+ export { FormGenerator } from './components/FormGenerator/FormGenerator.js';
218
+ export { FileUploader } from './components/FileUploader/FileUploader.js';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@norges-domstoler/dds-components",
3
- "version": "10.0.2",
3
+ "version": "10.1.1",
4
4
  "description": "React components used in Elsa - domstolenes designsystem",
5
5
  "author": "Elsa team",
6
6
  "license": "MIT",
@@ -90,7 +90,7 @@
90
90
  "typescript": "^4.8.3"
91
91
  },
92
92
  "peerDependencies": {
93
- "@norges-domstoler/dds-design-tokens": "^3.0.0",
93
+ "@norges-domstoler/dds-design-tokens": "^3.0.1",
94
94
  "react": "^16 || ^17 || ^18",
95
95
  "react-dom": "^16 || ^17 || ^18",
96
96
  "styled-components": "^5"