optimized-react-component-library-xyz123 0.1.130 → 0.1.132

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 CHANGED
@@ -1,4 +1,4 @@
1
- import React, { FC } from 'react';
1
+ import React$1, { FC } from 'react';
2
2
  import * as reselect from 'reselect';
3
3
  import * as _reduxjs_toolkit from '@reduxjs/toolkit';
4
4
  import { PayloadAction, ActionReducerMapBuilder } from '@reduxjs/toolkit';
@@ -164,12 +164,12 @@ declare const AddFiles: FC<AddFilesProps>;
164
164
  /**
165
165
  * Kontrollerar om en fråga har ett valideringsfel baserat på dess egenskaper och valideringstyper.
166
166
  *
167
- * @param questionObject - Den fråga som ska kontrolleras.
168
- * @param arrayOfQuestionObjects - Alla frågor i formuläret (behövs för gruppvalideringar).
167
+ * @param question - Den fråga som ska kontrolleras.
168
+ * @param questions - Alla frågor i formuläret (behövs för gruppvalideringar).
169
169
  * @returns `true` om frågan har ett valideringsfel, annars `false`.
170
170
  *
171
171
  */
172
- declare const hasQuestionValidationError: (questionObject: any, arrayOfQuestionObjects: any[]) => boolean;
172
+ declare const hasQuestionValidationError: (question: any, questions: any[]) => boolean;
173
173
 
174
174
  interface TranslatedAnswers {
175
175
  [questionId: string]: {
@@ -244,17 +244,22 @@ declare const isQuestionDependencySatisfied: (data: any[], question: any) => boo
244
244
  declare const updateQuestionsAndCategoriesVisibilityAndErrors: (questions: IQuestion[], validationErrorsList: number[]) => any[];
245
245
 
246
246
  /**
247
- * Går igenom alla synliga frågor och returnerar
247
+ * Går igenom alla synliga frågor i aktuella steget och returnerar
248
248
  * en lista med fråge-ID:n som har valideringsfel.
249
249
  *
250
- * Endast frågor som är markerade som `visible` och som returnerar `true`
251
- * från `QuestionHasValidationError()` inkluderas i resultatet.
250
+ * Endast frågor som är markerade som `visible` och som inte
251
+ * valideras korrekt enligt config inkluderas i resultatet.
252
+ *
253
+ * @param {Object} currentStepQuestions Aktuella steget (stepObjekt) med alla dess kategorier,
254
+ * questionGroups och questions.
255
+ *
256
+ * @param {Array} questions En lista med alla frågor i formuläret.
257
+ * Används för att avgöra om en fråga validerar
258
+ * korrekt utifrån hela frågedatat.
252
259
  *
253
- * @param data - Fyll på...
254
- * @param formQuestion - Fyll på...
255
260
  * @returns En array med ID:n (`number[]`) för frågor som har valideringsfel.
256
261
  */
257
- declare function findVisibleQuestionsWithValidationErrors(data: any, formQuestion: any): number[];
262
+ declare function findVisibleQuestionsWithValidationErrors(currentStepQuestions: any, questions: any): number[];
258
263
 
259
264
  /**
260
265
  * Bygger upp en hierarkisk datastruktur för formuläret, grupperad per steg, kategori och frågegrupp.
@@ -266,8 +271,8 @@ declare function findVisibleQuestionsWithValidationErrors(data: any, formQuestio
266
271
  *
267
272
  * Dessutom uppdateras frågor med `visible` baserat på dess beroende till andra frågor och `hasValidationError` baserat på aktuell valideringsstatus.
268
273
  *
269
- * @param questions - Alla frågor i formuläret (`IQuestion[]`).
270
- * @param steps - Lista över alla steg i formuläret (`IStepObject[]`).
274
+ * @param questions - Alla frågor i formuläret.
275
+ * @param steps - Lista över alla steg i formuläret.
271
276
  * @param validationErrorsList - Lista med fråge-ID:n som har valideringsfel.
272
277
  * @returns En lista av stegobjekt med tillhörande kategorier och grupper.
273
278
  *
@@ -353,19 +358,51 @@ declare const makeglobalLanguageSelectors: <TState>(selectSlice: (state: TState)
353
358
  };
354
359
  };
355
360
 
361
+ /**
362
+ * createFormSlice skapar ett Redux-slice som hanterar allt globalt state
363
+ * kopplat till formuläret såsom applicationContent, steps och questions
364
+ */
356
365
  declare const createFormSlice: (initialState: IFormState, options?: {
357
366
  name?: string;
358
367
  extraReducers?: (builder: ActionReducerMapBuilder<IFormState>) => void;
359
368
  }) => _reduxjs_toolkit.Slice<IFormState, {
369
+ /**
370
+ * Laddar in eller uppdaterar applikationens övergripande textdata och metadata i.
371
+ * global state. Sätter även formLoaded = true när innehållet är färdiginläst.
372
+ */
360
373
  setApplicationContent: (state: immer.WritableDraft<IFormState>, action: PayloadAction<any>) => void;
374
+ /**
375
+ * Laddar in eller uppdaterar step-data i global state.
376
+ */
361
377
  setStep: (state: immer.WritableDraft<IFormState>, action: PayloadAction<any>) => void;
378
+ /**
379
+ * Laddar in eller uppdaterar question-data i global state.
380
+ */
362
381
  setQuestion: (state: immer.WritableDraft<IFormState>, action: PayloadAction<any>) => void;
382
+ /**
383
+ * Uppdaterar svaret för en specifik fråga i global state.
384
+ */
363
385
  updateAnswer: (state: immer.WritableDraft<IFormState>, action: PayloadAction<any>) => void;
386
+ /** Uppdaterar filer för en specifik fråga i global state */
364
387
  addFiles: (state: immer.WritableDraft<IFormState>, action: PayloadAction<any>) => void;
388
+ /**
389
+ * Sätter `isDisplayed = false` för alla frågor vars step-nummer är större än
390
+ * eller lika med det aktiva steget.
391
+ */
365
392
  hideQuestionsFromStep: (state: immer.WritableDraft<IFormState>, action: PayloadAction<any>) => void;
393
+ /**
394
+ * Sätter `isDisplayed` för en specifik fråga i global state.
395
+ */
366
396
  setQuestionDisplayed: (state: immer.WritableDraft<IFormState>, action: PayloadAction<any>) => void;
397
+ /** Tar bort svar på frågor framåt i formuläret som är beroende av en
398
+ * specifik fråga som har ändrats.
399
+ */
367
400
  resetDependentAnswersForward: (state: immer.WritableDraft<IFormState>, action: PayloadAction<any>) => void;
368
401
  }, string, string, _reduxjs_toolkit.SliceSelectors<IFormState>>;
402
+ /**
403
+ * Skapar ett set av selectors för formulärets globala state.
404
+
405
+ */
369
406
  declare const makeFormSelectors: <TState>(selectSlice: (state: TState) => IFormState) => {
370
407
  selectFormState: (state: TState) => IFormState;
371
408
  selectIsFormLoaded: (state: TState) => boolean;
@@ -598,7 +635,44 @@ declare const useCookieConsent: ({ cookieName, choiceKey, expiryYears, onConsent
598
635
 
599
636
  declare const QuestionRenderer: ({ question, isTouched, activatedLanguage, showPreview, }: any) => react_jsx_runtime.JSX.Element;
600
637
 
601
- declare const QuestionGroup: ({ questionArray, wrapper, legend, isTouched, activatedLanguage, showPreview, AddQuestionDisplayed, }: any) => react_jsx_runtime.JSX.Element;
638
+ type WrapperElement = 'fieldset' | 'section' | 'div' | 'none';
639
+ interface Question {
640
+ id: number | string;
641
+ visible: boolean;
642
+ isDisplayed: boolean;
643
+ isQuestionMandatory?: boolean;
644
+ hasValidationError?: boolean;
645
+ validationDefaultMessesege?: string;
646
+ [key: string]: any;
647
+ }
648
+ interface QuestionGroupProps {
649
+ questions: Question[];
650
+ wrapperElement?: WrapperElement;
651
+ legendLabel?: string;
652
+ activatedLanguage: string;
653
+ showPreview?: boolean;
654
+ handleQuestionInputChange: (question: Question, event: React.ChangeEvent<HTMLInputElement | HTMLTextAreaElement | HTMLSelectElement>) => void;
655
+ markQuestionAsDisplayed: (question: Question) => void;
656
+ }
657
+
658
+ /**
659
+ * Komponenten ansvarar för att rendera en grupp av frågor med valfri wrapper:
660
+ * ('fieldset', 'section', 'div', eller 'none')
661
+ *
662
+ * @param {Question[]} questions Alla frågor i den här gruppen.
663
+ * Första frågan används som "bärare" av valideringsattribut
664
+ * när wrappern är ett fieldset.
665
+ * @param {WrapperElement} wrapperElement Vilket HTML-element gruppen ska renderas i
666
+ * ('fieldset' | 'section' | 'div' | 'none').
667
+ * @param {string} legendLabel Texten som visas i legend när wrapperElement är 'fieldset'.
668
+ * @param {string} activatedLanguage Applikationens aktiva språk.
669
+ * @param {boolean} showPreview Om true visas frågorna i gransknings-/preview-läge.
670
+ * @param {Function} handleQuestionInputChange Callback som anropas när en fråga ändras.
671
+ * Skickar med både frågeobjektet och eventet.
672
+ * @param {Function} props.markQuestionAsDisplayed Anropas när en fråga visas för att markera den som "displayed"
673
+ * i globalt state.
674
+ */
675
+ declare const QuestionGroup: React$1.FC<QuestionGroupProps>;
602
676
 
603
677
  interface CookieBannerProps {
604
678
  isTouched?: any;
@@ -609,7 +683,7 @@ interface CookieBannerProps {
609
683
  rejectCookies: () => void;
610
684
  }
611
685
 
612
- declare const CookieBanner: React.FC<CookieBannerProps>;
686
+ declare const CookieBanner: React$1.FC<CookieBannerProps>;
613
687
 
614
688
  interface FooterProps {
615
689
  activatedLanguage?: string;
@@ -668,24 +742,46 @@ interface EditPreviewLinkProps {
668
742
  declare const EditPreviewLink: FC<EditPreviewLinkProps>;
669
743
 
670
744
  interface StartApplicationButtonProps {
671
- onClick: (event: React.MouseEvent<HTMLButtonElement>) => void;
745
+ onClick: (event: React$1.MouseEvent<HTMLButtonElement>) => void;
672
746
  label?: string;
673
747
  className?: string;
674
748
  }
675
749
  /**
676
750
  * En standardiserad knapp för att starta e-tjänsten.
677
751
  */
678
- declare const StartApplicationButton: React.FC<StartApplicationButtonProps>;
752
+ declare const StartApplicationButton: React$1.FC<StartApplicationButtonProps>;
679
753
 
680
754
  interface StepperButtonsProps {
681
- languageSupported?: any;
682
- handleActiveStep: (activeStep: number) => void;
683
- forwardButtonHandler?: (e: any) => void;
684
- submitButtonHandler?: (e: any) => void;
685
- arraySteps?: any[];
755
+ globalLanguageState?: any;
756
+ changeStepHandler: (activeStep: number) => void;
757
+ nextStepButtonHandler?: (e: any) => void;
758
+ onSubmitHandler?: (e: any) => void;
759
+ steps?: any[];
686
760
  activeStep: number;
687
761
  }
688
762
 
763
+ /**
764
+ * Renderar navigationsknappar för steg-navigering i ett flerstegsformulär.
765
+ *
766
+ * Funktionalitet:
767
+ * Visar en "Tillbaka"-knapp när activeStep > 0.
768
+ * Visar "Nästa"-knappen fram tills sista steget.
769
+ * Byter "Nästa"-knappen till "Skicka" vid sista steget.
770
+ *
771
+ * @param {Object} globalLanguageState Objekt med språksträngar för knapparna.
772
+ * Förväntas innehålla: backButton, forwardButton, sendButton.
773
+ *
774
+ * @param {Function} changeStepHandler Callback när användaren går bakåt i stegen.
775
+ *
776
+ * @param {Function} nextStepButtonHandler Callback när användaren går till nästa steg.
777
+ *
778
+ * @param {Function} onSubmitHandler Callback när sista steget nås och formuläret ska skickas in.
779
+ *
780
+ * @param {Array} steps Lista över alla steg i formuläret.
781
+ * Används för att räkna ut sista stegnumret.
782
+ *
783
+ * @param {number} activeStep Det aktuella steget i flerstegsformuläret.
784
+ */
689
785
  declare const StepperButtons: FC<StepperButtonsProps>;
690
786
 
691
787
  interface StepperProps {
@@ -696,21 +792,30 @@ interface StepperProps {
696
792
  declare const Stepper: FC<StepperProps>;
697
793
 
698
794
  interface ValidationErrorSummaryListProps {
699
- formQuestions: any[];
795
+ questions: any[];
700
796
  activatedLanguage: string;
701
- validationErrorsList: any[];
702
- summaryText?: string;
797
+ validationErrorsList: number[];
703
798
  }
704
799
 
705
- declare const ValidationErrorSummaryList: React.FC<ValidationErrorSummaryListProps>;
800
+ /**
801
+ * Renderar en summering av valideringsfel.
802
+ *
803
+ * @param validationErrorsList Lista av fråge-id:n som har valideringsfel.
804
+ * @param questions Alla frågor i formuläret (används för att hitta labels m.m.).
805
+ * @param activatedLanguage Aktivt språk.
806
+ */
807
+ declare const ValidationErrorSummaryList: React$1.FC<ValidationErrorSummaryListProps>;
706
808
 
707
809
  interface FormStatusMessagesProps {
708
810
  formStatus: string;
709
811
  }
710
812
  /**
711
- * Visar statusmeddelanden för formulär ett tillgängligt sätt.
712
- * Använder aria-live-regioner för att informera användare med skärmläsare.
813
+ * Visar error-meddelande om formuläret misslyckas att skicka in.
814
+ * När formuläret laddas visas ett laddningsmeddelande för skärmläsare.
815
+ *
816
+ * @param {string} props.formStatus Nuvarande status för formuläret
817
+ *
713
818
  */
714
- declare const FormStatusMessagesScreenReader: React.FC<FormStatusMessagesProps>;
819
+ declare const FormStatusMessagesScreenReader: React$1.FC<FormStatusMessagesProps>;
715
820
 
716
821
  export { AddFiles as AddFilesStandard, CookieBanner, type CookieConsentConfig, EditPreviewLink as EditPreviewLinkStandard, Footer as FooterStandard, FormStatusMessagesScreenReader, Header as HeaderStandard, type IApplicationContent, type IFormState, type IOption, type IPTSLink, type IQuestion, type IQuestionExtraAttribute, type IStepObject, type IStepQuestionData, type ITextBlock, InfoOnly as InfoOnlyStandard, type LanguageSupportConfig, Modal as ModalStandard, MultipleCheckboxes as MultipleCheckboxesStandard, PrincipleOfPublicity as PrincipleOfPublicityStandard, QuestionGroup, QuestionRenderer, InputRadio as RadioMultipleStandard, SkipLink as SkipLinkStandard, StartApplicationButton, StepperButtons as StepperButtonsStandard, Stepper as StepperStandard, InputTextarea as TextAreaStandard, TextBody, TextFieldStandard, ValidationErrorSummaryList, buildStepCategoryGroupQuestionStructure, createApiDataObject, createCookieConsent, createFormSlice, createGlobalLanguageSlice, createGlobalLanguageSlice as createLanguageSlice, createFormSlice as createQuestionsSlice, findVisibleQuestionsWithValidationErrors, focusElement, getGroupCheckIds, hasQuestionValidationError, isQuestionDependencySatisfied, isScriptLoaded, makeFormSelectors, makeglobalLanguageSelectors as makeLanguageSelectors, makeFormSelectors as makeQuestionsSelectors, makeglobalLanguageSelectors, preparePreviewData, removeScriptById, toggleScriptByConsent, updateQuestionsAndCategoriesVisibilityAndErrors, useCookieConsent, useFormStatusModal, useInputMethodDetection, usePTSPageTitle };
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import React, { FC } from 'react';
1
+ import React$1, { FC } from 'react';
2
2
  import * as reselect from 'reselect';
3
3
  import * as _reduxjs_toolkit from '@reduxjs/toolkit';
4
4
  import { PayloadAction, ActionReducerMapBuilder } from '@reduxjs/toolkit';
@@ -164,12 +164,12 @@ declare const AddFiles: FC<AddFilesProps>;
164
164
  /**
165
165
  * Kontrollerar om en fråga har ett valideringsfel baserat på dess egenskaper och valideringstyper.
166
166
  *
167
- * @param questionObject - Den fråga som ska kontrolleras.
168
- * @param arrayOfQuestionObjects - Alla frågor i formuläret (behövs för gruppvalideringar).
167
+ * @param question - Den fråga som ska kontrolleras.
168
+ * @param questions - Alla frågor i formuläret (behövs för gruppvalideringar).
169
169
  * @returns `true` om frågan har ett valideringsfel, annars `false`.
170
170
  *
171
171
  */
172
- declare const hasQuestionValidationError: (questionObject: any, arrayOfQuestionObjects: any[]) => boolean;
172
+ declare const hasQuestionValidationError: (question: any, questions: any[]) => boolean;
173
173
 
174
174
  interface TranslatedAnswers {
175
175
  [questionId: string]: {
@@ -244,17 +244,22 @@ declare const isQuestionDependencySatisfied: (data: any[], question: any) => boo
244
244
  declare const updateQuestionsAndCategoriesVisibilityAndErrors: (questions: IQuestion[], validationErrorsList: number[]) => any[];
245
245
 
246
246
  /**
247
- * Går igenom alla synliga frågor och returnerar
247
+ * Går igenom alla synliga frågor i aktuella steget och returnerar
248
248
  * en lista med fråge-ID:n som har valideringsfel.
249
249
  *
250
- * Endast frågor som är markerade som `visible` och som returnerar `true`
251
- * från `QuestionHasValidationError()` inkluderas i resultatet.
250
+ * Endast frågor som är markerade som `visible` och som inte
251
+ * valideras korrekt enligt config inkluderas i resultatet.
252
+ *
253
+ * @param {Object} currentStepQuestions Aktuella steget (stepObjekt) med alla dess kategorier,
254
+ * questionGroups och questions.
255
+ *
256
+ * @param {Array} questions En lista med alla frågor i formuläret.
257
+ * Används för att avgöra om en fråga validerar
258
+ * korrekt utifrån hela frågedatat.
252
259
  *
253
- * @param data - Fyll på...
254
- * @param formQuestion - Fyll på...
255
260
  * @returns En array med ID:n (`number[]`) för frågor som har valideringsfel.
256
261
  */
257
- declare function findVisibleQuestionsWithValidationErrors(data: any, formQuestion: any): number[];
262
+ declare function findVisibleQuestionsWithValidationErrors(currentStepQuestions: any, questions: any): number[];
258
263
 
259
264
  /**
260
265
  * Bygger upp en hierarkisk datastruktur för formuläret, grupperad per steg, kategori och frågegrupp.
@@ -266,8 +271,8 @@ declare function findVisibleQuestionsWithValidationErrors(data: any, formQuestio
266
271
  *
267
272
  * Dessutom uppdateras frågor med `visible` baserat på dess beroende till andra frågor och `hasValidationError` baserat på aktuell valideringsstatus.
268
273
  *
269
- * @param questions - Alla frågor i formuläret (`IQuestion[]`).
270
- * @param steps - Lista över alla steg i formuläret (`IStepObject[]`).
274
+ * @param questions - Alla frågor i formuläret.
275
+ * @param steps - Lista över alla steg i formuläret.
271
276
  * @param validationErrorsList - Lista med fråge-ID:n som har valideringsfel.
272
277
  * @returns En lista av stegobjekt med tillhörande kategorier och grupper.
273
278
  *
@@ -353,19 +358,51 @@ declare const makeglobalLanguageSelectors: <TState>(selectSlice: (state: TState)
353
358
  };
354
359
  };
355
360
 
361
+ /**
362
+ * createFormSlice skapar ett Redux-slice som hanterar allt globalt state
363
+ * kopplat till formuläret såsom applicationContent, steps och questions
364
+ */
356
365
  declare const createFormSlice: (initialState: IFormState, options?: {
357
366
  name?: string;
358
367
  extraReducers?: (builder: ActionReducerMapBuilder<IFormState>) => void;
359
368
  }) => _reduxjs_toolkit.Slice<IFormState, {
369
+ /**
370
+ * Laddar in eller uppdaterar applikationens övergripande textdata och metadata i.
371
+ * global state. Sätter även formLoaded = true när innehållet är färdiginläst.
372
+ */
360
373
  setApplicationContent: (state: immer.WritableDraft<IFormState>, action: PayloadAction<any>) => void;
374
+ /**
375
+ * Laddar in eller uppdaterar step-data i global state.
376
+ */
361
377
  setStep: (state: immer.WritableDraft<IFormState>, action: PayloadAction<any>) => void;
378
+ /**
379
+ * Laddar in eller uppdaterar question-data i global state.
380
+ */
362
381
  setQuestion: (state: immer.WritableDraft<IFormState>, action: PayloadAction<any>) => void;
382
+ /**
383
+ * Uppdaterar svaret för en specifik fråga i global state.
384
+ */
363
385
  updateAnswer: (state: immer.WritableDraft<IFormState>, action: PayloadAction<any>) => void;
386
+ /** Uppdaterar filer för en specifik fråga i global state */
364
387
  addFiles: (state: immer.WritableDraft<IFormState>, action: PayloadAction<any>) => void;
388
+ /**
389
+ * Sätter `isDisplayed = false` för alla frågor vars step-nummer är större än
390
+ * eller lika med det aktiva steget.
391
+ */
365
392
  hideQuestionsFromStep: (state: immer.WritableDraft<IFormState>, action: PayloadAction<any>) => void;
393
+ /**
394
+ * Sätter `isDisplayed` för en specifik fråga i global state.
395
+ */
366
396
  setQuestionDisplayed: (state: immer.WritableDraft<IFormState>, action: PayloadAction<any>) => void;
397
+ /** Tar bort svar på frågor framåt i formuläret som är beroende av en
398
+ * specifik fråga som har ändrats.
399
+ */
367
400
  resetDependentAnswersForward: (state: immer.WritableDraft<IFormState>, action: PayloadAction<any>) => void;
368
401
  }, string, string, _reduxjs_toolkit.SliceSelectors<IFormState>>;
402
+ /**
403
+ * Skapar ett set av selectors för formulärets globala state.
404
+
405
+ */
369
406
  declare const makeFormSelectors: <TState>(selectSlice: (state: TState) => IFormState) => {
370
407
  selectFormState: (state: TState) => IFormState;
371
408
  selectIsFormLoaded: (state: TState) => boolean;
@@ -598,7 +635,44 @@ declare const useCookieConsent: ({ cookieName, choiceKey, expiryYears, onConsent
598
635
 
599
636
  declare const QuestionRenderer: ({ question, isTouched, activatedLanguage, showPreview, }: any) => react_jsx_runtime.JSX.Element;
600
637
 
601
- declare const QuestionGroup: ({ questionArray, wrapper, legend, isTouched, activatedLanguage, showPreview, AddQuestionDisplayed, }: any) => react_jsx_runtime.JSX.Element;
638
+ type WrapperElement = 'fieldset' | 'section' | 'div' | 'none';
639
+ interface Question {
640
+ id: number | string;
641
+ visible: boolean;
642
+ isDisplayed: boolean;
643
+ isQuestionMandatory?: boolean;
644
+ hasValidationError?: boolean;
645
+ validationDefaultMessesege?: string;
646
+ [key: string]: any;
647
+ }
648
+ interface QuestionGroupProps {
649
+ questions: Question[];
650
+ wrapperElement?: WrapperElement;
651
+ legendLabel?: string;
652
+ activatedLanguage: string;
653
+ showPreview?: boolean;
654
+ handleQuestionInputChange: (question: Question, event: React.ChangeEvent<HTMLInputElement | HTMLTextAreaElement | HTMLSelectElement>) => void;
655
+ markQuestionAsDisplayed: (question: Question) => void;
656
+ }
657
+
658
+ /**
659
+ * Komponenten ansvarar för att rendera en grupp av frågor med valfri wrapper:
660
+ * ('fieldset', 'section', 'div', eller 'none')
661
+ *
662
+ * @param {Question[]} questions Alla frågor i den här gruppen.
663
+ * Första frågan används som "bärare" av valideringsattribut
664
+ * när wrappern är ett fieldset.
665
+ * @param {WrapperElement} wrapperElement Vilket HTML-element gruppen ska renderas i
666
+ * ('fieldset' | 'section' | 'div' | 'none').
667
+ * @param {string} legendLabel Texten som visas i legend när wrapperElement är 'fieldset'.
668
+ * @param {string} activatedLanguage Applikationens aktiva språk.
669
+ * @param {boolean} showPreview Om true visas frågorna i gransknings-/preview-läge.
670
+ * @param {Function} handleQuestionInputChange Callback som anropas när en fråga ändras.
671
+ * Skickar med både frågeobjektet och eventet.
672
+ * @param {Function} props.markQuestionAsDisplayed Anropas när en fråga visas för att markera den som "displayed"
673
+ * i globalt state.
674
+ */
675
+ declare const QuestionGroup: React$1.FC<QuestionGroupProps>;
602
676
 
603
677
  interface CookieBannerProps {
604
678
  isTouched?: any;
@@ -609,7 +683,7 @@ interface CookieBannerProps {
609
683
  rejectCookies: () => void;
610
684
  }
611
685
 
612
- declare const CookieBanner: React.FC<CookieBannerProps>;
686
+ declare const CookieBanner: React$1.FC<CookieBannerProps>;
613
687
 
614
688
  interface FooterProps {
615
689
  activatedLanguage?: string;
@@ -668,24 +742,46 @@ interface EditPreviewLinkProps {
668
742
  declare const EditPreviewLink: FC<EditPreviewLinkProps>;
669
743
 
670
744
  interface StartApplicationButtonProps {
671
- onClick: (event: React.MouseEvent<HTMLButtonElement>) => void;
745
+ onClick: (event: React$1.MouseEvent<HTMLButtonElement>) => void;
672
746
  label?: string;
673
747
  className?: string;
674
748
  }
675
749
  /**
676
750
  * En standardiserad knapp för att starta e-tjänsten.
677
751
  */
678
- declare const StartApplicationButton: React.FC<StartApplicationButtonProps>;
752
+ declare const StartApplicationButton: React$1.FC<StartApplicationButtonProps>;
679
753
 
680
754
  interface StepperButtonsProps {
681
- languageSupported?: any;
682
- handleActiveStep: (activeStep: number) => void;
683
- forwardButtonHandler?: (e: any) => void;
684
- submitButtonHandler?: (e: any) => void;
685
- arraySteps?: any[];
755
+ globalLanguageState?: any;
756
+ changeStepHandler: (activeStep: number) => void;
757
+ nextStepButtonHandler?: (e: any) => void;
758
+ onSubmitHandler?: (e: any) => void;
759
+ steps?: any[];
686
760
  activeStep: number;
687
761
  }
688
762
 
763
+ /**
764
+ * Renderar navigationsknappar för steg-navigering i ett flerstegsformulär.
765
+ *
766
+ * Funktionalitet:
767
+ * Visar en "Tillbaka"-knapp när activeStep > 0.
768
+ * Visar "Nästa"-knappen fram tills sista steget.
769
+ * Byter "Nästa"-knappen till "Skicka" vid sista steget.
770
+ *
771
+ * @param {Object} globalLanguageState Objekt med språksträngar för knapparna.
772
+ * Förväntas innehålla: backButton, forwardButton, sendButton.
773
+ *
774
+ * @param {Function} changeStepHandler Callback när användaren går bakåt i stegen.
775
+ *
776
+ * @param {Function} nextStepButtonHandler Callback när användaren går till nästa steg.
777
+ *
778
+ * @param {Function} onSubmitHandler Callback när sista steget nås och formuläret ska skickas in.
779
+ *
780
+ * @param {Array} steps Lista över alla steg i formuläret.
781
+ * Används för att räkna ut sista stegnumret.
782
+ *
783
+ * @param {number} activeStep Det aktuella steget i flerstegsformuläret.
784
+ */
689
785
  declare const StepperButtons: FC<StepperButtonsProps>;
690
786
 
691
787
  interface StepperProps {
@@ -696,21 +792,30 @@ interface StepperProps {
696
792
  declare const Stepper: FC<StepperProps>;
697
793
 
698
794
  interface ValidationErrorSummaryListProps {
699
- formQuestions: any[];
795
+ questions: any[];
700
796
  activatedLanguage: string;
701
- validationErrorsList: any[];
702
- summaryText?: string;
797
+ validationErrorsList: number[];
703
798
  }
704
799
 
705
- declare const ValidationErrorSummaryList: React.FC<ValidationErrorSummaryListProps>;
800
+ /**
801
+ * Renderar en summering av valideringsfel.
802
+ *
803
+ * @param validationErrorsList Lista av fråge-id:n som har valideringsfel.
804
+ * @param questions Alla frågor i formuläret (används för att hitta labels m.m.).
805
+ * @param activatedLanguage Aktivt språk.
806
+ */
807
+ declare const ValidationErrorSummaryList: React$1.FC<ValidationErrorSummaryListProps>;
706
808
 
707
809
  interface FormStatusMessagesProps {
708
810
  formStatus: string;
709
811
  }
710
812
  /**
711
- * Visar statusmeddelanden för formulär ett tillgängligt sätt.
712
- * Använder aria-live-regioner för att informera användare med skärmläsare.
813
+ * Visar error-meddelande om formuläret misslyckas att skicka in.
814
+ * När formuläret laddas visas ett laddningsmeddelande för skärmläsare.
815
+ *
816
+ * @param {string} props.formStatus Nuvarande status för formuläret
817
+ *
713
818
  */
714
- declare const FormStatusMessagesScreenReader: React.FC<FormStatusMessagesProps>;
819
+ declare const FormStatusMessagesScreenReader: React$1.FC<FormStatusMessagesProps>;
715
820
 
716
821
  export { AddFiles as AddFilesStandard, CookieBanner, type CookieConsentConfig, EditPreviewLink as EditPreviewLinkStandard, Footer as FooterStandard, FormStatusMessagesScreenReader, Header as HeaderStandard, type IApplicationContent, type IFormState, type IOption, type IPTSLink, type IQuestion, type IQuestionExtraAttribute, type IStepObject, type IStepQuestionData, type ITextBlock, InfoOnly as InfoOnlyStandard, type LanguageSupportConfig, Modal as ModalStandard, MultipleCheckboxes as MultipleCheckboxesStandard, PrincipleOfPublicity as PrincipleOfPublicityStandard, QuestionGroup, QuestionRenderer, InputRadio as RadioMultipleStandard, SkipLink as SkipLinkStandard, StartApplicationButton, StepperButtons as StepperButtonsStandard, Stepper as StepperStandard, InputTextarea as TextAreaStandard, TextBody, TextFieldStandard, ValidationErrorSummaryList, buildStepCategoryGroupQuestionStructure, createApiDataObject, createCookieConsent, createFormSlice, createGlobalLanguageSlice, createGlobalLanguageSlice as createLanguageSlice, createFormSlice as createQuestionsSlice, findVisibleQuestionsWithValidationErrors, focusElement, getGroupCheckIds, hasQuestionValidationError, isQuestionDependencySatisfied, isScriptLoaded, makeFormSelectors, makeglobalLanguageSelectors as makeLanguageSelectors, makeFormSelectors as makeQuestionsSelectors, makeglobalLanguageSelectors, preparePreviewData, removeScriptById, toggleScriptByConsent, updateQuestionsAndCategoriesVisibilityAndErrors, useCookieConsent, useFormStatusModal, useInputMethodDetection, usePTSPageTitle };