@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.js CHANGED
@@ -3275,8 +3275,8 @@ function useTranslation() {
3275
3275
  const t = (text) => text[lang];
3276
3276
  return { t, lang };
3277
3277
  }
3278
- function createTexts(texts27) {
3279
- return texts27;
3278
+ function createTexts(texts28) {
3279
+ return texts28;
3280
3280
  }
3281
3281
 
3282
3282
  // src/DdsProvider/DdsProvider.tsx
@@ -4245,6 +4245,8 @@ var Button = ({
4245
4245
  ...rest
4246
4246
  }) => {
4247
4247
  const { purpose: groupPurpose, size: groupSize } = useButtonGroupContext();
4248
+ const { t } = useTranslation();
4249
+ const spinnerTooltip = loadingTooltip != null ? loadingTooltip : t(texts2.saving);
4248
4250
  const hasLabel = !!children;
4249
4251
  const hasIcon = !!icon;
4250
4252
  const hasLabelAndIcon = hasIcon && hasLabel;
@@ -4285,7 +4287,7 @@ var Button = ({
4285
4287
  {
4286
4288
  size: "1em",
4287
4289
  color: purpose === "primary" || purpose === "danger" ? "iconOnAction" : "iconDefault",
4288
- tooltip: loadingTooltip,
4290
+ tooltip: spinnerTooltip,
4289
4291
  className: Button_default.icon
4290
4292
  }
4291
4293
  ) })
@@ -4329,6 +4331,14 @@ var Button = ({
4329
4331
  );
4330
4332
  };
4331
4333
  Button.displayName = "Button";
4334
+ var texts2 = createTexts({
4335
+ saving: {
4336
+ no: "Lagring p\xE5g\xE5r",
4337
+ nb: "Lagring p\xE5g\xE5r",
4338
+ nn: "Lagring p\xE5g\xE5r",
4339
+ en: "Saving"
4340
+ }
4341
+ });
4332
4342
 
4333
4343
  // src/components/OverflowMenu/OverflowMenu.tsx
4334
4344
  var import_react21 = require("react");
@@ -4796,7 +4806,7 @@ var Breadcrumbs = ({
4796
4806
  size: "xsmall",
4797
4807
  icon: MoreHorizontalIcon,
4798
4808
  purpose: "tertiary",
4799
- "aria-label": bChildrenTruncated.length > 1 ? t(texts2.showHiddenTo(bChildren.length - 1)) : t(texts2.showHidden)
4809
+ "aria-label": bChildrenTruncated.length > 1 ? t(texts3.showHiddenTo(bChildren.length - 1)) : t(texts3.showHidden)
4800
4810
  }
4801
4811
  ),
4802
4812
  /* @__PURE__ */ (0, import_jsx_runtime205.jsx)(OverflowMenu, { children: /* @__PURE__ */ (0, import_jsx_runtime205.jsx)(OverflowMenuList, { children: bChildrenTruncated }) })
@@ -4818,7 +4828,7 @@ var Breadcrumbs = ({
4818
4828
  "nav",
4819
4829
  {
4820
4830
  ...getBaseHTMLProps(id, className, htmlProps, rest),
4821
- "aria-label": t(texts2.breadcrumbs),
4831
+ "aria-label": t(texts3.breadcrumbs),
4822
4832
  children: [
4823
4833
  /* @__PURE__ */ (0, import_jsx_runtime205.jsx)(
4824
4834
  HStack,
@@ -4834,7 +4844,7 @@ var Breadcrumbs = ({
4834
4844
  );
4835
4845
  };
4836
4846
  Breadcrumbs.displayName = "Breadcrumbs";
4837
- var texts2 = createTexts({
4847
+ var texts3 = createTexts({
4838
4848
  breadcrumbs: {
4839
4849
  nb: "Br\xF8dsmulesti",
4840
4850
  no: "Br\xF8dsmulesti",
@@ -5817,7 +5827,7 @@ var Chip = ({
5817
5827
  icon: CloseSmallIcon,
5818
5828
  purpose: "tertiary",
5819
5829
  onClick,
5820
- "aria-label": ariaLabel != null ? ariaLabel : t(texts3.removeChip) + (text ? ` ${text}` : "")
5830
+ "aria-label": ariaLabel != null ? ariaLabel : t(texts4.removeChip) + (text ? ` ${text}` : "")
5821
5831
  }
5822
5832
  )
5823
5833
  ]
@@ -5825,7 +5835,7 @@ var Chip = ({
5825
5835
  ) : null;
5826
5836
  };
5827
5837
  Chip.displayName = "Chip";
5828
- var texts3 = createTexts({
5838
+ var texts4 = createTexts({
5829
5839
  removeChip: {
5830
5840
  nb: "Fjern merkelapp",
5831
5841
  no: "Fjern merkelapp",
@@ -5952,7 +5962,7 @@ function CookieBanner({
5952
5962
  {
5953
5963
  as: Button,
5954
5964
  showBelow: collapsedBreakpoint,
5955
- "aria-label": t(texts4.expandConsent),
5965
+ "aria-label": t(texts5.expandConsent),
5956
5966
  purpose: "tertiary",
5957
5967
  icon: ExpandIcon,
5958
5968
  onClick: () => setIsCollapsedOnBreakpoint(false),
@@ -5986,7 +5996,7 @@ function CookieBanner({
5986
5996
  );
5987
5997
  }
5988
5998
  CookieBanner.displayName = "CookieBanner";
5989
- var texts4 = createTexts({
5999
+ var texts5 = createTexts({
5990
6000
  expandConsent: {
5991
6001
  nb: "Utvid samtykke for bruk av informasjonskapsler",
5992
6002
  no: "Utvid samtykke for bruk av informasjonskapsler",
@@ -5998,14 +6008,14 @@ var texts4 = createTexts({
5998
6008
  // src/components/date-inputs/DatePicker/Calendar/Calendar.tsx
5999
6009
  var import_date4 = require("@internationalized/date");
6000
6010
  var import_calendar3 = require("@react-aria/calendar");
6001
- var import_i18n10 = require("@react-aria/i18n");
6011
+ var import_i18n11 = require("@react-aria/i18n");
6002
6012
  var import_calendar4 = require("@react-stately/calendar");
6003
6013
  var import_react41 = require("react");
6004
6014
 
6005
6015
  // src/components/date-inputs/DatePicker/Calendar/CalendarGrid.tsx
6006
6016
  var import_date3 = require("@internationalized/date");
6007
6017
  var import_calendar2 = require("@react-aria/calendar");
6008
- var import_i18n8 = require("@react-aria/i18n");
6018
+ var import_i18n9 = require("@react-aria/i18n");
6009
6019
  var import_react40 = require("react");
6010
6020
 
6011
6021
  // src/components/date-inputs/DatePicker/Calendar/CalendarCell.tsx
@@ -6286,20 +6296,20 @@ var CalendarPopoverContent = ({
6286
6296
  var import_jsx_runtime227 = require("react/jsx-runtime");
6287
6297
  function CalendarGrid({ state, ...props }) {
6288
6298
  const { t } = useTranslation();
6289
- const { locale } = (0, import_i18n8.useLocale)();
6299
+ const { locale } = (0, import_i18n9.useLocale)();
6290
6300
  const {
6291
6301
  gridProps: { onKeyDown, ...gridProps },
6292
6302
  headerProps
6293
6303
  } = (0, import_calendar2.useCalendarGrid)(props, state);
6294
6304
  const weeksInMonth = (0, import_date3.getWeeksInMonth)(state.visibleRange.start, locale);
6295
6305
  const weekDays = [
6296
- { short: t(texts5.mo), full: t(texts5.monday) },
6297
- { short: t(texts5.tu), full: t(texts5.tuesday) },
6298
- { short: t(texts5.we), full: t(texts5.wednesday) },
6299
- { short: t(texts5.th), full: t(texts5.thursday) },
6300
- { short: t(texts5.fr), full: t(texts5.friday) },
6301
- { short: t(texts5.sa), full: t(texts5.saturday) },
6302
- { short: t(texts5.su), full: t(texts5.sunday) }
6306
+ { short: t(texts6.mo), full: t(texts6.monday) },
6307
+ { short: t(texts6.tu), full: t(texts6.tuesday) },
6308
+ { short: t(texts6.we), full: t(texts6.wednesday) },
6309
+ { short: t(texts6.th), full: t(texts6.thursday) },
6310
+ { short: t(texts6.fr), full: t(texts6.friday) },
6311
+ { short: t(texts6.sa), full: t(texts6.saturday) },
6312
+ { short: t(texts6.su), full: t(texts6.sunday) }
6303
6313
  ];
6304
6314
  const { showWeekNumbers, onClose } = (0, import_react40.useContext)(CalendarPopoverContext);
6305
6315
  const typographyCn = [
@@ -6325,7 +6335,7 @@ function CalendarGrid({ state, ...props }) {
6325
6335
  className: cn(DateInput_default["calendar__grid-element"], ...typographyCn),
6326
6336
  children: [
6327
6337
  /* @__PURE__ */ (0, import_jsx_runtime227.jsx)("span", { "aria-hidden": true, children: "#" }),
6328
- /* @__PURE__ */ (0, import_jsx_runtime227.jsx)(VisuallyHidden, { children: t(texts5.weekNumber) })
6338
+ /* @__PURE__ */ (0, import_jsx_runtime227.jsx)(VisuallyHidden, { children: t(texts6.weekNumber) })
6329
6339
  ]
6330
6340
  }
6331
6341
  ),
@@ -6368,7 +6378,7 @@ function CalendarGrid({ state, ...props }) {
6368
6378
  );
6369
6379
  }
6370
6380
  CalendarGrid.displayName = "CalendarGrid";
6371
- var texts5 = createTexts({
6381
+ var texts6 = createTexts({
6372
6382
  weekNumber: {
6373
6383
  nb: "Ukenummer",
6374
6384
  no: "Ukenummer",
@@ -6473,7 +6483,7 @@ function createCalendar(identifier) {
6473
6483
  }
6474
6484
  function Calendar(props) {
6475
6485
  const { t } = useTranslation();
6476
- const { locale } = (0, import_i18n10.useLocale)();
6486
+ const { locale } = (0, import_i18n11.useLocale)();
6477
6487
  const state = (0, import_calendar4.useCalendarState)({
6478
6488
  ...props,
6479
6489
  createCalendar,
@@ -6500,7 +6510,7 @@ function Calendar(props) {
6500
6510
  Button,
6501
6511
  {
6502
6512
  type: "button",
6503
- "aria-label": t(texts6.previousMonth),
6513
+ "aria-label": t(texts7.previousMonth),
6504
6514
  onClick: (e) => onPrev == null ? void 0 : onPrev(e),
6505
6515
  size: "small",
6506
6516
  purpose: "tertiary",
@@ -6522,7 +6532,7 @@ function Calendar(props) {
6522
6532
  Button,
6523
6533
  {
6524
6534
  type: "button",
6525
- "aria-label": t(texts6.nextMonth),
6535
+ "aria-label": t(texts7.nextMonth),
6526
6536
  onClick: (e) => onNext == null ? void 0 : onNext(e),
6527
6537
  size: "small",
6528
6538
  purpose: "tertiary",
@@ -6535,7 +6545,7 @@ function Calendar(props) {
6535
6545
  ] });
6536
6546
  }
6537
6547
  Calendar.displayName = "Calendar";
6538
- var texts6 = createTexts({
6548
+ var texts7 = createTexts({
6539
6549
  nextMonth: {
6540
6550
  nb: "Neste m\xE5ned",
6541
6551
  no: "Neste m\xE5ned",
@@ -6552,14 +6562,14 @@ var texts6 = createTexts({
6552
6562
 
6553
6563
  // src/components/date-inputs/DatePicker/DatePicker.tsx
6554
6564
  var import_datepicker4 = require("@react-aria/datepicker");
6555
- var import_i18n14 = require("@react-aria/i18n");
6565
+ var import_i18n15 = require("@react-aria/i18n");
6556
6566
  var import_datepicker5 = require("@react-stately/datepicker");
6557
6567
  var import_react47 = require("react");
6558
6568
 
6559
6569
  // src/components/date-inputs/DatePicker/DateField/DateField.tsx
6560
6570
  var import_date5 = require("@internationalized/date");
6561
6571
  var import_datepicker2 = require("@react-aria/datepicker");
6562
- var import_i18n12 = require("@react-aria/i18n");
6572
+ var import_i18n13 = require("@react-aria/i18n");
6563
6573
  var import_datepicker3 = require("@react-stately/datepicker");
6564
6574
  var import_react45 = require("react");
6565
6575
 
@@ -6900,7 +6910,7 @@ function DateField({
6900
6910
  clearable,
6901
6911
  ...props
6902
6912
  }) {
6903
- const { locale } = (0, import_i18n12.useLocale)();
6913
+ const { locale } = (0, import_i18n13.useLocale)();
6904
6914
  const { t } = useTranslation();
6905
6915
  const state = (0, import_datepicker3.useDateFieldState)({
6906
6916
  ...props,
@@ -6946,7 +6956,7 @@ function DateField({
6946
6956
  ClearButton,
6947
6957
  {
6948
6958
  absolute: false,
6949
- "aria-label": t(texts7.clearDate),
6959
+ "aria-label": t(texts8.clearDate),
6950
6960
  "aria-hidden": !hasValue,
6951
6961
  className: cn(
6952
6962
  DateInput_default["clear-button"],
@@ -6972,7 +6982,7 @@ function DateField({
6972
6982
  );
6973
6983
  }
6974
6984
  DateField.displayName = "DateField";
6975
- var texts7 = createTexts({
6985
+ var texts8 = createTexts({
6976
6986
  clearDate: {
6977
6987
  en: "Clear date",
6978
6988
  nb: "T\xF8m dato",
@@ -7032,7 +7042,7 @@ function DatePicker({
7032
7042
  state,
7033
7043
  internalRef
7034
7044
  );
7035
- return /* @__PURE__ */ (0, import_jsx_runtime237.jsx)(import_i18n14.I18nProvider, { locale: LOCALE[lang], children: /* @__PURE__ */ (0, import_jsx_runtime237.jsxs)(
7045
+ return /* @__PURE__ */ (0, import_jsx_runtime237.jsx)(import_i18n15.I18nProvider, { locale: LOCALE[lang], children: /* @__PURE__ */ (0, import_jsx_runtime237.jsxs)(
7036
7046
  CalendarPopover,
7037
7047
  {
7038
7048
  isOpen: state.isOpen,
@@ -7066,6 +7076,36 @@ DatePicker.displayName = "DatePicker";
7066
7076
  var import_datepicker6 = require("@react-aria/datepicker");
7067
7077
  var import_datepicker7 = require("@react-stately/datepicker");
7068
7078
  var import_react48 = require("react");
7079
+
7080
+ // src/components/date-inputs/TimePicker/TimePicker.utils.ts
7081
+ function formatTimeSegments(segments) {
7082
+ const hourSegment = segments.find((segment) => segment.type === "hour");
7083
+ const minuteSegment = segments.find((segment) => segment.type === "minute");
7084
+ const separatorSegment = segments.find(
7085
+ (segment) => segment.type === "literal" && segment.isPlaceholder === void 0
7086
+ );
7087
+ if (!hourSegment || !minuteSegment || !separatorSegment) {
7088
+ throw new Error("Invalid time segments");
7089
+ }
7090
+ const formattedHourSegment = {
7091
+ ...hourSegment,
7092
+ text: hourSegment.text.padStart(2, "0"),
7093
+ placeholder: "\u2013\u2013"
7094
+ };
7095
+ const formattedMinuteSegment = {
7096
+ ...minuteSegment,
7097
+ text: minuteSegment.text.padStart(2, "0"),
7098
+ placeholder: "\u2013\u2013"
7099
+ };
7100
+ const formattedSeparatorSegment = { ...separatorSegment, text: ":" };
7101
+ return [
7102
+ formattedHourSegment,
7103
+ formattedSeparatorSegment,
7104
+ formattedMinuteSegment
7105
+ ];
7106
+ }
7107
+
7108
+ // src/components/date-inputs/TimePicker/TimePicker.tsx
7069
7109
  var import_jsx_runtime238 = require("react/jsx-runtime");
7070
7110
  function TimePicker({
7071
7111
  componentSize = "medium",
@@ -7075,7 +7115,7 @@ function TimePicker({
7075
7115
  }) {
7076
7116
  const lang = useLanguage();
7077
7117
  if (!lang) {
7078
- throw new Error("DatePicker must be used within a DdsProvider");
7118
+ throw new Error("TimePicker must be used within a DdsProvider");
7079
7119
  }
7080
7120
  const internalRef = (0, import_react48.useRef)(null);
7081
7121
  const state = (0, import_datepicker7.useTimeFieldState)({
@@ -7089,6 +7129,7 @@ function TimePicker({
7089
7129
  );
7090
7130
  const iconSize = componentSize === "xsmall" ? "small" : "medium";
7091
7131
  const disabled = props.isDisabled || !!fieldProps["aria-disabled"];
7132
+ const formattedSegments = formatTimeSegments(state.segments);
7092
7133
  return /* @__PURE__ */ (0, import_jsx_runtime238.jsx)(
7093
7134
  DateInput,
7094
7135
  {
@@ -7114,7 +7155,7 @@ function TimePicker({
7114
7155
  )
7115
7156
  }
7116
7157
  ),
7117
- children: state.segments.map((segment, i) => /* @__PURE__ */ (0, import_jsx_runtime238.jsx)(
7158
+ children: formattedSegments.map((segment, i) => /* @__PURE__ */ (0, import_jsx_runtime238.jsx)(
7118
7159
  DateSegment,
7119
7160
  {
7120
7161
  componentSize,
@@ -7657,7 +7698,7 @@ var FavStar = ({
7657
7698
  checked,
7658
7699
  onChange: (e) => setChecked(e.target.checked),
7659
7700
  type: "checkbox",
7660
- "aria-label": (_a = props["aria-label"]) != null ? _a : t(texts8.favourite)
7701
+ "aria-label": (_a = props["aria-label"]) != null ? _a : t(texts9.favourite)
7661
7702
  }
7662
7703
  ),
7663
7704
  /* @__PURE__ */ (0, import_jsx_runtime250.jsx)(Icon, { iconSize: size2, icon: StarIcon, className: FavStar_default.icon }),
@@ -7674,12 +7715,12 @@ var FavStar = ({
7674
7715
  );
7675
7716
  };
7676
7717
  FavStar.displayName = "FavStar";
7677
- var texts8 = createTexts({
7718
+ var texts9 = createTexts({
7678
7719
  favourite: {
7679
- nb: "Favoriser",
7680
- no: "Favoriser",
7681
- nn: "Favorittmerk",
7682
- en: "Favorite"
7720
+ nb: "Stjernemarker",
7721
+ no: "Stjernemarker",
7722
+ nn: "Stjernemerk",
7723
+ en: "Mark as favourite"
7683
7724
  }
7684
7725
  });
7685
7726
 
@@ -7734,7 +7775,7 @@ function CharCounter(props) {
7734
7775
  "/",
7735
7776
  max
7736
7777
  ] }),
7737
- /* @__PURE__ */ (0, import_jsx_runtime251.jsx)(VisuallyHidden, { children: t(texts9.charsWritten(current, max, max - current)) })
7778
+ /* @__PURE__ */ (0, import_jsx_runtime251.jsx)(VisuallyHidden, { children: t(texts10.charsWritten(current, max, max - current)) })
7738
7779
  ]
7739
7780
  }
7740
7781
  );
@@ -7743,7 +7784,7 @@ var renderCharCounter = (id, isShown, textLength, maxLength) => {
7743
7784
  if (!!maxLength && Number.isInteger(maxLength) && maxLength > 0 && isShown)
7744
7785
  return /* @__PURE__ */ (0, import_jsx_runtime251.jsx)(CharCounter, { id, max: maxLength, current: textLength });
7745
7786
  };
7746
- var texts9 = createTexts({
7787
+ var texts10 = createTexts({
7747
7788
  charsWritten: (current, max, remain) => ({
7748
7789
  nb: `${current} av ${max} tegn skrevet. ${remain} igjen.`,
7749
7790
  no: `${current} av ${max} tegn skrevet. ${remain} igjen.`,
@@ -7907,12 +7948,12 @@ var CommentComponent = ({
7907
7948
  size: "small",
7908
7949
  onClick: handleSubmit,
7909
7950
  loading,
7910
- children: t(texts10.send)
7951
+ children: t(texts11.send)
7911
7952
  }
7912
7953
  )
7913
7954
  ] });
7914
7955
  };
7915
- var texts10 = createTexts({
7956
+ var texts11 = createTexts({
7916
7957
  send: {
7917
7958
  nb: "Send inn",
7918
7959
  no: "Send inn",
@@ -8113,7 +8154,7 @@ var RatingComponent = ({
8113
8154
  ),
8114
8155
  children: [
8115
8156
  /* @__PURE__ */ (0, import_jsx_runtime255.jsx)("h2", { className: typographyStyles_default["label-medium"], children: ratingLabel }),
8116
- loading ? /* @__PURE__ */ (0, import_jsx_runtime255.jsx)(Spinner, { tooltip: t(texts11.uploadingFeedback) }) : /* @__PURE__ */ (0, import_jsx_runtime255.jsxs)(HStack, { gap: "x1", children: [
8157
+ loading ? /* @__PURE__ */ (0, import_jsx_runtime255.jsx)(Spinner, { tooltip: t(texts12.uploadingFeedback) }) : /* @__PURE__ */ (0, import_jsx_runtime255.jsxs)(HStack, { gap: "x1", children: [
8117
8158
  /* @__PURE__ */ (0, import_jsx_runtime255.jsx)(Tooltip, { text: thumbUpTooltip, children: button("positive", layout, thumbUpTooltip) }),
8118
8159
  /* @__PURE__ */ (0, import_jsx_runtime255.jsx)(Tooltip, { text: thumbDownTooltip, children: /* @__PURE__ */ (0, import_jsx_runtime255.jsx)("div", { children: button("negative", layout, thumbDownTooltip) }) })
8119
8160
  ] })
@@ -8121,7 +8162,7 @@ var RatingComponent = ({
8121
8162
  }
8122
8163
  );
8123
8164
  };
8124
- var texts11 = createTexts({
8165
+ var texts12 = createTexts({
8125
8166
  uploadingFeedback: {
8126
8167
  nb: "Laster opp tilbakemelding...",
8127
8168
  no: "Laster opp tilbakemelding...",
@@ -8155,14 +8196,14 @@ var Feedback = ({
8155
8196
  const [rating, setRating] = (0, import_react57.useState)(null);
8156
8197
  const [feedbackText, setFeedbackText] = (0, import_react57.useState)();
8157
8198
  const [isFeedbackSubmitted, setIsFeedbackSubmitted] = (0, import_react57.useState)(false);
8158
- const tRatingLabel = ratingLabel != null ? ratingLabel : t(texts12.ratingQuestion);
8159
- const tPositiveFeedbackLabel = positiveFeedbackLabel != null ? positiveFeedbackLabel : t(texts12.improvalQuestion);
8160
- const tNegativeFeedbackLabel = negativeFeedbackLabel != null ? negativeFeedbackLabel : t(texts12.improvalQuestion);
8161
- const tRatingSubmittedTitle = ratingSubmittedTitle != null ? ratingSubmittedTitle : t(texts12.thanks);
8162
- const tSubmittedTitle = submittedTitle != null ? submittedTitle : t(texts12.thanks);
8163
- const tTextAreaTip = textAreaTip != null ? textAreaTip : t(texts12.sensitiveInfo);
8164
- const tThumbUpTooltip = thumbUpTooltip != null ? thumbUpTooltip : t(texts12.good);
8165
- const tThumbDownTooltip = thumbDownTooltip != null ? thumbDownTooltip : t(texts12.bad);
8199
+ const tRatingLabel = ratingLabel != null ? ratingLabel : t(texts13.ratingQuestion);
8200
+ const tPositiveFeedbackLabel = positiveFeedbackLabel != null ? positiveFeedbackLabel : t(texts13.improvalQuestion);
8201
+ const tNegativeFeedbackLabel = negativeFeedbackLabel != null ? negativeFeedbackLabel : t(texts13.improvalQuestion);
8202
+ const tRatingSubmittedTitle = ratingSubmittedTitle != null ? ratingSubmittedTitle : t(texts13.thanks);
8203
+ const tSubmittedTitle = submittedTitle != null ? submittedTitle : t(texts13.thanks);
8204
+ const tTextAreaTip = textAreaTip != null ? textAreaTip : t(texts13.sensitiveInfo);
8205
+ const tThumbUpTooltip = thumbUpTooltip != null ? thumbUpTooltip : t(texts13.good);
8206
+ const tThumbDownTooltip = thumbDownTooltip != null ? thumbDownTooltip : t(texts13.bad);
8166
8207
  (0, import_react57.useEffect)(() => {
8167
8208
  if (ratingProp !== void 0) setRating(ratingProp);
8168
8209
  }, [ratingProp]);
@@ -8217,7 +8258,7 @@ var Feedback = ({
8217
8258
  }
8218
8259
  return /* @__PURE__ */ (0, import_jsx_runtime256.jsx)(Paragraph, { children: tSubmittedTitle });
8219
8260
  };
8220
- var texts12 = createTexts({
8261
+ var texts13 = createTexts({
8221
8262
  ratingQuestion: {
8222
8263
  nb: "Hva syns du om tjenesten?",
8223
8264
  no: "Hva syns du om tjenesten?",
@@ -8387,9 +8428,9 @@ var File = (props) => {
8387
8428
  onClick: removeFile,
8388
8429
  icon: CloseIcon,
8389
8430
  htmlProps: {
8390
- "aria-label": t(texts13.removeFile(stateFile.file.name)),
8431
+ "aria-label": t(texts14.removeFile(stateFile.file.name)),
8391
8432
  "aria-invalid": !isValid ? true : void 0,
8392
- "aria-errormessage": !isValid ? t(texts13.invalidFile) : void 0,
8433
+ "aria-errormessage": !isValid ? t(texts14.invalidFile) : void 0,
8393
8434
  "aria-describedby": spaceSeparatedIdListGenerator(
8394
8435
  errorsList.map((e) => e.id)
8395
8436
  )
@@ -8403,7 +8444,7 @@ var File = (props) => {
8403
8444
  /* @__PURE__ */ (0, import_jsx_runtime260.jsx)(ErrorList, { errors: errorsList })
8404
8445
  ] });
8405
8446
  };
8406
- var texts13 = createTexts({
8447
+ var texts14 = createTexts({
8407
8448
  removeFile: (file) => ({
8408
8449
  nb: `Fjern fil ${file}`,
8409
8450
  no: `Fjern fil ${file}`,
@@ -8537,7 +8578,7 @@ var useFileUploader = (props) => {
8537
8578
  isFileDialogActive: false,
8538
8579
  isDragActive: false,
8539
8580
  rootErrors: calcRootErrors(
8540
- t(texts14.invalidFileAmount),
8581
+ t(texts15.invalidFileAmount),
8541
8582
  initialFileUploaderFiles,
8542
8583
  maxFiles,
8543
8584
  errorMessage
@@ -8550,7 +8591,7 @@ var useFileUploader = (props) => {
8550
8591
  const accepted = isFileAccepted(file, accept);
8551
8592
  return {
8552
8593
  file,
8553
- errors: accepted ? [] : [t(texts14.invalidFileType)]
8594
+ errors: accepted ? [] : [t(texts15.invalidFileType)]
8554
8595
  };
8555
8596
  });
8556
8597
  dispatch({
@@ -8563,7 +8604,7 @@ var useFileUploader = (props) => {
8563
8604
  dispatch({
8564
8605
  type: "setRootErrors",
8565
8606
  payload: calcRootErrors(
8566
- t(texts14.invalidFileAmount),
8607
+ t(texts15.invalidFileAmount),
8567
8608
  stateFiles,
8568
8609
  maxFiles,
8569
8610
  errorMessage
@@ -8617,7 +8658,7 @@ var useFileUploader = (props) => {
8617
8658
  const accepted = isFileAccepted(file, accept);
8618
8659
  return {
8619
8660
  file,
8620
- errors: accepted ? [] : [t(texts14.invalidFileType)]
8661
+ errors: accepted ? [] : [t(texts15.invalidFileType)]
8621
8662
  };
8622
8663
  }).concat(stateFiles);
8623
8664
  onChange(newFiles.map((f) => f.file));
@@ -8709,7 +8750,7 @@ var useFileUploader = (props) => {
8709
8750
  removeFile
8710
8751
  };
8711
8752
  };
8712
- var texts14 = createTexts({
8753
+ var texts15 = createTexts({
8713
8754
  invalidFileType: {
8714
8755
  nb: "Ugyldig filtype",
8715
8756
  no: "Ugyldig filtype",
@@ -8751,7 +8792,7 @@ var FileUploader = (props) => {
8751
8792
  ...rest
8752
8793
  } = props;
8753
8794
  const { t } = useTranslation();
8754
- const tDropAreaLabel = dropAreaLabel != null ? dropAreaLabel : t(texts15.dragAndDropOr);
8795
+ const tDropAreaLabel = dropAreaLabel != null ? dropAreaLabel : t(texts16.dragAndDropOr);
8755
8796
  const generatedId = (0, import_react59.useId)();
8756
8797
  const uniqueId = id != null ? id : `${generatedId}-fileUploader`;
8757
8798
  const {
@@ -8860,7 +8901,7 @@ var FileUploader = (props) => {
8860
8901
  children: [
8861
8902
  input,
8862
8903
  tDropAreaLabel,
8863
- /* @__PURE__ */ (0, import_jsx_runtime261.jsx)(VisuallyHidden, { children: t(texts15.uploadFileWithButton) }),
8904
+ /* @__PURE__ */ (0, import_jsx_runtime261.jsx)(VisuallyHidden, { children: t(texts16.uploadFileWithButton) }),
8864
8905
  button
8865
8906
  ]
8866
8907
  }
@@ -8878,14 +8919,14 @@ var FileUploader = (props) => {
8878
8919
  readOnly && FileUploader_default["readonly--file-list"]
8879
8920
  ),
8880
8921
  children: [
8881
- /* @__PURE__ */ (0, import_jsx_runtime261.jsx)(VisuallyHidden, { id: fileListNameId, children: t(texts15.uploadedFiles) }),
8922
+ /* @__PURE__ */ (0, import_jsx_runtime261.jsx)(VisuallyHidden, { id: fileListNameId, children: t(texts16.uploadedFiles) }),
8882
8923
  inactive && fileListElements.length === 0 ? /* @__PURE__ */ (0, import_jsx_runtime261.jsx)(
8883
8924
  Typography,
8884
8925
  {
8885
8926
  italic: true,
8886
8927
  as: "span",
8887
8928
  color: disabled ? "text-subtle" : "text-medium",
8888
- children: t(texts15.noFiles)
8929
+ children: t(texts16.noFiles)
8889
8930
  }
8890
8931
  ) : /* @__PURE__ */ (0, import_jsx_runtime261.jsx)(StylelessList, { "aria-labelledby": fileListNameId, children: fileListElements })
8891
8932
  ]
@@ -8896,7 +8937,7 @@ var FileUploader = (props) => {
8896
8937
  );
8897
8938
  };
8898
8939
  FileUploader.displayName = "FileUploader";
8899
- var texts15 = createTexts({
8940
+ var texts16 = createTexts({
8900
8941
  dragAndDropOr: {
8901
8942
  nb: "Dra og slipp filer her eller",
8902
8943
  no: "Dra og slipp filer her eller",
@@ -9189,11 +9230,11 @@ var import_jsx_runtime273 = require("react/jsx-runtime");
9189
9230
  var inlineEditVisuallyHidden = (id, clearable) => {
9190
9231
  const { t } = useTranslation();
9191
9232
  return /* @__PURE__ */ (0, import_jsx_runtime273.jsxs)(VisuallyHidden, { id, children: [
9192
- t(texts16.inlineEditInfo),
9193
- !clearable && t(texts16.notClearable)
9233
+ t(texts17.inlineEditInfo),
9234
+ !clearable && t(texts17.notClearable)
9194
9235
  ] });
9195
9236
  };
9196
- var texts16 = createTexts({
9237
+ var texts17 = createTexts({
9197
9238
  inlineEditInfo: {
9198
9239
  nb: "Escape, Enter eller Tab for \xE5 lagre.",
9199
9240
  no: "Escape, Enter eller Tab for \xE5 lagre.",
@@ -9522,7 +9563,7 @@ var InternalHeader = (props) => {
9522
9563
  const hasContextMenuElements = !!contextMenuItems && contextMenuItems.length > 0;
9523
9564
  const hasSmallScreenBreakpoint = !!smallScreenBreakpoint;
9524
9565
  const hasNavInContextMenu = hasSmallScreenBreakpoint && hasNavigationElements;
9525
- const navigation = hasNavigationElements ? /* @__PURE__ */ (0, import_jsx_runtime279.jsx)("nav", { "aria-label": t(texts17.siteNavigation), children: /* @__PURE__ */ (0, import_jsx_runtime279.jsx)(
9566
+ const navigation = hasNavigationElements ? /* @__PURE__ */ (0, import_jsx_runtime279.jsx)("nav", { "aria-label": t(texts18.siteNavigation), children: /* @__PURE__ */ (0, import_jsx_runtime279.jsx)(
9526
9567
  ShowHide,
9527
9568
  {
9528
9569
  as: StylelessList,
@@ -9586,7 +9627,7 @@ var InternalHeader = (props) => {
9586
9627
  {
9587
9628
  icon: hasNavInContextMenu ? MenuIcon : MoreVerticalIcon,
9588
9629
  purpose: "tertiary",
9589
- "aria-label": t(texts17.openMenu)
9630
+ "aria-label": t(texts18.openMenu)
9590
9631
  }
9591
9632
  ),
9592
9633
  /* @__PURE__ */ (0, import_jsx_runtime279.jsxs)(OverflowMenu, { className: InternalHeader_default["context-menu"], children: [
@@ -9595,7 +9636,7 @@ var InternalHeader = (props) => {
9595
9636
  ShowHide,
9596
9637
  {
9597
9638
  as: "nav",
9598
- "aria-label": t(texts17.siteNavigation),
9639
+ "aria-label": t(texts18.siteNavigation),
9599
9640
  showBelow: smallScreenBreakpoint,
9600
9641
  children: /* @__PURE__ */ (0, import_jsx_runtime279.jsx)(OverflowMenuList, { children: navItems.map((item, i) => /* @__PURE__ */ (0, import_react67.createElement)(OverflowMenuLink, { ...item, key: `nav-${i}` })) })
9601
9642
  }
@@ -9631,7 +9672,7 @@ var InternalHeader = (props) => {
9631
9672
  );
9632
9673
  };
9633
9674
  InternalHeader.displayName = "InternalHeader";
9634
- var texts17 = createTexts({
9675
+ var texts18 = createTexts({
9635
9676
  openMenu: {
9636
9677
  nb: "\xC5pne meny",
9637
9678
  no: "\xC5pne meny",
@@ -10795,7 +10836,7 @@ var Pagination = ({
10795
10836
  onClick: (event) => {
10796
10837
  onPageChange(event, item);
10797
10838
  },
10798
- "aria-label": isActive ? t(texts18.currentPage(item)) : t(texts18.page(item)),
10839
+ "aria-label": isActive ? t(texts19.currentPage(item)) : t(texts19.page(item)),
10799
10840
  children: item
10800
10841
  }
10801
10842
  ) : /* @__PURE__ */ (0, import_jsx_runtime289.jsx)(
@@ -10815,7 +10856,7 @@ var Pagination = ({
10815
10856
  onClick: (event) => {
10816
10857
  onPageChange(event, activePage - 1);
10817
10858
  },
10818
- "aria-label": t(texts18.previousPage)
10859
+ "aria-label": t(texts19.previousPage)
10819
10860
  }
10820
10861
  );
10821
10862
  const nextPageButton = /* @__PURE__ */ (0, import_jsx_runtime289.jsx)(
@@ -10827,7 +10868,7 @@ var Pagination = ({
10827
10868
  onClick: (event) => {
10828
10869
  onPageChange(event, activePage + 1);
10829
10870
  },
10830
- "aria-label": t(texts18.nextPage)
10871
+ "aria-label": t(texts19.nextPage)
10831
10872
  }
10832
10873
  );
10833
10874
  const isOnFirstPage = activePage === 1;
@@ -10837,7 +10878,7 @@ var Pagination = ({
10837
10878
  {
10838
10879
  as: "nav",
10839
10880
  ref,
10840
- "aria-label": t(texts18.pagination),
10881
+ "aria-label": t(texts19.pagination),
10841
10882
  display: "flex",
10842
10883
  alignItems: "center",
10843
10884
  ...!withSelect && !withCounter && {
@@ -10901,7 +10942,7 @@ var Pagination = ({
10901
10942
  onClick: (event) => {
10902
10943
  onPageChange(event, 1);
10903
10944
  },
10904
- "aria-label": t(texts18.firstPage)
10945
+ "aria-label": t(texts19.firstPage)
10905
10946
  }
10906
10947
  )
10907
10948
  }
@@ -10955,7 +10996,7 @@ var Pagination = ({
10955
10996
  onClick: (event) => {
10956
10997
  onPageChange(event, pagesLength);
10957
10998
  },
10958
- "aria-label": t(texts18.lastPage)
10999
+ "aria-label": t(texts19.lastPage)
10959
11000
  }
10960
11001
  )
10961
11002
  }
@@ -10993,11 +11034,11 @@ var Pagination = ({
10993
11034
  isClearable: false,
10994
11035
  onChange: handleSelectChange,
10995
11036
  componentSize: "small",
10996
- "aria-label": t(texts18.itemsPerPage)
11037
+ "aria-label": t(texts19.itemsPerPage)
10997
11038
  }
10998
11039
  ),
10999
11040
  withCounter && /* @__PURE__ */ (0, import_jsx_runtime289.jsx)(Paragraph, { children: t(
11000
- texts18.showsAmountOfTotalItems(
11041
+ texts19.showsAmountOfTotalItems(
11001
11042
  activePageFirstItem,
11002
11043
  activePageLastItem,
11003
11044
  itemsAmount
@@ -11010,7 +11051,7 @@ var Pagination = ({
11010
11051
  );
11011
11052
  };
11012
11053
  Pagination.displayName = "Pagination";
11013
- var texts18 = createTexts({
11054
+ var texts19 = createTexts({
11014
11055
  pagination: {
11015
11056
  nb: "Paginering",
11016
11057
  no: "Paginering",
@@ -11528,8 +11569,8 @@ var PhoneInput = ({
11528
11569
  }) => {
11529
11570
  var _a;
11530
11571
  const { t } = useTranslation();
11531
- const tGroupLabel = groupLabel != null ? groupLabel : t(texts19.countryCodeAndPhoneNumber);
11532
- const tSelectLabel = selectLabel != null ? selectLabel : t(texts19.countryCode);
11572
+ const tGroupLabel = groupLabel != null ? groupLabel : t(texts20.countryCodeAndPhoneNumber);
11573
+ const tSelectLabel = selectLabel != null ? selectLabel : t(texts20.countryCode);
11533
11574
  const generatedId = (0, import_react74.useId)();
11534
11575
  const uniqueId = (_a = props.id) != null ? _a : generatedId;
11535
11576
  const phoneInputId = `${uniqueId}-phone-input`;
@@ -11703,7 +11744,7 @@ var getCallingCode = (s) => {
11703
11744
  var _a;
11704
11745
  return (_a = s.substring(s.indexOf("+"), s.length)) != null ? _a : "";
11705
11746
  };
11706
- var texts19 = createTexts({
11747
+ var texts20 = createTexts({
11707
11748
  countryCode: {
11708
11749
  nb: "Landskode",
11709
11750
  no: "Landskode",
@@ -12081,7 +12122,7 @@ var ProgressTrackerItem = (props) => {
12081
12122
  }
12082
12123
  )
12083
12124
  ] });
12084
- const ariaLabel = props["aria-label"] ? props["aria-label"] : `${children}, ${stepNumber}. ${completed ? t(texts20.completed) : t(texts20.uncompleted)}`;
12125
+ const ariaLabel = props["aria-label"] ? props["aria-label"] : `${children}, ${stepNumber}. ${completed ? t(texts21.completed) : t(texts21.uncompleted)}`;
12085
12126
  return /* @__PURE__ */ (0, import_jsx_runtime293.jsx)(
12086
12127
  Box,
12087
12128
  {
@@ -12130,7 +12171,7 @@ var ProgressTrackerItem = (props) => {
12130
12171
  );
12131
12172
  };
12132
12173
  ProgressTrackerItem.displayName = "ProgressTracker.Item";
12133
- var texts20 = createTexts({
12174
+ var texts21 = createTexts({
12134
12175
  uncompleted: {
12135
12176
  nb: "trinn ikke ferdig",
12136
12177
  no: "trinn ikke ferdig",
@@ -12187,7 +12228,7 @@ var ProgressTracker = (() => {
12187
12228
  children: /* @__PURE__ */ (0, import_jsx_runtime294.jsx)(
12188
12229
  "nav",
12189
12230
  {
12190
- "aria-label": ariaLabel != null ? ariaLabel : t(texts21.stepProgression),
12231
+ "aria-label": ariaLabel != null ? ariaLabel : t(texts22.stepProgression),
12191
12232
  ...getBaseHTMLProps(id, className, htmlProps, rest),
12192
12233
  children: /* @__PURE__ */ (0, import_jsx_runtime294.jsx)(
12193
12234
  Box,
@@ -12225,11 +12266,11 @@ function passIndexPropToProgressTrackerItem(children) {
12225
12266
  })
12226
12267
  );
12227
12268
  }
12228
- var texts21 = createTexts({
12269
+ var texts22 = createTexts({
12229
12270
  stepProgression: {
12230
- nb: "Stegprogresjon",
12231
- no: "Stegprogresjon",
12232
- nn: "Stegprogresjon",
12271
+ nb: "Trinnprogresjon",
12272
+ no: "Trinnprogresjon",
12273
+ nn: "Trinnprogresjon",
12233
12274
  en: "Step progression"
12234
12275
  }
12235
12276
  });
@@ -12440,7 +12481,7 @@ var SearchSuggestions = ({
12440
12481
  {
12441
12482
  index,
12442
12483
  focus: focus === index && showSuggestions,
12443
- "aria-label": t(texts22.search(suggestion)),
12484
+ "aria-label": t(texts23.search(suggestion)),
12444
12485
  onClick: onSuggestionClick,
12445
12486
  "aria-setsize": suggestionsToRender.length,
12446
12487
  "aria-posinset": index,
@@ -12454,7 +12495,7 @@ var SearchSuggestions = ({
12454
12495
  );
12455
12496
  };
12456
12497
  SearchSuggestions.displayName = "SearchSuggestions";
12457
- var texts22 = createTexts({
12498
+ var texts23 = createTexts({
12458
12499
  search: (suggestion) => ({
12459
12500
  no: `${suggestion} s\xF8k`,
12460
12501
  nb: `${suggestion} s\xF8k`,
@@ -12600,13 +12641,13 @@ var Search = ({
12600
12641
  componentSize
12601
12642
  }
12602
12643
  ),
12603
- /* @__PURE__ */ (0, import_jsx_runtime298.jsx)(VisuallyHidden, { id: suggestionsDescriptionId, children: t(texts23.useArrowKeys) })
12644
+ /* @__PURE__ */ (0, import_jsx_runtime298.jsx)(VisuallyHidden, { id: suggestionsDescriptionId, children: t(texts24.useArrowKeys) })
12604
12645
  ] }),
12605
12646
  hasValue && /* @__PURE__ */ (0, import_jsx_runtime298.jsx)(
12606
12647
  ClearButton,
12607
12648
  {
12608
12649
  size: getIconSize2(componentSize),
12609
- "aria-label": t(texts23.clearSearch),
12650
+ "aria-label": t(texts24.clearSearch),
12610
12651
  onClick: clearInput,
12611
12652
  className: Search_default["clear-button"]
12612
12653
  }
@@ -12635,7 +12676,7 @@ var Search = ({
12635
12676
  size: componentSize,
12636
12677
  onClick,
12637
12678
  ...otherButtonProps,
12638
- children: buttonLabel != null ? buttonLabel : t(texts23.search)
12679
+ children: buttonLabel != null ? buttonLabel : t(texts24.search)
12639
12680
  }
12640
12681
  )
12641
12682
  ]
@@ -12646,7 +12687,7 @@ var Search = ({
12646
12687
  ] });
12647
12688
  };
12648
12689
  Search.displayName = "Search";
12649
- var texts23 = createTexts({
12690
+ var texts24 = createTexts({
12650
12691
  clearSearch: {
12651
12692
  nb: "T\xF8m s\xF8k",
12652
12693
  no: "T\xF8m s\xF8k",
@@ -12855,7 +12896,7 @@ var SplitButton = ({
12855
12896
  {
12856
12897
  ...buttonStyleProps,
12857
12898
  icon: isOpen ? ChevronUpIcon : ChevronDownIcon,
12858
- "aria-label": t(texts24.moreActions),
12899
+ "aria-label": t(texts25.moreActions),
12859
12900
  purpose,
12860
12901
  className: cn(
12861
12902
  SplitButton_default.option,
@@ -12869,7 +12910,7 @@ var SplitButton = ({
12869
12910
  ] });
12870
12911
  };
12871
12912
  SplitButton.displayName = "SplitButton";
12872
- var texts24 = createTexts({
12913
+ var texts25 = createTexts({
12873
12914
  moreActions: {
12874
12915
  nb: "Flere handlinger",
12875
12916
  no: "Flere handlinger",
@@ -13027,7 +13068,7 @@ var SortCell = ({
13027
13068
  StylelessButton,
13028
13069
  {
13029
13070
  onClick,
13030
- "aria-description": t(texts25.changeSort),
13071
+ "aria-description": t(texts26.changeSort),
13031
13072
  className: cn(Table_default["sort-button"], focusable),
13032
13073
  children: [
13033
13074
  children,
@@ -13040,7 +13081,7 @@ var SortCell = ({
13040
13081
  );
13041
13082
  };
13042
13083
  SortCell.displayName = "Table.SortCell";
13043
- var texts25 = createTexts({
13084
+ var texts26 = createTexts({
13044
13085
  changeSort: {
13045
13086
  nb: "Aktiver for \xE5 endre sorteringsrekkef\xF8lge",
13046
13087
  no: "Aktiver for \xE5 endre sorteringsrekkef\xF8lge",
@@ -13188,8 +13229,8 @@ var CollapsibleRow = ({
13188
13229
  return /* @__PURE__ */ (0, import_jsx_runtime311.jsx)(Row, { ref, ...rowProps(), children: /* @__PURE__ */ (0, import_jsx_runtime311.jsxs)(import_jsx_runtime311.Fragment, { children: [
13189
13230
  definingColumnCells,
13190
13231
  /* @__PURE__ */ (0, import_jsx_runtime311.jsxs)(Table2.Cell, { type: "head", layout: "center", children: [
13191
- t(texts26.expand),
13192
- /* @__PURE__ */ (0, import_jsx_runtime311.jsx)(VisuallyHidden, { children: t(texts26.row) })
13232
+ t(texts27.expand),
13233
+ /* @__PURE__ */ (0, import_jsx_runtime311.jsx)(VisuallyHidden, { children: t(texts27.row) })
13193
13234
  ] })
13194
13235
  ] }) });
13195
13236
  };
@@ -13226,7 +13267,7 @@ var CollapsibleRow = ({
13226
13267
  ] }) : /* @__PURE__ */ (0, import_jsx_runtime311.jsx)(Row, { ref, ...rowProps(), children });
13227
13268
  };
13228
13269
  CollapsibleRow.displayName = "CollapsibleTable.Row";
13229
- var texts26 = createTexts({
13270
+ var texts27 = createTexts({
13230
13271
  expand: {
13231
13272
  nb: "Utvid",
13232
13273
  no: "Utvid",