@norges-domstoler/dds-components 21.17.0 → 21.17.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/dist/index.d.mts +4 -4
- package/dist/index.d.ts +4 -4
- package/dist/index.js +148 -107
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +140 -99
- package/dist/index.mjs.map +1 -1
- package/package.json +3 -3
package/dist/index.mjs
CHANGED
|
@@ -2899,8 +2899,8 @@ function useTranslation() {
|
|
|
2899
2899
|
const t = (text) => text[lang];
|
|
2900
2900
|
return { t, lang };
|
|
2901
2901
|
}
|
|
2902
|
-
function createTexts(
|
|
2903
|
-
return
|
|
2902
|
+
function createTexts(texts28) {
|
|
2903
|
+
return texts28;
|
|
2904
2904
|
}
|
|
2905
2905
|
|
|
2906
2906
|
// src/DdsProvider/DdsProvider.tsx
|
|
@@ -3879,6 +3879,8 @@ var Button = ({
|
|
|
3879
3879
|
...rest
|
|
3880
3880
|
}) => {
|
|
3881
3881
|
const { purpose: groupPurpose, size: groupSize } = useButtonGroupContext();
|
|
3882
|
+
const { t } = useTranslation();
|
|
3883
|
+
const spinnerTooltip = loadingTooltip != null ? loadingTooltip : t(texts2.saving);
|
|
3882
3884
|
const hasLabel = !!children;
|
|
3883
3885
|
const hasIcon = !!icon;
|
|
3884
3886
|
const hasLabelAndIcon = hasIcon && hasLabel;
|
|
@@ -3919,7 +3921,7 @@ var Button = ({
|
|
|
3919
3921
|
{
|
|
3920
3922
|
size: "1em",
|
|
3921
3923
|
color: purpose === "primary" || purpose === "danger" ? "iconOnAction" : "iconDefault",
|
|
3922
|
-
tooltip:
|
|
3924
|
+
tooltip: spinnerTooltip,
|
|
3923
3925
|
className: Button_default.icon
|
|
3924
3926
|
}
|
|
3925
3927
|
) })
|
|
@@ -3963,6 +3965,14 @@ var Button = ({
|
|
|
3963
3965
|
);
|
|
3964
3966
|
};
|
|
3965
3967
|
Button.displayName = "Button";
|
|
3968
|
+
var texts2 = createTexts({
|
|
3969
|
+
saving: {
|
|
3970
|
+
no: "Lagring p\xE5g\xE5r",
|
|
3971
|
+
nb: "Lagring p\xE5g\xE5r",
|
|
3972
|
+
nn: "Lagring p\xE5g\xE5r",
|
|
3973
|
+
en: "Saving"
|
|
3974
|
+
}
|
|
3975
|
+
});
|
|
3966
3976
|
|
|
3967
3977
|
// src/components/OverflowMenu/OverflowMenu.tsx
|
|
3968
3978
|
import { useEffect as useEffect15 } from "react";
|
|
@@ -4442,7 +4452,7 @@ var Breadcrumbs = ({
|
|
|
4442
4452
|
size: "xsmall",
|
|
4443
4453
|
icon: MoreHorizontalIcon,
|
|
4444
4454
|
purpose: "tertiary",
|
|
4445
|
-
"aria-label": bChildrenTruncated.length > 1 ? t(
|
|
4455
|
+
"aria-label": bChildrenTruncated.length > 1 ? t(texts3.showHiddenTo(bChildren.length - 1)) : t(texts3.showHidden)
|
|
4446
4456
|
}
|
|
4447
4457
|
),
|
|
4448
4458
|
/* @__PURE__ */ jsx205(OverflowMenu, { children: /* @__PURE__ */ jsx205(OverflowMenuList, { children: bChildrenTruncated }) })
|
|
@@ -4464,7 +4474,7 @@ var Breadcrumbs = ({
|
|
|
4464
4474
|
"nav",
|
|
4465
4475
|
{
|
|
4466
4476
|
...getBaseHTMLProps(id, className, htmlProps, rest),
|
|
4467
|
-
"aria-label": t(
|
|
4477
|
+
"aria-label": t(texts3.breadcrumbs),
|
|
4468
4478
|
children: [
|
|
4469
4479
|
/* @__PURE__ */ jsx205(
|
|
4470
4480
|
HStack,
|
|
@@ -4480,7 +4490,7 @@ var Breadcrumbs = ({
|
|
|
4480
4490
|
);
|
|
4481
4491
|
};
|
|
4482
4492
|
Breadcrumbs.displayName = "Breadcrumbs";
|
|
4483
|
-
var
|
|
4493
|
+
var texts3 = createTexts({
|
|
4484
4494
|
breadcrumbs: {
|
|
4485
4495
|
nb: "Br\xF8dsmulesti",
|
|
4486
4496
|
no: "Br\xF8dsmulesti",
|
|
@@ -5463,7 +5473,7 @@ var Chip = ({
|
|
|
5463
5473
|
icon: CloseSmallIcon,
|
|
5464
5474
|
purpose: "tertiary",
|
|
5465
5475
|
onClick,
|
|
5466
|
-
"aria-label": ariaLabel != null ? ariaLabel : t(
|
|
5476
|
+
"aria-label": ariaLabel != null ? ariaLabel : t(texts4.removeChip) + (text ? ` ${text}` : "")
|
|
5467
5477
|
}
|
|
5468
5478
|
)
|
|
5469
5479
|
]
|
|
@@ -5471,7 +5481,7 @@ var Chip = ({
|
|
|
5471
5481
|
) : null;
|
|
5472
5482
|
};
|
|
5473
5483
|
Chip.displayName = "Chip";
|
|
5474
|
-
var
|
|
5484
|
+
var texts4 = createTexts({
|
|
5475
5485
|
removeChip: {
|
|
5476
5486
|
nb: "Fjern merkelapp",
|
|
5477
5487
|
no: "Fjern merkelapp",
|
|
@@ -5598,7 +5608,7 @@ function CookieBanner({
|
|
|
5598
5608
|
{
|
|
5599
5609
|
as: Button,
|
|
5600
5610
|
showBelow: collapsedBreakpoint,
|
|
5601
|
-
"aria-label": t(
|
|
5611
|
+
"aria-label": t(texts5.expandConsent),
|
|
5602
5612
|
purpose: "tertiary",
|
|
5603
5613
|
icon: ExpandIcon,
|
|
5604
5614
|
onClick: () => setIsCollapsedOnBreakpoint(false),
|
|
@@ -5632,7 +5642,7 @@ function CookieBanner({
|
|
|
5632
5642
|
);
|
|
5633
5643
|
}
|
|
5634
5644
|
CookieBanner.displayName = "CookieBanner";
|
|
5635
|
-
var
|
|
5645
|
+
var texts5 = createTexts({
|
|
5636
5646
|
expandConsent: {
|
|
5637
5647
|
nb: "Utvid samtykke for bruk av informasjonskapsler",
|
|
5638
5648
|
no: "Utvid samtykke for bruk av informasjonskapsler",
|
|
@@ -5956,13 +5966,13 @@ function CalendarGrid({ state, ...props }) {
|
|
|
5956
5966
|
} = useCalendarGrid(props, state);
|
|
5957
5967
|
const weeksInMonth = getWeeksInMonth(state.visibleRange.start, locale);
|
|
5958
5968
|
const weekDays = [
|
|
5959
|
-
{ short: t(
|
|
5960
|
-
{ short: t(
|
|
5961
|
-
{ short: t(
|
|
5962
|
-
{ short: t(
|
|
5963
|
-
{ short: t(
|
|
5964
|
-
{ short: t(
|
|
5965
|
-
{ short: t(
|
|
5969
|
+
{ short: t(texts6.mo), full: t(texts6.monday) },
|
|
5970
|
+
{ short: t(texts6.tu), full: t(texts6.tuesday) },
|
|
5971
|
+
{ short: t(texts6.we), full: t(texts6.wednesday) },
|
|
5972
|
+
{ short: t(texts6.th), full: t(texts6.thursday) },
|
|
5973
|
+
{ short: t(texts6.fr), full: t(texts6.friday) },
|
|
5974
|
+
{ short: t(texts6.sa), full: t(texts6.saturday) },
|
|
5975
|
+
{ short: t(texts6.su), full: t(texts6.sunday) }
|
|
5966
5976
|
];
|
|
5967
5977
|
const { showWeekNumbers, onClose } = useContext10(CalendarPopoverContext);
|
|
5968
5978
|
const typographyCn = [
|
|
@@ -5988,7 +5998,7 @@ function CalendarGrid({ state, ...props }) {
|
|
|
5988
5998
|
className: cn(DateInput_default["calendar__grid-element"], ...typographyCn),
|
|
5989
5999
|
children: [
|
|
5990
6000
|
/* @__PURE__ */ jsx227("span", { "aria-hidden": true, children: "#" }),
|
|
5991
|
-
/* @__PURE__ */ jsx227(VisuallyHidden, { children: t(
|
|
6001
|
+
/* @__PURE__ */ jsx227(VisuallyHidden, { children: t(texts6.weekNumber) })
|
|
5992
6002
|
]
|
|
5993
6003
|
}
|
|
5994
6004
|
),
|
|
@@ -6031,7 +6041,7 @@ function CalendarGrid({ state, ...props }) {
|
|
|
6031
6041
|
);
|
|
6032
6042
|
}
|
|
6033
6043
|
CalendarGrid.displayName = "CalendarGrid";
|
|
6034
|
-
var
|
|
6044
|
+
var texts6 = createTexts({
|
|
6035
6045
|
weekNumber: {
|
|
6036
6046
|
nb: "Ukenummer",
|
|
6037
6047
|
no: "Ukenummer",
|
|
@@ -6163,7 +6173,7 @@ function Calendar(props) {
|
|
|
6163
6173
|
Button,
|
|
6164
6174
|
{
|
|
6165
6175
|
type: "button",
|
|
6166
|
-
"aria-label": t(
|
|
6176
|
+
"aria-label": t(texts7.previousMonth),
|
|
6167
6177
|
onClick: (e) => onPrev == null ? void 0 : onPrev(e),
|
|
6168
6178
|
size: "small",
|
|
6169
6179
|
purpose: "tertiary",
|
|
@@ -6185,7 +6195,7 @@ function Calendar(props) {
|
|
|
6185
6195
|
Button,
|
|
6186
6196
|
{
|
|
6187
6197
|
type: "button",
|
|
6188
|
-
"aria-label": t(
|
|
6198
|
+
"aria-label": t(texts7.nextMonth),
|
|
6189
6199
|
onClick: (e) => onNext == null ? void 0 : onNext(e),
|
|
6190
6200
|
size: "small",
|
|
6191
6201
|
purpose: "tertiary",
|
|
@@ -6198,7 +6208,7 @@ function Calendar(props) {
|
|
|
6198
6208
|
] });
|
|
6199
6209
|
}
|
|
6200
6210
|
Calendar.displayName = "Calendar";
|
|
6201
|
-
var
|
|
6211
|
+
var texts7 = createTexts({
|
|
6202
6212
|
nextMonth: {
|
|
6203
6213
|
nb: "Neste m\xE5ned",
|
|
6204
6214
|
no: "Neste m\xE5ned",
|
|
@@ -6613,7 +6623,7 @@ function DateField({
|
|
|
6613
6623
|
ClearButton,
|
|
6614
6624
|
{
|
|
6615
6625
|
absolute: false,
|
|
6616
|
-
"aria-label": t(
|
|
6626
|
+
"aria-label": t(texts8.clearDate),
|
|
6617
6627
|
"aria-hidden": !hasValue,
|
|
6618
6628
|
className: cn(
|
|
6619
6629
|
DateInput_default["clear-button"],
|
|
@@ -6639,7 +6649,7 @@ function DateField({
|
|
|
6639
6649
|
);
|
|
6640
6650
|
}
|
|
6641
6651
|
DateField.displayName = "DateField";
|
|
6642
|
-
var
|
|
6652
|
+
var texts8 = createTexts({
|
|
6643
6653
|
clearDate: {
|
|
6644
6654
|
en: "Clear date",
|
|
6645
6655
|
nb: "T\xF8m dato",
|
|
@@ -6733,6 +6743,36 @@ DatePicker.displayName = "DatePicker";
|
|
|
6733
6743
|
import { useTimeField } from "@react-aria/datepicker";
|
|
6734
6744
|
import { useTimeFieldState } from "@react-stately/datepicker";
|
|
6735
6745
|
import { useRef as useRef18 } from "react";
|
|
6746
|
+
|
|
6747
|
+
// src/components/date-inputs/TimePicker/TimePicker.utils.ts
|
|
6748
|
+
function formatTimeSegments(segments) {
|
|
6749
|
+
const hourSegment = segments.find((segment) => segment.type === "hour");
|
|
6750
|
+
const minuteSegment = segments.find((segment) => segment.type === "minute");
|
|
6751
|
+
const separatorSegment = segments.find(
|
|
6752
|
+
(segment) => segment.type === "literal" && segment.isPlaceholder === void 0
|
|
6753
|
+
);
|
|
6754
|
+
if (!hourSegment || !minuteSegment || !separatorSegment) {
|
|
6755
|
+
throw new Error("Invalid time segments");
|
|
6756
|
+
}
|
|
6757
|
+
const formattedHourSegment = {
|
|
6758
|
+
...hourSegment,
|
|
6759
|
+
text: hourSegment.text.padStart(2, "0"),
|
|
6760
|
+
placeholder: "\u2013\u2013"
|
|
6761
|
+
};
|
|
6762
|
+
const formattedMinuteSegment = {
|
|
6763
|
+
...minuteSegment,
|
|
6764
|
+
text: minuteSegment.text.padStart(2, "0"),
|
|
6765
|
+
placeholder: "\u2013\u2013"
|
|
6766
|
+
};
|
|
6767
|
+
const formattedSeparatorSegment = { ...separatorSegment, text: ":" };
|
|
6768
|
+
return [
|
|
6769
|
+
formattedHourSegment,
|
|
6770
|
+
formattedSeparatorSegment,
|
|
6771
|
+
formattedMinuteSegment
|
|
6772
|
+
];
|
|
6773
|
+
}
|
|
6774
|
+
|
|
6775
|
+
// src/components/date-inputs/TimePicker/TimePicker.tsx
|
|
6736
6776
|
import { jsx as jsx238 } from "react/jsx-runtime";
|
|
6737
6777
|
function TimePicker({
|
|
6738
6778
|
componentSize = "medium",
|
|
@@ -6742,7 +6782,7 @@ function TimePicker({
|
|
|
6742
6782
|
}) {
|
|
6743
6783
|
const lang = useLanguage();
|
|
6744
6784
|
if (!lang) {
|
|
6745
|
-
throw new Error("
|
|
6785
|
+
throw new Error("TimePicker must be used within a DdsProvider");
|
|
6746
6786
|
}
|
|
6747
6787
|
const internalRef = useRef18(null);
|
|
6748
6788
|
const state = useTimeFieldState({
|
|
@@ -6756,6 +6796,7 @@ function TimePicker({
|
|
|
6756
6796
|
);
|
|
6757
6797
|
const iconSize = componentSize === "xsmall" ? "small" : "medium";
|
|
6758
6798
|
const disabled = props.isDisabled || !!fieldProps["aria-disabled"];
|
|
6799
|
+
const formattedSegments = formatTimeSegments(state.segments);
|
|
6759
6800
|
return /* @__PURE__ */ jsx238(
|
|
6760
6801
|
DateInput,
|
|
6761
6802
|
{
|
|
@@ -6781,7 +6822,7 @@ function TimePicker({
|
|
|
6781
6822
|
)
|
|
6782
6823
|
}
|
|
6783
6824
|
),
|
|
6784
|
-
children:
|
|
6825
|
+
children: formattedSegments.map((segment, i) => /* @__PURE__ */ jsx238(
|
|
6785
6826
|
DateSegment,
|
|
6786
6827
|
{
|
|
6787
6828
|
componentSize,
|
|
@@ -7339,7 +7380,7 @@ var FavStar = ({
|
|
|
7339
7380
|
checked,
|
|
7340
7381
|
onChange: (e) => setChecked(e.target.checked),
|
|
7341
7382
|
type: "checkbox",
|
|
7342
|
-
"aria-label": (_a = props["aria-label"]) != null ? _a : t(
|
|
7383
|
+
"aria-label": (_a = props["aria-label"]) != null ? _a : t(texts9.favourite)
|
|
7343
7384
|
}
|
|
7344
7385
|
),
|
|
7345
7386
|
/* @__PURE__ */ jsx250(Icon, { iconSize: size2, icon: StarIcon, className: FavStar_default.icon }),
|
|
@@ -7356,12 +7397,12 @@ var FavStar = ({
|
|
|
7356
7397
|
);
|
|
7357
7398
|
};
|
|
7358
7399
|
FavStar.displayName = "FavStar";
|
|
7359
|
-
var
|
|
7400
|
+
var texts9 = createTexts({
|
|
7360
7401
|
favourite: {
|
|
7361
|
-
nb: "
|
|
7362
|
-
no: "
|
|
7363
|
-
nn: "
|
|
7364
|
-
en: "
|
|
7402
|
+
nb: "Stjernemarker",
|
|
7403
|
+
no: "Stjernemarker",
|
|
7404
|
+
nn: "Stjernemerk",
|
|
7405
|
+
en: "Mark as favourite"
|
|
7365
7406
|
}
|
|
7366
7407
|
});
|
|
7367
7408
|
|
|
@@ -7421,7 +7462,7 @@ function CharCounter(props) {
|
|
|
7421
7462
|
"/",
|
|
7422
7463
|
max
|
|
7423
7464
|
] }),
|
|
7424
|
-
/* @__PURE__ */ jsx251(VisuallyHidden, { children: t(
|
|
7465
|
+
/* @__PURE__ */ jsx251(VisuallyHidden, { children: t(texts10.charsWritten(current, max, max - current)) })
|
|
7425
7466
|
]
|
|
7426
7467
|
}
|
|
7427
7468
|
);
|
|
@@ -7430,7 +7471,7 @@ var renderCharCounter = (id, isShown, textLength, maxLength) => {
|
|
|
7430
7471
|
if (!!maxLength && Number.isInteger(maxLength) && maxLength > 0 && isShown)
|
|
7431
7472
|
return /* @__PURE__ */ jsx251(CharCounter, { id, max: maxLength, current: textLength });
|
|
7432
7473
|
};
|
|
7433
|
-
var
|
|
7474
|
+
var texts10 = createTexts({
|
|
7434
7475
|
charsWritten: (current, max, remain) => ({
|
|
7435
7476
|
nb: `${current} av ${max} tegn skrevet. ${remain} igjen.`,
|
|
7436
7477
|
no: `${current} av ${max} tegn skrevet. ${remain} igjen.`,
|
|
@@ -7594,12 +7635,12 @@ var CommentComponent = ({
|
|
|
7594
7635
|
size: "small",
|
|
7595
7636
|
onClick: handleSubmit,
|
|
7596
7637
|
loading,
|
|
7597
|
-
children: t(
|
|
7638
|
+
children: t(texts11.send)
|
|
7598
7639
|
}
|
|
7599
7640
|
)
|
|
7600
7641
|
] });
|
|
7601
7642
|
};
|
|
7602
|
-
var
|
|
7643
|
+
var texts11 = createTexts({
|
|
7603
7644
|
send: {
|
|
7604
7645
|
nb: "Send inn",
|
|
7605
7646
|
no: "Send inn",
|
|
@@ -7807,7 +7848,7 @@ var RatingComponent = ({
|
|
|
7807
7848
|
),
|
|
7808
7849
|
children: [
|
|
7809
7850
|
/* @__PURE__ */ jsx255("h2", { className: typographyStyles_default["label-medium"], children: ratingLabel }),
|
|
7810
|
-
loading ? /* @__PURE__ */ jsx255(Spinner, { tooltip: t(
|
|
7851
|
+
loading ? /* @__PURE__ */ jsx255(Spinner, { tooltip: t(texts12.uploadingFeedback) }) : /* @__PURE__ */ jsxs57(HStack, { gap: "x1", children: [
|
|
7811
7852
|
/* @__PURE__ */ jsx255(Tooltip, { text: thumbUpTooltip, children: button("positive", layout, thumbUpTooltip) }),
|
|
7812
7853
|
/* @__PURE__ */ jsx255(Tooltip, { text: thumbDownTooltip, children: /* @__PURE__ */ jsx255("div", { children: button("negative", layout, thumbDownTooltip) }) })
|
|
7813
7854
|
] })
|
|
@@ -7815,7 +7856,7 @@ var RatingComponent = ({
|
|
|
7815
7856
|
}
|
|
7816
7857
|
);
|
|
7817
7858
|
};
|
|
7818
|
-
var
|
|
7859
|
+
var texts12 = createTexts({
|
|
7819
7860
|
uploadingFeedback: {
|
|
7820
7861
|
nb: "Laster opp tilbakemelding...",
|
|
7821
7862
|
no: "Laster opp tilbakemelding...",
|
|
@@ -7849,14 +7890,14 @@ var Feedback = ({
|
|
|
7849
7890
|
const [rating, setRating] = useState16(null);
|
|
7850
7891
|
const [feedbackText, setFeedbackText] = useState16();
|
|
7851
7892
|
const [isFeedbackSubmitted, setIsFeedbackSubmitted] = useState16(false);
|
|
7852
|
-
const tRatingLabel = ratingLabel != null ? ratingLabel : t(
|
|
7853
|
-
const tPositiveFeedbackLabel = positiveFeedbackLabel != null ? positiveFeedbackLabel : t(
|
|
7854
|
-
const tNegativeFeedbackLabel = negativeFeedbackLabel != null ? negativeFeedbackLabel : t(
|
|
7855
|
-
const tRatingSubmittedTitle = ratingSubmittedTitle != null ? ratingSubmittedTitle : t(
|
|
7856
|
-
const tSubmittedTitle = submittedTitle != null ? submittedTitle : t(
|
|
7857
|
-
const tTextAreaTip = textAreaTip != null ? textAreaTip : t(
|
|
7858
|
-
const tThumbUpTooltip = thumbUpTooltip != null ? thumbUpTooltip : t(
|
|
7859
|
-
const tThumbDownTooltip = thumbDownTooltip != null ? thumbDownTooltip : t(
|
|
7893
|
+
const tRatingLabel = ratingLabel != null ? ratingLabel : t(texts13.ratingQuestion);
|
|
7894
|
+
const tPositiveFeedbackLabel = positiveFeedbackLabel != null ? positiveFeedbackLabel : t(texts13.improvalQuestion);
|
|
7895
|
+
const tNegativeFeedbackLabel = negativeFeedbackLabel != null ? negativeFeedbackLabel : t(texts13.improvalQuestion);
|
|
7896
|
+
const tRatingSubmittedTitle = ratingSubmittedTitle != null ? ratingSubmittedTitle : t(texts13.thanks);
|
|
7897
|
+
const tSubmittedTitle = submittedTitle != null ? submittedTitle : t(texts13.thanks);
|
|
7898
|
+
const tTextAreaTip = textAreaTip != null ? textAreaTip : t(texts13.sensitiveInfo);
|
|
7899
|
+
const tThumbUpTooltip = thumbUpTooltip != null ? thumbUpTooltip : t(texts13.good);
|
|
7900
|
+
const tThumbDownTooltip = thumbDownTooltip != null ? thumbDownTooltip : t(texts13.bad);
|
|
7860
7901
|
useEffect22(() => {
|
|
7861
7902
|
if (ratingProp !== void 0) setRating(ratingProp);
|
|
7862
7903
|
}, [ratingProp]);
|
|
@@ -7911,7 +7952,7 @@ var Feedback = ({
|
|
|
7911
7952
|
}
|
|
7912
7953
|
return /* @__PURE__ */ jsx256(Paragraph, { children: tSubmittedTitle });
|
|
7913
7954
|
};
|
|
7914
|
-
var
|
|
7955
|
+
var texts13 = createTexts({
|
|
7915
7956
|
ratingQuestion: {
|
|
7916
7957
|
nb: "Hva syns du om tjenesten?",
|
|
7917
7958
|
no: "Hva syns du om tjenesten?",
|
|
@@ -8081,9 +8122,9 @@ var File = (props) => {
|
|
|
8081
8122
|
onClick: removeFile,
|
|
8082
8123
|
icon: CloseIcon,
|
|
8083
8124
|
htmlProps: {
|
|
8084
|
-
"aria-label": t(
|
|
8125
|
+
"aria-label": t(texts14.removeFile(stateFile.file.name)),
|
|
8085
8126
|
"aria-invalid": !isValid ? true : void 0,
|
|
8086
|
-
"aria-errormessage": !isValid ? t(
|
|
8127
|
+
"aria-errormessage": !isValid ? t(texts14.invalidFile) : void 0,
|
|
8087
8128
|
"aria-describedby": spaceSeparatedIdListGenerator(
|
|
8088
8129
|
errorsList.map((e) => e.id)
|
|
8089
8130
|
)
|
|
@@ -8097,7 +8138,7 @@ var File = (props) => {
|
|
|
8097
8138
|
/* @__PURE__ */ jsx260(ErrorList, { errors: errorsList })
|
|
8098
8139
|
] });
|
|
8099
8140
|
};
|
|
8100
|
-
var
|
|
8141
|
+
var texts14 = createTexts({
|
|
8101
8142
|
removeFile: (file) => ({
|
|
8102
8143
|
nb: `Fjern fil ${file}`,
|
|
8103
8144
|
no: `Fjern fil ${file}`,
|
|
@@ -8233,7 +8274,7 @@ var useFileUploader = (props) => {
|
|
|
8233
8274
|
isFileDialogActive: false,
|
|
8234
8275
|
isDragActive: false,
|
|
8235
8276
|
rootErrors: calcRootErrors(
|
|
8236
|
-
t(
|
|
8277
|
+
t(texts15.invalidFileAmount),
|
|
8237
8278
|
initialFileUploaderFiles,
|
|
8238
8279
|
maxFiles,
|
|
8239
8280
|
errorMessage
|
|
@@ -8246,7 +8287,7 @@ var useFileUploader = (props) => {
|
|
|
8246
8287
|
const accepted = isFileAccepted(file, accept);
|
|
8247
8288
|
return {
|
|
8248
8289
|
file,
|
|
8249
|
-
errors: accepted ? [] : [t(
|
|
8290
|
+
errors: accepted ? [] : [t(texts15.invalidFileType)]
|
|
8250
8291
|
};
|
|
8251
8292
|
});
|
|
8252
8293
|
dispatch({
|
|
@@ -8259,7 +8300,7 @@ var useFileUploader = (props) => {
|
|
|
8259
8300
|
dispatch({
|
|
8260
8301
|
type: "setRootErrors",
|
|
8261
8302
|
payload: calcRootErrors(
|
|
8262
|
-
t(
|
|
8303
|
+
t(texts15.invalidFileAmount),
|
|
8263
8304
|
stateFiles,
|
|
8264
8305
|
maxFiles,
|
|
8265
8306
|
errorMessage
|
|
@@ -8313,7 +8354,7 @@ var useFileUploader = (props) => {
|
|
|
8313
8354
|
const accepted = isFileAccepted(file, accept);
|
|
8314
8355
|
return {
|
|
8315
8356
|
file,
|
|
8316
|
-
errors: accepted ? [] : [t(
|
|
8357
|
+
errors: accepted ? [] : [t(texts15.invalidFileType)]
|
|
8317
8358
|
};
|
|
8318
8359
|
}).concat(stateFiles);
|
|
8319
8360
|
onChange(newFiles.map((f) => f.file));
|
|
@@ -8405,7 +8446,7 @@ var useFileUploader = (props) => {
|
|
|
8405
8446
|
removeFile
|
|
8406
8447
|
};
|
|
8407
8448
|
};
|
|
8408
|
-
var
|
|
8449
|
+
var texts15 = createTexts({
|
|
8409
8450
|
invalidFileType: {
|
|
8410
8451
|
nb: "Ugyldig filtype",
|
|
8411
8452
|
no: "Ugyldig filtype",
|
|
@@ -8447,7 +8488,7 @@ var FileUploader = (props) => {
|
|
|
8447
8488
|
...rest
|
|
8448
8489
|
} = props;
|
|
8449
8490
|
const { t } = useTranslation();
|
|
8450
|
-
const tDropAreaLabel = dropAreaLabel != null ? dropAreaLabel : t(
|
|
8491
|
+
const tDropAreaLabel = dropAreaLabel != null ? dropAreaLabel : t(texts16.dragAndDropOr);
|
|
8451
8492
|
const generatedId = useId15();
|
|
8452
8493
|
const uniqueId = id != null ? id : `${generatedId}-fileUploader`;
|
|
8453
8494
|
const {
|
|
@@ -8556,7 +8597,7 @@ var FileUploader = (props) => {
|
|
|
8556
8597
|
children: [
|
|
8557
8598
|
input,
|
|
8558
8599
|
tDropAreaLabel,
|
|
8559
|
-
/* @__PURE__ */ jsx261(VisuallyHidden, { children: t(
|
|
8600
|
+
/* @__PURE__ */ jsx261(VisuallyHidden, { children: t(texts16.uploadFileWithButton) }),
|
|
8560
8601
|
button
|
|
8561
8602
|
]
|
|
8562
8603
|
}
|
|
@@ -8574,14 +8615,14 @@ var FileUploader = (props) => {
|
|
|
8574
8615
|
readOnly && FileUploader_default["readonly--file-list"]
|
|
8575
8616
|
),
|
|
8576
8617
|
children: [
|
|
8577
|
-
/* @__PURE__ */ jsx261(VisuallyHidden, { id: fileListNameId, children: t(
|
|
8618
|
+
/* @__PURE__ */ jsx261(VisuallyHidden, { id: fileListNameId, children: t(texts16.uploadedFiles) }),
|
|
8578
8619
|
inactive && fileListElements.length === 0 ? /* @__PURE__ */ jsx261(
|
|
8579
8620
|
Typography,
|
|
8580
8621
|
{
|
|
8581
8622
|
italic: true,
|
|
8582
8623
|
as: "span",
|
|
8583
8624
|
color: disabled ? "text-subtle" : "text-medium",
|
|
8584
|
-
children: t(
|
|
8625
|
+
children: t(texts16.noFiles)
|
|
8585
8626
|
}
|
|
8586
8627
|
) : /* @__PURE__ */ jsx261(StylelessList, { "aria-labelledby": fileListNameId, children: fileListElements })
|
|
8587
8628
|
]
|
|
@@ -8592,7 +8633,7 @@ var FileUploader = (props) => {
|
|
|
8592
8633
|
);
|
|
8593
8634
|
};
|
|
8594
8635
|
FileUploader.displayName = "FileUploader";
|
|
8595
|
-
var
|
|
8636
|
+
var texts16 = createTexts({
|
|
8596
8637
|
dragAndDropOr: {
|
|
8597
8638
|
nb: "Dra og slipp filer her eller",
|
|
8598
8639
|
no: "Dra og slipp filer her eller",
|
|
@@ -8889,11 +8930,11 @@ import { jsxs as jsxs61 } from "react/jsx-runtime";
|
|
|
8889
8930
|
var inlineEditVisuallyHidden = (id, clearable) => {
|
|
8890
8931
|
const { t } = useTranslation();
|
|
8891
8932
|
return /* @__PURE__ */ jsxs61(VisuallyHidden, { id, children: [
|
|
8892
|
-
t(
|
|
8893
|
-
!clearable && t(
|
|
8933
|
+
t(texts17.inlineEditInfo),
|
|
8934
|
+
!clearable && t(texts17.notClearable)
|
|
8894
8935
|
] });
|
|
8895
8936
|
};
|
|
8896
|
-
var
|
|
8937
|
+
var texts17 = createTexts({
|
|
8897
8938
|
inlineEditInfo: {
|
|
8898
8939
|
nb: "Escape, Enter eller Tab for \xE5 lagre.",
|
|
8899
8940
|
no: "Escape, Enter eller Tab for \xE5 lagre.",
|
|
@@ -9222,7 +9263,7 @@ var InternalHeader = (props) => {
|
|
|
9222
9263
|
const hasContextMenuElements = !!contextMenuItems && contextMenuItems.length > 0;
|
|
9223
9264
|
const hasSmallScreenBreakpoint = !!smallScreenBreakpoint;
|
|
9224
9265
|
const hasNavInContextMenu = hasSmallScreenBreakpoint && hasNavigationElements;
|
|
9225
|
-
const navigation = hasNavigationElements ? /* @__PURE__ */ jsx278("nav", { "aria-label": t(
|
|
9266
|
+
const navigation = hasNavigationElements ? /* @__PURE__ */ jsx278("nav", { "aria-label": t(texts18.siteNavigation), children: /* @__PURE__ */ jsx278(
|
|
9226
9267
|
ShowHide,
|
|
9227
9268
|
{
|
|
9228
9269
|
as: StylelessList,
|
|
@@ -9286,7 +9327,7 @@ var InternalHeader = (props) => {
|
|
|
9286
9327
|
{
|
|
9287
9328
|
icon: hasNavInContextMenu ? MenuIcon : MoreVerticalIcon,
|
|
9288
9329
|
purpose: "tertiary",
|
|
9289
|
-
"aria-label": t(
|
|
9330
|
+
"aria-label": t(texts18.openMenu)
|
|
9290
9331
|
}
|
|
9291
9332
|
),
|
|
9292
9333
|
/* @__PURE__ */ jsxs63(OverflowMenu, { className: InternalHeader_default["context-menu"], children: [
|
|
@@ -9295,7 +9336,7 @@ var InternalHeader = (props) => {
|
|
|
9295
9336
|
ShowHide,
|
|
9296
9337
|
{
|
|
9297
9338
|
as: "nav",
|
|
9298
|
-
"aria-label": t(
|
|
9339
|
+
"aria-label": t(texts18.siteNavigation),
|
|
9299
9340
|
showBelow: smallScreenBreakpoint,
|
|
9300
9341
|
children: /* @__PURE__ */ jsx278(OverflowMenuList, { children: navItems.map((item, i) => /* @__PURE__ */ createElement2(OverflowMenuLink, { ...item, key: `nav-${i}` })) })
|
|
9301
9342
|
}
|
|
@@ -9331,7 +9372,7 @@ var InternalHeader = (props) => {
|
|
|
9331
9372
|
);
|
|
9332
9373
|
};
|
|
9333
9374
|
InternalHeader.displayName = "InternalHeader";
|
|
9334
|
-
var
|
|
9375
|
+
var texts18 = createTexts({
|
|
9335
9376
|
openMenu: {
|
|
9336
9377
|
nb: "\xC5pne meny",
|
|
9337
9378
|
no: "\xC5pne meny",
|
|
@@ -10508,7 +10549,7 @@ var Pagination = ({
|
|
|
10508
10549
|
onClick: (event) => {
|
|
10509
10550
|
onPageChange(event, item);
|
|
10510
10551
|
},
|
|
10511
|
-
"aria-label": isActive ? t(
|
|
10552
|
+
"aria-label": isActive ? t(texts19.currentPage(item)) : t(texts19.page(item)),
|
|
10512
10553
|
children: item
|
|
10513
10554
|
}
|
|
10514
10555
|
) : /* @__PURE__ */ jsx288(
|
|
@@ -10528,7 +10569,7 @@ var Pagination = ({
|
|
|
10528
10569
|
onClick: (event) => {
|
|
10529
10570
|
onPageChange(event, activePage - 1);
|
|
10530
10571
|
},
|
|
10531
|
-
"aria-label": t(
|
|
10572
|
+
"aria-label": t(texts19.previousPage)
|
|
10532
10573
|
}
|
|
10533
10574
|
);
|
|
10534
10575
|
const nextPageButton = /* @__PURE__ */ jsx288(
|
|
@@ -10540,7 +10581,7 @@ var Pagination = ({
|
|
|
10540
10581
|
onClick: (event) => {
|
|
10541
10582
|
onPageChange(event, activePage + 1);
|
|
10542
10583
|
},
|
|
10543
|
-
"aria-label": t(
|
|
10584
|
+
"aria-label": t(texts19.nextPage)
|
|
10544
10585
|
}
|
|
10545
10586
|
);
|
|
10546
10587
|
const isOnFirstPage = activePage === 1;
|
|
@@ -10550,7 +10591,7 @@ var Pagination = ({
|
|
|
10550
10591
|
{
|
|
10551
10592
|
as: "nav",
|
|
10552
10593
|
ref,
|
|
10553
|
-
"aria-label": t(
|
|
10594
|
+
"aria-label": t(texts19.pagination),
|
|
10554
10595
|
display: "flex",
|
|
10555
10596
|
alignItems: "center",
|
|
10556
10597
|
...!withSelect && !withCounter && {
|
|
@@ -10614,7 +10655,7 @@ var Pagination = ({
|
|
|
10614
10655
|
onClick: (event) => {
|
|
10615
10656
|
onPageChange(event, 1);
|
|
10616
10657
|
},
|
|
10617
|
-
"aria-label": t(
|
|
10658
|
+
"aria-label": t(texts19.firstPage)
|
|
10618
10659
|
}
|
|
10619
10660
|
)
|
|
10620
10661
|
}
|
|
@@ -10668,7 +10709,7 @@ var Pagination = ({
|
|
|
10668
10709
|
onClick: (event) => {
|
|
10669
10710
|
onPageChange(event, pagesLength);
|
|
10670
10711
|
},
|
|
10671
|
-
"aria-label": t(
|
|
10712
|
+
"aria-label": t(texts19.lastPage)
|
|
10672
10713
|
}
|
|
10673
10714
|
)
|
|
10674
10715
|
}
|
|
@@ -10706,11 +10747,11 @@ var Pagination = ({
|
|
|
10706
10747
|
isClearable: false,
|
|
10707
10748
|
onChange: handleSelectChange,
|
|
10708
10749
|
componentSize: "small",
|
|
10709
|
-
"aria-label": t(
|
|
10750
|
+
"aria-label": t(texts19.itemsPerPage)
|
|
10710
10751
|
}
|
|
10711
10752
|
),
|
|
10712
10753
|
withCounter && /* @__PURE__ */ jsx288(Paragraph, { children: t(
|
|
10713
|
-
|
|
10754
|
+
texts19.showsAmountOfTotalItems(
|
|
10714
10755
|
activePageFirstItem,
|
|
10715
10756
|
activePageLastItem,
|
|
10716
10757
|
itemsAmount
|
|
@@ -10723,7 +10764,7 @@ var Pagination = ({
|
|
|
10723
10764
|
);
|
|
10724
10765
|
};
|
|
10725
10766
|
Pagination.displayName = "Pagination";
|
|
10726
|
-
var
|
|
10767
|
+
var texts19 = createTexts({
|
|
10727
10768
|
pagination: {
|
|
10728
10769
|
nb: "Paginering",
|
|
10729
10770
|
no: "Paginering",
|
|
@@ -11247,8 +11288,8 @@ var PhoneInput = ({
|
|
|
11247
11288
|
}) => {
|
|
11248
11289
|
var _a;
|
|
11249
11290
|
const { t } = useTranslation();
|
|
11250
|
-
const tGroupLabel = groupLabel != null ? groupLabel : t(
|
|
11251
|
-
const tSelectLabel = selectLabel != null ? selectLabel : t(
|
|
11291
|
+
const tGroupLabel = groupLabel != null ? groupLabel : t(texts20.countryCodeAndPhoneNumber);
|
|
11292
|
+
const tSelectLabel = selectLabel != null ? selectLabel : t(texts20.countryCode);
|
|
11252
11293
|
const generatedId = useId20();
|
|
11253
11294
|
const uniqueId = (_a = props.id) != null ? _a : generatedId;
|
|
11254
11295
|
const phoneInputId = `${uniqueId}-phone-input`;
|
|
@@ -11422,7 +11463,7 @@ var getCallingCode = (s) => {
|
|
|
11422
11463
|
var _a;
|
|
11423
11464
|
return (_a = s.substring(s.indexOf("+"), s.length)) != null ? _a : "";
|
|
11424
11465
|
};
|
|
11425
|
-
var
|
|
11466
|
+
var texts20 = createTexts({
|
|
11426
11467
|
countryCode: {
|
|
11427
11468
|
nb: "Landskode",
|
|
11428
11469
|
no: "Landskode",
|
|
@@ -11821,7 +11862,7 @@ var ProgressTrackerItem = (props) => {
|
|
|
11821
11862
|
}
|
|
11822
11863
|
)
|
|
11823
11864
|
] });
|
|
11824
|
-
const ariaLabel = props["aria-label"] ? props["aria-label"] : `${children}, ${stepNumber}. ${completed ? t(
|
|
11865
|
+
const ariaLabel = props["aria-label"] ? props["aria-label"] : `${children}, ${stepNumber}. ${completed ? t(texts21.completed) : t(texts21.uncompleted)}`;
|
|
11825
11866
|
return /* @__PURE__ */ jsx292(
|
|
11826
11867
|
Box,
|
|
11827
11868
|
{
|
|
@@ -11870,7 +11911,7 @@ var ProgressTrackerItem = (props) => {
|
|
|
11870
11911
|
);
|
|
11871
11912
|
};
|
|
11872
11913
|
ProgressTrackerItem.displayName = "ProgressTracker.Item";
|
|
11873
|
-
var
|
|
11914
|
+
var texts21 = createTexts({
|
|
11874
11915
|
uncompleted: {
|
|
11875
11916
|
nb: "trinn ikke ferdig",
|
|
11876
11917
|
no: "trinn ikke ferdig",
|
|
@@ -11927,7 +11968,7 @@ var ProgressTracker = (() => {
|
|
|
11927
11968
|
children: /* @__PURE__ */ jsx293(
|
|
11928
11969
|
"nav",
|
|
11929
11970
|
{
|
|
11930
|
-
"aria-label": ariaLabel != null ? ariaLabel : t(
|
|
11971
|
+
"aria-label": ariaLabel != null ? ariaLabel : t(texts22.stepProgression),
|
|
11931
11972
|
...getBaseHTMLProps(id, className, htmlProps, rest),
|
|
11932
11973
|
children: /* @__PURE__ */ jsx293(
|
|
11933
11974
|
Box,
|
|
@@ -11965,11 +12006,11 @@ function passIndexPropToProgressTrackerItem(children) {
|
|
|
11965
12006
|
})
|
|
11966
12007
|
);
|
|
11967
12008
|
}
|
|
11968
|
-
var
|
|
12009
|
+
var texts22 = createTexts({
|
|
11969
12010
|
stepProgression: {
|
|
11970
|
-
nb: "
|
|
11971
|
-
no: "
|
|
11972
|
-
nn: "
|
|
12011
|
+
nb: "Trinnprogresjon",
|
|
12012
|
+
no: "Trinnprogresjon",
|
|
12013
|
+
nn: "Trinnprogresjon",
|
|
11973
12014
|
en: "Step progression"
|
|
11974
12015
|
}
|
|
11975
12016
|
});
|
|
@@ -12186,7 +12227,7 @@ var SearchSuggestions = ({
|
|
|
12186
12227
|
{
|
|
12187
12228
|
index,
|
|
12188
12229
|
focus: focus === index && showSuggestions,
|
|
12189
|
-
"aria-label": t(
|
|
12230
|
+
"aria-label": t(texts23.search(suggestion)),
|
|
12190
12231
|
onClick: onSuggestionClick,
|
|
12191
12232
|
"aria-setsize": suggestionsToRender.length,
|
|
12192
12233
|
"aria-posinset": index,
|
|
@@ -12200,7 +12241,7 @@ var SearchSuggestions = ({
|
|
|
12200
12241
|
);
|
|
12201
12242
|
};
|
|
12202
12243
|
SearchSuggestions.displayName = "SearchSuggestions";
|
|
12203
|
-
var
|
|
12244
|
+
var texts23 = createTexts({
|
|
12204
12245
|
search: (suggestion) => ({
|
|
12205
12246
|
no: `${suggestion} s\xF8k`,
|
|
12206
12247
|
nb: `${suggestion} s\xF8k`,
|
|
@@ -12346,13 +12387,13 @@ var Search = ({
|
|
|
12346
12387
|
componentSize
|
|
12347
12388
|
}
|
|
12348
12389
|
),
|
|
12349
|
-
/* @__PURE__ */ jsx297(VisuallyHidden, { id: suggestionsDescriptionId, children: t(
|
|
12390
|
+
/* @__PURE__ */ jsx297(VisuallyHidden, { id: suggestionsDescriptionId, children: t(texts24.useArrowKeys) })
|
|
12350
12391
|
] }),
|
|
12351
12392
|
hasValue && /* @__PURE__ */ jsx297(
|
|
12352
12393
|
ClearButton,
|
|
12353
12394
|
{
|
|
12354
12395
|
size: getIconSize2(componentSize),
|
|
12355
|
-
"aria-label": t(
|
|
12396
|
+
"aria-label": t(texts24.clearSearch),
|
|
12356
12397
|
onClick: clearInput,
|
|
12357
12398
|
className: Search_default["clear-button"]
|
|
12358
12399
|
}
|
|
@@ -12381,7 +12422,7 @@ var Search = ({
|
|
|
12381
12422
|
size: componentSize,
|
|
12382
12423
|
onClick,
|
|
12383
12424
|
...otherButtonProps,
|
|
12384
|
-
children: buttonLabel != null ? buttonLabel : t(
|
|
12425
|
+
children: buttonLabel != null ? buttonLabel : t(texts24.search)
|
|
12385
12426
|
}
|
|
12386
12427
|
)
|
|
12387
12428
|
]
|
|
@@ -12392,7 +12433,7 @@ var Search = ({
|
|
|
12392
12433
|
] });
|
|
12393
12434
|
};
|
|
12394
12435
|
Search.displayName = "Search";
|
|
12395
|
-
var
|
|
12436
|
+
var texts24 = createTexts({
|
|
12396
12437
|
clearSearch: {
|
|
12397
12438
|
nb: "T\xF8m s\xF8k",
|
|
12398
12439
|
no: "T\xF8m s\xF8k",
|
|
@@ -12605,7 +12646,7 @@ var SplitButton = ({
|
|
|
12605
12646
|
{
|
|
12606
12647
|
...buttonStyleProps,
|
|
12607
12648
|
icon: isOpen ? ChevronUpIcon : ChevronDownIcon,
|
|
12608
|
-
"aria-label": t(
|
|
12649
|
+
"aria-label": t(texts25.moreActions),
|
|
12609
12650
|
purpose,
|
|
12610
12651
|
className: cn(
|
|
12611
12652
|
SplitButton_default.option,
|
|
@@ -12619,7 +12660,7 @@ var SplitButton = ({
|
|
|
12619
12660
|
] });
|
|
12620
12661
|
};
|
|
12621
12662
|
SplitButton.displayName = "SplitButton";
|
|
12622
|
-
var
|
|
12663
|
+
var texts25 = createTexts({
|
|
12623
12664
|
moreActions: {
|
|
12624
12665
|
nb: "Flere handlinger",
|
|
12625
12666
|
no: "Flere handlinger",
|
|
@@ -12784,7 +12825,7 @@ var SortCell = ({
|
|
|
12784
12825
|
StylelessButton,
|
|
12785
12826
|
{
|
|
12786
12827
|
onClick,
|
|
12787
|
-
"aria-description": t(
|
|
12828
|
+
"aria-description": t(texts26.changeSort),
|
|
12788
12829
|
className: cn(Table_default["sort-button"], focusable),
|
|
12789
12830
|
children: [
|
|
12790
12831
|
children,
|
|
@@ -12797,7 +12838,7 @@ var SortCell = ({
|
|
|
12797
12838
|
);
|
|
12798
12839
|
};
|
|
12799
12840
|
SortCell.displayName = "Table.SortCell";
|
|
12800
|
-
var
|
|
12841
|
+
var texts26 = createTexts({
|
|
12801
12842
|
changeSort: {
|
|
12802
12843
|
nb: "Aktiver for \xE5 endre sorteringsrekkef\xF8lge",
|
|
12803
12844
|
no: "Aktiver for \xE5 endre sorteringsrekkef\xF8lge",
|
|
@@ -12950,8 +12991,8 @@ var CollapsibleRow = ({
|
|
|
12950
12991
|
return /* @__PURE__ */ jsx310(Row, { ref, ...rowProps(), children: /* @__PURE__ */ jsxs78(Fragment13, { children: [
|
|
12951
12992
|
definingColumnCells,
|
|
12952
12993
|
/* @__PURE__ */ jsxs78(Table2.Cell, { type: "head", layout: "center", children: [
|
|
12953
|
-
t(
|
|
12954
|
-
/* @__PURE__ */ jsx310(VisuallyHidden, { children: t(
|
|
12994
|
+
t(texts27.expand),
|
|
12995
|
+
/* @__PURE__ */ jsx310(VisuallyHidden, { children: t(texts27.row) })
|
|
12955
12996
|
] })
|
|
12956
12997
|
] }) });
|
|
12957
12998
|
};
|
|
@@ -12988,7 +13029,7 @@ var CollapsibleRow = ({
|
|
|
12988
13029
|
] }) : /* @__PURE__ */ jsx310(Row, { ref, ...rowProps(), children });
|
|
12989
13030
|
};
|
|
12990
13031
|
CollapsibleRow.displayName = "CollapsibleTable.Row";
|
|
12991
|
-
var
|
|
13032
|
+
var texts27 = createTexts({
|
|
12992
13033
|
expand: {
|
|
12993
13034
|
nb: "Utvid",
|
|
12994
13035
|
no: "Utvid",
|