@navikt/ds-react 6.3.6 → 6.4.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/cjs/copybutton/CopyButton.d.ts +1 -0
- package/cjs/copybutton/CopyButton.js.map +1 -1
- package/cjs/form/checkbox/CheckboxGroup.d.ts +6 -6
- package/cjs/form/checkbox/CheckboxGroup.js +4 -4
- package/cjs/form/checkbox/types.d.ts +3 -3
- package/cjs/form/file-upload/FileUpload.d.ts +2 -2
- package/cjs/form/file-upload/parts/item/Item.d.ts +10 -17
- package/cjs/form/file-upload/parts/item/Item.js +4 -2
- package/cjs/form/file-upload/parts/item/Item.js.map +1 -1
- package/cjs/form/file-upload/parts/item/ItemButton.d.ts +5 -8
- package/cjs/form/file-upload/parts/item/ItemButton.js +3 -11
- package/cjs/form/file-upload/parts/item/ItemButton.js.map +1 -1
- package/cjs/form/radio/RadioGroup.d.ts +1 -1
- package/cjs/form/radio/types.d.ts +2 -2
- package/cjs/form/useFormField.d.ts +2 -3
- package/cjs/form/useFormField.js.map +1 -1
- package/esm/copybutton/CopyButton.d.ts +1 -0
- package/esm/copybutton/CopyButton.js.map +1 -1
- package/esm/form/checkbox/CheckboxGroup.d.ts +6 -6
- package/esm/form/checkbox/CheckboxGroup.js +4 -4
- package/esm/form/checkbox/types.d.ts +3 -3
- package/esm/form/file-upload/FileUpload.d.ts +2 -2
- package/esm/form/file-upload/parts/item/Item.d.ts +10 -17
- package/esm/form/file-upload/parts/item/Item.js +4 -2
- package/esm/form/file-upload/parts/item/Item.js.map +1 -1
- package/esm/form/file-upload/parts/item/ItemButton.d.ts +5 -8
- package/esm/form/file-upload/parts/item/ItemButton.js +3 -11
- package/esm/form/file-upload/parts/item/ItemButton.js.map +1 -1
- package/esm/form/radio/RadioGroup.d.ts +1 -1
- package/esm/form/radio/types.d.ts +2 -2
- package/esm/form/useFormField.d.ts +2 -3
- package/esm/form/useFormField.js.map +1 -1
- package/package.json +3 -3
- package/src/copybutton/CopyButton.tsx +1 -0
- package/src/form/checkbox/CheckboxGroup.tsx +6 -6
- package/src/form/checkbox/types.ts +3 -3
- package/src/form/file-upload/FileUpload.tsx +2 -2
- package/src/form/file-upload/file-upload-item.stories.tsx +28 -16
- package/src/form/file-upload/file-upload.stories.tsx +17 -5
- package/src/form/file-upload/parts/item/Item.tsx +20 -38
- package/src/form/file-upload/parts/item/ItemButton.tsx +16 -41
- package/src/form/radio/RadioGroup.tsx +1 -1
- package/src/form/radio/types.ts +2 -2
- package/src/form/useFormField.ts +2 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CopyButton.js","sourceRoot":"","sources":["../../src/copybutton/CopyButton.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAAsB;AACtB,+CAMe;AACf,qDAA+D;AAC/D,8CAAsC;AACtC,uEAAoE;AACpE,wDAAgC;
|
|
1
|
+
{"version":3,"file":"CopyButton.js","sourceRoot":"","sources":["../../src/copybutton/CopyButton.tsx"],"names":[],"mappings":"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"}
|
|
@@ -6,7 +6,7 @@ export interface CheckboxGroupState {
|
|
|
6
6
|
toggleValue(value: any): void;
|
|
7
7
|
}
|
|
8
8
|
export declare const CheckboxGroupContext: React.Context<CheckboxGroupState | null>;
|
|
9
|
-
export interface CheckboxGroupProps extends Omit<FieldsetProps, "onChange" | "errorPropagation" | "defaultValue"> {
|
|
9
|
+
export interface CheckboxGroupProps extends Omit<FieldsetProps, "onChange" | "errorPropagation" | "defaultValue" | "nativeReadOnly"> {
|
|
10
10
|
/**
|
|
11
11
|
* Collection of `<Checkbox/>`.
|
|
12
12
|
*/
|
|
@@ -16,7 +16,7 @@ export interface CheckboxGroupProps extends Omit<FieldsetProps, "onChange" | "er
|
|
|
16
16
|
*/
|
|
17
17
|
value?: any[];
|
|
18
18
|
/**
|
|
19
|
-
* Default checked checkboxes
|
|
19
|
+
* Default checked checkboxes.
|
|
20
20
|
*/
|
|
21
21
|
defaultValue?: any[];
|
|
22
22
|
/**
|
|
@@ -32,10 +32,10 @@ export interface CheckboxGroupProps extends Omit<FieldsetProps, "onChange" | "er
|
|
|
32
32
|
*
|
|
33
33
|
* @example
|
|
34
34
|
* ```jsx
|
|
35
|
-
* <CheckboxGroup legend="
|
|
36
|
-
* <Checkbox value="
|
|
37
|
-
* <Checkbox value="
|
|
38
|
-
* <Checkbox value="
|
|
35
|
+
* <CheckboxGroup legend="Transportmiddel">
|
|
36
|
+
* <Checkbox value="car">Bil</Checkbox>
|
|
37
|
+
* <Checkbox value="taxi">Drosje</Checkbox>
|
|
38
|
+
* <Checkbox value="public">Kollektivt</Checkbox>
|
|
39
39
|
* </CheckboxGroup>
|
|
40
40
|
* ```
|
|
41
41
|
*/
|
|
@@ -51,10 +51,10 @@ exports.CheckboxGroupContext = (0, react_1.createContext)(null);
|
|
|
51
51
|
*
|
|
52
52
|
* @example
|
|
53
53
|
* ```jsx
|
|
54
|
-
* <CheckboxGroup legend="
|
|
55
|
-
* <Checkbox value="
|
|
56
|
-
* <Checkbox value="
|
|
57
|
-
* <Checkbox value="
|
|
54
|
+
* <CheckboxGroup legend="Transportmiddel">
|
|
55
|
+
* <Checkbox value="car">Bil</Checkbox>
|
|
56
|
+
* <Checkbox value="taxi">Drosje</Checkbox>
|
|
57
|
+
* <Checkbox value="public">Kollektivt</Checkbox>
|
|
58
58
|
* </CheckboxGroup>
|
|
59
59
|
* ```
|
|
60
60
|
*/
|
|
@@ -11,7 +11,7 @@ export interface CheckboxProps extends FormFieldProps, Omit<InputHTMLAttributes<
|
|
|
11
11
|
*/
|
|
12
12
|
errorId?: string;
|
|
13
13
|
/**
|
|
14
|
-
* Checkbox label
|
|
14
|
+
* Checkbox label.
|
|
15
15
|
*/
|
|
16
16
|
children: React.ReactNode;
|
|
17
17
|
/**
|
|
@@ -19,7 +19,7 @@ export interface CheckboxProps extends FormFieldProps, Omit<InputHTMLAttributes<
|
|
|
19
19
|
*/
|
|
20
20
|
hideLabel?: boolean;
|
|
21
21
|
/**
|
|
22
|
-
*
|
|
22
|
+
* Checkbox value.
|
|
23
23
|
*/
|
|
24
24
|
value?: any;
|
|
25
25
|
/**
|
|
@@ -28,7 +28,7 @@ export interface CheckboxProps extends FormFieldProps, Omit<InputHTMLAttributes<
|
|
|
28
28
|
*/
|
|
29
29
|
indeterminate?: boolean;
|
|
30
30
|
/**
|
|
31
|
-
* Adds a description to extend labeling
|
|
31
|
+
* Adds a description to extend the labeling.
|
|
32
32
|
*/
|
|
33
33
|
description?: string;
|
|
34
34
|
}
|
|
@@ -81,8 +81,8 @@ interface FileUploadComponent extends React.ForwardRefExoticComponent<FileUpload
|
|
|
81
81
|
* ```jsx
|
|
82
82
|
* <FileUpload.Item file={file} status="uploading" />
|
|
83
83
|
* <FileUpload.Item file={file} status="downloading" />
|
|
84
|
-
* <FileUpload.Item file={file}
|
|
85
|
-
* <FileUpload.Item file={file}
|
|
84
|
+
* <FileUpload.Item file={file} button={{ action:"retry", onClick:... }} />
|
|
85
|
+
* <FileUpload.Item file={file} button={{ action:"delete", onClick:... }} />
|
|
86
86
|
* ```
|
|
87
87
|
*/
|
|
88
88
|
Item: typeof Item;
|
|
@@ -2,12 +2,12 @@ import React, { MouseEvent } from "react";
|
|
|
2
2
|
import { OverridableComponent } from "../../../../util";
|
|
3
3
|
import { ComponentTranslation } from "../../i18n/i18n.types";
|
|
4
4
|
import { FileItem } from "./Item.types";
|
|
5
|
-
export interface
|
|
5
|
+
export interface FileUploadItemProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
6
6
|
/**
|
|
7
7
|
* Overrides html-tag
|
|
8
8
|
* @default "div"
|
|
9
9
|
*/
|
|
10
|
-
as?: "div" | "li";
|
|
10
|
+
as?: ("div" | "li") & React.ElementType;
|
|
11
11
|
/**
|
|
12
12
|
* Either a native File or file metadata.
|
|
13
13
|
*/
|
|
@@ -33,25 +33,18 @@ export interface FileItemBaseProps {
|
|
|
33
33
|
* @default "idle"
|
|
34
34
|
*/
|
|
35
35
|
status?: "downloading" | "uploading" | "idle";
|
|
36
|
+
/**
|
|
37
|
+
* Props for the action button.
|
|
38
|
+
*/
|
|
39
|
+
button?: {
|
|
40
|
+
action: "delete" | "retry";
|
|
41
|
+
onClick: (event: MouseEvent<HTMLButtonElement>) => void;
|
|
42
|
+
id?: string;
|
|
43
|
+
};
|
|
36
44
|
/**
|
|
37
45
|
* i18n-API for customizing texts and labels
|
|
38
46
|
*/
|
|
39
47
|
translations?: ComponentTranslation<"FileUpload">["item"];
|
|
40
|
-
onRetry?: (event: MouseEvent<HTMLButtonElement>) => void;
|
|
41
|
-
onDelete?: (event: MouseEvent<HTMLButtonElement>) => void;
|
|
42
48
|
}
|
|
43
|
-
type FileItemActionDelete = {
|
|
44
|
-
onDelete: (event: MouseEvent<HTMLButtonElement>) => void;
|
|
45
|
-
itemAction: "delete";
|
|
46
|
-
};
|
|
47
|
-
type FileItemActionRetry = {
|
|
48
|
-
onRetry: (event: MouseEvent<HTMLButtonElement>) => void;
|
|
49
|
-
itemAction: "retry";
|
|
50
|
-
};
|
|
51
|
-
type FileItemActionNone = {
|
|
52
|
-
itemAction?: "none";
|
|
53
|
-
};
|
|
54
|
-
type FileItemConditionalProps = FileItemActionDelete | FileItemActionRetry | FileItemActionNone;
|
|
55
|
-
export type FileUploadItemProps = FileItemBaseProps & FileItemConditionalProps & React.HTMLAttributes<HTMLDivElement>;
|
|
56
49
|
export declare const Item: OverridableComponent<FileUploadItemProps, HTMLDivElement>;
|
|
57
50
|
export default Item;
|
|
@@ -49,7 +49,7 @@ const ItemIcon_1 = __importDefault(require("./ItemIcon"));
|
|
|
49
49
|
const ItemName_1 = __importDefault(require("./ItemName"));
|
|
50
50
|
const format_file_size_1 = require("./utils/format-file-size");
|
|
51
51
|
exports.Item = (0, react_1.forwardRef)((_a, ref) => {
|
|
52
|
-
var { as: Component = "div", file, status = "idle",
|
|
52
|
+
var { as: Component = "div", file, status = "idle", error, className, href, onFileClick, button, translations } = _a, rest = __rest(_a, ["as", "file", "status", "error", "className", "href", "onFileClick", "button", "translations"]);
|
|
53
53
|
const context = (0, FileUpload_context_1.useFileUploadTranslation)(false);
|
|
54
54
|
const translate = (0, i18n_context_1.useI18n)("FileUpload", { item: translations }, context === null || context === void 0 ? void 0 : context.translations);
|
|
55
55
|
const showError = !!error && status === "idle";
|
|
@@ -73,7 +73,9 @@ exports.Item = (0, react_1.forwardRef)((_a, ref) => {
|
|
|
73
73
|
react_1.default.createElement("div", { className: "navds-file-item__error", "aria-relevant": "additions removals", "aria-live": "polite" }, showError && (react_1.default.createElement(typography_1.BodyShort, { size: "small", className: "navds-file-item__error-content" },
|
|
74
74
|
react_1.default.createElement(aksel_icons_1.ExclamationmarkTriangleIcon, { "aria-hidden": true }),
|
|
75
75
|
error)))),
|
|
76
|
-
status === "idle" && (react_1.default.createElement(ItemButton_1.default, {
|
|
76
|
+
status === "idle" && button && (react_1.default.createElement(ItemButton_1.default, Object.assign({}, button, { title: translate(button.action === "retry"
|
|
77
|
+
? "item.retryButtonTitle"
|
|
78
|
+
: "item.deleteButtonTitle") }))))));
|
|
77
79
|
});
|
|
78
80
|
exports.default = exports.Item;
|
|
79
81
|
//# sourceMappingURL=Item.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Item.js","sourceRoot":"","sources":["../../../../../src/form/file-upload/parts/item/Item.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAAsB;AACtB,+CAAsD;AACtD,qDAAkE;AAClE,uDAAmD;AAEnD,iEAAoE;AACpE,0DAAkD;AAGlD,8DAAsC;AACtC,0DAAkC;AAClC,0DAAkC;AAClC,+DAA0D;
|
|
1
|
+
{"version":3,"file":"Item.js","sourceRoot":"","sources":["../../../../../src/form/file-upload/parts/item/Item.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAAsB;AACtB,+CAAsD;AACtD,qDAAkE;AAClE,uDAAmD;AAEnD,iEAAoE;AACpE,0DAAkD;AAGlD,8DAAsC;AACtC,0DAAkC;AAClC,0DAAkC;AAClC,+DAA0D;AAgD7C,QAAA,IAAI,GACf,IAAA,kBAAU,EACR,CACE,EAWsB,EACtB,GAAG,EACH,EAAE;QAbF,EACE,EAAE,EAAE,SAAS,GAAG,KAAK,EACrB,IAAI,EACJ,MAAM,GAAG,MAAM,EACf,KAAK,EACL,SAAS,EACT,IAAI,EACJ,WAAW,EACX,MAAM,EACN,YAAY,OAEQ,EADjB,IAAI,cAVT,+FAWC,CADQ;IAIT,MAAM,OAAO,GAAG,IAAA,6CAAwB,EAAC,KAAK,CAAC,CAAC;IAChD,MAAM,SAAS,GAAG,IAAA,sBAAO,EACvB,YAAY,EACZ,EAAE,IAAI,EAAE,YAAY,EAAE,EACtB,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,YAAY,CACtB,CAAC;IAEF,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,IAAI,MAAM,KAAK,MAAM,CAAC;IAE/C,SAAS,aAAa;QACpB,IAAI,MAAM,KAAK,WAAW,EAAE,CAAC;YAC3B,OAAO,SAAS,CAAC,gBAAgB,CAAC,CAAC;QACrC,CAAC;QACD,IAAI,MAAM,KAAK,aAAa,EAAE,CAAC;YAC7B,OAAO,SAAS,CAAC,kBAAkB,CAAC,CAAC;QACvC,CAAC;QACD,OAAO,IAAA,iCAAc,EAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IAED,OAAO,CACL,8BAAC,SAAS,kBACR,GAAG,EAAE,GAAG,IACJ,IAAI,IACR,SAAS,EAAE,IAAA,cAAE,EAAC,iBAAiB,EAAE,SAAS,EAAE;YAC1C,wBAAwB,EAAE,SAAS;SACpC,CAAC;QAEF,uCAAK,SAAS,EAAC,wBAAwB;YACrC,8BAAC,kBAAQ,IACP,SAAS,EAAE,MAAM,KAAK,MAAM,EAC5B,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,SAAS,GACpB;YACF,uCAAK,SAAS,EAAC,4BAA4B;gBACzC,8BAAC,kBAAQ,IAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,GAAI;gBAC1D,8BAAC,sBAAS,IAAC,EAAE,EAAC,KAAK,EAAC,IAAI,EAAC,OAAO,IAC7B,aAAa,EAAE,CACN;gBACZ,uCACE,SAAS,EAAC,wBAAwB,mBACpB,oBAAoB,eACxB,QAAQ,IAEjB,SAAS,IAAI,CACZ,8BAAC,sBAAS,IACR,IAAI,EAAC,OAAO,EACZ,SAAS,EAAC,gCAAgC;oBAE1C,8BAAC,yCAA2B,0BAAe;oBAC1C,KAAK,CACI,CACb,CACG,CACF;YAEL,MAAM,KAAK,MAAM,IAAI,MAAM,IAAI,CAC9B,8BAAC,oBAAU,oBACL,MAAM,IACV,KAAK,EAAE,SAAS,CACd,MAAM,CAAC,MAAM,KAAK,OAAO;oBACvB,CAAC,CAAC,uBAAuB;oBACzB,CAAC,CAAC,wBAAwB,CAC7B,IACD,CACH,CACG,CACI,CACb,CAAC;AACJ,CAAC,CACF,CAAC;AAEJ,kBAAe,YAAI,CAAC"}
|
|
@@ -1,12 +1,9 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
import { FileItem } from "./Item.types";
|
|
3
2
|
interface Props {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
retryTitle: string;
|
|
9
|
-
deleteTitle: string;
|
|
3
|
+
action: "delete" | "retry";
|
|
4
|
+
onClick: (event: React.MouseEvent<HTMLButtonElement>) => void;
|
|
5
|
+
id?: string;
|
|
6
|
+
title: string;
|
|
10
7
|
}
|
|
11
|
-
declare const ItemButton: ({
|
|
8
|
+
declare const ItemButton: ({ action, onClick, id, title }: Props) => React.JSX.Element;
|
|
12
9
|
export default ItemButton;
|
|
@@ -6,17 +6,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
const react_1 = __importDefault(require("react"));
|
|
7
7
|
const aksel_icons_1 = require("@navikt/aksel-icons");
|
|
8
8
|
const button_1 = require("../../../../button");
|
|
9
|
-
const ItemButton = ({
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
}
|
|
13
|
-
if (onRetry && action === "retry") {
|
|
14
|
-
return (react_1.default.createElement(button_1.Button, { className: "navds-file-item__button", type: "button", variant: "tertiary-neutral", onClick: onRetry, icon: react_1.default.createElement(aksel_icons_1.ArrowsCirclepathIcon, { title: retryTitle }) }));
|
|
15
|
-
}
|
|
16
|
-
if (onDelete && action === "delete") {
|
|
17
|
-
return (react_1.default.createElement(button_1.Button, { className: "navds-file-item__button", type: "button", variant: "tertiary-neutral", onClick: onDelete, icon: react_1.default.createElement(aksel_icons_1.TrashIcon, { title: deleteTitle }) }));
|
|
18
|
-
}
|
|
19
|
-
return null;
|
|
9
|
+
const ItemButton = ({ action, onClick, id, title }) => {
|
|
10
|
+
const Icon = action === "delete" ? aksel_icons_1.TrashIcon : aksel_icons_1.ArrowsCirclepathIcon;
|
|
11
|
+
return (react_1.default.createElement(button_1.Button, { id: id, className: "navds-file-item__button", type: "button", variant: "tertiary-neutral", onClick: onClick, icon: react_1.default.createElement(Icon, { title: title }) }));
|
|
20
12
|
};
|
|
21
13
|
exports.default = ItemButton;
|
|
22
14
|
//# sourceMappingURL=ItemButton.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ItemButton.js","sourceRoot":"","sources":["../../../../../src/form/file-upload/parts/item/ItemButton.tsx"],"names":[],"mappings":";;;;;AAAA,kDAA0B;AAC1B,qDAAsE;AACtE,+CAA4C;
|
|
1
|
+
{"version":3,"file":"ItemButton.js","sourceRoot":"","sources":["../../../../../src/form/file-upload/parts/item/ItemButton.tsx"],"names":[],"mappings":";;;;;AAAA,kDAA0B;AAC1B,qDAAsE;AACtE,+CAA4C;AAS5C,MAAM,UAAU,GAAG,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAS,EAAE,EAAE;IAC3D,MAAM,IAAI,GAAG,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,uBAAS,CAAC,CAAC,CAAC,kCAAoB,CAAC;IAEpE,OAAO,CACL,8BAAC,eAAM,IACL,EAAE,EAAE,EAAE,EACN,SAAS,EAAC,yBAAyB,EACnC,IAAI,EAAC,QAAQ,EACb,OAAO,EAAC,kBAAkB,EAC1B,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,8BAAC,IAAI,IAAC,KAAK,EAAE,KAAK,GAAI,GAC5B,CACH,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,UAAU,CAAC"}
|
|
@@ -8,7 +8,7 @@ export interface RadioGroupContextProps {
|
|
|
8
8
|
required?: boolean;
|
|
9
9
|
}
|
|
10
10
|
export declare const RadioGroupContext: React.Context<RadioGroupContextProps | null>;
|
|
11
|
-
export interface RadioGroupProps extends Omit<FieldsetProps, "onChange" | "errorPropagation" | "defaultValue"> {
|
|
11
|
+
export interface RadioGroupProps extends Omit<FieldsetProps, "onChange" | "errorPropagation" | "defaultValue" | "nativeReadOnly"> {
|
|
12
12
|
/**
|
|
13
13
|
* Collection of `<Radio />`-elements
|
|
14
14
|
*/
|
|
@@ -6,11 +6,11 @@ export interface RadioProps extends Omit<FormFieldProps, "error" | "errorId" | "
|
|
|
6
6
|
*/
|
|
7
7
|
children: React.ReactNode;
|
|
8
8
|
/**
|
|
9
|
-
*
|
|
9
|
+
* Radio value.
|
|
10
10
|
*/
|
|
11
11
|
value: any;
|
|
12
12
|
/**
|
|
13
|
-
* Adds a description to extend labeling
|
|
13
|
+
* Adds a description to extend the labeling.
|
|
14
14
|
*/
|
|
15
15
|
description?: string;
|
|
16
16
|
}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
export interface FormFieldProps {
|
|
3
3
|
/**
|
|
4
|
-
*
|
|
5
|
-
* Error message for element.
|
|
4
|
+
* Error message.
|
|
6
5
|
*/
|
|
7
6
|
error?: React.ReactNode;
|
|
8
7
|
/**
|
|
@@ -20,7 +19,7 @@ export interface FormFieldProps {
|
|
|
20
19
|
*/
|
|
21
20
|
disabled?: boolean;
|
|
22
21
|
/**
|
|
23
|
-
* Adds a description to extend labeling
|
|
22
|
+
* Adds a description to extend the labeling.
|
|
24
23
|
*/
|
|
25
24
|
description?: React.ReactNode;
|
|
26
25
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useFormField.js","sourceRoot":"","sources":["../../src/form/useFormField.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAsB;AACtB,iCAA0C;AAC1C,yCAAsC;AACtC,gDAAqD;
|
|
1
|
+
{"version":3,"file":"useFormField.js","sourceRoot":"","sources":["../../src/form/useFormField.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAsB;AACtB,iCAA0C;AAC1C,yCAAsC;AACtC,gDAAqD;AAkDrD;;GAEG;AACI,MAAM,YAAY,GAAG,CAC1B,KAAqB,EACrB,MAAc,EACC,EAAE;;IACjB,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,KAAK,CAAC;IAEpD,MAAM,QAAQ,GAAG,IAAA,kBAAU,EAAC,yBAAe,CAAC,CAAC;IAE7C,MAAM,KAAK,GAAG,IAAA,aAAK,GAAE,CAAC;IAEtB,MAAM,EAAE,GAAG,MAAA,KAAK,CAAC,EAAE,mCAAI,GAAG,MAAM,IAAI,KAAK,EAAE,CAAC;IAC5C,MAAM,OAAO,GAAG,WAAW,aAAX,WAAW,cAAX,WAAW,GAAI,GAAG,MAAM,UAAU,KAAK,EAAE,CAAC;IAC1D,MAAM,kBAAkB,GAAG,GAAG,MAAM,gBAAgB,KAAK,EAAE,CAAC;IAE5D,MAAM,QAAQ,GAAG,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,QAAQ,KAAI,KAAK,CAAC,QAAQ,CAAC;IACtD,MAAM,QAAQ,GACZ,CAAC,CAAC,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,QAAQ,KAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,SAAS,CAAC;IAErE,MAAM,QAAQ,GACZ,CAAC,QAAQ,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,KAAK,KAAI,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,KAAK,CAAA,CAAC,CAAC;IACzD,MAAM,YAAY,GAChB,CAAC,QAAQ,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,SAAS,CAAC;IAElE,MAAM,WAAW,qBAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAE,CAAC;IAEtE,IAAI,CAAC,KAAa,aAAb,KAAK,uBAAL,KAAK,CAAU,QAAQ,KAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE,CAAC;QACtE,OAAO,CAAC,IAAI,CACV,yFAAyF,CAC1F,CAAC;QACF,OAAO,CAAC,IAAI,CACV,gGAAgG,CACjG,CAAC;IACJ,CAAC;IAED,OAAO;QACL,YAAY;QACZ,QAAQ;QACR,OAAO;QACP,kBAAkB;QAClB,IAAI,EAAE,MAAA,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,mCAAI,QAAQ;QACxC,QAAQ;QACR,UAAU,gCACR,EAAE,IACC,WAAW,KACd,kBAAkB,EAChB,IAAA,cAAE,EAAC,KAAK,CAAC,kBAAkB,CAAC,EAAE;gBAC5B,CAAC,kBAAkB,CAAC,EAClB,CAAC,CAAC,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,WAAW,CAAA,IAAI,OAAO,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,WAAW,CAAA,KAAK,QAAQ;gBAChE,CAAC,OAAO,CAAC,EAAE,YAAY;gBACvB,CAAC,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,OAAO,mCAAI,EAAE,CAAC,EAAE,QAAQ,IAAI,CAAC,CAAC,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,KAAK,CAAA;aACzD,CAAC,IAAI,SAAS,EAEjB,QAAQ,GACT;KACF,CAAC;AACJ,CAAC,CAAC;AAvDW,QAAA,YAAY,gBAuDvB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CopyButton.js","sourceRoot":"","sources":["../../src/copybutton/CopyButton.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,EAAE,MAAM,MAAM,CAAC;AACtB,OAAO,KAAK,EAAE,EAEZ,UAAU,EACV,SAAS,EACT,MAAM,EACN,QAAQ,GACT,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,IAAI,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"CopyButton.js","sourceRoot":"","sources":["../../src/copybutton/CopyButton.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,EAAE,MAAM,MAAM,CAAC;AACtB,OAAO,KAAK,EAAE,EAEZ,UAAU,EACV,SAAS,EACT,MAAM,EACN,QAAQ,GACT,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,IAAI,MAAM,cAAc,CAAC;AAiEhC;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,UAAU,CAClC,CACE,EAgBC,EACD,GAAG,EACH,EAAE;QAlBF,EACE,SAAS,EACT,QAAQ,EACR,IAAI,EACJ,UAAU,GAAG,UAAU,EACvB,OAAO,GAAG,SAAS,EACnB,IAAI,GAAG,QAAQ,EACf,cAAc,EACd,IAAI,EACJ,UAAU,EACV,cAAc,GAAG,IAAI,EACrB,KAAK,GAAG,QAAQ,EAChB,WAAW,GAAG,SAAS,EACvB,YAAY,GAAG,MAAM,EACrB,OAAO,OAER,EADI,IAAI,cAfT,+KAgBC,CADQ;IAIT,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC5C,MAAM,UAAU,GAAG,MAAM,EAAU,CAAC;IAEpC,SAAS,CAAC,GAAG,EAAE;QACb,OAAO,GAAG,EAAE;YACV,UAAU,CAAC,OAAO,IAAI,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QACzD,CAAC,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,WAAW,GAAG,GAAG,EAAE;QACvB,UAAU,CAAC,OAAO,IAAI,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QACvD,IAAI,CAAC,QAAQ,CAAC,CAAC;QACf,SAAS,CAAC,IAAI,CAAC,CAAC;QAChB,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAG,IAAI,CAAC,CAAC;QAEvB,UAAU,CAAC,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE;YAC1C,SAAS,CAAC,KAAK,CAAC,CAAC;YACjB,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAG,KAAK,CAAC,CAAC;QAC1B,CAAC,EAAE,cAAc,CAAC,CAAC;IACrB,CAAC,CAAC;IAEF,MAAM,QAAQ,GAAG,CACf,8BAAM,SAAS,EAAC,wBAAwB,IACrC,MAAM;QACL,CAAC,CAAC,UAAU,aAAV,UAAU,cAAV,UAAU,GAAI,CACZ,oBAAC,aAAa,mBACC,CAAC,CAAC,IAAI,EACnB,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,GACrC,CACH;QACH,CAAC,CAAC,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,CACN,oBAAC,SAAS,mBACK,CAAC,CAAC,IAAI,EACnB,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,GAC/B,CACH,CACA,CACR,CAAC;IAEF,OAAO,CACL,8CACE,GAAG,EAAE,GAAG,EACR,IAAI,EAAC,QAAQ,IACT,IAAI,iBACE,QAAQ,EAClB,SAAS,EAAE,EAAE,CACX,kBAAkB,EAClB,SAAS,EACT,qBAAqB,IAAI,EAAE,EAC3B,qBAAqB,OAAO,EAAE,EAC9B;YACE,6BAA6B,EAAE,CAAC,IAAI;YACpC,8BAA8B,EAAE,YAAY,KAAK,OAAO;YACxD,0BAA0B,EAAE,MAAM;SACnC,CACF,EACD,OAAO,EAAE,oBAAoB,CAAC,OAAO,EAAE,WAAW,CAAC;QAEnD,8BAAM,SAAS,EAAC,2BAA2B;YACxC,YAAY,KAAK,MAAM,IAAI,QAAQ;YACnC,IAAI;gBACH,CAAC,MAAM,CAAC,CAAC,CAAC,CACR,oBAAC,KAAK,IACJ,EAAE,EAAC,MAAM,EACT,IAAI,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,eAClC,QAAQ,IAEjB,UAAU,CACL,CACT,CAAC,CAAC,CAAC,CACF,oBAAC,KAAK,IACJ,EAAE,EAAC,MAAM,EACT,IAAI,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,eAClC,QAAQ,IAEjB,IAAI,CACC,CACT,CAAC;YACH,YAAY,KAAK,OAAO,IAAI,QAAQ,CAChC,CACA,CACV,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,eAAe,UAAU,CAAC"}
|
|
@@ -6,7 +6,7 @@ export interface CheckboxGroupState {
|
|
|
6
6
|
toggleValue(value: any): void;
|
|
7
7
|
}
|
|
8
8
|
export declare const CheckboxGroupContext: React.Context<CheckboxGroupState | null>;
|
|
9
|
-
export interface CheckboxGroupProps extends Omit<FieldsetProps, "onChange" | "errorPropagation" | "defaultValue"> {
|
|
9
|
+
export interface CheckboxGroupProps extends Omit<FieldsetProps, "onChange" | "errorPropagation" | "defaultValue" | "nativeReadOnly"> {
|
|
10
10
|
/**
|
|
11
11
|
* Collection of `<Checkbox/>`.
|
|
12
12
|
*/
|
|
@@ -16,7 +16,7 @@ export interface CheckboxGroupProps extends Omit<FieldsetProps, "onChange" | "er
|
|
|
16
16
|
*/
|
|
17
17
|
value?: any[];
|
|
18
18
|
/**
|
|
19
|
-
* Default checked checkboxes
|
|
19
|
+
* Default checked checkboxes.
|
|
20
20
|
*/
|
|
21
21
|
defaultValue?: any[];
|
|
22
22
|
/**
|
|
@@ -32,10 +32,10 @@ export interface CheckboxGroupProps extends Omit<FieldsetProps, "onChange" | "er
|
|
|
32
32
|
*
|
|
33
33
|
* @example
|
|
34
34
|
* ```jsx
|
|
35
|
-
* <CheckboxGroup legend="
|
|
36
|
-
* <Checkbox value="
|
|
37
|
-
* <Checkbox value="
|
|
38
|
-
* <Checkbox value="
|
|
35
|
+
* <CheckboxGroup legend="Transportmiddel">
|
|
36
|
+
* <Checkbox value="car">Bil</Checkbox>
|
|
37
|
+
* <Checkbox value="taxi">Drosje</Checkbox>
|
|
38
|
+
* <Checkbox value="public">Kollektivt</Checkbox>
|
|
39
39
|
* </CheckboxGroup>
|
|
40
40
|
* ```
|
|
41
41
|
*/
|
|
@@ -22,10 +22,10 @@ export const CheckboxGroupContext = createContext(null);
|
|
|
22
22
|
*
|
|
23
23
|
* @example
|
|
24
24
|
* ```jsx
|
|
25
|
-
* <CheckboxGroup legend="
|
|
26
|
-
* <Checkbox value="
|
|
27
|
-
* <Checkbox value="
|
|
28
|
-
* <Checkbox value="
|
|
25
|
+
* <CheckboxGroup legend="Transportmiddel">
|
|
26
|
+
* <Checkbox value="car">Bil</Checkbox>
|
|
27
|
+
* <Checkbox value="taxi">Drosje</Checkbox>
|
|
28
|
+
* <Checkbox value="public">Kollektivt</Checkbox>
|
|
29
29
|
* </CheckboxGroup>
|
|
30
30
|
* ```
|
|
31
31
|
*/
|
|
@@ -11,7 +11,7 @@ export interface CheckboxProps extends FormFieldProps, Omit<InputHTMLAttributes<
|
|
|
11
11
|
*/
|
|
12
12
|
errorId?: string;
|
|
13
13
|
/**
|
|
14
|
-
* Checkbox label
|
|
14
|
+
* Checkbox label.
|
|
15
15
|
*/
|
|
16
16
|
children: React.ReactNode;
|
|
17
17
|
/**
|
|
@@ -19,7 +19,7 @@ export interface CheckboxProps extends FormFieldProps, Omit<InputHTMLAttributes<
|
|
|
19
19
|
*/
|
|
20
20
|
hideLabel?: boolean;
|
|
21
21
|
/**
|
|
22
|
-
*
|
|
22
|
+
* Checkbox value.
|
|
23
23
|
*/
|
|
24
24
|
value?: any;
|
|
25
25
|
/**
|
|
@@ -28,7 +28,7 @@ export interface CheckboxProps extends FormFieldProps, Omit<InputHTMLAttributes<
|
|
|
28
28
|
*/
|
|
29
29
|
indeterminate?: boolean;
|
|
30
30
|
/**
|
|
31
|
-
* Adds a description to extend labeling
|
|
31
|
+
* Adds a description to extend the labeling.
|
|
32
32
|
*/
|
|
33
33
|
description?: string;
|
|
34
34
|
}
|
|
@@ -81,8 +81,8 @@ interface FileUploadComponent extends React.ForwardRefExoticComponent<FileUpload
|
|
|
81
81
|
* ```jsx
|
|
82
82
|
* <FileUpload.Item file={file} status="uploading" />
|
|
83
83
|
* <FileUpload.Item file={file} status="downloading" />
|
|
84
|
-
* <FileUpload.Item file={file}
|
|
85
|
-
* <FileUpload.Item file={file}
|
|
84
|
+
* <FileUpload.Item file={file} button={{ action:"retry", onClick:... }} />
|
|
85
|
+
* <FileUpload.Item file={file} button={{ action:"delete", onClick:... }} />
|
|
86
86
|
* ```
|
|
87
87
|
*/
|
|
88
88
|
Item: typeof Item;
|
|
@@ -2,12 +2,12 @@ import React, { MouseEvent } from "react";
|
|
|
2
2
|
import { OverridableComponent } from "../../../../util/index.js";
|
|
3
3
|
import { ComponentTranslation } from "../../i18n/i18n.types.js";
|
|
4
4
|
import { FileItem } from "./Item.types.js";
|
|
5
|
-
export interface
|
|
5
|
+
export interface FileUploadItemProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
6
6
|
/**
|
|
7
7
|
* Overrides html-tag
|
|
8
8
|
* @default "div"
|
|
9
9
|
*/
|
|
10
|
-
as?: "div" | "li";
|
|
10
|
+
as?: ("div" | "li") & React.ElementType;
|
|
11
11
|
/**
|
|
12
12
|
* Either a native File or file metadata.
|
|
13
13
|
*/
|
|
@@ -33,25 +33,18 @@ export interface FileItemBaseProps {
|
|
|
33
33
|
* @default "idle"
|
|
34
34
|
*/
|
|
35
35
|
status?: "downloading" | "uploading" | "idle";
|
|
36
|
+
/**
|
|
37
|
+
* Props for the action button.
|
|
38
|
+
*/
|
|
39
|
+
button?: {
|
|
40
|
+
action: "delete" | "retry";
|
|
41
|
+
onClick: (event: MouseEvent<HTMLButtonElement>) => void;
|
|
42
|
+
id?: string;
|
|
43
|
+
};
|
|
36
44
|
/**
|
|
37
45
|
* i18n-API for customizing texts and labels
|
|
38
46
|
*/
|
|
39
47
|
translations?: ComponentTranslation<"FileUpload">["item"];
|
|
40
|
-
onRetry?: (event: MouseEvent<HTMLButtonElement>) => void;
|
|
41
|
-
onDelete?: (event: MouseEvent<HTMLButtonElement>) => void;
|
|
42
48
|
}
|
|
43
|
-
type FileItemActionDelete = {
|
|
44
|
-
onDelete: (event: MouseEvent<HTMLButtonElement>) => void;
|
|
45
|
-
itemAction: "delete";
|
|
46
|
-
};
|
|
47
|
-
type FileItemActionRetry = {
|
|
48
|
-
onRetry: (event: MouseEvent<HTMLButtonElement>) => void;
|
|
49
|
-
itemAction: "retry";
|
|
50
|
-
};
|
|
51
|
-
type FileItemActionNone = {
|
|
52
|
-
itemAction?: "none";
|
|
53
|
-
};
|
|
54
|
-
type FileItemConditionalProps = FileItemActionDelete | FileItemActionRetry | FileItemActionNone;
|
|
55
|
-
export type FileUploadItemProps = FileItemBaseProps & FileItemConditionalProps & React.HTMLAttributes<HTMLDivElement>;
|
|
56
49
|
export declare const Item: OverridableComponent<FileUploadItemProps, HTMLDivElement>;
|
|
57
50
|
export default Item;
|
|
@@ -20,7 +20,7 @@ import ItemIcon from "./ItemIcon.js";
|
|
|
20
20
|
import ItemName from "./ItemName.js";
|
|
21
21
|
import { formatFileSize } from "./utils/format-file-size.js";
|
|
22
22
|
export const Item = forwardRef((_a, ref) => {
|
|
23
|
-
var { as: Component = "div", file, status = "idle",
|
|
23
|
+
var { as: Component = "div", file, status = "idle", error, className, href, onFileClick, button, translations } = _a, rest = __rest(_a, ["as", "file", "status", "error", "className", "href", "onFileClick", "button", "translations"]);
|
|
24
24
|
const context = useFileUploadTranslation(false);
|
|
25
25
|
const translate = useI18n("FileUpload", { item: translations }, context === null || context === void 0 ? void 0 : context.translations);
|
|
26
26
|
const showError = !!error && status === "idle";
|
|
@@ -44,7 +44,9 @@ export const Item = forwardRef((_a, ref) => {
|
|
|
44
44
|
React.createElement("div", { className: "navds-file-item__error", "aria-relevant": "additions removals", "aria-live": "polite" }, showError && (React.createElement(BodyShort, { size: "small", className: "navds-file-item__error-content" },
|
|
45
45
|
React.createElement(ExclamationmarkTriangleIcon, { "aria-hidden": true }),
|
|
46
46
|
error)))),
|
|
47
|
-
status === "idle" && (React.createElement(ItemButton, {
|
|
47
|
+
status === "idle" && button && (React.createElement(ItemButton, Object.assign({}, button, { title: translate(button.action === "retry"
|
|
48
|
+
? "item.retryButtonTitle"
|
|
49
|
+
: "item.deleteButtonTitle") }))))));
|
|
48
50
|
});
|
|
49
51
|
export default Item;
|
|
50
52
|
//# sourceMappingURL=Item.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Item.js","sourceRoot":"","sources":["../../../../../src/form/file-upload/parts/item/Item.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,EAAE,MAAM,MAAM,CAAC;AACtB,OAAO,KAAK,EAAE,EAAc,UAAU,EAAE,MAAM,OAAO,CAAC;AACtD,OAAO,EAAE,2BAA2B,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAEnD,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAGlD,OAAO,UAAU,MAAM,cAAc,CAAC;AACtC,OAAO,QAAQ,MAAM,YAAY,CAAC;AAClC,OAAO,QAAQ,MAAM,YAAY,CAAC;AAClC,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"Item.js","sourceRoot":"","sources":["../../../../../src/form/file-upload/parts/item/Item.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,EAAE,MAAM,MAAM,CAAC;AACtB,OAAO,KAAK,EAAE,EAAc,UAAU,EAAE,MAAM,OAAO,CAAC;AACtD,OAAO,EAAE,2BAA2B,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAEnD,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAGlD,OAAO,UAAU,MAAM,cAAc,CAAC;AACtC,OAAO,QAAQ,MAAM,YAAY,CAAC;AAClC,OAAO,QAAQ,MAAM,YAAY,CAAC;AAClC,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAgD1D,MAAM,CAAC,MAAM,IAAI,GACf,UAAU,CACR,CACE,EAWsB,EACtB,GAAG,EACH,EAAE;QAbF,EACE,EAAE,EAAE,SAAS,GAAG,KAAK,EACrB,IAAI,EACJ,MAAM,GAAG,MAAM,EACf,KAAK,EACL,SAAS,EACT,IAAI,EACJ,WAAW,EACX,MAAM,EACN,YAAY,OAEQ,EADjB,IAAI,cAVT,+FAWC,CADQ;IAIT,MAAM,OAAO,GAAG,wBAAwB,CAAC,KAAK,CAAC,CAAC;IAChD,MAAM,SAAS,GAAG,OAAO,CACvB,YAAY,EACZ,EAAE,IAAI,EAAE,YAAY,EAAE,EACtB,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,YAAY,CACtB,CAAC;IAEF,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,IAAI,MAAM,KAAK,MAAM,CAAC;IAE/C,SAAS,aAAa;QACpB,IAAI,MAAM,KAAK,WAAW,EAAE,CAAC;YAC3B,OAAO,SAAS,CAAC,gBAAgB,CAAC,CAAC;QACrC,CAAC;QACD,IAAI,MAAM,KAAK,aAAa,EAAE,CAAC;YAC7B,OAAO,SAAS,CAAC,kBAAkB,CAAC,CAAC;QACvC,CAAC;QACD,OAAO,cAAc,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IAED,OAAO,CACL,oBAAC,SAAS,kBACR,GAAG,EAAE,GAAG,IACJ,IAAI,IACR,SAAS,EAAE,EAAE,CAAC,iBAAiB,EAAE,SAAS,EAAE;YAC1C,wBAAwB,EAAE,SAAS;SACpC,CAAC;QAEF,6BAAK,SAAS,EAAC,wBAAwB;YACrC,oBAAC,QAAQ,IACP,SAAS,EAAE,MAAM,KAAK,MAAM,EAC5B,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,SAAS,GACpB;YACF,6BAAK,SAAS,EAAC,4BAA4B;gBACzC,oBAAC,QAAQ,IAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,GAAI;gBAC1D,oBAAC,SAAS,IAAC,EAAE,EAAC,KAAK,EAAC,IAAI,EAAC,OAAO,IAC7B,aAAa,EAAE,CACN;gBACZ,6BACE,SAAS,EAAC,wBAAwB,mBACpB,oBAAoB,eACxB,QAAQ,IAEjB,SAAS,IAAI,CACZ,oBAAC,SAAS,IACR,IAAI,EAAC,OAAO,EACZ,SAAS,EAAC,gCAAgC;oBAE1C,oBAAC,2BAA2B,0BAAe;oBAC1C,KAAK,CACI,CACb,CACG,CACF;YAEL,MAAM,KAAK,MAAM,IAAI,MAAM,IAAI,CAC9B,oBAAC,UAAU,oBACL,MAAM,IACV,KAAK,EAAE,SAAS,CACd,MAAM,CAAC,MAAM,KAAK,OAAO;oBACvB,CAAC,CAAC,uBAAuB;oBACzB,CAAC,CAAC,wBAAwB,CAC7B,IACD,CACH,CACG,CACI,CACb,CAAC;AACJ,CAAC,CACF,CAAC;AAEJ,eAAe,IAAI,CAAC"}
|
|
@@ -1,12 +1,9 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
import { FileItem } from "./Item.types.js";
|
|
3
2
|
interface Props {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
retryTitle: string;
|
|
9
|
-
deleteTitle: string;
|
|
3
|
+
action: "delete" | "retry";
|
|
4
|
+
onClick: (event: React.MouseEvent<HTMLButtonElement>) => void;
|
|
5
|
+
id?: string;
|
|
6
|
+
title: string;
|
|
10
7
|
}
|
|
11
|
-
declare const ItemButton: ({
|
|
8
|
+
declare const ItemButton: ({ action, onClick, id, title }: Props) => React.JSX.Element;
|
|
12
9
|
export default ItemButton;
|
|
@@ -1,17 +1,9 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import { ArrowsCirclepathIcon, TrashIcon } from "@navikt/aksel-icons";
|
|
3
3
|
import { Button } from "../../../../button/index.js";
|
|
4
|
-
const ItemButton = ({
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
}
|
|
8
|
-
if (onRetry && action === "retry") {
|
|
9
|
-
return (React.createElement(Button, { className: "navds-file-item__button", type: "button", variant: "tertiary-neutral", onClick: onRetry, icon: React.createElement(ArrowsCirclepathIcon, { title: retryTitle }) }));
|
|
10
|
-
}
|
|
11
|
-
if (onDelete && action === "delete") {
|
|
12
|
-
return (React.createElement(Button, { className: "navds-file-item__button", type: "button", variant: "tertiary-neutral", onClick: onDelete, icon: React.createElement(TrashIcon, { title: deleteTitle }) }));
|
|
13
|
-
}
|
|
14
|
-
return null;
|
|
4
|
+
const ItemButton = ({ action, onClick, id, title }) => {
|
|
5
|
+
const Icon = action === "delete" ? TrashIcon : ArrowsCirclepathIcon;
|
|
6
|
+
return (React.createElement(Button, { id: id, className: "navds-file-item__button", type: "button", variant: "tertiary-neutral", onClick: onClick, icon: React.createElement(Icon, { title: title }) }));
|
|
15
7
|
};
|
|
16
8
|
export default ItemButton;
|
|
17
9
|
//# sourceMappingURL=ItemButton.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ItemButton.js","sourceRoot":"","sources":["../../../../../src/form/file-upload/parts/item/ItemButton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,oBAAoB,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACtE,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"ItemButton.js","sourceRoot":"","sources":["../../../../../src/form/file-upload/parts/item/ItemButton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,oBAAoB,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACtE,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAS5C,MAAM,UAAU,GAAG,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAS,EAAE,EAAE;IAC3D,MAAM,IAAI,GAAG,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,oBAAoB,CAAC;IAEpE,OAAO,CACL,oBAAC,MAAM,IACL,EAAE,EAAE,EAAE,EACN,SAAS,EAAC,yBAAyB,EACnC,IAAI,EAAC,QAAQ,EACb,OAAO,EAAC,kBAAkB,EAC1B,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,oBAAC,IAAI,IAAC,KAAK,EAAE,KAAK,GAAI,GAC5B,CACH,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,UAAU,CAAC"}
|
|
@@ -8,7 +8,7 @@ export interface RadioGroupContextProps {
|
|
|
8
8
|
required?: boolean;
|
|
9
9
|
}
|
|
10
10
|
export declare const RadioGroupContext: React.Context<RadioGroupContextProps | null>;
|
|
11
|
-
export interface RadioGroupProps extends Omit<FieldsetProps, "onChange" | "errorPropagation" | "defaultValue"> {
|
|
11
|
+
export interface RadioGroupProps extends Omit<FieldsetProps, "onChange" | "errorPropagation" | "defaultValue" | "nativeReadOnly"> {
|
|
12
12
|
/**
|
|
13
13
|
* Collection of `<Radio />`-elements
|
|
14
14
|
*/
|
|
@@ -6,11 +6,11 @@ export interface RadioProps extends Omit<FormFieldProps, "error" | "errorId" | "
|
|
|
6
6
|
*/
|
|
7
7
|
children: React.ReactNode;
|
|
8
8
|
/**
|
|
9
|
-
*
|
|
9
|
+
* Radio value.
|
|
10
10
|
*/
|
|
11
11
|
value: any;
|
|
12
12
|
/**
|
|
13
|
-
* Adds a description to extend labeling
|
|
13
|
+
* Adds a description to extend the labeling.
|
|
14
14
|
*/
|
|
15
15
|
description?: string;
|
|
16
16
|
}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
export interface FormFieldProps {
|
|
3
3
|
/**
|
|
4
|
-
*
|
|
5
|
-
* Error message for element.
|
|
4
|
+
* Error message.
|
|
6
5
|
*/
|
|
7
6
|
error?: React.ReactNode;
|
|
8
7
|
/**
|
|
@@ -20,7 +19,7 @@ export interface FormFieldProps {
|
|
|
20
19
|
*/
|
|
21
20
|
disabled?: boolean;
|
|
22
21
|
/**
|
|
23
|
-
* Adds a description to extend labeling
|
|
22
|
+
* Adds a description to extend the labeling.
|
|
24
23
|
*/
|
|
25
24
|
description?: React.ReactNode;
|
|
26
25
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useFormField.js","sourceRoot":"","sources":["../../src/form/useFormField.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,MAAM,CAAC;AACtB,OAAc,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"useFormField.js","sourceRoot":"","sources":["../../src/form/useFormField.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,MAAM,CAAC;AACtB,OAAc,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAkDrD;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAC1B,KAAqB,EACrB,MAAc,EACC,EAAE;;IACjB,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,KAAK,CAAC;IAEpD,MAAM,QAAQ,GAAG,UAAU,CAAC,eAAe,CAAC,CAAC;IAE7C,MAAM,KAAK,GAAG,KAAK,EAAE,CAAC;IAEtB,MAAM,EAAE,GAAG,MAAA,KAAK,CAAC,EAAE,mCAAI,GAAG,MAAM,IAAI,KAAK,EAAE,CAAC;IAC5C,MAAM,OAAO,GAAG,WAAW,aAAX,WAAW,cAAX,WAAW,GAAI,GAAG,MAAM,UAAU,KAAK,EAAE,CAAC;IAC1D,MAAM,kBAAkB,GAAG,GAAG,MAAM,gBAAgB,KAAK,EAAE,CAAC;IAE5D,MAAM,QAAQ,GAAG,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,QAAQ,KAAI,KAAK,CAAC,QAAQ,CAAC;IACtD,MAAM,QAAQ,GACZ,CAAC,CAAC,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,QAAQ,KAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,SAAS,CAAC;IAErE,MAAM,QAAQ,GACZ,CAAC,QAAQ,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,KAAK,KAAI,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,KAAK,CAAA,CAAC,CAAC;IACzD,MAAM,YAAY,GAChB,CAAC,QAAQ,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,SAAS,CAAC;IAElE,MAAM,WAAW,qBAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAE,CAAC;IAEtE,IAAI,CAAC,KAAa,aAAb,KAAK,uBAAL,KAAK,CAAU,QAAQ,KAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE,CAAC;QACtE,OAAO,CAAC,IAAI,CACV,yFAAyF,CAC1F,CAAC;QACF,OAAO,CAAC,IAAI,CACV,gGAAgG,CACjG,CAAC;IACJ,CAAC;IAED,OAAO;QACL,YAAY;QACZ,QAAQ;QACR,OAAO;QACP,kBAAkB;QAClB,IAAI,EAAE,MAAA,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,mCAAI,QAAQ;QACxC,QAAQ;QACR,UAAU,gCACR,EAAE,IACC,WAAW,KACd,kBAAkB,EAChB,EAAE,CAAC,KAAK,CAAC,kBAAkB,CAAC,EAAE;gBAC5B,CAAC,kBAAkB,CAAC,EAClB,CAAC,CAAC,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,WAAW,CAAA,IAAI,OAAO,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,WAAW,CAAA,KAAK,QAAQ;gBAChE,CAAC,OAAO,CAAC,EAAE,YAAY;gBACvB,CAAC,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,OAAO,mCAAI,EAAE,CAAC,EAAE,QAAQ,IAAI,CAAC,CAAC,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,KAAK,CAAA;aACzD,CAAC,IAAI,SAAS,EAEjB,QAAQ,GACT;KACF,CAAC;AACJ,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@navikt/ds-react",
|
|
3
|
-
"version": "6.
|
|
3
|
+
"version": "6.4.0",
|
|
4
4
|
"description": "React components from the Norwegian Labour and Welfare Administration.",
|
|
5
5
|
"author": "Aksel, a team part of the Norwegian Labour and Welfare Administration.",
|
|
6
6
|
"license": "MIT",
|
|
@@ -562,8 +562,8 @@
|
|
|
562
562
|
},
|
|
563
563
|
"dependencies": {
|
|
564
564
|
"@floating-ui/react": "0.25.4",
|
|
565
|
-
"@navikt/aksel-icons": "^6.
|
|
566
|
-
"@navikt/ds-tokens": "^6.
|
|
565
|
+
"@navikt/aksel-icons": "^6.4.0",
|
|
566
|
+
"@navikt/ds-tokens": "^6.4.0",
|
|
567
567
|
"@radix-ui/react-tabs": "1.0.0",
|
|
568
568
|
"@radix-ui/react-toggle-group": "1.0.0",
|
|
569
569
|
"clsx": "^2.1.0",
|
|
@@ -16,7 +16,7 @@ export const CheckboxGroupContext = createContext<CheckboxGroupState | null>(
|
|
|
16
16
|
export interface CheckboxGroupProps
|
|
17
17
|
extends Omit<
|
|
18
18
|
FieldsetProps,
|
|
19
|
-
"onChange" | "errorPropagation" | "defaultValue"
|
|
19
|
+
"onChange" | "errorPropagation" | "defaultValue" | "nativeReadOnly"
|
|
20
20
|
> {
|
|
21
21
|
/**
|
|
22
22
|
* Collection of `<Checkbox/>`.
|
|
@@ -27,7 +27,7 @@ export interface CheckboxGroupProps
|
|
|
27
27
|
*/
|
|
28
28
|
value?: any[];
|
|
29
29
|
/**
|
|
30
|
-
* Default checked checkboxes
|
|
30
|
+
* Default checked checkboxes.
|
|
31
31
|
*/
|
|
32
32
|
defaultValue?: any[];
|
|
33
33
|
/**
|
|
@@ -44,10 +44,10 @@ export interface CheckboxGroupProps
|
|
|
44
44
|
*
|
|
45
45
|
* @example
|
|
46
46
|
* ```jsx
|
|
47
|
-
* <CheckboxGroup legend="
|
|
48
|
-
* <Checkbox value="
|
|
49
|
-
* <Checkbox value="
|
|
50
|
-
* <Checkbox value="
|
|
47
|
+
* <CheckboxGroup legend="Transportmiddel">
|
|
48
|
+
* <Checkbox value="car">Bil</Checkbox>
|
|
49
|
+
* <Checkbox value="taxi">Drosje</Checkbox>
|
|
50
|
+
* <Checkbox value="public">Kollektivt</Checkbox>
|
|
51
51
|
* </CheckboxGroup>
|
|
52
52
|
* ```
|
|
53
53
|
*/
|
|
@@ -14,7 +14,7 @@ export interface CheckboxProps
|
|
|
14
14
|
*/
|
|
15
15
|
errorId?: string;
|
|
16
16
|
/**
|
|
17
|
-
* Checkbox label
|
|
17
|
+
* Checkbox label.
|
|
18
18
|
*/
|
|
19
19
|
children: React.ReactNode;
|
|
20
20
|
/**
|
|
@@ -22,7 +22,7 @@ export interface CheckboxProps
|
|
|
22
22
|
*/
|
|
23
23
|
hideLabel?: boolean;
|
|
24
24
|
/**
|
|
25
|
-
*
|
|
25
|
+
* Checkbox value.
|
|
26
26
|
*/
|
|
27
27
|
value?: any;
|
|
28
28
|
/**
|
|
@@ -31,7 +31,7 @@ export interface CheckboxProps
|
|
|
31
31
|
*/
|
|
32
32
|
indeterminate?: boolean;
|
|
33
33
|
/**
|
|
34
|
-
* Adds a description to extend labeling
|
|
34
|
+
* Adds a description to extend the labeling.
|
|
35
35
|
*/
|
|
36
36
|
description?: string;
|
|
37
37
|
}
|
|
@@ -89,8 +89,8 @@ interface FileUploadComponent
|
|
|
89
89
|
* ```jsx
|
|
90
90
|
* <FileUpload.Item file={file} status="uploading" />
|
|
91
91
|
* <FileUpload.Item file={file} status="downloading" />
|
|
92
|
-
* <FileUpload.Item file={file}
|
|
93
|
-
* <FileUpload.Item file={file}
|
|
92
|
+
* <FileUpload.Item file={file} button={{ action:"retry", onClick:... }} />
|
|
93
|
+
* <FileUpload.Item file={file} button={{ action:"delete", onClick:... }} />
|
|
94
94
|
* ```
|
|
95
95
|
*/
|
|
96
96
|
Item: typeof Item;
|
|
@@ -57,51 +57,63 @@ export const States: StoryObj<typeof FileUpload.Item> = {
|
|
|
57
57
|
file={fileTxt}
|
|
58
58
|
error="Error og uploading"
|
|
59
59
|
status="uploading"
|
|
60
|
-
|
|
61
|
-
|
|
60
|
+
button={{
|
|
61
|
+
onClick: () => onDelete(fileTxt),
|
|
62
|
+
action: "delete",
|
|
63
|
+
}}
|
|
62
64
|
/>
|
|
63
65
|
<h2>Item Actions</h2>
|
|
64
66
|
<h3>status + delete</h3>
|
|
65
67
|
<FileUpload.Item
|
|
66
68
|
file={fileDocx}
|
|
67
|
-
onDelete={() => onDelete(fileDocx)}
|
|
68
|
-
onRetry={() => onRetry(fileDocx)}
|
|
69
69
|
status="uploading"
|
|
70
|
-
|
|
70
|
+
button={{
|
|
71
|
+
onClick: () => onDelete(fileDocx),
|
|
72
|
+
action: "delete",
|
|
73
|
+
}}
|
|
71
74
|
/>
|
|
72
75
|
<h3>status + retry</h3>
|
|
73
76
|
<FileUpload.Item
|
|
74
77
|
file={fileDocx}
|
|
75
|
-
onDelete={() => onDelete(fileDocx)}
|
|
76
|
-
onRetry={() => onRetry(fileDocx)}
|
|
77
78
|
status="downloading"
|
|
78
|
-
|
|
79
|
+
button={{
|
|
80
|
+
onClick: () => onRetry(fileDocx),
|
|
81
|
+
action: "retry",
|
|
82
|
+
}}
|
|
79
83
|
/>
|
|
80
84
|
<h3>retry</h3>
|
|
81
85
|
<FileUpload.Item
|
|
82
86
|
file={fileCsv}
|
|
83
|
-
|
|
84
|
-
|
|
87
|
+
button={{
|
|
88
|
+
onClick: () => onRetry(fileCsv),
|
|
89
|
+
action: "retry",
|
|
90
|
+
}}
|
|
85
91
|
/>
|
|
86
92
|
<h3>delete</h3>
|
|
87
93
|
<FileUpload.Item
|
|
88
94
|
file={filePptx}
|
|
89
|
-
|
|
90
|
-
|
|
95
|
+
button={{
|
|
96
|
+
onClick: () => onDelete(filePptx),
|
|
97
|
+
action: "delete",
|
|
98
|
+
}}
|
|
91
99
|
/>
|
|
92
100
|
<h3>retry + error</h3>
|
|
93
101
|
<FileUpload.Item
|
|
94
102
|
file={fileCsv}
|
|
95
103
|
error="Error og onRetry"
|
|
96
|
-
|
|
97
|
-
|
|
104
|
+
button={{
|
|
105
|
+
onClick: () => onRetry(fileCsv),
|
|
106
|
+
action: "retry",
|
|
107
|
+
}}
|
|
98
108
|
/>
|
|
99
109
|
<h3>delete + error</h3>
|
|
100
110
|
<FileUpload.Item
|
|
101
111
|
file={filePptx}
|
|
102
112
|
error="Error og onDelete"
|
|
103
|
-
|
|
104
|
-
|
|
113
|
+
button={{
|
|
114
|
+
onClick: () => onDelete(filePptx),
|
|
115
|
+
action: "delete",
|
|
116
|
+
}}
|
|
105
117
|
/>
|
|
106
118
|
</div>
|
|
107
119
|
),
|
|
@@ -25,6 +25,7 @@ const MAX_SIZE = MAX_SIZE_MB * 1024 * 1024;
|
|
|
25
25
|
|
|
26
26
|
const CustomItem = ({
|
|
27
27
|
index,
|
|
28
|
+
onDelete,
|
|
28
29
|
...props
|
|
29
30
|
}: FileUploadItemProps & {
|
|
30
31
|
index: number;
|
|
@@ -45,7 +46,10 @@ const CustomItem = ({
|
|
|
45
46
|
<FileUpload.Item
|
|
46
47
|
{...props}
|
|
47
48
|
status={loading ? "uploading" : "idle"}
|
|
48
|
-
|
|
49
|
+
button={{
|
|
50
|
+
action: "delete",
|
|
51
|
+
onClick: onDelete,
|
|
52
|
+
}}
|
|
49
53
|
as="li"
|
|
50
54
|
/>
|
|
51
55
|
);
|
|
@@ -165,7 +169,10 @@ export const Single: StoryFn = () => {
|
|
|
165
169
|
key={file.file.name}
|
|
166
170
|
file={file.file}
|
|
167
171
|
error={file.error ? errors[file.reasons[0]] : undefined}
|
|
168
|
-
|
|
172
|
+
button={{
|
|
173
|
+
action: "delete",
|
|
174
|
+
onClick: removeFile,
|
|
175
|
+
}}
|
|
169
176
|
/>
|
|
170
177
|
))}
|
|
171
178
|
</VStack>
|
|
@@ -194,12 +201,17 @@ export const Translation = () => (
|
|
|
194
201
|
<FileUpload.Dropzone label="Last opp bilder" onSelect={console.log} />
|
|
195
202
|
<FileUpload.Item
|
|
196
203
|
file={{ name: "eksempel.png", size: 200000 }}
|
|
197
|
-
|
|
204
|
+
button={{
|
|
205
|
+
action: "delete",
|
|
206
|
+
onClick: () => null,
|
|
207
|
+
}}
|
|
198
208
|
/>
|
|
199
209
|
<FileUpload.Item
|
|
200
210
|
file={{ name: "eksempel.png", size: 200000 }}
|
|
201
|
-
|
|
202
|
-
|
|
211
|
+
button={{
|
|
212
|
+
action: "retry",
|
|
213
|
+
onClick: () => null,
|
|
214
|
+
}}
|
|
203
215
|
/>
|
|
204
216
|
<FileUpload.Item
|
|
205
217
|
file={{ name: "eksempel.png", size: 200000 }}
|
|
@@ -12,12 +12,13 @@ import ItemIcon from "./ItemIcon";
|
|
|
12
12
|
import ItemName from "./ItemName";
|
|
13
13
|
import { formatFileSize } from "./utils/format-file-size";
|
|
14
14
|
|
|
15
|
-
export interface
|
|
15
|
+
export interface FileUploadItemProps
|
|
16
|
+
extends React.HTMLAttributes<HTMLDivElement> {
|
|
16
17
|
/**
|
|
17
18
|
* Overrides html-tag
|
|
18
19
|
* @default "div"
|
|
19
20
|
*/
|
|
20
|
-
as?: "div" | "li";
|
|
21
|
+
as?: ("div" | "li") & React.ElementType;
|
|
21
22
|
/**
|
|
22
23
|
* Either a native File or file metadata.
|
|
23
24
|
*/
|
|
@@ -43,37 +44,20 @@ export interface FileItemBaseProps {
|
|
|
43
44
|
* @default "idle"
|
|
44
45
|
*/
|
|
45
46
|
status?: "downloading" | "uploading" | "idle";
|
|
47
|
+
/**
|
|
48
|
+
* Props for the action button.
|
|
49
|
+
*/
|
|
50
|
+
button?: {
|
|
51
|
+
action: "delete" | "retry";
|
|
52
|
+
onClick: (event: MouseEvent<HTMLButtonElement>) => void;
|
|
53
|
+
id?: string;
|
|
54
|
+
};
|
|
46
55
|
/**
|
|
47
56
|
* i18n-API for customizing texts and labels
|
|
48
57
|
*/
|
|
49
58
|
translations?: ComponentTranslation<"FileUpload">["item"];
|
|
50
|
-
onRetry?: (event: MouseEvent<HTMLButtonElement>) => void;
|
|
51
|
-
onDelete?: (event: MouseEvent<HTMLButtonElement>) => void;
|
|
52
59
|
}
|
|
53
60
|
|
|
54
|
-
type FileItemActionDelete = {
|
|
55
|
-
onDelete: (event: MouseEvent<HTMLButtonElement>) => void;
|
|
56
|
-
itemAction: "delete";
|
|
57
|
-
};
|
|
58
|
-
|
|
59
|
-
type FileItemActionRetry = {
|
|
60
|
-
onRetry: (event: MouseEvent<HTMLButtonElement>) => void;
|
|
61
|
-
itemAction: "retry";
|
|
62
|
-
};
|
|
63
|
-
|
|
64
|
-
type FileItemActionNone = {
|
|
65
|
-
itemAction?: "none";
|
|
66
|
-
};
|
|
67
|
-
|
|
68
|
-
type FileItemConditionalProps =
|
|
69
|
-
| FileItemActionDelete
|
|
70
|
-
| FileItemActionRetry
|
|
71
|
-
| FileItemActionNone;
|
|
72
|
-
|
|
73
|
-
export type FileUploadItemProps = FileItemBaseProps &
|
|
74
|
-
FileItemConditionalProps &
|
|
75
|
-
React.HTMLAttributes<HTMLDivElement>;
|
|
76
|
-
|
|
77
61
|
export const Item: OverridableComponent<FileUploadItemProps, HTMLDivElement> =
|
|
78
62
|
forwardRef(
|
|
79
63
|
(
|
|
@@ -81,16 +65,14 @@ export const Item: OverridableComponent<FileUploadItemProps, HTMLDivElement> =
|
|
|
81
65
|
as: Component = "div",
|
|
82
66
|
file,
|
|
83
67
|
status = "idle",
|
|
84
|
-
onDelete,
|
|
85
|
-
onRetry,
|
|
86
68
|
error,
|
|
87
69
|
className,
|
|
88
70
|
href,
|
|
89
71
|
onFileClick,
|
|
90
|
-
|
|
72
|
+
button,
|
|
91
73
|
translations,
|
|
92
74
|
...rest
|
|
93
|
-
},
|
|
75
|
+
}: FileUploadItemProps,
|
|
94
76
|
ref,
|
|
95
77
|
) => {
|
|
96
78
|
const context = useFileUploadTranslation(false);
|
|
@@ -148,14 +130,14 @@ export const Item: OverridableComponent<FileUploadItemProps, HTMLDivElement> =
|
|
|
148
130
|
</div>
|
|
149
131
|
</div>
|
|
150
132
|
|
|
151
|
-
{status === "idle" && (
|
|
133
|
+
{status === "idle" && button && (
|
|
152
134
|
<ItemButton
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
135
|
+
{...button}
|
|
136
|
+
title={translate(
|
|
137
|
+
button.action === "retry"
|
|
138
|
+
? "item.retryButtonTitle"
|
|
139
|
+
: "item.deleteButtonTitle",
|
|
140
|
+
)}
|
|
159
141
|
/>
|
|
160
142
|
)}
|
|
161
143
|
</div>
|
|
@@ -1,52 +1,27 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import { ArrowsCirclepathIcon, TrashIcon } from "@navikt/aksel-icons";
|
|
3
3
|
import { Button } from "../../../../button";
|
|
4
|
-
import { FileItem } from "./Item.types";
|
|
5
4
|
|
|
6
5
|
interface Props {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
retryTitle: string;
|
|
12
|
-
deleteTitle: string;
|
|
6
|
+
action: "delete" | "retry";
|
|
7
|
+
onClick: (event: React.MouseEvent<HTMLButtonElement>) => void;
|
|
8
|
+
id?: string;
|
|
9
|
+
title: string;
|
|
13
10
|
}
|
|
14
11
|
|
|
15
|
-
const ItemButton = ({
|
|
16
|
-
|
|
17
|
-
onDelete,
|
|
18
|
-
action,
|
|
19
|
-
retryTitle,
|
|
20
|
-
deleteTitle,
|
|
21
|
-
}: Props) => {
|
|
22
|
-
if (action === "none") {
|
|
23
|
-
return null;
|
|
24
|
-
}
|
|
12
|
+
const ItemButton = ({ action, onClick, id, title }: Props) => {
|
|
13
|
+
const Icon = action === "delete" ? TrashIcon : ArrowsCirclepathIcon;
|
|
25
14
|
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
}
|
|
37
|
-
if (onDelete && action === "delete") {
|
|
38
|
-
return (
|
|
39
|
-
<Button
|
|
40
|
-
className="navds-file-item__button"
|
|
41
|
-
type="button"
|
|
42
|
-
variant="tertiary-neutral"
|
|
43
|
-
onClick={onDelete}
|
|
44
|
-
icon={<TrashIcon title={deleteTitle} />}
|
|
45
|
-
/>
|
|
46
|
-
);
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
return null;
|
|
15
|
+
return (
|
|
16
|
+
<Button
|
|
17
|
+
id={id}
|
|
18
|
+
className="navds-file-item__button"
|
|
19
|
+
type="button"
|
|
20
|
+
variant="tertiary-neutral"
|
|
21
|
+
onClick={onClick}
|
|
22
|
+
icon={<Icon title={title} />}
|
|
23
|
+
/>
|
|
24
|
+
);
|
|
50
25
|
};
|
|
51
26
|
|
|
52
27
|
export default ItemButton;
|
|
@@ -18,7 +18,7 @@ export const RadioGroupContext =
|
|
|
18
18
|
export interface RadioGroupProps
|
|
19
19
|
extends Omit<
|
|
20
20
|
FieldsetProps,
|
|
21
|
-
"onChange" | "errorPropagation" | "defaultValue"
|
|
21
|
+
"onChange" | "errorPropagation" | "defaultValue" | "nativeReadOnly"
|
|
22
22
|
> {
|
|
23
23
|
/**
|
|
24
24
|
* Collection of `<Radio />`-elements
|
package/src/form/radio/types.ts
CHANGED
|
@@ -9,11 +9,11 @@ export interface RadioProps
|
|
|
9
9
|
*/
|
|
10
10
|
children: React.ReactNode;
|
|
11
11
|
/**
|
|
12
|
-
*
|
|
12
|
+
* Radio value.
|
|
13
13
|
*/
|
|
14
14
|
value: any;
|
|
15
15
|
/**
|
|
16
|
-
* Adds a description to extend labeling
|
|
16
|
+
* Adds a description to extend the labeling.
|
|
17
17
|
*/
|
|
18
18
|
description?: string;
|
|
19
19
|
}
|
package/src/form/useFormField.ts
CHANGED
|
@@ -5,8 +5,7 @@ import { FieldsetContext } from "./fieldset/context";
|
|
|
5
5
|
|
|
6
6
|
export interface FormFieldProps {
|
|
7
7
|
/**
|
|
8
|
-
*
|
|
9
|
-
* Error message for element.
|
|
8
|
+
* Error message.
|
|
10
9
|
*/
|
|
11
10
|
error?: React.ReactNode;
|
|
12
11
|
/**
|
|
@@ -24,7 +23,7 @@ export interface FormFieldProps {
|
|
|
24
23
|
*/
|
|
25
24
|
disabled?: boolean;
|
|
26
25
|
/**
|
|
27
|
-
* Adds a description to extend labeling
|
|
26
|
+
* Adds a description to extend the labeling.
|
|
28
27
|
*/
|
|
29
28
|
description?: React.ReactNode;
|
|
30
29
|
/**
|