@unidy.io/sdk 1.2.0-alpha9 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (715) hide show
  1. package/dist/cjs/_commonjsHelpers-CFO10eej.js +10 -0
  2. package/dist/cjs/_commonjsHelpers-CFO10eej.js.map +1 -0
  3. package/dist/cjs/app-globals-C-Wl5lPS.js +10 -0
  4. package/dist/cjs/app-globals-C-Wl5lPS.js.map +1 -0
  5. package/dist/cjs/{auth-store-DPmGKHZ2.js → auth-store-0vv3uOib.js} +4 -4
  6. package/dist/cjs/{auth-store-DPmGKHZ2.js.map → auth-store-0vv3uOib.js.map} +1 -1
  7. package/dist/cjs/component-DLxnZCW6.js +34 -0
  8. package/dist/cjs/component-DLxnZCW6.js.map +1 -0
  9. package/dist/cjs/component-utils-XXctnOM9.js +38 -0
  10. package/dist/cjs/component-utils-XXctnOM9.js.map +1 -0
  11. package/dist/cjs/de-BWF6Glzg.js +704 -0
  12. package/dist/cjs/de-BWF6Glzg.js.map +1 -0
  13. package/dist/cjs/en-GB-DhD5mdQw.js +119 -0
  14. package/dist/cjs/en-GB-DhD5mdQw.js.map +1 -0
  15. package/dist/cjs/{flash-store-gbSYhPAV.js → flash-store-CR6Umh1O.js} +3 -3
  16. package/dist/cjs/{flash-store-gbSYhPAV.js.map → flash-store-CR6Umh1O.js.map} +1 -1
  17. package/dist/cjs/fr-j2wwoj-A.js +577 -0
  18. package/dist/cjs/fr-j2wwoj-A.js.map +1 -0
  19. package/dist/cjs/has-slot-content-CfJbU4t-.js +37 -0
  20. package/dist/cjs/has-slot-content-CfJbU4t-.js.map +1 -0
  21. package/dist/cjs/{i18n-D5j_Zl-4.js → i18n-ClWrNmGh.js} +100 -4
  22. package/dist/cjs/{i18n-D5j_Zl-4.js.map → i18n-ClWrNmGh.js.map} +1 -1
  23. package/dist/cjs/{index-B325yXfO.js → index-2Fz3r5o0.js} +5 -41
  24. package/dist/cjs/index-2Fz3r5o0.js.map +1 -0
  25. package/dist/cjs/{index-yaeiYlfa.js → index-C6ZBKFYr.js} +3 -3
  26. package/dist/cjs/{index-yaeiYlfa.js.map → index-C6ZBKFYr.js.map} +1 -1
  27. package/dist/cjs/{index-BzPYBLYC.js → index-CpPKy1CZ.js} +1170 -1087
  28. package/dist/cjs/index-CpPKy1CZ.js.map +1 -0
  29. package/dist/cjs/index.cjs.js +24 -11
  30. package/dist/cjs/index.cjs.js.map +1 -1
  31. package/dist/cjs/loader.cjs.js +3 -3
  32. package/dist/cjs/{newsletter-helpers-hdDC5X-V.js → newsletter-helpers-BHvOI8M4.js} +46 -9
  33. package/dist/cjs/newsletter-helpers-BHvOI8M4.js.map +1 -0
  34. package/dist/cjs/{newsletter-store-CupsLgO9.js → newsletter-store-22Jswiqe.js} +5 -3
  35. package/dist/cjs/newsletter-store-22Jswiqe.js.map +1 -0
  36. package/dist/cjs/nl-BE-yKvOp1-G.js +542 -0
  37. package/dist/cjs/nl-BE-yKvOp1-G.js.map +1 -0
  38. package/dist/cjs/{profile-helpers-Bprrm-Xl.js → profile-helpers-BBpAqHjK.js} +4 -4
  39. package/dist/cjs/{profile-helpers-Bprrm-Xl.js.map → profile-helpers-BBpAqHjK.js.map} +1 -1
  40. package/dist/cjs/{profile-store-C_q-TuA_.js → profile-store-CQEQhPQD.js} +4 -4
  41. package/dist/cjs/{profile-store-C_q-TuA_.js.map → profile-store-CQEQhPQD.js.map} +1 -1
  42. package/dist/cjs/redirect-with-token-wupYX97S.js +37 -0
  43. package/dist/cjs/redirect-with-token-wupYX97S.js.map +1 -0
  44. package/dist/cjs/ro-CXq9d1lv.js +578 -0
  45. package/dist/cjs/ro-CXq9d1lv.js.map +1 -0
  46. package/dist/cjs/sdk.cjs.js +3 -3
  47. package/dist/cjs/sv-CMln4V33.js +597 -0
  48. package/dist/cjs/sv-CMln4V33.js.map +1 -0
  49. package/dist/cjs/u-conditional-render.cjs.entry.js +14 -14
  50. package/dist/cjs/u-conditional-render.entry.cjs.js.map +1 -1
  51. package/dist/cjs/u-config.cjs.entry.js +24 -11
  52. package/dist/cjs/u-config.entry.cjs.js.map +1 -1
  53. package/dist/cjs/u-email-field.cjs.entry.js +7 -7
  54. package/dist/cjs/u-error-message.cjs.entry.js +49 -22
  55. package/dist/cjs/u-error-message.entry.cjs.js.map +1 -1
  56. package/dist/cjs/u-field.u-raw-field.entry.cjs.js.map +1 -1
  57. package/dist/cjs/u-field_2.cjs.entry.js +124 -12
  58. package/dist/cjs/u-flash-message.cjs.entry.js +3 -3
  59. package/dist/cjs/u-full-profile.cjs.entry.js +6 -6
  60. package/dist/cjs/u-jump-to-service.cjs.entry.js +23 -44
  61. package/dist/cjs/u-jump-to-service.entry.cjs.js.map +1 -1
  62. package/dist/cjs/u-jump-to-unidy.cjs.entry.js +22 -43
  63. package/dist/cjs/u-jump-to-unidy.entry.cjs.js.map +1 -1
  64. package/dist/cjs/u-logout-button.u-signed-in.entry.cjs.js.map +1 -1
  65. package/dist/cjs/u-logout-button_2.cjs.entry.js +15 -22
  66. package/dist/cjs/u-magic-code-field.cjs.entry.js +8 -9
  67. package/dist/cjs/u-magic-code-field.entry.cjs.js.map +1 -1
  68. package/dist/cjs/u-missing-field.cjs.entry.js +6 -5
  69. package/dist/cjs/u-missing-field.entry.cjs.js.map +1 -1
  70. package/dist/cjs/u-missing-fields-submit-button.cjs.entry.js +16 -14
  71. package/dist/cjs/u-missing-fields-submit-button.entry.cjs.js.map +1 -1
  72. package/dist/cjs/u-newsletter-checkbox.cjs.entry.js +11 -12
  73. package/dist/cjs/u-newsletter-checkbox.entry.cjs.js.map +1 -1
  74. package/dist/cjs/u-newsletter-consent-checkbox.cjs.entry.js +4 -4
  75. package/dist/cjs/u-newsletter-logout-button.cjs.entry.js +15 -20
  76. package/dist/cjs/u-newsletter-logout-button.entry.cjs.js.map +1 -1
  77. package/dist/cjs/u-newsletter-preference-checkbox.cjs.entry.js +11 -12
  78. package/dist/cjs/u-newsletter-preference-checkbox.entry.cjs.js.map +1 -1
  79. package/dist/cjs/u-newsletter-resend-doi-button.cjs.entry.js +10 -11
  80. package/dist/cjs/u-newsletter-resend-doi-button.entry.cjs.js.map +1 -1
  81. package/dist/cjs/u-newsletter-root.cjs.entry.js +45 -22
  82. package/dist/cjs/u-newsletter-root.entry.cjs.js.map +1 -1
  83. package/dist/cjs/u-newsletter-toggle-subscription-button.cjs.entry.js +11 -12
  84. package/dist/cjs/u-newsletter-toggle-subscription-button.entry.cjs.js.map +1 -1
  85. package/dist/cjs/u-pagination-button.cjs.entry.js +4 -4
  86. package/dist/cjs/u-pagination-button.entry.cjs.js.map +1 -1
  87. package/dist/cjs/u-pagination-page.cjs.entry.js +4 -4
  88. package/dist/cjs/u-pagination-page.entry.cjs.js.map +1 -1
  89. package/dist/cjs/u-passkey.cjs.entry.js +8 -9
  90. package/dist/cjs/u-passkey.entry.cjs.js.map +1 -1
  91. package/dist/cjs/u-password-field.cjs.entry.js +5 -5
  92. package/dist/cjs/u-profile.u-submit-button.entry.cjs.js.map +1 -1
  93. package/dist/cjs/u-profile_2.cjs.entry.js +31 -33
  94. package/dist/cjs/u-registration-button.cjs.entry.js +5 -5
  95. package/dist/cjs/u-reset-password-button.cjs.entry.js +12 -15
  96. package/dist/cjs/u-reset-password-button.entry.cjs.js.map +1 -1
  97. package/dist/cjs/u-send-magic-code-button.cjs.entry.js +8 -9
  98. package/dist/cjs/u-send-magic-code-button.entry.cjs.js.map +1 -1
  99. package/dist/cjs/u-signin-root.cjs.entry.js +6 -8
  100. package/dist/cjs/u-signin-root.entry.cjs.js.map +1 -1
  101. package/dist/cjs/u-signin-step.cjs.entry.js +17 -21
  102. package/dist/cjs/u-signin-step.entry.cjs.js.map +1 -1
  103. package/dist/cjs/u-social-login-button.cjs.entry.js +16 -15
  104. package/dist/cjs/u-social-login-button.entry.cjs.js.map +1 -1
  105. package/dist/cjs/u-spinner.cjs.entry.js +3 -3
  106. package/dist/cjs/u-spinner.entry.cjs.js.map +1 -1
  107. package/dist/cjs/u-ticketable-export.cjs.entry.js +76 -0
  108. package/dist/cjs/u-ticketable-export.entry.cjs.js.map +1 -0
  109. package/dist/cjs/u-ticketable-list-D3M8iA-g.js +3991 -0
  110. package/dist/cjs/u-ticketable-list-D3M8iA-g.js.map +1 -0
  111. package/dist/cjs/u-ticketable-list.cjs.entry.js +11 -6118
  112. package/dist/cjs/u-ticketable-list.entry.cjs.js.map +1 -1
  113. package/dist/cjs/{unidy-store-BGnWn9pc.js → unidy-store-Bvnl24i9.js} +3 -3
  114. package/dist/cjs/{unidy-store-BGnWn9pc.js.map → unidy-store-Bvnl24i9.js.map} +1 -1
  115. package/dist/collection/api/base-service.js.map +1 -1
  116. package/dist/collection/api/client.js.map +1 -1
  117. package/dist/collection/api/index.js +6 -6
  118. package/dist/collection/api/index.js.map +1 -1
  119. package/dist/collection/api/standalone.js +88 -39
  120. package/dist/collection/api/standalone.js.map +1 -1
  121. package/dist/collection/auth/api/auth.js.map +1 -1
  122. package/dist/collection/auth/api/schemas.js +5 -5
  123. package/dist/collection/auth/api/schemas.js.map +1 -1
  124. package/dist/collection/auth/auth-helpers.js +7 -8
  125. package/dist/collection/auth/auth-helpers.js.map +1 -1
  126. package/dist/collection/auth/auth.js +1 -0
  127. package/dist/collection/auth/auth.js.map +1 -1
  128. package/dist/collection/auth/components/jump-to-service/jump-to-service.js +20 -40
  129. package/dist/collection/auth/components/jump-to-service/jump-to-service.js.map +1 -1
  130. package/dist/collection/auth/components/jump-to-unidy/jump-to-unidy.js +20 -39
  131. package/dist/collection/auth/components/jump-to-unidy/jump-to-unidy.js.map +1 -1
  132. package/dist/collection/auth/components/logout-button/logout-button.js +7 -11
  133. package/dist/collection/auth/components/logout-button/logout-button.js.map +1 -1
  134. package/dist/collection/auth/components/missing-field/missing-field.js +25 -1
  135. package/dist/collection/auth/components/missing-field/missing-field.js.map +1 -1
  136. package/dist/collection/auth/components/missing-fields-submit-button/missing-fields-submit-button.js +33 -7
  137. package/dist/collection/auth/components/missing-fields-submit-button/missing-fields-submit-button.js.map +1 -1
  138. package/dist/collection/auth/components/password-field/password-field.js +1 -1
  139. package/dist/collection/auth/components/reset-pass-button/reset-pass-button.js +6 -8
  140. package/dist/collection/auth/components/reset-pass-button/reset-pass-button.js.map +1 -1
  141. package/dist/collection/auth/components/signed-in/signed-in.js +2 -5
  142. package/dist/collection/auth/components/signed-in/signed-in.js.map +1 -1
  143. package/dist/collection/auth/components/signin-root/signin-root.js +2 -5
  144. package/dist/collection/auth/components/signin-root/signin-root.js.map +1 -1
  145. package/dist/collection/auth/components/signin-step/signin-step.js +9 -13
  146. package/dist/collection/auth/components/signin-step/signin-step.js.map +1 -1
  147. package/dist/collection/auth/components/social-logins/social-login-button.css +1 -1
  148. package/dist/collection/auth/components/social-logins/social-login-button.js +11 -12
  149. package/dist/collection/auth/components/social-logins/social-login-button.js.map +1 -1
  150. package/dist/collection/auth/components/submit-button/auth-submit-button.js +10 -0
  151. package/dist/collection/auth/components/submit-button/auth-submit-button.js.map +1 -1
  152. package/dist/collection/collection-manifest.json +1 -0
  153. package/dist/collection/locales/de.json +16 -0
  154. package/dist/collection/locales/en.json +16 -0
  155. package/dist/collection/locales/fr.json +16 -0
  156. package/dist/collection/locales/it.json +16 -0
  157. package/dist/collection/locales/nl_be.json +16 -0
  158. package/dist/collection/locales/ro.json +16 -0
  159. package/dist/collection/logger.js +0 -37
  160. package/dist/collection/logger.js.map +1 -1
  161. package/dist/collection/newsletter/api/newsletters.js +19 -18
  162. package/dist/collection/newsletter/api/newsletters.js.map +1 -1
  163. package/dist/collection/newsletter/components/consent-checkbox/consent-checkbox.js +1 -1
  164. package/dist/collection/newsletter/components/logout-button/logout-button.js +6 -10
  165. package/dist/collection/newsletter/components/logout-button/logout-button.js.map +1 -1
  166. package/dist/collection/newsletter/components/newsletter-checkbox/newsletter-checkbox.js +1 -1
  167. package/dist/collection/newsletter/components/newsletter-root/newsletter-root.js +65 -10
  168. package/dist/collection/newsletter/components/newsletter-root/newsletter-root.js.map +1 -1
  169. package/dist/collection/newsletter/components/preference-checkbox/preference-checkbox.js +1 -1
  170. package/dist/collection/newsletter/components/toggle-subscription-button/toggle-subscription-button.js +1 -1
  171. package/dist/collection/newsletter/newsletter-helpers.js +39 -2
  172. package/dist/collection/newsletter/newsletter-helpers.js.map +1 -1
  173. package/dist/collection/newsletter/store/newsletter-store.js +2 -0
  174. package/dist/collection/newsletter/store/newsletter-store.js.map +1 -1
  175. package/dist/collection/profile/api/profile.js.map +1 -1
  176. package/dist/collection/profile/api/schemas.js +1 -1
  177. package/dist/collection/profile/api/schemas.js.map +1 -1
  178. package/dist/collection/profile/components/field/field.js +3 -1
  179. package/dist/collection/profile/components/field/field.js.map +1 -1
  180. package/dist/collection/profile/components/full-profile/full-profile.js +1 -1
  181. package/dist/collection/profile/components/raw-field/raw-field.js +40 -7
  182. package/dist/collection/profile/components/raw-field/raw-field.js.map +1 -1
  183. package/dist/collection/profile/store/profile-store.js +1 -1
  184. package/dist/collection/profile/store/profile-store.js.map +1 -1
  185. package/dist/collection/shared/base/component.js +28 -0
  186. package/dist/collection/shared/base/component.js.map +1 -0
  187. package/dist/collection/shared/base/has-slot-content.js +31 -0
  188. package/dist/collection/shared/base/has-slot-content.js.map +1 -0
  189. package/dist/collection/shared/component-utils.js +23 -27
  190. package/dist/collection/shared/component-utils.js.map +1 -1
  191. package/dist/collection/shared/components/conditional-render/conditional-render.js +4 -5
  192. package/dist/collection/shared/components/conditional-render/conditional-render.js.map +1 -1
  193. package/dist/collection/shared/components/config/config.js +18 -5
  194. package/dist/collection/shared/components/config/config.js.map +1 -1
  195. package/dist/collection/shared/components/email-field/email-field.js +1 -1
  196. package/dist/collection/shared/components/error-message/error-message.css +1 -1
  197. package/dist/collection/shared/components/error-message/error-message.js +44 -17
  198. package/dist/collection/shared/components/error-message/error-message.js.map +1 -1
  199. package/dist/collection/shared/components/spinner/spinner.css +1 -1
  200. package/dist/collection/shared/components/spinner/spinner.js +1 -1
  201. package/dist/collection/shared/components/submit-button/submit-button.css +1 -1
  202. package/dist/collection/shared/components/submit-button/submit-button.js +12 -23
  203. package/dist/collection/shared/components/submit-button/submit-button.js.map +1 -1
  204. package/dist/collection/shared/context-utils.js +96 -0
  205. package/dist/collection/shared/context-utils.js.map +1 -0
  206. package/dist/collection/shared/utils/redirect-with-token.js +30 -0
  207. package/dist/collection/shared/utils/redirect-with-token.js.map +1 -0
  208. package/dist/collection/shared/utils/url-utils.js +25 -0
  209. package/dist/collection/shared/utils/url-utils.js.map +1 -0
  210. package/dist/collection/ticketable/api/schemas.js +10 -2
  211. package/dist/collection/ticketable/api/schemas.js.map +1 -1
  212. package/dist/collection/ticketable/api/subscriptions.js +22 -1
  213. package/dist/collection/ticketable/api/subscriptions.js.map +1 -1
  214. package/dist/collection/ticketable/api/tickets.js +22 -1
  215. package/dist/collection/ticketable/api/tickets.js.map +1 -1
  216. package/dist/collection/ticketable/components/pagination/pagination-button.js +3 -5
  217. package/dist/collection/ticketable/components/pagination/pagination-button.js.map +1 -1
  218. package/dist/collection/ticketable/components/pagination/pagination-page.js +3 -5
  219. package/dist/collection/ticketable/components/pagination/pagination-page.js.map +1 -1
  220. package/dist/collection/ticketable/components/ticketable-export/ticketable-export.js +175 -0
  221. package/dist/collection/ticketable/components/ticketable-export/ticketable-export.js.map +1 -0
  222. package/dist/collection/ticketable/components/ticketable-list/ticketable-list.js +163 -25
  223. package/dist/collection/ticketable/components/ticketable-list/ticketable-list.js.map +1 -1
  224. package/dist/collection/ticketable/index.js +1 -0
  225. package/dist/collection/ticketable/index.js.map +1 -1
  226. package/dist/components/_commonjsHelpers.js +8 -0
  227. package/dist/components/_commonjsHelpers.js.map +1 -0
  228. package/dist/components/component-utils.js +25 -28
  229. package/dist/components/component-utils.js.map +1 -1
  230. package/dist/components/component.js +33 -0
  231. package/dist/components/component.js.map +1 -0
  232. package/dist/components/de.js +702 -0
  233. package/dist/components/de.js.map +1 -0
  234. package/dist/components/en-GB.js +117 -0
  235. package/dist/components/en-GB.js.map +1 -0
  236. package/dist/components/field.js +3 -1
  237. package/dist/components/field.js.map +1 -1
  238. package/dist/components/fr.js +575 -0
  239. package/dist/components/fr.js.map +1 -0
  240. package/dist/components/has-slot-content.js +35 -0
  241. package/dist/components/has-slot-content.js.map +1 -0
  242. package/dist/components/i18n.js +96 -0
  243. package/dist/components/i18n.js.map +1 -1
  244. package/dist/components/index.js +11 -3
  245. package/dist/components/index.js.map +1 -1
  246. package/dist/components/index2.js +1158 -1083
  247. package/dist/components/index2.js.map +1 -1
  248. package/dist/components/logger.js +1 -39
  249. package/dist/components/logger.js.map +1 -1
  250. package/dist/components/newsletter-helpers.js +39 -2
  251. package/dist/components/newsletter-helpers.js.map +1 -1
  252. package/dist/components/newsletter-store.js +2 -0
  253. package/dist/components/newsletter-store.js.map +1 -1
  254. package/dist/components/nl-BE.js +540 -0
  255. package/dist/components/nl-BE.js.map +1 -0
  256. package/dist/components/profile-store.js +1 -1
  257. package/dist/components/profile-store.js.map +1 -1
  258. package/dist/components/raw-field.js +116 -7
  259. package/dist/components/raw-field.js.map +1 -1
  260. package/dist/components/redirect-with-token.js +35 -0
  261. package/dist/components/redirect-with-token.js.map +1 -0
  262. package/dist/components/ro.js +576 -0
  263. package/dist/components/ro.js.map +1 -0
  264. package/dist/components/spinner.js +2 -2
  265. package/dist/components/spinner.js.map +1 -1
  266. package/dist/components/submit-button.js +21 -24
  267. package/dist/components/submit-button.js.map +1 -1
  268. package/dist/components/sv.js +595 -0
  269. package/dist/components/sv.js.map +1 -0
  270. package/dist/components/u-conditional-render.js +5 -6
  271. package/dist/components/u-conditional-render.js.map +1 -1
  272. package/dist/components/u-config.js +16 -3
  273. package/dist/components/u-config.js.map +1 -1
  274. package/dist/components/u-email-field.js +1 -1
  275. package/dist/components/u-error-message.js +44 -19
  276. package/dist/components/u-error-message.js.map +1 -1
  277. package/dist/components/u-full-profile.js +1 -1
  278. package/dist/components/u-jump-to-service.js +16 -38
  279. package/dist/components/u-jump-to-service.js.map +1 -1
  280. package/dist/components/u-jump-to-unidy.js +16 -37
  281. package/dist/components/u-jump-to-unidy.js.map +1 -1
  282. package/dist/components/u-logout-button.js +5 -11
  283. package/dist/components/u-logout-button.js.map +1 -1
  284. package/dist/components/u-missing-field.js +5 -2
  285. package/dist/components/u-missing-field.js.map +1 -1
  286. package/dist/components/u-missing-fields-submit-button.js +10 -8
  287. package/dist/components/u-missing-fields-submit-button.js.map +1 -1
  288. package/dist/components/u-newsletter-checkbox.js +1 -1
  289. package/dist/components/u-newsletter-consent-checkbox.js +1 -1
  290. package/dist/components/u-newsletter-logout-button.js +6 -12
  291. package/dist/components/u-newsletter-logout-button.js.map +1 -1
  292. package/dist/components/u-newsletter-preference-checkbox.js +1 -1
  293. package/dist/components/u-newsletter-root.js +35 -12
  294. package/dist/components/u-newsletter-root.js.map +1 -1
  295. package/dist/components/u-newsletter-toggle-subscription-button.js +1 -1
  296. package/dist/components/u-pagination-button.js +3 -4
  297. package/dist/components/u-pagination-button.js.map +1 -1
  298. package/dist/components/u-pagination-page.js +3 -4
  299. package/dist/components/u-pagination-page.js.map +1 -1
  300. package/dist/components/u-reset-password-button.js +4 -8
  301. package/dist/components/u-reset-password-button.js.map +1 -1
  302. package/dist/components/u-signed-in.js +3 -6
  303. package/dist/components/u-signed-in.js.map +1 -1
  304. package/dist/components/u-signin-root.js +3 -6
  305. package/dist/components/u-signin-root.js.map +1 -1
  306. package/dist/components/u-signin-step.js +10 -14
  307. package/dist/components/u-signin-step.js.map +1 -1
  308. package/dist/components/u-social-login-button.js +13 -14
  309. package/dist/components/u-social-login-button.js.map +1 -1
  310. package/dist/components/u-ticketable-export.d.ts +11 -0
  311. package/dist/components/u-ticketable-export.js +93 -0
  312. package/dist/components/u-ticketable-export.js.map +1 -0
  313. package/dist/components/u-ticketable-list.js +256 -2396
  314. package/dist/components/u-ticketable-list.js.map +1 -1
  315. package/dist/esm/_commonjsHelpers-B85MJLTf.js +8 -0
  316. package/dist/esm/_commonjsHelpers-B85MJLTf.js.map +1 -0
  317. package/dist/esm/app-globals-J743qnJf.js +8 -0
  318. package/dist/esm/app-globals-J743qnJf.js.map +1 -0
  319. package/dist/esm/{auth-store-DBlGNGhq.js → auth-store-CSpEdi46.js} +4 -4
  320. package/dist/esm/{auth-store-DBlGNGhq.js.map → auth-store-CSpEdi46.js.map} +1 -1
  321. package/dist/esm/component-qfegGRWr.js +32 -0
  322. package/dist/esm/component-qfegGRWr.js.map +1 -0
  323. package/dist/esm/component-utils-WEof9bTg.js +36 -0
  324. package/dist/esm/component-utils-WEof9bTg.js.map +1 -0
  325. package/dist/esm/de-C6AnCqsA.js +702 -0
  326. package/dist/esm/de-C6AnCqsA.js.map +1 -0
  327. package/dist/esm/en-GB-DO63WPxt.js +117 -0
  328. package/dist/esm/en-GB-DO63WPxt.js.map +1 -0
  329. package/dist/esm/{flash-store-Df2YkLTB.js → flash-store-Dn1Bava8.js} +3 -3
  330. package/dist/esm/{flash-store-Df2YkLTB.js.map → flash-store-Dn1Bava8.js.map} +1 -1
  331. package/dist/esm/fr-C0oU6-EJ.js +575 -0
  332. package/dist/esm/fr-C0oU6-EJ.js.map +1 -0
  333. package/dist/esm/has-slot-content-DSMkJu9G.js +35 -0
  334. package/dist/esm/has-slot-content-DSMkJu9G.js.map +1 -0
  335. package/dist/esm/{i18n-Da7S9Oqf.js → i18n-ioyZxWsT.js} +100 -4
  336. package/dist/esm/{i18n-Da7S9Oqf.js.map → i18n-ioyZxWsT.js.map} +1 -1
  337. package/dist/esm/{index-FTKB5a1d.js → index-BsJDptgj.js} +4 -40
  338. package/dist/esm/index-BsJDptgj.js.map +1 -0
  339. package/dist/esm/{index-BnAYOYR5.js → index-C8kmD3tu.js} +3 -3
  340. package/dist/esm/{index-BnAYOYR5.js.map → index-C8kmD3tu.js.map} +1 -1
  341. package/dist/esm/{index-BVlbCQEX.js → index-kgGjfc-n.js} +1163 -1088
  342. package/dist/esm/index-kgGjfc-n.js.map +1 -0
  343. package/dist/esm/index.js +18 -12
  344. package/dist/esm/index.js.map +1 -1
  345. package/dist/esm/loader.js +4 -4
  346. package/dist/esm/{newsletter-helpers-fCpxzovf.js → newsletter-helpers-DoKGN_Kq.js} +46 -9
  347. package/dist/esm/newsletter-helpers-DoKGN_Kq.js.map +1 -0
  348. package/dist/esm/{newsletter-store-BB618FgS.js → newsletter-store-DpR85vaC.js} +5 -3
  349. package/dist/esm/newsletter-store-DpR85vaC.js.map +1 -0
  350. package/dist/esm/nl-BE-C8uPYb_H.js +540 -0
  351. package/dist/esm/nl-BE-C8uPYb_H.js.map +1 -0
  352. package/dist/esm/{profile-helpers-CXK2X6Ts.js → profile-helpers-BMJy0ei_.js} +4 -4
  353. package/dist/esm/{profile-helpers-CXK2X6Ts.js.map → profile-helpers-BMJy0ei_.js.map} +1 -1
  354. package/dist/esm/{profile-store-CHlSKuTY.js → profile-store-7wBS3gBH.js} +4 -4
  355. package/dist/esm/{profile-store-CHlSKuTY.js.map → profile-store-7wBS3gBH.js.map} +1 -1
  356. package/dist/esm/redirect-with-token-StCLJlSp.js +35 -0
  357. package/dist/esm/redirect-with-token-StCLJlSp.js.map +1 -0
  358. package/dist/esm/ro-BlDHz7d-.js +576 -0
  359. package/dist/esm/ro-BlDHz7d-.js.map +1 -0
  360. package/dist/esm/sdk.js +4 -4
  361. package/dist/esm/sv-B_Gq29K0.js +595 -0
  362. package/dist/esm/sv-B_Gq29K0.js.map +1 -0
  363. package/dist/esm/u-conditional-render.entry.js +14 -14
  364. package/dist/esm/u-conditional-render.entry.js.map +1 -1
  365. package/dist/esm/u-config.entry.js +24 -11
  366. package/dist/esm/u-config.entry.js.map +1 -1
  367. package/dist/esm/u-email-field.entry.js +7 -7
  368. package/dist/esm/u-error-message.entry.js +49 -22
  369. package/dist/esm/u-error-message.entry.js.map +1 -1
  370. package/dist/esm/u-field.u-raw-field.entry.js.map +1 -1
  371. package/dist/esm/u-field_2.entry.js +124 -12
  372. package/dist/esm/u-flash-message.entry.js +3 -3
  373. package/dist/esm/u-full-profile.entry.js +6 -6
  374. package/dist/esm/u-jump-to-service.entry.js +23 -44
  375. package/dist/esm/u-jump-to-service.entry.js.map +1 -1
  376. package/dist/esm/u-jump-to-unidy.entry.js +22 -43
  377. package/dist/esm/u-jump-to-unidy.entry.js.map +1 -1
  378. package/dist/esm/u-logout-button.u-signed-in.entry.js.map +1 -1
  379. package/dist/esm/u-logout-button_2.entry.js +15 -22
  380. package/dist/esm/u-magic-code-field.entry.js +8 -9
  381. package/dist/esm/u-magic-code-field.entry.js.map +1 -1
  382. package/dist/esm/u-missing-field.entry.js +6 -5
  383. package/dist/esm/u-missing-field.entry.js.map +1 -1
  384. package/dist/esm/u-missing-fields-submit-button.entry.js +16 -14
  385. package/dist/esm/u-missing-fields-submit-button.entry.js.map +1 -1
  386. package/dist/esm/u-newsletter-checkbox.entry.js +11 -12
  387. package/dist/esm/u-newsletter-checkbox.entry.js.map +1 -1
  388. package/dist/esm/u-newsletter-consent-checkbox.entry.js +4 -4
  389. package/dist/esm/u-newsletter-logout-button.entry.js +15 -20
  390. package/dist/esm/u-newsletter-logout-button.entry.js.map +1 -1
  391. package/dist/esm/u-newsletter-preference-checkbox.entry.js +11 -12
  392. package/dist/esm/u-newsletter-preference-checkbox.entry.js.map +1 -1
  393. package/dist/esm/u-newsletter-resend-doi-button.entry.js +10 -11
  394. package/dist/esm/u-newsletter-resend-doi-button.entry.js.map +1 -1
  395. package/dist/esm/u-newsletter-root.entry.js +42 -19
  396. package/dist/esm/u-newsletter-root.entry.js.map +1 -1
  397. package/dist/esm/u-newsletter-toggle-subscription-button.entry.js +11 -12
  398. package/dist/esm/u-newsletter-toggle-subscription-button.entry.js.map +1 -1
  399. package/dist/esm/u-pagination-button.entry.js +4 -4
  400. package/dist/esm/u-pagination-button.entry.js.map +1 -1
  401. package/dist/esm/u-pagination-page.entry.js +4 -4
  402. package/dist/esm/u-pagination-page.entry.js.map +1 -1
  403. package/dist/esm/u-passkey.entry.js +8 -9
  404. package/dist/esm/u-passkey.entry.js.map +1 -1
  405. package/dist/esm/u-password-field.entry.js +5 -5
  406. package/dist/esm/u-profile.u-submit-button.entry.js.map +1 -1
  407. package/dist/esm/u-profile_2.entry.js +31 -33
  408. package/dist/esm/u-registration-button.entry.js +5 -5
  409. package/dist/esm/u-reset-password-button.entry.js +12 -15
  410. package/dist/esm/u-reset-password-button.entry.js.map +1 -1
  411. package/dist/esm/u-send-magic-code-button.entry.js +8 -9
  412. package/dist/esm/u-send-magic-code-button.entry.js.map +1 -1
  413. package/dist/esm/u-signin-root.entry.js +6 -8
  414. package/dist/esm/u-signin-root.entry.js.map +1 -1
  415. package/dist/esm/u-signin-step.entry.js +17 -21
  416. package/dist/esm/u-signin-step.entry.js.map +1 -1
  417. package/dist/esm/u-social-login-button.entry.js +16 -15
  418. package/dist/esm/u-social-login-button.entry.js.map +1 -1
  419. package/dist/esm/u-spinner.entry.js +3 -3
  420. package/dist/esm/u-spinner.entry.js.map +1 -1
  421. package/dist/esm/u-ticketable-export.entry.js +74 -0
  422. package/dist/esm/u-ticketable-export.entry.js.map +1 -0
  423. package/dist/esm/u-ticketable-list-D2p21JjR.js +3981 -0
  424. package/dist/esm/u-ticketable-list-D2p21JjR.js.map +1 -0
  425. package/dist/esm/u-ticketable-list.entry.js +10 -6121
  426. package/dist/esm/u-ticketable-list.entry.js.map +1 -1
  427. package/dist/esm/{unidy-store-Bg7IaIMd.js → unidy-store-B5Bf4Vit.js} +3 -3
  428. package/dist/esm/{unidy-store-Bg7IaIMd.js.map → unidy-store-B5Bf4Vit.js.map} +1 -1
  429. package/dist/sdk/index.esm.js +1 -1
  430. package/dist/sdk/index.esm.js.map +1 -1
  431. package/dist/sdk/locales/de.json +16 -0
  432. package/dist/sdk/locales/en.json +16 -0
  433. package/dist/sdk/locales/fr.json +16 -0
  434. package/dist/sdk/locales/it.json +16 -0
  435. package/dist/sdk/locales/nl_be.json +16 -0
  436. package/dist/sdk/locales/ro.json +16 -0
  437. package/dist/sdk/p-02dce5da.entry.js +2 -0
  438. package/dist/sdk/p-02dce5da.entry.js.map +1 -0
  439. package/dist/sdk/p-043c7643.entry.js +2 -0
  440. package/dist/sdk/p-043c7643.entry.js.map +1 -0
  441. package/dist/sdk/p-18c17747.entry.js +2 -0
  442. package/dist/sdk/p-18c17747.entry.js.map +1 -0
  443. package/dist/sdk/p-1a1c1af0.entry.js +2 -0
  444. package/dist/sdk/p-1a1c1af0.entry.js.map +1 -0
  445. package/dist/sdk/p-271781c7.entry.js +2 -0
  446. package/dist/sdk/{p-1a8973a6.entry.js.map → p-271781c7.entry.js.map} +1 -1
  447. package/dist/sdk/p-29473a55.entry.js +2 -0
  448. package/dist/sdk/p-29473a55.entry.js.map +1 -0
  449. package/dist/sdk/p-2a25d62e.entry.js +2 -0
  450. package/dist/sdk/p-2a25d62e.entry.js.map +1 -0
  451. package/dist/sdk/{p-C8lRzJEX.js → p-2bKltz_F.js} +2 -2
  452. package/dist/sdk/{p-C8lRzJEX.js.map → p-2bKltz_F.js.map} +1 -1
  453. package/dist/sdk/p-2cc3a00d.entry.js +2 -0
  454. package/dist/sdk/p-2cc3a00d.entry.js.map +1 -0
  455. package/dist/sdk/p-2f49e0cb.entry.js +2 -0
  456. package/dist/sdk/p-2f49e0cb.entry.js.map +1 -0
  457. package/dist/sdk/p-34f5d201.entry.js +2 -0
  458. package/dist/sdk/p-34f5d201.entry.js.map +1 -0
  459. package/dist/sdk/p-52c4bdd9.entry.js +2 -0
  460. package/dist/sdk/p-52c4bdd9.entry.js.map +1 -0
  461. package/dist/sdk/p-585a0efa.entry.js +2 -0
  462. package/dist/sdk/p-585a0efa.entry.js.map +1 -0
  463. package/dist/sdk/p-60675019.entry.js +2 -0
  464. package/dist/sdk/p-60675019.entry.js.map +1 -0
  465. package/dist/sdk/p-79ef9a70.entry.js +2 -0
  466. package/dist/sdk/p-79ef9a70.entry.js.map +1 -0
  467. package/dist/sdk/p-7d88e21c.entry.js +2 -0
  468. package/dist/sdk/p-7d88e21c.entry.js.map +1 -0
  469. package/dist/sdk/p-7eaf3468.entry.js +2 -0
  470. package/dist/sdk/p-7eaf3468.entry.js.map +1 -0
  471. package/dist/sdk/{p-88beb872.entry.js → p-8412762c.entry.js} +2 -2
  472. package/dist/sdk/p-8ea70c08.entry.js +2 -0
  473. package/dist/sdk/p-8ea70c08.entry.js.map +1 -0
  474. package/dist/sdk/p-946cdb0a.entry.js +2 -0
  475. package/dist/sdk/p-946cdb0a.entry.js.map +1 -0
  476. package/dist/sdk/p-94bb0217.entry.js +2 -0
  477. package/dist/sdk/p-94bb0217.entry.js.map +1 -0
  478. package/dist/sdk/{p-bcca06f1.entry.js → p-96860b09.entry.js} +2 -2
  479. package/dist/sdk/p-B1A6Nu24.js +2 -0
  480. package/dist/sdk/p-B1A6Nu24.js.map +1 -0
  481. package/dist/sdk/p-B85MJLTf.js +2 -0
  482. package/dist/sdk/p-B85MJLTf.js.map +1 -0
  483. package/dist/sdk/p-B8N6Bwsa.js +2 -0
  484. package/dist/sdk/{p-DCG3L43i.js.map → p-B8N6Bwsa.js.map} +1 -1
  485. package/dist/sdk/p-Ba5szISo.js +2 -0
  486. package/dist/sdk/p-Ba5szISo.js.map +1 -0
  487. package/dist/sdk/p-BsJDptgj.js +14 -0
  488. package/dist/sdk/p-BsJDptgj.js.map +1 -0
  489. package/dist/sdk/{p-bpXpOZY_.js → p-C0Mo15qt.js} +2 -2
  490. package/dist/sdk/{p-bpXpOZY_.js.map → p-C0Mo15qt.js.map} +1 -1
  491. package/dist/sdk/p-C10MAuCE.js +2 -0
  492. package/dist/sdk/p-C10MAuCE.js.map +1 -0
  493. package/dist/sdk/p-CTy6pQSg.js +2 -0
  494. package/dist/sdk/p-CTy6pQSg.js.map +1 -0
  495. package/dist/sdk/p-CW6kGAuQ.js +2 -0
  496. package/dist/sdk/p-CW6kGAuQ.js.map +1 -0
  497. package/dist/sdk/{p-DdMKVWx8.js → p-CbSP8My1.js} +2 -2
  498. package/dist/sdk/{p-DdMKVWx8.js.map → p-CbSP8My1.js.map} +1 -1
  499. package/dist/sdk/p-CbzzI4uW.js +2 -0
  500. package/dist/sdk/p-CbzzI4uW.js.map +1 -0
  501. package/dist/sdk/p-CgT6fZjb.js +2 -0
  502. package/dist/sdk/p-CgT6fZjb.js.map +1 -0
  503. package/dist/sdk/p-CuHZ3IkE.js +2 -0
  504. package/dist/sdk/p-CuHZ3IkE.js.map +1 -0
  505. package/dist/sdk/p-Cysk_vik.js +2 -0
  506. package/dist/sdk/p-Cysk_vik.js.map +1 -0
  507. package/dist/sdk/p-D0ut3waq.js +2 -0
  508. package/dist/sdk/p-D0ut3waq.js.map +1 -0
  509. package/dist/sdk/{p-BigbTrKk.js → p-D2Rf-QGm.js} +2 -2
  510. package/dist/sdk/{p-BigbTrKk.js.map → p-D2Rf-QGm.js.map} +1 -1
  511. package/dist/sdk/{p-6rqGeAfT.js → p-D9yFO_ID.js} +2 -2
  512. package/dist/sdk/{p-6rqGeAfT.js.map → p-D9yFO_ID.js.map} +1 -1
  513. package/dist/sdk/p-DD_5soRi.js +2 -0
  514. package/dist/sdk/p-DD_5soRi.js.map +1 -0
  515. package/dist/sdk/p-DHuvvagO.js +2 -0
  516. package/dist/sdk/p-DHuvvagO.js.map +1 -0
  517. package/dist/sdk/p-DSMkJu9G.js +2 -0
  518. package/dist/sdk/p-DSMkJu9G.js.map +1 -0
  519. package/dist/sdk/p-DcirMfca.js +2 -0
  520. package/dist/sdk/p-DcirMfca.js.map +1 -0
  521. package/dist/sdk/p-J0cv5IOA.js +2 -0
  522. package/dist/sdk/p-J0cv5IOA.js.map +1 -0
  523. package/dist/sdk/p-_5evboqW.js +2 -0
  524. package/dist/sdk/{p-DSktNM_k.js.map → p-_5evboqW.js.map} +1 -1
  525. package/dist/sdk/{p-7ee2f2ab.entry.js → p-ac3a6bbf.entry.js} +2 -2
  526. package/dist/sdk/p-b498bcdd.entry.js +2 -0
  527. package/dist/sdk/p-b498bcdd.entry.js.map +1 -0
  528. package/dist/sdk/p-b5dd5b4c.entry.js +2 -0
  529. package/dist/sdk/p-b5dd5b4c.entry.js.map +1 -0
  530. package/dist/sdk/{p-6b061b18.entry.js → p-b99588a8.entry.js} +2 -2
  531. package/dist/sdk/p-bf9c27a8.entry.js +2 -0
  532. package/dist/sdk/p-bf9c27a8.entry.js.map +1 -0
  533. package/dist/sdk/p-c10d9b8e.entry.js +2 -0
  534. package/dist/sdk/p-c10d9b8e.entry.js.map +1 -0
  535. package/dist/sdk/{p-10e20afd.entry.js → p-c2634439.entry.js} +2 -2
  536. package/dist/sdk/p-d6777395.entry.js +2 -0
  537. package/dist/sdk/p-d6777395.entry.js.map +1 -0
  538. package/dist/sdk/p-dbfe7b29.entry.js +2 -0
  539. package/dist/sdk/p-dbfe7b29.entry.js.map +1 -0
  540. package/dist/sdk/p-def4e874.entry.js +2 -0
  541. package/dist/sdk/p-def4e874.entry.js.map +1 -0
  542. package/dist/sdk/p-e872a012.entry.js +2 -0
  543. package/dist/sdk/p-e872a012.entry.js.map +1 -0
  544. package/dist/sdk/p-eaaf3989.entry.js +2 -0
  545. package/dist/sdk/p-eaaf3989.entry.js.map +1 -0
  546. package/dist/sdk/p-fd46b459.entry.js +2 -0
  547. package/dist/sdk/{p-830778eb.entry.js.map → p-fd46b459.entry.js.map} +1 -1
  548. package/dist/sdk/sdk.esm.js +1 -1
  549. package/dist/sdk/u-conditional-render.entry.esm.js.map +1 -1
  550. package/dist/sdk/u-config.entry.esm.js.map +1 -1
  551. package/dist/sdk/u-error-message.entry.esm.js.map +1 -1
  552. package/dist/sdk/u-field.u-raw-field.entry.esm.js.map +1 -1
  553. package/dist/sdk/u-jump-to-service.entry.esm.js.map +1 -1
  554. package/dist/sdk/u-jump-to-unidy.entry.esm.js.map +1 -1
  555. package/dist/sdk/u-logout-button.u-signed-in.entry.esm.js.map +1 -1
  556. package/dist/sdk/u-magic-code-field.entry.esm.js.map +1 -1
  557. package/dist/sdk/u-missing-field.entry.esm.js.map +1 -1
  558. package/dist/sdk/u-missing-fields-submit-button.entry.esm.js.map +1 -1
  559. package/dist/sdk/u-newsletter-checkbox.entry.esm.js.map +1 -1
  560. package/dist/sdk/u-newsletter-logout-button.entry.esm.js.map +1 -1
  561. package/dist/sdk/u-newsletter-preference-checkbox.entry.esm.js.map +1 -1
  562. package/dist/sdk/u-newsletter-resend-doi-button.entry.esm.js.map +1 -1
  563. package/dist/sdk/u-newsletter-root.entry.esm.js.map +1 -1
  564. package/dist/sdk/u-newsletter-toggle-subscription-button.entry.esm.js.map +1 -1
  565. package/dist/sdk/u-pagination-button.entry.esm.js.map +1 -1
  566. package/dist/sdk/u-pagination-page.entry.esm.js.map +1 -1
  567. package/dist/sdk/u-passkey.entry.esm.js.map +1 -1
  568. package/dist/sdk/u-profile.u-submit-button.entry.esm.js.map +1 -1
  569. package/dist/sdk/u-reset-password-button.entry.esm.js.map +1 -1
  570. package/dist/sdk/u-send-magic-code-button.entry.esm.js.map +1 -1
  571. package/dist/sdk/u-signin-root.entry.esm.js.map +1 -1
  572. package/dist/sdk/u-signin-step.entry.esm.js.map +1 -1
  573. package/dist/sdk/u-social-login-button.entry.esm.js.map +1 -1
  574. package/dist/sdk/u-spinner.entry.esm.js.map +1 -1
  575. package/dist/sdk/u-ticketable-export.entry.esm.js.map +1 -0
  576. package/dist/sdk/u-ticketable-list.entry.esm.js.map +1 -1
  577. package/dist/types/api/client.d.ts +1 -1
  578. package/dist/types/api/index.d.ts +4 -4
  579. package/dist/types/api/standalone.d.ts +9 -9
  580. package/dist/types/auth/api/auth.d.ts +2 -3
  581. package/dist/types/auth/api/schemas.d.ts +19 -19
  582. package/dist/types/auth/auth-helpers.d.ts +1 -0
  583. package/dist/types/auth/components/jump-to-service/jump-to-service.d.ts +13 -5
  584. package/dist/types/auth/components/jump-to-unidy/jump-to-unidy.d.ts +13 -9
  585. package/dist/types/auth/components/logout-button/logout-button.d.ts +13 -4
  586. package/dist/types/auth/components/missing-field/missing-field.d.ts +1 -0
  587. package/dist/types/auth/components/missing-fields-submit-button/missing-fields-submit-button.d.ts +14 -2
  588. package/dist/types/auth/components/reset-pass-button/reset-pass-button.d.ts +13 -4
  589. package/dist/types/auth/components/social-logins/social-login-button.d.ts +11 -7
  590. package/dist/types/components.d.ts +73 -0
  591. package/dist/types/logger.d.ts +0 -34
  592. package/dist/types/newsletter/components/logout-button/logout-button.d.ts +13 -4
  593. package/dist/types/newsletter/components/newsletter-root/newsletter-root.d.ts +16 -2
  594. package/dist/types/newsletter/newsletter-helpers.d.ts +8 -2
  595. package/dist/types/newsletter/store/newsletter-store.d.ts +8 -1
  596. package/dist/types/profile/api/profile.d.ts +2 -2
  597. package/dist/types/profile/api/schemas.d.ts +21 -21
  598. package/dist/types/profile/components/raw-field/raw-field.d.ts +14 -2
  599. package/dist/types/shared/base/component.d.ts +46 -0
  600. package/dist/types/shared/base/has-slot-content.d.ts +10 -0
  601. package/dist/types/shared/component-utils.d.ts +20 -12
  602. package/dist/types/shared/components/conditional-render/conditional-render.d.ts +7 -2
  603. package/dist/types/shared/components/config/config.d.ts +7 -2
  604. package/dist/types/shared/components/error-message/error-message.d.ts +14 -2
  605. package/dist/types/shared/components/submit-button/submit-button.d.ts +13 -4
  606. package/dist/types/shared/context-utils.d.ts +73 -0
  607. package/dist/types/shared/utils/redirect-with-token.d.ts +21 -0
  608. package/dist/types/shared/utils/url-utils.d.ts +16 -0
  609. package/dist/types/ticketable/api/schemas.d.ts +16 -2
  610. package/dist/types/ticketable/api/subscriptions.d.ts +8 -3
  611. package/dist/types/ticketable/api/tickets.d.ts +8 -3
  612. package/dist/types/ticketable/components/pagination/pagination-button.d.ts +8 -4
  613. package/dist/types/ticketable/components/pagination/pagination-page.d.ts +8 -4
  614. package/dist/types/ticketable/components/ticketable-export/ticketable-export.d.ts +24 -0
  615. package/dist/types/ticketable/components/ticketable-list/ticketable-list.d.ts +10 -4
  616. package/dist/types/ticketable/index.d.ts +1 -0
  617. package/package.json +6 -2
  618. package/readme.md +248 -27
  619. package/dist/cjs/app-globals-hdkLqF51.js +0 -10
  620. package/dist/cjs/app-globals-hdkLqF51.js.map +0 -1
  621. package/dist/cjs/component-utils-bu3SY4dE.js +0 -42
  622. package/dist/cjs/component-utils-bu3SY4dE.js.map +0 -1
  623. package/dist/cjs/index-B325yXfO.js.map +0 -1
  624. package/dist/cjs/index-BzPYBLYC.js.map +0 -1
  625. package/dist/cjs/newsletter-helpers-hdDC5X-V.js.map +0 -1
  626. package/dist/cjs/newsletter-store-CupsLgO9.js.map +0 -1
  627. package/dist/cjs/pagination-store-zo48QpTm.js +0 -16
  628. package/dist/cjs/pagination-store-zo48QpTm.js.map +0 -1
  629. package/dist/components/pagination-store.js +0 -14
  630. package/dist/components/pagination-store.js.map +0 -1
  631. package/dist/esm/app-globals-iHhGdwBB.js +0 -8
  632. package/dist/esm/app-globals-iHhGdwBB.js.map +0 -1
  633. package/dist/esm/component-utils-BGq0leDV.js +0 -39
  634. package/dist/esm/component-utils-BGq0leDV.js.map +0 -1
  635. package/dist/esm/index-BVlbCQEX.js.map +0 -1
  636. package/dist/esm/index-FTKB5a1d.js.map +0 -1
  637. package/dist/esm/newsletter-helpers-fCpxzovf.js.map +0 -1
  638. package/dist/esm/newsletter-store-BB618FgS.js.map +0 -1
  639. package/dist/esm/pagination-store-DxmcQH8R.js +0 -14
  640. package/dist/esm/pagination-store-DxmcQH8R.js.map +0 -1
  641. package/dist/sdk/p-1a8973a6.entry.js +0 -2
  642. package/dist/sdk/p-35ad60ab.entry.js +0 -2
  643. package/dist/sdk/p-35ad60ab.entry.js.map +0 -1
  644. package/dist/sdk/p-3f352f38.entry.js +0 -2
  645. package/dist/sdk/p-3f352f38.entry.js.map +0 -1
  646. package/dist/sdk/p-468aaf62.entry.js +0 -2
  647. package/dist/sdk/p-468aaf62.entry.js.map +0 -1
  648. package/dist/sdk/p-4e2e6a13.entry.js +0 -2
  649. package/dist/sdk/p-4e2e6a13.entry.js.map +0 -1
  650. package/dist/sdk/p-57c8dc68.entry.js +0 -2
  651. package/dist/sdk/p-57c8dc68.entry.js.map +0 -1
  652. package/dist/sdk/p-594aec0c.entry.js +0 -2
  653. package/dist/sdk/p-594aec0c.entry.js.map +0 -1
  654. package/dist/sdk/p-60c8be64.entry.js +0 -2
  655. package/dist/sdk/p-60c8be64.entry.js.map +0 -1
  656. package/dist/sdk/p-760718d3.entry.js +0 -2
  657. package/dist/sdk/p-760718d3.entry.js.map +0 -1
  658. package/dist/sdk/p-77f541f3.entry.js +0 -2
  659. package/dist/sdk/p-77f541f3.entry.js.map +0 -1
  660. package/dist/sdk/p-830778eb.entry.js +0 -2
  661. package/dist/sdk/p-8839648e.entry.js +0 -2
  662. package/dist/sdk/p-8839648e.entry.js.map +0 -1
  663. package/dist/sdk/p-B6MYe-dh.js +0 -2
  664. package/dist/sdk/p-B6MYe-dh.js.map +0 -1
  665. package/dist/sdk/p-BGq0leDV.js +0 -2
  666. package/dist/sdk/p-BGq0leDV.js.map +0 -1
  667. package/dist/sdk/p-C_UZBwdm.js +0 -2
  668. package/dist/sdk/p-C_UZBwdm.js.map +0 -1
  669. package/dist/sdk/p-CbazSxaZ.js +0 -2
  670. package/dist/sdk/p-CbazSxaZ.js.map +0 -1
  671. package/dist/sdk/p-DCG3L43i.js +0 -2
  672. package/dist/sdk/p-DEUPZOH-.js +0 -2
  673. package/dist/sdk/p-DEUPZOH-.js.map +0 -1
  674. package/dist/sdk/p-DSktNM_k.js +0 -2
  675. package/dist/sdk/p-FTKB5a1d.js +0 -14
  676. package/dist/sdk/p-FTKB5a1d.js.map +0 -1
  677. package/dist/sdk/p-a7ffcff9.entry.js +0 -2
  678. package/dist/sdk/p-a7ffcff9.entry.js.map +0 -1
  679. package/dist/sdk/p-acaba1d5.entry.js +0 -2
  680. package/dist/sdk/p-acaba1d5.entry.js.map +0 -1
  681. package/dist/sdk/p-ae47a7a3.entry.js +0 -2
  682. package/dist/sdk/p-ae47a7a3.entry.js.map +0 -1
  683. package/dist/sdk/p-aec580e4.entry.js +0 -2
  684. package/dist/sdk/p-aec580e4.entry.js.map +0 -1
  685. package/dist/sdk/p-b63438ff.entry.js +0 -2
  686. package/dist/sdk/p-b63438ff.entry.js.map +0 -1
  687. package/dist/sdk/p-baaaa7f5.entry.js +0 -2
  688. package/dist/sdk/p-baaaa7f5.entry.js.map +0 -1
  689. package/dist/sdk/p-bba2da84.entry.js +0 -2
  690. package/dist/sdk/p-bba2da84.entry.js.map +0 -1
  691. package/dist/sdk/p-bc47f42b.entry.js +0 -2
  692. package/dist/sdk/p-bc47f42b.entry.js.map +0 -1
  693. package/dist/sdk/p-bd51e26f.entry.js +0 -2
  694. package/dist/sdk/p-bd51e26f.entry.js.map +0 -1
  695. package/dist/sdk/p-c3552f75.entry.js +0 -2
  696. package/dist/sdk/p-c3552f75.entry.js.map +0 -1
  697. package/dist/sdk/p-d9900482.entry.js +0 -2
  698. package/dist/sdk/p-d9900482.entry.js.map +0 -1
  699. package/dist/sdk/p-e6796c38.entry.js +0 -2
  700. package/dist/sdk/p-e6796c38.entry.js.map +0 -1
  701. package/dist/sdk/p-f272eb38.entry.js +0 -2
  702. package/dist/sdk/p-f272eb38.entry.js.map +0 -1
  703. package/dist/sdk/p-f4a47ef8.entry.js +0 -2
  704. package/dist/sdk/p-f4a47ef8.entry.js.map +0 -1
  705. package/dist/sdk/p-f608e64a.entry.js +0 -2
  706. package/dist/sdk/p-f608e64a.entry.js.map +0 -1
  707. package/dist/sdk/p-f762ac70.entry.js +0 -2
  708. package/dist/sdk/p-f762ac70.entry.js.map +0 -1
  709. package/dist/sdk/p-l6NinBiD.js +0 -2
  710. package/dist/sdk/p-l6NinBiD.js.map +0 -1
  711. /package/dist/sdk/{p-88beb872.entry.js.map → p-8412762c.entry.js.map} +0 -0
  712. /package/dist/sdk/{p-bcca06f1.entry.js.map → p-96860b09.entry.js.map} +0 -0
  713. /package/dist/sdk/{p-7ee2f2ab.entry.js.map → p-ac3a6bbf.entry.js.map} +0 -0
  714. /package/dist/sdk/{p-6b061b18.entry.js.map → p-b99588a8.entry.js.map} +0 -0
  715. /package/dist/sdk/{p-10e20afd.entry.js.map → p-c2634439.entry.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"raw-field.js","sourceRoot":"","sources":["../../../../src/profile/components/raw-field/raw-field.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Element, h, Prop, State } from \"@stencil/core\";\nimport { UnidyComponent } from \"../../../logger\";\nimport { type ProfileNode, type ProfileRaw, state as profileState } from \"../../store/profile-store\";\nimport { Input } from \"../raw-input-fields/Input\";\nimport { MultiSelect, type MultiSelectOption } from \"../raw-input-fields/MultiSelect\";\nimport { RadioGroup, type RadioOption } from \"../raw-input-fields/RadioGroup\";\nimport { type Option, Select } from \"../raw-input-fields/Select\";\nimport { Textarea } from \"../raw-input-fields/Textarea\";\n\n@Component({\n tag: \"u-raw-field\",\n shadow: false,\n})\nexport class RawField extends UnidyComponent {\n @Prop() required = false;\n @Prop() readonlyPlaceholder = \"\";\n @Prop() countryCodeDisplayOption?: \"icon\" | \"label\" = \"label\";\n @Prop() invalidPhoneMessage = \"Please enter a valid phone number.\";\n @Prop({ attribute: \"class-name\" }) componentClassName?: string;\n\n @Prop() field!: string;\n @Prop() value?: string | string[];\n @Prop() checked?: boolean;\n @Prop() disabled?: boolean;\n @Prop() tooltip?: string;\n @Prop() type!: string;\n @Prop() placeholder?: string;\n @Prop() options?: string | Option[];\n @Prop() emptyOption = false;\n @Prop() attrName?: string;\n @Prop() radioOptions?: RadioOption[];\n @Prop() multiSelectOptions?: MultiSelectOption[];\n @Prop() specificPartKey?: string;\n @Prop() ariaDescribedBy = \"\";\n @Prop() pattern?: string;\n @Prop() patternErrorMessage?: string;\n @Prop() validationFunc?: (value: string | string[]) => { valid: boolean; message?: string };\n\n @Element() el!: HTMLElement;\n\n @State() selected?: string | string[];\n\n private readStore(fieldName: string): string | undefined | string[] {\n if (!fieldName) return;\n const data: ProfileRaw = profileState.data;\n\n if (!data) return;\n\n let field: ProfileNode | undefined;\n\n if (fieldName.startsWith(\"custom_attributes.\")) {\n const key = fieldName.replace(\"custom_attributes.\", \"\");\n field = data.custom_attributes?.[key];\n } else {\n field = data[fieldName];\n }\n\n if (!field) return;\n\n if (field.radio_options) {\n const checkedOption = field.radio_options.find((option: RadioOption) => option.checked);\n\n const checkedValue = checkedOption?.value ?? field.value ?? \"\";\n\n return String(checkedValue);\n }\n\n if (field.type === \"checkbox\") {\n return Array.isArray(field.value) ? field.value : [];\n }\n\n return field.value;\n }\n\n private writeStore(fieldName: string, value: string | string[]) {\n if (!fieldName) return;\n const data: ProfileRaw = profileState.data;\n if (!data) return;\n\n const isCustomAttribute = fieldName.startsWith(\"custom_attributes.\");\n const key = isCustomAttribute ? fieldName.replace(\"custom_attributes.\", \"\") : fieldName;\n\n if (isCustomAttribute) {\n const field = data.custom_attributes?.[key];\n profileState.data = {\n ...data,\n custom_attributes: {\n ...data.custom_attributes,\n [key]: { ...field, value },\n },\n };\n } else {\n const field = data[key];\n profileState.data = { ...data, [key]: { ...field, value } };\n }\n }\n\n private runExternalValidator(value: string | string[]) {\n if (this.validationFunc) {\n try {\n return this.validationFunc(value);\n } catch (e) {\n this.logger.error(\"External validator (validationFunc) threw an error:\", e);\n return null;\n }\n }\n }\n\n private validateValue(value: string | string[]): { valid: boolean; message: string } {\n // TODO: We should validate this when the component is loading.\n if (this.required) {\n const empty = value === undefined || value === null || value === \"\";\n if (empty) {\n return { valid: false, message: \"This field is required.\" };\n }\n }\n\n if (this.pattern && typeof value === \"string\") {\n const regex = new RegExp(this.pattern);\n if (!regex.test(value)) {\n return { valid: false, message: this.patternErrorMessage || \"Invalid format.\" };\n }\n }\n\n const externalResult = this.runExternalValidator(value);\n\n if (externalResult && !externalResult.valid) {\n return { valid: false, message: externalResult.message || \"Invalid input.\" };\n }\n\n if (this.type === \"tel\") {\n const phonePattern = /^(?=.{4,13}$)(\\+\\d+|\\d+)$/;\n if (typeof value === \"string\" && value !== \"\" && !phonePattern.test(value)) {\n return { valid: false, message: this.invalidPhoneMessage };\n }\n }\n\n return { valid: true, message: \"\" };\n }\n\n private getNormalizedOptions(): Option[] {\n if (Array.isArray(this.options)) return this.options;\n\n // unidy-raw-field select-options prop can be a JSON string\n if (typeof this.options === \"string\") return JSON.parse(this.options);\n\n return [];\n }\n\n private countryIcon(countryCode: string, placeholder = \"➖\"): string {\n if (!/^[A-Z]{2}$/.test(countryCode)) {\n return placeholder;\n }\n\n return Array.from(countryCode)\n .map((char) => String.fromCodePoint(0x1f1e6 + (char.charCodeAt(0) - \"A\".charCodeAt(0))))\n .join(\"\");\n }\n\n private onMultiToggle = (optValue: string, checked: boolean) => {\n const currentValues = Array.isArray(this.selected) ? this.selected : [];\n let updatedValues: string[];\n if (checked) {\n updatedValues = currentValues.includes(optValue) ? currentValues : [...currentValues, optValue];\n } else {\n updatedValues = currentValues.filter((v) => v !== optValue);\n }\n\n this.selected = updatedValues;\n // TODO: validate multiselect if needed\n this.writeStore(this.field, updatedValues);\n };\n\n private onBlurFieldValidation = (e: Event) => {\n const input = e.target as HTMLInputElement | HTMLTextAreaElement;\n const val = input.value;\n\n const result = this.validateValue(val);\n const newErrors = { ...profileState.errors };\n\n if (result.valid) {\n delete newErrors[this.field];\n } else {\n newErrors[this.field] = result.message;\n }\n\n profileState.errors = newErrors;\n };\n\n private onChangeFieldValidation = (newValue: string) => {\n this.selected = newValue;\n\n const result = this.validateValue(newValue);\n const newErrors = { ...profileState.errors };\n\n if (result.valid) {\n delete newErrors[this.field];\n this.writeStore(this.field, newValue);\n } else {\n newErrors[this.field] = result.message;\n }\n\n profileState.errors = newErrors;\n };\n\n componentWillLoad() {\n if (!this.field) throw new Error('u-raw-field: \"field\" is required.');\n if (!this.type) throw new Error('u-raw-field: \"type\" is required.');\n\n const allowed: Set<string> = new Set([\"text\", \"email\", \"tel\", \"password\", \"number\", \"date\", \"radio\", \"textarea\", \"select\", \"checkbox\"]);\n if (!allowed.has(this.type)) {\n this.type = \"text\";\n }\n\n const current = this.readStore(this.field);\n const isType =\n this.type === \"text\" ||\n this.type === \"email\" ||\n this.type === \"tel\" ||\n this.type === \"password\" ||\n this.type === \"number\" ||\n this.type === \"date\" ||\n this.type === \"textarea\" ||\n this.type === \"select\";\n\n if (isType && (current === undefined || current === null) && typeof this.value === \"string\") {\n this.writeStore(this.field, this.value);\n }\n\n this.selected = current;\n }\n\n componentDidRender() {\n const errs = profileState.errors;\n if (errs?.[this.field]) {\n this.el.querySelector<HTMLInputElement | HTMLTextAreaElement>(`#${CSS.escape(this.field)}`)?.focus();\n }\n }\n\n render() {\n if (this.type === \"radio\") {\n if (Array.isArray(this.radioOptions) && this.radioOptions.length) {\n const checkedOptions = this.radioOptions.map((opt) => ({\n ...opt,\n checked: String(opt.value) === this.selected,\n }));\n return (\n <RadioGroup\n name={this.field}\n disabled={this.disabled}\n title={this.tooltip}\n type=\"radio\"\n onChange={this.onChangeFieldValidation}\n options={checkedOptions}\n specificPartKey={this.specificPartKey}\n aria-describedby={this.ariaDescribedBy}\n required={this.required}\n />\n );\n }\n\n if (typeof this.value === \"string\") {\n const currentValue = this.readStore(this.field);\n const isChecked = currentValue != null && String(currentValue) === this.value;\n return (\n <RadioGroup\n name={this.field}\n value={this.value}\n checked={isChecked}\n disabled={this.disabled}\n title={this.tooltip}\n componentClassName={this.componentClassName}\n type=\"radio\"\n specificPartKey={this.specificPartKey}\n onChange={this.onChangeFieldValidation}\n aria-describedby={this.ariaDescribedBy}\n required={this.required}\n />\n );\n }\n }\n\n if (this.type === \"checkbox\") {\n if (Array.isArray(this.multiSelectOptions) && this.multiSelectOptions.length) {\n const selected = Array.isArray(this.selected) ? this.selected : [];\n return (\n <MultiSelect\n value={selected}\n options={this.multiSelectOptions}\n disabled={this.disabled}\n title={this.tooltip}\n type=\"checkbox\"\n specificPartKey={this.specificPartKey}\n onToggle={this.onMultiToggle}\n aria-describedby={this.ariaDescribedBy}\n />\n );\n }\n\n if (this.value) {\n const currentValue = (this.readStore(this.field) as string[]) ?? [];\n const isChecked = currentValue?.includes(this.value as string);\n return (\n <MultiSelect\n id={`${this.field}-${this.value}`}\n name={this.field}\n value={this.value as string}\n checked={isChecked}\n disabled={this.disabled}\n title={this.tooltip}\n componentClassName={this.componentClassName}\n type=\"checkbox\"\n onToggle={(val, checked) => {\n const current = this.readStore(this.field) as string[];\n const updated = checked ? [...current, val] : current.filter((v) => v !== val);\n this.writeStore(this.field, updated);\n }}\n aria-describedby={this.ariaDescribedBy}\n />\n );\n }\n }\n\n if (this.type === \"select\") {\n const currentValue = (this.readStore(this.field) as string) ?? \"\";\n const option = this.getNormalizedOptions();\n return (\n <Select\n id={this.field}\n name={this.field}\n value={currentValue}\n options={option}\n disabled={this.disabled}\n title={this.tooltip}\n emptyOption={this.emptyOption}\n onChange={this.onChangeFieldValidation}\n componentClassName={this.componentClassName}\n countryCodeDisplayOption={this.countryCodeDisplayOption}\n countryIcon={this.countryIcon}\n attr_name={this.attrName}\n specificPartKey={this.specificPartKey}\n aria-describedby={this.ariaDescribedBy}\n />\n );\n }\n\n if (this.type === \"textarea\") {\n const currentValue = (this.readStore(this.field) as string) || \"\";\n return (\n <Textarea\n id={this.field}\n value={currentValue}\n required={this.required}\n disabled={this.disabled}\n title={this.tooltip}\n componentClassName={this.componentClassName}\n specificPartKey={this.specificPartKey}\n onChange={this.onChangeFieldValidation}\n onBlur={this.onBlurFieldValidation}\n aria-describedby={this.ariaDescribedBy}\n />\n );\n }\n\n const currentValue = (this.readStore(this.field) as string) || \"\";\n return (\n <Input\n id={this.field}\n value={currentValue}\n required={this.required}\n disabled={this.disabled}\n title={this.tooltip}\n type={this.type}\n componentClassName={this.componentClassName}\n placeholder={this.placeholder}\n specificPartKey={this.specificPartKey}\n onChange={this.onChangeFieldValidation}\n onBlur={this.onBlurFieldValidation}\n aria-describedby={this.ariaDescribedBy}\n />\n );\n }\n}\n"]}
1
+ {"version":3,"file":"raw-field.js","sourceRoot":"","sources":["../../../../src/profile/components/raw-field/raw-field.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Element, h, Prop, State } from \"@stencil/core\";\nimport { newsletterStore } from \"../../../newsletter/store/newsletter-store\";\nimport { UnidyComponent } from \"../../../shared/base/component\";\nimport { type ComponentContext, detectContext } from \"../../../shared/context-utils\";\nimport { type ProfileNode, type ProfileRaw, state as profileState } from \"../../store/profile-store\";\nimport { Input } from \"../raw-input-fields/Input\";\nimport { MultiSelect, type MultiSelectOption } from \"../raw-input-fields/MultiSelect\";\nimport { RadioGroup, type RadioOption } from \"../raw-input-fields/RadioGroup\";\nimport { type Option, Select } from \"../raw-input-fields/Select\";\nimport { Textarea } from \"../raw-input-fields/Textarea\";\n\n@Component({\n tag: \"u-raw-field\",\n shadow: false,\n})\nexport class RawField extends UnidyComponent() {\n @Prop() required = false;\n @Prop() readonlyPlaceholder = \"\";\n @Prop() countryCodeDisplayOption?: \"icon\" | \"label\" = \"label\";\n @Prop() invalidPhoneMessage = \"Please enter a valid phone number.\";\n @Prop({ attribute: \"class-name\" }) componentClassName?: string;\n\n @Prop() field!: string;\n @Prop() value?: string | string[];\n @Prop() checked?: boolean;\n @Prop() disabled?: boolean;\n @Prop() tooltip?: string;\n @Prop() type!: string;\n @Prop() placeholder?: string;\n @Prop() options?: string | Option[];\n @Prop() emptyOption = false;\n @Prop() attrName?: string;\n @Prop() radioOptions?: RadioOption[];\n @Prop() multiSelectOptions?: MultiSelectOption[];\n @Prop() specificPartKey?: string;\n @Prop() ariaDescribedBy = \"\";\n @Prop() pattern?: string;\n @Prop() patternErrorMessage?: string;\n @Prop() validationFunc?: (value: string | string[]) => { valid: boolean; message?: string };\n\n @Element() el!: HTMLElement;\n\n @State() selected?: string | string[];\n\n private get context(): ComponentContext | null {\n return detectContext(this.el);\n }\n\n private readStore(fieldName: string): string | undefined | string[] {\n if (!fieldName) return;\n return this.context === \"newsletter\" ? this.readNewsletterStore(fieldName) : this.readProfileStore(fieldName);\n }\n\n private readProfileStore(fieldName: string): string | undefined | string[] {\n const data: ProfileRaw = profileState.data;\n\n if (!data) return;\n\n let field: ProfileNode | undefined;\n\n if (fieldName.startsWith(\"custom_attributes.\")) {\n const key = fieldName.replace(\"custom_attributes.\", \"\");\n field = data.custom_attributes?.[key];\n } else {\n field = data[fieldName];\n }\n\n if (!field) return;\n\n if (field.radio_options) {\n const checkedOption = field.radio_options.find((option: RadioOption) => option.checked);\n\n const checkedValue = checkedOption?.value ?? field.value ?? \"\";\n\n return String(checkedValue);\n }\n\n if (field.type === \"checkbox\") {\n return Array.isArray(field.value) ? field.value : [];\n }\n\n return field.value;\n }\n\n private readNewsletterStore(fieldName: string): string | undefined | string[] {\n const field = newsletterStore.state.additionalFields[fieldName];\n return field?.value;\n }\n\n private writeStore(fieldName: string, value: string | string[]) {\n if (!fieldName) return;\n this.context === \"newsletter\" ? this.writeNewsletterStore(fieldName, value) : this.writeProfileStore(fieldName, value);\n }\n\n private writeProfileStore(fieldName: string, value: string | string[]) {\n const data: ProfileRaw = profileState.data;\n if (!data) return;\n\n const isCustomAttribute = fieldName.startsWith(\"custom_attributes.\");\n const key = isCustomAttribute ? fieldName.replace(\"custom_attributes.\", \"\") : fieldName;\n\n if (isCustomAttribute) {\n const field = data.custom_attributes?.[key];\n profileState.data = {\n ...data,\n custom_attributes: {\n ...data.custom_attributes,\n [key]: { ...field, value },\n },\n };\n } else {\n const field = data[key];\n profileState.data = { ...data, [key]: { ...field, value } };\n }\n }\n\n private writeNewsletterStore(fieldName: string, value: string | string[]) {\n const data = newsletterStore.state.additionalFields;\n newsletterStore.state.additionalFields = {\n ...data,\n [fieldName]: { ...data[fieldName], value },\n };\n }\n\n private getErrors(): Record<string, string> {\n return this.context === \"newsletter\" ? newsletterStore.state.additionalFieldErrors : profileState.errors;\n }\n\n private setErrors(errors: Record<string, string>) {\n if (this.context === \"newsletter\") {\n newsletterStore.state.additionalFieldErrors = errors;\n } else {\n profileState.errors = errors;\n }\n }\n\n private runExternalValidator(value: string | string[]) {\n if (this.validationFunc) {\n try {\n return this.validationFunc(value);\n } catch (e) {\n this.logger.error(\"External validator (validationFunc) threw an error:\", e);\n return null;\n }\n }\n }\n\n private validateValue(value: string | string[]): { valid: boolean; message: string } {\n // TODO: We should validate this when the component is loading.\n if (this.required) {\n const empty = value === undefined || value === null || value === \"\";\n if (empty) {\n return { valid: false, message: \"This field is required.\" };\n }\n }\n\n if (this.pattern && typeof value === \"string\") {\n const regex = new RegExp(this.pattern);\n if (!regex.test(value)) {\n return { valid: false, message: this.patternErrorMessage || \"Invalid format.\" };\n }\n }\n\n const externalResult = this.runExternalValidator(value);\n\n if (externalResult && !externalResult.valid) {\n return { valid: false, message: externalResult.message || \"Invalid input.\" };\n }\n\n if (this.type === \"tel\") {\n const phonePattern = /^(?=.{4,13}$)(\\+\\d+|\\d+)$/;\n if (typeof value === \"string\" && value !== \"\" && !phonePattern.test(value)) {\n return { valid: false, message: this.invalidPhoneMessage };\n }\n }\n\n return { valid: true, message: \"\" };\n }\n\n private getNormalizedOptions(): Option[] {\n if (Array.isArray(this.options)) return this.options;\n\n // unidy-raw-field select-options prop can be a JSON string\n if (typeof this.options === \"string\") return JSON.parse(this.options);\n\n return [];\n }\n\n private countryIcon(countryCode: string, placeholder = \"➖\"): string {\n if (!/^[A-Z]{2}$/.test(countryCode)) {\n return placeholder;\n }\n\n return Array.from(countryCode)\n .map((char) => String.fromCodePoint(0x1f1e6 + (char.charCodeAt(0) - \"A\".charCodeAt(0))))\n .join(\"\");\n }\n\n private onMultiToggle = (optValue: string, checked: boolean) => {\n const currentValues = Array.isArray(this.selected) ? this.selected : [];\n let updatedValues: string[];\n if (checked) {\n updatedValues = currentValues.includes(optValue) ? currentValues : [...currentValues, optValue];\n } else {\n updatedValues = currentValues.filter((v) => v !== optValue);\n }\n\n this.selected = updatedValues;\n // TODO: validate multiselect if needed\n this.writeStore(this.field, updatedValues);\n };\n\n private onBlurFieldValidation = (e: Event) => {\n const input = e.target as HTMLInputElement | HTMLTextAreaElement;\n const val = input.value;\n\n const result = this.validateValue(val);\n const newErrors = { ...this.getErrors() };\n\n if (result.valid) {\n delete newErrors[this.field];\n } else {\n newErrors[this.field] = result.message;\n }\n\n this.setErrors(newErrors);\n };\n\n private onChangeFieldValidation = (newValue: string) => {\n this.selected = newValue;\n\n const result = this.validateValue(newValue);\n const newErrors = { ...this.getErrors() };\n\n if (result.valid) {\n delete newErrors[this.field];\n this.writeStore(this.field, newValue);\n } else {\n newErrors[this.field] = result.message;\n }\n\n this.setErrors(newErrors);\n };\n\n componentWillLoad() {\n if (!this.field) throw new Error('u-raw-field: \"field\" is required.');\n if (!this.type) throw new Error('u-raw-field: \"type\" is required.');\n\n const allowed: Set<string> = new Set([\"text\", \"email\", \"tel\", \"password\", \"number\", \"date\", \"radio\", \"textarea\", \"select\", \"checkbox\"]);\n if (!allowed.has(this.type)) {\n this.type = \"text\";\n }\n\n const current = this.readStore(this.field);\n const isType =\n this.type === \"text\" ||\n this.type === \"email\" ||\n this.type === \"tel\" ||\n this.type === \"password\" ||\n this.type === \"number\" ||\n this.type === \"date\" ||\n this.type === \"textarea\" ||\n this.type === \"select\";\n\n if (isType && (current === undefined || current === null) && typeof this.value === \"string\") {\n this.writeStore(this.field, this.value);\n }\n\n this.selected = current;\n }\n\n componentDidRender() {\n const errs = this.getErrors();\n if (errs?.[this.field]) {\n this.el.querySelector<HTMLInputElement | HTMLTextAreaElement>(`#${CSS.escape(this.field)}`)?.focus();\n }\n }\n\n render() {\n if (this.type === \"radio\") {\n if (Array.isArray(this.radioOptions) && this.radioOptions.length) {\n const checkedOptions = this.radioOptions.map((opt) => ({\n ...opt,\n checked: String(opt.value) === this.selected,\n }));\n return (\n <RadioGroup\n name={this.field}\n disabled={this.disabled}\n title={this.tooltip}\n type=\"radio\"\n onChange={this.onChangeFieldValidation}\n options={checkedOptions}\n specificPartKey={this.specificPartKey}\n aria-describedby={this.ariaDescribedBy}\n required={this.required}\n />\n );\n }\n\n if (typeof this.value === \"string\") {\n const currentValue = this.readStore(this.field);\n const isChecked = currentValue != null && String(currentValue) === this.value;\n return (\n <RadioGroup\n name={this.field}\n value={this.value}\n checked={isChecked}\n disabled={this.disabled}\n title={this.tooltip}\n componentClassName={this.componentClassName}\n type=\"radio\"\n specificPartKey={this.specificPartKey}\n onChange={this.onChangeFieldValidation}\n aria-describedby={this.ariaDescribedBy}\n required={this.required}\n />\n );\n }\n }\n\n if (this.type === \"checkbox\") {\n if (Array.isArray(this.multiSelectOptions) && this.multiSelectOptions.length) {\n const selected = Array.isArray(this.selected) ? this.selected : [];\n return (\n <MultiSelect\n value={selected}\n options={this.multiSelectOptions}\n disabled={this.disabled}\n title={this.tooltip}\n type=\"checkbox\"\n specificPartKey={this.specificPartKey}\n onToggle={this.onMultiToggle}\n aria-describedby={this.ariaDescribedBy}\n />\n );\n }\n\n if (this.value) {\n const currentValue = (this.readStore(this.field) as string[]) ?? [];\n const isChecked = currentValue?.includes(this.value as string);\n return (\n <MultiSelect\n id={`${this.field}-${this.value}`}\n name={this.field}\n value={this.value as string}\n checked={isChecked}\n disabled={this.disabled}\n title={this.tooltip}\n componentClassName={this.componentClassName}\n type=\"checkbox\"\n onToggle={(val, checked) => {\n const current = this.readStore(this.field) as string[];\n const updated = checked ? [...current, val] : current.filter((v) => v !== val);\n this.writeStore(this.field, updated);\n }}\n aria-describedby={this.ariaDescribedBy}\n />\n );\n }\n }\n\n if (this.type === \"select\") {\n const currentValue = (this.readStore(this.field) as string) ?? \"\";\n const option = this.getNormalizedOptions();\n return (\n <Select\n id={this.field}\n name={this.field}\n value={currentValue}\n options={option}\n disabled={this.disabled}\n title={this.tooltip}\n emptyOption={this.emptyOption}\n onChange={this.onChangeFieldValidation}\n componentClassName={this.componentClassName}\n countryCodeDisplayOption={this.countryCodeDisplayOption}\n countryIcon={this.countryIcon}\n attr_name={this.attrName}\n specificPartKey={this.specificPartKey}\n aria-describedby={this.ariaDescribedBy}\n />\n );\n }\n\n if (this.type === \"textarea\") {\n const currentValue = (this.readStore(this.field) as string) || \"\";\n return (\n <Textarea\n id={this.field}\n value={currentValue}\n required={this.required}\n disabled={this.disabled}\n title={this.tooltip}\n componentClassName={this.componentClassName}\n specificPartKey={this.specificPartKey}\n onChange={this.onChangeFieldValidation}\n onBlur={this.onBlurFieldValidation}\n aria-describedby={this.ariaDescribedBy}\n />\n );\n }\n\n const currentValue = (this.readStore(this.field) as string) || \"\";\n return (\n <Input\n id={this.field}\n value={currentValue}\n required={this.required}\n disabled={this.disabled}\n title={this.tooltip}\n type={this.type}\n componentClassName={this.componentClassName}\n placeholder={this.placeholder}\n specificPartKey={this.specificPartKey}\n onChange={this.onChangeFieldValidation}\n onBlur={this.onBlurFieldValidation}\n aria-describedby={this.ariaDescribedBy}\n />\n );\n }\n}\n"]}
@@ -1,6 +1,6 @@
1
1
  import { createStore } from "@stencil/store";
2
2
  const initialState = {
3
- loading: true,
3
+ loading: false,
4
4
  data: {},
5
5
  configuration: {},
6
6
  errors: {},
@@ -1 +1 @@
1
- {"version":3,"file":"profile-store.js","sourceRoot":"","sources":["../../../src/profile/store/profile-store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AA+B7C,MAAM,YAAY,GAAiB;IACjC,OAAO,EAAE,IAAI;IACb,IAAI,EAAE,EAAE;IACR,aAAa,EAAE,EAAE;IACjB,MAAM,EAAE,EAAE;IACV,UAAU,EAAE,IAAI;CACjB,CAAC;AAEF,MAAM,YAAY,GAAG,WAAW,CAAe,YAAY,CAAC,CAAC;AAE7D,MAAM,oBAAoB,GACxB,YAAY,CAAC,QAAQ,CAAC;AAExB,OAAO,EAAE,YAAY,EAAE,CAAC;AACxB,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,YAAY,CAAC;AACtC,OAAO,EAAE,oBAAoB,IAAI,QAAQ,EAAE,CAAC","sourcesContent":["import { createStore } from \"@stencil/store\";\n\nexport type Option = { value: string; label: string; icon?: string | null };\nexport type RadioOption = { value: string; label: string; checked: boolean };\n\nexport interface ProfileNode {\n value?: string | undefined | string[];\n type?: string;\n label?: string;\n required?: boolean;\n readonly?: boolean;\n locked?: boolean;\n locked_text?: string;\n options?: Option[];\n radio_options?: RadioOption[];\n attr_name?: string;\n}\n\nexport type ProfileRaw = {\n custom_attributes?: Record<string, ProfileNode>;\n} & Record<string, ProfileNode>;\n\nexport interface ProfileState {\n loading: boolean;\n data: ProfileRaw;\n configuration: ProfileRaw;\n errors: Record<string, string | null>;\n configUpdateSource?: \"fetch\" | \"submit\";\n phoneValid: boolean;\n}\n\nconst initialState: ProfileState = {\n loading: true,\n data: {},\n configuration: {},\n errors: {},\n phoneValid: true,\n};\n\nconst profileStore = createStore<ProfileState>(initialState);\n\nconst profileStoreOnChange: <K extends keyof ProfileState>(prop: K, cb: (value: ProfileState[K]) => void) => () => void =\n profileStore.onChange;\n\nexport { profileStore };\nexport const { state } = profileStore;\nexport { profileStoreOnChange as onChange };\n"]}
1
+ {"version":3,"file":"profile-store.js","sourceRoot":"","sources":["../../../src/profile/store/profile-store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AA+B7C,MAAM,YAAY,GAAiB;IACjC,OAAO,EAAE,KAAK;IACd,IAAI,EAAE,EAAE;IACR,aAAa,EAAE,EAAE;IACjB,MAAM,EAAE,EAAE;IACV,UAAU,EAAE,IAAI;CACjB,CAAC;AAEF,MAAM,YAAY,GAAG,WAAW,CAAe,YAAY,CAAC,CAAC;AAE7D,MAAM,oBAAoB,GACxB,YAAY,CAAC,QAAQ,CAAC;AAExB,OAAO,EAAE,YAAY,EAAE,CAAC;AACxB,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,YAAY,CAAC;AACtC,OAAO,EAAE,oBAAoB,IAAI,QAAQ,EAAE,CAAC","sourcesContent":["import { createStore } from \"@stencil/store\";\n\nexport type Option = { value: string; label: string; icon?: string | null };\nexport type RadioOption = { value: string; label: string; checked: boolean };\n\nexport interface ProfileNode {\n value?: string | undefined | string[];\n type?: string;\n label?: string;\n required?: boolean;\n readonly?: boolean;\n locked?: boolean;\n locked_text?: string;\n options?: Option[];\n radio_options?: RadioOption[];\n attr_name?: string;\n}\n\nexport type ProfileRaw = {\n custom_attributes?: Record<string, ProfileNode>;\n} & Record<string, ProfileNode>;\n\nexport interface ProfileState {\n loading: boolean;\n data: ProfileRaw;\n configuration: ProfileRaw;\n errors: Record<string, string | null>;\n configUpdateSource?: \"fetch\" | \"submit\";\n phoneValid: boolean;\n}\n\nconst initialState: ProfileState = {\n loading: false,\n data: {},\n configuration: {},\n errors: {},\n phoneValid: true,\n};\n\nconst profileStore = createStore<ProfileState>(initialState);\n\nconst profileStoreOnChange: <K extends keyof ProfileState>(prop: K, cb: (value: ProfileState[K]) => void) => () => void =\n profileStore.onChange;\n\nexport { profileStore };\nexport const { state } = profileStore;\nexport { profileStoreOnChange as onChange };\n"]}
@@ -0,0 +1,28 @@
1
+ import { getElement, Mixin } from "@stencil/core";
2
+ import { createLogger } from "../../logger";
3
+ export const loggerFactory = (Base) => {
4
+ class LoggerMixin extends Base {
5
+ /** @internal */
6
+ __logger = null;
7
+ get logger() {
8
+ if (!this.__logger) {
9
+ this.__logger = createLogger(this.element.localName);
10
+ }
11
+ return this.__logger;
12
+ }
13
+ get element() {
14
+ return getElement(this);
15
+ }
16
+ }
17
+ return LoggerMixin;
18
+ };
19
+ /**
20
+ * Base class factory for Unidy Stencil components that provides logging functionality
21
+ * and allows composing additional mixins.
22
+ * Components extending this class get a `this.logger` property that automatically prefixes log messages with the component's class name.
23
+ * Components extending this class get a `this.element` property that automatically returns the component's host element.
24
+ */
25
+ export const UnidyComponent = (...mixins) => {
26
+ return Mixin(loggerFactory, ...mixins);
27
+ };
28
+ //# sourceMappingURL=component.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"component.js","sourceRoot":"","sources":["../../../src/shared/base/component.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAoB,KAAK,EAAE,MAAM,eAAe,CAAC;AACpE,OAAO,EAAE,YAAY,EAAe,MAAM,cAAc,CAAC;AAEzD,MAAM,CAAC,MAAM,aAAa,GAAG,CAAwB,IAAO,EAAE,EAAE;IAC9D,MAAM,WAAY,SAAQ,IAAI;QAC5B,gBAAgB;QAChB,QAAQ,GAAkB,IAAI,CAAC;QAE/B,IAAI,MAAM;YACR,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACnB,IAAI,CAAC,QAAQ,GAAG,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YACvD,CAAC;YACD,OAAO,IAAI,CAAC,QAAQ,CAAC;QACvB,CAAC;QAED,IAAI,OAAO;YACT,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;KACF;IACD,OAAO,WAAW,CAAC;AACrB,CAAC,CAAC;AAIF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAmD,GAAG,MAAS,EAAE,EAAE;IAC/F,OAAO,KAAK,CAAC,aAAa,EAAE,GAAG,MAAM,CAAC,CAAC;AACzC,CAAC,CAAC","sourcesContent":["import { getElement, type MixedInCtor, Mixin } from \"@stencil/core\";\nimport { createLogger, type Logger } from \"../../logger\";\n\nexport const loggerFactory = <B extends MixedInCtor>(Base: B) => {\n class LoggerMixin extends Base {\n /** @internal */\n __logger: Logger | null = null;\n\n get logger(): Logger {\n if (!this.__logger) {\n this.__logger = createLogger(this.element.localName);\n }\n return this.__logger;\n }\n\n get element() {\n return getElement(this);\n }\n }\n return LoggerMixin;\n};\n\nexport type BaseComponentType = ReturnType<typeof loggerFactory>;\n\n/**\n * Base class factory for Unidy Stencil components that provides logging functionality\n * and allows composing additional mixins.\n * Components extending this class get a `this.logger` property that automatically prefixes log messages with the component's class name.\n * Components extending this class get a `this.element` property that automatically returns the component's host element.\n */\nexport const UnidyComponent = <T extends ((base: MixedInCtor) => MixedInCtor)[]>(...mixins: T) => {\n return Mixin(loggerFactory, ...mixins);\n};\n"]}
@@ -0,0 +1,31 @@
1
+ // biome-ignore lint/suspicious/noExplicitAny: Mixin factory requires any for Base parameter
2
+ export const HasSlotContent = (Base = Object) => {
3
+ function hasSlotContent(element) {
4
+ if (!element.hasChildNodes())
5
+ return false;
6
+ for (const child of Array.from(element.childNodes)) {
7
+ if (child.nodeType === Node.ELEMENT_NODE)
8
+ return true;
9
+ if (child.nodeType === Node.TEXT_NODE && child.textContent?.trim())
10
+ return true;
11
+ }
12
+ return false;
13
+ }
14
+ class HasSlotMixin extends Base {
15
+ // Provided by loggerFactory when used with UnidyComponent(HasSlotContent)
16
+ hasSlot = false;
17
+ /*
18
+ * IMPORTANT: (for shadow: false components)
19
+ * This must be called in `connectedCallback()` and cached.
20
+ * After the first render, `element.childNodes` will contain both user-provided slot content
21
+ * AND the component's rendered internal elements (like <button>), causing false positives.
22
+ *
23
+ * @see https://stenciljs.com/docs/templating-jsx#slots-outside-shadow-dom
24
+ */
25
+ connectedCallback() {
26
+ this.hasSlot = hasSlotContent(this.element);
27
+ }
28
+ }
29
+ return HasSlotMixin;
30
+ };
31
+ //# sourceMappingURL=has-slot-content.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"has-slot-content.js","sourceRoot":"","sources":["../../../src/shared/base/has-slot-content.tsx"],"names":[],"mappings":"AAEA,4FAA4F;AAC5F,MAAM,CAAC,MAAM,cAAc,GAAG,CAA8B,OAAU,MAAa,EAAE,EAAE;IACrF,SAAS,cAAc,CAAC,OAAoB;QAC1C,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE;YAAE,OAAO,KAAK,CAAC;QAE3C,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;YACnD,IAAI,KAAK,CAAC,QAAQ,KAAK,IAAI,CAAC,YAAY;gBAAE,OAAO,IAAI,CAAC;YACtD,IAAI,KAAK,CAAC,QAAQ,KAAK,IAAI,CAAC,SAAS,IAAI,KAAK,CAAC,WAAW,EAAE,IAAI,EAAE;gBAAE,OAAO,IAAI,CAAC;QAClF,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,YAAa,SAAQ,IAAI;QAC7B,0EAA0E;QAC1E,OAAO,GAAG,KAAK,CAAC;QAEhB;;;;;;;WAOG;QACH,iBAAiB;YACf,IAAI,CAAC,OAAO,GAAG,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC9C,CAAC;KACF;IAED,OAAO,YAAY,CAAC;AACtB,CAAC,CAAC","sourcesContent":["import type { BaseComponentType } from \"./component\";\n\n// biome-ignore lint/suspicious/noExplicitAny: Mixin factory requires any for Base parameter\nexport const HasSlotContent = <B extends BaseComponentType>(Base: B = Object as any) => {\n function hasSlotContent(element: HTMLElement) {\n if (!element.hasChildNodes()) return false;\n\n for (const child of Array.from(element.childNodes)) {\n if (child.nodeType === Node.ELEMENT_NODE) return true;\n if (child.nodeType === Node.TEXT_NODE && child.textContent?.trim()) return true;\n }\n\n return false;\n }\n\n class HasSlotMixin extends Base {\n // Provided by loggerFactory when used with UnidyComponent(HasSlotContent)\n hasSlot = false;\n\n /*\n * IMPORTANT: (for shadow: false components)\n * This must be called in `connectedCallback()` and cached.\n * After the first render, `element.childNodes` will contain both user-provided slot content\n * AND the component's rendered internal elements (like <button>), causing false positives.\n *\n * @see https://stenciljs.com/docs/templating-jsx#slots-outside-shadow-dom\n */\n connectedCallback() {\n this.hasSlot = hasSlotContent(this.element);\n }\n }\n\n return HasSlotMixin;\n};\n"]}
@@ -1,35 +1,31 @@
1
+ import { Fragment, h } from "@stencil/core";
1
2
  /**
2
- * Checks if a Stencil component's slot has content.
3
- * Use this in components to render fallback content when a slot is empty.
3
+ * Returns slot fallback content with proper loading handling for shadow: false components.
4
+ * When there's slot content, we must always render the <slot /> element to capture it,
5
+ * otherwise the slotted content will be visible even during loading state.
4
6
  *
5
- * IMPORTANT: (for shadow: false components)
6
- * You MUST call this in `componentWillLoad()` and cache the result in an instance property.
7
- * After the first render, `element.childNodes` will contain both user-provided slot content
8
- * AND the component's rendered internal elements (like <button>), causing false positives.
7
+ * @param fallbackText - The default text to display when there's no slot content
8
+ * @param options - Options object containing hasSlot and loading state
9
+ * @returns JSX content for the slot fallback
9
10
  *
10
- * Take a look at the https://stenciljs.com/docs/templating-jsx#slots-outside-shadow-dom
11
- *
12
- * @param element - The host element of the component (accessed via @Element())
13
- * @returns true if the slot has content, false otherwise
11
+ * @example
12
+ * ```tsx
13
+ * render() {
14
+ * return (
15
+ * <button>
16
+ * {slotFallbackText(t("buttons.submit"), { hasSlot: this.hasSlot, loading: this.isLoading() })}
17
+ * </button>
18
+ * );
19
+ * }
20
+ * ```
14
21
  */
15
- export function hasSlotContent(element) {
16
- if (!element.hasChildNodes())
17
- return false;
18
- for (const child of Array.from(element.childNodes)) {
19
- if (child.nodeType === Node.ELEMENT_NODE)
20
- return true;
21
- if (child.nodeType === Node.TEXT_NODE && child.textContent?.trim())
22
- return true;
22
+ export function slotFallbackText(fallbackText, { hasSlot, loading = false }) {
23
+ if (hasSlot) {
24
+ return (h(Fragment, null, loading && h("u-spinner", { key: "spinner" }), h("span", { key: "slot", style: { display: loading ? "none" : "contents" } }, h("slot", null))));
23
25
  }
24
- return false;
25
- }
26
- export function clearUrlParam(param) {
27
- const url = new URL(window.location.href);
28
- const value = url.searchParams.get(param);
29
- if (value) {
30
- url.searchParams.delete(param);
31
- window.history.replaceState(null, "", url.toString());
26
+ if (loading) {
27
+ return h("u-spinner", null);
32
28
  }
33
- return value;
29
+ return fallbackText;
34
30
  }
35
31
  //# sourceMappingURL=component-utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"component-utils.js","sourceRoot":"","sources":["../../src/shared/component-utils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,cAAc,CAAC,OAAoB;IACjD,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE;QAAE,OAAO,KAAK,CAAC;IAE3C,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QACnD,IAAI,KAAK,CAAC,QAAQ,KAAK,IAAI,CAAC,YAAY;YAAE,OAAO,IAAI,CAAC;QACtD,IAAI,KAAK,CAAC,QAAQ,KAAK,IAAI,CAAC,SAAS,IAAI,KAAK,CAAC,WAAW,EAAE,IAAI,EAAE;YAAE,OAAO,IAAI,CAAC;IAClF,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,KAAa;IACzC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC1C,MAAM,KAAK,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAE1C,IAAI,KAAK,EAAE,CAAC;QACV,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC/B,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,EAAE,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;IACxD,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC","sourcesContent":["/**\n * Checks if a Stencil component's slot has content.\n * Use this in components to render fallback content when a slot is empty.\n *\n * IMPORTANT: (for shadow: false components)\n * You MUST call this in `componentWillLoad()` and cache the result in an instance property.\n * After the first render, `element.childNodes` will contain both user-provided slot content\n * AND the component's rendered internal elements (like <button>), causing false positives.\n *\n * Take a look at the https://stenciljs.com/docs/templating-jsx#slots-outside-shadow-dom\n *\n * @param element - The host element of the component (accessed via @Element())\n * @returns true if the slot has content, false otherwise\n */\nexport function hasSlotContent(element: HTMLElement): boolean {\n if (!element.hasChildNodes()) return false;\n\n for (const child of Array.from(element.childNodes)) {\n if (child.nodeType === Node.ELEMENT_NODE) return true;\n if (child.nodeType === Node.TEXT_NODE && child.textContent?.trim()) return true;\n }\n\n return false;\n}\n\nexport function clearUrlParam(param: string): string | null {\n const url = new URL(window.location.href);\n const value = url.searchParams.get(param);\n\n if (value) {\n url.searchParams.delete(param);\n window.history.replaceState(null, \"\", url.toString());\n }\n\n return value;\n}\n"]}
1
+ {"version":3,"file":"component-utils.js","sourceRoot":"","sources":["../../src/shared/component-utils.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AAE5C;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,UAAU,gBAAgB,CAAC,YAAoB,EAAE,EAAE,OAAO,EAAE,OAAO,GAAG,KAAK,EAA2C;IAC1H,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,CACL,EAAC,QAAQ;YACN,OAAO,IAAI,iBAAW,GAAG,EAAC,SAAS,GAAG;YACvC,YAAM,GAAG,EAAC,MAAM,EAAC,KAAK,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,EAAE;gBAChE,eAAQ,CACH,CACE,CACZ,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,oBAAa,CAAC;IACvB,CAAC;IAED,OAAO,YAAY,CAAC;AACtB,CAAC","sourcesContent":["import { Fragment, h } from \"@stencil/core\";\n\n/**\n * Returns slot fallback content with proper loading handling for shadow: false components.\n * When there's slot content, we must always render the <slot /> element to capture it,\n * otherwise the slotted content will be visible even during loading state.\n *\n * @param fallbackText - The default text to display when there's no slot content\n * @param options - Options object containing hasSlot and loading state\n * @returns JSX content for the slot fallback\n *\n * @example\n * ```tsx\n * render() {\n * return (\n * <button>\n * {slotFallbackText(t(\"buttons.submit\"), { hasSlot: this.hasSlot, loading: this.isLoading() })}\n * </button>\n * );\n * }\n * ```\n */\nexport function slotFallbackText(fallbackText: string, { hasSlot, loading = false }: { hasSlot: boolean; loading?: boolean }) {\n if (hasSlot) {\n return (\n <Fragment>\n {loading && <u-spinner key=\"spinner\" />}\n <span key=\"slot\" style={{ display: loading ? \"none\" : \"contents\" }}>\n <slot />\n </span>\n </Fragment>\n );\n }\n\n if (loading) {\n return <u-spinner />;\n }\n\n return fallbackText;\n}\n"]}
@@ -1,9 +1,9 @@
1
1
  import { Host, h } from "@stencil/core";
2
2
  import { authState } from "../../../auth/store/auth-store";
3
- import { UnidyComponent } from "../../../logger";
4
3
  import * as NewsletterHelpers from "../../../newsletter/newsletter-helpers";
5
4
  import { newsletterStore } from "../../../newsletter/store/newsletter-store";
6
5
  import { profileStore } from "../../../profile/store/profile-store";
6
+ import { UnidyComponent } from "../../base/component";
7
7
  import { flashState } from "../../store/flash-store";
8
8
  const PREDEFINED_CONDITIONS = {
9
9
  "auth.passkeyEnabled": () => authState.availableLoginOptions?.passkey,
@@ -32,7 +32,7 @@ const PREDEFINED_CONDITIONS = {
32
32
  function isTruthy(value) {
33
33
  return Boolean(value);
34
34
  }
35
- export class ConditionalRender extends UnidyComponent {
35
+ export class ConditionalRender extends UnidyComponent() {
36
36
  constructor() {
37
37
  super();
38
38
  }
@@ -84,11 +84,10 @@ export class ConditionalRender extends UnidyComponent {
84
84
  return this.not ? !result : result;
85
85
  }
86
86
  render() {
87
- const visible = this.shouldRender();
88
- return (h(Host, { key: 'e45a101ae03247161807702817abbb2e8a7deb8d', hidden: !visible, style: { display: visible ? "contents" : undefined }, "aria-hidden": !visible ? "true" : null, "aria-live": "polite" }, h("slot", { key: '69cd11d540de89fd77787a6ad8eee7464e4365ab' })));
87
+ const shouldShow = this.shouldRender();
88
+ return (h(Host, { key: '0320f400a4c2dd08fcb34fd1c8315ac1ca61c26c', hidden: !shouldShow, style: { display: shouldShow ? "contents" : undefined }, "aria-hidden": !shouldShow ? "true" : null, "aria-live": "polite" }, h("slot", { key: 'e2148d70a7baf9e242665a5ff7e6b16557b543bf' })));
89
89
  }
90
90
  static get is() { return "u-conditional-render"; }
91
- static get encapsulation() { return "shadow"; }
92
91
  static get properties() {
93
92
  return {
94
93
  "when": {
@@ -1 +1 @@
1
- {"version":3,"file":"conditional-render.js","sourceRoot":"","sources":["../../../../src/shared/components/conditional-render/conditional-render.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Host, h, Prop } from \"@stencil/core\";\nimport { type AuthState, authState } from \"../../../auth/store/auth-store\";\nimport { UnidyComponent } from \"../../../logger\";\nimport * as NewsletterHelpers from \"../../../newsletter/newsletter-helpers\";\nimport { newsletterStore } from \"../../../newsletter/store/newsletter-store\";\nimport { profileStore } from \"../../../profile/store/profile-store\";\nimport { flashState } from \"../../store/flash-store\";\n\nconst PREDEFINED_CONDITIONS: Record<string, (...args: unknown[]) => unknown> = {\n \"auth.passkeyEnabled\": () => authState.availableLoginOptions?.passkey,\n \"auth.passwordEnabled\": () => authState.availableLoginOptions?.password,\n \"auth.magicCodeEnabled\": () => authState.availableLoginOptions?.magic_link,\n \"auth.socialLoginsEnabled\": () => (authState.availableLoginOptions?.social_logins?.length ?? 0) > 0,\n \"auth.hasSocialLogin\": (provider: string) => authState.availableLoginOptions?.social_logins?.includes(provider) ?? false,\n \"auth.loading\": () => authState.loading,\n \"auth.authenticated\": () => authState.authenticated,\n \"auth.magicCodeSent\": () => authState.magicCodeStep === \"sent\" || authState.magicCodeStep === \"requested\",\n \"auth.magicCodeRequested\": () => authState.magicCodeStep === \"requested\",\n \"auth.resetPasswordSent\": () => authState.resetPassword.step === \"sent\" || authState.resetPassword.step === \"requested\",\n \"auth.resetPasswordRequested\": () => authState.resetPassword.step === \"requested\",\n\n \"newsletter.hasCheckedNewsletters\": () => Object.keys(newsletterStore.state.checkedNewsletters).length > 0,\n \"newsletter.hasPreferenceToken\": () => !!newsletterStore.state.preferenceToken,\n \"newsletter.hasEmail\": () => !!newsletterStore.state.email,\n \"newsletter.subscribed\": (newsletterInternalName: string) => NewsletterHelpers.isSubscribed(newsletterInternalName),\n \"newsletter.confirmed\": (newsletterInternalName: string) => NewsletterHelpers.isConfirmed(newsletterInternalName),\n \"newsletter.loggedIn\": () => newsletterStore.state.isAuthenticated || newsletterStore.state.preferenceToken !== \"\",\n\n \"profile.loading\": () => profileStore.state.loading,\n \"profile.hasErrors\": () => Object.keys(profileStore.state.errors).some((key) => profileStore.state.errors[key] !== null),\n \"profile.hasFlashErrors\": () => flashState.messages.some((m) => m.variant === \"error\"),\n \"profile.phoneValid\": () => profileStore.state.phoneValid,\n \"profile.hasData\": () => Object.keys(profileStore.state.data).length > 0,\n};\n\nfunction isTruthy(value: unknown): boolean {\n return Boolean(value);\n}\n\n@Component({\n tag: \"u-conditional-render\",\n shadow: true,\n})\nexport class ConditionalRender extends UnidyComponent {\n @Prop() when?: string; // condition to check\n @Prop() is?: string; // optional value to compare against\n @Prop() not = false;\n @Prop() conditionFunction?: (state: AuthState) => boolean;\n\n private evaluateCondition(): unknown {\n const predefinedFunction = PREDEFINED_CONDITIONS[this.when];\n if (predefinedFunction) {\n return predefinedFunction(this.is);\n }\n\n return null;\n }\n\n private shouldRender(): boolean {\n if (!this.when && !this.conditionFunction) {\n this.logger.error(\"[u-conditional-render] Either 'when' or 'conditionFunction' prop is required\");\n }\n\n if (this.conditionFunction) {\n const result = this.conditionFunction(authState);\n return this.not ? !result : result;\n }\n\n const value = this.evaluateCondition();\n if (value === null) {\n return false;\n }\n\n const normalizedIs = this.is?.toString().toLowerCase();\n let result: boolean;\n\n if (typeof value === \"boolean\") {\n if (normalizedIs === \"false\" || normalizedIs === \"disabled\") {\n result = !value;\n } else {\n result = value;\n }\n } else if (this.is === undefined) {\n result = isTruthy(value);\n } else if (normalizedIs === \"enabled\" || normalizedIs === \"true\") {\n result = isTruthy(value);\n } else if (normalizedIs === \"disabled\" || normalizedIs === \"false\") {\n result = !isTruthy(value);\n } else {\n result = String(value) === String(this.is); // to compare exact value\n }\n\n return this.not ? !result : result;\n }\n\n render() {\n const visible = this.shouldRender();\n\n return (\n <Host\n hidden={!visible}\n style={{ display: visible ? \"contents\" : undefined }}\n aria-hidden={!visible ? \"true\" : null}\n aria-live=\"polite\"\n >\n <slot />\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"conditional-render.js","sourceRoot":"","sources":["../../../../src/shared/components/conditional-render/conditional-render.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,EAAkB,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,KAAK,iBAAiB,MAAM,wCAAwC,CAAC;AAC5E,OAAO,EAAE,eAAe,EAAE,MAAM,4CAA4C,CAAC;AAC7E,OAAO,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAErD,MAAM,qBAAqB,GAAoD;IAC7E,qBAAqB,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,qBAAqB,EAAE,OAAO;IACrE,sBAAsB,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,qBAAqB,EAAE,QAAQ;IACvE,uBAAuB,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,qBAAqB,EAAE,UAAU;IAC1E,0BAA0B,EAAE,GAAG,EAAE,CAAC,CAAC,SAAS,CAAC,qBAAqB,EAAE,aAAa,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC;IACnG,qBAAqB,EAAE,CAAC,QAAgB,EAAE,EAAE,CAAC,SAAS,CAAC,qBAAqB,EAAE,aAAa,EAAE,QAAQ,CAAC,QAAQ,CAAC,IAAI,KAAK;IACxH,cAAc,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,OAAO;IACvC,oBAAoB,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,aAAa;IACnD,oBAAoB,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,aAAa,KAAK,MAAM,IAAI,SAAS,CAAC,aAAa,KAAK,WAAW;IACzG,yBAAyB,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,aAAa,KAAK,WAAW;IACxE,wBAAwB,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,aAAa,CAAC,IAAI,KAAK,MAAM,IAAI,SAAS,CAAC,aAAa,CAAC,IAAI,KAAK,WAAW;IACvH,6BAA6B,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,aAAa,CAAC,IAAI,KAAK,WAAW;IAEjF,kCAAkC,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,MAAM,GAAG,CAAC;IAC1G,+BAA+B,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,eAAe;IAC9E,qBAAqB,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,KAAK;IAC1D,uBAAuB,EAAE,CAAC,sBAA8B,EAAE,EAAE,CAAC,iBAAiB,CAAC,YAAY,CAAC,sBAAsB,CAAC;IACnH,sBAAsB,EAAE,CAAC,sBAA8B,EAAE,EAAE,CAAC,iBAAiB,CAAC,WAAW,CAAC,sBAAsB,CAAC;IACjH,qBAAqB,EAAE,GAAG,EAAE,CAAC,eAAe,CAAC,KAAK,CAAC,eAAe,IAAI,eAAe,CAAC,KAAK,CAAC,eAAe,KAAK,EAAE;IAElH,iBAAiB,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO;IACnD,mBAAmB,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC;IACxH,wBAAwB,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC;IACtF,oBAAoB,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,UAAU;IACzD,iBAAiB,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC;CACzE,CAAC;AAEF,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;AACxB,CAAC;AAMD,MAAM,OAAO,iBAAkB,SAAQ,cAAc,EAAE;;;;IAC7C,IAAI,CAAU,CAAC,qBAAqB;IACpC,EAAE,CAAU,CAAC,oCAAoC;IACjD,GAAG,GAAG,KAAK,CAAC;IACZ,iBAAiB,CAAiC;IAElD,iBAAiB;QACvB,MAAM,kBAAkB,GAAG,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5D,IAAI,kBAAkB,EAAE,CAAC;YACvB,OAAO,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACrC,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,YAAY;QAClB,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC1C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,8EAA8E,CAAC,CAAC;QACpG,CAAC;QAED,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC3B,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;YACjD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;QACrC,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACvC,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACnB,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,YAAY,GAAG,IAAI,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC;QACvD,IAAI,MAAe,CAAC;QAEpB,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC;YAC/B,IAAI,YAAY,KAAK,OAAO,IAAI,YAAY,KAAK,UAAU,EAAE,CAAC;gBAC5D,MAAM,GAAG,CAAC,KAAK,CAAC;YAClB,CAAC;iBAAM,CAAC;gBACN,MAAM,GAAG,KAAK,CAAC;YACjB,CAAC;QACH,CAAC;aAAM,IAAI,IAAI,CAAC,EAAE,KAAK,SAAS,EAAE,CAAC;YACjC,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC;aAAM,IAAI,YAAY,KAAK,SAAS,IAAI,YAAY,KAAK,MAAM,EAAE,CAAC;YACjE,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC;aAAM,IAAI,YAAY,KAAK,UAAU,IAAI,YAAY,KAAK,OAAO,EAAE,CAAC;YACnE,MAAM,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,yBAAyB;QACvE,CAAC;QAED,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;IACrC,CAAC;IAED,MAAM;QACJ,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAEvC,OAAO,CACL,EAAC,IAAI,qDACH,MAAM,EAAE,CAAC,UAAU,EACnB,KAAK,EAAE,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,EAAE,iBAC1C,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,eAC9B,QAAQ;YAElB,8DAAQ,CACH,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, Host, h, Prop } from \"@stencil/core\";\nimport { type AuthState, authState } from \"../../../auth/store/auth-store\";\nimport * as NewsletterHelpers from \"../../../newsletter/newsletter-helpers\";\nimport { newsletterStore } from \"../../../newsletter/store/newsletter-store\";\nimport { profileStore } from \"../../../profile/store/profile-store\";\nimport { UnidyComponent } from \"../../base/component\";\nimport { flashState } from \"../../store/flash-store\";\n\nconst PREDEFINED_CONDITIONS: Record<string, (...args: unknown[]) => unknown> = {\n \"auth.passkeyEnabled\": () => authState.availableLoginOptions?.passkey,\n \"auth.passwordEnabled\": () => authState.availableLoginOptions?.password,\n \"auth.magicCodeEnabled\": () => authState.availableLoginOptions?.magic_link,\n \"auth.socialLoginsEnabled\": () => (authState.availableLoginOptions?.social_logins?.length ?? 0) > 0,\n \"auth.hasSocialLogin\": (provider: string) => authState.availableLoginOptions?.social_logins?.includes(provider) ?? false,\n \"auth.loading\": () => authState.loading,\n \"auth.authenticated\": () => authState.authenticated,\n \"auth.magicCodeSent\": () => authState.magicCodeStep === \"sent\" || authState.magicCodeStep === \"requested\",\n \"auth.magicCodeRequested\": () => authState.magicCodeStep === \"requested\",\n \"auth.resetPasswordSent\": () => authState.resetPassword.step === \"sent\" || authState.resetPassword.step === \"requested\",\n \"auth.resetPasswordRequested\": () => authState.resetPassword.step === \"requested\",\n\n \"newsletter.hasCheckedNewsletters\": () => Object.keys(newsletterStore.state.checkedNewsletters).length > 0,\n \"newsletter.hasPreferenceToken\": () => !!newsletterStore.state.preferenceToken,\n \"newsletter.hasEmail\": () => !!newsletterStore.state.email,\n \"newsletter.subscribed\": (newsletterInternalName: string) => NewsletterHelpers.isSubscribed(newsletterInternalName),\n \"newsletter.confirmed\": (newsletterInternalName: string) => NewsletterHelpers.isConfirmed(newsletterInternalName),\n \"newsletter.loggedIn\": () => newsletterStore.state.isAuthenticated || newsletterStore.state.preferenceToken !== \"\",\n\n \"profile.loading\": () => profileStore.state.loading,\n \"profile.hasErrors\": () => Object.keys(profileStore.state.errors).some((key) => profileStore.state.errors[key] !== null),\n \"profile.hasFlashErrors\": () => flashState.messages.some((m) => m.variant === \"error\"),\n \"profile.phoneValid\": () => profileStore.state.phoneValid,\n \"profile.hasData\": () => Object.keys(profileStore.state.data).length > 0,\n};\n\nfunction isTruthy(value: unknown): boolean {\n return Boolean(value);\n}\n\n@Component({\n tag: \"u-conditional-render\",\n shadow: false,\n})\nexport class ConditionalRender extends UnidyComponent() {\n @Prop() when?: string; // condition to check\n @Prop() is?: string; // optional value to compare against\n @Prop() not = false;\n @Prop() conditionFunction?: (state: AuthState) => boolean;\n\n private evaluateCondition(): unknown {\n const predefinedFunction = PREDEFINED_CONDITIONS[this.when];\n if (predefinedFunction) {\n return predefinedFunction(this.is);\n }\n\n return null;\n }\n\n private shouldRender(): boolean {\n if (!this.when && !this.conditionFunction) {\n this.logger.error(\"[u-conditional-render] Either 'when' or 'conditionFunction' prop is required\");\n }\n\n if (this.conditionFunction) {\n const result = this.conditionFunction(authState);\n return this.not ? !result : result;\n }\n\n const value = this.evaluateCondition();\n if (value === null) {\n return false;\n }\n\n const normalizedIs = this.is?.toString().toLowerCase();\n let result: boolean;\n\n if (typeof value === \"boolean\") {\n if (normalizedIs === \"false\" || normalizedIs === \"disabled\") {\n result = !value;\n } else {\n result = value;\n }\n } else if (this.is === undefined) {\n result = isTruthy(value);\n } else if (normalizedIs === \"enabled\" || normalizedIs === \"true\") {\n result = isTruthy(value);\n } else if (normalizedIs === \"disabled\" || normalizedIs === \"false\") {\n result = !isTruthy(value);\n } else {\n result = String(value) === String(this.is); // to compare exact value\n }\n\n return this.not ? !result : result;\n }\n\n render() {\n const shouldShow = this.shouldRender();\n\n return (\n <Host\n hidden={!shouldShow}\n style={{ display: shouldShow ? \"contents\" : undefined }}\n aria-hidden={!shouldShow ? \"true\" : null}\n aria-live=\"polite\"\n >\n <slot />\n </Host>\n );\n }\n}\n"]}
@@ -3,9 +3,10 @@ import { h } from "@stencil/core";
3
3
  import { getUnidyClient } from "../../../api/";
4
4
  import { Auth } from "../../../auth";
5
5
  import i18n from "../../../i18n";
6
- import { UnidyComponent } from "../../../logger";
6
+ import { UnidyComponent } from "../../base/component";
7
7
  import { unidyState } from "../../store/unidy-store";
8
- export class UnidyConfig extends UnidyComponent {
8
+ let configInstance = null;
9
+ export class UnidyConfig extends UnidyComponent() {
9
10
  constructor() {
10
11
  super();
11
12
  }
@@ -19,6 +20,11 @@ export class UnidyConfig extends UnidyComponent {
19
20
  unidyInitialized;
20
21
  configChange;
21
22
  async componentWillLoad() {
23
+ if (configInstance !== null) {
24
+ this.logger.error("Only one <u-config> element is allowed per page.");
25
+ return;
26
+ }
27
+ configInstance = this;
22
28
  if (!this.baseUrl || !this.apiKey) {
23
29
  this.logger.error("baseUrl and apiKey are required");
24
30
  return;
@@ -40,6 +46,13 @@ export class UnidyConfig extends UnidyComponent {
40
46
  if (this.checkSignedIn) {
41
47
  auth.helpers.checkSignedIn();
42
48
  }
49
+ this.logger.debug("Unidy SDK initialized successfully");
50
+ }
51
+ disconnectedCallback() {
52
+ if (configInstance === this) {
53
+ configInstance = null;
54
+ unidyState.isConfigured = false;
55
+ }
43
56
  }
44
57
  // extend the list of properties that should be watched when new properties are added to the Config
45
58
  onPropChange(newValue, oldValue, propName) {
@@ -55,7 +68,7 @@ export class UnidyConfig extends UnidyComponent {
55
68
  });
56
69
  }
57
70
  render() {
58
- return h("slot", { key: 'de45e5c349c49f10aea1005f15edcdda4a32bbaa' });
71
+ return h("slot", { key: 'd8c63b2abf7d7032823546f4598e9d2fb671bf16' });
59
72
  }
60
73
  loadCustomTranslations() {
61
74
  if (this.customTranslations) {
@@ -243,7 +256,7 @@ export class UnidyConfig extends UnidyComponent {
243
256
  "references": {
244
257
  "Config": {
245
258
  "location": "local",
246
- "path": "/Users/fran/work/worktrees-unidy-sdk/jump-to-service/packages/sdk/src/shared/components/config/config.tsx",
259
+ "path": "/Users/bvogel/Development/unidy-sdk/packages/sdk/src/shared/components/config/config.tsx",
247
260
  "id": "src/shared/components/config/config.tsx::Config"
248
261
  }
249
262
  }
@@ -264,7 +277,7 @@ export class UnidyConfig extends UnidyComponent {
264
277
  "references": {
265
278
  "ConfigChange": {
266
279
  "location": "local",
267
- "path": "/Users/fran/work/worktrees-unidy-sdk/jump-to-service/packages/sdk/src/shared/components/config/config.tsx",
280
+ "path": "/Users/bvogel/Development/unidy-sdk/packages/sdk/src/shared/components/config/config.tsx",
268
281
  "id": "src/shared/components/config/config.tsx::ConfigChange"
269
282
  }
270
283
  }
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../src/shared/components/config/config.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as Sentry from \"@sentry/browser\";\nimport { Component, Event, type EventEmitter, h, Prop, Watch } from \"@stencil/core\";\nimport { getUnidyClient } from \"../../../api/\";\nimport { Auth } from \"../../../auth\";\nimport i18n from \"../../../i18n\";\nimport { UnidyComponent } from \"../../../logger\";\nimport { unidyState } from \"../../store/unidy-store\";\n\nexport interface Config {\n apiKey: string;\n baseUrl: string;\n locale: string;\n mode: \"production\" | \"development\";\n}\n\nexport interface ConfigChange {\n key: string;\n value: string;\n previousValue: string;\n}\n\ntype TranslationTree = {\n [key: string]: string | TranslationTree;\n};\n\n@Component({\n tag: \"u-config\",\n shadow: false,\n})\nexport class UnidyConfig extends UnidyComponent {\n @Prop() mode: \"production\" | \"development\" = \"production\";\n @Prop() baseUrl = \"\";\n @Prop() apiKey = \"\";\n @Prop() customTranslations: string | Record<string, TranslationTree> = \"\";\n @Prop() fallbackLocale = \"en\";\n @Prop() locale = \"en\";\n @Prop() checkSignedIn = false;\n\n @Event() unidyInitialized!: EventEmitter<Config>;\n @Event() configChange!: EventEmitter<ConfigChange>;\n\n async componentWillLoad() {\n if (!this.baseUrl || !this.apiKey) {\n this.logger.error(\"baseUrl and apiKey are required\");\n return;\n }\n\n unidyState.apiKey = this.apiKey;\n unidyState.baseUrl = this.baseUrl;\n unidyState.locale = this.locale;\n unidyState.isConfigured = true;\n\n this.unidyInitialized.emit({\n apiKey: this.apiKey,\n baseUrl: this.baseUrl,\n locale: this.locale,\n mode: this.mode,\n });\n\n i18n.options.fallbackLng = this.fallbackLocale;\n\n this.loadCustomTranslations();\n unidyState.locale = this.locale;\n\n const auth = await Auth.initialize(getUnidyClient());\n\n if (this.checkSignedIn) {\n auth.helpers.checkSignedIn();\n }\n }\n\n // extend the list of properties that should be watched when new properties are added to the Config\n @Watch(\"mode\")\n @Watch(\"locale\")\n onPropChange(newValue: string, oldValue: string, propName: keyof Config) {\n if (oldValue === undefined) return;\n\n if (propName in unidyState) {\n (unidyState as Record<keyof Config, string>)[propName] = newValue;\n }\n\n this.configChange.emit({\n key: propName,\n value: newValue,\n previousValue: oldValue,\n });\n }\n\n render() {\n return <slot />;\n }\n\n private loadCustomTranslations() {\n if (this.customTranslations) {\n try {\n const translations = typeof this.customTranslations === \"string\" ? JSON.parse(this.customTranslations) : this.customTranslations;\n\n for (const lang in translations) {\n if (Object.hasOwn(translations, lang)) {\n i18n.addResourceBundle(lang, \"translation\", translations[lang], true, true);\n }\n }\n } catch (error) {\n Sentry.captureException(\"Failed to parse customTranslations\", error);\n }\n }\n }\n}\n"]}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../src/shared/components/config/config.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as Sentry from \"@sentry/browser\";\nimport { Component, Event, type EventEmitter, h, Prop, Watch } from \"@stencil/core\";\nimport { getUnidyClient } from \"../../../api/\";\nimport { Auth } from \"../../../auth\";\nimport i18n from \"../../../i18n\";\nimport { UnidyComponent } from \"../../base/component\";\nimport { unidyState } from \"../../store/unidy-store\";\n\nlet configInstance: UnidyConfig | null = null;\n\nexport interface Config {\n apiKey: string;\n baseUrl: string;\n locale: string;\n mode: \"production\" | \"development\";\n}\n\nexport interface ConfigChange {\n key: string;\n value: string;\n previousValue: string;\n}\n\ntype TranslationTree = {\n [key: string]: string | TranslationTree;\n};\n\n@Component({\n tag: \"u-config\",\n shadow: false,\n})\nexport class UnidyConfig extends UnidyComponent() {\n @Prop() mode: \"production\" | \"development\" = \"production\";\n @Prop() baseUrl = \"\";\n @Prop() apiKey = \"\";\n @Prop() customTranslations: string | Record<string, TranslationTree> = \"\";\n @Prop() fallbackLocale = \"en\";\n @Prop() locale = \"en\";\n @Prop() checkSignedIn = false;\n\n @Event() unidyInitialized!: EventEmitter<Config>;\n @Event() configChange!: EventEmitter<ConfigChange>;\n\n async componentWillLoad() {\n if (configInstance !== null) {\n this.logger.error(\"Only one <u-config> element is allowed per page.\");\n return;\n }\n configInstance = this;\n\n if (!this.baseUrl || !this.apiKey) {\n this.logger.error(\"baseUrl and apiKey are required\");\n return;\n }\n\n unidyState.apiKey = this.apiKey;\n unidyState.baseUrl = this.baseUrl;\n unidyState.locale = this.locale;\n unidyState.isConfigured = true;\n\n this.unidyInitialized.emit({\n apiKey: this.apiKey,\n baseUrl: this.baseUrl,\n locale: this.locale,\n mode: this.mode,\n });\n\n i18n.options.fallbackLng = this.fallbackLocale;\n\n this.loadCustomTranslations();\n unidyState.locale = this.locale;\n\n const auth = await Auth.initialize(getUnidyClient());\n\n if (this.checkSignedIn) {\n auth.helpers.checkSignedIn();\n }\n\n this.logger.debug(\"Unidy SDK initialized successfully\");\n }\n\n disconnectedCallback() {\n if (configInstance === this) {\n configInstance = null;\n unidyState.isConfigured = false;\n }\n }\n\n // extend the list of properties that should be watched when new properties are added to the Config\n @Watch(\"mode\")\n @Watch(\"locale\")\n onPropChange(newValue: string, oldValue: string, propName: keyof Config) {\n if (oldValue === undefined) return;\n\n if (propName in unidyState) {\n (unidyState as Record<keyof Config, string>)[propName] = newValue;\n }\n\n this.configChange.emit({\n key: propName,\n value: newValue,\n previousValue: oldValue,\n });\n }\n\n render() {\n return <slot />;\n }\n\n private loadCustomTranslations() {\n if (this.customTranslations) {\n try {\n const translations = typeof this.customTranslations === \"string\" ? JSON.parse(this.customTranslations) : this.customTranslations;\n\n for (const lang in translations) {\n if (Object.hasOwn(translations, lang)) {\n i18n.addResourceBundle(lang, \"translation\", translations[lang], true, true);\n }\n }\n } catch (error) {\n Sentry.captureException(\"Failed to parse customTranslations\", error);\n }\n }\n }\n}\n"]}
@@ -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: '02cf5d0bb0a54628902c0e6512d6a01dec93e729', onSubmit: this.handleSubmit }, h("input", { key: 'ce6a485ab8422ab0ce13dd953293136def4864ca', 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: 'f96b2b09bb1520c240d93db91b34a23fa4191d0e' })));
61
+ return (h("form", { key: '5033ba72842a4cd9125a58170a733c6ec2aaed5a', onSubmit: this.handleSubmit }, h("input", { key: 'f97c1f8881e08fcfcffdf252862e63469b483cbd', 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: 'd4d403e19c003e80119be01587d9cd00244908ae' })));
62
62
  }
63
63
  static get is() { return "u-email-field"; }
64
64
  static get originalStyleUrls() {
@@ -1 +1 @@
1
- /*! tailwindcss v4.1.18 | 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,utilities; /*! tailwindcss v4.1.18 | 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)}}: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}
1
+ /*! tailwindcss v4.1.18 | 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\:block{display:block}} /*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */@layer base{}@layer components,utilities; /*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */@layer base{}@layer components,utilities; /*! tailwindcss v4.1.18 | 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{.visible{visibility:visible}.hidden{display:none}.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}