optimized-react-component-library-xyz123 0.1.49 → 0.1.51

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,7 +1,6 @@
1
1
  /* src/NewInputComponentStandard/RadioMultipleStandard/RadioMultipleStandard.css */
2
2
  /* src/NewInputComponentStandard/MultipleCheckboxesStandard/MultipleCheckboxesStandard.css */
3
3
  /* src/NewInputComponentStandard/TextAreaStandard/TextAreaStandard.css */
4
- /* src/NewInputComponentStandard/TextFieldStandard/TextFieldStandard.css */
5
4
  /* src/NewInputComponentStandard/FilesUploadStandard/FilesUploadStandard.css */
6
5
  .files-upload {
7
6
  width: 100%;
package/dist/index.d.mts CHANGED
@@ -89,6 +89,9 @@ interface IQuestionExtraAttribute {
89
89
  showTextAreaCounter?: boolean;
90
90
  hideValidationMessage?: boolean;
91
91
  hideTextCounter?: boolean;
92
+ inputMode?: 'none' | 'text' | 'tel' | 'url' | 'email' | 'numeric' | 'decimal' | 'search';
93
+ spellCheck?: boolean;
94
+ autoCapitalize?: string;
92
95
  }
93
96
  interface IStepQuestionData {
94
97
  step: number;
package/dist/index.d.ts CHANGED
@@ -89,6 +89,9 @@ interface IQuestionExtraAttribute {
89
89
  showTextAreaCounter?: boolean;
90
90
  hideValidationMessage?: boolean;
91
91
  hideTextCounter?: boolean;
92
+ inputMode?: 'none' | 'text' | 'tel' | 'url' | 'email' | 'numeric' | 'decimal' | 'search';
93
+ spellCheck?: boolean;
94
+ autoCapitalize?: string;
92
95
  }
93
96
  interface IStepQuestionData {
94
97
  step: number;
package/dist/index.js CHANGED
@@ -78,9 +78,8 @@ var InputRadio = ({ question, isTouched, showPreview = false }) => {
78
78
  !showPreview && question.visible && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "pts-root-question pts-radioMultiple-container", id: questionId, children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
79
79
  "fieldset",
80
80
  {
81
- role: "radiogroup",
82
- "aria-labelledby": `label-${groupId}`,
83
81
  "aria-invalid": question.hasValidationError,
82
+ "aria-describedby": question.hasValidationError ? errorId : void 0,
84
83
  "aria-errormessage": question.hasValidationError ? errorId : void 0,
85
84
  "aria-required": question.isQuestionMandatory || void 0,
86
85
  children: [
@@ -98,7 +97,8 @@ var InputRadio = ({ question, isTouched, showPreview = false }) => {
98
97
  id: `${groupId}-option-${index}`,
99
98
  value: option.value,
100
99
  checked: question.answer === option.value,
101
- onChange: handleInputChange
100
+ onChange: handleInputChange,
101
+ required: question.isQuestionMandatory
102
102
  },
103
103
  index
104
104
  ),
@@ -106,8 +106,8 @@ var InputRadio = ({ question, isTouched, showPreview = false }) => {
106
106
  " "
107
107
  ] }, index)),
108
108
  question.hasValidationError && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "pts-root-error", id: errorId, children: [
109
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { "aria-hidden": true, className: "errorDot", children: "!" }),
110
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { "aria-label": "Felmeddelande.", className: "errorText", children: question.validationDefaultMessesege })
109
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { "aria-label": "Valideringsfel", className: "errorDot", children: "!" }),
110
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: "errorText", children: question.validationDefaultMessesege })
111
111
  ] })
112
112
  ]
113
113
  }
@@ -165,8 +165,8 @@ var MultipleCheckboxes = ({
165
165
  isTouched(e, question);
166
166
  };
167
167
  return /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
168
- !showPreview && question.visible && /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("div", { id: questionId, className: "pts-root-question pts-multipleCheckboxes-container", children: /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)("section", { role: "group", "aria-labelledby": `label-${questionId}`, children: [
169
- /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)("h3", { id: `label-${questionId}`, children: [
168
+ !showPreview && question.visible && /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("div", { id: questionId, className: "pts-root-question pts-multipleCheckboxes-container", children: /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)("fieldset", { children: [
169
+ /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)("legend", { id: `label-${questionId}`, children: [
170
170
  question.questionLabel,
171
171
  " ",
172
172
  question.isQuestionMandatory && /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("span", { "aria-hidden": true, className: "pts-root-mandatoryAsterisk", children: "*" }),
@@ -178,17 +178,16 @@ var MultipleCheckboxes = ({
178
178
  "input",
179
179
  {
180
180
  type: "checkbox",
181
- name: `${question.id}-option-${index}`,
181
+ name: `${question.id}-option`,
182
182
  id: `${question.id}-option-${index}`,
183
183
  value: option.label,
184
184
  checked: checkedValues.includes(option.label),
185
185
  onChange: (e) => handleInputChange(e, option.label),
186
186
  className: question.hasValidationError ? "pts-root-question-input-error-border" : void 0
187
- },
188
- index
187
+ }
189
188
  ),
190
189
  /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("label", { htmlFor: `${question.id}-option-${index}`, children: option.label })
191
- ] }) })) })
190
+ ] }) }, index)) })
192
191
  ] }) }),
193
192
  " ",
194
193
  showPreview && /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(PrevieMultipleCheckboxes, { activatedLanguage, question })
@@ -316,7 +315,7 @@ var TextFieldStandard = ({
316
315
  showPreview = false,
317
316
  activatedLanguage
318
317
  }) => {
319
- var _a, _b, _c, _d, _e, _f, _g;
318
+ var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m;
320
319
  const questionId = `question-${question.id}`;
321
320
  const inputId = `textField-${question.id}`;
322
321
  const aboutId = `about-${question.id}`;
@@ -349,23 +348,26 @@ var TextFieldStandard = ({
349
348
  {
350
349
  type: (_c = (_b = question.questionExtraAttribute) == null ? void 0 : _b.inputType) != null ? _c : "text",
351
350
  autoComplete: (_e = (_d = question.questionExtraAttribute) == null ? void 0 : _d.autoComplete) != null ? _e : void 0,
351
+ inputMode: (_g = (_f = question.questionExtraAttribute) == null ? void 0 : _f.inputMode) != null ? _g : void 0,
352
352
  name: `question-name-${question.id}`,
353
353
  className: question.hasValidationError ? "pts-root-question-input-error-border" : void 0,
354
354
  onChange: (e) => isTouched(e, question),
355
355
  value: question.answer,
356
- maxLength: ((_f = question.questionExtraAttribute) == null ? void 0 : _f.answerMaxLength) || defaultMaxLength,
356
+ maxLength: ((_h = question.questionExtraAttribute) == null ? void 0 : _h.answerMaxLength) || defaultMaxLength,
357
357
  id: inputId,
358
- disabled: (_g = question.questionExtraAttribute) == null ? void 0 : _g.disabled,
358
+ disabled: (_i = question.questionExtraAttribute) == null ? void 0 : _i.disabled,
359
359
  required: question.isQuestionMandatory,
360
360
  "aria-required": question.isQuestionMandatory,
361
361
  "aria-describedby": [question.aboutText ? aboutId : null, question.hasValidationError ? errorId : null].filter(Boolean).join(" ") || void 0,
362
362
  "aria-invalid": question.hasValidationError,
363
- "aria-errormessage": question.hasValidationError ? errorId : void 0
363
+ "aria-errormessage": question.hasValidationError ? errorId : void 0,
364
+ spellCheck: (_k = (_j = question.questionExtraAttribute) == null ? void 0 : _j.spellCheck) != null ? _k : void 0,
365
+ autoCapitalize: (_m = (_l = question.questionExtraAttribute) == null ? void 0 : _l.autoCapitalize) != null ? _m : void 0
364
366
  }
365
367
  ),
366
368
  question.hasValidationError && /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("div", { className: "pts-root-error", id: errorId, children: [
367
- /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("span", { "aria-hidden": true, className: "errorDot", children: "!" }),
368
- /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("span", { "aria-label": "Felmeddelande.", className: "errorText", children: question.validationDefaultMessesege })
369
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("span", { "aria-label": "Valideringsfel", className: "errorDot", children: "!" }),
370
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("span", { className: "errorText", children: question.validationDefaultMessesege })
369
371
  ] })
370
372
  ]
371
373
  }
@@ -1731,10 +1733,10 @@ var RenderQuestionGroup = ({
1731
1733
  "fieldset",
1732
1734
  {
1733
1735
  className: "pts-root-question-group-fieldset",
1734
- "aria-required": questionArray[0].isQuestionMandatory,
1735
- "aria-invalid": questionArray[0].hasValidationError,
1736
- "aria-errormessage": questionArray[0].questionId + "-error",
1737
- "aria-describedby": questionArray[0].questionId + "-error",
1736
+ "aria-required": questionArray[0].isQuestionMandatory || void 0,
1737
+ "aria-invalid": questionArray[0].hasValidationError || void 0,
1738
+ "aria-errormessage": questionArray[0].hasValidationError ? `${questionArray[0].id}-error` : void 0,
1739
+ "aria-describedby": questionArray[0].hasValidationError ? `${questionArray[0].id}-error` : void 0,
1738
1740
  children: [
1739
1741
  legend && /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)("legend", { children: [
1740
1742
  /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("span", { children: legend }),
@@ -1743,10 +1745,10 @@ var RenderQuestionGroup = ({
1743
1745
  questionArray[0].validationDefaultMessesege
1744
1746
  ] })
1745
1747
  ] }),
1746
- /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("div", { className: "pts-root-error", id: questionArray[0].questionId + "-error", children: questionArray[0].hasValidationError && /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(import_jsx_runtime13.Fragment, { children: [
1747
- /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("span", { "aria-hidden": true, className: "errorDot", children: "!" }),
1748
- /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("span", { "aria-label": "Felmeddelande.", className: "errorText", children: questionArray[0].validationDefaultMessesege })
1749
- ] }) }),
1748
+ questionArray[0].hasValidationError && /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)("div", { className: "pts-root-error", id: questionArray[0].id + "-error", children: [
1749
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("span", { "aria-label": "Valideringsfel", className: "errorDot", children: "!" }),
1750
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("span", { className: "errorText", children: questionArray[0].validationDefaultMessesege })
1751
+ ] }),
1750
1752
  questions
1751
1753
  ]
1752
1754
  }
package/dist/index.mjs CHANGED
@@ -13,9 +13,8 @@ var InputRadio = ({ question, isTouched, showPreview = false }) => {
13
13
  !showPreview && question.visible && /* @__PURE__ */ jsx("div", { className: "pts-root-question pts-radioMultiple-container", id: questionId, children: /* @__PURE__ */ jsxs(
14
14
  "fieldset",
15
15
  {
16
- role: "radiogroup",
17
- "aria-labelledby": `label-${groupId}`,
18
16
  "aria-invalid": question.hasValidationError,
17
+ "aria-describedby": question.hasValidationError ? errorId : void 0,
19
18
  "aria-errormessage": question.hasValidationError ? errorId : void 0,
20
19
  "aria-required": question.isQuestionMandatory || void 0,
21
20
  children: [
@@ -33,7 +32,8 @@ var InputRadio = ({ question, isTouched, showPreview = false }) => {
33
32
  id: `${groupId}-option-${index}`,
34
33
  value: option.value,
35
34
  checked: question.answer === option.value,
36
- onChange: handleInputChange
35
+ onChange: handleInputChange,
36
+ required: question.isQuestionMandatory
37
37
  },
38
38
  index
39
39
  ),
@@ -41,8 +41,8 @@ var InputRadio = ({ question, isTouched, showPreview = false }) => {
41
41
  " "
42
42
  ] }, index)),
43
43
  question.hasValidationError && /* @__PURE__ */ jsxs("div", { className: "pts-root-error", id: errorId, children: [
44
- /* @__PURE__ */ jsx("span", { "aria-hidden": true, className: "errorDot", children: "!" }),
45
- /* @__PURE__ */ jsx("span", { "aria-label": "Felmeddelande.", className: "errorText", children: question.validationDefaultMessesege })
44
+ /* @__PURE__ */ jsx("span", { "aria-label": "Valideringsfel", className: "errorDot", children: "!" }),
45
+ /* @__PURE__ */ jsx("span", { className: "errorText", children: question.validationDefaultMessesege })
46
46
  ] })
47
47
  ]
48
48
  }
@@ -100,8 +100,8 @@ var MultipleCheckboxes = ({
100
100
  isTouched(e, question);
101
101
  };
102
102
  return /* @__PURE__ */ jsxs2(Fragment2, { children: [
103
- !showPreview && question.visible && /* @__PURE__ */ jsx2("div", { id: questionId, className: "pts-root-question pts-multipleCheckboxes-container", children: /* @__PURE__ */ jsxs2("section", { role: "group", "aria-labelledby": `label-${questionId}`, children: [
104
- /* @__PURE__ */ jsxs2("h3", { id: `label-${questionId}`, children: [
103
+ !showPreview && question.visible && /* @__PURE__ */ jsx2("div", { id: questionId, className: "pts-root-question pts-multipleCheckboxes-container", children: /* @__PURE__ */ jsxs2("fieldset", { children: [
104
+ /* @__PURE__ */ jsxs2("legend", { id: `label-${questionId}`, children: [
105
105
  question.questionLabel,
106
106
  " ",
107
107
  question.isQuestionMandatory && /* @__PURE__ */ jsx2("span", { "aria-hidden": true, className: "pts-root-mandatoryAsterisk", children: "*" }),
@@ -113,17 +113,16 @@ var MultipleCheckboxes = ({
113
113
  "input",
114
114
  {
115
115
  type: "checkbox",
116
- name: `${question.id}-option-${index}`,
116
+ name: `${question.id}-option`,
117
117
  id: `${question.id}-option-${index}`,
118
118
  value: option.label,
119
119
  checked: checkedValues.includes(option.label),
120
120
  onChange: (e) => handleInputChange(e, option.label),
121
121
  className: question.hasValidationError ? "pts-root-question-input-error-border" : void 0
122
- },
123
- index
122
+ }
124
123
  ),
125
124
  /* @__PURE__ */ jsx2("label", { htmlFor: `${question.id}-option-${index}`, children: option.label })
126
- ] }) })) })
125
+ ] }) }, index)) })
127
126
  ] }) }),
128
127
  " ",
129
128
  showPreview && /* @__PURE__ */ jsx2(PrevieMultipleCheckboxes, { activatedLanguage, question })
@@ -251,7 +250,7 @@ var TextFieldStandard = ({
251
250
  showPreview = false,
252
251
  activatedLanguage
253
252
  }) => {
254
- var _a, _b, _c, _d, _e, _f, _g;
253
+ var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m;
255
254
  const questionId = `question-${question.id}`;
256
255
  const inputId = `textField-${question.id}`;
257
256
  const aboutId = `about-${question.id}`;
@@ -284,23 +283,26 @@ var TextFieldStandard = ({
284
283
  {
285
284
  type: (_c = (_b = question.questionExtraAttribute) == null ? void 0 : _b.inputType) != null ? _c : "text",
286
285
  autoComplete: (_e = (_d = question.questionExtraAttribute) == null ? void 0 : _d.autoComplete) != null ? _e : void 0,
286
+ inputMode: (_g = (_f = question.questionExtraAttribute) == null ? void 0 : _f.inputMode) != null ? _g : void 0,
287
287
  name: `question-name-${question.id}`,
288
288
  className: question.hasValidationError ? "pts-root-question-input-error-border" : void 0,
289
289
  onChange: (e) => isTouched(e, question),
290
290
  value: question.answer,
291
- maxLength: ((_f = question.questionExtraAttribute) == null ? void 0 : _f.answerMaxLength) || defaultMaxLength,
291
+ maxLength: ((_h = question.questionExtraAttribute) == null ? void 0 : _h.answerMaxLength) || defaultMaxLength,
292
292
  id: inputId,
293
- disabled: (_g = question.questionExtraAttribute) == null ? void 0 : _g.disabled,
293
+ disabled: (_i = question.questionExtraAttribute) == null ? void 0 : _i.disabled,
294
294
  required: question.isQuestionMandatory,
295
295
  "aria-required": question.isQuestionMandatory,
296
296
  "aria-describedby": [question.aboutText ? aboutId : null, question.hasValidationError ? errorId : null].filter(Boolean).join(" ") || void 0,
297
297
  "aria-invalid": question.hasValidationError,
298
- "aria-errormessage": question.hasValidationError ? errorId : void 0
298
+ "aria-errormessage": question.hasValidationError ? errorId : void 0,
299
+ spellCheck: (_k = (_j = question.questionExtraAttribute) == null ? void 0 : _j.spellCheck) != null ? _k : void 0,
300
+ autoCapitalize: (_m = (_l = question.questionExtraAttribute) == null ? void 0 : _l.autoCapitalize) != null ? _m : void 0
299
301
  }
300
302
  ),
301
303
  question.hasValidationError && /* @__PURE__ */ jsxs4("div", { className: "pts-root-error", id: errorId, children: [
302
- /* @__PURE__ */ jsx4("span", { "aria-hidden": true, className: "errorDot", children: "!" }),
303
- /* @__PURE__ */ jsx4("span", { "aria-label": "Felmeddelande.", className: "errorText", children: question.validationDefaultMessesege })
304
+ /* @__PURE__ */ jsx4("span", { "aria-label": "Valideringsfel", className: "errorDot", children: "!" }),
305
+ /* @__PURE__ */ jsx4("span", { className: "errorText", children: question.validationDefaultMessesege })
304
306
  ] })
305
307
  ]
306
308
  }
@@ -1666,10 +1668,10 @@ var RenderQuestionGroup = ({
1666
1668
  "fieldset",
1667
1669
  {
1668
1670
  className: "pts-root-question-group-fieldset",
1669
- "aria-required": questionArray[0].isQuestionMandatory,
1670
- "aria-invalid": questionArray[0].hasValidationError,
1671
- "aria-errormessage": questionArray[0].questionId + "-error",
1672
- "aria-describedby": questionArray[0].questionId + "-error",
1671
+ "aria-required": questionArray[0].isQuestionMandatory || void 0,
1672
+ "aria-invalid": questionArray[0].hasValidationError || void 0,
1673
+ "aria-errormessage": questionArray[0].hasValidationError ? `${questionArray[0].id}-error` : void 0,
1674
+ "aria-describedby": questionArray[0].hasValidationError ? `${questionArray[0].id}-error` : void 0,
1673
1675
  children: [
1674
1676
  legend && /* @__PURE__ */ jsxs12("legend", { children: [
1675
1677
  /* @__PURE__ */ jsx13("span", { children: legend }),
@@ -1678,10 +1680,10 @@ var RenderQuestionGroup = ({
1678
1680
  questionArray[0].validationDefaultMessesege
1679
1681
  ] })
1680
1682
  ] }),
1681
- /* @__PURE__ */ jsx13("div", { className: "pts-root-error", id: questionArray[0].questionId + "-error", children: questionArray[0].hasValidationError && /* @__PURE__ */ jsxs12(Fragment13, { children: [
1682
- /* @__PURE__ */ jsx13("span", { "aria-hidden": true, className: "errorDot", children: "!" }),
1683
- /* @__PURE__ */ jsx13("span", { "aria-label": "Felmeddelande.", className: "errorText", children: questionArray[0].validationDefaultMessesege })
1684
- ] }) }),
1683
+ questionArray[0].hasValidationError && /* @__PURE__ */ jsxs12("div", { className: "pts-root-error", id: questionArray[0].id + "-error", children: [
1684
+ /* @__PURE__ */ jsx13("span", { "aria-label": "Valideringsfel", className: "errorDot", children: "!" }),
1685
+ /* @__PURE__ */ jsx13("span", { className: "errorText", children: questionArray[0].validationDefaultMessesege })
1686
+ ] }),
1685
1687
  questions
1686
1688
  ]
1687
1689
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "optimized-react-component-library-xyz123",
3
- "version": "0.1.49",
3
+ "version": "0.1.51",
4
4
  "description": "A modern React component library using TypeScript with React 19 support.",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.mjs",
@@ -1,56 +1,96 @@
1
+ :root{
2
+ --dark-background:#414141;
3
+ --dark-text:#ffffff;
4
+ --dark-action: #B07CBF;
5
+ --dark-error: #D75055;
6
+ --dark-main:#141414;
7
+ --dark-info: #808080;
8
+ --dark-yellow:#F4BF56;
9
+ --dark-purple:#200827;
10
+ }
11
+
1
12
  @media (prefers-color-scheme: dark) {
2
13
  /* ---------- GENERAL ---------- */
3
14
 
4
15
  body {
5
- background-color: #414141;
6
- color: #ffffff;
16
+ background-color: var(--dark-background);
17
+ color: var(--dark-text);
18
+ }
19
+
20
+
21
+ /*----------COOKIE BANNER-------*/
22
+ .pts-cookieBanner {
23
+ background-color: var(--dark-main) !important;
24
+ border-bottom: 2px solid var(--dark-action) !important;
7
25
  }
8
26
 
27
+ .pts-cookieBanner a{
28
+ color: var(--dark-action) !important;
29
+ }
30
+
31
+ .pts-cookieBanner button {
32
+ background-color: var(--dark-action) !important;
33
+ border-color: var(--dark-action)!important;
34
+ color: var(--dark-main)!important;
35
+ }
36
+
37
+ .pts-cookieBanner-Links svg rect{
38
+ fill:var(--dark-action);
39
+ }
40
+ .pts-cookieBanner-Links svg path{
41
+ fill:var(--dark-main);
42
+ }
43
+
44
+
45
+ /*-----------HEADER--------------*/
46
+
9
47
  .pts-header-container{
10
- background-color: #200827;
48
+ background-color: var(--dark-purple);
11
49
  }
12
50
 
13
51
  .pts-header-container svg path{
14
- fill: #ffffff;
52
+ fill: var(--dark-text);
15
53
  }
16
54
 
17
55
  .pts-languageButton{
18
- color:#ffffff;
19
- cursor: pointer;
56
+ color:var(--dark-text);
20
57
  }
21
-
58
+ /*-------MAIN CONTENT-------*/
22
59
  section,
23
60
  .pts-form-step-header {
24
- background-color: #141414;
61
+ background-color: var(--dark-main);
25
62
  }
26
63
 
27
64
  #main-content a {
28
- color: #b07cbf;
65
+ color: var(--dark-action);
29
66
  }
30
67
 
68
+
69
+ /*-----------QUESTIONS--------------*/
70
+
31
71
  .pts-root-about {
32
- color: #808080;
72
+ color: var(--dark-info);
33
73
  }
34
74
 
35
75
  .pts-root-question input[type='text']:focus,
36
76
  .pts-root-question input[type='email']:focus,
37
77
  .pts-root-question input[type='tel']:focus {
38
- border: 0.2rem solid #b07cbf;
78
+ border: 0.2rem solid var(--dark-action);
39
79
  }
40
80
 
41
81
  .errorDot {
42
- background-color: #d75055;
82
+ background-color: var(--dark-error);
43
83
  }
44
84
 
45
85
  .errorText,
46
86
  .pts-root-mandatoryAsterisk {
47
- color: #d75055;
87
+ color: var(--dark-error);
48
88
  }
49
89
 
50
90
  .pts-root-question-input-error-border,
51
91
  .pts-root-question-input-error-border,
52
92
  .pts-root-question-input-error-border {
53
- border: 0.15rem solid #d75055 !important;
93
+ border: 0.15rem solid var(--dark-error) !important;
54
94
  }
55
95
 
56
96
  button:focus-visible,
@@ -73,58 +113,58 @@
73
113
  .pts-root-question input[type='text'],
74
114
  .pts-root-question input[type='email'],
75
115
  .pts-root-question input[type='tel'] {
76
- border: 1px solid #808080;
77
- background: #000000;
78
- color: #ffffff;
116
+ border: 1px solid var(--dark-info);
117
+ background-color: var(--dark-main);
118
+ color: var(--dark-text);
79
119
  }
80
120
 
81
121
  /* ---------- SERVICE HEADLINE AND BODY ---------- */
82
122
 
83
123
  .pts-moreinfo-list a {
84
- color: #b07cbf;
124
+ color: var(--dark-action);
85
125
  }
86
126
 
87
127
  .pts-moreinfo-list svg {
88
- background-color: #b07cbf;
128
+ background-color: var(--dark-action);
89
129
  }
90
130
 
91
131
  .pts-moreinfo-list svg path {
92
- fill: #141414;
132
+ fill: var(--dark-main);
93
133
  }
94
134
 
95
135
  /* ---------- STEPPER ---------- */
96
136
 
97
137
  .pts-stepperDot {
98
- background-color: #ffffff;
99
- color: #141414;
138
+ background-color: var(--dark-text);
139
+ color: var(--dark-main);
100
140
  }
101
141
 
102
142
  .pts-stepperDotActive {
103
- background-color: #f4bf56;
143
+ background-color: var(--dark-yellow);
104
144
  }
105
145
 
106
146
  .pts-stepper-step:not(:last-child)::after {
107
- background-color: #ffffff;
147
+ background-color: var(--dark-text);
108
148
  }
109
149
 
110
150
  .pts-stepperDotDone,
111
151
  .pts-stepperDotDone svg path {
112
- background-color: #b07cbf;
113
- stroke: #141414;
152
+ background-color: var(--dark-action);
153
+ stroke: var(--dark-main);
114
154
  }
115
155
 
116
156
  /* ---------- STEPPER BUTTON ---------- */
117
157
 
118
158
  .pts-forwardButton {
119
- background-color: #ffffff;
120
- border-color: #ffffff;
121
- color: #6e3282;
159
+ background-color: var(--dark-action);
160
+ border-color: var(--dark-action);
161
+ color: var(--dark-main);
122
162
  }
123
163
 
124
164
  .pts-backButton {
125
- background-color: #ffffff;
126
- border-color: #ffffff;
127
- color: #6e3282;
165
+ background-color: var(--dark-action);
166
+ border-color: var(--dark-action);
167
+ color: var(--dark-main);
128
168
  }
129
169
 
130
170
  .pts-backButton:focus,
@@ -133,74 +173,75 @@
133
173
  .pts-forwardButton:hover,
134
174
  .btn-upload:focus,
135
175
  .btn-upload:hover {
136
- background-color: #141414;
137
- border-color: #141414;
138
- color: #b07cbf;
176
+ background-color: var(--dark-main);
177
+ border-color: var(--dark-action);
178
+ color: var(--dark-action);
139
179
  }
140
-
141
180
  /* ---------- RADIO MULTIPLE ---------- */
142
181
 
143
182
  .pts-radioMultiple-container input[type='radio'] {
144
- border-color: #808080;
183
+ border-color: var(--dark-info);
145
184
  }
146
185
 
147
186
  .pts-radioMultiple-container input[type='radio']:checked::before {
148
- background-color: #b07cbf;
187
+ background-color: var(--dark-action);
149
188
  }
150
189
 
151
190
  /* ---------- MULTIPLE CHECKBOXES ---------- */
152
191
 
153
192
  .pts-multipleCheckboxes-container input[type='checkbox'] {
154
- background-color: #141414;
155
- border-color: #808080;
193
+ background-color: var(--dark-main);
194
+ border-color: var(--dark-info);
156
195
  }
157
196
 
158
197
  .pts-multipleCheckboxes-container input[type='checkbox']:checked {
159
- background-color: #b07cbf;
198
+ background-color: var(--dark-action);
160
199
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3l6-6'/%3e%3c/svg%3e") !important;
161
200
  }
162
201
 
163
202
  /* ---------- TEXTAREA ---------- */
164
203
 
165
204
  .pts-textArea-container textarea {
166
- border-color: #808080;
205
+ border-color: var(--dark-info);
167
206
  }
168
207
 
169
208
  .pts-textArea-container textarea:focus {
170
- border-color: #b07cbf;
209
+ border-color: var(--dark-action);
171
210
  }
172
211
 
173
212
  .textfield-about{
174
- color: #808080;
213
+ color: var(--dark-info);
175
214
  }
215
+
176
216
  /* ---------- EDIT PREVIEW LINK ---------- */
177
217
 
178
218
  .pts-editPreviewLink-container button {
179
- color: #b07cbf;
219
+ color: var(--dark-action);
180
220
  }
181
221
 
182
222
  .pts-editPreviewLink-container svg path {
183
- stroke: #b07cbf;
223
+ stroke: var(--dark-action);
184
224
  }
185
225
 
186
226
  /* ---------- GRANSKA ---------- */
187
227
 
188
228
  .no-answer-preview-page {
189
- color: #808080;
229
+ color: var(--dark-info);
190
230
  }
191
231
 
232
+
192
233
  /* ---------- ERROR SUMMARY ---------- */
193
234
 
194
235
  .pts-errorSummary-container {
195
- border: 0.1rem solid #d75055;
196
- border-left: 4rem solid #d75055;
236
+ border: 0.1rem solid var(--dark-error);
237
+ border-left: 4rem solid var(--dark-error);
197
238
  }
198
239
 
199
240
  .pts-errorSummary-container .errorDot {
200
- color: #d75055;
241
+ color: var(--dark-error);
201
242
  }
202
243
 
203
244
  .errorSummary-text {
204
- color: #d75055 !important;
245
+ color: var(--dark-error) !important;
205
246
  }
206
247
  }
@@ -217,6 +217,95 @@ textarea:focus-visible,
217
217
  height: 4.8rem;
218
218
  }
219
219
 
220
+ /* ---------- SCOOKIE BANNER ---------- */
221
+
222
+ .pts-cookieBanner {
223
+ position: relative;
224
+ top: 0;
225
+ left: 0;
226
+ padding: 15px 20px;
227
+ background: #eaf1f9;
228
+ border-bottom: 4px solid #6e3282;
229
+ z-index: 9999;
230
+ width: 100vw;
231
+ box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);
232
+ }
233
+
234
+ .pts-cookieBanner .content {
235
+ display: flex;
236
+ flex-direction: column;
237
+ justify-self: center;
238
+ max-width: 860px;
239
+ margin: 1.6rem 0;
240
+ }
241
+
242
+ .pts-cookieBanner h3 {
243
+ font-family: Arial, sans-serif;
244
+ font-size: 1.6rem;
245
+ font-weight: 700;
246
+ line-height: 21px;
247
+ margin: 0 0 10px 0;
248
+ text-align: left;
249
+ }
250
+
251
+ .pts-cookieBanner p {
252
+ font-family: Arial, sans-serif;
253
+ font-size: 1.6rem;
254
+ font-weight: 400;
255
+ line-height: 24px;
256
+ margin: 0 0 15px 0;
257
+ text-align: left;
258
+ }
259
+ .pts-cookieBanner-Links{
260
+ margin-bottom: 1.6rem;
261
+ }
262
+
263
+ .pts-cookieBanner-Buttons {
264
+ display: flex;
265
+ justify-content: space-between;
266
+ align-items: center;
267
+ justify-content: flex-end;
268
+ gap: 1rem;
269
+ padding: 0.8rem 2rem;
270
+ }
271
+
272
+ .pts-cookieBanner button {
273
+ border-radius: 8px;
274
+ display: flex;
275
+ gap: 10px;
276
+ justify-content: flex-end; /* Always justify buttons to the end/right */
277
+ }
278
+
279
+ .pts-cookieBanner a {
280
+ padding-left: 10px;
281
+ font-family: Arial, sans-serif;
282
+ font-size: 1.6rem;
283
+ font-weight: 400;
284
+ line-height: 24px;
285
+ color: #6e3282;
286
+ text-decoration: none;
287
+ position: relative;
288
+ top: -0.7rem;
289
+ }
290
+
291
+ .pts-cookieBanner a:hover {
292
+ text-decoration: underline;
293
+ }
294
+
295
+ /* Button styles */
296
+ .pts-cookieBanner button {
297
+ min-width: 140px;
298
+ text-align: center;
299
+ font-family: Arial, sans-serif;
300
+ font-size: 1.4rem;
301
+ padding: 8px 15px;
302
+ border-radius: 4px;
303
+ background-color: #6e3282;
304
+ border-color: #6e3282;
305
+ color: white;
306
+ cursor: pointer;
307
+ }
308
+
220
309
  /* ---------- SERVICE HEADLINE AND BODY ---------- */
221
310
 
222
311
  .pts-serviceHeadlineAndBody-container li {
@@ -435,6 +524,7 @@ textarea:focus-visible,
435
524
  background: transparent;
436
525
  border: transparent;
437
526
  color: #6e3282;
527
+ cursor: pointer;
438
528
  }
439
529
 
440
530
  /* ---------- FOOTER ---------- */