@unidy.io/sdk 1.0.0 → 1.0.1

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 (132) hide show
  1. package/dist/cjs/app-globals-CBeI09cT.js.map +1 -1
  2. package/dist/cjs/u-email-field.cjs.entry.js +1 -1
  3. package/dist/cjs/u-email-field.entry.cjs.js.map +1 -1
  4. package/dist/cjs/u-field.u-raw-field.entry.cjs.js.map +1 -1
  5. package/dist/cjs/u-field_2.cjs.entry.js +1 -1
  6. package/dist/cjs/u-flash-message.cjs.entry.js +4 -4
  7. package/dist/cjs/u-flash-message.entry.cjs.js.map +1 -1
  8. package/dist/cjs/u-full-profile.cjs.entry.js +2 -2
  9. package/dist/cjs/u-full-profile.entry.cjs.js.map +1 -1
  10. package/dist/cjs/u-magic-code-field.cjs.entry.js +3 -3
  11. package/dist/cjs/u-magic-code-field.entry.cjs.js.map +1 -1
  12. package/dist/cjs/u-newsletter-resend-doi-button.cjs.entry.js +1 -1
  13. package/dist/cjs/u-newsletter-resend-doi-button.entry.cjs.js.map +1 -1
  14. package/dist/cjs/u-newsletter-toggle-subscription-button.cjs.entry.js +1 -1
  15. package/dist/cjs/u-newsletter-toggle-subscription-button.entry.cjs.js.map +1 -1
  16. package/dist/cjs/u-profile.u-submit-button.entry.cjs.js.map +1 -1
  17. package/dist/cjs/u-profile_2.cjs.entry.js +2 -2
  18. package/dist/cjs/u-signed-in.cjs.entry.js +1 -1
  19. package/dist/cjs/u-social-login-button.cjs.entry.js +11 -11
  20. package/dist/cjs/u-social-login-button.entry.cjs.js.map +1 -1
  21. package/dist/cjs/u-spinner.cjs.entry.js +2 -2
  22. package/dist/cjs/u-spinner.entry.cjs.js.map +1 -1
  23. package/dist/collection/auth/components/magic-code-field/magic-code-field.css +1 -1
  24. package/dist/collection/auth/components/magic-code-field/magic-code-field.js +2 -2
  25. package/dist/collection/auth/components/magic-code-field/magic-code-field.js.map +1 -1
  26. package/dist/collection/auth/components/password-field/password-field.js +1 -1
  27. package/dist/collection/auth/components/social-logins/social-login-button.css +1 -1
  28. package/dist/collection/auth/components/social-logins/social-login-button.js +10 -10
  29. package/dist/collection/auth/components/social-logins/social-login-button.js.map +1 -1
  30. package/dist/collection/newsletter/components/resend-doi-button/resend-doi-button.js +1 -1
  31. package/dist/collection/newsletter/components/resend-doi-button/resend-doi-button.js.map +1 -1
  32. package/dist/collection/newsletter/components/toggle-subscription-button/toggle-subscription-button.js +1 -1
  33. package/dist/collection/newsletter/components/toggle-subscription-button/toggle-subscription-button.js.map +1 -1
  34. package/dist/collection/profile/components/field/field.css +1 -1
  35. package/dist/collection/profile/components/full-profile/full-profile.css +1 -1
  36. package/dist/collection/profile/components/full-profile/full-profile.js +1 -1
  37. package/dist/collection/profile/components/full-profile/full-profile.js.map +1 -1
  38. package/dist/collection/shared/components/config/config.js +2 -2
  39. package/dist/collection/shared/components/email-field/email-field.js +1 -1
  40. package/dist/collection/shared/components/email-field/email-field.js.map +1 -1
  41. package/dist/collection/shared/components/flash-message/flash-message.js +4 -4
  42. package/dist/collection/shared/components/flash-message/flash-message.js.map +1 -1
  43. package/dist/collection/shared/components/spinner/spinner.css +1 -1
  44. package/dist/collection/shared/components/spinner/spinner.js +1 -1
  45. package/dist/collection/shared/components/spinner/spinner.js.map +1 -1
  46. package/dist/collection/shared/components/submit-button/submit-button.js +2 -2
  47. package/dist/collection/shared/components/submit-button/submit-button.js.map +1 -1
  48. package/dist/components/field.js +1 -1
  49. package/dist/components/field.js.map +1 -1
  50. package/dist/components/index.js.map +1 -1
  51. package/dist/components/spinner.js +2 -2
  52. package/dist/components/spinner.js.map +1 -1
  53. package/dist/components/submit-button.js +2 -2
  54. package/dist/components/submit-button.js.map +1 -1
  55. package/dist/components/u-email-field.js +1 -1
  56. package/dist/components/u-email-field.js.map +1 -1
  57. package/dist/components/u-flash-message.js +4 -4
  58. package/dist/components/u-flash-message.js.map +1 -1
  59. package/dist/components/u-full-profile.js +2 -2
  60. package/dist/components/u-full-profile.js.map +1 -1
  61. package/dist/components/u-magic-code-field.js +3 -3
  62. package/dist/components/u-magic-code-field.js.map +1 -1
  63. package/dist/components/u-newsletter-resend-doi-button.js +1 -1
  64. package/dist/components/u-newsletter-resend-doi-button.js.map +1 -1
  65. package/dist/components/u-newsletter-toggle-subscription-button.js +1 -1
  66. package/dist/components/u-newsletter-toggle-subscription-button.js.map +1 -1
  67. package/dist/components/u-social-login-button.js +11 -11
  68. package/dist/components/u-social-login-button.js.map +1 -1
  69. package/dist/esm/app-globals-DAqFb8zM.js.map +1 -1
  70. package/dist/esm/u-email-field.entry.js +1 -1
  71. package/dist/esm/u-email-field.entry.js.map +1 -1
  72. package/dist/esm/u-field.u-raw-field.entry.js.map +1 -1
  73. package/dist/esm/u-field_2.entry.js +1 -1
  74. package/dist/esm/u-flash-message.entry.js +4 -4
  75. package/dist/esm/u-flash-message.entry.js.map +1 -1
  76. package/dist/esm/u-full-profile.entry.js +2 -2
  77. package/dist/esm/u-full-profile.entry.js.map +1 -1
  78. package/dist/esm/u-magic-code-field.entry.js +3 -3
  79. package/dist/esm/u-magic-code-field.entry.js.map +1 -1
  80. package/dist/esm/u-newsletter-resend-doi-button.entry.js +1 -1
  81. package/dist/esm/u-newsletter-resend-doi-button.entry.js.map +1 -1
  82. package/dist/esm/u-newsletter-toggle-subscription-button.entry.js +1 -1
  83. package/dist/esm/u-newsletter-toggle-subscription-button.entry.js.map +1 -1
  84. package/dist/esm/u-profile.u-submit-button.entry.js.map +1 -1
  85. package/dist/esm/u-profile_2.entry.js +2 -2
  86. package/dist/esm/u-signed-in.entry.js +1 -1
  87. package/dist/esm/u-social-login-button.entry.js +11 -11
  88. package/dist/esm/u-social-login-button.entry.js.map +1 -1
  89. package/dist/esm/u-spinner.entry.js +2 -2
  90. package/dist/esm/u-spinner.entry.js.map +1 -1
  91. package/dist/sdk/p-2ed0b79c.entry.js +2 -0
  92. package/dist/sdk/{p-adff35b8.entry.js.map → p-2ed0b79c.entry.js.map} +1 -1
  93. package/dist/sdk/{p-85e072ef.entry.js → p-3ec7dfe3.entry.js} +2 -2
  94. package/dist/sdk/{p-85e072ef.entry.js.map → p-3ec7dfe3.entry.js.map} +1 -1
  95. package/dist/sdk/p-4dbb57c3.entry.js +2 -0
  96. package/dist/sdk/{p-b39d7b93.entry.js.map → p-4dbb57c3.entry.js.map} +1 -1
  97. package/dist/sdk/p-65ab8315.entry.js +2 -0
  98. package/dist/sdk/{p-339cb94f.entry.js.map → p-65ab8315.entry.js.map} +1 -1
  99. package/dist/sdk/p-73dc1a32.entry.js +2 -0
  100. package/dist/sdk/{p-35cc6db7.entry.js.map → p-73dc1a32.entry.js.map} +1 -1
  101. package/dist/sdk/{p-b3a64589.entry.js → p-88d2b9d6.entry.js} +2 -2
  102. package/dist/sdk/{p-b3a64589.entry.js.map → p-88d2b9d6.entry.js.map} +1 -1
  103. package/dist/sdk/p-8a472938.entry.js +2 -0
  104. package/dist/sdk/{p-4b63a37a.entry.js.map → p-8a472938.entry.js.map} +1 -1
  105. package/dist/sdk/{p-aab36768.entry.js → p-9a5530ad.entry.js} +2 -2
  106. package/dist/sdk/{p-aab36768.entry.js.map → p-9a5530ad.entry.js.map} +1 -1
  107. package/dist/sdk/p-KnO0pPVa.js.map +1 -1
  108. package/dist/sdk/p-b0307804.entry.js +2 -0
  109. package/dist/sdk/{p-87a0b0f0.entry.js.map → p-b0307804.entry.js.map} +1 -1
  110. package/dist/sdk/{p-ec255573.entry.js → p-b733cd98.entry.js} +2 -2
  111. package/dist/sdk/{p-ec255573.entry.js.map → p-b733cd98.entry.js.map} +1 -1
  112. package/dist/sdk/p-cabead0d.entry.js +2 -0
  113. package/dist/sdk/{p-71d3863b.entry.js.map → p-cabead0d.entry.js.map} +1 -1
  114. package/dist/sdk/sdk.esm.js +1 -1
  115. package/dist/sdk/u-email-field.entry.esm.js.map +1 -1
  116. package/dist/sdk/u-field.u-raw-field.entry.esm.js.map +1 -1
  117. package/dist/sdk/u-flash-message.entry.esm.js.map +1 -1
  118. package/dist/sdk/u-full-profile.entry.esm.js.map +1 -1
  119. package/dist/sdk/u-magic-code-field.entry.esm.js.map +1 -1
  120. package/dist/sdk/u-newsletter-resend-doi-button.entry.esm.js.map +1 -1
  121. package/dist/sdk/u-newsletter-toggle-subscription-button.entry.esm.js.map +1 -1
  122. package/dist/sdk/u-profile.u-submit-button.entry.esm.js.map +1 -1
  123. package/dist/sdk/u-social-login-button.entry.esm.js.map +1 -1
  124. package/dist/sdk/u-spinner.entry.esm.js.map +1 -1
  125. package/package.json +5 -2
  126. package/dist/sdk/p-339cb94f.entry.js +0 -2
  127. package/dist/sdk/p-35cc6db7.entry.js +0 -2
  128. package/dist/sdk/p-4b63a37a.entry.js +0 -2
  129. package/dist/sdk/p-71d3863b.entry.js +0 -2
  130. package/dist/sdk/p-87a0b0f0.entry.js +0 -2
  131. package/dist/sdk/p-adff35b8.entry.js +0 -2
  132. package/dist/sdk/p-b39d7b93.entry.js +0 -2
@@ -1 +1 @@
1
- {"version":3,"file":"magic-code-field.js","sourceRoot":"","sources":["../../../../src/auth/components/magic-code-field/magic-code-field.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAOlC,MAAM,OAAO,cAAc;IACU,kBAAkB,GAAG,EAAE,CAAC;IAElD,UAAU,GAAa,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAEzC,SAAS,GAAuB,EAAE,CAAC;IAEnC,WAAW,GAAG,CAAC,KAAY,EAAE,KAAa,EAAE,EAAE;QACpD,MAAM,MAAM,GAAG,KAAK,CAAC,MAA0B,CAAC;QAChD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QAClD,MAAM,cAAc,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACvC,MAAM,CAAC,KAAK,GAAG,cAAc,CAAC;QAE9B,MAAM,SAAS,GAAG,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC;QACvC,SAAS,CAAC,KAAK,CAAC,GAAG,cAAc,CAAC;QAClC,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAE5B,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEpC,IAAI,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACvB,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;YAC5C,IAAI,SAAS,EAAE,CAAC;gBACd,SAAS,CAAC,KAAK,EAAE,CAAC;YACpB,CAAC;QACH,CAAC;QAED,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;QACtC,CAAC;IACH,CAAC,CAAC;IAEM,aAAa,GAAG,CAAC,KAAoB,EAAE,KAAa,EAAE,EAAE;QAC9D,IAAI,KAAK,CAAC,GAAG,KAAK,WAAW,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACtE,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;YAC5C,IAAI,SAAS,EAAE,CAAC;gBACd,SAAS,CAAC,KAAK,EAAE,CAAC;YACpB,CAAC;QACH,CAAC;IACH,CAAC,CAAC;IAEM,WAAW,GAAG,CAAC,KAAqB,EAAE,EAAE;QAC9C,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,MAAM,UAAU,GAAG,KAAK,CAAC,aAAa,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QAC9D,MAAM,MAAM,GAAG,UAAU;aACtB,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC;aACtB,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;aACX,KAAK,CAAC,EAAE,CAAC,CAAC;QAEb,OAAO,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAClB,CAAC;QAED,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC;QAEzB,MAAM,eAAe,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;QAC5D,MAAM,WAAW,GAAG,eAAe,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;QACjE,IAAI,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC;YAChC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,KAAK,EAAE,CAAC;QACtC,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;QACtC,CAAC;IACH,CAAC,CAAC;IAEM,oBAAoB,GAAG,KAAK,EAAE,IAAY,EAAE,EAAE;QACpD,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QAE9C,MAAM,YAAY,CAAC,OAAO,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC;IAC7D,CAAC,CAAC;IACF,MAAM;QACJ,IAAI,SAAS,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YACpC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,CACL,WAAK,KAAK,EAAE,sCAAsC,IAAI,CAAC,kBAAkB,EAAE,IACxE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,CACrC;YACE,gDAAgD;YAChD,GAAG,EAAE,KAAK,EACV,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE;gBACV,IAAI,EAAE;oBAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;YACrC,CAAC,EACD,EAAE,EAAE,eAAe,KAAK,GAAG,CAAC,EAAE,EAC9B,IAAI,EAAC,MAAM,EACX,SAAS,EAAC,SAAS,EACnB,SAAS,EAAC,GAAG,EACb,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,SAAS,CAAC,OAAO,EAC3B,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,EAClD,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,EACtD,OAAO,EAAE,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,gBACvC,SAAS,KAAK,GAAG,CAAC,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,EAC7D,KAAK,EAAC,wHAAwH,EAC9H,IAAI,EAAC,aAAa,GAClB,CACH,CAAC,CACE,CACP,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, h, Prop, State } from \"@stencil/core\";\nimport { authState } from \"../../store/auth-store\";\nimport { Auth } from \"../../auth\";\n\n@Component({\n tag: \"u-magic-code-field\",\n styleUrl: \"magic-code-field.css\",\n shadow: false,\n})\nexport class MagicCodeField {\n @Prop({ attribute: \"class-name\" }) componentClassName = \"\";\n\n @State() codeDigits: string[] = [\"\", \"\", \"\", \"\"];\n\n private inputRefs: HTMLInputElement[] = [];\n\n private handleInput = (event: Event, index: number) => {\n const target = event.target as HTMLInputElement;\n const value = target.value.replace(/[^0-9]/g, \"\");\n const sanitizedDigit = value.slice(-1);\n target.value = sanitizedDigit;\n\n const newDigits = [...this.codeDigits];\n newDigits[index] = sanitizedDigit;\n this.codeDigits = newDigits;\n\n const fullCode = newDigits.join(\"\");\n\n if (value && index < 3) {\n const nextInput = this.inputRefs[index + 1];\n if (nextInput) {\n nextInput.focus();\n }\n }\n\n if (fullCode.length === 4) {\n this.authenticateWithCode(fullCode);\n }\n };\n\n private handleKeyDown = (event: KeyboardEvent, index: number) => {\n if (event.key === \"Backspace\" && !this.codeDigits[index] && index > 0) {\n const prevInput = this.inputRefs[index - 1];\n if (prevInput) {\n prevInput.focus();\n }\n }\n };\n\n private handlePaste = (event: ClipboardEvent) => {\n event.preventDefault();\n const pastedData = event.clipboardData?.getData(\"text\") || \"\";\n const digits = pastedData\n .replace(/[^0-9]/g, \"\")\n .slice(0, 4)\n .split(\"\");\n\n while (digits.length < 4) {\n digits.push(\"\");\n }\n\n this.codeDigits = digits;\n\n const firstEmptyIndex = digits.findIndex((digit) => !digit);\n const targetIndex = firstEmptyIndex !== -1 ? firstEmptyIndex : 3;\n if (this.inputRefs[targetIndex]) {\n this.inputRefs[targetIndex].focus();\n }\n\n const fullCode = digits.join(\"\");\n if (fullCode.length === 4) {\n this.authenticateWithCode(fullCode);\n }\n };\n\n private authenticateWithCode = async (code: string) => {\n const authInstance = await Auth.getInstance();\n\n await authInstance.helpers.authenticateWithMagicCode(code);\n };\n render() {\n if (authState.step !== \"magic-code\") {\n return null;\n }\n\n return (\n <div class={`flex gap-0.5 w-full justify-center ${this.componentClassName}`}>\n {this.codeDigits.map((digit, index) => (\n <input\n // biome-ignore lint/suspicious/noArrayIndexKey:\n key={index}\n ref={(el) => {\n if (el) this.inputRefs[index] = el;\n }}\n id={`digit-input-${index + 1}`}\n type=\"text\"\n inputmode=\"numeric\"\n maxlength=\"1\"\n value={digit}\n disabled={authState.loading}\n onInput={(event) => this.handleInput(event, index)}\n onKeyDown={(event) => this.handleKeyDown(event, index)}\n onPaste={index === 0 ? this.handlePaste : undefined}\n aria-label={`Digit ${index + 1} of ${this.codeDigits.length}`}\n class=\"w-[50px] h-[50px] text-center text-lg border-2 border-slate-200 rounded-lg outline-none transition-colors duration-200\"\n part=\"digit-input\"\n />\n ))}\n </div>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"magic-code-field.js","sourceRoot":"","sources":["../../../../src/auth/components/magic-code-field/magic-code-field.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, h, Prop, State } from \"@stencil/core\";\nimport { authState } from \"../../store/auth-store\";\nimport { Auth } from \"../../auth\";\n\n@Component({\n tag: \"u-magic-code-field\",\n styleUrl: \"magic-code-field.css\",\n shadow: false,\n})\nexport class MagicCodeField {\n @Prop({ attribute: \"class-name\" }) componentClassName = \"\";\n\n @State() codeDigits: string[] = [\"\", \"\", \"\", \"\"];\n\n private inputRefs: HTMLInputElement[] = [];\n\n private handleInput = (event: Event, index: number) => {\n const target = event.target as HTMLInputElement;\n const value = target.value.replace(/[^0-9]/g, \"\");\n const sanitizedDigit = value.slice(-1);\n target.value = sanitizedDigit;\n\n const newDigits = [...this.codeDigits];\n newDigits[index] = sanitizedDigit;\n this.codeDigits = newDigits;\n\n const fullCode = newDigits.join(\"\");\n\n if (value && index < 3) {\n const nextInput = this.inputRefs[index + 1];\n if (nextInput) {\n nextInput.focus();\n }\n }\n\n if (fullCode.length === 4) {\n this.authenticateWithCode(fullCode);\n }\n };\n\n private handleKeyDown = (event: KeyboardEvent, index: number) => {\n if (event.key === \"Backspace\" && !this.codeDigits[index] && index > 0) {\n const prevInput = this.inputRefs[index - 1];\n if (prevInput) {\n prevInput.focus();\n }\n }\n };\n\n private handlePaste = (event: ClipboardEvent) => {\n event.preventDefault();\n const pastedData = event.clipboardData?.getData(\"text\") || \"\";\n const digits = pastedData\n .replace(/[^0-9]/g, \"\")\n .slice(0, 4)\n .split(\"\");\n\n while (digits.length < 4) {\n digits.push(\"\");\n }\n\n this.codeDigits = digits;\n\n const firstEmptyIndex = digits.findIndex((digit) => !digit);\n const targetIndex = firstEmptyIndex !== -1 ? firstEmptyIndex : 3;\n if (this.inputRefs[targetIndex]) {\n this.inputRefs[targetIndex].focus();\n }\n\n const fullCode = digits.join(\"\");\n if (fullCode.length === 4) {\n this.authenticateWithCode(fullCode);\n }\n };\n\n private authenticateWithCode = async (code: string) => {\n const authInstance = await Auth.getInstance();\n\n await authInstance.helpers.authenticateWithMagicCode(code);\n };\n render() {\n if (authState.step !== \"magic-code\") {\n return null;\n }\n\n return (\n <div class={`u:flex u:gap-0.5 u:w-full u:justify-center ${this.componentClassName}`}>\n {this.codeDigits.map((digit, index) => (\n <input\n // biome-ignore lint/suspicious/noArrayIndexKey:\n key={index}\n ref={(el) => {\n if (el) this.inputRefs[index] = el;\n }}\n id={`digit-input-${index + 1}`}\n type=\"text\"\n inputmode=\"numeric\"\n maxlength=\"1\"\n value={digit}\n disabled={authState.loading}\n onInput={(event) => this.handleInput(event, index)}\n onKeyDown={(event) => this.handleKeyDown(event, index)}\n onPaste={index === 0 ? this.handlePaste : undefined}\n aria-label={`Digit ${index + 1} of ${this.codeDigits.length}`}\n class=\"u:w-[50px] u:h-[50px] u:text-center u:text-lg u:border-2 u:border-solid u:border-slate-200 u:rounded-lg u:outline-none u:transition-colors u:duration-200\"\n part=\"digit-input\"\n />\n ))}\n </div>\n );\n }\n}\n"]}
@@ -102,7 +102,7 @@ export class PasswordField {
102
102
  "references": {
103
103
  "PasswordFieldFor": {
104
104
  "location": "local",
105
- "path": "/Users/fran/work/unidy-sdk/packages/sdk/src/auth/components/password-field/password-field.tsx",
105
+ "path": "/home/runner/work/unidy-sdk/unidy-sdk/packages/sdk/src/auth/components/password-field/password-field.tsx",
106
106
  "id": "src/auth/components/password-field/password-field.tsx::PasswordFieldFor"
107
107
  }
108
108
  }
@@ -1 +1 @@
1
- /*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-border-style:solid;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000}}}@layer theme{:host,:root{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-gray-100:oklch(96.7% .003 264.542);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-600:oklch(44.6% .03 256.802);--color-white:#fff;--spacing:.25rem;--text-base:1rem;--text-base--line-height:1.5;--font-weight-medium:500;--radius-md:.375rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,::backdrop,:after,:before{border:0 solid;box-sizing:border-box;margin:0;padding:0}::file-selector-button{appearance:button;background-color:#0000;border:0 solid;border-radius:0;box-sizing:border-box;color:inherit;font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;margin:0;margin-inline-end:4px;opacity:1;padding:0}:host,html{-webkit-text-size-adjust:100%;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);line-height:1.5;tab-size:4;-webkit-tap-highlight-color:transparent}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-size:1em;font-variation-settings:var(--default-mono-font-variation-settings,normal)}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}button,input,optgroup,select,textarea{background-color:#0000;border-radius:0;color:inherit;font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;opacity:1}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex;padding-block:0}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field,::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.sr-only{border-width:0;clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.ml-4{margin-left:calc(var(--spacing)*4)}.block{display:block}.flex{display:flex}.hidden{display:none}.h-5{height:calc(var(--spacing)*5)}.h-6{height:calc(var(--spacing)*6)}.h-10{height:calc(var(--spacing)*10)}.w-5{width:calc(var(--spacing)*5)}.w-6{width:calc(var(--spacing)*6)}.w-full{width:100%}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.items-center{align-items:center}.justify-center{justify-content:center}.rounded-md{border-radius:var(--radius-md)}.border{border-style:var(--tw-border-style);border-width:1px}.border-solid{--tw-border-style:solid;border-style:solid}.border-gray-300{border-color:var(--color-gray-300)}.border-gray-600{border-color:var(--color-gray-600)}.bg-\[\#131314\]{background-color:#131314}.bg-white{background-color:var(--color-white)}.fill-current{fill:currentColor}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.text-\[\#1f1f1f\]{color:#1f1f1f}.text-white{color:var(--color-white)}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}} /*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer base{}@layer components; /*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer base{}@layer components; /*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer base{}@layer components; /*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer base{}@layer components; /*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer base{}@layer components; /*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer components;:host{display:block}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@media (hover:hover){.hover\:bg-\[\#1f1f20\]:hover{background-color:#1f1f20}.hover\:bg-gray-100:hover{background-color:var(--color-gray-100)}}
1
+ /*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-border-style:solid;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000}}}@layer theme{:host,:root{--u-color-gray-100:oklch(96.7% .003 264.542);--u-color-gray-300:oklch(87.2% .01 258.338);--u-color-gray-600:oklch(44.6% .03 256.802);--u-color-white:#fff;--u-spacing:.25rem;--u-text-base:1rem;--u-text-base--line-height:1.5;--u-font-weight-medium:500;--u-radius-md:.375rem;--u-font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--u-font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--u-default-font-family:var(--u-font-sans);--u-default-mono-font-family:var(--u-font-mono);--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,::backdrop,:after,:before{border:0 solid;box-sizing:border-box;margin:0;padding:0}::file-selector-button{appearance:button;background-color:#0000;border:0 solid;border-radius:0;box-sizing:border-box;color:inherit;font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;margin:0;margin-inline-end:4px;opacity:1;padding:0}:host,html{font-family:var(--u-default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--u-default-font-feature-settings,normal);font-variation-settings:var(--u-default-font-variation-settings,normal);-webkit-text-size-adjust:100%;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);line-height:1.5;tab-size:4;-webkit-tap-highlight-color:transparent}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--u-default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--u-default-mono-font-feature-settings,normal);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-size:1em;font-variation-settings:var(--u-default-mono-font-variation-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal)}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}button,input,optgroup,select,textarea{background-color:#0000;border-radius:0;color:inherit;font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;opacity:1}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex;padding-block:0}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field,::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.u\:sr-only{border-width:0;clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.u\:ml-4{margin-left:calc(var(--u-spacing)*4)}.u\:block{display:block}.u\:flex{display:flex}.u\:h-5{height:calc(var(--u-spacing)*5)}.u\:h-6{height:calc(var(--u-spacing)*6)}.u\:h-10{height:calc(var(--u-spacing)*10)}.u\:w-5{width:calc(var(--u-spacing)*5)}.u\:w-6{width:calc(var(--u-spacing)*6)}.u\:w-full{width:100%}.u\:cursor-not-allowed{cursor:not-allowed}.u\:cursor-pointer{cursor:pointer}.u\:items-center{align-items:center}.u\:justify-center{justify-content:center}.u\:rounded-md{border-radius:var(--u-radius-md)}.u\:border{border-style:var(--tw-border-style);border-width:1px}.u\:border-solid{--tw-border-style:solid;border-style:solid}.u\:border-gray-300{border-color:var(--u-color-gray-300)}.u\:border-gray-600{border-color:var(--u-color-gray-600)}.u\:bg-\[\#131314\]{background-color:#131314}.u\:bg-white{background-color:var(--u-color-white)}.u\:fill-current{fill:currentColor}.u\:text-base{font-size:var(--u-text-base);line-height:var(--tw-leading,var(--u-text-base--line-height))}.u\:font-medium{--tw-font-weight:var(--u-font-weight-medium);font-weight:var(--u-font-weight-medium)}.u\:text-\[\#1f1f1f\]{color:#1f1f1f}.u\:text-white{color:var(--u-color-white)}.block{display:block}.hidden{display:none}.fill-current{fill:currentColor}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false} /*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer base{}@layer components,utilities; /*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer base{}@layer components,utilities; /*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer base{}@layer components,utilities; /*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer base{}@layer components,utilities; /*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer base{}@layer components,utilities; /*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer components;@layer utilities{}:host{display:block}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@media (hover:hover){.u\:hover\:bg-\[\#1f1f20\]:hover{background-color:#1f1f20}.u\:hover\:bg-gray-100:hover{background-color:var(--u-color-gray-100)}}
@@ -9,13 +9,13 @@ import { AppleLogo } from "./logos/apple";
9
9
  import { FacebookLogo } from "./logos/facebook";
10
10
  import { DiscordLogo } from "./logos/discord";
11
11
  import { UnidyComponent } from "../../../logger";
12
- const SHARED_ICON_CLASSNAME = "w-5 h-5 block";
12
+ const SHARED_ICON_CLASSNAME = "u:w-5 u:h-5 u:block";
13
13
  const ICON_MAP = {
14
14
  google: h(GoogleLogo, { className: SHARED_ICON_CLASSNAME }),
15
15
  linkedin: h(LinkedInLogo, { className: SHARED_ICON_CLASSNAME }),
16
- apple: h(AppleLogo, { className: `${SHARED_ICON_CLASSNAME} fill-current` }),
17
- discord: h(DiscordLogo, { className: `${SHARED_ICON_CLASSNAME} fill-current` }),
18
- facebook: h(FacebookLogo, { className: "w-6 h-6 block" }),
16
+ apple: h(AppleLogo, { className: `${SHARED_ICON_CLASSNAME} u:fill-current` }),
17
+ discord: h(DiscordLogo, { className: `${SHARED_ICON_CLASSNAME} u:fill-current` }),
18
+ facebook: h(FacebookLogo, { className: "u:w-6 u:h-6 u:block" }),
19
19
  };
20
20
  export class SocialLoginButton extends UnidyComponent {
21
21
  constructor() {
@@ -62,11 +62,11 @@ export class SocialLoginButton extends UnidyComponent {
62
62
  return ICON_MAP[this.provider];
63
63
  }
64
64
  getButtonClasses() {
65
- const baseClasses = "w-full h-10 border border-solid rounded-md text-base font-medium";
66
- const cursorClass = this.isUnsupportedProvider ? "cursor-not-allowed" : "cursor-pointer";
65
+ const baseClasses = "u:w-full u:h-10 u:border u:border-solid u:rounded-md u:text-base u:font-medium";
66
+ const cursorClass = this.isUnsupportedProvider ? "u:cursor-not-allowed" : "u:cursor-pointer";
67
67
  const themeClasses = this.theme === "dark"
68
- ? "bg-[#131314] text-white border-gray-600 hover:bg-[#1f1f20]"
69
- : "bg-white text-[#1f1f1f] border-gray-300 hover:bg-gray-100";
68
+ ? "u:bg-[#131314] u:text-white u:border-gray-600 u:hover:bg-[#1f1f20]"
69
+ : "u:bg-white u:text-[#1f1f1f] u:border-gray-300 u:hover:bg-gray-100";
70
70
  return `${baseClasses} ${cursorClass} ${themeClasses}`;
71
71
  }
72
72
  render() {
@@ -79,9 +79,9 @@ export class SocialLoginButton extends UnidyComponent {
79
79
  provider: providerName,
80
80
  });
81
81
  // TODO: allow users to customize already used providers with custom text and icon
82
- return (h("button", { type: "button", class: this.getButtonClasses(), onClick: this.onClick, part: "social-login-button" }, h("div", { class: "flex items-center justify-center", part: "social-login-button-content" }, h("slot", { name: "icon" }, h("span", { "aria-hidden": "true" }, this.renderIcon())), this.iconOnly ? (
82
+ return (h("button", { type: "button", class: this.getButtonClasses(), onClick: this.onClick, part: "social-login-button" }, h("div", { class: "u:flex u:items-center u:justify-center", part: "social-login-button-content" }, h("slot", { name: "icon" }, h("span", { "aria-hidden": "true" }, this.renderIcon())), this.iconOnly ? (
83
83
  // Render the hidden text for accessibility.
84
- h("span", { class: "sr-only" }, text)) : (h("span", { class: !this.isUnsupportedProvider ? "ml-4" : "", part: "social-login-button-text" }, text)))));
84
+ h("span", { class: "u:sr-only" }, text)) : (h("span", { class: !this.isUnsupportedProvider ? "u:ml-4" : "", part: "social-login-button-text" }, text)))));
85
85
  }
86
86
  static get is() { return "u-social-login-button"; }
87
87
  static get encapsulation() { return "shadow"; }
@@ -1 +1 @@
1
- {"version":3,"file":"social-login-button.js","sourceRoot":"","sources":["../../../../src/auth/components/social-logins/social-login-button.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as Sentry from \"@sentry/browser\";\nimport { Component, h, Prop } from \"@stencil/core\";\nimport { t } from \"../../../i18n\";\nimport { unidyState } from \"../../../shared/store/unidy-store\";\nimport { authState } from \"../../store/auth-store\";\nimport { GoogleLogo } from \"./logos/google\";\nimport { LinkedInLogo } from \"./logos/linkedin\";\nimport { AppleLogo } from \"./logos/apple\";\nimport { FacebookLogo } from \"./logos/facebook\";\nimport { DiscordLogo } from \"./logos/discord\";\nimport { UnidyComponent } from \"../../../logger\";\n\nconst SHARED_ICON_CLASSNAME = \"w-5 h-5 block\";\n\nconst ICON_MAP = {\n google: <GoogleLogo className={SHARED_ICON_CLASSNAME} />,\n linkedin: <LinkedInLogo className={SHARED_ICON_CLASSNAME} />,\n apple: <AppleLogo className={`${SHARED_ICON_CLASSNAME} fill-current`} />,\n discord: <DiscordLogo className={`${SHARED_ICON_CLASSNAME} fill-current`} />,\n facebook: <FacebookLogo className=\"w-6 h-6 block\" />,\n} as const;\n\ntype SocialLoginProvider = keyof typeof ICON_MAP | \"unidy\";\n\n@Component({\n tag: \"u-social-login-button\",\n styleUrl: \"social-login-button.css\",\n shadow: true,\n})\nexport class SocialLoginButton extends UnidyComponent {\n @Prop() provider: SocialLoginProvider = \"google\";\n @Prop() redirectUri: string = window.location.href;\n @Prop() iconOnly = false;\n @Prop() theme: \"light\" | \"dark\" = \"light\";\n\n componentWillLoad() {\n if (this.isUnsupportedProvider) {\n Sentry.captureException(`[u-social-login-button] Unsupported provider \"${this.provider}\".`);\n return;\n }\n }\n\n private get isUnsupportedProvider(): boolean {\n return !Object.prototype.hasOwnProperty.call(ICON_MAP, this.provider) && this.provider !== \"unidy\";\n }\n\n private get isProviderEnabled(): boolean {\n if (authState.step !== \"verification\") {\n return true; // TODO: for now we show all providers on the email step since we don't have registration flow in place yet\n }\n\n if (!authState.availableLoginOptions?.social_logins) {\n return false;\n }\n\n return authState.availableLoginOptions.social_logins.some((enabled) => enabled.startsWith(this.provider) || enabled === this.provider);\n }\n\n private getAuthUrl(): string {\n const baseUrl = unidyState.baseUrl;\n const redirectUri = this.redirectUri ? encodeURIComponent(this.redirectUri) : baseUrl;\n\n return `${baseUrl}/api/sdk/v1/sign_ins/auth/omniauth/${this.provider}?sdk_redirect_uri=${redirectUri}`;\n }\n\n private onClick = async () => {\n if (!unidyState.baseUrl) {\n this.logger.error(\"baseUrl is not set. Make sure <u-config> is rendered with a valid base-url.\");\n return;\n }\n\n window.location.href = this.getAuthUrl();\n };\n\n private renderIcon() {\n if (this.isUnsupportedProvider || this.provider === \"unidy\") {\n return null;\n }\n\n return ICON_MAP[this.provider];\n }\n\n private getButtonClasses(): string {\n const baseClasses = \"w-full h-10 border border-solid rounded-md text-base font-medium\";\n const cursorClass = this.isUnsupportedProvider ? \"cursor-not-allowed\" : \"cursor-pointer\";\n const themeClasses =\n this.theme === \"dark\"\n ? \"bg-[#131314] text-white border-gray-600 hover:bg-[#1f1f20]\"\n : \"bg-white text-[#1f1f1f] border-gray-300 hover:bg-gray-100\";\n\n return `${baseClasses} ${cursorClass} ${themeClasses}`;\n }\n\n render() {\n if (!this.isProviderEnabled) {\n return null;\n }\n\n const providerName = this.provider.charAt(0).toUpperCase() + this.provider.slice(1);\n const text = t(\"auth.socialLogin.button_text\", {\n defaultValue: \"Continue with {{provider}}\",\n provider: providerName,\n });\n\n // TODO: allow users to customize already used providers with custom text and icon\n return (\n <button type=\"button\" class={this.getButtonClasses()} onClick={this.onClick} part=\"social-login-button\">\n <div class=\"flex items-center justify-center\" part=\"social-login-button-content\">\n <slot name=\"icon\">\n <span aria-hidden=\"true\">{this.renderIcon()}</span>\n </slot>\n\n {this.iconOnly ? (\n // Render the hidden text for accessibility.\n <span class=\"sr-only\">{text}</span>\n ) : (\n <span class={!this.isUnsupportedProvider ? \"ml-4\" : \"\"} part=\"social-login-button-text\">\n {text}\n </span>\n )}\n </div>\n </button>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"social-login-button.js","sourceRoot":"","sources":["../../../../src/auth/components/social-logins/social-login-button.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as Sentry from \"@sentry/browser\";\nimport { Component, h, Prop } from \"@stencil/core\";\nimport { t } from \"../../../i18n\";\nimport { unidyState } from \"../../../shared/store/unidy-store\";\nimport { authState } from \"../../store/auth-store\";\nimport { GoogleLogo } from \"./logos/google\";\nimport { LinkedInLogo } from \"./logos/linkedin\";\nimport { AppleLogo } from \"./logos/apple\";\nimport { FacebookLogo } from \"./logos/facebook\";\nimport { DiscordLogo } from \"./logos/discord\";\nimport { UnidyComponent } from \"../../../logger\";\n\nconst SHARED_ICON_CLASSNAME = \"u:w-5 u:h-5 u:block\";\n\nconst ICON_MAP = {\n google: <GoogleLogo className={SHARED_ICON_CLASSNAME} />,\n linkedin: <LinkedInLogo className={SHARED_ICON_CLASSNAME} />,\n apple: <AppleLogo className={`${SHARED_ICON_CLASSNAME} u:fill-current`} />,\n discord: <DiscordLogo className={`${SHARED_ICON_CLASSNAME} u:fill-current`} />,\n facebook: <FacebookLogo className=\"u:w-6 u:h-6 u:block\" />,\n} as const;\n\ntype SocialLoginProvider = keyof typeof ICON_MAP | \"unidy\";\n\n@Component({\n tag: \"u-social-login-button\",\n styleUrl: \"social-login-button.css\",\n shadow: true,\n})\nexport class SocialLoginButton extends UnidyComponent {\n @Prop() provider: SocialLoginProvider = \"google\";\n @Prop() redirectUri: string = window.location.href;\n @Prop() iconOnly = false;\n @Prop() theme: \"light\" | \"dark\" = \"light\";\n\n componentWillLoad() {\n if (this.isUnsupportedProvider) {\n Sentry.captureException(`[u-social-login-button] Unsupported provider \"${this.provider}\".`);\n return;\n }\n }\n\n private get isUnsupportedProvider(): boolean {\n return !Object.prototype.hasOwnProperty.call(ICON_MAP, this.provider) && this.provider !== \"unidy\";\n }\n\n private get isProviderEnabled(): boolean {\n if (authState.step !== \"verification\") {\n return true; // TODO: for now we show all providers on the email step since we don't have registration flow in place yet\n }\n\n if (!authState.availableLoginOptions?.social_logins) {\n return false;\n }\n\n return authState.availableLoginOptions.social_logins.some((enabled) => enabled.startsWith(this.provider) || enabled === this.provider);\n }\n\n private getAuthUrl(): string {\n const baseUrl = unidyState.baseUrl;\n const redirectUri = this.redirectUri ? encodeURIComponent(this.redirectUri) : baseUrl;\n\n return `${baseUrl}/api/sdk/v1/sign_ins/auth/omniauth/${this.provider}?sdk_redirect_uri=${redirectUri}`;\n }\n\n private onClick = async () => {\n if (!unidyState.baseUrl) {\n this.logger.error(\"baseUrl is not set. Make sure <u-config> is rendered with a valid base-url.\");\n return;\n }\n\n window.location.href = this.getAuthUrl();\n };\n\n private renderIcon() {\n if (this.isUnsupportedProvider || this.provider === \"unidy\") {\n return null;\n }\n\n return ICON_MAP[this.provider];\n }\n\n private getButtonClasses(): string {\n const baseClasses = \"u:w-full u:h-10 u:border u:border-solid u:rounded-md u:text-base u:font-medium\";\n const cursorClass = this.isUnsupportedProvider ? \"u:cursor-not-allowed\" : \"u:cursor-pointer\";\n const themeClasses =\n this.theme === \"dark\"\n ? \"u:bg-[#131314] u:text-white u:border-gray-600 u:hover:bg-[#1f1f20]\"\n : \"u:bg-white u:text-[#1f1f1f] u:border-gray-300 u:hover:bg-gray-100\";\n\n return `${baseClasses} ${cursorClass} ${themeClasses}`;\n }\n\n render() {\n if (!this.isProviderEnabled) {\n return null;\n }\n\n const providerName = this.provider.charAt(0).toUpperCase() + this.provider.slice(1);\n const text = t(\"auth.socialLogin.button_text\", {\n defaultValue: \"Continue with {{provider}}\",\n provider: providerName,\n });\n\n // TODO: allow users to customize already used providers with custom text and icon\n return (\n <button type=\"button\" class={this.getButtonClasses()} onClick={this.onClick} part=\"social-login-button\">\n <div class=\"u:flex u:items-center u:justify-center\" part=\"social-login-button-content\">\n <slot name=\"icon\">\n <span aria-hidden=\"true\">{this.renderIcon()}</span>\n </slot>\n\n {this.iconOnly ? (\n // Render the hidden text for accessibility.\n <span class=\"u:sr-only\">{text}</span>\n ) : (\n <span class={!this.isUnsupportedProvider ? \"u:ml-4\" : \"\"} part=\"social-login-button-text\">\n {text}\n </span>\n )}\n </div>\n </button>\n );\n }\n}\n"]}
@@ -24,7 +24,7 @@ export class NewsletterResendDoiButton {
24
24
  if (!this.shouldShow) {
25
25
  return null;
26
26
  }
27
- return (h("button", { type: "button", onClick: this.handleClick, disabled: this.isResending, "aria-busy": this.isResending, "aria-live": "polite", class: `${this.componentClassName} flex items-center justify-center` }, this.isResending ? h("u-spinner", null) : t("newsletter.buttons.resend_doi")));
27
+ return (h("button", { type: "button", onClick: this.handleClick, disabled: this.isResending, "aria-busy": this.isResending, "aria-live": "polite", class: `${this.componentClassName} u:flex u:items-center u:justify-center` }, this.isResending ? h("u-spinner", null) : t("newsletter.buttons.resend_doi")));
28
28
  }
29
29
  static get is() { return "u-newsletter-resend-doi-button"; }
30
30
  static get properties() {
@@ -1 +1 @@
1
- {"version":3,"file":"resend-doi-button.js","sourceRoot":"","sources":["../../../../src/newsletter/components/resend-doi-button/resend-doi-button.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AAClC,OAAO,KAAK,iBAAiB,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,KAAK,EAAE,MAAM,mCAAmC,CAAC;AAM1D,MAAM,OAAO,yBAAyB;IAC5B,YAAY,CAAU;IACK,kBAAkB,GAAG,EAAE,CAAC;IAElD,WAAW,GAAG,KAAK,CAAC;IAE7B,IAAY,UAAU;QACpB,OAAO,iBAAiB,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAChH,CAAC;IAEO,WAAW,GAAG,KAAK,IAAI,EAAE;QAC/B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,MAAM,OAAO,GAAG,MAAM,iBAAiB,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACrE,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QAEzB,IAAI,OAAO,EAAE,CAAC;YACZ,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,6BAA6B,CAAC,CAAC,CAAC;QAC7D,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,qCAAqC,CAAC,CAAC,CAAC;QACnE,CAAC;IACH,CAAC,CAAC;IAEF,MAAM;QACJ,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,CACL,cACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,IAAI,CAAC,WAAW,EACzB,QAAQ,EAAE,IAAI,CAAC,WAAW,eACf,IAAI,CAAC,WAAW,eACjB,QAAQ,EAClB,KAAK,EAAE,GAAG,IAAI,CAAC,kBAAkB,mCAAmC,IAEnE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,oBAAa,CAAC,CAAC,CAAC,CAAC,CAAC,+BAA+B,CAAC,CAC/D,CACV,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, h, Prop, State } from \"@stencil/core\";\nimport { t } from \"../../../i18n\";\nimport * as NewsletterHelpers from \"../../newsletter-helpers\";\nimport { Flash } from \"../../../shared/store/flash-store\";\n\n@Component({\n tag: \"u-newsletter-resend-doi-button\",\n shadow: false,\n})\nexport class NewsletterResendDoiButton {\n @Prop() internalName!: string;\n @Prop({ attribute: \"class-name\" }) componentClassName = \"\";\n\n @State() isResending = false;\n\n private get shouldShow(): boolean {\n return NewsletterHelpers.isSubscribed(this.internalName) && !NewsletterHelpers.isConfirmed(this.internalName);\n }\n\n private handleClick = async () => {\n this.isResending = true;\n const success = await NewsletterHelpers.resendDoi(this.internalName);\n this.isResending = false;\n\n if (success) {\n Flash.success.addMessage(t(\"newsletter.success.doi_sent\"));\n } else {\n Flash.error.addMessage(t(\"newsletter.errors.resend_doi_failed\"));\n }\n };\n\n render() {\n if (!this.shouldShow) {\n return null;\n }\n\n return (\n <button\n type=\"button\"\n onClick={this.handleClick}\n disabled={this.isResending}\n aria-busy={this.isResending}\n aria-live=\"polite\"\n class={`${this.componentClassName} flex items-center justify-center`}\n >\n {this.isResending ? <u-spinner /> : t(\"newsletter.buttons.resend_doi\")}\n </button>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"resend-doi-button.js","sourceRoot":"","sources":["../../../../src/newsletter/components/resend-doi-button/resend-doi-button.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AAClC,OAAO,KAAK,iBAAiB,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,KAAK,EAAE,MAAM,mCAAmC,CAAC;AAM1D,MAAM,OAAO,yBAAyB;IAC5B,YAAY,CAAU;IACK,kBAAkB,GAAG,EAAE,CAAC;IAElD,WAAW,GAAG,KAAK,CAAC;IAE7B,IAAY,UAAU;QACpB,OAAO,iBAAiB,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAChH,CAAC;IAEO,WAAW,GAAG,KAAK,IAAI,EAAE;QAC/B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,MAAM,OAAO,GAAG,MAAM,iBAAiB,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACrE,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QAEzB,IAAI,OAAO,EAAE,CAAC;YACZ,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,6BAA6B,CAAC,CAAC,CAAC;QAC7D,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,qCAAqC,CAAC,CAAC,CAAC;QACnE,CAAC;IACH,CAAC,CAAC;IAEF,MAAM;QACJ,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,CACL,cACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,IAAI,CAAC,WAAW,EACzB,QAAQ,EAAE,IAAI,CAAC,WAAW,eACf,IAAI,CAAC,WAAW,eACjB,QAAQ,EAClB,KAAK,EAAE,GAAG,IAAI,CAAC,kBAAkB,yCAAyC,IAEzE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,oBAAa,CAAC,CAAC,CAAC,CAAC,CAAC,+BAA+B,CAAC,CAC/D,CACV,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, h, Prop, State } from \"@stencil/core\";\nimport { t } from \"../../../i18n\";\nimport * as NewsletterHelpers from \"../../newsletter-helpers\";\nimport { Flash } from \"../../../shared/store/flash-store\";\n\n@Component({\n tag: \"u-newsletter-resend-doi-button\",\n shadow: false,\n})\nexport class NewsletterResendDoiButton {\n @Prop() internalName!: string;\n @Prop({ attribute: \"class-name\" }) componentClassName = \"\";\n\n @State() isResending = false;\n\n private get shouldShow(): boolean {\n return NewsletterHelpers.isSubscribed(this.internalName) && !NewsletterHelpers.isConfirmed(this.internalName);\n }\n\n private handleClick = async () => {\n this.isResending = true;\n const success = await NewsletterHelpers.resendDoi(this.internalName);\n this.isResending = false;\n\n if (success) {\n Flash.success.addMessage(t(\"newsletter.success.doi_sent\"));\n } else {\n Flash.error.addMessage(t(\"newsletter.errors.resend_doi_failed\"));\n }\n };\n\n render() {\n if (!this.shouldShow) {\n return null;\n }\n\n return (\n <button\n type=\"button\"\n onClick={this.handleClick}\n disabled={this.isResending}\n aria-busy={this.isResending}\n aria-live=\"polite\"\n class={`${this.componentClassName} u:flex u:items-center u:justify-center`}\n >\n {this.isResending ? <u-spinner /> : t(\"newsletter.buttons.resend_doi\")}\n </button>\n );\n }\n}\n"]}
@@ -49,7 +49,7 @@ export class ToggleNewsletterSubscriptionButton {
49
49
  render() {
50
50
  const isSubscribed = this.isSubscribed;
51
51
  const stateClassName = isSubscribed ? this.unsubscribeClassName : this.subscribeClassName;
52
- return (h("button", { key: '39cec16ebf013dfa604c7baa9223d1ee10133a83', type: "button", onClick: this.handleClick, disabled: this.loading, "aria-busy": this.loading, "aria-label": isSubscribed ? t("newsletter.buttons.unsubscribe") : t("newsletter.buttons.subscribe"), "aria-live": "polite", "data-subscribed": isSubscribed, class: `${this.componentClassName} ${stateClassName} flex items-center justify-center`.trim() }, this.loading ? h("u-spinner", null) : isSubscribed ? t("newsletter.buttons.unsubscribe") : t("newsletter.buttons.subscribe")));
52
+ return (h("button", { key: '76b7f2de7c121586c04e70f30002ce65da5cce7e', type: "button", onClick: this.handleClick, disabled: this.loading, "aria-busy": this.loading, "aria-label": isSubscribed ? t("newsletter.buttons.unsubscribe") : t("newsletter.buttons.subscribe"), "aria-live": "polite", "data-subscribed": isSubscribed, class: `${this.componentClassName} ${stateClassName} u:flex u:items-center u:justify-center`.trim() }, this.loading ? h("u-spinner", null) : isSubscribed ? t("newsletter.buttons.unsubscribe") : t("newsletter.buttons.subscribe")));
53
53
  }
54
54
  static get is() { return "u-newsletter-toggle-subscription-button"; }
55
55
  static get properties() {
@@ -1 +1 @@
1
- {"version":3,"file":"toggle-subscription-button.js","sourceRoot":"","sources":["../../../../src/newsletter/components/toggle-subscription-button/toggle-subscription-button.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, h, Prop, State } from \"@stencil/core\";\nimport { t } from \"../../../i18n\";\nimport { newsletterStore } from \"../../store/newsletter-store\";\nimport * as NewsletterHelpers from \"../../newsletter-helpers\";\nimport { Flash } from \"../../../shared/store/flash-store\";\n\n@Component({\n tag: \"u-newsletter-toggle-subscription-button\",\n shadow: false,\n})\nexport class ToggleNewsletterSubscriptionButton {\n @Prop() internalName!: string;\n\n @Prop({ attribute: \"class-name\" }) componentClassName = \"\";\n @Prop({ attribute: \"subscribe-class-name\" }) subscribeClassName = \"\";\n @Prop({ attribute: \"unsubscribe-class-name\" }) unsubscribeClassName = \"\";\n\n @State() loading = false;\n\n private get isSubscribed(): boolean {\n return NewsletterHelpers.isSubscribed(this.internalName);\n }\n\n private handleClick = async () => {\n if (this.loading) return;\n\n if (this.isSubscribed) {\n await this.handleUnsubscribe();\n } else {\n await this.handleSubscribe();\n }\n };\n\n private handleSubscribe = async () => {\n const { email } = newsletterStore.state;\n\n if (!email) {\n Flash.error.addMessage(t(\"newsletter.errors.email_required\"));\n return;\n }\n\n this.loading = true;\n const success = await NewsletterHelpers.subscribeToNewsletter(this.internalName, email);\n this.loading = false;\n\n if (success) {\n Flash.success.addMessage(t(\"newsletter.success.subscribe\"));\n }\n };\n\n private handleUnsubscribe = async () => {\n this.loading = true;\n const success = await NewsletterHelpers.deleteSubscription(this.internalName);\n this.loading = false;\n\n if (success) {\n Flash.info.addMessage(t(\"newsletter.success.unsubscribe\"));\n } else {\n Flash.error.addMessage(t(\"newsletter.errors.unsubscribe_failed\"));\n }\n };\n\n render() {\n const isSubscribed = this.isSubscribed;\n const stateClassName = isSubscribed ? this.unsubscribeClassName : this.subscribeClassName;\n\n return (\n <button\n type=\"button\"\n onClick={this.handleClick}\n disabled={this.loading}\n aria-busy={this.loading}\n aria-label={isSubscribed ? t(\"newsletter.buttons.unsubscribe\") : t(\"newsletter.buttons.subscribe\")}\n aria-live=\"polite\"\n data-subscribed={isSubscribed}\n class={`${this.componentClassName} ${stateClassName} flex items-center justify-center`.trim()}\n >\n {this.loading ? <u-spinner /> : isSubscribed ? t(\"newsletter.buttons.unsubscribe\") : t(\"newsletter.buttons.subscribe\")}\n </button>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"toggle-subscription-button.js","sourceRoot":"","sources":["../../../../src/newsletter/components/toggle-subscription-button/toggle-subscription-button.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, h, Prop, State } from \"@stencil/core\";\nimport { t } from \"../../../i18n\";\nimport { newsletterStore } from \"../../store/newsletter-store\";\nimport * as NewsletterHelpers from \"../../newsletter-helpers\";\nimport { Flash } from \"../../../shared/store/flash-store\";\n\n@Component({\n tag: \"u-newsletter-toggle-subscription-button\",\n shadow: false,\n})\nexport class ToggleNewsletterSubscriptionButton {\n @Prop() internalName!: string;\n\n @Prop({ attribute: \"class-name\" }) componentClassName = \"\";\n @Prop({ attribute: \"subscribe-class-name\" }) subscribeClassName = \"\";\n @Prop({ attribute: \"unsubscribe-class-name\" }) unsubscribeClassName = \"\";\n\n @State() loading = false;\n\n private get isSubscribed(): boolean {\n return NewsletterHelpers.isSubscribed(this.internalName);\n }\n\n private handleClick = async () => {\n if (this.loading) return;\n\n if (this.isSubscribed) {\n await this.handleUnsubscribe();\n } else {\n await this.handleSubscribe();\n }\n };\n\n private handleSubscribe = async () => {\n const { email } = newsletterStore.state;\n\n if (!email) {\n Flash.error.addMessage(t(\"newsletter.errors.email_required\"));\n return;\n }\n\n this.loading = true;\n const success = await NewsletterHelpers.subscribeToNewsletter(this.internalName, email);\n this.loading = false;\n\n if (success) {\n Flash.success.addMessage(t(\"newsletter.success.subscribe\"));\n }\n };\n\n private handleUnsubscribe = async () => {\n this.loading = true;\n const success = await NewsletterHelpers.deleteSubscription(this.internalName);\n this.loading = false;\n\n if (success) {\n Flash.info.addMessage(t(\"newsletter.success.unsubscribe\"));\n } else {\n Flash.error.addMessage(t(\"newsletter.errors.unsubscribe_failed\"));\n }\n };\n\n render() {\n const isSubscribed = this.isSubscribed;\n const stateClassName = isSubscribed ? this.unsubscribeClassName : this.subscribeClassName;\n\n return (\n <button\n type=\"button\"\n onClick={this.handleClick}\n disabled={this.loading}\n aria-busy={this.loading}\n aria-label={isSubscribed ? t(\"newsletter.buttons.unsubscribe\") : t(\"newsletter.buttons.subscribe\")}\n aria-live=\"polite\"\n data-subscribed={isSubscribed}\n class={`${this.componentClassName} ${stateClassName} u:flex u:items-center u:justify-center`.trim()}\n >\n {this.loading ? <u-spinner /> : isSubscribed ? t(\"newsletter.buttons.unsubscribe\") : t(\"newsletter.buttons.subscribe\")}\n </button>\n );\n }\n}\n"]}
@@ -1 +1 @@
1
- /*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000}}}@layer theme{:host,:root{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,::backdrop,:after,:before{border:0 solid;box-sizing:border-box;margin:0;padding:0}::file-selector-button{appearance:button;background-color:#0000;border:0 solid;border-radius:0;box-sizing:border-box;color:inherit;font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;margin:0;margin-inline-end:4px;opacity:1;padding:0}:host,html{-webkit-text-size-adjust:100%;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);line-height:1.5;tab-size:4;-webkit-tap-highlight-color:transparent}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-size:1em;font-variation-settings:var(--default-mono-font-variation-settings,normal)}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}button,input,optgroup,select,textarea{background-color:#0000;border-radius:0;color:inherit;font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;opacity:1}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex;padding-block:0}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field,::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.block{display:block}.flex{display:flex}.justify-end{justify-content:flex-end}} /*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer components;@layer utilities{} /*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer components; /*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer components;@layer utilities{} /*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer components; /*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer components; /*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer components; /*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer components; /*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer components; /*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer components;:host{display:block}.field-error:focus{border-color:red!important;outline-color:red}.multi-select-readonly-container{list-style:none}.multi-select-readonly-container li{display:inline-block}[part=input]:disabled,[part=select]:disabled{cursor:not-allowed}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}
1
+ /*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer theme{:host,:root{--u-font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--u-font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--u-default-font-family:var(--u-font-sans);--u-default-mono-font-family:var(--u-font-mono);--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,::backdrop,:after,:before{border:0 solid;box-sizing:border-box;margin:0;padding:0}::file-selector-button{appearance:button;background-color:#0000;border:0 solid;border-radius:0;box-sizing:border-box;color:inherit;font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;margin:0;margin-inline-end:4px;opacity:1;padding:0}:host,html{font-family:var(--u-default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--u-default-font-feature-settings,normal);font-variation-settings:var(--u-default-font-variation-settings,normal);-webkit-text-size-adjust:100%;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);line-height:1.5;tab-size:4;-webkit-tap-highlight-color:transparent}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--u-default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--u-default-mono-font-feature-settings,normal);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-size:1em;font-variation-settings:var(--u-default-mono-font-variation-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal)}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}button,input,optgroup,select,textarea{background-color:#0000;border-radius:0;color:inherit;font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;opacity:1}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex;padding-block:0}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field,::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.u\:flex{display:flex}.u\:justify-end{justify-content:flex-end}.u\:justify-center{justify-content:center}.u\:disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.u\:disabled\:opacity-50:disabled{opacity:.5}} /*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer base{}@layer components,utilities; /*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer base{}@layer components,utilities; /*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer base{}@layer components,utilities; /*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer base{}@layer components;@layer utilities{} /*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer base{}@layer components,utilities; /*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer base{}@layer components,utilities; /*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer base{}@layer components,utilities; /*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000}}}@layer base{}@layer components;@layer utilities{.block{display:block}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}:host{display:block}.field-error:focus{border-color:red!important;outline-color:red}.multi-select-readonly-container{list-style:none}.multi-select-readonly-container li{display:inline-block}[part=input]:disabled,[part=select]:disabled{cursor:not-allowed}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}
@@ -1 +1 @@
1
- /*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000}}}@layer theme{:host,:root{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,::backdrop,:after,:before{border:0 solid;box-sizing:border-box;margin:0;padding:0}::file-selector-button{appearance:button;background-color:#0000;border:0 solid;border-radius:0;box-sizing:border-box;color:inherit;font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;margin:0;margin-inline-end:4px;opacity:1;padding:0}:host,html{-webkit-text-size-adjust:100%;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);line-height:1.5;tab-size:4;-webkit-tap-highlight-color:transparent}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-size:1em;font-variation-settings:var(--default-mono-font-variation-settings,normal)}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}button,input,optgroup,select,textarea{background-color:#0000;border-radius:0;color:inherit;font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;opacity:1}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex;padding-block:0}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field,::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.flex{display:flex}.justify-end{justify-content:flex-end}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.block{display:block}} /*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer components;@layer utilities{} /*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer components; /*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer components; /*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer components;@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}
1
+ /*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer theme{:host,:root{--u-font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--u-font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--u-default-font-family:var(--u-font-sans);--u-default-mono-font-family:var(--u-font-mono);--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,::backdrop,:after,:before{border:0 solid;box-sizing:border-box;margin:0;padding:0}::file-selector-button{appearance:button;background-color:#0000;border:0 solid;border-radius:0;box-sizing:border-box;color:inherit;font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;margin:0;margin-inline-end:4px;opacity:1;padding:0}:host,html{font-family:var(--u-default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--u-default-font-feature-settings,normal);font-variation-settings:var(--u-default-font-variation-settings,normal);-webkit-text-size-adjust:100%;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);line-height:1.5;tab-size:4;-webkit-tap-highlight-color:transparent}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--u-default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--u-default-mono-font-feature-settings,normal);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-size:1em;font-variation-settings:var(--u-default-mono-font-variation-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal)}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}button,input,optgroup,select,textarea{background-color:#0000;border-radius:0;color:inherit;font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;opacity:1}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex;padding-block:0}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field,::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.u\:flex{display:flex}.u\:justify-end{justify-content:flex-end}.u\:justify-center{justify-content:center}.u\:disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.u\:disabled\:opacity-50:disabled{opacity:.5}} /*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer base{}@layer components,utilities; /*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer base{}@layer components,utilities; /*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer base{}@layer components,utilities; /*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer base{}@layer components;@layer utilities{} /*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000}}}@layer base{}@layer components;@layer utilities{.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}
@@ -17,7 +17,7 @@ export class FullProfile {
17
17
  ];
18
18
  }
19
19
  render() {
20
- return (h("u-profile", { key: '0cdaf68ab9eae2f57a83f413e30b1882a3189826' }, this.list().map((field) => (h("u-field", { key: field, field: field, countryCodeDisplayOption: this.countryCodeDisplayOption }))), h("div", { key: '90126549f871fffee70e193fde6535866477aed8', class: "flex justify-end" }, h("u-submit-button", { key: '521c6a76db22b958390aa7eb6aae7bd3cdca91a3' }, t("buttons.submit")))));
20
+ return (h("u-profile", { key: '0cdaf68ab9eae2f57a83f413e30b1882a3189826' }, this.list().map((field) => (h("u-field", { key: field, field: field, countryCodeDisplayOption: this.countryCodeDisplayOption }))), h("div", { key: '5a12786199ef18c3429da162aaccff672b3b46a3', class: "u:flex u:justify-end" }, h("u-submit-button", { key: '4ae649be44f8fe36ab0e99ecd64b043b951730ea' }, t("buttons.submit")))));
21
21
  }
22
22
  static get is() { return "u-full-profile"; }
23
23
  static get originalStyleUrls() {
@@ -1 +1 @@
1
- {"version":3,"file":"full-profile.js","sourceRoot":"","sources":["../../../../src/profile/components/full-profile/full-profile.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AAClC,OAAO,EAAE,KAAK,IAAI,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAOlE,MAAM,OAAO,WAAW;IACd,MAAM,CAAU;IAChB,wBAAwB,GAAsB,OAAO,CAAC;IAEtD,IAAI;QACV,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,OAAO,IAAI,CAAC,MAAM;iBACf,KAAK,CAAC,GAAG,CAAC;iBACV,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;iBAC5B,MAAM,CAAC,OAAO,CAAC,CAAC;QACrB,CAAC;QACD,OAAO;YACL,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,mBAAmB,IAAI,KAAK,KAAK,OAAO,CAAC;YAC7G,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,iBAAiB,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,qBAAqB,KAAK,EAAE,CAAC;SACxG,CAAC;IACJ,CAAC;IAED,MAAM;QACJ,OAAO,CACL;YACG,IAAI,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAC1B,eAAS,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,wBAAwB,EAAE,IAAI,CAAC,wBAAwB,GAAI,CAC/F,CAAC;YACF,4DAAK,KAAK,EAAC,kBAAkB;gBAC3B,0EAAkB,CAAC,CAAC,gBAAgB,CAAC,CAAmB,CACpD,CACI,CACb,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, h, Prop } from \"@stencil/core\";\nimport { t } from \"../../../i18n\";\nimport { state as profileState } from \"../../store/profile-store\";\n\n@Component({\n tag: \"u-full-profile\",\n styleUrl: \"full-profile.css\",\n shadow: false,\n})\nexport class FullProfile {\n @Prop() fields?: string;\n @Prop() countryCodeDisplayOption?: \"icon\" | \"label\" = \"label\";\n\n private list() {\n if (this.fields) {\n return this.fields\n .split(\",\")\n .map((field) => field.trim())\n .filter(Boolean);\n }\n return [\n ...Object.keys(profileState.data || {}).filter((field) => field !== \"custom_attributes\" && field !== \"email\"),\n ...Object.keys(profileState.data?.custom_attributes || {}).map((field) => `custom_attributes.${field}`),\n ];\n }\n\n render() {\n return (\n <u-profile>\n {this.list().map((field) => (\n <u-field key={field} field={field} countryCodeDisplayOption={this.countryCodeDisplayOption} />\n ))}\n <div class=\"flex justify-end\">\n <u-submit-button>{t(\"buttons.submit\")}</u-submit-button>\n </div>\n </u-profile>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"full-profile.js","sourceRoot":"","sources":["../../../../src/profile/components/full-profile/full-profile.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AAClC,OAAO,EAAE,KAAK,IAAI,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAOlE,MAAM,OAAO,WAAW;IACd,MAAM,CAAU;IAChB,wBAAwB,GAAsB,OAAO,CAAC;IAEtD,IAAI;QACV,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,OAAO,IAAI,CAAC,MAAM;iBACf,KAAK,CAAC,GAAG,CAAC;iBACV,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;iBAC5B,MAAM,CAAC,OAAO,CAAC,CAAC;QACrB,CAAC;QACD,OAAO;YACL,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,mBAAmB,IAAI,KAAK,KAAK,OAAO,CAAC;YAC7G,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,iBAAiB,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,qBAAqB,KAAK,EAAE,CAAC;SACxG,CAAC;IACJ,CAAC;IAED,MAAM;QACJ,OAAO,CACL;YACG,IAAI,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAC1B,eAAS,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,wBAAwB,EAAE,IAAI,CAAC,wBAAwB,GAAI,CAC/F,CAAC;YACF,4DAAK,KAAK,EAAC,sBAAsB;gBAC/B,0EAAkB,CAAC,CAAC,gBAAgB,CAAC,CAAmB,CACpD,CACI,CACb,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, h, Prop } from \"@stencil/core\";\nimport { t } from \"../../../i18n\";\nimport { state as profileState } from \"../../store/profile-store\";\n\n@Component({\n tag: \"u-full-profile\",\n styleUrl: \"full-profile.css\",\n shadow: false,\n})\nexport class FullProfile {\n @Prop() fields?: string;\n @Prop() countryCodeDisplayOption?: \"icon\" | \"label\" = \"label\";\n\n private list() {\n if (this.fields) {\n return this.fields\n .split(\",\")\n .map((field) => field.trim())\n .filter(Boolean);\n }\n return [\n ...Object.keys(profileState.data || {}).filter((field) => field !== \"custom_attributes\" && field !== \"email\"),\n ...Object.keys(profileState.data?.custom_attributes || {}).map((field) => `custom_attributes.${field}`),\n ];\n }\n\n render() {\n return (\n <u-profile>\n {this.list().map((field) => (\n <u-field key={field} field={field} countryCodeDisplayOption={this.countryCodeDisplayOption} />\n ))}\n <div class=\"u:flex u:justify-end\">\n <u-submit-button>{t(\"buttons.submit\")}</u-submit-button>\n </div>\n </u-profile>\n );\n }\n}\n"]}
@@ -219,7 +219,7 @@ export class UnidyConfig extends UnidyComponent {
219
219
  "references": {
220
220
  "Config": {
221
221
  "location": "local",
222
- "path": "/Users/fran/work/unidy-sdk/packages/sdk/src/shared/components/config/config.tsx",
222
+ "path": "/home/runner/work/unidy-sdk/unidy-sdk/packages/sdk/src/shared/components/config/config.tsx",
223
223
  "id": "src/shared/components/config/config.tsx::Config"
224
224
  }
225
225
  }
@@ -240,7 +240,7 @@ export class UnidyConfig extends UnidyComponent {
240
240
  "references": {
241
241
  "ConfigChange": {
242
242
  "location": "local",
243
- "path": "/Users/fran/work/unidy-sdk/packages/sdk/src/shared/components/config/config.tsx",
243
+ "path": "/home/runner/work/unidy-sdk/unidy-sdk/packages/sdk/src/shared/components/config/config.tsx",
244
244
  "id": "src/shared/components/config/config.tsx::ConfigChange"
245
245
  }
246
246
  }
@@ -58,7 +58,7 @@ export class EmailField {
58
58
  }
59
59
  render() {
60
60
  const placeholderText = t("auth.email.placeholder", { defaultValue: "Enter your email" });
61
- return (h("form", { key: '0699431e7167034d9c46389814724d50b3561289', onSubmit: this.handleSubmit }, h("input", { key: 'ff52eeec5c2fafde9ddbf0f227863914d11aef7f', id: "email", type: "email", value: this.store.state.email, autocomplete: "email", placeholder: placeholderText, disabled: this.isDisabled(), class: `${this.componentClassName} disabled:opacity-40 disabled:bg-gray-200 disabled:cursor-not-allowed`, onInput: this.handleInput, "aria-label": this.ariaLabel }), h("slot", { key: '5916e2a6b7096f81d96d906ca6793f367abed420' })));
61
+ return (h("form", { key: '0699431e7167034d9c46389814724d50b3561289', onSubmit: this.handleSubmit }, h("input", { key: '1d159c507dc8938b538eb1e0a3fb016be41a6cb2', id: "email", type: "email", value: this.store.state.email, autocomplete: "email", placeholder: placeholderText, disabled: this.isDisabled(), class: `${this.componentClassName} u:disabled:opacity-40 u:disabled:bg-gray-200 u:disabled:cursor-not-allowed`, onInput: this.handleInput, "aria-label": this.ariaLabel }), h("slot", { key: 'c536096545d42981d44e0ff8041d220fb77462d6' })));
62
62
  }
63
63
  static get is() { return "u-email-field"; }
64
64
  static get properties() {
@@ -1 +1 @@
1
- {"version":3,"file":"email-field.js","sourceRoot":"","sources":["../../../../src/shared/components/email-field/email-field.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, h, Prop, Element, State } from \"@stencil/core\";\nimport { t } from \"../../../i18n\";\nimport { authStore, authState } from \"../../../auth/store/auth-store\";\nimport { newsletterStore } from \"../../../newsletter/store/newsletter-store\";\n\nimport { getParentSigninStep } from \"../../../auth/components/helpers\";\nimport { getParentNewsletterRoot } from \"../../../newsletter/components/helpers\";\n\n@Component({\n tag: \"u-email-field\",\n shadow: false,\n})\nexport class EmailField {\n @Element() el!: HTMLElement;\n\n @Prop({ attribute: \"class-name\" }) componentClassName = \"\";\n @Prop() ariaLabel = \"Email\";\n @Prop() disabled = false;\n\n @State() emailValue = \"\";\n\n private get context(): \"auth\" | \"newsletter\" | null {\n if (this.el.closest(\"u-signin-root\")) return \"auth\";\n\n if (this.el.closest(\"u-newsletter-root\")) return \"newsletter\";\n\n return null;\n }\n\n private get store(): typeof authStore | typeof newsletterStore | null {\n switch (this.context) {\n case \"auth\":\n return authStore;\n case \"newsletter\":\n return newsletterStore;\n default:\n throw new Error(\n \"No store found for email field. Make sure you are using the component within a u-signin-root or u-newsletter-root.\",\n );\n }\n }\n\n private handleInput = (event: Event) => {\n const target = event.target as HTMLInputElement;\n\n (this.store as { state: { email: string } }).state.email = target.value;\n\n if (this.context === \"newsletter\") {\n this.store.state.errors = {};\n } else {\n (this.store as { clearFieldError: (field: \"email\") => void }).clearFieldError(\"email\");\n }\n };\n\n private handleSubmit = async (event: Event) => {\n event.preventDefault();\n\n if (this.store.state.email === \"\") return;\n\n if (this.context === \"auth\") return await getParentSigninStep(this.el)?.submit();\n\n if (this.context === \"newsletter\") return await getParentNewsletterRoot(this.el)?.submit();\n };\n\n private isDisabled(): boolean {\n if (this.disabled) return true;\n\n if (this.context === \"auth\") return authState.loading || authState.step === \"verification\" || authState.step === \"registration\";\n\n if (this.context === \"newsletter\") {\n return !!newsletterStore.state.preferenceToken && !!newsletterStore.state.email;\n }\n\n return false;\n }\n\n render() {\n const placeholderText = t(\"auth.email.placeholder\", { defaultValue: \"Enter your email\" });\n\n return (\n <form onSubmit={this.handleSubmit}>\n <input\n id=\"email\"\n type=\"email\"\n value={this.store.state.email}\n autocomplete=\"email\"\n placeholder={placeholderText}\n disabled={this.isDisabled()}\n class={`${this.componentClassName} disabled:opacity-40 disabled:bg-gray-200 disabled:cursor-not-allowed`}\n onInput={this.handleInput}\n aria-label={this.ariaLabel}\n />\n <slot />\n </form>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"email-field.js","sourceRoot":"","sources":["../../../../src/shared/components/email-field/email-field.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, h, Prop, Element, State } from \"@stencil/core\";\nimport { t } from \"../../../i18n\";\nimport { authStore, authState } from \"../../../auth/store/auth-store\";\nimport { newsletterStore } from \"../../../newsletter/store/newsletter-store\";\n\nimport { getParentSigninStep } from \"../../../auth/components/helpers\";\nimport { getParentNewsletterRoot } from \"../../../newsletter/components/helpers\";\n\n@Component({\n tag: \"u-email-field\",\n shadow: false,\n})\nexport class EmailField {\n @Element() el!: HTMLElement;\n\n @Prop({ attribute: \"class-name\" }) componentClassName = \"\";\n @Prop() ariaLabel = \"Email\";\n @Prop() disabled = false;\n\n @State() emailValue = \"\";\n\n private get context(): \"auth\" | \"newsletter\" | null {\n if (this.el.closest(\"u-signin-root\")) return \"auth\";\n\n if (this.el.closest(\"u-newsletter-root\")) return \"newsletter\";\n\n return null;\n }\n\n private get store(): typeof authStore | typeof newsletterStore | null {\n switch (this.context) {\n case \"auth\":\n return authStore;\n case \"newsletter\":\n return newsletterStore;\n default:\n throw new Error(\n \"No store found for email field. Make sure you are using the component within a u-signin-root or u-newsletter-root.\",\n );\n }\n }\n\n private handleInput = (event: Event) => {\n const target = event.target as HTMLInputElement;\n\n (this.store as { state: { email: string } }).state.email = target.value;\n\n if (this.context === \"newsletter\") {\n this.store.state.errors = {};\n } else {\n (this.store as { clearFieldError: (field: \"email\") => void }).clearFieldError(\"email\");\n }\n };\n\n private handleSubmit = async (event: Event) => {\n event.preventDefault();\n\n if (this.store.state.email === \"\") return;\n\n if (this.context === \"auth\") return await getParentSigninStep(this.el)?.submit();\n\n if (this.context === \"newsletter\") return await getParentNewsletterRoot(this.el)?.submit();\n };\n\n private isDisabled(): boolean {\n if (this.disabled) return true;\n\n if (this.context === \"auth\") return authState.loading || authState.step === \"verification\" || authState.step === \"registration\";\n\n if (this.context === \"newsletter\") {\n return !!newsletterStore.state.preferenceToken && !!newsletterStore.state.email;\n }\n\n return false;\n }\n\n render() {\n const placeholderText = t(\"auth.email.placeholder\", { defaultValue: \"Enter your email\" });\n\n return (\n <form onSubmit={this.handleSubmit}>\n <input\n id=\"email\"\n type=\"email\"\n value={this.store.state.email}\n autocomplete=\"email\"\n placeholder={placeholderText}\n disabled={this.isDisabled()}\n class={`${this.componentClassName} u:disabled:opacity-40 u:disabled:bg-gray-200 u:disabled:cursor-not-allowed`}\n onInput={this.handleInput}\n aria-label={this.ariaLabel}\n />\n <slot />\n </form>\n );\n }\n}\n"]}
@@ -2,9 +2,9 @@ import { h } from "@stencil/core";
2
2
  import { flashState, Flash } from "../../store/flash-store";
3
3
  import { CloseIcon } from "./close-icon";
4
4
  const variantClasses = {
5
- error: "bg-red-50 border-red-300 text-red-800",
6
- success: "bg-green-50 border-green-400 text-green-800",
7
- info: "bg-blue-50 border-blue-300 text-blue-800",
5
+ error: "u:bg-red-50 u:border-red-300 u:text-red-800",
6
+ success: "u:bg-green-50 u:border-green-400 u:text-green-800",
7
+ info: "u:bg-blue-50 u:border-blue-300 u:text-blue-800",
8
8
  };
9
9
  export class FlashMessage {
10
10
  componentClassName = "";
@@ -18,7 +18,7 @@ export class FlashMessage {
18
18
  if (flashState.messages.length === 0) {
19
19
  return null;
20
20
  }
21
- return (h("div", { class: `flex flex-col gap-2 z-[500] min-w-64 max-w-lg ${this.componentClassName}` }, flashState.messages.map((message) => (h("div", { key: message.id, class: `flex items-start justify-between gap-3 p-3 rounded border ${variantClasses[message.variant]}`, role: "alert", "aria-live": "polite" }, h("span", { class: "break-words" }, message.text), h("button", { type: "button", class: "cursor-pointer leading-none pt-1", onClick: () => Flash.remove(message.id), "aria-label": "Close" }, h(CloseIcon, null)))))));
21
+ return (h("div", { class: `u:flex u:flex-col u:gap-2 u:z-[500] u:min-w-64 u:max-w-lg ${this.componentClassName}` }, flashState.messages.map((message) => (h("div", { key: message.id, class: `u:flex u:items-start u:justify-between u:gap-3 u:p-3 u:rounded u:border ${variantClasses[message.variant]}`, role: "alert", "aria-live": "polite" }, h("span", { class: "u:break-words" }, message.text), h("button", { type: "button", class: "u:cursor-pointer u:leading-none u:pt-1", onClick: () => Flash.remove(message.id), "aria-label": "Close" }, h(CloseIcon, null)))))));
22
22
  }
23
23
  static get is() { return "u-flash-message"; }
24
24
  static get properties() {
@@ -1 +1 @@
1
- {"version":3,"file":"flash-message.js","sourceRoot":"","sources":["../../../../src/shared/components/flash-message/flash-message.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,MAAM,cAAc,GAAG;IACrB,KAAK,EAAE,uCAAuC;IAC9C,OAAO,EAAE,6CAA6C;IACtD,IAAI,EAAE,0CAA0C;CACjD,CAAC;AAMF,MAAM,OAAO,YAAY;IACY,kBAAkB,GAAG,EAAE,CAAC;IACnD,kBAAkB,GAAkB,IAAI,CAAC;IAEjD,iBAAiB;QACf,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC5B,UAAU,CAAC,eAAe,GAAG,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;QAC9D,CAAC;IACH,CAAC;IAED,MAAM;QACJ,IAAI,UAAU,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,CACL,WAAK,KAAK,EAAE,iDAAiD,IAAI,CAAC,kBAAkB,EAAE,IACnF,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CACpC,WACE,GAAG,EAAE,OAAO,CAAC,EAAE,EACf,KAAK,EAAE,6DAA6D,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,EACrG,IAAI,EAAC,OAAO,eACF,QAAQ;YAElB,YAAM,KAAK,EAAC,aAAa,IAAE,OAAO,CAAC,IAAI,CAAQ;YAC/C,cAAQ,IAAI,EAAC,QAAQ,EAAC,KAAK,EAAC,kCAAkC,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,gBAAa,OAAO;gBACxH,EAAC,SAAS,OAAG,CACN,CACL,CACP,CAAC,CACE,CACP,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, Prop, h } from \"@stencil/core\";\nimport { flashState, Flash } from \"../../store/flash-store\";\nimport { CloseIcon } from \"./close-icon\";\n\nconst variantClasses = {\n error: \"bg-red-50 border-red-300 text-red-800\",\n success: \"bg-green-50 border-green-400 text-green-800\",\n info: \"bg-blue-50 border-blue-300 text-blue-800\",\n};\n\n@Component({\n tag: \"u-flash-message\",\n shadow: false,\n})\nexport class FlashMessage {\n @Prop({ attribute: \"class-name\" }) componentClassName = \"\";\n @Prop() removeAfterSeconds: number | null = null;\n\n componentWillLoad() {\n if (this.removeAfterSeconds) {\n flashState.autoRemoveDelay = this.removeAfterSeconds * 1000;\n }\n }\n\n render() {\n if (flashState.messages.length === 0) {\n return null;\n }\n\n return (\n <div class={`flex flex-col gap-2 z-[500] min-w-64 max-w-lg ${this.componentClassName}`}>\n {flashState.messages.map((message) => (\n <div\n key={message.id}\n class={`flex items-start justify-between gap-3 p-3 rounded border ${variantClasses[message.variant]}`}\n role=\"alert\"\n aria-live=\"polite\"\n >\n <span class=\"break-words\">{message.text}</span>\n <button type=\"button\" class=\"cursor-pointer leading-none pt-1\" onClick={() => Flash.remove(message.id)} aria-label=\"Close\">\n <CloseIcon />\n </button>\n </div>\n ))}\n </div>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"flash-message.js","sourceRoot":"","sources":["../../../../src/shared/components/flash-message/flash-message.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,MAAM,cAAc,GAAG;IACrB,KAAK,EAAE,6CAA6C;IACpD,OAAO,EAAE,mDAAmD;IAC5D,IAAI,EAAE,gDAAgD;CACvD,CAAC;AAMF,MAAM,OAAO,YAAY;IACY,kBAAkB,GAAG,EAAE,CAAC;IACnD,kBAAkB,GAAkB,IAAI,CAAC;IAEjD,iBAAiB;QACf,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC5B,UAAU,CAAC,eAAe,GAAG,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;QAC9D,CAAC;IACH,CAAC;IAED,MAAM;QACJ,IAAI,UAAU,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,CACL,WAAK,KAAK,EAAE,6DAA6D,IAAI,CAAC,kBAAkB,EAAE,IAC/F,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CACpC,WACE,GAAG,EAAE,OAAO,CAAC,EAAE,EACf,KAAK,EAAE,2EAA2E,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,EACnH,IAAI,EAAC,OAAO,eACF,QAAQ;YAElB,YAAM,KAAK,EAAC,eAAe,IAAE,OAAO,CAAC,IAAI,CAAQ;YACjD,cACE,IAAI,EAAC,QAAQ,EACb,KAAK,EAAC,wCAAwC,EAC9C,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,gBAC5B,OAAO;gBAElB,EAAC,SAAS,OAAG,CACN,CACL,CACP,CAAC,CACE,CACP,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, Prop, h } from \"@stencil/core\";\nimport { flashState, Flash } from \"../../store/flash-store\";\nimport { CloseIcon } from \"./close-icon\";\n\nconst variantClasses = {\n error: \"u:bg-red-50 u:border-red-300 u:text-red-800\",\n success: \"u:bg-green-50 u:border-green-400 u:text-green-800\",\n info: \"u:bg-blue-50 u:border-blue-300 u:text-blue-800\",\n};\n\n@Component({\n tag: \"u-flash-message\",\n shadow: false,\n})\nexport class FlashMessage {\n @Prop({ attribute: \"class-name\" }) componentClassName = \"\";\n @Prop() removeAfterSeconds: number | null = null;\n\n componentWillLoad() {\n if (this.removeAfterSeconds) {\n flashState.autoRemoveDelay = this.removeAfterSeconds * 1000;\n }\n }\n\n render() {\n if (flashState.messages.length === 0) {\n return null;\n }\n\n return (\n <div class={`u:flex u:flex-col u:gap-2 u:z-[500] u:min-w-64 u:max-w-lg ${this.componentClassName}`}>\n {flashState.messages.map((message) => (\n <div\n key={message.id}\n class={`u:flex u:items-start u:justify-between u:gap-3 u:p-3 u:rounded u:border ${variantClasses[message.variant]}`}\n role=\"alert\"\n aria-live=\"polite\"\n >\n <span class=\"u:break-words\">{message.text}</span>\n <button\n type=\"button\"\n class=\"u:cursor-pointer u:leading-none u:pt-1\"\n onClick={() => Flash.remove(message.id)}\n aria-label=\"Close\"\n >\n <CloseIcon />\n </button>\n </div>\n ))}\n </div>\n );\n }\n}\n"]}
@@ -1 +1 @@
1
- /*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000}}}@layer theme{:host,:root{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--animate-spin:spin 1s linear infinite;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,::backdrop,:after,:before{border:0 solid;box-sizing:border-box;margin:0;padding:0}::file-selector-button{appearance:button;background-color:#0000;border:0 solid;border-radius:0;box-sizing:border-box;color:inherit;font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;margin:0;margin-inline-end:4px;opacity:1;padding:0}:host,html{-webkit-text-size-adjust:100%;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);line-height:1.5;tab-size:4;-webkit-tap-highlight-color:transparent}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-size:1em;font-variation-settings:var(--default-mono-font-variation-settings,normal)}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}button,input,optgroup,select,textarea{background-color:#0000;border-radius:0;color:inherit;font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;opacity:1}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex;padding-block:0}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field,::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.flex{display:flex}.justify-center{justify-content:center}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.container{width:100%}.inline-flex{display:inline-flex}.h-\[1em\]{height:1em}.w-\[1em\]{width:1em}.animate-spin{animation:var(--animate-spin)}.items-center{align-items:center}.rounded-\[50\%\]{border-radius:50%}.border{border-style:var(--tw-border-style);border-width:1px}} /*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer components;@layer utilities{}@keyframes spin{to{transform:rotate(1turn)}} /*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer components; /*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer components; /*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer components;@layer utilities{.block{display:block}.justify-end{justify-content:flex-end}} /*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer components; /*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer components; /*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer components;@layer utilities{} /*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer components; /*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer components; /*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer components; /*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer components; /*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer components; /*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer components; /*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer components; /*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer components;:host{font-size:var(--spinner-font-size,20px)}.spinner-inner{border-top:.1em solid var(--spinner-color-secondary,#ccc);border:.1em solid var(--spinner-color-secondary,#ccc);border-top-color:var(--spinner-color-primary,#333)}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}
1
+ /*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer theme{:host,:root{--u-animate-spin:spin 1s linear infinite;--u-font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--u-font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--u-default-font-family:var(--u-font-sans);--u-default-mono-font-family:var(--u-font-mono);--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,::backdrop,:after,:before{border:0 solid;box-sizing:border-box;margin:0;padding:0}::file-selector-button{appearance:button;background-color:#0000;border:0 solid;border-radius:0;box-sizing:border-box;color:inherit;font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;margin:0;margin-inline-end:4px;opacity:1;padding:0}:host,html{font-family:var(--u-default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--u-default-font-feature-settings,normal);font-variation-settings:var(--u-default-font-variation-settings,normal);-webkit-text-size-adjust:100%;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);line-height:1.5;tab-size:4;-webkit-tap-highlight-color:transparent}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--u-default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--u-default-mono-font-feature-settings,normal);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-size:1em;font-variation-settings:var(--u-default-mono-font-variation-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal)}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}button,input,optgroup,select,textarea{background-color:#0000;border-radius:0;color:inherit;font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;opacity:1}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex;padding-block:0}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field,::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.u\:flex{display:flex}.u\:justify-center{justify-content:center}.u\:disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.u\:disabled\:opacity-50:disabled{opacity:.5}.u\:inline-flex{display:inline-flex}.u\:h-\[1em\]{height:1em}.u\:w-\[1em\]{width:1em}.u\:animate-spin{animation:var(--u-animate-spin)}.u\:items-center{align-items:center}.u\:rounded-\[50\%\]{border-radius:50%}} /*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer base{}@layer components;@layer utilities{}@keyframes spin{to{transform:rotate(1turn)}} /*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer base{}@layer components;@layer utilities{.u\:justify-end{justify-content:flex-end}} /*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer base{}@layer components,utilities; /*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer base{}@layer components,utilities; /*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer base{}@layer components,utilities; /*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer base{}@layer components; /*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer base{}@layer components,utilities; /*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer base{}@layer components,utilities; /*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer base{}@layer components,utilities; /*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer base{}@layer components,utilities; /*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer base{}@layer components; /*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer base{}@layer components; /*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000}}}@layer base{}@layer components;@layer utilities{.container{width:100%}.border{border-style:var(--tw-border-style);border-width:1px}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}:host{font-size:var(--spinner-font-size,20px)}.spinner-inner{border-top:.1em solid var(--spinner-color-secondary,#ccc);border:.1em solid var(--spinner-color-secondary,#ccc);border-top-color:var(--spinner-color-primary,#333)}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}
@@ -1,7 +1,7 @@
1
1
  import { h, Host } from "@stencil/core";
2
2
  export class Spinner {
3
3
  render() {
4
- return (h(Host, { key: 'e58bcb4e514a3f2ba7c7bc8768a4fde5d318f88c', class: "inline-flex items-center justify-center" }, h("div", { key: '99cccfa7c5384ef5f90135bcc983e4c212ec86f0', class: "spinner-inner w-[1em] h-[1em] rounded-[50%] animate-spin", part: "spinner", "aria-label": "Loading" })));
4
+ return (h(Host, { key: 'f274c3b889914d85bcae58d6410a795dbe81532e', class: "u:inline-flex u:items-center u:justify-center" }, h("div", { key: '31cd52b09d389e5553a6ee64071becc45f2fd32c', class: "spinner-inner u:w-[1em] u:h-[1em] u:rounded-[50%] u:animate-spin", part: "spinner", "aria-label": "Loading" })));
5
5
  }
6
6
  static get is() { return "u-spinner"; }
7
7
  static get encapsulation() { return "shadow"; }
@@ -1 +1 @@
1
- {"version":3,"file":"spinner.js","sourceRoot":"","sources":["../../../../src/shared/components/spinner/spinner.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAOnD,MAAM,OAAO,OAAO;IAClB,MAAM;QACJ,OAAO,CACL,EAAC,IAAI,qDAAC,KAAK,EAAC,yCAAyC;YACnD,4DAAK,KAAK,EAAC,0DAA0D,EAAC,IAAI,EAAC,SAAS,gBAAY,SAAS,GAAG,CACvG,CACR,CAAC;IACJ,CAAC;;;;;;;;;CACF","sourcesContent":["import { Component, h, Host } from \"@stencil/core\";\n\n@Component({\n tag: \"u-spinner\",\n styleUrl: \"spinner.css\",\n shadow: true,\n})\nexport class Spinner {\n render() {\n return (\n <Host class=\"inline-flex items-center justify-center\">\n <div class=\"spinner-inner w-[1em] h-[1em] rounded-[50%] animate-spin\" part=\"spinner\" aria-label=\"Loading\" />\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"spinner.js","sourceRoot":"","sources":["../../../../src/shared/components/spinner/spinner.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAOnD,MAAM,OAAO,OAAO;IAClB,MAAM;QACJ,OAAO,CACL,EAAC,IAAI,qDAAC,KAAK,EAAC,+CAA+C;YACzD,4DAAK,KAAK,EAAC,kEAAkE,EAAC,IAAI,EAAC,SAAS,gBAAY,SAAS,GAAG,CAC/G,CACR,CAAC;IACJ,CAAC;;;;;;;;;CACF","sourcesContent":["import { Component, h, Host } from \"@stencil/core\";\n\n@Component({\n tag: \"u-spinner\",\n styleUrl: \"spinner.css\",\n shadow: true,\n})\nexport class Spinner {\n render() {\n return (\n <Host class=\"u:inline-flex u:items-center u:justify-center\">\n <div class=\"spinner-inner u:w-[1em] u:h-[1em] u:rounded-[50%] u:animate-spin\" part=\"spinner\" aria-label=\"Loading\" />\n </Host>\n );\n }\n}\n"]}
@@ -74,8 +74,8 @@ export class SubmitButton {
74
74
  }
75
75
  const buttonClasses = [
76
76
  this.componentClassName,
77
- this.context === "auth" ? "flex justify-center" : "",
78
- "disabled:opacity-50 disabled:cursor-not-allowed",
77
+ this.context === "auth" ? "u:flex u:justify-center" : "",
78
+ "u:disabled:opacity-50 u:disabled:cursor-not-allowed",
79
79
  ].join(" ");
80
80
  const buttonProps = {
81
81
  type: "submit",