@innspel/react-native 0.11.0 → 0.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.cts CHANGED
@@ -101,7 +101,7 @@ interface ScreenshotAdapterOptions {
101
101
  declare function createScreenshotAdapter(captureRef: CaptureRefFn, options?: ScreenshotAdapterOptions): ScreenshotAdapter;
102
102
 
103
103
  /**
104
- * tokens.ts — GENERERT fra theme/theme.ts (avtrykk c1045545046d).
104
+ * tokens.ts — GENERERT fra theme/theme.ts (avtrykk 8d9d03227be9).
105
105
  * Rediger aldri denne filen. Endre temaet i kilden og kjør
106
106
  * `node scripts/generate-tokens.ts`, som CI verifiserer med `--check`.
107
107
  *
@@ -109,7 +109,7 @@ declare function createScreenshotAdapter(captureRef: CaptureRefFn, options?: Scr
109
109
  * Widgeten lever inne i vertsappen og skal arve dens flate (DD-21); dette er
110
110
  * bunnen, ikke fasiten.
111
111
  *
112
- * 77 kontrastpar er målt mot WCAG AA i begge paletter, og generatoren
112
+ * 83 kontrastpar er målt mot WCAG AA i begge paletter, og generatoren
113
113
  * nekter å skrive hvis ett faller under kravet. Farge bærer aldri mening alene
114
114
  * — hver status har ikon og tekstetikett (DD-08).
115
115
  *
@@ -133,6 +133,7 @@ declare const t: {
133
133
  readonly onActionPrimary: "#04252A";
134
134
  readonly actionSecondaryBorder: "#7C8894";
135
135
  readonly actionSecondaryText: "#F2F4F6";
136
+ readonly actionText: "#5AD3E2";
136
137
  readonly brand: "#5AD3E2";
137
138
  readonly onBrand: "#04252A";
138
139
  readonly brandFill: "#0E7C8C";
@@ -224,6 +225,7 @@ declare const light: {
224
225
  readonly onActionPrimary: "#FFFFFF";
225
226
  readonly actionSecondaryBorder: "#6F7883";
226
227
  readonly actionSecondaryText: "#14181D";
228
+ readonly actionText: "#0A6673";
227
229
  readonly brand: "#0A6673";
228
230
  readonly onBrand: "#FFFFFF";
229
231
  readonly brandFill: "#0A6673";
@@ -365,6 +367,8 @@ interface SubmittedInfo {
365
367
  queued: boolean;
366
368
  /** Finnes når saken er opprettet hos tjeneren; mangler i køen. */
367
369
  id?: string;
370
+ /** Saksnummeret innsenderen ser i kvitteringen («Sak 10042»). Følger `id`: mangler i køen. */
371
+ number?: number;
368
372
  }
369
373
 
370
374
  interface InnspelKontekst {
@@ -418,8 +422,8 @@ declare function InnspelProvider({ client, children, theme, colorScheme, tenantN
418
422
  imageStepNote?: ImageStepNote;
419
423
  /**
420
424
  * Kalles når et innspill er sendt — eller lagt i køen fordi nettet var borte (F26).
421
- * `type`, `queued`, og `id` når saken finnes hos tjeneren. Ingen identitet: saksnummeret
422
- * er sakens, og det innsenderen alt ser i kvitteringen. Bruk det til å hente tellingen
425
+ * `type`, `queued`, og `id` og `number` når saken finnes hos tjeneren. Ingen identitet:
426
+ * `number` er saksnummeret innsenderen alt ser i kvitteringen («Sak 10042»). Bruk det til å hente tellingen
423
427
  * på «Mine innspill» på nytt, eller til å be om varsler i det riktige øyeblikket —
424
428
  * rett etter første innsending, ikke ved oppstart. Kalles ikke for «Ja, jeg også».
425
429
  */
@@ -652,13 +656,13 @@ declare const tekst: {
652
656
  readonly kvitteringFeil: "Du får beskjed når den er rettet, eller hvis vi trenger mer.";
653
657
  readonly kvitteringJaOgsa: "Du får beskjed når den er rettet.";
654
658
  readonly kvitteringUnder: "Ligger under «Mine innspill» og oppdaterer seg selv.";
655
- readonly saksnummer: (nr: string) => string;
659
+ readonly saksnummer: (nr: number) => string;
656
660
  readonly tilbakeTilAppen: "Tilbake til appen";
657
661
  /** DD-42: saken er sendt, bildet kom ikke med — aldri en blokkert innsending. */
658
662
  readonly kvitteringVedleggFeilet: "Sendt — skjermbildet kunne ikke legges ved";
659
663
  readonly tekstenErLagret: "Teksten din er lagret.";
660
664
  readonly vedleggFeiletBanner: "Bildet ble ikke lastet opp. Saken er sendt uten det — vil du, kan du sende et nytt innspill med bilde.";
661
- readonly saksnummerUtenVedlegg: (nr: string) => string;
665
+ readonly saksnummerUtenVedlegg: (nr: number) => string;
662
666
  readonly koIngenNett: "Ingen nett";
663
667
  readonly koHelt: "Sendes når du er på nett.";
664
668
  readonly koUnder: "Du ser den under «Mine innspill» til den er sendt.";
@@ -682,7 +686,7 @@ declare const tekst: {
682
686
  readonly mineIkkeSendtHode: (spor: string) => string;
683
687
  readonly mineFeil: "Innspillene dine kunne ikke hentes nå.";
684
688
  /** «Feil · sak 2041» — sporet først, aldri rå id og aldri kontraktens type (DD-50). */
685
- readonly sakHode: (spor: string, nr: string) => string;
689
+ readonly sakHode: (spor: string, nr: number) => string;
686
690
  /** F14: svaret kom siden forrige gang denne enheten viste lista. */
687
691
  readonly nyttSvar: "Nytt svar";
688
692
  readonly bildeFjernet: "Bildet er fjernet.";
package/dist/index.d.ts CHANGED
@@ -101,7 +101,7 @@ interface ScreenshotAdapterOptions {
101
101
  declare function createScreenshotAdapter(captureRef: CaptureRefFn, options?: ScreenshotAdapterOptions): ScreenshotAdapter;
102
102
 
103
103
  /**
104
- * tokens.ts — GENERERT fra theme/theme.ts (avtrykk c1045545046d).
104
+ * tokens.ts — GENERERT fra theme/theme.ts (avtrykk 8d9d03227be9).
105
105
  * Rediger aldri denne filen. Endre temaet i kilden og kjør
106
106
  * `node scripts/generate-tokens.ts`, som CI verifiserer med `--check`.
107
107
  *
@@ -109,7 +109,7 @@ declare function createScreenshotAdapter(captureRef: CaptureRefFn, options?: Scr
109
109
  * Widgeten lever inne i vertsappen og skal arve dens flate (DD-21); dette er
110
110
  * bunnen, ikke fasiten.
111
111
  *
112
- * 77 kontrastpar er målt mot WCAG AA i begge paletter, og generatoren
112
+ * 83 kontrastpar er målt mot WCAG AA i begge paletter, og generatoren
113
113
  * nekter å skrive hvis ett faller under kravet. Farge bærer aldri mening alene
114
114
  * — hver status har ikon og tekstetikett (DD-08).
115
115
  *
@@ -133,6 +133,7 @@ declare const t: {
133
133
  readonly onActionPrimary: "#04252A";
134
134
  readonly actionSecondaryBorder: "#7C8894";
135
135
  readonly actionSecondaryText: "#F2F4F6";
136
+ readonly actionText: "#5AD3E2";
136
137
  readonly brand: "#5AD3E2";
137
138
  readonly onBrand: "#04252A";
138
139
  readonly brandFill: "#0E7C8C";
@@ -224,6 +225,7 @@ declare const light: {
224
225
  readonly onActionPrimary: "#FFFFFF";
225
226
  readonly actionSecondaryBorder: "#6F7883";
226
227
  readonly actionSecondaryText: "#14181D";
228
+ readonly actionText: "#0A6673";
227
229
  readonly brand: "#0A6673";
228
230
  readonly onBrand: "#FFFFFF";
229
231
  readonly brandFill: "#0A6673";
@@ -365,6 +367,8 @@ interface SubmittedInfo {
365
367
  queued: boolean;
366
368
  /** Finnes når saken er opprettet hos tjeneren; mangler i køen. */
367
369
  id?: string;
370
+ /** Saksnummeret innsenderen ser i kvitteringen («Sak 10042»). Følger `id`: mangler i køen. */
371
+ number?: number;
368
372
  }
369
373
 
370
374
  interface InnspelKontekst {
@@ -418,8 +422,8 @@ declare function InnspelProvider({ client, children, theme, colorScheme, tenantN
418
422
  imageStepNote?: ImageStepNote;
419
423
  /**
420
424
  * Kalles når et innspill er sendt — eller lagt i køen fordi nettet var borte (F26).
421
- * `type`, `queued`, og `id` når saken finnes hos tjeneren. Ingen identitet: saksnummeret
422
- * er sakens, og det innsenderen alt ser i kvitteringen. Bruk det til å hente tellingen
425
+ * `type`, `queued`, og `id` og `number` når saken finnes hos tjeneren. Ingen identitet:
426
+ * `number` er saksnummeret innsenderen alt ser i kvitteringen («Sak 10042»). Bruk det til å hente tellingen
423
427
  * på «Mine innspill» på nytt, eller til å be om varsler i det riktige øyeblikket —
424
428
  * rett etter første innsending, ikke ved oppstart. Kalles ikke for «Ja, jeg også».
425
429
  */
@@ -652,13 +656,13 @@ declare const tekst: {
652
656
  readonly kvitteringFeil: "Du får beskjed når den er rettet, eller hvis vi trenger mer.";
653
657
  readonly kvitteringJaOgsa: "Du får beskjed når den er rettet.";
654
658
  readonly kvitteringUnder: "Ligger under «Mine innspill» og oppdaterer seg selv.";
655
- readonly saksnummer: (nr: string) => string;
659
+ readonly saksnummer: (nr: number) => string;
656
660
  readonly tilbakeTilAppen: "Tilbake til appen";
657
661
  /** DD-42: saken er sendt, bildet kom ikke med — aldri en blokkert innsending. */
658
662
  readonly kvitteringVedleggFeilet: "Sendt — skjermbildet kunne ikke legges ved";
659
663
  readonly tekstenErLagret: "Teksten din er lagret.";
660
664
  readonly vedleggFeiletBanner: "Bildet ble ikke lastet opp. Saken er sendt uten det — vil du, kan du sende et nytt innspill med bilde.";
661
- readonly saksnummerUtenVedlegg: (nr: string) => string;
665
+ readonly saksnummerUtenVedlegg: (nr: number) => string;
662
666
  readonly koIngenNett: "Ingen nett";
663
667
  readonly koHelt: "Sendes når du er på nett.";
664
668
  readonly koUnder: "Du ser den under «Mine innspill» til den er sendt.";
@@ -682,7 +686,7 @@ declare const tekst: {
682
686
  readonly mineIkkeSendtHode: (spor: string) => string;
683
687
  readonly mineFeil: "Innspillene dine kunne ikke hentes nå.";
684
688
  /** «Feil · sak 2041» — sporet først, aldri rå id og aldri kontraktens type (DD-50). */
685
- readonly sakHode: (spor: string, nr: string) => string;
689
+ readonly sakHode: (spor: string, nr: number) => string;
686
690
  /** F14: svaret kom siden forrige gang denne enheten viste lista. */
687
691
  readonly nyttSvar: "Nytt svar";
688
692
  readonly bildeFjernet: "Bildet er fjernet.";
package/dist/index.js CHANGED
@@ -74,6 +74,7 @@ var t = {
74
74
  onActionPrimary: "#04252A",
75
75
  actionSecondaryBorder: "#7C8894",
76
76
  actionSecondaryText: "#F2F4F6",
77
+ actionText: "#5AD3E2",
77
78
  brand: "#5AD3E2",
78
79
  onBrand: "#04252A",
79
80
  brandFill: "#0E7C8C",
@@ -161,6 +162,7 @@ var light = {
161
162
  onActionPrimary: "#FFFFFF",
162
163
  actionSecondaryBorder: "#6F7883",
163
164
  actionSecondaryText: "#14181D",
165
+ actionText: "#0A6673",
164
166
  brand: "#0A6673",
165
167
  onBrand: "#FFFFFF",
166
168
  brandFill: "#0A6673",
@@ -644,24 +646,34 @@ function H({
644
646
  testID
645
647
  }) {
646
648
  const tema = useTema();
647
- return /* @__PURE__ */ jsxs(View, { style: { gap: tema.space.xs }, children: [
648
- /* @__PURE__ */ jsx2(
649
- Text,
650
- {
651
- testID,
652
- accessibilityRole: "header",
653
- style: {
654
- color: tema.color.textPrimary,
655
- fontSize: nivaa === 2 ? tema.font.h2 : tema.font.h3,
656
- lineHeight: nivaa === 2 ? tema.lineHeight.h2 : tema.lineHeight.h3,
657
- fontWeight: tema.weight.bold
658
- },
659
- children
660
- }
661
- ),
662
- sub ? /* @__PURE__ */ jsx2(Sek, { children: sub }) : null,
663
- meta ? /* @__PURE__ */ jsx2(Meta, { children: meta }) : null
664
- ] });
649
+ return (
650
+ /*
651
+ * `ark-tittel` er ETT fast punkt i arket, likt i hvert steg (#304): iOS-flytene lukker
652
+ * tastaturet med et trykk på tomt område fordi Maestros `hideKeyboard` ikke finnes der,
653
+ * og det var settets eneste koordinatavhengige linje. Bare skjermens EGEN overskrift
654
+ * (`nivaa` 2) får den — en overskrift inne i et kort eller en dialog er `nivaa` 3, og to
655
+ * like testID-er på skjermen gjør flyten tvetydig. Den valgfrie `testID` står fortsatt
656
+ * på teksten, så ingen eksisterende flyt eller test flytter seg.
657
+ */
658
+ /* @__PURE__ */ jsxs(View, { testID: nivaa === 2 ? "ark-tittel" : void 0, style: { gap: tema.space.xs }, children: [
659
+ /* @__PURE__ */ jsx2(
660
+ Text,
661
+ {
662
+ testID,
663
+ accessibilityRole: "header",
664
+ style: {
665
+ color: tema.color.textPrimary,
666
+ fontSize: nivaa === 2 ? tema.font.h2 : tema.font.h3,
667
+ lineHeight: nivaa === 2 ? tema.lineHeight.h2 : tema.lineHeight.h3,
668
+ fontWeight: tema.weight.bold
669
+ },
670
+ children
671
+ }
672
+ ),
673
+ sub ? /* @__PURE__ */ jsx2(Sek, { children: sub }) : null,
674
+ meta ? /* @__PURE__ */ jsx2(Meta, { children: meta }) : null
675
+ ] })
676
+ );
665
677
  }
666
678
  function Brodtekst({ children, testID }) {
667
679
  const tema = useTema();
@@ -728,7 +740,7 @@ function Tekstknapp({
728
740
  accessibilityLabel
729
741
  }) {
730
742
  const tema = useTema();
731
- const farge = disabled ? tema.color.textDisabled : noytral ? tema.color.textPrimary : tema.color.actionSecondaryText;
743
+ const farge = disabled ? tema.color.textDisabled : noytral ? tema.color.textPrimary : tema.color.actionText;
732
744
  return /* @__PURE__ */ jsxs(
733
745
  Pressable,
734
746
  {
@@ -886,11 +898,6 @@ function Banner({
886
898
  }
887
899
 
888
900
  // src/widget/tekster.ts
889
- function saksnr(id) {
890
- const i = id.indexOf("_");
891
- const rest = i >= 0 ? id.slice(i + 1) : id;
892
- return rest.length > 8 ? rest.slice(-4) : rest;
893
- }
894
901
  var stor = (s) => s ? s.charAt(0).toUpperCase() + s.slice(1) : s;
895
902
  var PLATTFORM_ORD = {
896
903
  android: "Android",
@@ -1049,13 +1056,13 @@ var tekst = {
1049
1056
  kvitteringFeil: "Du f\xE5r beskjed n\xE5r den er rettet, eller hvis vi trenger mer.",
1050
1057
  kvitteringJaOgsa: "Du f\xE5r beskjed n\xE5r den er rettet.",
1051
1058
  kvitteringUnder: "Ligger under \xABMine innspill\xBB og oppdaterer seg selv.",
1052
- saksnummer: (nr) => `Sak ${saksnr(nr)}`,
1059
+ saksnummer: (nr) => `Sak ${nr}`,
1053
1060
  tilbakeTilAppen: "Tilbake til appen",
1054
1061
  /** DD-42: saken er sendt, bildet kom ikke med — aldri en blokkert innsending. */
1055
1062
  kvitteringVedleggFeilet: "Sendt \u2014 skjermbildet kunne ikke legges ved",
1056
1063
  tekstenErLagret: "Teksten din er lagret.",
1057
1064
  vedleggFeiletBanner: "Bildet ble ikke lastet opp. Saken er sendt uten det \u2014 vil du, kan du sende et nytt innspill med bilde.",
1058
- saksnummerUtenVedlegg: (nr) => `Sak ${saksnr(nr)} \xB7 uten vedlegg`,
1065
+ saksnummerUtenVedlegg: (nr) => `Sak ${nr} \xB7 uten vedlegg`,
1059
1066
  /* 2i — køet uten nett (DD-41, presisert 2026-09-20). Kortet lover ikke svar, og det er
1060
1067
  derfor ikke kvitteringen: kvitteringen kommer når køen tømmes. */
1061
1068
  koIngenNett: "Ingen nett",
@@ -1082,7 +1089,7 @@ var tekst = {
1082
1089
  mineIkkeSendtHode: (spor) => `${stor(spor)} \xB7 ikke sendt enn\xE5`,
1083
1090
  mineFeil: "Innspillene dine kunne ikke hentes n\xE5.",
1084
1091
  /** «Feil · sak 2041» — sporet først, aldri rå id og aldri kontraktens type (DD-50). */
1085
- sakHode: (spor, nr) => `${stor(spor)} \xB7 sak ${saksnr(nr)}`,
1092
+ sakHode: (spor, nr) => `${stor(spor)} \xB7 sak ${nr}`,
1086
1093
  /** F14: svaret kom siden forrige gang denne enheten viste lista. */
1087
1094
  nyttSvar: "Nytt svar",
1088
1095
  // Leietakeren fjernet vedlegget. Bare AT — aldri hvorfor, av hvem eller når.
@@ -1461,7 +1468,7 @@ function Felt({
1461
1468
  }
1462
1469
  ),
1463
1470
  /* @__PURE__ */ jsx3(Text2, { style: { flex: 1, color: tema.color.textSecondary, fontSize: tema.font.body, lineHeight: tema.lineHeight.body }, children: apen ? tekst.kontekstLinjeApen : tekst.kontekstLinjeLukket }),
1464
- /* @__PURE__ */ jsx3(Text2, { style: { color: tema.color.actionSecondaryText, fontSize: tema.font.body, fontWeight: tema.weight.semibold }, children: apen ? tekst.kontekstSkjul : tekst.kontekstVis })
1471
+ /* @__PURE__ */ jsx3(Text2, { style: { color: tema.color.actionText, fontSize: tema.font.body, fontWeight: tema.weight.semibold }, children: apen ? tekst.kontekstSkjul : tekst.kontekstVis })
1465
1472
  ]
1466
1473
  }
1467
1474
  ),
@@ -2137,7 +2144,7 @@ var MineInnspill = forwardRef(function MineInnspill2({
2137
2144
  farge: tema.color.brand
2138
2145
  }
2139
2146
  ),
2140
- /* @__PURE__ */ jsx8(Meta, { children: venter ? tekst.mineIkkeSendtHode(rad.type === "onske" ? tekst.onske : tekst.feil) : tekst.sakHode(rad.type === "onske" ? tekst.onske : tekst.feil, rad.id) }),
2147
+ /* @__PURE__ */ jsx8(Meta, { children: venter ? tekst.mineIkkeSendtHode(rad.type === "onske" ? tekst.onske : tekst.feil) : tekst.sakHode(rad.type === "onske" ? tekst.onske : tekst.feil, rad.number) }),
2141
2148
  nytt ? /* @__PURE__ */ jsx8(Pille, { testID: "nytt-svar", children: tekst.nyttSvar }) : null
2142
2149
  ] }),
2143
2150
  /* @__PURE__ */ jsx8(Brodtekst, { testID: `sakstekst-${nokkel}`, children: rad.text }),
@@ -2716,7 +2723,7 @@ function Widget({
2716
2723
  } else {
2717
2724
  setKvittering({
2718
2725
  art: spor,
2719
- nr: res.submission.id,
2726
+ nr: res.submission.number,
2720
2727
  // Kortet får HELE saken: sporingslinjen leser `status`, `createdAt` og
2721
2728
  // `statusChangedAt` derfra — ingen nye felter, ingen ny kontrakt (DD-28).
2722
2729
  sak: res.submission,
@@ -2726,7 +2733,7 @@ function Widget({
2726
2733
  });
2727
2734
  }
2728
2735
  setSteg("kvittering");
2729
- onSubmitted?.(res.status === "queued" ? { type: spor, queued: true } : { type: spor, queued: false, id: res.submission.id });
2736
+ onSubmitted?.(res.status === "queued" ? { type: spor, queued: true } : { type: spor, queued: false, id: res.submission.id, number: res.submission.number });
2730
2737
  } catch (e) {
2731
2738
  if (e instanceof InnspelQueueFullError) setFeil(e.userMessage);
2732
2739
  else if (e instanceof InnspelApiError2) setFeil(e.message);
@@ -2740,7 +2747,7 @@ function Widget({
2740
2747
  setSender(true);
2741
2748
  try {
2742
2749
  const res = await client.knownIssues.confirm(k.id);
2743
- setKvittering({ art: "jaOgsa", nr: res.id, sak: res });
2750
+ setKvittering({ art: "jaOgsa", nr: res.number, sak: res });
2744
2751
  setSteg("kvittering");
2745
2752
  } catch (e) {
2746
2753
  setFeil(e instanceof InnspelApiError2 ? e.message : "tjeneren svarte ikke.");
@@ -3230,8 +3237,8 @@ function Aksept({
3230
3237
  onPress: () => void Linking.openURL(String(program.termsUrl)),
3231
3238
  style: { minHeight: tema.touch, flexDirection: "row", alignItems: "center", gap: tema.space.sm },
3232
3239
  children: [
3233
- /* @__PURE__ */ jsx13(Ikon, { navn: "open-outline", storrelse: "minste", farge: tema.color.actionSecondaryText }),
3234
- /* @__PURE__ */ jsx13(Text9, { style: { color: tema.color.actionSecondaryText, fontSize: tema.font.body, fontWeight: tema.weight.semibold }, children: tekst.akseptVilkar })
3240
+ /* @__PURE__ */ jsx13(Ikon, { navn: "open-outline", storrelse: "minste", farge: tema.color.actionText }),
3241
+ /* @__PURE__ */ jsx13(Text9, { style: { color: tema.color.actionText, fontSize: tema.font.body, fontWeight: tema.weight.semibold }, children: tekst.akseptVilkar })
3235
3242
  ]
3236
3243
  }
3237
3244
  ) : null,