@innspel/react-native 0.5.0 → 0.6.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/README.md +42 -1
- package/dist/index.cjs +361 -280
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +60 -3
- package/dist/index.d.ts +60 -3
- package/dist/index.js +367 -286
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -5,15 +5,25 @@ import { View as View9 } from "react-native";
|
|
|
5
5
|
// src/skjermbilde.ts
|
|
6
6
|
import { createContext, useContext } from "react";
|
|
7
7
|
import { Image } from "react-native";
|
|
8
|
-
function
|
|
8
|
+
function storrelse(uri) {
|
|
9
|
+
return new Promise((resolve, reject) => Image.getSize(uri, (w, h) => resolve({ width: w, height: h }), reject));
|
|
10
|
+
}
|
|
11
|
+
function createScreenshotAdapter(captureRef, options = {}) {
|
|
12
|
+
const { pickImage, captureScreen } = options;
|
|
9
13
|
return {
|
|
10
|
-
async capture(ref,
|
|
11
|
-
const uri = await captureRef(ref, { format:
|
|
12
|
-
|
|
13
|
-
(resolve, reject) => Image.getSize(uri, (w, h) => resolve({ width: w, height: h }), reject)
|
|
14
|
-
);
|
|
15
|
-
return { uri, width, height };
|
|
14
|
+
async capture(ref, opts) {
|
|
15
|
+
const uri = await captureRef(ref, { format: opts.format, quality: opts.quality, result: "tmpfile" });
|
|
16
|
+
return { uri, ...await storrelse(uri) };
|
|
16
17
|
},
|
|
18
|
+
...pickImage ? {
|
|
19
|
+
async pick() {
|
|
20
|
+
const valgt = await pickImage();
|
|
21
|
+
if (!valgt) return null;
|
|
22
|
+
const { width, height } = valgt.width && valgt.height ? { width: valgt.width, height: valgt.height } : await storrelse(valgt.uri);
|
|
23
|
+
return { uri: valgt.uri, width, height };
|
|
24
|
+
}
|
|
25
|
+
} : {},
|
|
26
|
+
...captureScreen === false ? { captureScreen: false } : {},
|
|
17
27
|
measure(ref) {
|
|
18
28
|
return new Promise((resolve) => {
|
|
19
29
|
const view = ref.current;
|
|
@@ -258,7 +268,7 @@ import { initialWindowMetrics, SafeAreaInsetsContext } from "react-native-safe-a
|
|
|
258
268
|
|
|
259
269
|
// src/widget/Felt.tsx
|
|
260
270
|
import { useMemo, useState } from "react";
|
|
261
|
-
import { Pressable as Pressable2, Text as Text2, TextInput, View as View2 } from "react-native";
|
|
271
|
+
import { Pressable as Pressable2, ScrollView, Text as Text2, TextInput, View as View2 } from "react-native";
|
|
262
272
|
|
|
263
273
|
// src/widget/primitiver.tsx
|
|
264
274
|
import "react";
|
|
@@ -500,6 +510,10 @@ var tekst = {
|
|
|
500
510
|
// 2f — skjermbilde (K4, DD-39, DD-40, DD-42)
|
|
501
511
|
leggVedSkjermbilde: "Legg ved skjermbilde",
|
|
502
512
|
leggVedHint: "Bildet tas f\xF8rst n\xE5r du trykker \u2014 du ser det f\xF8r det sendes.",
|
|
513
|
+
velgBilde: "Velg bilde",
|
|
514
|
+
velgBildeHint: "Fra bildene dine. Du ser det og kan maskere det f\xF8r det sendes.",
|
|
515
|
+
skjermbildeUnderGalleri: "Bildet er fra galleriet. Appen maskerer ingenting i det for deg \u2014 mal over det som ikke skal med.",
|
|
516
|
+
bildeFeilet: "kunne ikke hente bildet. Du kan sende uten.",
|
|
503
517
|
skjermbildeTittel: "Se over bildet",
|
|
504
518
|
skjermbildeUnder: "Bildet ble tatt da du trykket. Det du maskerer, ser vi aldri.",
|
|
505
519
|
maskering: "Maskering",
|
|
@@ -655,6 +669,8 @@ function Felt({
|
|
|
655
669
|
onSend,
|
|
656
670
|
sender,
|
|
657
671
|
onSkjermbilde,
|
|
672
|
+
onVelgBilde,
|
|
673
|
+
bildeNotat,
|
|
658
674
|
harVedlegg,
|
|
659
675
|
onFjernVedlegg
|
|
660
676
|
}) {
|
|
@@ -680,229 +696,254 @@ function Felt({
|
|
|
680
696
|
return verdi2 && !fjernedeFelter.includes(felt) ? { felt, etikett, verdi: verdi2 } : null;
|
|
681
697
|
}).filter((x) => x !== null);
|
|
682
698
|
}, [kontekst, fjernedeFelter]);
|
|
683
|
-
return /* @__PURE__ */ jsxs2(View2, { style: {
|
|
684
|
-
|
|
685
|
-
|
|
699
|
+
return /* @__PURE__ */ jsxs2(View2, { testID: "skjema", style: { flexGrow: 1, flexShrink: 1, gap: tema.space.md }, children: [
|
|
700
|
+
/* @__PURE__ */ jsxs2(
|
|
701
|
+
ScrollView,
|
|
686
702
|
{
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
minHeight: tema.touch,
|
|
692
|
-
borderWidth: tema.hairline,
|
|
693
|
-
borderColor: tema.color.borderInteractive,
|
|
694
|
-
borderRadius: tema.radius.pill,
|
|
695
|
-
paddingLeft: tema.space.md,
|
|
696
|
-
paddingRight: tema.space.xs
|
|
697
|
-
},
|
|
703
|
+
testID: "skjema-kropp",
|
|
704
|
+
style: { flexGrow: 0, flexShrink: 1 },
|
|
705
|
+
contentContainerStyle: { gap: tema.space.md },
|
|
706
|
+
keyboardShouldPersistTaps: "handled",
|
|
698
707
|
children: [
|
|
699
|
-
/* @__PURE__ */
|
|
700
|
-
|
|
701
|
-
Pressable2,
|
|
708
|
+
lenketTil ? /* @__PURE__ */ jsxs2(
|
|
709
|
+
View2,
|
|
702
710
|
{
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
711
|
+
style: {
|
|
712
|
+
flexDirection: "row",
|
|
713
|
+
alignItems: "center",
|
|
714
|
+
gap: tema.space.sm,
|
|
715
|
+
minHeight: tema.touch,
|
|
716
|
+
borderWidth: tema.hairline,
|
|
717
|
+
borderColor: tema.color.borderInteractive,
|
|
718
|
+
borderRadius: tema.radius.pill,
|
|
719
|
+
paddingLeft: tema.space.md,
|
|
720
|
+
paddingRight: tema.space.xs
|
|
721
|
+
},
|
|
722
|
+
children: [
|
|
723
|
+
/* @__PURE__ */ jsx2(Text2, { style: { flex: 1, color: tema.color.textPrimary, fontSize: tema.font.small }, children: tekst.lenketTil(lenketTil.title) }),
|
|
724
|
+
/* @__PURE__ */ jsx2(
|
|
725
|
+
Pressable2,
|
|
726
|
+
{
|
|
727
|
+
testID: "fjern-lenke",
|
|
728
|
+
accessibilityRole: "button",
|
|
729
|
+
accessibilityLabel: tekst.fjernLenke,
|
|
730
|
+
onPress: onFjernLenke,
|
|
731
|
+
style: { minWidth: tema.touch, minHeight: tema.touch, alignItems: "center", justifyContent: "center" },
|
|
732
|
+
children: /* @__PURE__ */ jsx2(Text2, { style: { color: tema.color.textSecondary, fontSize: tema.font.small }, children: "\u2715" })
|
|
733
|
+
}
|
|
734
|
+
)
|
|
735
|
+
]
|
|
709
736
|
}
|
|
710
|
-
)
|
|
711
|
-
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
|
|
716
|
-
|
|
717
|
-
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
|
|
737
|
+
) : null,
|
|
738
|
+
uavklart ? /* @__PURE__ */ jsxs2(
|
|
739
|
+
View2,
|
|
740
|
+
{
|
|
741
|
+
style: {
|
|
742
|
+
gap: tema.space.sm,
|
|
743
|
+
backgroundColor: tema.color.warningBg,
|
|
744
|
+
borderRadius: tema.radius.md,
|
|
745
|
+
padding: tema.space.md
|
|
746
|
+
},
|
|
747
|
+
children: [
|
|
748
|
+
/* @__PURE__ */ jsx2(
|
|
749
|
+
Text2,
|
|
750
|
+
{
|
|
751
|
+
accessibilityRole: "alert",
|
|
752
|
+
accessibilityLiveRegion: "polite",
|
|
753
|
+
style: {
|
|
754
|
+
color: tema.color.warning,
|
|
755
|
+
fontSize: tema.font.small,
|
|
756
|
+
lineHeight: tema.lineHeight.small,
|
|
757
|
+
fontWeight: tema.weight.medium
|
|
758
|
+
},
|
|
759
|
+
children: tekst.monsterSpm[uavklart.kind]
|
|
760
|
+
}
|
|
761
|
+
),
|
|
762
|
+
/* @__PURE__ */ jsxs2(View2, { style: { flexDirection: "row", gap: tema.space.sm }, children: [
|
|
763
|
+
/* @__PURE__ */ jsx2(
|
|
764
|
+
Btn,
|
|
765
|
+
{
|
|
766
|
+
grow: true,
|
|
767
|
+
variant: "secondary",
|
|
768
|
+
testID: "monster-fjern",
|
|
769
|
+
label: tekst.monsterFjern,
|
|
770
|
+
onPress: () => onEndre(verdi.slice(0, uavklart.start) + verdi.slice(uavklart.end))
|
|
771
|
+
}
|
|
772
|
+
),
|
|
773
|
+
/* @__PURE__ */ jsx2(
|
|
774
|
+
Btn,
|
|
775
|
+
{
|
|
776
|
+
grow: true,
|
|
777
|
+
variant: "ghost",
|
|
778
|
+
testID: "monster-behold",
|
|
779
|
+
label: tekst.monsterBehold,
|
|
780
|
+
onPress: () => setBeholdt((b) => [...b, uavklart.match])
|
|
781
|
+
}
|
|
782
|
+
)
|
|
783
|
+
] }),
|
|
784
|
+
/* @__PURE__ */ jsx2(Hint, { children: tekst.monsterForklaring })
|
|
785
|
+
]
|
|
786
|
+
}
|
|
787
|
+
) : null,
|
|
788
|
+
/* @__PURE__ */ jsx2(H, { children: spor === "onske" ? tekst.feltLabelOnske : tekst.feltLabelFeil }),
|
|
724
789
|
/* @__PURE__ */ jsx2(
|
|
790
|
+
TextInput,
|
|
791
|
+
{
|
|
792
|
+
testID: "innspill-tekst",
|
|
793
|
+
accessibilityLabel: spor === "onske" ? tekst.feltLabelOnske : tekst.feltLabelFeil,
|
|
794
|
+
value: verdi,
|
|
795
|
+
onChangeText: onEndre,
|
|
796
|
+
maxLength: textMaxLength,
|
|
797
|
+
multiline: true,
|
|
798
|
+
numberOfLines: 4,
|
|
799
|
+
placeholder: spor === "onske" ? tekst.placeholderOnske : tekst.placeholderFeil,
|
|
800
|
+
placeholderTextColor: tema.color.textMuted,
|
|
801
|
+
style: {
|
|
802
|
+
backgroundColor: tema.color.surfaceRaised,
|
|
803
|
+
borderWidth: tema.hairline,
|
|
804
|
+
borderColor: full ? tema.color.warning : tema.color.borderStrong,
|
|
805
|
+
borderRadius: tema.radius.md,
|
|
806
|
+
padding: tema.space.md,
|
|
807
|
+
color: tema.color.textPrimary,
|
|
808
|
+
fontSize: tema.font.body,
|
|
809
|
+
lineHeight: tema.lineHeight.body,
|
|
810
|
+
minHeight: tema.touch * 2,
|
|
811
|
+
textAlignVertical: "top"
|
|
812
|
+
}
|
|
813
|
+
}
|
|
814
|
+
),
|
|
815
|
+
visTeller ? /* @__PURE__ */ jsxs2(
|
|
725
816
|
Text2,
|
|
726
817
|
{
|
|
727
|
-
|
|
728
|
-
accessibilityLiveRegion: "polite",
|
|
818
|
+
testID: "teller",
|
|
819
|
+
accessibilityLiveRegion: full ? "assertive" : "polite",
|
|
729
820
|
style: {
|
|
730
|
-
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
fontWeight: tema.weight.medium
|
|
821
|
+
alignSelf: "flex-end",
|
|
822
|
+
color: full ? tema.color.warning : tema.color.textMuted,
|
|
823
|
+
fontSize: tema.font.small
|
|
734
824
|
},
|
|
735
|
-
children:
|
|
825
|
+
children: [
|
|
826
|
+
brukt,
|
|
827
|
+
" / ",
|
|
828
|
+
textMaxLength,
|
|
829
|
+
full ? tekst.tellerFull : ""
|
|
830
|
+
]
|
|
736
831
|
}
|
|
737
|
-
),
|
|
738
|
-
/* @__PURE__ */ jsxs2(
|
|
739
|
-
|
|
832
|
+
) : null,
|
|
833
|
+
harVedlegg ? /* @__PURE__ */ jsxs2(
|
|
834
|
+
View2,
|
|
835
|
+
{
|
|
836
|
+
testID: "vedlegg-chip",
|
|
837
|
+
style: {
|
|
838
|
+
flexDirection: "row",
|
|
839
|
+
alignItems: "center",
|
|
840
|
+
gap: tema.space.sm,
|
|
841
|
+
minHeight: tema.touch,
|
|
842
|
+
borderWidth: tema.hairline,
|
|
843
|
+
borderColor: tema.color.borderInteractive,
|
|
844
|
+
borderRadius: tema.radius.pill,
|
|
845
|
+
paddingLeft: tema.space.md,
|
|
846
|
+
paddingRight: tema.space.xs
|
|
847
|
+
},
|
|
848
|
+
children: [
|
|
849
|
+
/* @__PURE__ */ jsx2(Text2, { accessibilityElementsHidden: true, importantForAccessibility: "no", style: { fontSize: tema.font.small }, children: "\u{1F4F7}" }),
|
|
850
|
+
/* @__PURE__ */ jsx2(Text2, { style: { flex: 1, color: tema.color.textPrimary, fontSize: tema.font.small }, children: tekst.skjermbildeLagtVed }),
|
|
851
|
+
/* @__PURE__ */ jsx2(
|
|
852
|
+
Pressable2,
|
|
853
|
+
{
|
|
854
|
+
testID: "fjern-vedlegg",
|
|
855
|
+
accessibilityRole: "button",
|
|
856
|
+
accessibilityLabel: tekst.fjernSkjermbilde,
|
|
857
|
+
onPress: onFjernVedlegg,
|
|
858
|
+
style: { minWidth: tema.touch, minHeight: tema.touch, alignItems: "center", justifyContent: "center" },
|
|
859
|
+
children: /* @__PURE__ */ jsx2(Text2, { style: { color: tema.color.textSecondary, fontSize: tema.font.small }, children: "\u2715" })
|
|
860
|
+
}
|
|
861
|
+
)
|
|
862
|
+
]
|
|
863
|
+
}
|
|
864
|
+
) : onSkjermbilde || onVelgBilde ? /* @__PURE__ */ jsxs2(View2, { style: { gap: tema.space.sm }, children: [
|
|
865
|
+
onSkjermbilde ? /* @__PURE__ */ jsx2(
|
|
740
866
|
Btn,
|
|
741
867
|
{
|
|
742
|
-
grow: true,
|
|
743
868
|
variant: "secondary",
|
|
744
|
-
testID: "
|
|
745
|
-
|
|
746
|
-
|
|
869
|
+
testID: "legg-ved-skjermbilde",
|
|
870
|
+
ikon: "\u{1F4F7}",
|
|
871
|
+
label: tekst.leggVedSkjermbilde,
|
|
872
|
+
hint: tekst.leggVedHint,
|
|
873
|
+
onPress: onSkjermbilde
|
|
747
874
|
}
|
|
748
|
-
),
|
|
749
|
-
/* @__PURE__ */ jsx2(
|
|
875
|
+
) : null,
|
|
876
|
+
onVelgBilde ? /* @__PURE__ */ jsx2(
|
|
750
877
|
Btn,
|
|
751
878
|
{
|
|
752
|
-
|
|
753
|
-
|
|
754
|
-
|
|
755
|
-
label: tekst.
|
|
756
|
-
|
|
879
|
+
variant: "secondary",
|
|
880
|
+
testID: "velg-bilde",
|
|
881
|
+
ikon: "\u{1F5BC}",
|
|
882
|
+
label: tekst.velgBilde,
|
|
883
|
+
hint: tekst.velgBildeHint,
|
|
884
|
+
onPress: onVelgBilde
|
|
757
885
|
}
|
|
758
|
-
)
|
|
759
|
-
|
|
760
|
-
|
|
886
|
+
) : null,
|
|
887
|
+
bildeNotat ? /* @__PURE__ */ jsx2(View2, { testID: "bilde-notat", children: /* @__PURE__ */ jsx2(Hint, { children: bildeNotat }) }) : null
|
|
888
|
+
] }) : null,
|
|
889
|
+
/* @__PURE__ */ jsxs2(View2, { style: { borderTopWidth: tema.hairline, borderTopColor: tema.color.border, paddingTop: tema.space.sm }, children: [
|
|
890
|
+
/* @__PURE__ */ jsx2(
|
|
891
|
+
Pressable2,
|
|
892
|
+
{
|
|
893
|
+
testID: "kontekst-bryter",
|
|
894
|
+
accessibilityRole: "button",
|
|
895
|
+
accessibilityState: { expanded: apen },
|
|
896
|
+
accessibilityLabel: `${tekst.kontekstLinje}${apen ? "" : tekst.kontekstVis}`,
|
|
897
|
+
onPress: () => setApen((a) => !a),
|
|
898
|
+
style: { minHeight: tema.touch, justifyContent: "center" },
|
|
899
|
+
children: /* @__PURE__ */ jsxs2(Text2, { style: { color: tema.color.textSecondary, fontSize: tema.font.small }, children: [
|
|
900
|
+
apen ? "\u25B4" : "\u25BE",
|
|
901
|
+
" ",
|
|
902
|
+
tekst.kontekstLinje,
|
|
903
|
+
apen ? "" : tekst.kontekstVis
|
|
904
|
+
] })
|
|
905
|
+
}
|
|
906
|
+
),
|
|
907
|
+
apen ? /* @__PURE__ */ jsxs2(View2, { children: [
|
|
908
|
+
linjer.map((l) => /* @__PURE__ */ jsxs2(
|
|
909
|
+
View2,
|
|
910
|
+
{
|
|
911
|
+
style: {
|
|
912
|
+
flexDirection: "row",
|
|
913
|
+
alignItems: "center",
|
|
914
|
+
gap: tema.space.sm,
|
|
915
|
+
minHeight: tema.touch,
|
|
916
|
+
borderBottomWidth: tema.hairline,
|
|
917
|
+
borderBottomColor: tema.color.border
|
|
918
|
+
},
|
|
919
|
+
children: [
|
|
920
|
+
/* @__PURE__ */ jsx2(Text2, { style: { color: tema.color.textMuted, fontSize: tema.font.small, minWidth: tema.touch * 2 }, children: l.etikett }),
|
|
921
|
+
/* @__PURE__ */ jsx2(Text2, { style: { flex: 1, color: tema.color.textPrimary, fontSize: tema.font.small }, children: l.verdi }),
|
|
922
|
+
/* @__PURE__ */ jsx2(
|
|
923
|
+
Pressable2,
|
|
924
|
+
{
|
|
925
|
+
testID: `fjern-${l.felt}`,
|
|
926
|
+
accessibilityRole: "button",
|
|
927
|
+
accessibilityLabel: `${tekst.kontekstFjern} ${l.etikett.toLowerCase()} fra innsendingen`,
|
|
928
|
+
onPress: () => onFjernKontekst(l.felt),
|
|
929
|
+
style: { minWidth: tema.touch, minHeight: tema.touch, alignItems: "center", justifyContent: "center" },
|
|
930
|
+
children: /* @__PURE__ */ jsxs2(Text2, { style: { color: tema.color.textSecondary, fontSize: tema.font.small }, children: [
|
|
931
|
+
"\u2715 ",
|
|
932
|
+
tekst.kontekstFjern
|
|
933
|
+
] })
|
|
934
|
+
}
|
|
935
|
+
)
|
|
936
|
+
]
|
|
937
|
+
},
|
|
938
|
+
l.felt
|
|
939
|
+
)),
|
|
940
|
+
/* @__PURE__ */ jsx2(View2, { style: { paddingTop: tema.space.sm }, children: /* @__PURE__ */ jsx2(Hint, { children: tekst.kontekstAldri }) })
|
|
941
|
+
] }) : null
|
|
942
|
+
] })
|
|
761
943
|
]
|
|
762
944
|
}
|
|
763
|
-
) : null,
|
|
764
|
-
/* @__PURE__ */ jsx2(H, { children: spor === "onske" ? tekst.feltLabelOnske : tekst.feltLabelFeil }),
|
|
765
|
-
/* @__PURE__ */ jsx2(
|
|
766
|
-
TextInput,
|
|
767
|
-
{
|
|
768
|
-
testID: "innspill-tekst",
|
|
769
|
-
accessibilityLabel: spor === "onske" ? tekst.feltLabelOnske : tekst.feltLabelFeil,
|
|
770
|
-
value: verdi,
|
|
771
|
-
onChangeText: onEndre,
|
|
772
|
-
maxLength: textMaxLength,
|
|
773
|
-
multiline: true,
|
|
774
|
-
numberOfLines: 4,
|
|
775
|
-
placeholder: spor === "onske" ? tekst.placeholderOnske : tekst.placeholderFeil,
|
|
776
|
-
placeholderTextColor: tema.color.textMuted,
|
|
777
|
-
style: {
|
|
778
|
-
backgroundColor: tema.color.surfaceRaised,
|
|
779
|
-
borderWidth: tema.hairline,
|
|
780
|
-
borderColor: full ? tema.color.warning : tema.color.borderStrong,
|
|
781
|
-
borderRadius: tema.radius.md,
|
|
782
|
-
padding: tema.space.md,
|
|
783
|
-
color: tema.color.textPrimary,
|
|
784
|
-
fontSize: tema.font.body,
|
|
785
|
-
lineHeight: tema.lineHeight.body,
|
|
786
|
-
minHeight: tema.touch * 2,
|
|
787
|
-
textAlignVertical: "top"
|
|
788
|
-
}
|
|
789
|
-
}
|
|
790
945
|
),
|
|
791
|
-
|
|
792
|
-
Text2,
|
|
793
|
-
{
|
|
794
|
-
testID: "teller",
|
|
795
|
-
accessibilityLiveRegion: full ? "assertive" : "polite",
|
|
796
|
-
style: {
|
|
797
|
-
alignSelf: "flex-end",
|
|
798
|
-
color: full ? tema.color.warning : tema.color.textMuted,
|
|
799
|
-
fontSize: tema.font.small
|
|
800
|
-
},
|
|
801
|
-
children: [
|
|
802
|
-
brukt,
|
|
803
|
-
" / ",
|
|
804
|
-
textMaxLength,
|
|
805
|
-
full ? tekst.tellerFull : ""
|
|
806
|
-
]
|
|
807
|
-
}
|
|
808
|
-
) : null,
|
|
809
|
-
harVedlegg ? /* @__PURE__ */ jsxs2(
|
|
810
|
-
View2,
|
|
811
|
-
{
|
|
812
|
-
testID: "vedlegg-chip",
|
|
813
|
-
style: {
|
|
814
|
-
flexDirection: "row",
|
|
815
|
-
alignItems: "center",
|
|
816
|
-
gap: tema.space.sm,
|
|
817
|
-
minHeight: tema.touch,
|
|
818
|
-
borderWidth: tema.hairline,
|
|
819
|
-
borderColor: tema.color.borderInteractive,
|
|
820
|
-
borderRadius: tema.radius.pill,
|
|
821
|
-
paddingLeft: tema.space.md,
|
|
822
|
-
paddingRight: tema.space.xs
|
|
823
|
-
},
|
|
824
|
-
children: [
|
|
825
|
-
/* @__PURE__ */ jsx2(Text2, { accessibilityElementsHidden: true, importantForAccessibility: "no", style: { fontSize: tema.font.small }, children: "\u{1F4F7}" }),
|
|
826
|
-
/* @__PURE__ */ jsx2(Text2, { style: { flex: 1, color: tema.color.textPrimary, fontSize: tema.font.small }, children: tekst.skjermbildeLagtVed }),
|
|
827
|
-
/* @__PURE__ */ jsx2(
|
|
828
|
-
Pressable2,
|
|
829
|
-
{
|
|
830
|
-
testID: "fjern-vedlegg",
|
|
831
|
-
accessibilityRole: "button",
|
|
832
|
-
accessibilityLabel: tekst.fjernSkjermbilde,
|
|
833
|
-
onPress: onFjernVedlegg,
|
|
834
|
-
style: { minWidth: tema.touch, minHeight: tema.touch, alignItems: "center", justifyContent: "center" },
|
|
835
|
-
children: /* @__PURE__ */ jsx2(Text2, { style: { color: tema.color.textSecondary, fontSize: tema.font.small }, children: "\u2715" })
|
|
836
|
-
}
|
|
837
|
-
)
|
|
838
|
-
]
|
|
839
|
-
}
|
|
840
|
-
) : onSkjermbilde ? /* @__PURE__ */ jsx2(
|
|
841
|
-
Btn,
|
|
842
|
-
{
|
|
843
|
-
variant: "secondary",
|
|
844
|
-
testID: "legg-ved-skjermbilde",
|
|
845
|
-
ikon: "\u{1F4F7}",
|
|
846
|
-
label: tekst.leggVedSkjermbilde,
|
|
847
|
-
hint: tekst.leggVedHint,
|
|
848
|
-
onPress: onSkjermbilde
|
|
849
|
-
}
|
|
850
|
-
) : null,
|
|
851
|
-
/* @__PURE__ */ jsxs2(View2, { style: { borderTopWidth: tema.hairline, borderTopColor: tema.color.border, paddingTop: tema.space.sm }, children: [
|
|
852
|
-
/* @__PURE__ */ jsx2(
|
|
853
|
-
Pressable2,
|
|
854
|
-
{
|
|
855
|
-
testID: "kontekst-bryter",
|
|
856
|
-
accessibilityRole: "button",
|
|
857
|
-
accessibilityState: { expanded: apen },
|
|
858
|
-
accessibilityLabel: `${tekst.kontekstLinje}${apen ? "" : tekst.kontekstVis}`,
|
|
859
|
-
onPress: () => setApen((a) => !a),
|
|
860
|
-
style: { minHeight: tema.touch, justifyContent: "center" },
|
|
861
|
-
children: /* @__PURE__ */ jsxs2(Text2, { style: { color: tema.color.textSecondary, fontSize: tema.font.small }, children: [
|
|
862
|
-
apen ? "\u25B4" : "\u25BE",
|
|
863
|
-
" ",
|
|
864
|
-
tekst.kontekstLinje,
|
|
865
|
-
apen ? "" : tekst.kontekstVis
|
|
866
|
-
] })
|
|
867
|
-
}
|
|
868
|
-
),
|
|
869
|
-
apen ? /* @__PURE__ */ jsxs2(View2, { children: [
|
|
870
|
-
linjer.map((l) => /* @__PURE__ */ jsxs2(
|
|
871
|
-
View2,
|
|
872
|
-
{
|
|
873
|
-
style: {
|
|
874
|
-
flexDirection: "row",
|
|
875
|
-
alignItems: "center",
|
|
876
|
-
gap: tema.space.sm,
|
|
877
|
-
minHeight: tema.touch,
|
|
878
|
-
borderBottomWidth: tema.hairline,
|
|
879
|
-
borderBottomColor: tema.color.border
|
|
880
|
-
},
|
|
881
|
-
children: [
|
|
882
|
-
/* @__PURE__ */ jsx2(Text2, { style: { color: tema.color.textMuted, fontSize: tema.font.small, minWidth: tema.touch * 2 }, children: l.etikett }),
|
|
883
|
-
/* @__PURE__ */ jsx2(Text2, { style: { flex: 1, color: tema.color.textPrimary, fontSize: tema.font.small }, children: l.verdi }),
|
|
884
|
-
/* @__PURE__ */ jsx2(
|
|
885
|
-
Pressable2,
|
|
886
|
-
{
|
|
887
|
-
testID: `fjern-${l.felt}`,
|
|
888
|
-
accessibilityRole: "button",
|
|
889
|
-
accessibilityLabel: `${tekst.kontekstFjern} ${l.etikett.toLowerCase()} fra innsendingen`,
|
|
890
|
-
onPress: () => onFjernKontekst(l.felt),
|
|
891
|
-
style: { minWidth: tema.touch, minHeight: tema.touch, alignItems: "center", justifyContent: "center" },
|
|
892
|
-
children: /* @__PURE__ */ jsxs2(Text2, { style: { color: tema.color.textSecondary, fontSize: tema.font.small }, children: [
|
|
893
|
-
"\u2715 ",
|
|
894
|
-
tekst.kontekstFjern
|
|
895
|
-
] })
|
|
896
|
-
}
|
|
897
|
-
)
|
|
898
|
-
]
|
|
899
|
-
},
|
|
900
|
-
l.felt
|
|
901
|
-
)),
|
|
902
|
-
/* @__PURE__ */ jsx2(View2, { style: { paddingTop: tema.space.sm }, children: /* @__PURE__ */ jsx2(Hint, { children: tekst.kontekstAldri }) })
|
|
903
|
-
] }) : null
|
|
904
|
-
] }),
|
|
905
|
-
/* @__PURE__ */ jsx2(View2, { style: { flex: 1, justifyContent: "flex-end" }, children: /* @__PURE__ */ jsx2(
|
|
946
|
+
/* @__PURE__ */ jsx2(View2, { testID: "skjema-fot", style: { flexGrow: 1, flexShrink: 0, justifyContent: "flex-end" }, children: /* @__PURE__ */ jsx2(
|
|
906
947
|
Btn,
|
|
907
948
|
{
|
|
908
949
|
testID: "send",
|
|
@@ -969,7 +1010,7 @@ function Valg({ onVelg }) {
|
|
|
969
1010
|
|
|
970
1011
|
// src/widget/KjenteFeil.tsx
|
|
971
1012
|
import "react";
|
|
972
|
-
import { ActivityIndicator, Text as Text4, View as View4 } from "react-native";
|
|
1013
|
+
import { ActivityIndicator, ScrollView as ScrollView2, Text as Text4, View as View4 } from "react-native";
|
|
973
1014
|
import { jsx as jsx4, jsxs as jsxs4 } from "react/jsx-runtime";
|
|
974
1015
|
function KjenteFeil({
|
|
975
1016
|
kort,
|
|
@@ -986,73 +1027,82 @@ function KjenteFeil({
|
|
|
986
1027
|
/* @__PURE__ */ jsx4(ActivityIndicator, { accessibilityLabel: "Sjekker kjente feil", color: tema.color.textSecondary })
|
|
987
1028
|
] });
|
|
988
1029
|
}
|
|
989
|
-
return /* @__PURE__ */ jsxs4(View4, { style: {
|
|
1030
|
+
return /* @__PURE__ */ jsxs4(View4, { testID: "kjente-feil", style: { flexGrow: 1, flexShrink: 1, gap: tema.space.md }, children: [
|
|
990
1031
|
/* @__PURE__ */ jsx4(H, { sub: spor === "onske" ? tekst.kjenteFeilUnderOnske : tekst.kjenteFeilUnderFeil, children: spor === "onske" ? tekst.kjenteFeilTittelOnske : tekst.kjenteFeilTittelFeil }),
|
|
991
|
-
|
|
992
|
-
|
|
993
|
-
|
|
994
|
-
|
|
995
|
-
|
|
996
|
-
|
|
997
|
-
|
|
998
|
-
|
|
999
|
-
|
|
1000
|
-
|
|
1001
|
-
|
|
1002
|
-
|
|
1003
|
-
|
|
1004
|
-
|
|
1005
|
-
|
|
1006
|
-
|
|
1007
|
-
|
|
1008
|
-
|
|
1009
|
-
|
|
1010
|
-
|
|
1011
|
-
|
|
1012
|
-
|
|
1013
|
-
|
|
1014
|
-
|
|
1015
|
-
|
|
1016
|
-
|
|
1017
|
-
|
|
1018
|
-
|
|
1019
|
-
|
|
1020
|
-
|
|
1021
|
-
|
|
1022
|
-
|
|
1023
|
-
|
|
1024
|
-
|
|
1025
|
-
|
|
1026
|
-
|
|
1027
|
-
|
|
1028
|
-
|
|
1029
|
-
|
|
1030
|
-
|
|
1031
|
-
|
|
1032
|
-
|
|
1033
|
-
|
|
1034
|
-
|
|
1035
|
-
|
|
1036
|
-
|
|
1037
|
-
|
|
1038
|
-
|
|
1039
|
-
|
|
1040
|
-
|
|
1041
|
-
|
|
1042
|
-
|
|
1043
|
-
|
|
1044
|
-
|
|
1045
|
-
|
|
1046
|
-
|
|
1047
|
-
|
|
1048
|
-
|
|
1049
|
-
|
|
1050
|
-
|
|
1051
|
-
|
|
1052
|
-
|
|
1053
|
-
|
|
1054
|
-
|
|
1055
|
-
|
|
1032
|
+
/* @__PURE__ */ jsx4(
|
|
1033
|
+
ScrollView2,
|
|
1034
|
+
{
|
|
1035
|
+
testID: "kjente-feil-liste",
|
|
1036
|
+
style: { flexGrow: 0, flexShrink: 1 },
|
|
1037
|
+
contentContainerStyle: { gap: tema.space.md },
|
|
1038
|
+
keyboardShouldPersistTaps: "handled",
|
|
1039
|
+
children: kort.map((k) => {
|
|
1040
|
+
const versjon = k.fixedIn ? k.status === "fikset" ? tekst.rettetI(k.fixedIn) : tekst.rettesI(k.fixedIn) : void 0;
|
|
1041
|
+
const kontekst = versjon ? `${k.title}. ${versjon}` : k.title;
|
|
1042
|
+
return /* @__PURE__ */ jsxs4(Card, { children: [
|
|
1043
|
+
/* @__PURE__ */ jsx4(
|
|
1044
|
+
Text4,
|
|
1045
|
+
{
|
|
1046
|
+
style: {
|
|
1047
|
+
color: tema.color.textPrimary,
|
|
1048
|
+
fontSize: tema.font.body,
|
|
1049
|
+
lineHeight: tema.lineHeight.body,
|
|
1050
|
+
fontWeight: tema.weight.medium
|
|
1051
|
+
},
|
|
1052
|
+
children: k.title
|
|
1053
|
+
}
|
|
1054
|
+
),
|
|
1055
|
+
k.workaround ? /* @__PURE__ */ jsxs4(
|
|
1056
|
+
Text4,
|
|
1057
|
+
{
|
|
1058
|
+
style: {
|
|
1059
|
+
color: tema.color.textSecondary,
|
|
1060
|
+
fontSize: tema.font.small,
|
|
1061
|
+
lineHeight: tema.lineHeight.small
|
|
1062
|
+
},
|
|
1063
|
+
children: [
|
|
1064
|
+
tekst.omvei,
|
|
1065
|
+
" ",
|
|
1066
|
+
k.workaround
|
|
1067
|
+
]
|
|
1068
|
+
}
|
|
1069
|
+
) : null,
|
|
1070
|
+
versjon ? /* @__PURE__ */ jsx4(
|
|
1071
|
+
StatusPill,
|
|
1072
|
+
{
|
|
1073
|
+
ikon: k.status === "fikset" ? "\u2713" : "\u{1F527}",
|
|
1074
|
+
etikett: versjon,
|
|
1075
|
+
farge: k.status === "fikset" ? "success" : "info"
|
|
1076
|
+
}
|
|
1077
|
+
) : null,
|
|
1078
|
+
/* @__PURE__ */ jsxs4(View4, { style: { flexDirection: "row", gap: tema.space.sm }, children: [
|
|
1079
|
+
/* @__PURE__ */ jsx4(
|
|
1080
|
+
Btn,
|
|
1081
|
+
{
|
|
1082
|
+
grow: true,
|
|
1083
|
+
testID: `ja-ogsa-${k.id}`,
|
|
1084
|
+
label: tekst.svarJa,
|
|
1085
|
+
accessibilityLabel: `${tekst.svarJa}. ${kontekst}`,
|
|
1086
|
+
onPress: () => onJaOgsa(k)
|
|
1087
|
+
}
|
|
1088
|
+
),
|
|
1089
|
+
/* @__PURE__ */ jsx4(
|
|
1090
|
+
Btn,
|
|
1091
|
+
{
|
|
1092
|
+
grow: true,
|
|
1093
|
+
variant: "secondary",
|
|
1094
|
+
testID: `ligner-${k.id}`,
|
|
1095
|
+
label: tekst.svarLigner,
|
|
1096
|
+
accessibilityLabel: `${tekst.svarLigner}. ${kontekst}`,
|
|
1097
|
+
onPress: () => onLigner(k)
|
|
1098
|
+
}
|
|
1099
|
+
)
|
|
1100
|
+
] })
|
|
1101
|
+
] }, k.id);
|
|
1102
|
+
})
|
|
1103
|
+
}
|
|
1104
|
+
),
|
|
1105
|
+
/* @__PURE__ */ jsx4(View4, { testID: "kjente-feil-fot", style: { flexShrink: 0 }, children: /* @__PURE__ */ jsx4(Btn, { variant: "secondary", testID: "nei-noe-annet", label: tekst.svarNei, onPress: onNei }) })
|
|
1056
1106
|
] });
|
|
1057
1107
|
}
|
|
1058
1108
|
|
|
@@ -1114,7 +1164,7 @@ function Kvittering({
|
|
|
1114
1164
|
|
|
1115
1165
|
// src/widget/MineInnspill.tsx
|
|
1116
1166
|
import "react";
|
|
1117
|
-
import { ActivityIndicator as ActivityIndicator2, ScrollView, Text as Text6, View as View6 } from "react-native";
|
|
1167
|
+
import { ActivityIndicator as ActivityIndicator2, ScrollView as ScrollView3, Text as Text6, View as View6 } from "react-native";
|
|
1118
1168
|
|
|
1119
1169
|
// src/widget/status.ts
|
|
1120
1170
|
var IKON = {
|
|
@@ -1181,7 +1231,7 @@ function MineInnspill({
|
|
|
1181
1231
|
const tema = useTema();
|
|
1182
1232
|
return /* @__PURE__ */ jsxs6(View6, { style: { flex: 1, gap: tema.space.md }, children: [
|
|
1183
1233
|
/* @__PURE__ */ jsx6(H, { sub: tekst.mineUnder, children: tekst.mineTittel }),
|
|
1184
|
-
laster ? /* @__PURE__ */ jsx6(ActivityIndicator2, { accessibilityLabel: "Henter innspillene dine", color: tema.color.textSecondary }) : rader.length === 0 ? /* @__PURE__ */ jsx6(Hint, { children: tekst.mineTom }) : /* @__PURE__ */ jsx6(
|
|
1234
|
+
laster ? /* @__PURE__ */ jsx6(ActivityIndicator2, { accessibilityLabel: "Henter innspillene dine", color: tema.color.textSecondary }) : rader.length === 0 ? /* @__PURE__ */ jsx6(Hint, { children: tekst.mineTom }) : /* @__PURE__ */ jsx6(ScrollView3, { style: { flex: 1 }, contentContainerStyle: { gap: tema.space.sm }, children: rader.map((rad) => {
|
|
1185
1235
|
const venter = rad.pending === true;
|
|
1186
1236
|
const v = venter ? venterVisning : statusVisning(rad.status, rad.type, rad.deadlineAt);
|
|
1187
1237
|
const nokkel = venter ? rad.clientRef : rad.id;
|
|
@@ -1250,6 +1300,8 @@ function Skjermbilde({
|
|
|
1250
1300
|
rotStorrelse,
|
|
1251
1301
|
previewRef,
|
|
1252
1302
|
komponerer,
|
|
1303
|
+
kilde = "skjerm",
|
|
1304
|
+
notat,
|
|
1253
1305
|
onFjern,
|
|
1254
1306
|
onLeggVed
|
|
1255
1307
|
}) {
|
|
@@ -1342,7 +1394,8 @@ function Skjermbilde({
|
|
|
1342
1394
|
};
|
|
1343
1395
|
const a11y = tekst.skjermbildeA11y(automasker.length, egne.length, allTekst);
|
|
1344
1396
|
return /* @__PURE__ */ jsxs7(View7, { style: { flex: 1, gap: tema.space.md }, children: [
|
|
1345
|
-
/* @__PURE__ */ jsx7(H, { sub: tekst.skjermbildeUnder, children: tekst.skjermbildeTittel }),
|
|
1397
|
+
/* @__PURE__ */ jsx7(H, { sub: kilde === "galleri" ? tekst.skjermbildeUnderGalleri : tekst.skjermbildeUnder, children: tekst.skjermbildeTittel }),
|
|
1398
|
+
notat ? /* @__PURE__ */ jsx7(View7, { testID: "bilde-notat", children: /* @__PURE__ */ jsx7(Hint, { children: notat }) }) : null,
|
|
1346
1399
|
/* @__PURE__ */ jsxs7(View7, { accessibilityRole: "toolbar", accessibilityLabel: tekst.maskering, style: { flexDirection: "row", gap: tema.space.sm }, children: [
|
|
1347
1400
|
knapp("felt", "\u25A3", tekst.maskerFelt),
|
|
1348
1401
|
knapp("pensel", "\u270E", tekst.tegnOver),
|
|
@@ -1447,7 +1500,8 @@ function Widget({
|
|
|
1447
1500
|
synlig,
|
|
1448
1501
|
apneOpsjoner,
|
|
1449
1502
|
onLukk,
|
|
1450
|
-
tenantName
|
|
1503
|
+
tenantName,
|
|
1504
|
+
imageStepNote
|
|
1451
1505
|
}) {
|
|
1452
1506
|
const tema = useTema();
|
|
1453
1507
|
const insets = useContext3(SafeAreaInsetsContext) ?? initialWindowMetrics?.insets ?? { top: 0, bottom: 0, left: 0, right: 0 };
|
|
@@ -1470,9 +1524,13 @@ function Widget({
|
|
|
1470
1524
|
const [automasker, setAutomasker] = useState3([]);
|
|
1471
1525
|
const [rotStorrelse, setRotStorrelse] = useState3({ width: 1, height: 1 });
|
|
1472
1526
|
const [komponerer, setKomponerer] = useState3(false);
|
|
1527
|
+
const [kilde, setKilde] = useState3("skjerm");
|
|
1473
1528
|
const [vedlegg, setVedlegg] = useState3();
|
|
1474
1529
|
const [innstillinger, setInnstillinger] = useState3({ ...client.settings });
|
|
1475
1530
|
const skjermbildeMulig = innstillinger.screenshotsEnabled && skjermbilde?.adapter != null;
|
|
1531
|
+
const fangstMulig = skjermbildeMulig && skjermbilde?.adapter?.captureScreen !== false;
|
|
1532
|
+
const galleriMulig = skjermbildeMulig && typeof skjermbilde?.adapter?.pick === "function";
|
|
1533
|
+
const bildeNotat = typeof imageStepNote === "string" ? imageStepNote : imageStepNote?.[spor];
|
|
1476
1534
|
const nullstill = useCallback2(() => {
|
|
1477
1535
|
setSteg("valg");
|
|
1478
1536
|
setSpor("feil");
|
|
@@ -1549,11 +1607,28 @@ function Widget({
|
|
|
1549
1607
|
setAutomasker([]);
|
|
1550
1608
|
}
|
|
1551
1609
|
setBilde(fangst);
|
|
1610
|
+
setKilde("skjerm");
|
|
1552
1611
|
setSteg("skjermbilde");
|
|
1553
1612
|
} catch {
|
|
1554
1613
|
setFeil(tekst.skjermbildeFeilet);
|
|
1555
1614
|
}
|
|
1556
1615
|
}, [skjermbilde]);
|
|
1616
|
+
const velgBilde = useCallback2(async () => {
|
|
1617
|
+
const pick = skjermbilde?.adapter?.pick;
|
|
1618
|
+
if (!pick) return;
|
|
1619
|
+
setFeil(void 0);
|
|
1620
|
+
try {
|
|
1621
|
+
const valgt = await pick.call(skjermbilde.adapter);
|
|
1622
|
+
if (!valgt) return;
|
|
1623
|
+
setRotStorrelse({ width: valgt.width, height: valgt.height });
|
|
1624
|
+
setAutomasker([]);
|
|
1625
|
+
setBilde(valgt);
|
|
1626
|
+
setKilde("galleri");
|
|
1627
|
+
setSteg("skjermbilde");
|
|
1628
|
+
} catch {
|
|
1629
|
+
setFeil(tekst.bildeFeilet);
|
|
1630
|
+
}
|
|
1631
|
+
}, [skjermbilde]);
|
|
1557
1632
|
const leggVedBilde = useCallback2(async () => {
|
|
1558
1633
|
if (!skjermbilde?.adapter) return;
|
|
1559
1634
|
setKomponerer(true);
|
|
@@ -1717,7 +1792,9 @@ function Widget({
|
|
|
1717
1792
|
funn,
|
|
1718
1793
|
onSend: send,
|
|
1719
1794
|
sender,
|
|
1720
|
-
...
|
|
1795
|
+
...fangstMulig ? { onSkjermbilde: taSkjermbilde } : {},
|
|
1796
|
+
...galleriMulig ? { onVelgBilde: velgBilde } : {},
|
|
1797
|
+
...bildeNotat ? { bildeNotat } : {},
|
|
1721
1798
|
harVedlegg: vedlegg !== void 0,
|
|
1722
1799
|
onFjernVedlegg: fjernBilde
|
|
1723
1800
|
}
|
|
@@ -1730,6 +1807,8 @@ function Widget({
|
|
|
1730
1807
|
rotStorrelse,
|
|
1731
1808
|
previewRef,
|
|
1732
1809
|
komponerer,
|
|
1810
|
+
kilde,
|
|
1811
|
+
...bildeNotat ? { notat: bildeNotat } : {},
|
|
1733
1812
|
onFjern: fjernBilde,
|
|
1734
1813
|
onLeggVed: leggVedBilde
|
|
1735
1814
|
}
|
|
@@ -1777,7 +1856,8 @@ function InnspelProvider({
|
|
|
1777
1856
|
theme,
|
|
1778
1857
|
colorScheme = "dark",
|
|
1779
1858
|
tenantName,
|
|
1780
|
-
screenshot
|
|
1859
|
+
screenshot,
|
|
1860
|
+
imageStepNote
|
|
1781
1861
|
}) {
|
|
1782
1862
|
const [synlig, setSynlig] = useState4(false);
|
|
1783
1863
|
const [apneOpsjoner, setApneOpsjoner] = useState4();
|
|
@@ -1811,6 +1891,7 @@ function InnspelProvider({
|
|
|
1811
1891
|
synlig,
|
|
1812
1892
|
...apneOpsjoner ? { apneOpsjoner } : {},
|
|
1813
1893
|
...tenantName ? { tenantName } : {},
|
|
1894
|
+
...imageStepNote ? { imageStepNote } : {},
|
|
1814
1895
|
onLukk: close
|
|
1815
1896
|
}
|
|
1816
1897
|
)
|
|
@@ -1850,7 +1931,7 @@ import { Modal as Modal4, Pressable as Pressable8, Text as Text13, View as View1
|
|
|
1850
1931
|
|
|
1851
1932
|
// src/program/Aksept.tsx
|
|
1852
1933
|
import "react";
|
|
1853
|
-
import { Linking, Modal as Modal2, Pressable as Pressable6, ScrollView as
|
|
1934
|
+
import { Linking, Modal as Modal2, Pressable as Pressable6, ScrollView as ScrollView4, Text as Text9, View as View11 } from "react-native";
|
|
1854
1935
|
|
|
1855
1936
|
// src/program/periode.ts
|
|
1856
1937
|
var MANEDER = [
|
|
@@ -1916,7 +1997,7 @@ function Aksept({
|
|
|
1916
1997
|
/* @__PURE__ */ jsx11(View11, {})
|
|
1917
1998
|
] }),
|
|
1918
1999
|
feil ? /* @__PURE__ */ jsx11(Banner, { live: true, ikon: "\u26A0", tone: "danger", children: tekst.akseptFeil(feil) }) : null,
|
|
1919
|
-
/* @__PURE__ */ jsxs10(
|
|
2000
|
+
/* @__PURE__ */ jsxs10(ScrollView4, { contentContainerStyle: { gap: tema.space.md }, children: [
|
|
1920
2001
|
/* @__PURE__ */ jsx11(H, { sub: tekst.akseptHva, children: program.name }),
|
|
1921
2002
|
/* @__PURE__ */ jsx11(
|
|
1922
2003
|
Text9,
|