@progressive-development/pd-spa-helper 0.9.1 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (269) hide show
  1. package/dist/PdSpaHelper.d.ts +83 -0
  2. package/dist/PdSpaHelper.d.ts.map +1 -0
  3. package/dist/PdSpaHelper.js +492 -0
  4. package/dist/defaultpage/default-confirm-popup.d.ts +19 -0
  5. package/dist/defaultpage/default-confirm-popup.d.ts.map +1 -0
  6. package/dist/defaultpage/default-confirm-popup.js +70 -0
  7. package/dist/defaultpage/default-dialog-popup.d.ts +19 -0
  8. package/dist/defaultpage/default-dialog-popup.d.ts.map +1 -0
  9. package/dist/defaultpage/default-dialog-popup.js +103 -0
  10. package/dist/defaultpage/default-login.d.ts +6 -0
  11. package/dist/defaultpage/default-login.d.ts.map +1 -0
  12. package/dist/defaultpage/default-login.js +33 -0
  13. package/dist/defaultpage/default-not-found.d.ts +6 -0
  14. package/dist/defaultpage/default-not-found.d.ts.map +1 -0
  15. package/dist/{components/default-not-found/DefaultNotFound.js → defaultpage/default-not-found.js} +3 -10
  16. package/dist/defaultpage/default-popup.d.ts +7 -0
  17. package/dist/defaultpage/default-popup.d.ts.map +1 -0
  18. package/dist/defaultpage/default-popup.js +24 -0
  19. package/dist/defaultpage/default-step-address.d.ts +14 -0
  20. package/dist/defaultpage/default-step-address.d.ts.map +1 -0
  21. package/dist/defaultpage/default-step-address.js +77 -0
  22. package/dist/defaultpage/default-step-summary.d.ts +28 -0
  23. package/dist/defaultpage/default-step-summary.d.ts.map +1 -0
  24. package/dist/defaultpage/default-step-summary.js +67 -0
  25. package/dist/defaultpage/default-view-page.d.ts +10 -0
  26. package/dist/defaultpage/default-view-page.d.ts.map +1 -0
  27. package/dist/defaultpage/default-view-page.js +70 -0
  28. package/dist/defaultpage/default-wizard.d.ts +37 -0
  29. package/dist/defaultpage/default-wizard.d.ts.map +1 -0
  30. package/dist/defaultpage/default-wizard.js +255 -0
  31. package/dist/defaultpage/pd-default-wizard-step.d.ts +60 -0
  32. package/dist/defaultpage/pd-default-wizard-step.d.ts.map +1 -0
  33. package/dist/defaultpage/pd-default-wizard-step.js +144 -0
  34. package/dist/generated/locale-wrapper/be-wrapper.d.ts +63 -0
  35. package/dist/generated/locale-wrapper/be-wrapper.d.ts.map +1 -0
  36. package/dist/generated/locale-wrapper/de-wrapper.d.ts +63 -0
  37. package/dist/generated/locale-wrapper/de-wrapper.d.ts.map +1 -0
  38. package/dist/generated/locale-wrapper/en-wrapper.d.ts +63 -0
  39. package/dist/generated/locale-wrapper/en-wrapper.d.ts.map +1 -0
  40. package/dist/generated/locales/be.d.ts +15 -1
  41. package/dist/generated/locales/be.d.ts.map +1 -1
  42. package/dist/generated/locales/be.js +15 -1
  43. package/dist/generated/locales/de.d.ts +15 -1
  44. package/dist/generated/locales/de.d.ts.map +1 -1
  45. package/dist/generated/locales/de.js +15 -1
  46. package/dist/generated/locales/en.d.ts +15 -1
  47. package/dist/generated/locales/en.d.ts.map +1 -1
  48. package/dist/generated/locales/en.js +15 -1
  49. package/dist/helper/blob-helper.d.ts +3 -0
  50. package/dist/helper/blob-helper.d.ts.map +1 -0
  51. package/dist/helper/blob-helper.js +35 -0
  52. package/dist/helper/date-helper.d.ts +27 -0
  53. package/dist/helper/date-helper.d.ts.map +1 -0
  54. package/dist/helper/date-helper.js +129 -0
  55. package/dist/helper/locale-format.d.ts +4 -0
  56. package/dist/helper/locale-format.d.ts.map +1 -0
  57. package/dist/helper/locale-format.js +16 -0
  58. package/dist/helper/logger.d.ts +12 -11
  59. package/dist/helper/logger.d.ts.map +1 -1
  60. package/dist/helper/logger.js +49 -10
  61. package/dist/helper/number-helper.d.ts +2 -0
  62. package/dist/helper/number-helper.d.ts.map +1 -0
  63. package/dist/helper/number-helper.js +13 -0
  64. package/dist/helper/price-helper.d.ts +5 -0
  65. package/dist/helper/price-helper.d.ts.map +1 -0
  66. package/dist/helper/price-helper.js +22 -0
  67. package/dist/helper/refresh-id-token.d.ts.map +1 -1
  68. package/dist/helper/refresh-id-token.js +4 -6
  69. package/dist/helper/text-helper.d.ts +3 -0
  70. package/dist/helper/text-helper.d.ts.map +1 -0
  71. package/dist/helper/text-helper.js +4 -0
  72. package/dist/index.d.ts +29 -31
  73. package/dist/index.d.ts.map +1 -1
  74. package/dist/index.js +50 -27
  75. package/dist/model/spa-model.d.ts +15 -14
  76. package/dist/model/spa-model.d.ts.map +1 -1
  77. package/dist/popup/wizard-close-popup.d.ts +11 -0
  78. package/dist/popup/wizard-close-popup.d.ts.map +1 -0
  79. package/dist/popup/wizard-close-popup.js +63 -0
  80. package/dist/popup/wizard-reload-popup.d.ts +14 -0
  81. package/dist/popup/wizard-reload-popup.d.ts.map +1 -0
  82. package/dist/popup/wizard-reload-popup.js +76 -0
  83. package/dist/router/PdRouterService.d.ts +1 -4
  84. package/dist/router/PdRouterService.d.ts.map +1 -1
  85. package/dist/router/PdRouterService.js +16 -40
  86. package/dist/service-provider/firebase/auth.d.ts +19 -0
  87. package/dist/service-provider/firebase/auth.d.ts.map +1 -0
  88. package/dist/service-provider/firebase/auth.js +62 -0
  89. package/dist/service-provider/firebase/firestorage-client.d.ts +22 -0
  90. package/dist/service-provider/firebase/firestorage-client.d.ts.map +1 -0
  91. package/dist/service-provider/firebase/firestorage-client.js +226 -0
  92. package/dist/service-provider/firebase/firestore-client.d.ts +12 -0
  93. package/dist/service-provider/firebase/firestore-client.d.ts.map +1 -0
  94. package/dist/service-provider/firebase/firestore-client.js +25 -0
  95. package/dist/service-provider/firebase/functions-client.d.ts +10 -0
  96. package/dist/service-provider/firebase/functions-client.d.ts.map +1 -0
  97. package/dist/service-provider/firebase/functions-client.js +63 -0
  98. package/dist/service-provider/firebase/messagingFirebaseClient.d.ts +9 -0
  99. package/dist/service-provider/firebase/messagingFirebaseClient.d.ts.map +1 -0
  100. package/dist/service-provider/firebase/messagingFirebaseClient.js +69 -0
  101. package/dist/service-provider/mock/auth.d.ts +6 -0
  102. package/dist/service-provider/mock/auth.d.ts.map +1 -0
  103. package/dist/service-provider/mock/auth.js +60 -0
  104. package/dist/service-provider/mock/function-client.d.ts +7 -0
  105. package/dist/service-provider/mock/function-client.d.ts.map +1 -0
  106. package/dist/service-provider/mock/function-client.js +30 -0
  107. package/dist/service-provider/mock/storage-client.d.ts +11 -0
  108. package/dist/service-provider/mock/storage-client.d.ts.map +1 -0
  109. package/dist/service-provider/mock/storage-client.js +106 -0
  110. package/dist/service-provider/service-provider-impl.d.ts +27 -0
  111. package/dist/service-provider/service-provider-impl.d.ts.map +1 -0
  112. package/dist/service-provider/service-provider-impl.js +222 -0
  113. package/dist/service-provider/service-provider-model.d.ts +7 -26
  114. package/dist/service-provider/service-provider-model.d.ts.map +1 -1
  115. package/dist/{db → store}/indexDB.d.ts +9 -9
  116. package/dist/store/indexDB.d.ts.map +1 -0
  117. package/dist/{db → store}/indexDB.js +12 -14
  118. package/dist/store/mini-rx.store.d.ts.map +1 -1
  119. package/dist/store/mini-rx.store.js +3 -1
  120. package/dist/store/spa-app-actions.d.ts +22 -5
  121. package/dist/store/spa-app-actions.d.ts.map +1 -1
  122. package/dist/store/spa-app-actions.js +8 -4
  123. package/dist/store/spa-app-effects.d.ts +17 -0
  124. package/dist/store/spa-app-effects.d.ts.map +1 -1
  125. package/dist/store/spa-app-effects.js +40 -2
  126. package/dist/store/spa-app-reducer.d.ts +10 -5
  127. package/dist/store/spa-app-reducer.d.ts.map +1 -1
  128. package/dist/store/spa-app-reducer.js +8 -17
  129. package/dist/store/spa-app-selector.d.ts +2 -2
  130. package/dist/store/spa-app-selector.d.ts.map +1 -1
  131. package/dist/store/spa-app-selector.js +1 -1
  132. package/dist/stories/address-edit.stories.d.ts +27 -0
  133. package/dist/stories/address-edit.stories.d.ts.map +1 -0
  134. package/dist/stories/address-new.stories.d.ts +33 -0
  135. package/dist/stories/address-new.stories.d.ts.map +1 -0
  136. package/dist/stories/default-confirm-popup.stories.d.ts +24 -0
  137. package/dist/stories/default-confirm-popup.stories.d.ts.map +1 -0
  138. package/dist/stories/default-dialog-popup.stories.d.ts +23 -0
  139. package/dist/stories/default-dialog-popup.stories.d.ts.map +1 -0
  140. package/dist/stories/default-login.stories.d.ts +10 -0
  141. package/dist/stories/default-login.stories.d.ts.map +1 -0
  142. package/dist/stories/default-popup.stories.d.ts +9 -0
  143. package/dist/stories/default-popup.stories.d.ts.map +1 -0
  144. package/dist/stories/pd-loading-state.stories.d.ts +30 -0
  145. package/dist/stories/pd-loading-state.stories.d.ts.map +1 -0
  146. package/dist/stories/pd-toast.stories.d.ts +27 -0
  147. package/dist/stories/pd-toast.stories.d.ts.map +1 -0
  148. package/dist/stories/routing.stories.d.ts +24 -0
  149. package/dist/stories/routing.stories.d.ts.map +1 -0
  150. package/dist/stories/test-impls/address-test.d.ts +6 -0
  151. package/dist/stories/test-impls/address-test.d.ts.map +1 -0
  152. package/dist/stories/test-impls/test-mock-app.d.ts +15 -0
  153. package/dist/stories/test-impls/test-mock-app.d.ts.map +1 -0
  154. package/dist/stories/test-impls/test-pages/test-home-page.d.ts +7 -0
  155. package/dist/stories/test-impls/test-pages/test-home-page.d.ts.map +1 -0
  156. package/dist/stories/test-impls/test-pages/test-not-found-page.d.ts +5 -0
  157. package/dist/stories/test-impls/test-pages/test-not-found-page.d.ts.map +1 -0
  158. package/dist/stories/test-impls/test-pages/test-wizard-step.d.ts +17 -0
  159. package/dist/stories/test-impls/test-pages/test-wizard-step.d.ts.map +1 -0
  160. package/dist/stories/test-impls/test-pages/test-wizard.d.ts +16 -0
  161. package/dist/stories/test-impls/test-pages/test-wizard.d.ts.map +1 -0
  162. package/dist/stories/test-impls/test-popups/default-confirm-popup-test-error.d.ts +8 -0
  163. package/dist/stories/test-impls/test-popups/default-confirm-popup-test-error.d.ts.map +1 -0
  164. package/dist/stories/test-impls/test-popups/default-confirm-popup-test-info.d.ts +8 -0
  165. package/dist/stories/test-impls/test-popups/default-confirm-popup-test-info.d.ts.map +1 -0
  166. package/dist/stories/test-impls/test-popups/default-confirm-popup-test-warn.d.ts +8 -0
  167. package/dist/stories/test-impls/test-popups/default-confirm-popup-test-warn.d.ts.map +1 -0
  168. package/dist/stories/test-impls/test-popups/default-dialog-popup-test.d.ts +13 -0
  169. package/dist/stories/test-impls/test-popups/default-dialog-popup-test.d.ts.map +1 -0
  170. package/dist/stories/test-impls/test-popups/default-popup-test.d.ts +5 -0
  171. package/dist/stories/test-impls/test-popups/default-popup-test.d.ts.map +1 -0
  172. package/dist/stories/test-wizard-step.stories.d.ts +11 -0
  173. package/dist/stories/test-wizard-step.stories.d.ts.map +1 -0
  174. package/dist/stories/test-wizard.stories.d.ts +9 -0
  175. package/dist/stories/test-wizard.stories.d.ts.map +1 -0
  176. package/dist/tmpown/pd-loading-state.d.ts +9 -0
  177. package/dist/tmpown/pd-loading-state.d.ts.map +1 -0
  178. package/dist/tmpown/pd-loading-state.js +196 -0
  179. package/dist/tmpown/pd-login.d.ts +13 -0
  180. package/dist/tmpown/pd-login.d.ts.map +1 -0
  181. package/dist/tmpown/pd-login.js +165 -0
  182. package/dist/tmpown/pd-toast.d.ts +13 -0
  183. package/dist/tmpown/pd-toast.d.ts.map +1 -0
  184. package/dist/tmpown/pd-toast.js +127 -0
  185. package/package.json +9 -13
  186. package/dist/auth/AuthController.d.ts +0 -37
  187. package/dist/auth/AuthController.d.ts.map +0 -1
  188. package/dist/auth/AuthController.js +0 -65
  189. package/dist/auth/auth-directives.d.ts +0 -59
  190. package/dist/auth/auth-directives.d.ts.map +0 -1
  191. package/dist/auth/auth-directives.js +0 -81
  192. package/dist/auth/auth-utils.d.ts +0 -45
  193. package/dist/auth/auth-utils.d.ts.map +0 -1
  194. package/dist/auth/auth-utils.js +0 -42
  195. package/dist/auth/index.d.ts +0 -7
  196. package/dist/auth/index.d.ts.map +0 -1
  197. package/dist/components/default-login/DefaultLogin.d.ts +0 -15
  198. package/dist/components/default-login/DefaultLogin.d.ts.map +0 -1
  199. package/dist/components/default-login/DefaultLogin.js +0 -120
  200. package/dist/components/default-not-found/DefaultNotFound.d.ts +0 -6
  201. package/dist/components/default-not-found/DefaultNotFound.d.ts.map +0 -1
  202. package/dist/components/pd-section-page/PdSectionPage.d.ts +0 -55
  203. package/dist/components/pd-section-page/PdSectionPage.d.ts.map +0 -1
  204. package/dist/components/pd-section-page/PdSectionPage.js +0 -40
  205. package/dist/components/pd-spa-helper/PdSpaHelper.d.ts +0 -160
  206. package/dist/components/pd-spa-helper/PdSpaHelper.d.ts.map +0 -1
  207. package/dist/components/pd-spa-helper/PdSpaHelper.js +0 -651
  208. package/dist/components/pd-spa-helper/controllers/ScrollController.d.ts +0 -77
  209. package/dist/components/pd-spa-helper/controllers/ScrollController.d.ts.map +0 -1
  210. package/dist/components/pd-spa-helper/controllers/ScrollController.js +0 -102
  211. package/dist/components/pd-spa-helper/spa-config.d.ts +0 -87
  212. package/dist/components/pd-spa-helper/spa-config.d.ts.map +0 -1
  213. package/dist/components/pd-spa-helper/spa-config.js +0 -167
  214. package/dist/components/pd-spa-helper/spa-events.d.ts +0 -121
  215. package/dist/components/pd-spa-helper/spa-events.d.ts.map +0 -1
  216. package/dist/components/pd-spa-helper/spa-events.js +0 -18
  217. package/dist/db/index.d.ts +0 -3
  218. package/dist/db/index.d.ts.map +0 -1
  219. package/dist/db/indexDB.d.ts.map +0 -1
  220. package/dist/model/index.d.ts +0 -4
  221. package/dist/model/index.d.ts.map +0 -1
  222. package/dist/router/index.d.ts +0 -3
  223. package/dist/router/index.d.ts.map +0 -1
  224. package/dist/screen-size/ScreenSizeController.d.ts +0 -34
  225. package/dist/screen-size/ScreenSizeController.d.ts.map +0 -1
  226. package/dist/screen-size/ScreenSizeController.js +0 -58
  227. package/dist/screen-size/ScreenSizeService.d.ts +0 -49
  228. package/dist/screen-size/ScreenSizeService.d.ts.map +0 -1
  229. package/dist/screen-size/ScreenSizeService.js +0 -107
  230. package/dist/screen-size/index.d.ts +0 -13
  231. package/dist/screen-size/index.d.ts.map +0 -1
  232. package/dist/screen-size/responsive-directives.d.ts +0 -59
  233. package/dist/screen-size/responsive-directives.d.ts.map +0 -1
  234. package/dist/screen-size/responsive-directives.js +0 -71
  235. package/dist/screen-size/types.d.ts +0 -44
  236. package/dist/screen-size/types.d.ts.map +0 -1
  237. package/dist/service-provider/ServiceRegistry.d.ts +0 -67
  238. package/dist/service-provider/ServiceRegistry.d.ts.map +0 -1
  239. package/dist/service-provider/ServiceRegistry.js +0 -76
  240. package/dist/service-provider/function-utils.d.ts +0 -55
  241. package/dist/service-provider/function-utils.d.ts.map +0 -1
  242. package/dist/service-provider/function-utils.js +0 -30
  243. package/dist/service-provider/index.d.ts +0 -10
  244. package/dist/service-provider/index.d.ts.map +0 -1
  245. package/dist/service-provider/interfaces/IAuthProvider.d.ts +0 -68
  246. package/dist/service-provider/interfaces/IAuthProvider.d.ts.map +0 -1
  247. package/dist/service-provider/interfaces/IDatabaseProvider.d.ts +0 -75
  248. package/dist/service-provider/interfaces/IDatabaseProvider.d.ts.map +0 -1
  249. package/dist/service-provider/interfaces/IFunctionProvider.d.ts +0 -49
  250. package/dist/service-provider/interfaces/IFunctionProvider.d.ts.map +0 -1
  251. package/dist/service-provider/interfaces/IStorageProvider.d.ts +0 -118
  252. package/dist/service-provider/interfaces/IStorageProvider.d.ts.map +0 -1
  253. package/dist/service-provider/interfaces/ServiceProvider.d.ts +0 -24
  254. package/dist/service-provider/interfaces/ServiceProvider.d.ts.map +0 -1
  255. package/dist/service-provider/interfaces/common.d.ts +0 -5
  256. package/dist/service-provider/interfaces/common.d.ts.map +0 -1
  257. package/dist/services/fire-once-service.d.ts +0 -35
  258. package/dist/services/fire-once-service.d.ts.map +0 -1
  259. package/dist/services/fire-once-service.js +0 -61
  260. package/dist/store/async-action-effects.d.ts +0 -179
  261. package/dist/store/async-action-effects.d.ts.map +0 -1
  262. package/dist/store/async-action-effects.js +0 -97
  263. package/dist/store/async-action-utils.d.ts +0 -151
  264. package/dist/store/async-action-utils.d.ts.map +0 -1
  265. package/dist/store/async-action-utils.js +0 -41
  266. package/dist/store/index.d.ts +0 -9
  267. package/dist/store/index.d.ts.map +0 -1
  268. package/dist/stories/introduction.stories.d.ts +0 -11
  269. package/dist/stories/introduction.stories.d.ts.map +0 -1
@@ -1,59 +0,0 @@
1
- import { noChange, TemplateResult } from 'lit';
2
- import { AsyncDirective } from 'lit/async-directive.js';
3
- import { AppUser } from '../model/spa-model.js';
4
- /**
5
- * Base class for auth directives - handles store subscription
6
- */
7
- declare abstract class AuthDirectiveBase extends AsyncDirective {
8
- private subscription?;
9
- protected user?: AppUser;
10
- protected authCheckComplete: boolean;
11
- disconnected(): void;
12
- reconnected(): void;
13
- protected subscribe(): void;
14
- protected abstract computeValue(): TemplateResult | string | typeof noChange;
15
- }
16
- /**
17
- * ifAuth - renders content only if user is logged in
18
- *
19
- * @example
20
- * ${ifAuth(html`<user-menu></user-menu>`)}
21
- * ${ifAuth(html`<profile-link></profile-link>`, html`<login-button></login-button>`)}
22
- */
23
- declare class IfAuthDirective extends AuthDirectiveBase {
24
- private content?;
25
- private fallback?;
26
- render(content: TemplateResult, fallback?: TemplateResult | string): string | TemplateResult;
27
- protected computeValue(): TemplateResult | string;
28
- }
29
- /**
30
- * ifRole - renders content only if user has at least one of the specified roles
31
- *
32
- * @example
33
- * ${ifRole('admin', html`<admin-panel></admin-panel>`)}
34
- * ${ifRole(['admin', 'editor'], html`<edit-btn></edit-btn>`, html`<span>Read only</span>`)}
35
- */
36
- declare class IfRoleDirective extends AuthDirectiveBase {
37
- private roles;
38
- private content?;
39
- private fallback?;
40
- render(roles: string | string[], content: TemplateResult, fallback?: TemplateResult | string): string | TemplateResult;
41
- protected computeValue(): TemplateResult | string;
42
- }
43
- /**
44
- * ifNotAuth - renders content only if user is NOT logged in
45
- *
46
- * @example
47
- * ${ifNotAuth(html`<login-button></login-button>`)}
48
- */
49
- declare class IfNotAuthDirective extends AuthDirectiveBase {
50
- private content?;
51
- private fallback?;
52
- render(content: TemplateResult, fallback?: TemplateResult | string): string | TemplateResult;
53
- protected computeValue(): TemplateResult | string;
54
- }
55
- export declare const ifAuth: (content: TemplateResult, fallback?: string | TemplateResult | undefined) => import('lit/async-directive.js').DirectiveResult<typeof IfAuthDirective>;
56
- export declare const ifRole: (roles: string | string[], content: TemplateResult, fallback?: string | TemplateResult | undefined) => import('lit/async-directive.js').DirectiveResult<typeof IfRoleDirective>;
57
- export declare const ifNotAuth: (content: TemplateResult, fallback?: string | TemplateResult | undefined) => import('lit/async-directive.js').DirectiveResult<typeof IfNotAuthDirective>;
58
- export {};
59
- //# sourceMappingURL=auth-directives.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"auth-directives.d.ts","sourceRoot":"","sources":["../../src/auth/auth-directives.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAa,MAAM,wBAAwB,CAAC;AAKnE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAErD;;GAEG;AACH,uBAAe,iBAAkB,SAAQ,cAAc;IACrD,OAAO,CAAC,YAAY,CAAC,CAAe;IACpC,SAAS,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IACzB,SAAS,CAAC,iBAAiB,UAAS;IAE3B,YAAY;IAIZ,WAAW;IAIpB,SAAS,CAAC,SAAS;IAgBnB,SAAS,CAAC,QAAQ,CAAC,YAAY,IAAI,cAAc,GAAG,MAAM,GAAG,OAAO,QAAQ;CAC7E;AAED;;;;;;GAMG;AACH,cAAM,eAAgB,SAAQ,iBAAiB;IAC7C,OAAO,CAAC,OAAO,CAAC,CAAiB;IACjC,OAAO,CAAC,QAAQ,CAAC,CAA0B;IAE3C,MAAM,CAAC,OAAO,EAAE,cAAc,EAAE,QAAQ,CAAC,EAAE,cAAc,GAAG,MAAM;cAO/C,YAAY,IAAI,cAAc,GAAG,MAAM;CAQ3D;AAED;;;;;;GAMG;AACH,cAAM,eAAgB,SAAQ,iBAAiB;IAC7C,OAAO,CAAC,KAAK,CAAgB;IAC7B,OAAO,CAAC,OAAO,CAAC,CAAiB;IACjC,OAAO,CAAC,QAAQ,CAAC,CAA0B;IAE3C,MAAM,CACJ,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,EACxB,OAAO,EAAE,cAAc,EACvB,QAAQ,CAAC,EAAE,cAAc,GAAG,MAAM;cASjB,YAAY,IAAI,cAAc,GAAG,MAAM;CAa3D;AAED;;;;;GAKG;AACH,cAAM,kBAAmB,SAAQ,iBAAiB;IAChD,OAAO,CAAC,OAAO,CAAC,CAAiB;IACjC,OAAO,CAAC,QAAQ,CAAC,CAA0B;IAE3C,MAAM,CAAC,OAAO,EAAE,cAAc,EAAE,QAAQ,CAAC,EAAE,cAAc,GAAG,MAAM;cAO/C,YAAY,IAAI,cAAc,GAAG,MAAM;CAQ3D;AAGD,eAAO,MAAM,MAAM,uJAA6B,CAAC;AACjD,eAAO,MAAM,MAAM,iLAA6B,CAAC;AACjD,eAAO,MAAM,SAAS,0JAAgC,CAAC"}
@@ -1,81 +0,0 @@
1
- import { directive, AsyncDirective } from 'lit/async-directive.js';
2
- import { pdStore } from '../store/mini-rx.store.js';
3
- import { selectAuthUser } from '../store/spa-app-selector.js';
4
-
5
- class AuthDirectiveBase extends AsyncDirective {
6
- constructor() {
7
- super(...arguments);
8
- this.authCheckComplete = false;
9
- }
10
- disconnected() {
11
- this.subscription?.unsubscribe();
12
- }
13
- reconnected() {
14
- this.subscribe();
15
- }
16
- subscribe() {
17
- if (this.subscription) return;
18
- const store = pdStore();
19
- if (!store) return;
20
- this.subscription = store.select(selectAuthUser).subscribe(({ user, loginCheckFinish }) => {
21
- this.user = user;
22
- this.authCheckComplete = loginCheckFinish;
23
- this.setValue(this.computeValue());
24
- });
25
- }
26
- }
27
- class IfAuthDirective extends AuthDirectiveBase {
28
- render(content, fallback) {
29
- this.content = content;
30
- this.fallback = fallback ?? "";
31
- this.subscribe();
32
- return this.computeValue();
33
- }
34
- computeValue() {
35
- if (!this.authCheckComplete) {
36
- return this.fallback ?? "";
37
- }
38
- return this.user ? this.content ?? "" : this.fallback ?? "";
39
- }
40
- }
41
- class IfRoleDirective extends AuthDirectiveBase {
42
- constructor() {
43
- super(...arguments);
44
- this.roles = [];
45
- }
46
- render(roles, content, fallback) {
47
- this.roles = Array.isArray(roles) ? roles : [roles];
48
- this.content = content;
49
- this.fallback = fallback ?? "";
50
- this.subscribe();
51
- return this.computeValue();
52
- }
53
- computeValue() {
54
- if (!this.authCheckComplete) {
55
- return this.fallback ?? "";
56
- }
57
- const hasRequiredRole = this.roles.some(
58
- (role) => this.user?.claims?.[role] === true
59
- );
60
- return hasRequiredRole ? this.content ?? "" : this.fallback ?? "";
61
- }
62
- }
63
- class IfNotAuthDirective extends AuthDirectiveBase {
64
- render(content, fallback) {
65
- this.content = content;
66
- this.fallback = fallback ?? "";
67
- this.subscribe();
68
- return this.computeValue();
69
- }
70
- computeValue() {
71
- if (!this.authCheckComplete) {
72
- return this.fallback ?? "";
73
- }
74
- return !this.user ? this.content ?? "" : this.fallback ?? "";
75
- }
76
- }
77
- const ifAuth = directive(IfAuthDirective);
78
- const ifRole = directive(IfRoleDirective);
79
- const ifNotAuth = directive(IfNotAuthDirective);
80
-
81
- export { ifAuth, ifNotAuth, ifRole };
@@ -1,45 +0,0 @@
1
- import { AppUser } from '../model/spa-model.js';
2
- /**
3
- * Get the current user from the store
4
- * @returns The current AppUser or undefined if not logged in
5
- */
6
- export declare function getCurrentUser(): Promise<AppUser | undefined>;
7
- /**
8
- * Check if a user is currently logged in
9
- * @returns true if a user is logged in
10
- */
11
- export declare function isLoggedIn(): Promise<boolean>;
12
- /**
13
- * Check if the current user has a specific role/claim
14
- * @param role - The role to check (e.g., "admin", "editor")
15
- * @returns true if the user has the role
16
- */
17
- export declare function hasRole(role: string): Promise<boolean>;
18
- /**
19
- * Check if the current user has at least one of the specified roles (OR logic)
20
- * @param roles - Array of roles to check
21
- * @returns true if the user has at least one of the roles
22
- */
23
- export declare function hasAnyRole(roles: string[]): Promise<boolean>;
24
- /**
25
- * Check if the current user has all of the specified roles (AND logic)
26
- * @param roles - Array of roles to check
27
- * @returns true if the user has all of the roles
28
- */
29
- export declare function hasAllRoles(roles: string[]): Promise<boolean>;
30
- /**
31
- * Get the user's email
32
- * @returns The user's email or null if not logged in
33
- */
34
- export declare function getUserEmail(): Promise<string | null>;
35
- /**
36
- * Get the user's UID
37
- * @returns The user's UID or null if not logged in
38
- */
39
- export declare function getUserId(): Promise<string | null>;
40
- /**
41
- * Get all claims for the current user
42
- * @returns Record of claims or empty object
43
- */
44
- export declare function getUserClaims(): Promise<Record<string, unknown>>;
45
- //# sourceMappingURL=auth-utils.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"auth-utils.d.ts","sourceRoot":"","sources":["../../src/auth/auth-utils.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAMH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAErD;;;GAGG;AACH,wBAAsB,cAAc,IAAI,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC,CAKnE;AAED;;;GAGG;AACH,wBAAsB,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC,CAGnD;AAED;;;;GAIG;AACH,wBAAsB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAG5D;AAED;;;;GAIG;AACH,wBAAsB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAIlE;AAED;;;;GAIG;AACH,wBAAsB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAInE;AAED;;;GAGG;AACH,wBAAsB,YAAY,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAG3D;AAED;;;GAGG;AACH,wBAAsB,SAAS,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAGxD;AAED;;;GAGG;AACH,wBAAsB,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAGtE"}
@@ -1,42 +0,0 @@
1
- import { firstValueFrom, first } from 'rxjs';
2
- import { pdStore } from '../store/mini-rx.store.js';
3
- import { selectAuthUser } from '../store/spa-app-selector.js';
4
-
5
- async function getCurrentUser() {
6
- const { user } = await firstValueFrom(
7
- pdStore().select(selectAuthUser).pipe(first())
8
- );
9
- return user;
10
- }
11
- async function isLoggedIn() {
12
- const user = await getCurrentUser();
13
- return user !== void 0;
14
- }
15
- async function hasRole(role) {
16
- const user = await getCurrentUser();
17
- return user?.claims?.[role] === true;
18
- }
19
- async function hasAnyRole(roles) {
20
- const user = await getCurrentUser();
21
- if (!user?.claims) return false;
22
- return roles.some((role) => user.claims?.[role] === true);
23
- }
24
- async function hasAllRoles(roles) {
25
- const user = await getCurrentUser();
26
- if (!user?.claims) return false;
27
- return roles.every((role) => user.claims?.[role] === true);
28
- }
29
- async function getUserEmail() {
30
- const user = await getCurrentUser();
31
- return user?.email ?? null;
32
- }
33
- async function getUserId() {
34
- const user = await getCurrentUser();
35
- return user?.uid ?? null;
36
- }
37
- async function getUserClaims() {
38
- const user = await getCurrentUser();
39
- return user?.claims ?? {};
40
- }
41
-
42
- export { getCurrentUser, getUserClaims, getUserEmail, getUserId, hasAllRoles, hasAnyRole, hasRole, isLoggedIn };
@@ -1,7 +0,0 @@
1
- /**
2
- * Auth module - Utilities, controllers and directives for authentication
3
- */
4
- export { getCurrentUser, isLoggedIn, hasRole, hasAnyRole, hasAllRoles, getUserEmail, getUserId, getUserClaims, } from './auth-utils.js';
5
- export { AuthController } from './AuthController.js';
6
- export { ifAuth, ifRole, ifNotAuth } from './auth-directives.js';
7
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/auth/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EACL,cAAc,EACd,UAAU,EACV,OAAO,EACP,UAAU,EACV,WAAW,EACX,YAAY,EACZ,SAAS,EACT,aAAa,GACd,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAGrD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC"}
@@ -1,15 +0,0 @@
1
- import { LitElement } from 'lit';
2
- export declare class DefaultLogin extends LitElement {
3
- /**
4
- * @event login-success fired when login was successful
5
- */
6
- private _loading;
7
- private _errorMessage;
8
- private _successMessage;
9
- static styles: import('lit').CSSResult[];
10
- render(): import('lit').TemplateResult<1>;
11
- private _handleLoginAttempt;
12
- private _handleForgotPasswordAttempt;
13
- private _mapErrorCode;
14
- }
15
- //# sourceMappingURL=DefaultLogin.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DefaultLogin.d.ts","sourceRoot":"","sources":["../../../src/components/default-login/DefaultLogin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAa,MAAM,KAAK,CAAC;AAc5C,OAAO,2CAA2C,CAAC;AAKnD,qBACa,YAAa,SAAQ,UAAU;IAC1C;;OAEG;IAGH,OAAO,CAAC,QAAQ,CAAS;IAGzB,OAAO,CAAC,aAAa,CAAM;IAG3B,OAAO,CAAC,eAAe,CAAM;IAE7B,MAAM,CAAC,MAAM,4BASX;IAEF,MAAM;IAYN,OAAO,CAAC,mBAAmB;IAoC3B,OAAO,CAAC,4BAA4B;IA6BpC,OAAO,CAAC,aAAa;CAWtB"}
@@ -1,120 +0,0 @@
1
- import { css, LitElement, html } from 'lit';
2
- import { state, customElement } from 'lit/decorators.js';
3
- import { services } from '../../service-provider/ServiceRegistry.js';
4
- import { pdStore } from '../../store/mini-rx.store.js';
5
- import { addLoadingState, removeLoadingState } from '../../store/spa-app-actions.js';
6
- import '@progressive-development/pd-page/pd-login';
7
-
8
- var __defProp = Object.defineProperty;
9
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
10
- var __decorateClass = (decorators, target, key, kind) => {
11
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
12
- for (var i = decorators.length - 1, decorator; i >= 0; i--)
13
- if (decorator = decorators[i])
14
- result = (kind ? decorator(target, key, result) : decorator(result)) || result;
15
- if (kind && result) __defProp(target, key, result);
16
- return result;
17
- };
18
- const LOGIN_LOADING_KEY = "login-attempt";
19
- const PASSWORD_RESET_LOADING_KEY = "password-reset-attempt";
20
- let DefaultLogin = class extends LitElement {
21
- constructor() {
22
- super(...arguments);
23
- this._loading = false;
24
- this._errorMessage = "";
25
- this._successMessage = "";
26
- }
27
- render() {
28
- return html`
29
- <pd-login
30
- ?loading="${this._loading}"
31
- errorMessage="${this._errorMessage}"
32
- successMessage="${this._successMessage}"
33
- @login-attempt="${this._handleLoginAttempt}"
34
- @forgot-password-attempt="${this._handleForgotPasswordAttempt}"
35
- ></pd-login>
36
- `;
37
- }
38
- _handleLoginAttempt(e) {
39
- this._loading = true;
40
- this._errorMessage = "";
41
- this._successMessage = "";
42
- pdStore().dispatch(
43
- addLoadingState({
44
- actionKey: LOGIN_LOADING_KEY,
45
- isLoading: true,
46
- modal: true,
47
- loadingTxt: "Anmeldung..."
48
- })
49
- );
50
- services.auth.login(e.detail.email, e.detail.password).then((user) => {
51
- this.dispatchEvent(
52
- new CustomEvent("login-success", {
53
- detail: user,
54
- bubbles: true,
55
- composed: true
56
- })
57
- );
58
- }).catch((error) => {
59
- this._errorMessage = this._mapErrorCode(error.code || "unknown");
60
- }).finally(() => {
61
- this._loading = false;
62
- pdStore().dispatch(removeLoadingState(LOGIN_LOADING_KEY));
63
- });
64
- }
65
- _handleForgotPasswordAttempt(e) {
66
- this._loading = true;
67
- this._errorMessage = "";
68
- this._successMessage = "";
69
- pdStore().dispatch(
70
- addLoadingState({
71
- actionKey: PASSWORD_RESET_LOADING_KEY,
72
- isLoading: true,
73
- modal: false,
74
- smallBackground: true,
75
- loadingTxt: "E-Mail wird gesendet..."
76
- })
77
- );
78
- services.auth.sendPasswordResetEmail(e.detail.email).then(() => {
79
- this._successMessage = "Wir haben Ihnen eine E-Mail zum Zurücksetzen des Passworts gesendet.";
80
- }).finally(() => {
81
- this._loading = false;
82
- pdStore().dispatch(removeLoadingState(PASSWORD_RESET_LOADING_KEY));
83
- });
84
- }
85
- _mapErrorCode(code) {
86
- switch (code) {
87
- case "auth/invalid-email":
88
- return "E-Mail Format für Benutzer ist ungültig.";
89
- case "auth/wrong-password":
90
- case "auth/user-not-found":
91
- return "Anmeldung fehlgeschlagen, ungültige Benutzerdaten.";
92
- default:
93
- return "Technisches Problem aufgetreten, die Anmeldung kann leider aktuell nicht durchgeführt werden.";
94
- }
95
- }
96
- };
97
- DefaultLogin.styles = [
98
- css`
99
- :host {
100
- padding-top: 3em;
101
- display: flex;
102
- align-items: center;
103
- justify-content: center;
104
- }
105
- `
106
- ];
107
- __decorateClass([
108
- state()
109
- ], DefaultLogin.prototype, "_loading", 2);
110
- __decorateClass([
111
- state()
112
- ], DefaultLogin.prototype, "_errorMessage", 2);
113
- __decorateClass([
114
- state()
115
- ], DefaultLogin.prototype, "_successMessage", 2);
116
- DefaultLogin = __decorateClass([
117
- customElement("default-login")
118
- ], DefaultLogin);
119
-
120
- export { DefaultLogin };
@@ -1,6 +0,0 @@
1
- import { LitElement } from 'lit';
2
- export declare class DefaultNotFound extends LitElement {
3
- static styles: import('lit').CSSResult[];
4
- render(): import('lit').TemplateResult<1>;
5
- }
6
- //# sourceMappingURL=DefaultNotFound.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DefaultNotFound.d.ts","sourceRoot":"","sources":["../../../src/components/default-not-found/DefaultNotFound.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAa,MAAM,KAAK,CAAC;AAG5C,qBACa,eAAgB,SAAQ,UAAU;IAC7C,MAAM,CAAC,MAAM,4BAgBX;IAEF,MAAM;CAKP"}
@@ -1,55 +0,0 @@
1
- import { LitElement, CSSResultGroup } from 'lit';
2
- /**
3
- * Map of section IDs to their DOM element references.
4
- * Keys must match the `sec` property in MenuElement configuration.
5
- */
6
- export type SectionRefs = Record<string, HTMLElement | null | undefined>;
7
- /**
8
- * Map of section IDs to action creator functions.
9
- * Actions are dispatched when the section becomes visible (fired once per session).
10
- */
11
- export type SectionActions = Record<string, () => any>;
12
- /**
13
- * Configuration for menu sections.
14
- * Returned by _getMenuSections() to register section elements with the menu.
15
- */
16
- export interface SectionConfig {
17
- /** Page name - should match the route name in NavigationConfig */
18
- name: string;
19
- /** Map of section IDs to element references (keys match MenuElement.sec) */
20
- menuRefs: SectionRefs;
21
- /** Optional: Map of section IDs to action creators (dispatched when section becomes visible) */
22
- sectionActions?: SectionActions;
23
- }
24
- /**
25
- * Abstract base class for pages with section-based scroll navigation.
26
- *
27
- * Subclasses must implement _getMenuSections() to provide section references.
28
- */
29
- export declare abstract class PdSectionPage extends LitElement {
30
- /**
31
- * Base styles providing scroll-margin-top for sections.
32
- * Subclasses should include these styles:
33
- *
34
- * ```typescript
35
- * static override styles = [
36
- * PdSectionPage.styles,
37
- * css`...own styles...`
38
- * ];
39
- * ```
40
- */
41
- static styles: CSSResultGroup;
42
- /**
43
- * Must be implemented by subclass to provide section configuration.
44
- * Called in firstUpdated() to register sections with the menu.
45
- *
46
- * @returns SectionConfig with page name and section element references
47
- */
48
- protected abstract _getMenuSections(): SectionConfig;
49
- /**
50
- * Dispatches init-menu-sections event to register section elements.
51
- * Subclasses can override but should call super.firstUpdated().
52
- */
53
- firstUpdated(): void;
54
- }
55
- //# sourceMappingURL=PdSectionPage.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PdSectionPage.d.ts","sourceRoot":"","sources":["../../../src/components/pd-section-page/PdSectionPage.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAEH,OAAO,EAAE,UAAU,EAAO,cAAc,EAAE,MAAM,KAAK,CAAC;AAEtD;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC;AAEzE;;;GAGG;AAEH,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,CAAC,CAAC;AAEvD;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,kEAAkE;IAClE,IAAI,EAAE,MAAM,CAAC;IACb,4EAA4E;IAC5E,QAAQ,EAAE,WAAW,CAAC;IACtB,gGAAgG;IAChG,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC;AAED;;;;GAIG;AACH,8BAAsB,aAAc,SAAQ,UAAU;IACpD;;;;;;;;;;OAUG;IACH,MAAM,CAAC,MAAM,EAAE,cAAc,CAO3B;IAEF;;;;;OAKG;IACH,SAAS,CAAC,QAAQ,CAAC,gBAAgB,IAAI,aAAa;IAEpD;;;OAGG;IACM,YAAY,IAAI,IAAI;CAS9B"}
@@ -1,40 +0,0 @@
1
- import { LitElement, css } from 'lit';
2
-
3
- class PdSectionPage extends LitElement {
4
- static {
5
- /**
6
- * Base styles providing scroll-margin-top for sections.
7
- * Subclasses should include these styles:
8
- *
9
- * ```typescript
10
- * static override styles = [
11
- * PdSectionPage.styles,
12
- * css`...own styles...`
13
- * ];
14
- * ```
15
- */
16
- this.styles = css`
17
- section {
18
- scroll-margin-top: calc(
19
- var(--pd-menu-height, 60px) + var(--pd-top-menu-height, 30px) +
20
- var(--pd-teaser-height, 0px) + 20px
21
- );
22
- }
23
- `;
24
- }
25
- /**
26
- * Dispatches init-menu-sections event to register section elements.
27
- * Subclasses can override but should call super.firstUpdated().
28
- */
29
- firstUpdated() {
30
- this.dispatchEvent(
31
- new CustomEvent("init-menu-sections", {
32
- detail: this._getMenuSections(),
33
- bubbles: true,
34
- composed: true
35
- })
36
- );
37
- }
38
- }
39
-
40
- export { PdSectionPage };
@@ -1,160 +0,0 @@
1
- import { LitElement, CSSResultGroup, TemplateResult, PropertyValues } from 'lit';
2
- import { ButtonData } from '@progressive-development/pd-forms';
3
- import { AppConfiguration, Footer, NavigationPage } from '../../service-provider/service-provider-model.js';
4
- import { LoadingState } from '@progressive-development/pd-content';
5
- import { ScrollController } from './controllers/ScrollController.js';
6
- /**
7
- * Initialize the SPA framework.
8
- *
9
- * This function must be called before using PdSpaHelper components.
10
- * It sets up:
11
- * - Service provider (Firebase or Mock)
12
- * - Redux store
13
- * - Router with configured routes
14
- *
15
- * @param config - The application configuration
16
- *
17
- * @example
18
- * ```typescript
19
- * startInit({
20
- * serviceProvider: "firebase",
21
- * firebaseConfig: { ... },
22
- * navigationConfigParam: {
23
- * pages: [...],
24
- * includeLogin: true,
25
- * },
26
- * storeConfigParam: {
27
- * appName: "My App",
28
- * reducer: [...],
29
- * effects: [...],
30
- * },
31
- * });
32
- * ```
33
- */
34
- export declare const startInit: (config: AppConfiguration) => void;
35
- /**
36
- * Abstract base class for SPA applications.
37
- *
38
- * Extend this class to create your main application component.
39
- * Override the abstract methods to customize the layout and content.
40
- *
41
- * Required abstract methods:
42
- * - `_renderRoutePages(route)` - Render content for given route
43
- * - `_getFooter()` - Return footer configuration
44
- * - `_getAppLogo()` - Return app logo template
45
- * - `_setLocale()` - Handle locale changes
46
- * - `_getAppConfiguration()` - Return app-specific config
47
- */
48
- export declare abstract class PdSpaHelper extends LitElement {
49
- /** Controller for scroll threshold detection (teaser collapse) */
50
- protected scrollController: ScrollController;
51
- title: string;
52
- /** Scroll threshold in pixels for teaser collapse. Default: 100px */
53
- teaserCollapseThreshold: number;
54
- /** Current loading states */
55
- protected _loadingState: LoadingState[];
56
- /** Current route name */
57
- protected _route: string;
58
- /** Route parameters */
59
- protected _params: Record<string, string>;
60
- /** Query parameters */
61
- protected _query: Record<string, string>;
62
- /** Whether the teaser is collapsed (scrolled past threshold) */
63
- protected teaserCollapsed: boolean;
64
- /**
65
- * Skip teaser transition during navigate-and-scroll.
66
- * Prevents the "teaser appears then collapses" visual glitch.
67
- */
68
- private _skipTeaserTransition;
69
- /** Pending section ID for navigate-and-scroll (stored until init-menu-sections fires) */
70
- private _pendingScrollSectionId;
71
- /** Currently selected locale - must be implemented by subclass */
72
- abstract _selectedLocale: string;
73
- private _claims;
74
- /** Available locales with display text and value - must be implemented by subclass */
75
- abstract _availableLocales: ButtonData[];
76
- /** Whether to show locale selector in single menu only */
77
- protected _singleLocaleMenu: boolean;
78
- /** Store subscription for cleanup */
79
- private _subscription?;
80
- /** Track previous auth state to detect real transitions (not initial load) */
81
- private _previousAuthState;
82
- /** Map of section IDs to action creator functions */
83
- private _sectionActions;
84
- static styles: CSSResultGroup;
85
- constructor();
86
- connectedCallback(): void;
87
- disconnectedCallback(): void;
88
- protected willUpdate(changedProps: PropertyValues): void;
89
- render(): TemplateResult;
90
- /**
91
- * Render the loading state while route is being resolved
92
- * Can be overridden by subclass
93
- */
94
- protected _renderLoading(): TemplateResult;
95
- /**
96
- * Render the main layout
97
- * Can be overridden by subclass for custom layouts
98
- */
99
- protected _renderLayout(pageConf: NavigationPage, showTeaser: boolean): TemplateResult;
100
- /**
101
- * Render the login modal popup
102
- */
103
- private _renderLoginModal;
104
- /**
105
- * Handle login popup close (user aborted login via Escape or backdrop click)
106
- */
107
- private _handleLoginPopupClose;
108
- protected _renderMenu(pageConfig: NavigationPage, showTeaser: boolean): TemplateResult | string;
109
- protected _renderTopMenu(pageConfig: NavigationPage, showTeaser: boolean): TemplateResult | string;
110
- protected _renderTeaser(): TemplateResult | string;
111
- protected _renderFooter(): TemplateResult;
112
- /**
113
- * Render the content for the given route
114
- * @param route - The route to render (may differ from _route for modal scenarios)
115
- */
116
- protected abstract _renderRoutePages(route: string): TemplateResult;
117
- /**
118
- * Get the footer configuration
119
- */
120
- protected abstract _getFooter(): Footer;
121
- /**
122
- * Get the app logo template
123
- */
124
- protected abstract _getAppLogo(): TemplateResult;
125
- /**
126
- * Set the locale
127
- */
128
- protected abstract _setLocale(locale: string): void;
129
- /**
130
- * Get app-specific configuration
131
- */
132
- protected abstract _getAppConfiguration(): unknown;
133
- /**
134
- * Get teaser content panels
135
- * Override to provide teaser content, or return empty array for no teaser
136
- */
137
- protected _getTeaserContent(): TemplateResult[];
138
- private _handleRouteEvent;
139
- private _handleFooterLink;
140
- private _handleInitMenuSections;
141
- /**
142
- * Handle section-activated event from pd-menu.
143
- * Dispatches the registered action for a section (once per session).
144
- */
145
- private _handleSectionActivated;
146
- private _handleLocaleChange;
147
- private _handleAppConfigEvent;
148
- private _activateLoginHandler;
149
- private _getMainClass;
150
- private _navigateToPage;
151
- /**
152
- * Scroll to a section element. Collapses teaser if expanded.
153
- */
154
- private _scrollToSection;
155
- /**
156
- * Find section element by sectionId from current page's menu refs.
157
- */
158
- private _findSectionElement;
159
- }
160
- //# sourceMappingURL=PdSpaHelper.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PdSpaHelper.d.ts","sourceRoot":"","sources":["../../../src/components/pd-spa-helper/PdSpaHelper.ts"],"names":[],"mappings":"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"}