keycloakify 10.1.3 → 11.0.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.
Files changed (198) hide show
  1. package/account/KcContext/kcContextMocks.js +18 -6
  2. package/account/KcContext/kcContextMocks.js.map +1 -1
  3. package/account/Template.js +8 -26
  4. package/account/Template.js.map +1 -1
  5. package/account/Template.useInitialize.d.ts +12 -0
  6. package/account/Template.useInitialize.js +20 -0
  7. package/account/Template.useInitialize.js.map +1 -0
  8. package/account/i18n/index.d.ts +5 -5
  9. package/account/i18n/index.js +1 -1
  10. package/account/i18n/index.js.map +1 -1
  11. package/account/i18n/messages_defaultSet/types.d.ts +3 -0
  12. package/account/i18n/messages_defaultSet/types.js +26 -0
  13. package/account/i18n/messages_defaultSet/types.js.map +1 -0
  14. package/account/i18n/noJsx/GenericI18n_noJsx.d.ts +63 -0
  15. package/account/i18n/noJsx/GenericI18n_noJsx.js +2 -0
  16. package/account/i18n/noJsx/GenericI18n_noJsx.js.map +1 -0
  17. package/account/i18n/noJsx/getI18n.d.ts +41 -0
  18. package/account/i18n/noJsx/getI18n.js +207 -0
  19. package/account/i18n/noJsx/getI18n.js.map +1 -0
  20. package/account/i18n/noJsx/i18nBuilder.d.ts +18 -0
  21. package/account/i18n/noJsx/i18nBuilder.js +27 -0
  22. package/account/i18n/noJsx/i18nBuilder.js.map +1 -0
  23. package/account/i18n/noJsx/index.d.ts +3 -0
  24. package/account/i18n/noJsx/index.js +2 -0
  25. package/account/i18n/noJsx/index.js.map +1 -0
  26. package/account/i18n/withJsx/GenericI18n.d.ts +72 -0
  27. package/account/i18n/withJsx/GenericI18n.js +5 -0
  28. package/account/i18n/withJsx/GenericI18n.js.map +1 -0
  29. package/account/i18n/withJsx/i18nBuilder.d.ts +18 -0
  30. package/account/i18n/withJsx/i18nBuilder.js +27 -0
  31. package/account/i18n/withJsx/i18nBuilder.js.map +1 -0
  32. package/account/i18n/withJsx/index.d.ts +3 -0
  33. package/account/i18n/withJsx/index.js +2 -0
  34. package/account/i18n/withJsx/index.js.map +1 -0
  35. package/account/i18n/withJsx/useI18n.d.ts +27 -0
  36. package/account/i18n/{useI18n.js → withJsx/useI18n.js} +6 -4
  37. package/account/i18n/withJsx/useI18n.js.map +1 -0
  38. package/account/index.d.ts +1 -1
  39. package/account/index.js +1 -1
  40. package/account/index.js.map +1 -1
  41. package/account/pages/Totp.js +3 -2
  42. package/account/pages/Totp.js.map +1 -1
  43. package/bin/246.index.js +191 -191
  44. package/bin/499.index.js +252 -68
  45. package/bin/main.js +1 -1
  46. package/lib/kcSanitize/HtmlPolicyBuilder.d.ts +28 -0
  47. package/lib/kcSanitize/HtmlPolicyBuilder.js +209 -0
  48. package/lib/kcSanitize/HtmlPolicyBuilder.js.map +1 -0
  49. package/lib/kcSanitize/KcSanitizer.d.ts +12 -0
  50. package/lib/kcSanitize/KcSanitizer.js +46 -0
  51. package/lib/kcSanitize/KcSanitizer.js.map +1 -0
  52. package/lib/kcSanitize/KcSanitizerPolicy.d.ts +24 -0
  53. package/lib/kcSanitize/KcSanitizerPolicy.js +149 -0
  54. package/lib/kcSanitize/KcSanitizerPolicy.js.map +1 -0
  55. package/lib/kcSanitize/index.d.ts +1 -0
  56. package/lib/kcSanitize/index.js +5 -0
  57. package/lib/kcSanitize/index.js.map +1 -0
  58. package/login/KcContext/kcContextMocks.js +24 -6
  59. package/login/KcContext/kcContextMocks.js.map +1 -1
  60. package/login/Template.js +7 -7
  61. package/login/Template.js.map +1 -1
  62. package/login/{Template.useStylesAndScripts.d.ts → Template.useInitialize.d.ts} +1 -4
  63. package/login/{Template.useStylesAndScripts.js → Template.useInitialize.js} +5 -23
  64. package/login/Template.useInitialize.js.map +1 -0
  65. package/login/i18n/index.d.ts +5 -5
  66. package/login/i18n/index.js +1 -1
  67. package/login/i18n/index.js.map +1 -1
  68. package/login/i18n/messages_defaultSet/types.d.ts +3 -0
  69. package/login/i18n/messages_defaultSet/types.js +33 -0
  70. package/login/i18n/messages_defaultSet/types.js.map +1 -0
  71. package/login/i18n/noJsx/GenericI18n_noJsx.d.ts +63 -0
  72. package/login/i18n/noJsx/GenericI18n_noJsx.js +2 -0
  73. package/login/i18n/noJsx/GenericI18n_noJsx.js.map +1 -0
  74. package/login/i18n/noJsx/getI18n.d.ts +41 -0
  75. package/login/i18n/noJsx/getI18n.js +207 -0
  76. package/login/i18n/noJsx/getI18n.js.map +1 -0
  77. package/login/i18n/noJsx/i18nBuilder.d.ts +18 -0
  78. package/login/i18n/noJsx/i18nBuilder.js +27 -0
  79. package/login/i18n/noJsx/i18nBuilder.js.map +1 -0
  80. package/login/i18n/noJsx/index.d.ts +3 -0
  81. package/login/i18n/noJsx/index.js +2 -0
  82. package/login/i18n/noJsx/index.js.map +1 -0
  83. package/login/i18n/withJsx/GenericI18n.d.ts +72 -0
  84. package/login/i18n/withJsx/GenericI18n.js +5 -0
  85. package/login/i18n/withJsx/GenericI18n.js.map +1 -0
  86. package/login/i18n/withJsx/i18nBuilder.d.ts +18 -0
  87. package/login/i18n/withJsx/i18nBuilder.js +27 -0
  88. package/login/i18n/withJsx/i18nBuilder.js.map +1 -0
  89. package/login/i18n/withJsx/index.d.ts +3 -0
  90. package/login/i18n/withJsx/index.js +2 -0
  91. package/login/i18n/withJsx/index.js.map +1 -0
  92. package/login/i18n/withJsx/useI18n.d.ts +27 -0
  93. package/login/i18n/{useI18n.js → withJsx/useI18n.js} +6 -4
  94. package/login/i18n/withJsx/useI18n.js.map +1 -0
  95. package/login/index.d.ts +1 -1
  96. package/login/index.js +1 -1
  97. package/login/index.js.map +1 -1
  98. package/login/lib/useUserProfileForm.d.ts +1 -1
  99. package/login/lib/useUserProfileForm.js +2 -1
  100. package/login/lib/useUserProfileForm.js.map +1 -1
  101. package/login/pages/Error.js +2 -1
  102. package/login/pages/Error.js.map +1 -1
  103. package/login/pages/Info.js +4 -3
  104. package/login/pages/Info.js.map +1 -1
  105. package/login/pages/Login.js +4 -3
  106. package/login/pages/Login.js.map +1 -1
  107. package/login/pages/LoginConfigTotp.js +3 -2
  108. package/login/pages/LoginConfigTotp.js.map +1 -1
  109. package/login/pages/LoginOtp.js +2 -1
  110. package/login/pages/LoginOtp.js.map +1 -1
  111. package/login/pages/LoginPassword.js +2 -1
  112. package/login/pages/LoginPassword.js.map +1 -1
  113. package/login/pages/LoginRecoveryAuthnCodeInput.js +2 -1
  114. package/login/pages/LoginRecoveryAuthnCodeInput.js.map +1 -1
  115. package/login/pages/LoginResetPassword.js +2 -1
  116. package/login/pages/LoginResetPassword.js.map +1 -1
  117. package/login/pages/LoginUpdatePassword.js +3 -2
  118. package/login/pages/LoginUpdatePassword.js.map +1 -1
  119. package/login/pages/Register.js +2 -1
  120. package/login/pages/Register.js.map +1 -1
  121. package/package.json +110 -31
  122. package/src/account/KcContext/kcContextMocks.ts +49 -29
  123. package/src/account/Template.tsx +11 -32
  124. package/src/account/Template.useInitialize.ts +35 -0
  125. package/src/account/i18n/index.ts +5 -5
  126. package/src/account/i18n/messages_defaultSet/types.ts +30 -0
  127. package/src/account/i18n/noJsx/GenericI18n_noJsx.ts +64 -0
  128. package/src/account/i18n/noJsx/getI18n.tsx +341 -0
  129. package/src/account/i18n/noJsx/i18nBuilder.ts +117 -0
  130. package/src/account/i18n/noJsx/index.ts +3 -0
  131. package/src/account/i18n/withJsx/GenericI18n.tsx +81 -0
  132. package/src/account/i18n/withJsx/i18nBuilder.ts +117 -0
  133. package/src/account/i18n/withJsx/index.ts +3 -0
  134. package/src/{login/i18n → account/i18n/withJsx}/useI18n.tsx +43 -11
  135. package/src/account/index.ts +1 -1
  136. package/src/account/pages/Totp.tsx +3 -2
  137. package/src/bin/initialize-account-theme/src/multi-page/i18n.ts +10 -3
  138. package/src/bin/keycloakify/generateFtl/kcContextDeclarationTemplate.ftl +15 -0
  139. package/src/bin/keycloakify/generateResources/generateMessageProperties.ts +371 -121
  140. package/src/bin/keycloakify/generateResources/generateResources.ts +8 -6
  141. package/src/bin/keycloakify/generateResources/generateResourcesForMainTheme.ts +61 -29
  142. package/src/bin/keycloakify/generateResources/generateResourcesForThemeVariant.ts +15 -9
  143. package/src/lib/kcSanitize/HtmlPolicyBuilder.ts +252 -0
  144. package/src/lib/kcSanitize/KcSanitizer.ts +60 -0
  145. package/src/lib/kcSanitize/KcSanitizerPolicy.ts +294 -0
  146. package/src/lib/kcSanitize/index.ts +5 -0
  147. package/src/login/KcContext/kcContextMocks.ts +54 -29
  148. package/src/login/Template.tsx +11 -17
  149. package/src/login/{Template.useStylesAndScripts.ts → Template.useInitialize.ts} +5 -29
  150. package/src/login/i18n/index.ts +5 -5
  151. package/src/login/i18n/messages_defaultSet/types.ts +37 -0
  152. package/src/login/i18n/noJsx/GenericI18n_noJsx.ts +64 -0
  153. package/src/login/i18n/noJsx/getI18n.tsx +341 -0
  154. package/src/login/i18n/noJsx/i18nBuilder.ts +117 -0
  155. package/src/login/i18n/noJsx/index.ts +3 -0
  156. package/src/login/i18n/withJsx/GenericI18n.tsx +81 -0
  157. package/src/login/i18n/withJsx/i18nBuilder.ts +117 -0
  158. package/src/login/i18n/withJsx/index.ts +3 -0
  159. package/src/{account/i18n → login/i18n/withJsx}/useI18n.tsx +43 -11
  160. package/src/login/index.ts +1 -1
  161. package/src/login/lib/useUserProfileForm.tsx +3 -2
  162. package/src/login/pages/Error.tsx +2 -1
  163. package/src/login/pages/Info.tsx +13 -10
  164. package/src/login/pages/Login.tsx +4 -3
  165. package/src/login/pages/LoginConfigTotp.tsx +3 -2
  166. package/src/login/pages/LoginOtp.tsx +2 -1
  167. package/src/login/pages/LoginPassword.tsx +2 -1
  168. package/src/login/pages/LoginRecoveryAuthnCodeInput.tsx +2 -1
  169. package/src/login/pages/LoginResetPassword.tsx +2 -1
  170. package/src/login/pages/LoginUpdatePassword.tsx +3 -2
  171. package/src/login/pages/Register.tsx +2 -1
  172. package/src/tools/useInsertScriptTags.ts +1 -1
  173. package/src/tools/vendor/dompurify.ts +3 -0
  174. package/stories/intro/intro.stories.tsx +0 -1
  175. package/tools/useInsertScriptTags.d.ts +1 -1
  176. package/tools/vendor/dompurify.d.ts +2 -0
  177. package/tools/vendor/dompurify.js +2 -0
  178. package/account/i18n/GenericI18n.d.ts +0 -6
  179. package/account/i18n/GenericI18n.js +0 -2
  180. package/account/i18n/GenericI18n.js.map +0 -1
  181. package/account/i18n/i18n.d.ts +0 -87
  182. package/account/i18n/i18n.js +0 -111
  183. package/account/i18n/i18n.js.map +0 -1
  184. package/account/i18n/useI18n.d.ts +0 -14
  185. package/account/i18n/useI18n.js.map +0 -1
  186. package/login/Template.useStylesAndScripts.js.map +0 -1
  187. package/login/i18n/GenericI18n.d.ts +0 -6
  188. package/login/i18n/GenericI18n.js +0 -2
  189. package/login/i18n/GenericI18n.js.map +0 -1
  190. package/login/i18n/i18n.d.ts +0 -87
  191. package/login/i18n/i18n.js +0 -113
  192. package/login/i18n/i18n.js.map +0 -1
  193. package/login/i18n/useI18n.d.ts +0 -14
  194. package/login/i18n/useI18n.js.map +0 -1
  195. package/src/account/i18n/GenericI18n.tsx +0 -6
  196. package/src/account/i18n/i18n.tsx +0 -250
  197. package/src/login/i18n/GenericI18n.tsx +0 -6
  198. package/src/login/i18n/i18n.tsx +0 -252
@@ -0,0 +1,209 @@
1
+ import { DOMPurify } from "../../tools/vendor/dompurify";
2
+ // implementation for org.owasp.html.HtmlPolicyBuilder
3
+ // https://www.javadoc.io/static/com.googlecode.owasp-java-html-sanitizer/owasp-java-html-sanitizer/20160628.1/index.html?org/owasp/html/HtmlPolicyBuilder.html
4
+ // It supports the methods that KCSanitizerPolicy needs and nothing more
5
+ export class HtmlPolicyBuilder {
6
+ // add a constructor
7
+ constructor(dependencyInjections) {
8
+ var _a;
9
+ this.globalAttributesAllowed = new Set();
10
+ this.tagsAllowed = new Map();
11
+ this.tagsAllowedWithNoAttribute = new Set();
12
+ this.currentAttribute = null;
13
+ this.isStylingAllowed = false;
14
+ this.allowedProtocols = new Set();
15
+ this.enforceRelNofollow = false;
16
+ this.DOMPurify = (_a = dependencyInjections.DOMPurify) !== null && _a !== void 0 ? _a : DOMPurify;
17
+ }
18
+ allowWithoutAttributes(tag) {
19
+ this.tagsAllowedWithNoAttribute.add(tag);
20
+ return this;
21
+ }
22
+ // Adds the attributes for validation
23
+ allowAttributes(...args) {
24
+ if (args.length) {
25
+ const attr = args[0];
26
+ this.currentAttribute = { name: attr }; // Default regex, will be set later
27
+ }
28
+ return this;
29
+ }
30
+ // Matching regex for value of allowed attributes
31
+ matching(matchingPattern) {
32
+ if (this.currentAttribute) {
33
+ if (matchingPattern instanceof RegExp) {
34
+ this.currentAttribute.matchRegex = matchingPattern;
35
+ }
36
+ else {
37
+ this.currentAttribute.matchFunction = matchingPattern;
38
+ }
39
+ }
40
+ return this;
41
+ }
42
+ // Make attributes in prev call global
43
+ globally() {
44
+ if (this.currentAttribute) {
45
+ this.currentAttribute.matchRegex = /.*/;
46
+ this.globalAttributesAllowed.add(this.currentAttribute);
47
+ this.currentAttribute = null; // Reset after global application
48
+ }
49
+ return this;
50
+ }
51
+ // Allow styling globally
52
+ allowStyling() {
53
+ this.isStylingAllowed = true;
54
+ return this;
55
+ }
56
+ // Save attributes for specific tag
57
+ onElements(...tags) {
58
+ if (this.currentAttribute) {
59
+ tags.forEach(tag => {
60
+ const element = this.tagsAllowed.get(tag) || {
61
+ name: tag,
62
+ attributes: []
63
+ };
64
+ element.attributes.push(this.currentAttribute);
65
+ this.tagsAllowed.set(tag, element);
66
+ });
67
+ this.currentAttribute = null; // Reset after applying to elements
68
+ }
69
+ return this;
70
+ }
71
+ // Make specific tag allowed
72
+ allowElements(...tags) {
73
+ tags.forEach(tag => {
74
+ if (!this.tagsAllowed.has(tag)) {
75
+ this.tagsAllowed.set(tag, { name: tag, attributes: [] });
76
+ }
77
+ });
78
+ return this;
79
+ }
80
+ // Handle rel=nofollow on links
81
+ requireRelNofollowOnLinks() {
82
+ this.enforceRelNofollow = true;
83
+ return this;
84
+ }
85
+ // Allow standard URL protocols (could include further implementation)
86
+ allowStandardUrlProtocols() {
87
+ this.allowedProtocols.add("http");
88
+ this.allowedProtocols.add("https");
89
+ this.allowedProtocols.add("mailto");
90
+ return this;
91
+ }
92
+ apply(html) {
93
+ //Clear all previous configs first ( in case we used DOMPurify somewhere else )
94
+ this.DOMPurify.clearConfig();
95
+ this.DOMPurify.removeAllHooks();
96
+ this.setupHooks();
97
+ return this.DOMPurify.sanitize(html, {
98
+ ALLOWED_TAGS: Array.from(this.tagsAllowed.keys()),
99
+ ALLOWED_ATTR: this.getAllowedAttributes(),
100
+ ALLOWED_URI_REGEXP: this.getAllowedUriRegexp(),
101
+ ADD_TAGS: this.isStylingAllowed ? ["style"] : [],
102
+ ADD_ATTR: this.isStylingAllowed ? ["style"] : []
103
+ });
104
+ }
105
+ setupHooks() {
106
+ // Check allowed attribute and global attributes and it doesnt exist in them remove it
107
+ this.DOMPurify.addHook("uponSanitizeAttribute", (currentNode, hookEvent) => {
108
+ var _a;
109
+ if (!hookEvent)
110
+ return;
111
+ const tagName = currentNode.tagName.toLowerCase();
112
+ const allowedAttributes = ((_a = this.tagsAllowed.get(tagName)) === null || _a === void 0 ? void 0 : _a.attributes) || [];
113
+ //Add global attributes to allowed attributes
114
+ this.globalAttributesAllowed.forEach(attribute => {
115
+ allowedAttributes.push(attribute);
116
+ });
117
+ //Add style attribute to allowed attributes
118
+ if (this.isStylingAllowed) {
119
+ let styleAttribute = { name: "style", matchRegex: /.*/ };
120
+ allowedAttributes.push(styleAttribute);
121
+ }
122
+ // Check if the attribute is allowed
123
+ if (!allowedAttributes.some(attr => attr.name === hookEvent.attrName)) {
124
+ hookEvent.forceKeepAttr = false;
125
+ hookEvent.keepAttr = false;
126
+ currentNode.removeAttribute(hookEvent.attrName);
127
+ return;
128
+ }
129
+ else {
130
+ const attributeType = allowedAttributes.find(attr => attr.name === hookEvent.attrName);
131
+ if (attributeType) {
132
+ //Check if attribute value is allowed
133
+ if (attributeType.matchRegex &&
134
+ !attributeType.matchRegex.test(hookEvent.attrValue)) {
135
+ hookEvent.forceKeepAttr = false;
136
+ hookEvent.keepAttr = false;
137
+ currentNode.removeAttribute(hookEvent.attrName);
138
+ return;
139
+ }
140
+ if (attributeType.matchFunction &&
141
+ !attributeType.matchFunction(hookEvent.attrValue)) {
142
+ hookEvent.forceKeepAttr = false;
143
+ hookEvent.keepAttr = false;
144
+ currentNode.removeAttribute(hookEvent.attrName);
145
+ return;
146
+ }
147
+ }
148
+ }
149
+ // both attribute and value already checked so they should be ok
150
+ // set forceKeep to true to make sure next hooks won't delete them
151
+ // except for href that we will check later
152
+ if (hookEvent.attrName !== "href") {
153
+ hookEvent.keepAttr = true;
154
+ hookEvent.forceKeepAttr = true;
155
+ }
156
+ });
157
+ this.DOMPurify.addHook("afterSanitizeAttributes", currentNode => {
158
+ var _a, _b;
159
+ // if tag is not allowed to have no attribute then remove it completely
160
+ if (currentNode.attributes.length == 0 &&
161
+ currentNode.childNodes.length == 0) {
162
+ if (!this.tagsAllowedWithNoAttribute.has(currentNode.tagName)) {
163
+ currentNode.remove();
164
+ }
165
+ }
166
+ else {
167
+ //in case of <a> or <img> if we have no attribute we need to remove them even if they have child
168
+ if (currentNode.tagName === "A" || currentNode.tagName === "IMG") {
169
+ if (currentNode.attributes.length == 0) {
170
+ //add currentNode children to parent node
171
+ while (currentNode.firstChild) {
172
+ (_a = currentNode === null || currentNode === void 0 ? void 0 : currentNode.parentNode) === null || _a === void 0 ? void 0 : _a.insertBefore(currentNode.firstChild, currentNode);
173
+ }
174
+ // Remove the currentNode itself
175
+ currentNode.remove();
176
+ }
177
+ }
178
+ //
179
+ if (currentNode.tagName === "A") {
180
+ if (this.enforceRelNofollow) {
181
+ if (!currentNode.hasAttribute("rel")) {
182
+ currentNode.setAttribute("rel", "nofollow");
183
+ }
184
+ else if (!((_b = currentNode.getAttribute("rel")) === null || _b === void 0 ? void 0 : _b.includes("nofollow"))) {
185
+ currentNode.setAttribute("rel", currentNode.getAttribute("rel") + " nofollow");
186
+ }
187
+ }
188
+ }
189
+ }
190
+ });
191
+ }
192
+ getAllowedAttributes() {
193
+ const allowedAttributes = new Set();
194
+ this.tagsAllowed.forEach(element => {
195
+ element.attributes.forEach(attribute => {
196
+ allowedAttributes.add(attribute.name);
197
+ });
198
+ });
199
+ this.globalAttributesAllowed.forEach(attribute => {
200
+ allowedAttributes.add(attribute.name);
201
+ });
202
+ return Array.from(allowedAttributes);
203
+ }
204
+ getAllowedUriRegexp() {
205
+ const protocols = Array.from(this.allowedProtocols).join("|");
206
+ return new RegExp(`^(?:${protocols})://`, "i");
207
+ }
208
+ }
209
+ //# sourceMappingURL=HtmlPolicyBuilder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HtmlPolicyBuilder.js","sourceRoot":"","sources":["../../src/lib/kcSanitize/HtmlPolicyBuilder.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ /// <reference types="dompurify" />
2
+ import type { DOMPurify as ofTypeDomPurify } from "../../tools/vendor/dompurify";
3
+ export declare class KcSanitizer {
4
+ private static HREF_PATTERN;
5
+ private static textarea;
6
+ static sanitize(html: string, dependencyInjections: Partial<{
7
+ DOMPurify: typeof ofTypeDomPurify;
8
+ htmlEntitiesDecode: (html: string) => string;
9
+ }>): string;
10
+ private static decodeHtml;
11
+ private static fixURLs;
12
+ }
@@ -0,0 +1,46 @@
1
+ import { KcSanitizerPolicy } from "./KcSanitizerPolicy";
2
+ // implementation of keycloak java sanitize method ( KeycloakSanitizerMethod )
3
+ // https://github.com/keycloak/keycloak/blob/8ce8a4ba089eef25a0e01f58e09890399477b9ef/services/src/main/java/org/keycloak/theme/KeycloakSanitizerMethod.java#L33
4
+ export class KcSanitizer {
5
+ static sanitize(html, dependencyInjections) {
6
+ if (html === "")
7
+ return "";
8
+ html =
9
+ (dependencyInjections === null || dependencyInjections === void 0 ? void 0 : dependencyInjections.htmlEntitiesDecode) !== undefined
10
+ ? dependencyInjections.htmlEntitiesDecode(html)
11
+ : this.decodeHtml(html);
12
+ const sanitized = KcSanitizerPolicy.sanitize(html, dependencyInjections);
13
+ return this.fixURLs(sanitized);
14
+ }
15
+ static decodeHtml(html) {
16
+ if (!KcSanitizer.textarea) {
17
+ KcSanitizer.textarea = document.createElement("textarea");
18
+ }
19
+ KcSanitizer.textarea.innerHTML = html;
20
+ return KcSanitizer.textarea.value;
21
+ }
22
+ // This will remove unwanted characters from url
23
+ static fixURLs(msg) {
24
+ const HREF_PATTERN = this.HREF_PATTERN;
25
+ const result = [];
26
+ let last = 0;
27
+ let match;
28
+ do {
29
+ match = HREF_PATTERN.exec(msg);
30
+ if (match) {
31
+ const href = match[0]
32
+ .replace(/&#61;/g, "=")
33
+ .replace(/\.\./g, ".")
34
+ .replace(/&amp;/g, "&");
35
+ result.push(msg.substring(last, match.index));
36
+ result.push(href);
37
+ last = HREF_PATTERN.lastIndex;
38
+ }
39
+ } while (match);
40
+ result.push(msg.substring(last));
41
+ return result.join("");
42
+ }
43
+ }
44
+ KcSanitizer.HREF_PATTERN = /\s+href="([^"]*)"/g;
45
+ KcSanitizer.textarea = null;
46
+ //# sourceMappingURL=KcSanitizer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"KcSanitizer.js","sourceRoot":"","sources":["../../src/lib/kcSanitize/KcSanitizer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAGxD,8EAA8E;AAC9E,gKAAgK;AAChK,MAAM,OAAO,WAAW;IAIb,MAAM,CAAC,QAAQ,CAClB,IAAY,EACZ,oBAGE;QAEF,IAAI,IAAI,KAAK,EAAE;YAAE,OAAO,EAAE,CAAC;QAE3B,IAAI;YACA,CAAA,oBAAoB,aAApB,oBAAoB,uBAApB,oBAAoB,CAAE,kBAAkB,MAAK,SAAS;gBAClD,CAAC,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,IAAI,CAAC;gBAC/C,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAChC,MAAM,SAAS,GAAG,iBAAiB,CAAC,QAAQ,CAAC,IAAI,EAAE,oBAAoB,CAAC,CAAC;QACzE,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACnC,CAAC;IAEO,MAAM,CAAC,UAAU,CAAC,IAAY;QAClC,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE;YACvB,WAAW,CAAC,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;SAC7D;QACD,WAAW,CAAC,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC;QACtC,OAAO,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC;IACtC,CAAC;IAED,gDAAgD;IACxC,MAAM,CAAC,OAAO,CAAC,GAAW;QAC9B,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QACvC,MAAM,MAAM,GAAG,EAAE,CAAC;QAClB,IAAI,IAAI,GAAG,CAAC,CAAC;QACb,IAAI,KAA6B,CAAC;QAElC,GAAG;YACC,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC/B,IAAI,KAAK,EAAE;gBACP,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC;qBAChB,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC;qBACtB,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC;qBACrB,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;gBAE5B,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,KAAM,CAAC,CAAC,CAAC;gBAC/C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAElB,IAAI,GAAG,YAAY,CAAC,SAAS,CAAC;aACjC;SACJ,QAAQ,KAAK,EAAE;QAEhB,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;QACjC,OAAO,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC3B,CAAC;;AApDc,wBAAY,GAAG,oBAAoB,CAAC;AACpC,oBAAQ,GAA+B,IAAI,CAAC"}
@@ -0,0 +1,24 @@
1
+ /// <reference types="dompurify" />
2
+ import type { DOMPurify as ofTypeDomPurify } from "../../tools/vendor/dompurify";
3
+ export declare class KcSanitizerPolicy {
4
+ static readonly COLOR_NAME: RegExp;
5
+ static readonly COLOR_CODE: RegExp;
6
+ static readonly NUMBER_OR_PERCENT: RegExp;
7
+ static readonly PARAGRAPH: RegExp;
8
+ static readonly HTML_ID: RegExp;
9
+ static readonly HTML_TITLE: RegExp;
10
+ static readonly HTML_CLASS: RegExp;
11
+ static readonly ONSITE_URL: RegExp;
12
+ static readonly OFFSITE_URL: RegExp;
13
+ static readonly NUMBER: RegExp;
14
+ static readonly NAME: RegExp;
15
+ static readonly ALIGN: RegExp;
16
+ static readonly VALIGN: RegExp;
17
+ static readonly HISTORY_BACK: RegExp;
18
+ static readonly ONE_CHAR: RegExp;
19
+ private static COLOR_NAME_OR_COLOR_CODE;
20
+ private static ONSITE_OR_OFFSITE_URL;
21
+ static sanitize(html: string, dependencyInjections: Partial<{
22
+ DOMPurify: typeof ofTypeDomPurify;
23
+ }>): string;
24
+ }
@@ -0,0 +1,149 @@
1
+ import { HtmlPolicyBuilder } from "./HtmlPolicyBuilder";
2
+ //implementation of java Sanitizer policy ( KeycloakSanitizerPolicy )
3
+ // All regex directly copied from the keycloak source but some of them changed slightly to work with typescript(ONSITE_URL and OFFSITE_URL)
4
+ // Also replaced ?i with "i" tag as second parameter of RegExp
5
+ //https://github.com/keycloak/keycloak/blob/8ce8a4ba089eef25a0e01f58e09890399477b9ef/services/src/main/java/org/keycloak/theme/KeycloakSanitizerPolicy.java#L29
6
+ export class KcSanitizerPolicy {
7
+ static COLOR_NAME_OR_COLOR_CODE(s) {
8
+ return (KcSanitizerPolicy.COLOR_NAME.test(s) || KcSanitizerPolicy.COLOR_CODE.test(s));
9
+ }
10
+ static ONSITE_OR_OFFSITE_URL(s) {
11
+ return (KcSanitizerPolicy.ONSITE_URL.test(s) || KcSanitizerPolicy.OFFSITE_URL.test(s));
12
+ }
13
+ static sanitize(html, dependencyInjections) {
14
+ return new HtmlPolicyBuilder(dependencyInjections)
15
+ .allowWithoutAttributes("span")
16
+ .allowAttributes("id")
17
+ .matching(this.HTML_ID)
18
+ .globally()
19
+ .allowAttributes("class")
20
+ .matching(this.HTML_CLASS)
21
+ .globally()
22
+ .allowAttributes("lang")
23
+ .matching(/[a-zA-Z]{2,20}/)
24
+ .globally()
25
+ .allowAttributes("title")
26
+ .matching(this.HTML_TITLE)
27
+ .globally()
28
+ .allowStyling()
29
+ .allowAttributes("align")
30
+ .matching(this.ALIGN)
31
+ .onElements("p")
32
+ .allowAttributes("for")
33
+ .matching(this.HTML_ID)
34
+ .onElements("label")
35
+ .allowAttributes("color")
36
+ .matching(this.COLOR_NAME_OR_COLOR_CODE)
37
+ .onElements("font")
38
+ .allowAttributes("face")
39
+ .matching(/[\w;, \-]+/)
40
+ .onElements("font")
41
+ .allowAttributes("size")
42
+ .matching(this.NUMBER)
43
+ .onElements("font")
44
+ .allowAttributes("href")
45
+ .matching(this.ONSITE_OR_OFFSITE_URL)
46
+ .onElements("a")
47
+ .allowStandardUrlProtocols()
48
+ .allowAttributes("nohref")
49
+ .onElements("a")
50
+ .allowAttributes("name")
51
+ .matching(this.NAME)
52
+ .onElements("a")
53
+ .allowAttributes("onfocus", "onblur", "onclick", "onmousedown", "onmouseup")
54
+ .matching(this.HISTORY_BACK)
55
+ .onElements("a")
56
+ .requireRelNofollowOnLinks()
57
+ .allowAttributes("src")
58
+ .matching(this.ONSITE_OR_OFFSITE_URL)
59
+ .onElements("img")
60
+ .allowAttributes("name")
61
+ .matching(this.NAME)
62
+ .onElements("img")
63
+ .allowAttributes("alt")
64
+ .matching(this.PARAGRAPH)
65
+ .onElements("img")
66
+ .allowAttributes("border", "hspace", "vspace")
67
+ .matching(this.NUMBER)
68
+ .onElements("img")
69
+ .allowAttributes("border", "cellpadding", "cellspacing")
70
+ .matching(this.NUMBER)
71
+ .onElements("table")
72
+ .allowAttributes("bgcolor")
73
+ .matching(this.COLOR_NAME_OR_COLOR_CODE)
74
+ .onElements("table")
75
+ .allowAttributes("background")
76
+ .matching(this.ONSITE_URL)
77
+ .onElements("table")
78
+ .allowAttributes("align")
79
+ .matching(this.ALIGN)
80
+ .onElements("table")
81
+ .allowAttributes("noresize")
82
+ .matching(new RegExp("noresize", "i"))
83
+ .onElements("table")
84
+ .allowAttributes("background")
85
+ .matching(this.ONSITE_URL)
86
+ .onElements("td", "th", "tr")
87
+ .allowAttributes("bgcolor")
88
+ .matching(this.COLOR_NAME_OR_COLOR_CODE)
89
+ .onElements("td", "th")
90
+ .allowAttributes("abbr")
91
+ .matching(this.PARAGRAPH)
92
+ .onElements("td", "th")
93
+ .allowAttributes("axis", "headers")
94
+ .matching(this.NAME)
95
+ .onElements("td", "th")
96
+ .allowAttributes("scope")
97
+ .matching(new RegExp("(?:row|col)(?:group)?", "i"))
98
+ .onElements("td", "th")
99
+ .allowAttributes("nowrap")
100
+ .onElements("td", "th")
101
+ .allowAttributes("height", "width")
102
+ .matching(this.NUMBER_OR_PERCENT)
103
+ .onElements("table", "td", "th", "tr", "img")
104
+ .allowAttributes("align")
105
+ .matching(this.ALIGN)
106
+ .onElements("thead", "tbody", "tfoot", "img", "td", "th", "tr", "colgroup", "col")
107
+ .allowAttributes("valign")
108
+ .matching(this.VALIGN)
109
+ .onElements("thead", "tbody", "tfoot", "td", "th", "tr", "colgroup", "col")
110
+ .allowAttributes("charoff")
111
+ .matching(this.NUMBER_OR_PERCENT)
112
+ .onElements("td", "th", "tr", "colgroup", "col", "thead", "tbody", "tfoot")
113
+ .allowAttributes("char")
114
+ .matching(this.ONE_CHAR)
115
+ .onElements("td", "th", "tr", "colgroup", "col", "thead", "tbody", "tfoot")
116
+ .allowAttributes("colspan", "rowspan")
117
+ .matching(this.NUMBER)
118
+ .onElements("td", "th")
119
+ .allowAttributes("span", "width")
120
+ .matching(this.NUMBER_OR_PERCENT)
121
+ .onElements("colgroup", "col")
122
+ .allowElements("a", "label", "noscript", "h1", "h2", "h3", "h4", "h5", "h6", "p", "i", "b", "u", "strong", "em", "small", "big", "pre", "code", "cite", "samp", "sub", "sup", "strike", "center", "blockquote", "hr", "br", "col", "font", "map", "span", "div", "img", "ul", "ol", "li", "dd", "dt", "dl", "tbody", "thead", "tfoot", "table", "td", "th", "tr", "colgroup", "fieldset", "legend")
123
+ .apply(html);
124
+ }
125
+ }
126
+ KcSanitizerPolicy.COLOR_NAME = new RegExp("(?:aqua|black|blue|fuchsia|gray|grey|green|lime|maroon|navy|olive|purple|red|silver|teal|white|yellow)");
127
+ KcSanitizerPolicy.COLOR_CODE = new RegExp("(?:#(?:[0-9a-fA-F]{3}(?:[0-9a-fA-F]{3})?))");
128
+ KcSanitizerPolicy.NUMBER_OR_PERCENT = new RegExp("[0-9]+%?");
129
+ KcSanitizerPolicy.PARAGRAPH = new RegExp("(?:[\\p{L}\\p{N},'\\.\\s\\-_\\(\\)]|&[0-9]{2};)*", "u" // Unicode flag for \p{L} and \p{N} in the pattern
130
+ );
131
+ KcSanitizerPolicy.HTML_ID = new RegExp("[a-zA-Z0-9\\:\\-_\\.]+");
132
+ KcSanitizerPolicy.HTML_TITLE = new RegExp("[\\p{L}\\p{N}\\s\\-_',:\\[\\]!\\./\\\\\\(\\)&]*", "u" // Unicode flag for \p{L} and \p{N} in the pattern
133
+ );
134
+ KcSanitizerPolicy.HTML_CLASS = new RegExp("[a-zA-Z0-9\\s,\\-_]+");
135
+ KcSanitizerPolicy.ONSITE_URL = new RegExp("(?:[\\p{L}\\p{N}.#@\\$%+&;\\-_~,?=/!]+|#(\\w)+)", "u" // Unicode flag for \p{L} and \p{N} in the pattern
136
+ );
137
+ KcSanitizerPolicy.OFFSITE_URL = new RegExp("\\s*(?:(?:ht|f)tps?://|mailto:)[\\p{L}\\p{N}]+" +
138
+ "[\\p{L}\\p{N}\\p{Zs}.#@\\$%+&;:\\-_~,?=/!()]*\\s*", "u" // Unicode flag for \p{L} and \p{N} in the pattern
139
+ );
140
+ KcSanitizerPolicy.NUMBER = new RegExp("[+-]?(?:(?:[0-9]+(?:\\.[0-9]*)?)|\\.[0-9]+)");
141
+ KcSanitizerPolicy.NAME = new RegExp("[a-zA-Z0-9\\-_\\$]+");
142
+ KcSanitizerPolicy.ALIGN = new RegExp("\\b(center|left|right|justify|char)\\b", "i" // Case-insensitive flag
143
+ );
144
+ KcSanitizerPolicy.VALIGN = new RegExp("\\b(baseline|bottom|middle|top)\\b", "i" // Case-insensitive flag
145
+ );
146
+ KcSanitizerPolicy.HISTORY_BACK = new RegExp("(?:javascript:)?\\Qhistory.go(-1)\\E");
147
+ KcSanitizerPolicy.ONE_CHAR = new RegExp(".?", "s" // Dotall flag for . to match newlines
148
+ );
149
+ //# sourceMappingURL=KcSanitizerPolicy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"KcSanitizerPolicy.js","sourceRoot":"","sources":["../../src/lib/kcSanitize/KcSanitizerPolicy.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export declare function kcSanitize(html: string): string;
@@ -0,0 +1,5 @@
1
+ import { KcSanitizer } from "./KcSanitizer";
2
+ export function kcSanitize(html) {
3
+ return KcSanitizer.sanitize(html, {});
4
+ }
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/lib/kcSanitize/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,MAAM,UAAU,UAAU,CAAC,IAAY;IACnC,OAAO,WAAW,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;AAC1C,CAAC"}
@@ -126,13 +126,31 @@ export const kcContextCommonMock = {
126
126
  ["pl", "Polski"],
127
127
  ["ca", "Català"],
128
128
  ["nl", "Nederlands"],
129
- ["tr", "Türkçe"]
129
+ ["tr", "Türkçe"],
130
+ ["ar", "العربية"],
131
+ ["da", "Dansk"],
132
+ ["el", "Ελληνικά"],
133
+ ["fa", "فارسی"],
134
+ ["fi", "Suomi"],
135
+ ["hu", "Magyar"],
136
+ ["ka", "ქართული"],
137
+ ["lv", "Latviešu"],
138
+ ["pt", "Português"],
139
+ ["th", "ไทย"],
140
+ ["uk", "Українська"],
141
+ ["zh-TW", "中文繁體"]
130
142
  /* spell-checker: enable */
131
- ].map(([languageTag, label]) => ({
132
- languageTag,
133
- label,
134
- url: "https://gist.github.com/garronej/52baaca1bb925f2296ab32741e062b8e"
135
- })),
143
+ ].map(([languageTag, label]) => {
144
+ {
145
+ assert;
146
+ assert;
147
+ }
148
+ return {
149
+ languageTag,
150
+ label,
151
+ url: "https://gist.github.com/garronej/52baaca1bb925f2296ab32741e062b8e"
152
+ };
153
+ }),
136
154
  currentLanguageTag: "en"
137
155
  },
138
156
  auth: {
@@ -1 +1 @@
1
- {"version":3,"file":"kcContextMocks.js","sourceRoot":"","sources":["../../src/login/KcContext/kcContextMocks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"kcContextMocks.js","sourceRoot":"","sources":["../../src/login/KcContext/kcContextMocks.ts"],"names":[],"mappings":"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"}
package/login/Template.js CHANGED
@@ -1,15 +1,15 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useEffect } from "react";
3
- import { assert } from "../tools/assert";
4
3
  import { clsx } from "../tools/clsx";
4
+ import { kcSanitize } from "../lib/kcSanitize";
5
5
  import { getKcClsx } from "../login/lib/kcClsx";
6
6
  import { useSetClassName } from "../tools/useSetClassName";
7
- import { useStylesAndScripts } from "../login/Template.useStylesAndScripts";
7
+ import { useInitialize } from "../login/Template.useInitialize";
8
8
  export default function Template(props) {
9
9
  const { displayInfo = false, displayMessage = true, displayRequiredFields = false, headerNode, socialProvidersNode = null, infoNode = null, documentTitle, bodyClassName, kcContext, i18n, doUseDefaultCss, classes, children } = props;
10
10
  const { kcClsx } = getKcClsx({ doUseDefaultCss, classes });
11
- const { msg, msgStr, getChangeLocaleUrl, labelBySupportedLanguageTag, currentLanguageTag } = i18n;
12
- const { realm, locale, auth, url, message, isAppInitiatedAction } = kcContext;
11
+ const { msg, msgStr, currentLanguage, enabledLanguages } = i18n;
12
+ const { realm, auth, url, message, isAppInitiatedAction } = kcContext;
13
13
  useEffect(() => {
14
14
  document.title = documentTitle !== null && documentTitle !== void 0 ? documentTitle : msgStr("loginTitle", kcContext.realm.displayName);
15
15
  }, []);
@@ -21,18 +21,18 @@ export default function Template(props) {
21
21
  qualifiedName: "body",
22
22
  className: bodyClassName !== null && bodyClassName !== void 0 ? bodyClassName : kcClsx("kcBodyClass")
23
23
  });
24
- const { isReadyToRender } = useStylesAndScripts({ kcContext, doUseDefaultCss });
24
+ const { isReadyToRender } = useInitialize({ kcContext, doUseDefaultCss });
25
25
  if (!isReadyToRender) {
26
26
  return null;
27
27
  }
28
- return (_jsxs("div", Object.assign({ className: kcClsx("kcLoginClass") }, { children: [_jsx("div", Object.assign({ id: "kc-header", className: kcClsx("kcHeaderClass") }, { children: _jsx("div", Object.assign({ id: "kc-header-wrapper", className: kcClsx("kcHeaderWrapperClass") }, { children: msg("loginTitleHtml", realm.displayNameHtml) })) })), _jsxs("div", Object.assign({ className: kcClsx("kcFormCardClass") }, { children: [_jsxs("header", Object.assign({ className: kcClsx("kcFormHeaderClass") }, { children: [realm.internationalizationEnabled && (assert(locale !== undefined), locale.supported.length > 1) && (_jsx("div", Object.assign({ className: kcClsx("kcLocaleMainClass"), id: "kc-locale" }, { children: _jsx("div", Object.assign({ id: "kc-locale-wrapper", className: kcClsx("kcLocaleWrapperClass") }, { children: _jsxs("div", Object.assign({ id: "kc-locale-dropdown", className: clsx("menu-button-links", kcClsx("kcLocaleDropDownClass")) }, { children: [_jsx("button", Object.assign({ tabIndex: 1, id: "kc-current-locale-link", "aria-label": msgStr("languages"), "aria-haspopup": "true", "aria-expanded": "false", "aria-controls": "language-switch1" }, { children: labelBySupportedLanguageTag[currentLanguageTag] })), _jsx("ul", Object.assign({ role: "menu", tabIndex: -1, "aria-labelledby": "kc-current-locale-link", "aria-activedescendant": "", id: "language-switch1", className: kcClsx("kcLocaleListClass") }, { children: locale.supported.map(({ languageTag }, i) => (_jsx("li", Object.assign({ className: kcClsx("kcLocaleListItemClass"), role: "none" }, { children: _jsx("a", Object.assign({ role: "menuitem", id: `language-${i + 1}`, className: kcClsx("kcLocaleItemClass"), href: getChangeLocaleUrl(languageTag) }, { children: labelBySupportedLanguageTag[languageTag] })) }), languageTag))) }))] })) })) }))), (() => {
28
+ return (_jsxs("div", Object.assign({ className: kcClsx("kcLoginClass") }, { children: [_jsx("div", Object.assign({ id: "kc-header", className: kcClsx("kcHeaderClass") }, { children: _jsx("div", Object.assign({ id: "kc-header-wrapper", className: kcClsx("kcHeaderWrapperClass") }, { children: msg("loginTitleHtml", realm.displayNameHtml) })) })), _jsxs("div", Object.assign({ className: kcClsx("kcFormCardClass") }, { children: [_jsxs("header", Object.assign({ className: kcClsx("kcFormHeaderClass") }, { children: [enabledLanguages.length > 1 && (_jsx("div", Object.assign({ className: kcClsx("kcLocaleMainClass"), id: "kc-locale" }, { children: _jsx("div", Object.assign({ id: "kc-locale-wrapper", className: kcClsx("kcLocaleWrapperClass") }, { children: _jsxs("div", Object.assign({ id: "kc-locale-dropdown", className: clsx("menu-button-links", kcClsx("kcLocaleDropDownClass")) }, { children: [_jsx("button", Object.assign({ tabIndex: 1, id: "kc-current-locale-link", "aria-label": msgStr("languages"), "aria-haspopup": "true", "aria-expanded": "false", "aria-controls": "language-switch1" }, { children: currentLanguage.label })), _jsx("ul", Object.assign({ role: "menu", tabIndex: -1, "aria-labelledby": "kc-current-locale-link", "aria-activedescendant": "", id: "language-switch1", className: kcClsx("kcLocaleListClass") }, { children: enabledLanguages.map(({ languageTag, label, href }, i) => (_jsx("li", Object.assign({ className: kcClsx("kcLocaleListItemClass"), role: "none" }, { children: _jsx("a", Object.assign({ role: "menuitem", id: `language-${i + 1}`, className: kcClsx("kcLocaleItemClass"), href: href }, { children: label })) }), languageTag))) }))] })) })) }))), (() => {
29
29
  const node = !(auth !== undefined && auth.showUsername && !auth.showResetCredentials) ? (_jsx("h1", Object.assign({ id: "kc-page-title" }, { children: headerNode }))) : (_jsxs("div", Object.assign({ id: "kc-username", className: kcClsx("kcFormGroupClass") }, { children: [_jsx("label", Object.assign({ id: "kc-attempted-username" }, { children: auth.attemptedUsername })), _jsx("a", Object.assign({ id: "reset-login", href: url.loginRestartFlowUrl, "aria-label": msgStr("restartLoginTooltip") }, { children: _jsxs("div", Object.assign({ className: "kc-login-tooltip" }, { children: [_jsx("i", { className: kcClsx("kcResetFlowIcon") }), _jsx("span", Object.assign({ className: "kc-tooltip-text" }, { children: msg("restartLoginTooltip") }))] })) }))] })));
30
30
  if (displayRequiredFields) {
31
31
  return (_jsxs("div", Object.assign({ className: kcClsx("kcContentWrapperClass") }, { children: [_jsx("div", Object.assign({ className: clsx(kcClsx("kcLabelWrapperClass"), "subtitle") }, { children: _jsxs("span", Object.assign({ className: "subtitle" }, { children: [_jsx("span", Object.assign({ className: "required" }, { children: "*" })), msg("requiredFields")] })) })), _jsx("div", Object.assign({ className: "col-md-10" }, { children: node }))] })));
32
32
  }
33
33
  return node;
34
34
  })()] })), _jsx("div", Object.assign({ id: "kc-content" }, { children: _jsxs("div", Object.assign({ id: "kc-content-wrapper" }, { children: [displayMessage && message !== undefined && (message.type !== "warning" || !isAppInitiatedAction) && (_jsxs("div", Object.assign({ className: clsx(`alert-${message.type}`, kcClsx("kcAlertClass"), `pf-m-${(message === null || message === void 0 ? void 0 : message.type) === "error" ? "danger" : message.type}`) }, { children: [_jsxs("div", Object.assign({ className: "pf-c-alert__icon" }, { children: [message.type === "success" && _jsx("span", { className: kcClsx("kcFeedbackSuccessIcon") }), message.type === "warning" && _jsx("span", { className: kcClsx("kcFeedbackWarningIcon") }), message.type === "error" && _jsx("span", { className: kcClsx("kcFeedbackErrorIcon") }), message.type === "info" && _jsx("span", { className: kcClsx("kcFeedbackInfoIcon") })] })), _jsx("span", { className: kcClsx("kcAlertTitleClass"), dangerouslySetInnerHTML: {
35
- __html: message.summary
35
+ __html: kcSanitize(message.summary)
36
36
  } })] }))), children, auth !== undefined && auth.showTryAnotherWayLink && (_jsx("form", Object.assign({ id: "kc-select-try-another-way-form", action: url.loginAction, method: "post" }, { children: _jsxs("div", Object.assign({ className: kcClsx("kcFormGroupClass") }, { children: [_jsx("input", { type: "hidden", name: "tryAnotherWay", value: "on" }), _jsx("a", Object.assign({ href: "#", id: "try-another-way", onClick: () => {
37
37
  document.forms["kc-select-try-another-way-form"].submit();
38
38
  return false;