optimized-react-component-library-xyz123 0.1.122 → 0.1.124

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.css CHANGED
@@ -1,16 +1,14 @@
1
- /* src/NewInputComponentStandard/RadioMultipleStandard/RadioMultipleStandard.css */
2
- /* src/NewInputComponentStandard/MultipleCheckboxesStandard/MultipleCheckboxesStandard.css */
3
- /* src/NewInputComponentStandard/TextAreaStandard/TextAreaStandard.css */
4
- /* src/NewInputComponentStandard/FilesUploadStandard/FilesUploadStandard.css */
5
- /* src/NewInputComponentStandard/AddFilesStandard/AddFilesStandard.css */
6
- /* src/NewTextComponentStandard/EditPreviewLinkStandard/EditPreviewLinkStandard.css */
7
- /* src/NewTextComponentStandard/FooterStandard/FooterStandard.css */
8
- /* src/NewTextComponentStandard/HeaderStandard/HeaderStandard.css */
9
- /* src/NewTextComponentStandard/InfoOnlyStandard/InfoOnlyStandard.css */
10
- /* src/NewTextComponentStandard/ModalStandard/ModalStandard.css */
11
- /* src/NewTextComponentStandard/TextHeadlineAndBodyStandard/TextHeadlineAndBodyStandard.css */
12
- /* src/NewTextComponentStandard/ServiceHeadlineAndBodyStandard/ServiceHeadlineAndBodyStandard.css */
13
- /* src/NewTextComponentStandard/SkipLinkStandard/SkipLinkStandard.css */
14
- /* src/NewTextComponentStandard/StepperButtonsStandard/StepperButtonsStandard.css */
15
- /* src/NewTextComponentStandard/StepperStandard/StepperStandard.css */
1
+ /* src/components/input-components/RadioMultipleStandard/RadioMultipleStandard.css */
2
+ /* src/components/input-components/MultipleCheckboxesStandard/MultipleCheckboxesStandard.css */
3
+ /* src/components/input-components/TextAreaStandard/TextAreaStandard.css */
4
+ /* src/components/input-components/AddFilesStandard/AddFilesStandard.css */
5
+ /* src/components/layout/FooterStandard/FooterStandard.css */
6
+ /* src/components/layout/HeaderStandard/HeaderStandard.css */
7
+ /* src/components/layout/ModalStandard/ModalStandard.css */
8
+ /* src/components/layout/SkipLinkStandard/SkipLinkStandard.css */
9
+ /* src/components/text-blocks/InfoOnlyStandard/InfoOnlyStandard.css */
10
+ /* src/components/text-blocks/TextHeadlineAndBodyStandard/TextHeadlineAndBodyStandard.css */
11
+ /* src/components/stepper/EditPreviewLinkStandard/EditPreviewLinkStandard.css */
12
+ /* src/components/stepper/StepperButtonsStandard/StepperButtonsStandard.css */
13
+ /* src/components/stepper/StepperStandard/StepperStandard.css */
16
14
  /*# sourceMappingURL=index.css.map */
package/dist/index.d.mts CHANGED
@@ -148,29 +148,6 @@ interface TextFieldStandardProps {
148
148
 
149
149
  declare const TextFieldStandard: FC<TextFieldStandardProps>;
150
150
 
151
- interface SelectedFile {
152
- id: string;
153
- file: File;
154
- dataURL?: string;
155
- }
156
- interface FilesUploadStandardProps {
157
- question: IQuestion;
158
- isTouched: any;
159
- visible?: boolean;
160
- showPreview?: boolean;
161
- activatedLanguage?: string;
162
- allowedFileTypes?: Array<string>;
163
- allowedNumberOfFiles?: number;
164
- allowedTotalFileSize?: number;
165
- onFilesAdded?: (files: SelectedFile[]) => void;
166
- onFileRemoved?: (fileId: string) => void;
167
- maxFileSize?: number;
168
- allowDuplicates?: boolean;
169
- multiple?: boolean;
170
- }
171
-
172
- declare const FilesUpload: React.FC<FilesUploadStandardProps>;
173
-
174
151
  interface AddFilesProps {
175
152
  questionObject: IQuestion;
176
153
  isTouched: any;
@@ -184,7 +161,15 @@ interface AddFilesProps {
184
161
 
185
162
  declare const AddFiles: FC<AddFilesProps>;
186
163
 
187
- declare const questionHasValidationError: (questionObject: any, arrayOfQuestionObjects: any[]) => boolean;
164
+ /**
165
+ * Kontrollerar om en fråga har ett valideringsfel baserat på dess egenskaper och valideringstyper.
166
+ *
167
+ * @param questionObject - Den fråga som ska kontrolleras.
168
+ * @param arrayOfQuestionObjects - Alla frågor i formuläret (behövs för gruppvalideringar).
169
+ * @returns `true` om frågan har ett valideringsfel, annars `false`.
170
+ *
171
+ */
172
+ declare const hasQuestionValidationError: (questionObject: any, arrayOfQuestionObjects: any[]) => boolean;
188
173
 
189
174
  interface TranslatedAnswers {
190
175
  [questionId: string]: {
@@ -195,35 +180,99 @@ interface ApiDataObject {
195
180
  [key: string]: string | number | boolean | File[];
196
181
  }
197
182
 
198
- declare function CreateApiDataObject(data: any[], specialMappedQuestions: Set<string>, translatedAnswers: TranslatedAnswers): ApiDataObject;
199
-
200
- declare function groupQuestionByStepPreviewPage(steps: IStepObject[], questions: IQuestion[]): any[];
201
-
202
- declare const isDependsOnOtherQuestionTrue: (data: any[], question: any) => boolean;
183
+ /**
184
+ * Skapar ett API-anpassat dataobjekt baserat på användarens formulärsvar.
185
+ *
186
+ * Funktionen går igenom alla frågor och bygger ett objekt som kan skickas till backend.
187
+ * - Om en fråga finns i `specialMappedQuestions`, mappas svaret till `option.id` i stället för label.
188
+ * - Om `translatedAnswers` innehåller en översättning för frågans `mappingId`, används den.
189
+ * - Endast visade frågor (`isDisplayed`) med giltiga svar inkluderas i resultatet.
190
+ * - Filuppladdningar (`AddFiles`) inkluderas under egenskapen `files`.
191
+ *
192
+ * @param data - Lista med alla frågor och deras svar.
193
+ * @param specialMappedQuestions - En uppsättning mapping-ID:n som kräver specialhantering av svar.
194
+ * @param translatedAnswers - Objekt som innehåller översättningar av svar.
195
+ * @returns Ett `ApiDataObject` redo att skickas till backend.
196
+ *
197
+ */
198
+ declare function createApiDataObject(data: any[], specialMappedQuestions: Set<string>, translatedAnswers: TranslatedAnswers): ApiDataObject;
203
199
 
204
- interface ILanguageSupport {
205
- languageSupport?: Array<ILanguage>;
206
- activatedLanguage: string;
207
- forwardButton?: string;
208
- backButton?: string;
209
- sendButton?: string;
210
- languageSupportLoaded: boolean;
211
- }
212
- interface ILanguage {
213
- language: string;
214
- forwardButton: string;
215
- backButton: string;
216
- sendButton: string;
217
- }
200
+ /**
201
+ * Förbereder data för förhandsgranskningssidan.
202
+ *
203
+ * Funktionen grupperar alla synliga frågor (`isDisplayed = true`) utifrån vilket steg
204
+ * de tillhör. Resultatet används för att presentera formulärets innehåll steg för steg
205
+ * på förhandsgranskningen innan inskick.
206
+ *
207
+ * @param steps - Lista över alla steg i formuläret (`IStepObject[]`).
208
+ * @param questions - Alla frågor i formuläret (`IQuestion[]`).
209
+ * @returns En lista av objekt där varje element innehåller ett steg och dess synliga frågor:
210
+ */
211
+ declare function preparePreviewData(steps: IStepObject[], questions: IQuestion[]): any[];
218
212
 
219
- declare const QuestioninitialState: IFormState;
220
- declare const ILanguageSupportinitialState: ILanguageSupport;
213
+ /**
214
+ * Kontrollerar om en frågas beroenden (dependencies) är uppfyllda.
215
+ *
216
+ * En fråga kan ha ett eller flera beroenden till andra frågor, där varje beroende anger:
217
+ * - vilket fråge-ID det är kopplat till (`LinkedToQuestionId`)
218
+ * - vilket svar eller svarsalternativ som krävs (`Answer` eller `questionArrayAnswerId`)
219
+ *
220
+ * Funktionen går igenom alla beroendekombinationer och returnerar `true` om
221
+ * **minst ett** beroendeblock (AND-villkor inom varje block, OR mellan blocken)
222
+ * är uppfyllt utifrån datan i `data`-arrayen.
223
+ *
224
+ * @param data - En lista med alla frågor och deras aktuella svar.
225
+ * @param question - Den fråga som har beroenden till andra frågor.
226
+ * @returns `true` om frågans beroendevillkor är uppfyllda, annars `false`.
227
+ *
228
+ */
229
+ declare const isQuestionDependencySatisfied: (data: any[], question: any) => boolean;
221
230
 
222
- declare const doCategoriesAndQuestionsVisible: (questions: IQuestion[], validationErrorsList: number[]) => any[];
231
+ /**
232
+ * Uppdaterar frågor med information om synlighet och valideringsfel.
233
+ *
234
+ * För varje fråga:
235
+ * - Om frågan är beroende av andra frågor,
236
+ * avgörs synligheten av villkoret`.
237
+ * - Om frågans ID finns i `validationErrorsList` markeras den som att den har valideringsfel.
238
+ *
239
+ * @param questions - En array av frågeobjekt (`IQuestion[]`).
240
+ * @param validationErrorsList - En lista av fråge-ID:n som har valideringsfel.
241
+ * @returns En ny lista med frågor där `visible` och `hasValidationError` är uppdaterade.
242
+ *
243
+ */
244
+ declare const updateQuestionsAndCategoriesVisibilityAndErrors: (questions: IQuestion[], validationErrorsList: number[]) => any[];
223
245
 
224
- declare function validationCheckAllVisibleQuestions(data: any, formQuestion: any): number[];
246
+ /**
247
+ * Går igenom alla synliga frågor och returnerar
248
+ * en lista med fråge-ID:n som har valideringsfel.
249
+ *
250
+ * Endast frågor som är markerade som `visible` och som returnerar `true`
251
+ * från `QuestionHasValidationError()` inkluderas i resultatet.
252
+ *
253
+ * @param data - Fyll på...
254
+ * @param formQuestion - Fyll på...
255
+ * @returns En array med ID:n (`number[]`) för frågor som har valideringsfel.
256
+ */
257
+ declare function findVisibleQuestionsWithValidationErrors(data: any, formQuestion: any): number[];
225
258
 
226
- declare function groupQuestionsByStepCategoryGroup(questions: IQuestion[], steps: IStepObject[], validationErrorsList: number[]): any[];
259
+ /**
260
+ * Bygger upp en hierarkisk datastruktur för formuläret, grupperad per steg, kategori och frågegrupp.
261
+ *
262
+ * Funktionen används för att strukturera frågedata så att varje steg innehåller:
263
+ * - En lista av kategorier
264
+ * - Varje kategori innehåller sina frågegrupper
265
+ * - Varje frågegrupp innehåller sina frågor
266
+ *
267
+ * Dessutom uppdateras frågor med `visible` baserat på dess beroende till andra frågor och `hasValidationError` baserat på aktuell valideringsstatus.
268
+ *
269
+ * @param questions - Alla frågor i formuläret (`IQuestion[]`).
270
+ * @param steps - Lista över alla steg i formuläret (`IStepObject[]`).
271
+ * @param validationErrorsList - Lista med fråge-ID:n som har valideringsfel.
272
+ * @returns En lista av stegobjekt med tillhörande kategorier och grupper.
273
+ *
274
+ */
275
+ declare function buildStepCategoryGroupQuestionStructure(questions: IQuestion[], steps: IStepObject[], validationErrorsList: number[]): any[];
227
276
 
228
277
  /** ----- Typer ----- */
229
278
  interface LanguageEntry {
@@ -451,6 +500,13 @@ interface CookieConsentConfig {
451
500
  choiceKey: string;
452
501
  expiryYears?: number;
453
502
  }
503
+ /**
504
+ * Skapar en uppsättning hjälpfunktioner för att hantera cookie-samtycke.
505
+ *
506
+ * @param config - Konfiguration för cookienamn, valnyckel och utgångstid.
507
+ * @returns Ett objekt med funktioner för att acceptera, neka och läsa cookie-status.
508
+ *
509
+ */
454
510
  declare const createCookieConsent: (config: CookieConsentConfig) => {
455
511
  acceptCookies: () => void;
456
512
  rejectCookies: () => void;
@@ -459,12 +515,39 @@ declare const createCookieConsent: (config: CookieConsentConfig) => {
459
515
  clearChoiceFromSession: () => void;
460
516
  };
461
517
 
518
+ /**
519
+ * Laddar eller tar bort ett externt script beroende på användarens samtycke.
520
+ *
521
+ * Om `consent` är `true` och scriptet inte redan finns, skapas ett nytt
522
+ * `<script>`-element med de angivna attributen.
523
+ * Om `consent` är `false` tas scriptet bort från dokumentet.
524
+ *
525
+ * Denna funktion används t.ex. för att aktivera eller inaktivera tredjepartsskript
526
+ * (som analysverktyg) utifrån cookie-samtycke.
527
+ *
528
+ * @param consent - `true` om scriptet ska laddas, `false` om det ska tas bort.
529
+ * @param options - Inställningar för scriptet:
530
+ * - `id`: unikt ID för script-elementet (används för att hitta/ta bort det)
531
+ * - `src`: käll-URL för scriptet
532
+ * - `attributes`: valfria ytterligare HTML-attribut (t.ex. `data-cookieconsent`)
533
+ */
462
534
  declare const toggleScriptByConsent: (consent: boolean, options: {
463
535
  id: string;
464
536
  src: string;
465
537
  attributes?: Record<string, string>;
466
538
  }) => void;
539
+ /**
540
+ * Kontrollerar om ett script med ett visst ID redan är laddat i dokumentet.
541
+ *
542
+ * @param id - Scriptets unika ID-attribut.
543
+ * @returns `true` om scriptet finns i DOM, annars `false`.
544
+ */
467
545
  declare const isScriptLoaded: (id: string) => boolean;
546
+ /**
547
+ * Tar bort ett script från DOM baserat på dess ID.
548
+ *
549
+ * @param id - Scriptets ID-attribut.
550
+ */
468
551
  declare const removeScriptById: (id: string) => void;
469
552
 
470
553
  /**
@@ -478,7 +561,7 @@ declare const focusElement: (target: string | HTMLElement | null) => void;
478
561
  /**
479
562
  * Plockar ut alla id:n från validationType som börjar med "groupCheck-"
480
563
  */
481
- declare const getIdsGroupCheckValidationTypes: (validationType?: string[]) => number[];
564
+ declare const getGroupCheckIds: (validationType?: string[]) => number[];
482
565
 
483
566
  /**
484
567
  * Hook som hanterar öppning och stängning av en laddningsmodal baserat på formulärets status.
@@ -518,36 +601,20 @@ declare const useCookieConsent: ({ cookieName, choiceKey, expiryYears, onConsent
518
601
  rejectCookies: () => void;
519
602
  };
520
603
 
521
- interface StartApplicationButtonProps {
522
- onClick: (event: React.MouseEvent<HTMLButtonElement>) => void;
523
- label?: string;
524
- className?: string;
525
- }
526
- /**
527
- * En standardiserad knapp för att starta e-tjänsten.
528
- */
529
- declare const StartApplicationButton: React.FC<StartApplicationButtonProps>;
530
-
531
- interface FormStatusMessagesProps {
532
- formStatus: string;
533
- }
534
- /**
535
- * Visar statusmeddelanden för formulär på ett tillgängligt sätt.
536
- * Använder aria-live-regioner för att informera användare med skärmläsare.
537
- */
538
- declare const FormStatusMessagesScreenReader: React.FC<FormStatusMessagesProps>;
539
-
540
- declare const RenderQuestion: ({ question, isTouched, activatedLanguage, showPreview, hideValidationMessage, }: any) => react_jsx_runtime.JSX.Element;
604
+ declare const QuestionRenderer: ({ question, isTouched, activatedLanguage, showPreview, }: any) => react_jsx_runtime.JSX.Element;
541
605
 
542
- declare const RenderQuestionGroup: ({ questionArray, wrapper, legend, isTouched, activatedLanguage, showPreview, AddQuestionDisplayed, hideValidationMessage, }: any) => react_jsx_runtime.JSX.Element;
606
+ declare const QuestionGroup: ({ questionArray, wrapper, legend, isTouched, activatedLanguage, showPreview, AddQuestionDisplayed, }: any) => react_jsx_runtime.JSX.Element;
543
607
 
544
- interface EditPreviewLinkProps {
545
- step: IStepObject;
546
- changeStepHandler: any;
547
- activatedLanguage?: string;
608
+ interface CookieBannerProps {
609
+ isTouched?: any;
610
+ onCookieStateChange?: () => void;
611
+ visible?: boolean;
612
+ onClose?: () => void;
613
+ acceptCookies: () => void;
614
+ rejectCookies: () => void;
548
615
  }
549
616
 
550
- declare const EditPreviewLink: FC<EditPreviewLinkProps>;
617
+ declare const CookieBanner: React.FC<CookieBannerProps>;
551
618
 
552
619
  interface FooterProps {
553
620
  activatedLanguage?: string;
@@ -563,6 +630,15 @@ interface HeaderProps {
563
630
 
564
631
  declare const Header: FC<HeaderProps>;
565
632
 
633
+ interface ModalProps {
634
+ showModal: boolean;
635
+ activatedLanguage?: string;
636
+ }
637
+
638
+ declare const Modal: FC<ModalProps>;
639
+
640
+ declare const SkipLink: FC;
641
+
566
642
  interface InfoOnlyProps {
567
643
  questionObject: IQuestion;
568
644
  isTouched: any;
@@ -576,27 +652,35 @@ interface InfoOnlyProps {
576
652
 
577
653
  declare const InfoOnly: FC<InfoOnlyProps>;
578
654
 
579
- interface ModalProps {
580
- showModal: boolean;
655
+ interface PrincipleOfPublicityProps {
581
656
  activatedLanguage?: string;
582
657
  }
583
658
 
584
- declare const Modal: FC<ModalProps>;
659
+ declare const PrincipleOfPublicity: FC<PrincipleOfPublicityProps>;
585
660
 
586
- interface PrincipleOfPublicityProps {
587
- activatedLanguage?: string;
661
+ interface TextBodyProps {
662
+ data: ITextBlock;
588
663
  }
589
664
 
590
- declare const PrincipleOfPublicity: FC<PrincipleOfPublicityProps>;
665
+ declare const TextBody: FC<TextBodyProps>;
591
666
 
592
- interface ServiceHeadlineAndBodyProps {
593
- data: IApplicationContent;
594
- activeStep?: number;
667
+ interface EditPreviewLinkProps {
668
+ step: IStepObject;
669
+ changeStepHandler: any;
670
+ activatedLanguage?: string;
595
671
  }
596
672
 
597
- declare const ServiceHeadlineAndBody: FC<ServiceHeadlineAndBodyProps>;
673
+ declare const EditPreviewLink: FC<EditPreviewLinkProps>;
598
674
 
599
- declare const SkipLink: FC;
675
+ interface StartApplicationButtonProps {
676
+ onClick: (event: React.MouseEvent<HTMLButtonElement>) => void;
677
+ label?: string;
678
+ className?: string;
679
+ }
680
+ /**
681
+ * En standardiserad knapp för att starta e-tjänsten.
682
+ */
683
+ declare const StartApplicationButton: React.FC<StartApplicationButtonProps>;
600
684
 
601
685
  interface StepperButtonsProps {
602
686
  languageSupported?: any;
@@ -616,13 +700,6 @@ interface StepperProps {
616
700
 
617
701
  declare const Stepper: FC<StepperProps>;
618
702
 
619
- interface TextHeadlineAndBodyProps {
620
- data: ITextBlock;
621
- headlineType?: 'h1' | 'h2';
622
- }
623
-
624
- declare const TextHeadlineAndBody: FC<TextHeadlineAndBodyProps>;
625
-
626
703
  interface ValidationErrorSummaryListProps {
627
704
  formQuestions: any[];
628
705
  activatedLanguage: string;
@@ -632,15 +709,13 @@ interface ValidationErrorSummaryListProps {
632
709
 
633
710
  declare const ValidationErrorSummaryList: React.FC<ValidationErrorSummaryListProps>;
634
711
 
635
- interface CookieBannerProps {
636
- isTouched?: any;
637
- onCookieStateChange?: () => void;
638
- visible?: boolean;
639
- onClose?: () => void;
640
- acceptCookies: () => void;
641
- rejectCookies: () => void;
712
+ interface FormStatusMessagesProps {
713
+ formStatus: string;
642
714
  }
715
+ /**
716
+ * Visar statusmeddelanden för formulär på ett tillgängligt sätt.
717
+ * Använder aria-live-regioner för att informera användare med skärmläsare.
718
+ */
719
+ declare const FormStatusMessagesScreenReader: React.FC<FormStatusMessagesProps>;
643
720
 
644
- declare const CookieBanner: React.FC<CookieBannerProps>;
645
-
646
- export { AddFiles as AddFilesStandard, CookieBanner, type CookieConsentConfig, CreateApiDataObject, doCategoriesAndQuestionsVisible as DoCategoriesAndQuestionsVisible, EditPreviewLink as EditPreviewLinkStandard, FilesUpload as FilesUploadStandard, Footer as FooterStandard, FormStatusMessagesScreenReader, groupQuestionByStepPreviewPage as GroupQuestionByStepPreviewPage, groupQuestionsByStepCategoryGroup as GroupQuestionsByStepCategoryGroup, Header as HeaderStandard, type IApplicationContent, type IFormState, type ILanguage, type ILanguageSupport, ILanguageSupportinitialState, type IOption, type IPTSLink, type IQuestion, type IQuestionExtraAttribute, type IStepObject, type IStepQuestionData, type ITextBlock, InfoOnly as InfoOnlyStandard, isDependsOnOtherQuestionTrue as IsDependsOnOtherQuestionTrue, type LanguageSupportConfig, Modal as ModalStandard, MultipleCheckboxes as MultipleCheckboxesStandard, PrincipleOfPublicity as PrincipleOfPublicityStandard, questionHasValidationError as QuestionHasValidationError, QuestioninitialState, InputRadio as RadioMultipleStandard, RenderQuestion, RenderQuestionGroup, ServiceHeadlineAndBody as ServiceHeadlineAndBodyStandard, SkipLink as SkipLinkStandard, StartApplicationButton, StepperButtons as StepperButtonsStandard, Stepper as StepperStandard, InputTextarea as TextAreaStandard, TextFieldStandard, TextHeadlineAndBody as TextHeadlineAndBodyStandard, validationCheckAllVisibleQuestions as ValidationCheckAllVisibleQuestion, ValidationErrorSummaryList, createCookieConsent, createLanguageSlice, createQuestionsSlice, focusElement, getIdsGroupCheckValidationTypes, isScriptLoaded, makeLanguageSelectors, makeQuestionsSelectors, removeScriptById, toggleScriptByConsent, useCookieConsent, useFormStatusModal, useInputMethodDetection, usePTSPageTitle };
721
+ 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, InputRadio as RadioMultipleStandard, QuestionRenderer as RenderQuestion, QuestionGroup as RenderQuestionGroup, SkipLink as SkipLinkStandard, StartApplicationButton, StepperButtons as StepperButtonsStandard, Stepper as StepperStandard, InputTextarea as TextAreaStandard, TextBody, TextFieldStandard, ValidationErrorSummaryList, buildStepCategoryGroupQuestionStructure, createApiDataObject, createCookieConsent, createLanguageSlice, createQuestionsSlice, findVisibleQuestionsWithValidationErrors, focusElement, getGroupCheckIds, hasQuestionValidationError, isQuestionDependencySatisfied, isScriptLoaded, makeLanguageSelectors, makeQuestionsSelectors, preparePreviewData, removeScriptById, toggleScriptByConsent, updateQuestionsAndCategoriesVisibilityAndErrors, useCookieConsent, useFormStatusModal, useInputMethodDetection, usePTSPageTitle };