@navikt/ds-react 7.4.0 → 7.4.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cjs/date/utils/parse-date.js +1 -0
- package/cjs/date/utils/parse-date.js.map +1 -1
- package/cjs/expansion-card/ExpansionCardHeader.js +4 -2
- package/cjs/expansion-card/ExpansionCardHeader.js.map +1 -1
- package/cjs/form/combobox/FilteredOptions/useVirtualFocus.js +1 -1
- package/cjs/form/combobox/FilteredOptions/useVirtualFocus.js.map +1 -1
- package/cjs/form/combobox/Input/Input.js +17 -4
- package/cjs/form/combobox/Input/Input.js.map +1 -1
- package/cjs/form/error-summary/ErrorSummary.js +4 -2
- package/cjs/form/error-summary/ErrorSummary.js.map +1 -1
- package/cjs/form/form-progress/FormProgress.js +1 -3
- package/cjs/form/form-progress/FormProgress.js.map +1 -1
- package/cjs/form/search/Search.d.ts +1 -2
- package/cjs/form/search/Search.js +20 -20
- package/cjs/form/search/Search.js.map +1 -1
- package/cjs/form/search/SearchButton.js +5 -1
- package/cjs/form/search/SearchButton.js.map +1 -1
- package/cjs/form/textarea/Textarea.js +1 -3
- package/cjs/form/textarea/Textarea.js.map +1 -1
- package/cjs/form/textarea/TextareaCounter.d.ts +2 -1
- package/cjs/form/textarea/TextareaCounter.js +14 -9
- package/cjs/form/textarea/TextareaCounter.js.map +1 -1
- package/cjs/loader/Loader.d.ts +2 -2
- package/cjs/loader/Loader.js +5 -3
- package/cjs/loader/Loader.js.map +1 -1
- package/cjs/modal/ModalHeader.js +3 -1
- package/cjs/modal/ModalHeader.js.map +1 -1
- package/cjs/pagination/Pagination.js +4 -2
- package/cjs/pagination/Pagination.js.map +1 -1
- package/cjs/progress-bar/ProgressBar.js +14 -7
- package/cjs/progress-bar/ProgressBar.js.map +1 -1
- package/cjs/table/ExpandableRow.d.ts +1 -1
- package/cjs/table/ExpandableRow.js +11 -7
- package/cjs/table/ExpandableRow.js.map +1 -1
- package/cjs/tabs/parts/tablist/ScrollButtons.js +1 -1
- package/cjs/tabs/parts/tablist/ScrollButtons.js.map +1 -1
- package/cjs/util/i18n/i18n.context.d.ts +1 -3
- package/cjs/util/i18n/i18n.context.js +5 -5
- package/cjs/util/i18n/i18n.context.js.map +1 -1
- package/cjs/util/i18n/locales/en.d.ts +30 -0
- package/cjs/util/i18n/locales/en.js +30 -0
- package/cjs/util/i18n/locales/en.js.map +1 -1
- package/cjs/util/i18n/locales/nb.d.ts +31 -0
- package/cjs/util/i18n/locales/nb.js +31 -0
- package/cjs/util/i18n/locales/nb.js.map +1 -1
- package/cjs/util/i18n/locales/nn.d.ts +30 -0
- package/cjs/util/i18n/locales/nn.js +30 -0
- package/cjs/util/i18n/locales/nn.js.map +1 -1
- package/esm/date/utils/parse-date.js +1 -0
- package/esm/date/utils/parse-date.js.map +1 -1
- package/esm/expansion-card/ExpansionCardHeader.js +4 -2
- package/esm/expansion-card/ExpansionCardHeader.js.map +1 -1
- package/esm/form/combobox/FilteredOptions/useVirtualFocus.js +1 -1
- package/esm/form/combobox/FilteredOptions/useVirtualFocus.js.map +1 -1
- package/esm/form/combobox/Input/Input.js +17 -4
- package/esm/form/combobox/Input/Input.js.map +1 -1
- package/esm/form/error-summary/ErrorSummary.js +4 -2
- package/esm/form/error-summary/ErrorSummary.js.map +1 -1
- package/esm/form/form-progress/FormProgress.js +1 -3
- package/esm/form/form-progress/FormProgress.js.map +1 -1
- package/esm/form/search/Search.d.ts +1 -2
- package/esm/form/search/Search.js +21 -21
- package/esm/form/search/Search.js.map +1 -1
- package/esm/form/search/SearchButton.js +5 -1
- package/esm/form/search/SearchButton.js.map +1 -1
- package/esm/form/textarea/Textarea.js +1 -3
- package/esm/form/textarea/Textarea.js.map +1 -1
- package/esm/form/textarea/TextareaCounter.d.ts +2 -1
- package/esm/form/textarea/TextareaCounter.js +14 -9
- package/esm/form/textarea/TextareaCounter.js.map +1 -1
- package/esm/loader/Loader.d.ts +2 -2
- package/esm/loader/Loader.js +5 -3
- package/esm/loader/Loader.js.map +1 -1
- package/esm/modal/ModalHeader.js +3 -1
- package/esm/modal/ModalHeader.js.map +1 -1
- package/esm/pagination/Pagination.js +4 -2
- package/esm/pagination/Pagination.js.map +1 -1
- package/esm/progress-bar/ProgressBar.js +15 -8
- package/esm/progress-bar/ProgressBar.js.map +1 -1
- package/esm/table/ExpandableRow.d.ts +1 -1
- package/esm/table/ExpandableRow.js +11 -7
- package/esm/table/ExpandableRow.js.map +1 -1
- package/esm/tabs/parts/tablist/ScrollButtons.js +1 -1
- package/esm/tabs/parts/tablist/ScrollButtons.js.map +1 -1
- package/esm/util/i18n/i18n.context.d.ts +1 -3
- package/esm/util/i18n/i18n.context.js +5 -5
- package/esm/util/i18n/i18n.context.js.map +1 -1
- package/esm/util/i18n/locales/en.d.ts +30 -0
- package/esm/util/i18n/locales/en.js +30 -0
- package/esm/util/i18n/locales/en.js.map +1 -1
- package/esm/util/i18n/locales/nb.d.ts +31 -0
- package/esm/util/i18n/locales/nb.js +31 -0
- package/esm/util/i18n/locales/nb.js.map +1 -1
- package/esm/util/i18n/locales/nn.d.ts +30 -0
- package/esm/util/i18n/locales/nn.js +30 -0
- package/esm/util/i18n/locales/nn.js.map +1 -1
- package/package.json +3 -3
- package/src/date/utils/parse-date.ts +1 -0
- package/src/expansion-card/ExpansionCardHeader.tsx +4 -2
- package/src/form/combobox/FilteredOptions/useVirtualFocus.ts +1 -1
- package/src/form/combobox/Input/Input.tsx +27 -9
- package/src/form/combobox/__tests__/combobox.test.tsx +39 -0
- package/src/form/error-summary/ErrorSummary.tsx +4 -2
- package/src/form/form-progress/FormProgress.tsx +1 -3
- package/src/form/search/Search.tsx +20 -36
- package/src/form/search/SearchButton.tsx +5 -1
- package/src/form/textarea/Textarea.tsx +7 -11
- package/src/form/textarea/TextareaCounter.tsx +31 -7
- package/src/loader/Loader.tsx +8 -4
- package/src/modal/ModalHeader.tsx +3 -1
- package/src/pagination/Pagination.tsx +6 -4
- package/src/progress-bar/ProgressBar.tsx +19 -14
- package/src/table/ExpandableRow.tsx +12 -13
- package/src/tabs/parts/tablist/ScrollButtons.tsx +1 -5
- package/src/util/i18n/i18n.context.test.tsx +4 -6
- package/src/util/i18n/i18n.context.ts +5 -5
- package/src/util/i18n/locales/en.ts +32 -0
- package/src/util/i18n/locales/nb.ts +33 -0
- package/src/util/i18n/locales/nn.ts +32 -0
|
@@ -10,7 +10,8 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
|
10
10
|
return t;
|
|
11
11
|
};
|
|
12
12
|
import cl from "clsx";
|
|
13
|
-
import React, { forwardRef, useRef } from "react";
|
|
13
|
+
import React, { forwardRef, useEffect, useRef } from "react";
|
|
14
|
+
import { useI18n } from "../util/i18n/i18n.context.js";
|
|
14
15
|
/**
|
|
15
16
|
* ProgressBar
|
|
16
17
|
* A component for visualizing progression in a process.
|
|
@@ -32,10 +33,11 @@ import React, { forwardRef, useRef } from "react";
|
|
|
32
33
|
*/
|
|
33
34
|
export const ProgressBar = forwardRef((_a, ref) => {
|
|
34
35
|
var { size = "medium", value = 0, valueMax = 100, "aria-labelledby": ariaLabelledBy, "aria-label": ariaLabel, className, simulated } = _a, rest = __rest(_a, ["size", "value", "valueMax", "aria-labelledby", "aria-label", "className", "simulated"]);
|
|
35
|
-
const
|
|
36
|
+
const translateX = 100 - (Math.round(value) / valueMax) * 100;
|
|
36
37
|
const onTimeoutRef = useRef();
|
|
37
38
|
onTimeoutRef.current = simulated === null || simulated === void 0 ? void 0 : simulated.onTimeout;
|
|
38
|
-
|
|
39
|
+
const translate = useI18n("ProgressBar");
|
|
40
|
+
useEffect(() => {
|
|
39
41
|
if ((simulated === null || simulated === void 0 ? void 0 : simulated.seconds) && onTimeoutRef.current) {
|
|
40
42
|
const timeout = setTimeout(onTimeoutRef.current, simulated.seconds * 1000);
|
|
41
43
|
return () => clearTimeout(timeout);
|
|
@@ -44,17 +46,22 @@ export const ProgressBar = forwardRef((_a, ref) => {
|
|
|
44
46
|
return (
|
|
45
47
|
/* biome-ignore lint/a11y/useFocusableInteractive: Progressbar is not interactive. */
|
|
46
48
|
React.createElement("div", Object.assign({ ref: ref, className: cl("navds-progress-bar", `navds-progress-bar--${size}`, className), "aria-valuemax": (simulated === null || simulated === void 0 ? void 0 : simulated.seconds) ? 0 : Math.round(valueMax), "aria-valuenow": (simulated === null || simulated === void 0 ? void 0 : simulated.seconds) ? 0 : Math.round(value), "aria-valuetext": (simulated === null || simulated === void 0 ? void 0 : simulated.seconds)
|
|
47
|
-
?
|
|
48
|
-
|
|
49
|
+
? translate("progressUnknown", {
|
|
50
|
+
seconds: Math.round(simulated === null || simulated === void 0 ? void 0 : simulated.seconds),
|
|
51
|
+
})
|
|
52
|
+
: translate("progress", {
|
|
53
|
+
current: Math.round(value),
|
|
54
|
+
max: Math.round(valueMax),
|
|
55
|
+
}),
|
|
49
56
|
// biome-ignore lint/a11y/useAriaPropsForRole: We found that adding valueMin was not needed
|
|
50
57
|
role: "progressbar", "aria-labelledby": ariaLabelledBy, "aria-label": ariaLabel }, rest),
|
|
51
58
|
React.createElement("div", { className: cl("navds-progress-bar__foreground", {
|
|
52
|
-
"navds-progress-bar__foreground--indeterminate":
|
|
59
|
+
"navds-progress-bar__foreground--indeterminate": (simulated === null || simulated === void 0 ? void 0 : simulated.seconds) !== undefined,
|
|
53
60
|
}), style: {
|
|
54
|
-
"--__ac-progress-bar-simulated":
|
|
61
|
+
"--__ac-progress-bar-simulated": (simulated === null || simulated === void 0 ? void 0 : simulated.seconds) !== undefined
|
|
55
62
|
? `${simulated === null || simulated === void 0 ? void 0 : simulated.seconds}s`
|
|
56
63
|
: undefined,
|
|
57
|
-
"--__ac-progress-bar-translate": `-${
|
|
64
|
+
"--__ac-progress-bar-translate": `-${translateX}%`,
|
|
58
65
|
} })));
|
|
59
66
|
});
|
|
60
67
|
export default ProgressBar;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProgressBar.js","sourceRoot":"","sources":["../../src/progress-bar/ProgressBar.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,EAAE,MAAM,MAAM,CAAC;AACtB,OAAO,KAAK,EAAE,EAAkB,UAAU,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"ProgressBar.js","sourceRoot":"","sources":["../../src/progress-bar/ProgressBar.tsx"],"names":[],"mappings":"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"}
|
|
@@ -12,7 +12,7 @@ export interface ExpandableRowProps extends Omit<RowProps, "content"> {
|
|
|
12
12
|
togglePlacement?: "left" | "right";
|
|
13
13
|
/**
|
|
14
14
|
* Opens component if 'true', closes if 'false'
|
|
15
|
-
* Using this
|
|
15
|
+
* Using this prop removes automatic control of open-state
|
|
16
16
|
*/
|
|
17
17
|
open?: boolean;
|
|
18
18
|
/**
|
|
@@ -15,6 +15,7 @@ import { ChevronDownIcon } from "@navikt/aksel-icons";
|
|
|
15
15
|
import { composeEventHandlers } from "../util/composeEventHandlers.js";
|
|
16
16
|
import { useId } from "../util/hooks/index.js";
|
|
17
17
|
import { useControllableState } from "../util/hooks/useControllableState.js";
|
|
18
|
+
import { useI18n } from "../util/i18n/i18n.context.js";
|
|
18
19
|
import AnimateHeight from "./AnimateHeight.js";
|
|
19
20
|
import DataCell from "./DataCell.js";
|
|
20
21
|
import Row from "./Row.js";
|
|
@@ -25,14 +26,17 @@ export const ExpandableRow = forwardRef((_a, ref) => {
|
|
|
25
26
|
value: open,
|
|
26
27
|
onChange: onOpenChange,
|
|
27
28
|
});
|
|
29
|
+
const translate = useI18n("global");
|
|
28
30
|
const id = useId();
|
|
29
|
-
const expansionHandler = (
|
|
30
|
-
_setOpen((
|
|
31
|
-
|
|
31
|
+
const expansionHandler = (event) => {
|
|
32
|
+
_setOpen((oldOpen) => !oldOpen);
|
|
33
|
+
event.stopPropagation();
|
|
32
34
|
};
|
|
33
|
-
const
|
|
34
|
-
|
|
35
|
-
|
|
35
|
+
const handleRowClick = (event) => {
|
|
36
|
+
expandOnRowClick &&
|
|
37
|
+
!expansionDisabled &&
|
|
38
|
+
!isInteractiveTarget(event.target) &&
|
|
39
|
+
expansionHandler(event);
|
|
36
40
|
};
|
|
37
41
|
return (React.createElement(React.Fragment, null,
|
|
38
42
|
React.createElement(Row, Object.assign({}, rest, { ref: ref, className: cl("navds-table__expandable-row", className, {
|
|
@@ -44,7 +48,7 @@ export const ExpandableRow = forwardRef((_a, ref) => {
|
|
|
44
48
|
React.createElement(DataCell, { className: cl("navds-table__toggle-expand-cell", {
|
|
45
49
|
"navds-table__toggle-expand-cell--open": _open,
|
|
46
50
|
}), onClick: expansionHandler }, !expansionDisabled && (React.createElement("button", { className: "navds-table__toggle-expand-button", type: "button", "aria-controls": id, "aria-expanded": _open, onClick: expansionHandler },
|
|
47
|
-
React.createElement(ChevronDownIcon, { className: "navds-table__expandable-icon", title: _open ? "
|
|
51
|
+
React.createElement(ChevronDownIcon, { className: "navds-table__expandable-icon", title: _open ? translate("showLess") : translate("showMore") })))),
|
|
48
52
|
togglePlacement === "left" && children),
|
|
49
53
|
React.createElement("tr", { className: "navds-table__expanded-row", "aria-hidden": !_open, id: id },
|
|
50
54
|
React.createElement("td", { colSpan: colSpan, className: "navds-table__expanded-row-cell" },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExpandableRow.js","sourceRoot":"","sources":["../../src/table/ExpandableRow.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,EAAE,MAAM,MAAM,CAAC;AACtB,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAC5C,OAAO,QAAQ,MAAM,YAAY,CAAC;AAClC,OAAO,GAAiB,MAAM,OAAO,CAAC;AA+CtC,MAAM,CAAC,MAAM,aAAa,GAAsB,UAAU,CACxD,CACE,EAaC,EACD,GAAG,EACH,EAAE;QAfF,EACE,SAAS,EACT,QAAQ,EACR,OAAO,EACP,eAAe,GAAG,MAAM,EACxB,WAAW,GAAG,KAAK,EACnB,IAAI,EACJ,YAAY,EACZ,iBAAiB,GAAG,KAAK,EACzB,gBAAgB,GAAG,KAAK,EACxB,OAAO,GAAG,GAAG,EACb,OAAO,OAER,EADI,IAAI,cAZT,6JAaC,CADQ;IAIT,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,oBAAoB,CAAC;QAC7C,YAAY,EAAE,WAAW;QACzB,KAAK,EAAE,IAAI;QACX,QAAQ,EAAE,YAAY;KACvB,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"ExpandableRow.js","sourceRoot":"","sources":["../../src/table/ExpandableRow.tsx"],"names":[],"mappings":"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"}
|
|
@@ -4,7 +4,7 @@ import { ChevronLeftIcon, ChevronRightIcon } from "@navikt/aksel-icons";
|
|
|
4
4
|
function ScrollButton({ hidden, onClick, dir }) {
|
|
5
5
|
return (React.createElement("div", { className: cl("navds-tabs__scroll-button", {
|
|
6
6
|
"navds-tabs__scroll-button--hidden": hidden,
|
|
7
|
-
}), onClick: onClick, "aria-hidden": true }, dir === "left" ?
|
|
7
|
+
}), onClick: onClick, "aria-hidden": true }, dir === "left" ? React.createElement(ChevronLeftIcon, null) : React.createElement(ChevronRightIcon, null)));
|
|
8
8
|
}
|
|
9
9
|
export default ScrollButton;
|
|
10
10
|
//# sourceMappingURL=ScrollButtons.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScrollButtons.js","sourceRoot":"","sources":["../../../../src/tabs/parts/tablist/ScrollButtons.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,MAAM,CAAC;AACtB,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAQxE,SAAS,YAAY,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAqB;IAC/D,OAAO,CACL,6BACE,SAAS,EAAE,EAAE,CAAC,2BAA2B,EAAE;YACzC,mCAAmC,EAAE,MAAM;SAC5C,CAAC,EACF,OAAO,EAAE,OAAO,yBAGf,GAAG,KAAK,MAAM,CAAC,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"ScrollButtons.js","sourceRoot":"","sources":["../../../../src/tabs/parts/tablist/ScrollButtons.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,MAAM,CAAC;AACtB,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAQxE,SAAS,YAAY,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAqB;IAC/D,OAAO,CACL,6BACE,SAAS,EAAE,EAAE,CAAC,2BAA2B,EAAE;YACzC,mCAAmC,EAAE,MAAM;SAC5C,CAAC,EACF,OAAO,EAAE,OAAO,yBAGf,GAAG,KAAK,MAAM,CAAC,CAAC,CAAC,oBAAC,eAAe,OAAG,CAAC,CAAC,CAAC,oBAAC,gBAAgB,OAAG,CACxD,CACP,CAAC;AACJ,CAAC;AAED,eAAe,YAAY,CAAC"}
|
|
@@ -2,7 +2,5 @@ import { Component, ComponentTranslation, Translations } from "./i18n.types.js";
|
|
|
2
2
|
type NestedKeyOf<ObjectType extends object> = {
|
|
3
3
|
[Key in keyof ObjectType & (string | number)]: ObjectType[Key] extends object ? `${Key}.${NestedKeyOf<ObjectType[Key]>}` : `${Key}`;
|
|
4
4
|
}[keyof ObjectType & (string | number)];
|
|
5
|
-
export declare function useI18n<T extends Component>(componentName: T, ...local: (ComponentTranslation<T> | undefined)[]): (keypath: NestedKeyOf<Translations[T]>,
|
|
6
|
-
replacements: Record<string, string | number>;
|
|
7
|
-
}) => string;
|
|
5
|
+
export declare function useI18n<T extends Component>(componentName: T, ...local: (ComponentTranslation<T> | undefined)[]): (keypath: NestedKeyOf<Translations[T]>, replacements?: Record<string, string | number>) => string;
|
|
8
6
|
export {};
|
|
@@ -11,18 +11,18 @@ export function useI18n(componentName, ...local) {
|
|
|
11
11
|
/**
|
|
12
12
|
* https://github.com/Shopify/polaris/blob/2115f9ba2f5bcbf2ad15745233501bff2db81ecf/polaris-react/src/utilities/i18n/I18n.ts#L24
|
|
13
13
|
*/
|
|
14
|
-
const translate = (keypath,
|
|
14
|
+
const translate = (keypath, replacements) => {
|
|
15
15
|
const text = get(keypath, ...local, ...(Array.isArray(i18n)
|
|
16
16
|
? i18n.map((t) => t[componentName])
|
|
17
17
|
: [i18n[componentName]]));
|
|
18
|
-
if (
|
|
18
|
+
if (replacements) {
|
|
19
19
|
return text.replace(REPLACE_REGEX, (match) => {
|
|
20
20
|
const replacement = match.substring(1, match.length - 1);
|
|
21
|
-
if (
|
|
22
|
-
const replacementData = JSON.stringify(
|
|
21
|
+
if (replacements[replacement] === undefined) {
|
|
22
|
+
const replacementData = JSON.stringify(replacements);
|
|
23
23
|
throw new Error(`Error translating key '${keypath}'. No replacement syntax ({}) found for key '${replacement}'. The following replacements were passed: '${replacementData}'`);
|
|
24
24
|
}
|
|
25
|
-
return
|
|
25
|
+
return replacements[replacement]; // can also be a number, but JS doesn't mind...
|
|
26
26
|
});
|
|
27
27
|
}
|
|
28
28
|
return text;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"i18n.context.js","sourceRoot":"","sources":["../../../src/util/i18n/i18n.context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACnC,OAAO,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAC/E,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAG5B;;GAEG;AACH,MAAM,aAAa,GAAG,UAAU,CAAC;AASjC,MAAM,UAAU,OAAO,CACrB,aAAgB,EAChB,GAAG,KAA8C;IAEjD,MAAM,uBAAuB,GAAG,UAAU,CAAC,uBAAuB,CAAC,CAAC;IACpE,MAAM,IAAI,GAAG,uBAAuB,CAAC,YAAY,CAAC;IAElD;;OAEG;IACH,MAAM,SAAS,GAAG,CAChB,OAAqC,EACrC,
|
|
1
|
+
{"version":3,"file":"i18n.context.js","sourceRoot":"","sources":["../../../src/util/i18n/i18n.context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACnC,OAAO,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAC/E,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAG5B;;GAEG;AACH,MAAM,aAAa,GAAG,UAAU,CAAC;AASjC,MAAM,UAAU,OAAO,CACrB,aAAgB,EAChB,GAAG,KAA8C;IAEjD,MAAM,uBAAuB,GAAG,UAAU,CAAC,uBAAuB,CAAC,CAAC;IACpE,MAAM,IAAI,GAAG,uBAAuB,CAAC,YAAY,CAAC;IAElD;;OAEG;IACH,MAAM,SAAS,GAAG,CAChB,OAAqC,EACrC,YAA8C,EAC9C,EAAE;QACF,MAAM,IAAI,GAAG,GAAG,CACd,OAAO,EACP,GAAG,KAAK,EACR,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;YACrB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;YACnC,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAC3B,CAAC;QAEF,IAAI,YAAY,EAAE,CAAC;YACjB,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,KAAK,EAAE,EAAE;gBAC3C,MAAM,WAAW,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBAEzD,IAAI,YAAY,CAAC,WAAW,CAAC,KAAK,SAAS,EAAE,CAAC;oBAC5C,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;oBAErD,MAAM,IAAI,KAAK,CACb,0BAA0B,OAAO,gDAAgD,WAAW,+CAA+C,eAAe,GAAG,CAC9J,CAAC;gBACJ,CAAC;gBAED,OAAO,YAAY,CAAC,WAAW,CAAW,CAAC,CAAC,+CAA+C;YAC7F,CAAC,CAAC,CAAC;QACL,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IAEF,OAAO,SAAS,CAAC;AACnB,CAAC"}
|
|
@@ -1,4 +1,8 @@
|
|
|
1
1
|
declare const _default: {
|
|
2
|
+
global: {
|
|
3
|
+
showMore: string;
|
|
4
|
+
showLess: string;
|
|
5
|
+
};
|
|
2
6
|
FileUpload: {
|
|
3
7
|
dropzone: {
|
|
4
8
|
button: string;
|
|
@@ -35,5 +39,31 @@ declare const _default: {
|
|
|
35
39
|
labelSuffix: string;
|
|
36
40
|
};
|
|
37
41
|
};
|
|
42
|
+
ErrorSummary: {
|
|
43
|
+
heading: string;
|
|
44
|
+
};
|
|
45
|
+
Loader: {
|
|
46
|
+
title: string;
|
|
47
|
+
};
|
|
48
|
+
Modal: {
|
|
49
|
+
close: string;
|
|
50
|
+
};
|
|
51
|
+
Pagination: {
|
|
52
|
+
previous: string;
|
|
53
|
+
next: string;
|
|
54
|
+
};
|
|
55
|
+
ProgressBar: {
|
|
56
|
+
progress: string;
|
|
57
|
+
progressUnknown: string;
|
|
58
|
+
};
|
|
59
|
+
Search: {
|
|
60
|
+
clear: string;
|
|
61
|
+
search: string;
|
|
62
|
+
};
|
|
63
|
+
Textarea: {
|
|
64
|
+
maxLength: string;
|
|
65
|
+
charsTooMany: string;
|
|
66
|
+
charsLeft: string;
|
|
67
|
+
};
|
|
38
68
|
};
|
|
39
69
|
export default _default;
|
|
@@ -1,4 +1,8 @@
|
|
|
1
1
|
export default {
|
|
2
|
+
global: {
|
|
3
|
+
showMore: "Show more",
|
|
4
|
+
showLess: "Show less",
|
|
5
|
+
},
|
|
2
6
|
FileUpload: {
|
|
3
7
|
dropzone: {
|
|
4
8
|
button: "Choose file",
|
|
@@ -35,5 +39,31 @@ export default {
|
|
|
35
39
|
labelSuffix: "delete",
|
|
36
40
|
},
|
|
37
41
|
},
|
|
42
|
+
ErrorSummary: {
|
|
43
|
+
heading: "You must correct the following errors before you can continue:",
|
|
44
|
+
},
|
|
45
|
+
Loader: {
|
|
46
|
+
title: "Waiting…",
|
|
47
|
+
},
|
|
48
|
+
Modal: {
|
|
49
|
+
close: "Close",
|
|
50
|
+
},
|
|
51
|
+
Pagination: {
|
|
52
|
+
previous: "Previous",
|
|
53
|
+
next: "Next",
|
|
54
|
+
},
|
|
55
|
+
ProgressBar: {
|
|
56
|
+
progress: "{current} of {max}",
|
|
57
|
+
progressUnknown: "Progress is unknown, estimated time is {seconds} seconds.",
|
|
58
|
+
},
|
|
59
|
+
Search: {
|
|
60
|
+
clear: "Clear",
|
|
61
|
+
search: "Search",
|
|
62
|
+
},
|
|
63
|
+
Textarea: {
|
|
64
|
+
maxLength: "Text area with a {maxLength} character limit.",
|
|
65
|
+
charsTooMany: "{chars} characters too many",
|
|
66
|
+
charsLeft: "{chars} characters left",
|
|
67
|
+
},
|
|
38
68
|
};
|
|
39
69
|
//# sourceMappingURL=en.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"en.js","sourceRoot":"","sources":["../../../../src/util/i18n/locales/en.ts"],"names":[],"mappings":"AAEA,eAAe;IACb,UAAU,EAAE;QACV,QAAQ,EAAE;YACR,MAAM,EAAE,aAAa;YACrB,cAAc,EAAE,cAAc;YAC9B,WAAW,EAAE,yBAAyB;YACtC,mBAAmB,EAAE,0BAA0B;YAC/C,IAAI,EAAE,MAAM;YACZ,EAAE,EAAE,IAAI;YACR,QAAQ,EAAE,sBAAsB;YAChC,iBAAiB,EAAE,8BAA8B;SAClD;QACD,IAAI,EAAE;YACJ,gBAAgB,EAAE,8BAA8B;YAChD,iBAAiB,EAAE,aAAa;YAChC,SAAS,EAAE,YAAY;YACvB,WAAW,EAAE,cAAc;SAC5B;KACF;IACD,YAAY,EAAE;QACZ,IAAI,EAAE,mCAAmC;QACzC,YAAY,EAAE,gBAAgB;QAC9B,YAAY,EAAE,gBAAgB;KAC/B;IACD,KAAK,EAAE;QACL,UAAU,EAAE,aAAa;QACzB,YAAY,EAAE,eAAe;QAC7B,KAAK,EAAE,OAAO;QACd,IAAI,EAAE,aAAa;QACnB,OAAO,EAAE,SAAS;QAClB,OAAO,EAAE,SAAS;KACnB;IACD,KAAK,EAAE;QACL,SAAS,EAAE;YACT,WAAW,EAAE,QAAQ;SACtB;KACF;CACqB,CAAC"}
|
|
1
|
+
{"version":3,"file":"en.js","sourceRoot":"","sources":["../../../../src/util/i18n/locales/en.ts"],"names":[],"mappings":"AAEA,eAAe;IACb,MAAM,EAAE;QACN,QAAQ,EAAE,WAAW;QACrB,QAAQ,EAAE,WAAW;KACtB;IAED,UAAU,EAAE;QACV,QAAQ,EAAE;YACR,MAAM,EAAE,aAAa;YACrB,cAAc,EAAE,cAAc;YAC9B,WAAW,EAAE,yBAAyB;YACtC,mBAAmB,EAAE,0BAA0B;YAC/C,IAAI,EAAE,MAAM;YACZ,EAAE,EAAE,IAAI;YACR,QAAQ,EAAE,sBAAsB;YAChC,iBAAiB,EAAE,8BAA8B;SAClD;QACD,IAAI,EAAE;YACJ,gBAAgB,EAAE,8BAA8B;YAChD,iBAAiB,EAAE,aAAa;YAChC,SAAS,EAAE,YAAY;YACvB,WAAW,EAAE,cAAc;SAC5B;KACF;IACD,YAAY,EAAE;QACZ,IAAI,EAAE,mCAAmC;QACzC,YAAY,EAAE,gBAAgB;QAC9B,YAAY,EAAE,gBAAgB;KAC/B;IACD,KAAK,EAAE;QACL,UAAU,EAAE,aAAa;QACzB,YAAY,EAAE,eAAe;QAC7B,KAAK,EAAE,OAAO;QACd,IAAI,EAAE,aAAa;QACnB,OAAO,EAAE,SAAS;QAClB,OAAO,EAAE,SAAS;KACnB;IACD,KAAK,EAAE;QACL,SAAS,EAAE;YACT,WAAW,EAAE,QAAQ;SACtB;KACF;IACD,YAAY,EAAE;QACZ,OAAO,EAAE,gEAAgE;KAC1E;IACD,MAAM,EAAE;QACN,KAAK,EAAE,UAAU;KAClB;IACD,KAAK,EAAE;QACL,KAAK,EAAE,OAAO;KACf;IACD,UAAU,EAAE;QACV,QAAQ,EAAE,UAAU;QACpB,IAAI,EAAE,MAAM;KACb;IACD,WAAW,EAAE;QACX,QAAQ,EAAE,oBAAoB;QAC9B,eAAe,EACb,2DAA2D;KAC9D;IACD,MAAM,EAAE;QACN,KAAK,EAAE,OAAO;QACd,MAAM,EAAE,QAAQ;KACjB;IACD,QAAQ,EAAE;QACR,SAAS,EAAE,+CAA+C;QAC1D,YAAY,EAAE,6BAA6B;QAC3C,SAAS,EAAE,yBAAyB;KACrC;CACqB,CAAC"}
|
|
@@ -1,4 +1,8 @@
|
|
|
1
1
|
declare const _default: {
|
|
2
|
+
global: {
|
|
3
|
+
showMore: string;
|
|
4
|
+
showLess: string;
|
|
5
|
+
};
|
|
2
6
|
FileUpload: {
|
|
3
7
|
dropzone: {
|
|
4
8
|
button: string;
|
|
@@ -36,5 +40,32 @@ declare const _default: {
|
|
|
36
40
|
labelSuffix: string;
|
|
37
41
|
};
|
|
38
42
|
};
|
|
43
|
+
ErrorSummary: {
|
|
44
|
+
heading: string;
|
|
45
|
+
};
|
|
46
|
+
Loader: {
|
|
47
|
+
title: string;
|
|
48
|
+
};
|
|
49
|
+
Modal: {
|
|
50
|
+
close: string;
|
|
51
|
+
};
|
|
52
|
+
Pagination: {
|
|
53
|
+
previous: string;
|
|
54
|
+
next: string;
|
|
55
|
+
};
|
|
56
|
+
ProgressBar: {
|
|
57
|
+
progress: string;
|
|
58
|
+
progressUnknown: string;
|
|
59
|
+
};
|
|
60
|
+
Search: {
|
|
61
|
+
clear: string;
|
|
62
|
+
search: string;
|
|
63
|
+
};
|
|
64
|
+
Textarea: {
|
|
65
|
+
/** Screen readers only */
|
|
66
|
+
maxLength: string;
|
|
67
|
+
charsTooMany: string;
|
|
68
|
+
charsLeft: string;
|
|
69
|
+
};
|
|
39
70
|
};
|
|
40
71
|
export default _default;
|
|
@@ -1,4 +1,8 @@
|
|
|
1
1
|
export default {
|
|
2
|
+
global: {
|
|
3
|
+
showMore: "Vis mer",
|
|
4
|
+
showLess: "Vis mindre",
|
|
5
|
+
},
|
|
2
6
|
FileUpload: {
|
|
3
7
|
dropzone: {
|
|
4
8
|
button: "Velg fil",
|
|
@@ -36,5 +40,32 @@ export default {
|
|
|
36
40
|
labelSuffix: "slett",
|
|
37
41
|
},
|
|
38
42
|
},
|
|
43
|
+
ErrorSummary: {
|
|
44
|
+
heading: "Du må rette disse feilene før du kan fortsette:",
|
|
45
|
+
},
|
|
46
|
+
Loader: {
|
|
47
|
+
title: "Venter…",
|
|
48
|
+
},
|
|
49
|
+
Modal: {
|
|
50
|
+
close: "Lukk",
|
|
51
|
+
},
|
|
52
|
+
Pagination: {
|
|
53
|
+
previous: "Forrige",
|
|
54
|
+
next: "Neste",
|
|
55
|
+
},
|
|
56
|
+
ProgressBar: {
|
|
57
|
+
progress: "{current} av {max}",
|
|
58
|
+
progressUnknown: "Fremdrift kan ikke beregnes, antatt tid er {seconds} sekunder.",
|
|
59
|
+
},
|
|
60
|
+
Search: {
|
|
61
|
+
clear: "Tøm",
|
|
62
|
+
search: "Søk",
|
|
63
|
+
},
|
|
64
|
+
Textarea: {
|
|
65
|
+
/** Screen readers only */
|
|
66
|
+
maxLength: "Tekstområde med plass til {maxLength} tegn.",
|
|
67
|
+
charsTooMany: "{chars} tegn for mye",
|
|
68
|
+
charsLeft: "{chars} tegn igjen",
|
|
69
|
+
},
|
|
39
70
|
};
|
|
40
71
|
//# sourceMappingURL=nb.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nb.js","sourceRoot":"","sources":["../../../../src/util/i18n/locales/nb.ts"],"names":[],"mappings":"AAQA,eAAe;IACb,UAAU,EAAE;QACV,QAAQ,EAAE;YACR,MAAM,EAAE,UAAU;YAClB,cAAc,EAAE,YAAY;YAC5B,WAAW,EAAE,wBAAwB;YACrC,mBAAmB,EAAE,wBAAwB;YAC7C,IAAI,EAAE,OAAO;YACb,EAAE,EAAE,OAAO;YACX,QAAQ,EAAE,6BAA6B;YACvC,iBAAiB,EAAE,mCAAmC;SACvD;QACD,IAAI,EAAE;YACJ,gBAAgB,EAAE,gCAAgC;YAClD,iBAAiB,EAAE,aAAa;YAChC,SAAS,EAAE,aAAa;YACxB,WAAW,EAAE,aAAa;SAC3B;KACF;IACD,YAAY,EAAE;QACZ,IAAI,EAAE,mCAAmC;QACzC,YAAY,EAAE,eAAe;QAC7B,YAAY,EAAE,iBAAiB;KAChC;IACD,KAAK,EAAE;QACL,UAAU,EAAE,aAAa;QACzB,YAAY,EAAE,cAAc;QAC5B,KAAK,EAAE,MAAM;QACb,IAAI,EAAE,aAAa;QACnB,OAAO,EAAE,SAAS;QAClB,OAAO,EAAE,UAAU;KACpB;IACD,KAAK,EAAE;QACL,SAAS,EAAE;YACT,8DAA8D;YAC9D,WAAW,EAAE,OAAO;SACrB;KACF;CACuB,CAAC"}
|
|
1
|
+
{"version":3,"file":"nb.js","sourceRoot":"","sources":["../../../../src/util/i18n/locales/nb.ts"],"names":[],"mappings":"AAQA,eAAe;IACb,MAAM,EAAE;QACN,QAAQ,EAAE,SAAS;QACnB,QAAQ,EAAE,YAAY;KACvB;IAED,UAAU,EAAE;QACV,QAAQ,EAAE;YACR,MAAM,EAAE,UAAU;YAClB,cAAc,EAAE,YAAY;YAC5B,WAAW,EAAE,wBAAwB;YACrC,mBAAmB,EAAE,wBAAwB;YAC7C,IAAI,EAAE,OAAO;YACb,EAAE,EAAE,OAAO;YACX,QAAQ,EAAE,6BAA6B;YACvC,iBAAiB,EAAE,mCAAmC;SACvD;QACD,IAAI,EAAE;YACJ,gBAAgB,EAAE,gCAAgC;YAClD,iBAAiB,EAAE,aAAa;YAChC,SAAS,EAAE,aAAa;YACxB,WAAW,EAAE,aAAa;SAC3B;KACF;IACD,YAAY,EAAE;QACZ,IAAI,EAAE,mCAAmC;QACzC,YAAY,EAAE,eAAe;QAC7B,YAAY,EAAE,iBAAiB;KAChC;IACD,KAAK,EAAE;QACL,UAAU,EAAE,aAAa;QACzB,YAAY,EAAE,cAAc;QAC5B,KAAK,EAAE,MAAM;QACb,IAAI,EAAE,aAAa;QACnB,OAAO,EAAE,SAAS;QAClB,OAAO,EAAE,UAAU;KACpB;IACD,KAAK,EAAE;QACL,SAAS,EAAE;YACT,8DAA8D;YAC9D,WAAW,EAAE,OAAO;SACrB;KACF;IACD,YAAY,EAAE;QACZ,OAAO,EAAE,iDAAiD;KAC3D;IACD,MAAM,EAAE;QACN,KAAK,EAAE,SAAS;KACjB;IACD,KAAK,EAAE;QACL,KAAK,EAAE,MAAM;KACd;IACD,UAAU,EAAE;QACV,QAAQ,EAAE,SAAS;QACnB,IAAI,EAAE,OAAO;KACd;IACD,WAAW,EAAE;QACX,QAAQ,EAAE,oBAAoB;QAC9B,eAAe,EACb,gEAAgE;KACnE;IACD,MAAM,EAAE;QACN,KAAK,EAAE,KAAK;QACZ,MAAM,EAAE,KAAK;KACd;IACD,QAAQ,EAAE;QACR,0BAA0B;QAC1B,SAAS,EAAE,6CAA6C;QACxD,YAAY,EAAE,sBAAsB;QACpC,SAAS,EAAE,oBAAoB;KAChC;CACuB,CAAC"}
|
|
@@ -1,4 +1,8 @@
|
|
|
1
1
|
declare const _default: {
|
|
2
|
+
global: {
|
|
3
|
+
showMore: string;
|
|
4
|
+
showLess: string;
|
|
5
|
+
};
|
|
2
6
|
FileUpload: {
|
|
3
7
|
dropzone: {
|
|
4
8
|
button: string;
|
|
@@ -35,5 +39,31 @@ declare const _default: {
|
|
|
35
39
|
labelSuffix: string;
|
|
36
40
|
};
|
|
37
41
|
};
|
|
42
|
+
ErrorSummary: {
|
|
43
|
+
heading: string;
|
|
44
|
+
};
|
|
45
|
+
Loader: {
|
|
46
|
+
title: string;
|
|
47
|
+
};
|
|
48
|
+
Modal: {
|
|
49
|
+
close: string;
|
|
50
|
+
};
|
|
51
|
+
Pagination: {
|
|
52
|
+
previous: string;
|
|
53
|
+
next: string;
|
|
54
|
+
};
|
|
55
|
+
ProgressBar: {
|
|
56
|
+
progress: string;
|
|
57
|
+
progressUnknown: string;
|
|
58
|
+
};
|
|
59
|
+
Search: {
|
|
60
|
+
clear: string;
|
|
61
|
+
search: string;
|
|
62
|
+
};
|
|
63
|
+
Textarea: {
|
|
64
|
+
maxLength: string;
|
|
65
|
+
charsTooMany: string;
|
|
66
|
+
charsLeft: string;
|
|
67
|
+
};
|
|
38
68
|
};
|
|
39
69
|
export default _default;
|
|
@@ -1,4 +1,8 @@
|
|
|
1
1
|
export default {
|
|
2
|
+
global: {
|
|
3
|
+
showMore: "Vis meir",
|
|
4
|
+
showLess: "Vis mindre",
|
|
5
|
+
},
|
|
2
6
|
FileUpload: {
|
|
3
7
|
dropzone: {
|
|
4
8
|
button: "Vel fil",
|
|
@@ -35,5 +39,31 @@ export default {
|
|
|
35
39
|
labelSuffix: "slett",
|
|
36
40
|
},
|
|
37
41
|
},
|
|
42
|
+
ErrorSummary: {
|
|
43
|
+
heading: "Du må rette desse feila før du kan halde fram:",
|
|
44
|
+
},
|
|
45
|
+
Loader: {
|
|
46
|
+
title: "Ventar…",
|
|
47
|
+
},
|
|
48
|
+
Modal: {
|
|
49
|
+
close: "Lukk",
|
|
50
|
+
},
|
|
51
|
+
Pagination: {
|
|
52
|
+
previous: "Førre",
|
|
53
|
+
next: "Neste",
|
|
54
|
+
},
|
|
55
|
+
ProgressBar: {
|
|
56
|
+
progress: "{current} av {max}",
|
|
57
|
+
progressUnknown: "Framdrift kan ikkje bereknast, antatt tid er {seconds} sekund.",
|
|
58
|
+
},
|
|
59
|
+
Search: {
|
|
60
|
+
clear: "Tøm",
|
|
61
|
+
search: "Søk",
|
|
62
|
+
},
|
|
63
|
+
Textarea: {
|
|
64
|
+
maxLength: "Tekstområde med plass til {maxLength} teikn.",
|
|
65
|
+
charsTooMany: "{chars} teikn for mykje",
|
|
66
|
+
charsLeft: "{chars} teikn igjen",
|
|
67
|
+
},
|
|
38
68
|
};
|
|
39
69
|
//# sourceMappingURL=nn.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nn.js","sourceRoot":"","sources":["../../../../src/util/i18n/locales/nn.ts"],"names":[],"mappings":"AAEA,eAAe;IACb,UAAU,EAAE;QACV,QAAQ,EAAE;YACR,MAAM,EAAE,SAAS;YACjB,cAAc,EAAE,WAAW;YAC3B,WAAW,EAAE,uBAAuB;YACpC,mBAAmB,EAAE,wBAAwB;YAC7C,IAAI,EAAE,OAAO;YACb,EAAE,EAAE,OAAO;YACX,QAAQ,EAAE,6BAA6B;YACvC,iBAAiB,EAAE,qCAAqC;SACzD;QACD,IAAI,EAAE;YACJ,gBAAgB,EAAE,+BAA+B;YACjD,iBAAiB,EAAE,YAAY;YAC/B,SAAS,EAAE,aAAa;YACxB,WAAW,EAAE,aAAa;SAC3B;KACF;IACD,YAAY,EAAE;QACZ,IAAI,EAAE,mCAAmC;QACzC,YAAY,EAAE,eAAe;QAC7B,YAAY,EAAE,iBAAiB;KAChC;IACD,KAAK,EAAE;QACL,UAAU,EAAE,aAAa;QACzB,YAAY,EAAE,cAAc;QAC5B,KAAK,EAAE,MAAM;QACb,IAAI,EAAE,aAAa;QACnB,OAAO,EAAE,SAAS;QAClB,OAAO,EAAE,UAAU;KACpB;IACD,KAAK,EAAE;QACL,SAAS,EAAE;YACT,WAAW,EAAE,OAAO;SACrB;KACF;CACqB,CAAC"}
|
|
1
|
+
{"version":3,"file":"nn.js","sourceRoot":"","sources":["../../../../src/util/i18n/locales/nn.ts"],"names":[],"mappings":"AAEA,eAAe;IACb,MAAM,EAAE;QACN,QAAQ,EAAE,UAAU;QACpB,QAAQ,EAAE,YAAY;KACvB;IAED,UAAU,EAAE;QACV,QAAQ,EAAE;YACR,MAAM,EAAE,SAAS;YACjB,cAAc,EAAE,WAAW;YAC3B,WAAW,EAAE,uBAAuB;YACpC,mBAAmB,EAAE,wBAAwB;YAC7C,IAAI,EAAE,OAAO;YACb,EAAE,EAAE,OAAO;YACX,QAAQ,EAAE,6BAA6B;YACvC,iBAAiB,EAAE,qCAAqC;SACzD;QACD,IAAI,EAAE;YACJ,gBAAgB,EAAE,+BAA+B;YACjD,iBAAiB,EAAE,YAAY;YAC/B,SAAS,EAAE,aAAa;YACxB,WAAW,EAAE,aAAa;SAC3B;KACF;IACD,YAAY,EAAE;QACZ,IAAI,EAAE,mCAAmC;QACzC,YAAY,EAAE,eAAe;QAC7B,YAAY,EAAE,iBAAiB;KAChC;IACD,KAAK,EAAE;QACL,UAAU,EAAE,aAAa;QACzB,YAAY,EAAE,cAAc;QAC5B,KAAK,EAAE,MAAM;QACb,IAAI,EAAE,aAAa;QACnB,OAAO,EAAE,SAAS;QAClB,OAAO,EAAE,UAAU;KACpB;IACD,KAAK,EAAE;QACL,SAAS,EAAE;YACT,WAAW,EAAE,OAAO;SACrB;KACF;IACD,YAAY,EAAE;QACZ,OAAO,EAAE,gDAAgD;KAC1D;IACD,MAAM,EAAE;QACN,KAAK,EAAE,SAAS;KACjB;IACD,KAAK,EAAE;QACL,KAAK,EAAE,MAAM;KACd;IACD,UAAU,EAAE;QACV,QAAQ,EAAE,OAAO;QACjB,IAAI,EAAE,OAAO;KACd;IACD,WAAW,EAAE;QACX,QAAQ,EAAE,oBAAoB;QAC9B,eAAe,EACb,gEAAgE;KACnE;IACD,MAAM,EAAE;QACN,KAAK,EAAE,KAAK;QACZ,MAAM,EAAE,KAAK;KACd;IACD,QAAQ,EAAE;QACR,SAAS,EAAE,8CAA8C;QACzD,YAAY,EAAE,yBAAyB;QACvC,SAAS,EAAE,qBAAqB;KACjC;CACqB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@navikt/ds-react",
|
|
3
|
-
"version": "7.4.
|
|
3
|
+
"version": "7.4.2",
|
|
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",
|
|
@@ -604,8 +604,8 @@
|
|
|
604
604
|
"dependencies": {
|
|
605
605
|
"@floating-ui/react": "0.25.4",
|
|
606
606
|
"@floating-ui/react-dom": "^2.0.9",
|
|
607
|
-
"@navikt/aksel-icons": "^7.4.
|
|
608
|
-
"@navikt/ds-tokens": "^7.4.
|
|
607
|
+
"@navikt/aksel-icons": "^7.4.2",
|
|
608
|
+
"@navikt/ds-tokens": "^7.4.2",
|
|
609
609
|
"clsx": "^2.1.0",
|
|
610
610
|
"date-fns": "^3.0.0",
|
|
611
611
|
"react-day-picker": "8.10.1"
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import cl from "clsx";
|
|
2
2
|
import React, { forwardRef, useContext } from "react";
|
|
3
3
|
import { ChevronDownIcon } from "@navikt/aksel-icons";
|
|
4
|
+
import { useI18n } from "../util/i18n/i18n.context";
|
|
4
5
|
import { ExpansionCardContext } from "./context";
|
|
5
6
|
|
|
6
7
|
export interface ExpansionCardHeaderProps
|
|
@@ -13,6 +14,7 @@ const ExpansionCardHeader = forwardRef<
|
|
|
13
14
|
ExpansionCardHeaderProps
|
|
14
15
|
>(({ children, className, ...rest }, ref) => {
|
|
15
16
|
const panelContext = useContext(ExpansionCardContext);
|
|
17
|
+
const translate = useI18n("global");
|
|
16
18
|
|
|
17
19
|
if (panelContext === null) {
|
|
18
20
|
console.error(
|
|
@@ -31,13 +33,13 @@ const ExpansionCardHeader = forwardRef<
|
|
|
31
33
|
|
|
32
34
|
<button
|
|
33
35
|
className="navds-expansioncard__header-button"
|
|
34
|
-
onClick={
|
|
36
|
+
onClick={panelContext.toggleOpen}
|
|
35
37
|
type="button"
|
|
36
38
|
aria-expanded={panelContext.open}
|
|
37
39
|
>
|
|
38
40
|
<ChevronDownIcon
|
|
39
41
|
className="navds-expansioncard__header-chevron"
|
|
40
|
-
title="
|
|
42
|
+
title={translate("showMore")}
|
|
41
43
|
/>
|
|
42
44
|
</button>
|
|
43
45
|
</div>
|
|
@@ -45,7 +45,7 @@ const useVirtualFocus = (
|
|
|
45
45
|
|
|
46
46
|
const setActiveAndScrollToElement = (element?: HTMLElement) => {
|
|
47
47
|
setActiveElement(element);
|
|
48
|
-
element?.scrollIntoView?.({ block: "
|
|
48
|
+
element?.scrollIntoView?.({ block: "center" });
|
|
49
49
|
};
|
|
50
50
|
|
|
51
51
|
const moveFocusUp = () => {
|
|
@@ -11,6 +11,7 @@ import { useMergeRefs } from "../../../util/hooks";
|
|
|
11
11
|
import filteredOptionsUtil from "../FilteredOptions/filtered-options-util";
|
|
12
12
|
import { useFilteredOptionsContext } from "../FilteredOptions/filteredOptionsContext";
|
|
13
13
|
import { useSelectedOptionsContext } from "../SelectedOptions/selectedOptionsContext";
|
|
14
|
+
import { ComboboxOption } from "../types";
|
|
14
15
|
import { useInputContext } from "./Input.context";
|
|
15
16
|
|
|
16
17
|
interface InputProps
|
|
@@ -93,19 +94,36 @@ const Input = forwardRef<HTMLInputElement, InputProps>(
|
|
|
93
94
|
clearInput(event);
|
|
94
95
|
} else if ((allowNewValues || shouldAutocomplete) && value !== "") {
|
|
95
96
|
event.preventDefault();
|
|
96
|
-
|
|
97
|
-
const
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
97
|
+
|
|
98
|
+
const autoCompletedOption =
|
|
99
|
+
filteredOptionsUtil.getFirstValueStartingWith(
|
|
100
|
+
value,
|
|
101
|
+
filteredOptions,
|
|
102
|
+
);
|
|
103
|
+
|
|
104
|
+
/*
|
|
105
|
+
* User can have matching results, while not using the autocomplete result
|
|
106
|
+
* E.g. User types "Oslo", list has is "Oslo kommune", but user hits backspace, canceling autocomplete.
|
|
107
|
+
*/
|
|
108
|
+
const autoCompleteMatchesValue =
|
|
109
|
+
filteredOptionsUtil.normalizeText(value) ===
|
|
110
|
+
filteredOptionsUtil.normalizeText(autoCompletedOption?.label ?? "");
|
|
111
|
+
|
|
112
|
+
let selectedValue: ComboboxOption | undefined;
|
|
113
|
+
|
|
114
|
+
if (
|
|
115
|
+
shouldAutocomplete &&
|
|
116
|
+
autoCompletedOption &&
|
|
117
|
+
autoCompleteMatchesValue
|
|
118
|
+
) {
|
|
119
|
+
selectedValue = autoCompletedOption;
|
|
120
|
+
} else if (allowNewValues && isValueNew) {
|
|
121
|
+
selectedValue = { label: value, value };
|
|
122
|
+
}
|
|
104
123
|
|
|
105
124
|
if (!selectedValue) {
|
|
106
125
|
return;
|
|
107
126
|
}
|
|
108
|
-
|
|
109
127
|
toggleOption(selectedValue, event);
|
|
110
128
|
if (!isMultiSelect && !isTextInSelectedOptions(selectedValue.label)) {
|
|
111
129
|
toggleIsListOpen(false);
|
|
@@ -290,6 +290,45 @@ describe("Render combobox", () => {
|
|
|
290
290
|
false,
|
|
291
291
|
);
|
|
292
292
|
});
|
|
293
|
+
|
|
294
|
+
test("and pressing enter to select autocompleted word will select existing word when addNewOptions is true", async () => {
|
|
295
|
+
const onToggleSelected = vi.fn();
|
|
296
|
+
render(
|
|
297
|
+
<App
|
|
298
|
+
onToggleSelected={onToggleSelected}
|
|
299
|
+
options={options.map((opt) => ({
|
|
300
|
+
label: `${opt} (${opt})`,
|
|
301
|
+
value: opt,
|
|
302
|
+
}))}
|
|
303
|
+
shouldAutocomplete
|
|
304
|
+
allowNewValues
|
|
305
|
+
/>,
|
|
306
|
+
);
|
|
307
|
+
|
|
308
|
+
const combobox = screen.getByRole("combobox", {
|
|
309
|
+
name: "Hva er dine favorittfrukter?",
|
|
310
|
+
});
|
|
311
|
+
|
|
312
|
+
await act(async () => {
|
|
313
|
+
await userEvent.click(combobox);
|
|
314
|
+
|
|
315
|
+
await userEvent.type(combobox, "p");
|
|
316
|
+
});
|
|
317
|
+
|
|
318
|
+
expect(combobox.getAttribute("value")).toBe(
|
|
319
|
+
"passion fruit (passion fruit)",
|
|
320
|
+
);
|
|
321
|
+
|
|
322
|
+
await act(async () => {
|
|
323
|
+
await userEvent.keyboard("{Enter}");
|
|
324
|
+
});
|
|
325
|
+
|
|
326
|
+
expect(onToggleSelected).toHaveBeenCalledWith(
|
|
327
|
+
"passion fruit",
|
|
328
|
+
true,
|
|
329
|
+
false,
|
|
330
|
+
);
|
|
331
|
+
});
|
|
293
332
|
});
|
|
294
333
|
|
|
295
334
|
describe("has keyboard navigation", () => {
|