@keycloakify/svelte 0.0.1-rc.6 → 0.1.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 (196) hide show
  1. package/README.md +1 -1
  2. package/keycloakify-svelte/account/DefaultPage.svelte +42 -0
  3. package/keycloakify-svelte/account/DefaultPage.svelte.d.ts +6 -0
  4. package/keycloakify-svelte/account/KcContext/KcContext.d.ts +1 -0
  5. package/keycloakify-svelte/account/KcContext/KcContext.js +1 -0
  6. package/keycloakify-svelte/account/KcContext/index.d.ts +1 -0
  7. package/keycloakify-svelte/account/KcContext/index.js +1 -0
  8. package/keycloakify-svelte/account/Template.svelte +143 -0
  9. package/keycloakify-svelte/account/Template.svelte.d.ts +6 -0
  10. package/keycloakify-svelte/account/Template.useInitialize.d.ts +12 -0
  11. package/keycloakify-svelte/account/Template.useInitialize.js +19 -0
  12. package/keycloakify-svelte/account/TemplateProps.d.ts +12 -0
  13. package/keycloakify-svelte/account/TemplateProps.js +1 -0
  14. package/keycloakify-svelte/account/i18n/i18n.d.ts +15 -0
  15. package/keycloakify-svelte/account/i18n/i18n.js +1 -0
  16. package/keycloakify-svelte/account/i18n/i18nBuilder.d.ts +18 -0
  17. package/keycloakify-svelte/account/i18n/i18nBuilder.js +26 -0
  18. package/keycloakify-svelte/account/i18n/index.d.ts +1 -0
  19. package/keycloakify-svelte/account/i18n/index.js +1 -0
  20. package/keycloakify-svelte/account/i18n/useI18n.d.ts +28 -0
  21. package/keycloakify-svelte/account/i18n/useI18n.js +65 -0
  22. package/keycloakify-svelte/account/index.d.ts +2 -0
  23. package/keycloakify-svelte/account/index.js +1 -0
  24. package/keycloakify-svelte/account/pages/Account.svelte +182 -0
  25. package/keycloakify-svelte/account/pages/Account.svelte.d.ts +6 -0
  26. package/keycloakify-svelte/account/pages/Applications.svelte +173 -0
  27. package/keycloakify-svelte/account/pages/Applications.svelte.d.ts +6 -0
  28. package/keycloakify-svelte/account/pages/FederatedIdentity.svelte +114 -0
  29. package/keycloakify-svelte/account/pages/FederatedIdentity.svelte.d.ts +6 -0
  30. package/keycloakify-svelte/account/pages/Log.svelte +68 -0
  31. package/keycloakify-svelte/account/pages/Log.svelte.d.ts +6 -0
  32. package/keycloakify-svelte/account/pages/PageProps.d.ts +10 -0
  33. package/keycloakify-svelte/account/pages/PageProps.js +1 -0
  34. package/keycloakify-svelte/account/pages/Password.svelte +233 -0
  35. package/keycloakify-svelte/account/pages/Password.svelte.d.ts +6 -0
  36. package/keycloakify-svelte/account/pages/Sessions.svelte +88 -0
  37. package/keycloakify-svelte/account/pages/Sessions.svelte.d.ts +6 -0
  38. package/keycloakify-svelte/account/pages/Totp.svelte +287 -0
  39. package/keycloakify-svelte/account/pages/Totp.svelte.d.ts +6 -0
  40. package/keycloakify-svelte/additional-svelte-typings.d.ts +6 -0
  41. package/keycloakify-svelte/bin/200.index.js +399 -0
  42. package/keycloakify-svelte/bin/266.index.js +964 -0
  43. package/keycloakify-svelte/bin/279.index.js +4298 -0
  44. package/keycloakify-svelte/bin/709.index.js +494 -0
  45. package/keycloakify-svelte/bin/818.index.js +1037 -0
  46. package/keycloakify-svelte/bin/index.js +2454 -0
  47. package/keycloakify-svelte/bin/package.json +3 -0
  48. package/keycloakify-svelte/login/DefaultPage.svelte +135 -0
  49. package/keycloakify-svelte/login/DefaultPage.svelte.d.ts +12 -0
  50. package/keycloakify-svelte/login/KcContext/KcContext.d.ts +1 -0
  51. package/keycloakify-svelte/login/KcContext/KcContext.js +1 -0
  52. package/keycloakify-svelte/login/KcContext/index.d.ts +1 -0
  53. package/keycloakify-svelte/login/KcContext/index.js +1 -0
  54. package/keycloakify-svelte/login/Template.svelte +223 -0
  55. package/keycloakify-svelte/login/Template.svelte.d.ts +6 -0
  56. package/keycloakify-svelte/login/Template.useInitialize.d.ts +14 -0
  57. package/keycloakify-svelte/login/Template.useInitialize.js +55 -0
  58. package/keycloakify-svelte/login/TemplateProps.d.ts +20 -0
  59. package/keycloakify-svelte/login/TemplateProps.js +1 -0
  60. package/keycloakify-svelte/login/components/AddRemoveButtonsMultiValuedAttribute.svelte +57 -0
  61. package/keycloakify-svelte/login/components/AddRemoveButtonsMultiValuedAttribute.svelte.d.ts +18 -0
  62. package/keycloakify-svelte/login/components/FieldErrors.svelte +31 -0
  63. package/keycloakify-svelte/login/components/FieldErrors.svelte.d.ts +12 -0
  64. package/keycloakify-svelte/login/components/GroupLabel.svelte +68 -0
  65. package/keycloakify-svelte/login/components/GroupLabel.svelte.d.ts +15 -0
  66. package/keycloakify-svelte/login/components/InputFieldByType.svelte +58 -0
  67. package/keycloakify-svelte/login/components/InputFieldByType.svelte.d.ts +4 -0
  68. package/keycloakify-svelte/login/components/InputFieldByTypeProps.d.ts +16 -0
  69. package/keycloakify-svelte/login/components/InputFieldByTypeProps.js +1 -0
  70. package/keycloakify-svelte/login/components/InputTag.svelte +107 -0
  71. package/keycloakify-svelte/login/components/InputTag.svelte.d.ts +7 -0
  72. package/keycloakify-svelte/login/components/InputTagSelects.svelte +111 -0
  73. package/keycloakify-svelte/login/components/InputTagSelects.svelte.d.ts +4 -0
  74. package/keycloakify-svelte/login/components/LogoutOtherSessions.svelte +29 -0
  75. package/keycloakify-svelte/login/components/LogoutOtherSessions.svelte.d.ts +10 -0
  76. package/keycloakify-svelte/login/components/PasswordWrapper.svelte +43 -0
  77. package/keycloakify-svelte/login/components/PasswordWrapper.svelte.d.ts +13 -0
  78. package/keycloakify-svelte/login/components/SelectTag.svelte +72 -0
  79. package/keycloakify-svelte/login/components/SelectTag.svelte.d.ts +4 -0
  80. package/keycloakify-svelte/login/components/TermsAcceptance.svelte +56 -0
  81. package/keycloakify-svelte/login/components/TermsAcceptance.svelte.d.ts +13 -0
  82. package/keycloakify-svelte/login/components/TextareaTag.svelte +40 -0
  83. package/keycloakify-svelte/login/components/TextareaTag.svelte.d.ts +4 -0
  84. package/keycloakify-svelte/login/components/UserProfileFormFields.svelte +123 -0
  85. package/keycloakify-svelte/login/components/UserProfileFormFields.svelte.d.ts +6 -0
  86. package/keycloakify-svelte/login/components/UserProfileFormFieldsProps.d.ts +27 -0
  87. package/keycloakify-svelte/login/components/UserProfileFormFieldsProps.js +2 -0
  88. package/keycloakify-svelte/login/components/inputLabel.d.ts +3 -0
  89. package/keycloakify-svelte/login/components/inputLabel.js +12 -0
  90. package/keycloakify-svelte/login/i18n/i18n.d.ts +15 -0
  91. package/keycloakify-svelte/login/i18n/i18n.js +1 -0
  92. package/keycloakify-svelte/login/i18n/i18nBuilder.d.ts +18 -0
  93. package/keycloakify-svelte/login/i18n/i18nBuilder.js +26 -0
  94. package/keycloakify-svelte/login/i18n/index.d.ts +1 -0
  95. package/keycloakify-svelte/login/i18n/index.js +1 -0
  96. package/keycloakify-svelte/login/i18n/useI18n.d.ts +28 -0
  97. package/keycloakify-svelte/login/i18n/useI18n.js +65 -0
  98. package/keycloakify-svelte/login/index.d.ts +2 -0
  99. package/keycloakify-svelte/login/index.js +1 -0
  100. package/keycloakify-svelte/login/lib/useUserProfileForm.d.ts +66 -0
  101. package/keycloakify-svelte/login/lib/useUserProfileForm.js +63 -0
  102. package/keycloakify-svelte/login/pages/Code.svelte +46 -0
  103. package/keycloakify-svelte/login/pages/Code.svelte.d.ts +6 -0
  104. package/keycloakify-svelte/login/pages/DeleteAccountConfirm.svelte +77 -0
  105. package/keycloakify-svelte/login/pages/DeleteAccountConfirm.svelte.d.ts +6 -0
  106. package/keycloakify-svelte/login/pages/DeleteCredential.svelte +58 -0
  107. package/keycloakify-svelte/login/pages/DeleteCredential.svelte.d.ts +6 -0
  108. package/keycloakify-svelte/login/pages/Error.svelte +43 -0
  109. package/keycloakify-svelte/login/pages/Error.svelte.d.ts +6 -0
  110. package/keycloakify-svelte/login/pages/FrontchannelLogout.svelte +57 -0
  111. package/keycloakify-svelte/login/pages/FrontchannelLogout.svelte.d.ts +6 -0
  112. package/keycloakify-svelte/login/pages/IdpReviewUserProfile.svelte +80 -0
  113. package/keycloakify-svelte/login/pages/IdpReviewUserProfile.svelte.d.ts +11 -0
  114. package/keycloakify-svelte/login/pages/Info.svelte +66 -0
  115. package/keycloakify-svelte/login/pages/Info.svelte.d.ts +6 -0
  116. package/keycloakify-svelte/login/pages/Login.svelte +225 -0
  117. package/keycloakify-svelte/login/pages/Login.svelte.d.ts +6 -0
  118. package/keycloakify-svelte/login/pages/LoginConfigTotp.svelte +217 -0
  119. package/keycloakify-svelte/login/pages/LoginConfigTotp.svelte.d.ts +6 -0
  120. package/keycloakify-svelte/login/pages/LoginIdpLinkConfirm.svelte +60 -0
  121. package/keycloakify-svelte/login/pages/LoginIdpLinkConfirm.svelte.d.ts +6 -0
  122. package/keycloakify-svelte/login/pages/LoginIdpLinkConfirmOverride.svelte +59 -0
  123. package/keycloakify-svelte/login/pages/LoginIdpLinkConfirmOverride.svelte.d.ts +6 -0
  124. package/keycloakify-svelte/login/pages/LoginIdpLinkEmail.svelte +50 -0
  125. package/keycloakify-svelte/login/pages/LoginIdpLinkEmail.svelte.d.ts +6 -0
  126. package/keycloakify-svelte/login/pages/LoginOauth2DeviceVerifyUserCode.svelte +85 -0
  127. package/keycloakify-svelte/login/pages/LoginOauth2DeviceVerifyUserCode.svelte.d.ts +6 -0
  128. package/keycloakify-svelte/login/pages/LoginOauthGrant.svelte +126 -0
  129. package/keycloakify-svelte/login/pages/LoginOauthGrant.svelte.d.ts +6 -0
  130. package/keycloakify-svelte/login/pages/LoginOtp.svelte +128 -0
  131. package/keycloakify-svelte/login/pages/LoginOtp.svelte.d.ts +6 -0
  132. package/keycloakify-svelte/login/pages/LoginPageExpired.svelte +50 -0
  133. package/keycloakify-svelte/login/pages/LoginPageExpired.svelte.d.ts +6 -0
  134. package/keycloakify-svelte/login/pages/LoginPasskeysConditionalAuthenticate.svelte +240 -0
  135. package/keycloakify-svelte/login/pages/LoginPasskeysConditionalAuthenticate.svelte.d.ts +6 -0
  136. package/keycloakify-svelte/login/pages/LoginPasskeysConditionalAuthenticate.useScript.d.ts +21 -0
  137. package/keycloakify-svelte/login/pages/LoginPasskeysConditionalAuthenticate.useScript.js +57 -0
  138. package/keycloakify-svelte/login/pages/LoginPassword.svelte +120 -0
  139. package/keycloakify-svelte/login/pages/LoginPassword.svelte.d.ts +6 -0
  140. package/keycloakify-svelte/login/pages/LoginRecoveryAuthnCodeConfig.svelte +179 -0
  141. package/keycloakify-svelte/login/pages/LoginRecoveryAuthnCodeConfig.svelte.d.ts +6 -0
  142. package/keycloakify-svelte/login/pages/LoginRecoveryAuthnCodeConfig.useScript.d.ts +10 -0
  143. package/keycloakify-svelte/login/pages/LoginRecoveryAuthnCodeConfig.useScript.js +141 -0
  144. package/keycloakify-svelte/login/pages/LoginRecoveryAuthnCodeInput.svelte +94 -0
  145. package/keycloakify-svelte/login/pages/LoginRecoveryAuthnCodeInput.svelte.d.ts +6 -0
  146. package/keycloakify-svelte/login/pages/LoginResetOtp.svelte +86 -0
  147. package/keycloakify-svelte/login/pages/LoginResetOtp.svelte.d.ts +6 -0
  148. package/keycloakify-svelte/login/pages/LoginResetPassword.svelte +109 -0
  149. package/keycloakify-svelte/login/pages/LoginResetPassword.svelte.d.ts +6 -0
  150. package/keycloakify-svelte/login/pages/LoginUpdatePassword.svelte +149 -0
  151. package/keycloakify-svelte/login/pages/LoginUpdatePassword.svelte.d.ts +6 -0
  152. package/keycloakify-svelte/login/pages/LoginUpdateProfile.svelte +98 -0
  153. package/keycloakify-svelte/login/pages/LoginUpdateProfile.svelte.d.ts +11 -0
  154. package/keycloakify-svelte/login/pages/LoginUsername.svelte +182 -0
  155. package/keycloakify-svelte/login/pages/LoginUsername.svelte.d.ts +6 -0
  156. package/keycloakify-svelte/login/pages/LoginVerifyEmail.svelte +39 -0
  157. package/keycloakify-svelte/login/pages/LoginVerifyEmail.svelte.d.ts +6 -0
  158. package/keycloakify-svelte/login/pages/LoginX509Info.svelte +123 -0
  159. package/keycloakify-svelte/login/pages/LoginX509Info.svelte.d.ts +6 -0
  160. package/keycloakify-svelte/login/pages/LogoutConfirm.svelte +77 -0
  161. package/keycloakify-svelte/login/pages/LogoutConfirm.svelte.d.ts +6 -0
  162. package/keycloakify-svelte/login/pages/PageProps.d.ts +10 -0
  163. package/keycloakify-svelte/login/pages/PageProps.js +1 -0
  164. package/keycloakify-svelte/login/pages/Register.svelte +136 -0
  165. package/keycloakify-svelte/login/pages/Register.svelte.d.ts +11 -0
  166. package/keycloakify-svelte/login/pages/SamlPostForm.svelte +80 -0
  167. package/keycloakify-svelte/login/pages/SamlPostForm.svelte.d.ts +6 -0
  168. package/keycloakify-svelte/login/pages/SelectAuthenticator.svelte +63 -0
  169. package/keycloakify-svelte/login/pages/SelectAuthenticator.svelte.d.ts +6 -0
  170. package/keycloakify-svelte/login/pages/Terms.svelte +57 -0
  171. package/keycloakify-svelte/login/pages/Terms.svelte.d.ts +6 -0
  172. package/keycloakify-svelte/login/pages/UpdateEmail.svelte +104 -0
  173. package/keycloakify-svelte/login/pages/UpdateEmail.svelte.d.ts +11 -0
  174. package/keycloakify-svelte/login/pages/WebauthnAuthenticate.svelte +182 -0
  175. package/keycloakify-svelte/login/pages/WebauthnAuthenticate.svelte.d.ts +6 -0
  176. package/keycloakify-svelte/login/pages/WebauthnAuthenticate.useScript.d.ts +22 -0
  177. package/keycloakify-svelte/login/pages/WebauthnAuthenticate.useScript.js +49 -0
  178. package/keycloakify-svelte/login/pages/WebauthnError.svelte +86 -0
  179. package/keycloakify-svelte/login/pages/WebauthnError.svelte.d.ts +6 -0
  180. package/keycloakify-svelte/login/pages/WebauthnRegister.svelte +109 -0
  181. package/keycloakify-svelte/login/pages/WebauthnRegister.svelte.d.ts +6 -0
  182. package/keycloakify-svelte/login/pages/WebauthnRegister.useScript.d.ts +28 -0
  183. package/keycloakify-svelte/login/pages/WebauthnRegister.useScript.js +57 -0
  184. package/keycloakify-svelte/tools/useConst.d.ts +1 -0
  185. package/keycloakify-svelte/tools/useConst.js +4 -0
  186. package/keycloakify-svelte/tools/useInsertLinkTags.d.ts +12 -0
  187. package/keycloakify-svelte/tools/useInsertLinkTags.js +62 -0
  188. package/keycloakify-svelte/tools/useInsertScriptTags.d.ts +29 -0
  189. package/keycloakify-svelte/tools/useInsertScriptTags.js +77 -0
  190. package/keycloakify-svelte/tools/useReducer.d.ts +2 -0
  191. package/keycloakify-svelte/tools/useReducer.js +7 -0
  192. package/keycloakify-svelte/tools/useSetClassName.d.ts +4 -0
  193. package/keycloakify-svelte/tools/useSetClassName.js +15 -0
  194. package/keycloakify-svelte/tools/useState.d.ts +2 -0
  195. package/keycloakify-svelte/tools/useState.js +7 -0
  196. package/package.json +6 -3
@@ -0,0 +1,77 @@
1
+ /* eslint-disable @typescript-eslint/no-namespace */
2
+ import { onMount } from 'svelte';
3
+ import { assert } from 'tsafe/assert';
4
+ const alreadyMountedComponentOrHookNames = new Set();
5
+ /**
6
+ * NOTE: The component that use this hook can only be mounded once!
7
+ * And can't rerender with different scriptTags.
8
+ * If it's mounted again the page will be reloaded.
9
+ * This simulates the behavior of a server rendered page that imports javascript in the head.
10
+ *
11
+ * The returned function is supposed to be called in a useEffect and
12
+ * will not download the scripts multiple times event if called more than once (react strict mode).
13
+ *
14
+ */
15
+ export function useInsertScriptTags(params) {
16
+ const { scriptTags, componentOrHookName } = params;
17
+ onMount(() => {
18
+ const isAlreadyMounted = alreadyMountedComponentOrHookNames.has(componentOrHookName);
19
+ if (isAlreadyMounted) {
20
+ reload: {
21
+ if (new URL(window.location.href).searchParams.get('viewMode') === 'docs') {
22
+ // NOTE: Special case for Storybook, we want to avoid infinite reload loop.
23
+ break reload;
24
+ }
25
+ window.location.reload();
26
+ }
27
+ return;
28
+ }
29
+ alreadyMountedComponentOrHookNames.add(componentOrHookName);
30
+ });
31
+ let areScriptsInserted = false;
32
+ const insertScriptTags = () => {
33
+ if (areScriptsInserted) {
34
+ return;
35
+ }
36
+ scriptTags.forEach((scriptTag) => {
37
+ // NOTE: Avoid loading same script twice. (Like jQuery for example)
38
+ {
39
+ const scripts = document.getElementsByTagName('script');
40
+ for (let i = 0; i < scripts.length; i++) {
41
+ const script = scripts[i];
42
+ if ('textContent' in scriptTag) {
43
+ const textContent = typeof scriptTag.textContent === 'function' ? scriptTag.textContent() : scriptTag.textContent;
44
+ if (script.textContent === textContent) {
45
+ return;
46
+ }
47
+ continue;
48
+ }
49
+ if ('src' in scriptTag) {
50
+ if (script.getAttribute('src') === scriptTag.src) {
51
+ return;
52
+ }
53
+ continue;
54
+ }
55
+ assert(false);
56
+ }
57
+ }
58
+ const htmlElement = document.createElement('script');
59
+ htmlElement.type = scriptTag.type;
60
+ (() => {
61
+ if ('textContent' in scriptTag) {
62
+ const textContent = typeof scriptTag.textContent === 'function' ? scriptTag.textContent() : scriptTag.textContent;
63
+ htmlElement.textContent = textContent;
64
+ return;
65
+ }
66
+ if ('src' in scriptTag) {
67
+ htmlElement.src = scriptTag.src;
68
+ return;
69
+ }
70
+ assert(false);
71
+ })();
72
+ document.head.appendChild(htmlElement);
73
+ });
74
+ areScriptsInserted = true;
75
+ };
76
+ return { insertScriptTags };
77
+ }
@@ -0,0 +1,2 @@
1
+ import { type Readable } from 'svelte/store';
2
+ export declare const useReducer: <T, R = void>(reducer: (state: T, action: R) => T, initialState: T) => [Readable<T>, (action: R) => void];
@@ -0,0 +1,7 @@
1
+ import { derived, writable } from 'svelte/store';
2
+ export const useReducer = (reducer, initialState) => {
3
+ const state = writable(initialState);
4
+ const dispatch = (action) => state.update((currentState) => reducer(currentState, action));
5
+ const readableState = derived(state, ($state) => $state);
6
+ return [readableState, dispatch];
7
+ };
@@ -0,0 +1,4 @@
1
+ export declare function useSetClassName(params: {
2
+ qualifiedName: 'html' | 'body';
3
+ className: string | undefined;
4
+ }): void;
@@ -0,0 +1,15 @@
1
+ import { onMount } from 'svelte';
2
+ export function useSetClassName(params) {
3
+ const { qualifiedName, className } = params;
4
+ onMount(() => {
5
+ if (className && className !== '') {
6
+ const htmlClassList = document.getElementsByTagName(qualifiedName)[0].classList;
7
+ const tokens = className.split(' ');
8
+ htmlClassList.add(...tokens);
9
+ // Clean up when the component is destroyed
10
+ return () => {
11
+ htmlClassList.remove(...tokens);
12
+ };
13
+ }
14
+ });
15
+ }
@@ -0,0 +1,2 @@
1
+ import { type Readable } from 'svelte/store';
2
+ export declare const useState: <T>(initialState: T) => [Readable<T>, (newState: T) => void];
@@ -0,0 +1,7 @@
1
+ import { derived, writable } from 'svelte/store';
2
+ export const useState = (initialState) => {
3
+ const state = writable(initialState);
4
+ const dispatch = (newState) => state.set(newState);
5
+ const readableState = derived(state, ($state) => $state);
6
+ return [readableState, dispatch];
7
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@keycloakify/svelte",
3
- "version": "0.0.1-rc.6",
3
+ "version": "0.1.0",
4
4
  "description": "Svelte Components for Keycloakify",
5
5
  "keywords": [
6
6
  "keycloak",
@@ -432,7 +432,7 @@
432
432
  "lint": "yarn format && eslint . --fix"
433
433
  },
434
434
  "peerDependencies": {
435
- "keycloakify": "^11.3.19",
435
+ "keycloakify": "^11.7.0",
436
436
  "svelte": "^5.0.0"
437
437
  },
438
438
  "devDependencies": {
@@ -450,7 +450,7 @@
450
450
  "eslint-plugin-svelte": "^2.46.0",
451
451
  "eslint-plugin-unused-imports": "^4.1.4",
452
452
  "globals": "^15.12.0",
453
- "keycloakify": "^11.3.32",
453
+ "keycloakify": "^11.7.0",
454
454
  "npm-check-updates": "^17.1.11",
455
455
  "prettier": "^3.3.3",
456
456
  "prettier-plugin-svelte": "^3.3.2",
@@ -462,5 +462,8 @@
462
462
  "typescript-eslint": "^8.15.0",
463
463
  "vite": "^5.4.11",
464
464
  "zod": "^3.23.8"
465
+ },
466
+ "bin": {
467
+ "_keycloakify-custom-handler": "keycloakify-svelte/bin/index.js"
465
468
  }
466
469
  }