@progressive-development/pd-spa-helper 0.9.2 → 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 +14 -49
  35. package/dist/generated/locale-wrapper/be-wrapper.d.ts.map +1 -1
  36. package/dist/generated/locale-wrapper/de-wrapper.d.ts +14 -49
  37. package/dist/generated/locale-wrapper/de-wrapper.d.ts.map +1 -1
  38. package/dist/generated/locale-wrapper/en-wrapper.d.ts +14 -49
  39. package/dist/generated/locale-wrapper/en-wrapper.d.ts.map +1 -1
  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 +10 -55
  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 -13
  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 -14
  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 -37
  205. package/dist/components/pd-spa-helper/PdSpaHelper.d.ts +0 -196
  206. package/dist/components/pd-spa-helper/PdSpaHelper.d.ts.map +0 -1
  207. package/dist/components/pd-spa-helper/PdSpaHelper.js +0 -603
  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 -95
  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 -175
  214. package/dist/components/pd-spa-helper/spa-events.d.ts +0 -132
  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 -98
  263. package/dist/store/async-action-utils.d.ts +0 -154
  264. package/dist/store/async-action-utils.d.ts.map +0 -1
  265. package/dist/store/async-action-utils.js +0 -42
  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
@@ -0,0 +1,83 @@
1
+ import { LitElement, CSSResultGroup, TemplateResult } from 'lit';
2
+ import { Subscription } from 'rxjs';
3
+ import { AppConfiguration, Footer, NavigationPage } from './service-provider/service-provider-model.js';
4
+ import { LoadingState } from './model/spa-model.js';
5
+ export declare const POST_LOGIN_REDIRECT_KEY = "postLoginRedirect";
6
+ /**
7
+ * Init the firebase app and application services like
8
+ * functions and firestore. Generate routes from navigationConfig.
9
+ *
10
+ * @param navigationConfig
11
+ * @param firebaseConfig
12
+ * @param functionsConfig
13
+ */
14
+ export declare const startInit: (config: AppConfiguration) => void;
15
+ /**
16
+ * Abstract class for SPAs. Extend within the app main class.
17
+ */
18
+ export declare abstract class PdSpaHelper extends LitElement {
19
+ title: string;
20
+ /**
21
+ * Properties needed for login/profile data.
22
+ */
23
+ _user: unknown | undefined;
24
+ _profile: any | undefined;
25
+ _loadingState: LoadingState[];
26
+ /**
27
+ * Der aktuelle Routenname (z.B. 'home', 'profile', 'not-found')
28
+ * Wird bei jeder Navigation automatisch aktualisiert.
29
+ */
30
+ protected _route: string;
31
+ /**
32
+ * Extrahierte Parameter aus der aktuellen Route (z.B. :id → { id: '123' })
33
+ */
34
+ protected _params: Record<string, string>;
35
+ /**
36
+ * Extrahierte Query-Parameter aus der URL (z.B. ?edit=true → { edit: 'true' })
37
+ */
38
+ protected _query: Record<string, string>;
39
+ /**
40
+ * Indicates if the teaser should closed (depends on scroll position).
41
+ */
42
+ private _teaserClosed;
43
+ abstract _selectedLocale: string;
44
+ abstract _availableLocales: string[];
45
+ protected _singleLocaleMenu: boolean;
46
+ _subscription?: Subscription;
47
+ static styles: CSSResultGroup;
48
+ constructor();
49
+ connectedCallback(): void;
50
+ disconnectedCallback(): void;
51
+ _setConfInDetail(event: Event): void;
52
+ /**
53
+ * Non reactive private property for the index db class.
54
+ */
55
+ /**
56
+ * Call to activate onAuthState change with profile request callbacks.
57
+ * Only implemented for firebase provider.
58
+ */
59
+ activateLoginHandler(): void;
60
+ render(): TemplateResult<1>;
61
+ private _getMainClass;
62
+ _renderMenu(pageConfig: NavigationPage, hideTeaser: boolean): "" | TemplateResult<1>;
63
+ _renderTopMenu(pageConfig: NavigationPage, hideTeaser: boolean): "" | TemplateResult<1>;
64
+ _renderTeaser(): TemplateResult | string;
65
+ _renderFooter(): TemplateResult<1>;
66
+ protected abstract _getTeaserContent(): Array<TemplateResult>;
67
+ protected abstract _getFooter(): Footer;
68
+ protected abstract _getAppLogo(): TemplateResult;
69
+ protected abstract _renderRoutePages(): any;
70
+ protected abstract _setLocale(locale: string): void;
71
+ protected abstract _getAppConfiguration(): any;
72
+ protected abstract _getHeaderSize(hideTeaser: boolean): number;
73
+ protected _loginSuccess(e: CustomEvent): void;
74
+ _localeChange(e: CustomEvent): void;
75
+ _handleMenuRouteEvent(e: any): void;
76
+ _handleFooterRouteEvent(e: CustomEvent): void;
77
+ _initMenuSections(e: any): void;
78
+ _createTemporaryToast(e: any): void;
79
+ static _scrollToTop(): void;
80
+ _scrollToContent(el: HTMLElement): void;
81
+ private _navigateToPage;
82
+ }
83
+ //# sourceMappingURL=PdSpaHelper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PdSpaHelper.d.ts","sourceRoot":"","sources":["../src/PdSpaHelper.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,492 @@
1
+ import { LitElement, unsafeCSS, css, html } from 'lit';
2
+ import { property, state } from 'lit/decorators.js';
3
+ import '@progressive-development/pd-page/pd-menu';
4
+ import '@progressive-development/pd-page/pd-footer';
5
+ import '@progressive-development/pd-content/pd-panel-viewer';
6
+ import '@progressive-development/pd-content/pd-panel';
7
+ import { pdStore, initializeStore } from './store/mini-rx.store.js';
8
+ import { authStateChangedImpl, setServiceProvider, initAppImpl } from './service-provider/service-provider-impl.js';
9
+ import { getLoadingSelector } from './store/spa-app-selector.js';
10
+ import { setRouteElement } from './store/spa-app-effects.js';
11
+ import { APP_CONF_EVENT } from './model/spa-model.js';
12
+ import { loginSucess, nologin } from './store/spa-app-actions.js';
13
+ import './defaultpage/default-login.js';
14
+ import './defaultpage/default-not-found.js';
15
+ import { PdToast } from './tmpown/pd-toast.js';
16
+ import './tmpown/pd-loading-state.js';
17
+ import { setCurrentFormatLocale } from './helper/locale-format.js';
18
+ import { pdRouterService } from './router/PdRouterService.js';
19
+ import { createLogger } from './helper/logger.js';
20
+
21
+ var __defProp = Object.defineProperty;
22
+ var __decorateClass = (decorators, target, key, kind) => {
23
+ var result = void 0 ;
24
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
25
+ if (decorator = decorators[i])
26
+ result = (decorator(target, key, result) ) || result;
27
+ if (result) __defProp(target, key, result);
28
+ return result;
29
+ };
30
+ const POST_LOGIN_REDIRECT_KEY = "postLoginRedirect";
31
+ const MADE_BY = {
32
+ txt: "made by PD Progressive Development",
33
+ email: "info@progressive-development.com"
34
+ };
35
+ const TOAST_DURATION = 6e3;
36
+ let routeMap;
37
+ let transformedRoutes;
38
+ let navigationConfig;
39
+ const getNavigationPage = (routeName) => {
40
+ const page = routeMap.get(routeName);
41
+ if (!page) throw new Error(`Navigation page not defined for: ${routeName}`);
42
+ return page;
43
+ };
44
+ const transformRoutes = () => {
45
+ const routeDefs = [];
46
+ navigationConfig.pages.forEach((page) => {
47
+ const patterns = page.pattern;
48
+ const routeDef = {
49
+ name: page.name,
50
+ pattern: patterns,
51
+ auth: page.auth,
52
+ authFallback: page.authFallback
53
+ // optional: du kannst hier später eine `action` mit Lazy Loading ergänzen
54
+ };
55
+ routeDefs.push(routeDef);
56
+ });
57
+ return routeDefs;
58
+ };
59
+ const spaLogger = createLogger("PdSpaHelper");
60
+ const startInit = (config) => {
61
+ spaLogger.debug("Start init for config: ", config);
62
+ setServiceProvider(config.serviceProvider);
63
+ if (config.storeConfigParam) {
64
+ initializeStore(config.storeConfigParam);
65
+ }
66
+ initAppImpl(config);
67
+ navigationConfig = config.navigationConfigParam;
68
+ if (navigationConfig.includeLogin) {
69
+ navigationConfig.pages.push({
70
+ name: "login",
71
+ menu: [],
72
+ pattern: ["/login"],
73
+ auth: false
74
+ });
75
+ }
76
+ navigationConfig.pages.push({
77
+ name: "unauthorized",
78
+ menu: [],
79
+ pattern: ["/unauthorized"],
80
+ auth: false
81
+ });
82
+ navigationConfig.pages.push({
83
+ name: "not-found",
84
+ menu: [],
85
+ pattern: ["/:wildcard"],
86
+ auth: false
87
+ });
88
+ transformedRoutes = transformRoutes();
89
+ routeMap = new Map(navigationConfig.pages.map((p) => [p.name, p]));
90
+ pdRouterService.configureRoutes(transformedRoutes);
91
+ document.dispatchEvent(new CustomEvent("init-app-event"));
92
+ spaLogger.debug("Init done, init-app-event created");
93
+ };
94
+ const TOP_MENU_HEIGHT = 30;
95
+ const _PdSpaHelper = class _PdSpaHelper extends LitElement {
96
+ constructor() {
97
+ super();
98
+ this.title = "Hey there";
99
+ this._loadingState = [];
100
+ this._route = "";
101
+ this._params = {};
102
+ this._query = {};
103
+ this._teaserClosed = false;
104
+ this._singleLocaleMenu = false;
105
+ setRouteElement(this);
106
+ const doSomething = (scrollPos) => {
107
+ if (scrollPos <= 50) {
108
+ this._teaserClosed = false;
109
+ } else {
110
+ this._teaserClosed = true;
111
+ }
112
+ };
113
+ let ticking = false;
114
+ document.addEventListener("scroll", () => {
115
+ const lastKnownScrollPosition = window.scrollY;
116
+ if (!ticking) {
117
+ window.requestAnimationFrame(() => {
118
+ doSomething(lastKnownScrollPosition);
119
+ ticking = false;
120
+ });
121
+ ticking = true;
122
+ }
123
+ });
124
+ document.addEventListener("init-app-event", () => {
125
+ spaLogger.debug("Init event catched, ignore here...");
126
+ });
127
+ if (navigationConfig.includeLogin) {
128
+ spaLogger.debug("Login included, activate login handler");
129
+ this.activateLoginHandler();
130
+ }
131
+ this.addEventListener("toast-event", this._createTemporaryToast);
132
+ this.addEventListener("route-event", this._handleMenuRouteEvent);
133
+ }
134
+ static {
135
+ this.styles = // Ref: Additional use classmap to add custom classes in concrete impl
136
+ css`
137
+ :host {
138
+ display: flex;
139
+ flex-flow: column;
140
+ height: 100%;
141
+ }
142
+
143
+ header {
144
+ flex-grow: 0;
145
+ }
146
+
147
+ main {
148
+ flex-grow: 1;
149
+ flex-basis: max-content;
150
+ }
151
+
152
+ footer {
153
+ flex-grow: 0;
154
+ }
155
+
156
+ .default-header {
157
+ width: 100%;
158
+ position: fixed;
159
+ top: 0;
160
+ display: block;
161
+ z-index: 99;
162
+ }
163
+
164
+ .default-teaser {
165
+ --pd-panel-overflow: hidden;
166
+ --pd-panel-height: var(--pd-teaser-height, 380px);
167
+ --pd-panel-width: 100%;
168
+ --pd-panel-border-radius: 0;
169
+ --pd-panel-bg: var(--pd-default-col);
170
+ --pd-panel-viewer-bg-col: var(--pd-default-col);
171
+ }
172
+
173
+ .default-menu {
174
+ transition: background-color 2s;
175
+ }
176
+
177
+ .default-menu-withteaser {
178
+ --pd-menu-bg-col: var(--pd-spa-menu-change-col, #afc1d2);
179
+ --pd-menu-font-col: var(--pd-spa-menu-change-font-col, #0a3a48);
180
+ transition: background-color 2s;
181
+ }
182
+
183
+ .default-top-menu,
184
+ .default-top-menu-withteaser {
185
+ --pd-menu-height: ${unsafeCSS(TOP_MENU_HEIGHT)}px;
186
+ --pd-menu-font-size: 0.8em;
187
+ --pd-menu-shadow: 0;
188
+ }
189
+
190
+ .default-top-menu-withteaser {
191
+ --pd-menu-bg-col: var(--pd-teaser-bg-col);
192
+ }
193
+
194
+ /* needed for pd-spa-padding-top, only for pages with teaser, check if refactor possible... */
195
+ .default-main-padding {
196
+ padding-top: calc(
197
+ var(--pd-menu-height) + var(--pd-spa-padding-top, 120px)
198
+ );
199
+ transition: padding-top 2s;
200
+ }
201
+
202
+ .default-main {
203
+ padding-top: calc(var(--pd-menu-height));
204
+ transition: padding-top 2s;
205
+ }
206
+
207
+ .default-main-withteaser {
208
+ padding-top: calc(
209
+ var(--pd-menu-height) + var(--pd-teaser-height, 380px)
210
+ );
211
+ transition: padding-top 2s;
212
+ }
213
+ `;
214
+ }
215
+ connectedCallback() {
216
+ super.connectedCallback();
217
+ pdRouterService.onRouteChange(({ route, params, query }) => {
218
+ this._route = route;
219
+ this._params = params;
220
+ this._query = query;
221
+ });
222
+ this.addEventListener(APP_CONF_EVENT, this._setConfInDetail);
223
+ this._subscription = pdStore().select(getLoadingSelector).subscribe((loadingState) => {
224
+ spaLogger.debug("Loading State: ", loadingState);
225
+ this._loadingState = loadingState;
226
+ });
227
+ }
228
+ disconnectedCallback() {
229
+ this.removeEventListener(APP_CONF_EVENT, this._setConfInDetail);
230
+ this._subscription?.unsubscribe();
231
+ super.disconnectedCallback();
232
+ }
233
+ _setConfInDetail(event) {
234
+ const { detail } = event;
235
+ if (detail) {
236
+ detail.appConf = {
237
+ ...this._getAppConfiguration()
238
+ };
239
+ }
240
+ }
241
+ /**
242
+ * Non reactive private property for the index db class.
243
+ */
244
+ // private _indexDBClient?: YoIndexDBClient|null;
245
+ /**
246
+ * Call to activate onAuthState change with profile request callbacks.
247
+ * Only implemented for firebase provider.
248
+ */
249
+ activateLoginHandler() {
250
+ spaLogger.debug("Activate Login Handler");
251
+ const callback = async (user) => {
252
+ spaLogger.debug(
253
+ "Activate Login Handler => callback called for user:",
254
+ user?.email
255
+ );
256
+ if (user) {
257
+ const tokenResult = await user.getIdTokenResult();
258
+ const claims = tokenResult.claims;
259
+ pdStore().dispatch(
260
+ loginSucess({
261
+ uid: user.uid,
262
+ email: user.email,
263
+ emailVerified: user.emailVerified,
264
+ claims,
265
+ providerId: user.providerData[0]?.providerId ?? "firebase"
266
+ })
267
+ );
268
+ } else {
269
+ pdStore().dispatch(nologin());
270
+ }
271
+ };
272
+ authStateChangedImpl(callback);
273
+ }
274
+ render() {
275
+ if (this._route === "") {
276
+ return html`<p>Routing page...</p>`;
277
+ }
278
+ const pageConf = getNavigationPage(this._route);
279
+ const hideTeaser = this._teaserClosed || !pageConf?.withTeaser;
280
+ return html`
281
+ <header id="headerElementId" class="default-header">
282
+ ${pageConf?.hideTopMenu ? "" : this._renderTopMenu(pageConf, hideTeaser)}
283
+ ${hideTeaser ? "" : this._renderTeaser()}
284
+ ${pageConf?.hideMenu ? "" : this._renderMenu(pageConf, hideTeaser)}
285
+ </header>
286
+
287
+ <main
288
+ class="${this._getMainClass(hideTeaser, pageConf)}"
289
+ @init-menu-sections="${this._initMenuSections}"
290
+ @login-success="${this._loginSuccess}"
291
+ >
292
+ ${this._loadingState.map(
293
+ (ls) => html`<pd-loading-state .loadingState="${ls}"></pd-loading-state>`
294
+ )}
295
+ ${this._renderRoutePages()}
296
+ ${this._route === "login" ? html` <default-login active></default-login>` : ""}
297
+ ${this._route === "not-found" ? html`<default-not-found active=""></default-not-found>` : ""}
298
+ </main>
299
+
300
+ ${pageConf?.withFooter ? html` <footer class="default-footer">${this._renderFooter()}</footer>` : ""}
301
+ `;
302
+ }
303
+ // eslint-disable-next-line class-methods-use-this
304
+ _getMainClass(hideTeaser, pageConf) {
305
+ if (hideTeaser) {
306
+ if (!pageConf) {
307
+ return "default-main";
308
+ }
309
+ return pageConf.mainClass ? pageConf.mainClass : pageConf.withTeaser ? "default-main-padding" : "default-main";
310
+ }
311
+ return "default-main-withteaser";
312
+ }
313
+ _renderMenu(pageConfig, hideTeaser) {
314
+ const menuForPage = pageConfig ? pageConfig.menu || [] : [];
315
+ return menuForPage ? html`
316
+ <pd-menu
317
+ id="pdHelperMenuId"
318
+ class="${hideTeaser ? "default-menu" : "default-menu-withteaser"}"
319
+ @locale-change="${this._localeChange}"
320
+ selectedLocale="${this._selectedLocale}"
321
+ .locales=${this._singleLocaleMenu ? this._availableLocales : []}
322
+ .menuItems=${menuForPage}
323
+ .topMenuItems=${[]}
324
+ activeRoute="${this._route}"
325
+ logoRoute="${pageConfig?.menuLogoRoute || ""}"
326
+ headerSize="${this._getHeaderSize(hideTeaser) + TOP_MENU_HEIGHT}"
327
+ >
328
+ ${hideTeaser ? this._getAppLogo() : ""}
329
+ </pd-menu>
330
+ ` : "";
331
+ }
332
+ _renderTopMenu(pageConfig, hideTeaser) {
333
+ const topMenuForPage = pageConfig ? pageConfig.topMenuItems : void 0;
334
+ return topMenuForPage ? html`
335
+ <pd-menu
336
+ id="pdHelperTopMenuId"
337
+ noBurgerMenu
338
+ @locale-change="${this._localeChange}"
339
+ class="${hideTeaser ? "default-top-menu" : "default-top-menu-withteaser"}"
340
+ .locales=${this._availableLocales}
341
+ selectedLocale="${this._selectedLocale}"
342
+ .topMenuItems=${topMenuForPage}
343
+ activeRoute="${this._route}"
344
+ >
345
+ </pd-menu>
346
+ ` : "";
347
+ }
348
+ // eslint-disable-next-line class-methods-use-this
349
+ _renderTeaser() {
350
+ const teaserContent = this._getTeaserContent();
351
+ if (!teaserContent || teaserContent.length <= 0) {
352
+ return "";
353
+ }
354
+ return html`
355
+ <pd-panel-viewer
356
+ class="default-teaser"
357
+ id="teaserPanelViewerId"
358
+ deltaCalc="4"
359
+ >
360
+ ${teaserContent.map(
361
+ (content) => html` <pd-panel> ${content} </pd-panel> `
362
+ )}
363
+ </pd-panel-viewer>
364
+ `;
365
+ }
366
+ _renderFooter() {
367
+ const footer = this._getFooter();
368
+ return html`
369
+ <pd-footer
370
+ .footerLinks="${footer.links}"
371
+ version="${footer.version}"
372
+ copyright="${footer.copyright || "PD Progressive Developent UG"}"
373
+ .madeBy="${MADE_BY}"
374
+ @footer-link="${this._handleFooterRouteEvent}"
375
+ >
376
+ </pd-footer>
377
+ `;
378
+ }
379
+ _loginSuccess(e) {
380
+ const redirectRoute = sessionStorage.getItem(POST_LOGIN_REDIRECT_KEY);
381
+ if (redirectRoute) {
382
+ const routeToNavigate = redirectRoute && redirectRoute !== "/login" ? redirectRoute : "";
383
+ sessionStorage.removeItem(POST_LOGIN_REDIRECT_KEY);
384
+ this.dispatchEvent(
385
+ new CustomEvent("route-event", {
386
+ detail: { route: routeToNavigate },
387
+ bubbles: true,
388
+ composed: true
389
+ })
390
+ );
391
+ }
392
+ spaLogger.debug("Login Event: ", e, window.location.href, redirectRoute);
393
+ }
394
+ _localeChange(e) {
395
+ const newLocale = e.detail;
396
+ this._setLocale(newLocale);
397
+ this._selectedLocale = newLocale;
398
+ setCurrentFormatLocale(newLocale);
399
+ }
400
+ // eslint-disable-next-line class-methods-use-this
401
+ _handleMenuRouteEvent(e) {
402
+ if (e.detail.el) {
403
+ this._scrollToContent(e.detail.el);
404
+ } else {
405
+ this._navigateToPage(e.detail.route);
406
+ }
407
+ }
408
+ // eslint-disable-next-line class-methods-use-this
409
+ _handleFooterRouteEvent(e) {
410
+ const { linkObj } = e.detail;
411
+ if (linkObj.link) {
412
+ this._navigateToPage(linkObj.link);
413
+ }
414
+ if (linkObj.action) {
415
+ linkObj.action();
416
+ }
417
+ }
418
+ // eslint-disable-next-line class-methods-use-this
419
+ _initMenuSections(e) {
420
+ const pageConf = getNavigationPage(this._route);
421
+ if (pageConf) {
422
+ pageConf.menu = pageConf.menu?.map(
423
+ (menuElement, index) => ({
424
+ ...menuElement,
425
+ ref: e.detail.menuRefs[index]
426
+ })
427
+ );
428
+ }
429
+ }
430
+ _createTemporaryToast(e) {
431
+ const tmpToast = new PdToast();
432
+ tmpToast.isError = e.detail.isError;
433
+ tmpToast.isSuccess = e.detail.isSuccess;
434
+ const slotContent = document.createTextNode(e.detail.txt);
435
+ tmpToast.appendChild(slotContent);
436
+ this.shadowRoot?.appendChild(tmpToast);
437
+ tmpToast.duration = e.detail.duration || TOAST_DURATION;
438
+ }
439
+ static _scrollToTop() {
440
+ window.scrollTo({
441
+ top: 0,
442
+ left: 0,
443
+ behavior: "smooth"
444
+ });
445
+ }
446
+ // Test, not used at the moment, jump/menu problem...
447
+ // eslint-disable-next-line class-methods-use-this
448
+ _scrollToContent(el) {
449
+ if (el) {
450
+ const rect = el.getBoundingClientRect();
451
+ window.scrollBy({
452
+ top: rect.top - (this._teaserClosed ? 80 : 450),
453
+ left: 0,
454
+ behavior: "smooth"
455
+ });
456
+ }
457
+ }
458
+ _navigateToPage(routeURL) {
459
+ _PdSpaHelper._scrollToTop();
460
+ pdRouterService.navigate(routeURL);
461
+ }
462
+ };
463
+ __decorateClass([
464
+ property({ type: String })
465
+ ], _PdSpaHelper.prototype, "title");
466
+ __decorateClass([
467
+ state()
468
+ ], _PdSpaHelper.prototype, "_user");
469
+ __decorateClass([
470
+ state()
471
+ ], _PdSpaHelper.prototype, "_profile");
472
+ __decorateClass([
473
+ state()
474
+ ], _PdSpaHelper.prototype, "_loadingState");
475
+ __decorateClass([
476
+ state()
477
+ ], _PdSpaHelper.prototype, "_route");
478
+ __decorateClass([
479
+ state()
480
+ ], _PdSpaHelper.prototype, "_params");
481
+ __decorateClass([
482
+ state()
483
+ ], _PdSpaHelper.prototype, "_query");
484
+ __decorateClass([
485
+ state()
486
+ ], _PdSpaHelper.prototype, "_teaserClosed");
487
+ __decorateClass([
488
+ state()
489
+ ], _PdSpaHelper.prototype, "_selectedLocale");
490
+ let PdSpaHelper = _PdSpaHelper;
491
+
492
+ export { POST_LOGIN_REDIRECT_KEY, PdSpaHelper, startInit };
@@ -0,0 +1,19 @@
1
+ import { LitElement, CSSResultGroup, HTMLTemplateResult } from 'lit';
2
+ export declare const KEY_ABORT = "1";
3
+ export declare const ABORT_EVENT_NAME = "close-popup";
4
+ export declare const KEY_STORE = "2";
5
+ export declare const STORE_EVENT_NAME = "store";
6
+ export type PopupType = "info" | "help" | "warn" | "error";
7
+ export declare abstract class DefaultConfirmPopup extends LitElement {
8
+ abstract _popupTitle: string;
9
+ abstract _type?: PopupType;
10
+ abstract _singleButton: boolean;
11
+ okButtonText: string;
12
+ cancelButtonText: string;
13
+ static styles: CSSResultGroup;
14
+ render(): import('lit').TemplateResult<1>;
15
+ private _generateButtons;
16
+ protected _handleButtonClick(e: CustomEvent): void;
17
+ abstract _renderContent(): HTMLTemplateResult;
18
+ }
19
+ //# sourceMappingURL=default-confirm-popup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"default-confirm-popup.d.ts","sourceRoot":"","sources":["../../src/defaultpage/default-confirm-popup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,UAAU,EAAO,cAAc,EAAE,kBAAkB,EAAE,MAAM,KAAK,CAAC;AAGhF,OAAO,oDAAoD,CAAC;AAE5D,eAAO,MAAM,SAAS,MAAM,CAAC;AAC7B,eAAO,MAAM,gBAAgB,gBAAgB,CAAC;AAE9C,eAAO,MAAM,SAAS,MAAM,CAAC;AAC7B,eAAO,MAAM,gBAAgB,UAAU,CAAC;AAExC,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAE3D,8BAAsB,mBAAoB,SAAQ,UAAU;IAC1D,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAE7B,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC;IAE3B,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAGhC,YAAY,EAAE,MAAM,CAAQ;IAG5B,gBAAgB,EAAE,MAAM,CAAY;IAEpC,MAAM,CAAC,MAAM,EAMR,cAAc,CAAC;IAEpB,MAAM;IAcN,OAAO,CAAC,gBAAgB;IAUxB,SAAS,CAAC,kBAAkB,CAAC,CAAC,EAAE,WAAW;IAQ3C,QAAQ,CAAC,cAAc,IAAI,kBAAkB;CAC9C"}
@@ -0,0 +1,70 @@
1
+ import { LitElement, css, html } from 'lit';
2
+ import { property } from 'lit/decorators.js';
3
+ import '@progressive-development/pd-dialog/pd-popup-dialog';
4
+
5
+ var __defProp = Object.defineProperty;
6
+ var __decorateClass = (decorators, target, key, kind) => {
7
+ var result = void 0 ;
8
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
9
+ if (decorator = decorators[i])
10
+ result = (decorator(target, key, result) ) || result;
11
+ if (result) __defProp(target, key, result);
12
+ return result;
13
+ };
14
+ const KEY_ABORT = "1";
15
+ const ABORT_EVENT_NAME = "close-popup";
16
+ const KEY_STORE = "2";
17
+ const STORE_EVENT_NAME = "store";
18
+ class DefaultConfirmPopup extends LitElement {
19
+ constructor() {
20
+ super(...arguments);
21
+ this.okButtonText = "Ok";
22
+ this.cancelButtonText = "Cancel";
23
+ }
24
+ static {
25
+ this.styles = [
26
+ css`
27
+ :host {
28
+ --pd-popup-max-width: 600px;
29
+ }
30
+ `
31
+ ];
32
+ }
33
+ render() {
34
+ const buttons = this._generateButtons();
35
+ return html`
36
+ <pd-popup-dialog
37
+ @submit-button-clicked="${this._handleButtonClick}"
38
+ title="${this._popupTitle}"
39
+ .buttons="${buttons}"
40
+ type="${this._type || "info"}"
41
+ >
42
+ <div slot="content">${this._renderContent()}</div>
43
+ </pd-popup-dialog>
44
+ `;
45
+ }
46
+ _generateButtons() {
47
+ if (this._singleButton) {
48
+ return [{ key: KEY_STORE, name: this.okButtonText, primary: true }];
49
+ }
50
+ return [
51
+ { key: KEY_ABORT, name: this.cancelButtonText },
52
+ { key: KEY_STORE, name: this.okButtonText, primary: true }
53
+ ];
54
+ }
55
+ _handleButtonClick(e) {
56
+ this.dispatchEvent(
57
+ new CustomEvent(
58
+ e.detail.button === KEY_STORE ? STORE_EVENT_NAME : ABORT_EVENT_NAME
59
+ )
60
+ );
61
+ }
62
+ }
63
+ __decorateClass([
64
+ property({ type: String })
65
+ ], DefaultConfirmPopup.prototype, "okButtonText");
66
+ __decorateClass([
67
+ property({ type: String })
68
+ ], DefaultConfirmPopup.prototype, "cancelButtonText");
69
+
70
+ export { ABORT_EVENT_NAME, DefaultConfirmPopup, KEY_ABORT, KEY_STORE, STORE_EVENT_NAME };
@@ -0,0 +1,19 @@
1
+ import { LitElement, CSSResultGroup, HTMLTemplateResult } from 'lit';
2
+ export declare abstract class DefaultDialogPopup<T> extends LitElement {
3
+ protected _requiredFieldInfo: boolean;
4
+ abstract _formData: T;
5
+ abstract _popupTitle: string;
6
+ protected _dialogButtons: Array<any>;
7
+ protected _validationError?: string;
8
+ protected _validForm: boolean;
9
+ private _formElement;
10
+ static styles: CSSResultGroup;
11
+ render(): import('lit').TemplateResult<1>;
12
+ private _generateButtons;
13
+ protected _handleButtonClick(e: CustomEvent): void;
14
+ abstract _isValidFormData(): boolean;
15
+ abstract _renderContent(): HTMLTemplateResult;
16
+ private _disableStoreButtonTemporarily;
17
+ reset(): void;
18
+ }
19
+ //# sourceMappingURL=default-dialog-popup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"default-dialog-popup.d.ts","sourceRoot":"","sources":["../../src/defaultpage/default-dialog-popup.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,UAAU,EAEV,cAAc,EACd,kBAAkB,EAEnB,MAAM,KAAK,CAAC;AAKb,OAAO,oDAAoD,CAAC;AAC5D,OAAO,qDAAqD,CAAC;AAW7D,8BAAsB,kBAAkB,CAAC,CAAC,CAAE,SAAQ,UAAU;IAC5D,SAAS,CAAC,kBAAkB,EAAE,OAAO,CAAQ;IAE7C,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC;IAEtB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAI7B,SAAS,CAAC,cAAc,EAAE,KAAK,CAAC,GAAG,CAAC,CAGlC;IAGF,SAAS,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAGpC,SAAS,CAAC,UAAU,EAAE,OAAO,CAAS;IAGtC,OAAO,CAAC,YAAY,CAAmB;IAEvC,MAAM,CAAC,MAAM,EAMR,cAAc,CAAC;IAEpB,MAAM;IAyBN,OAAO,CAAC,gBAAgB;IAUxB,SAAS,CAAC,kBAAkB,CAAC,CAAC,EAAE,WAAW;IAa3C,QAAQ,CAAC,gBAAgB,IAAI,OAAO;IAEpC,QAAQ,CAAC,cAAc,IAAI,kBAAkB;IAE7C,OAAO,CAAC,8BAA8B;IAS/B,KAAK;CAGb"}