@progressive-development/pd-spa-helper 0.3.102 → 0.3.104

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 (380) hide show
  1. package/dist/index.js +72 -0
  2. package/dist/node_modules/@firebase/app/dist/esm/index.esm2017.js +749 -0
  3. package/dist/node_modules/@firebase/auth/dist/esm2017/index-68602d24.js +6265 -0
  4. package/dist/node_modules/@firebase/component/dist/esm/index.esm2017.js +341 -0
  5. package/dist/node_modules/@firebase/firestore/dist/index.esm2017.js +10250 -0
  6. package/dist/node_modules/@firebase/functions/dist/index.esm2017.js +513 -0
  7. package/dist/node_modules/@firebase/installations/dist/esm/index.esm2017.js +863 -0
  8. package/dist/node_modules/@firebase/logger/dist/esm/index.esm2017.js +122 -0
  9. package/dist/node_modules/@firebase/messaging/dist/esm/index.esm2017.js +1019 -0
  10. package/dist/node_modules/@firebase/storage/dist/index.esm2017.js +2042 -0
  11. package/dist/node_modules/@firebase/util/dist/index.esm2017.js +931 -0
  12. package/dist/node_modules/@firebase/webchannel-wrapper/dist/bloom-blob/esm/bloom_blob_es2018.js +417 -0
  13. package/dist/node_modules/@firebase/webchannel-wrapper/dist/webchannel-blob/esm/webchannel_blob_es2018.js +2155 -0
  14. package/dist/node_modules/@lit/reactive-element/decorators/custom-element.js +14 -0
  15. package/dist/node_modules/@lit/reactive-element/decorators/property.js +20 -0
  16. package/dist/node_modules/@lit/reactive-element/decorators/query-assigned-elements.js +7 -0
  17. package/dist/node_modules/@progressive-development/pd-dialog/pd-popup-dialog.js +5 -0
  18. package/dist/node_modules/@progressive-development/pd-dialog/pd-popup.js +2 -0
  19. package/dist/node_modules/@progressive-development/pd-dialog/src/PdPopup.js +113 -0
  20. package/dist/node_modules/@progressive-development/pd-dialog/src/PdPopupDialog.js +189 -0
  21. package/dist/node_modules/@progressive-development/pd-forms/pd-button.js +2 -0
  22. package/dist/node_modules/@progressive-development/pd-forms/pd-form-container.js +2 -0
  23. package/dist/node_modules/@progressive-development/pd-forms/pd-form-row.js +2 -0
  24. package/dist/node_modules/@progressive-development/pd-forms/pd-hover-box.js +2 -0
  25. package/dist/node_modules/@progressive-development/pd-forms/pd-input.js +2 -0
  26. package/dist/node_modules/@progressive-development/pd-forms/src/PdBaseInputElement.js +86 -0
  27. package/dist/node_modules/@progressive-development/pd-forms/src/PdBaseUi.js +34 -0
  28. package/dist/node_modules/@progressive-development/pd-forms/src/PdBaseUiInput.js +227 -0
  29. package/dist/node_modules/@progressive-development/pd-forms/src/PdButton.js +194 -0
  30. package/dist/node_modules/@progressive-development/pd-forms/src/PdFormContainer.js +167 -0
  31. package/dist/node_modules/@progressive-development/pd-forms/src/PdFormRow.js +92 -0
  32. package/dist/node_modules/@progressive-development/pd-forms/src/PdHoverBox.js +108 -0
  33. package/dist/node_modules/@progressive-development/pd-forms/src/PdInput.js +79 -0
  34. package/dist/node_modules/@progressive-development/pd-forms/src/generated/locale/be.js +11 -0
  35. package/dist/node_modules/@progressive-development/pd-forms/src/generated/locale/en.js +11 -0
  36. package/dist/node_modules/@progressive-development/pd-forms/src/shared-input-field-styles.js +152 -0
  37. package/dist/node_modules/@progressive-development/pd-forms/src/shared-input-styles.js +64 -0
  38. package/dist/node_modules/@progressive-development/pd-icon/pd-icon.js +4 -0
  39. package/dist/node_modules/@progressive-development/pd-icon/src/PdIcon.js +596 -0
  40. package/dist/node_modules/@progressive-development/pd-order/dist/locales/be.js +15 -0
  41. package/dist/node_modules/@progressive-development/pd-order/dist/locales/de.js +15 -0
  42. package/dist/node_modules/@progressive-development/pd-order/dist/locales/en.js +15 -0
  43. package/dist/node_modules/@progressive-development/pd-order/dist/node_modules/@progressive-development/pd-contact/pd-contact.js +2 -0
  44. package/dist/node_modules/@progressive-development/pd-order/dist/node_modules/@progressive-development/pd-contact/src/PdContact.js +567 -0
  45. package/dist/node_modules/@progressive-development/pd-order/dist/node_modules/@progressive-development/pd-content/pd-collapse.js +2 -0
  46. package/dist/node_modules/@progressive-development/pd-order/dist/node_modules/@progressive-development/pd-content/pd-edit-content.js +2 -0
  47. package/dist/node_modules/@progressive-development/pd-order/dist/node_modules/@progressive-development/pd-content/src/PdCollapse.js +136 -0
  48. package/dist/node_modules/@progressive-development/pd-order/dist/node_modules/@progressive-development/pd-content/src/PdEditContent.js +224 -0
  49. package/dist/node_modules/@progressive-development/pd-order/dist/node_modules/@progressive-development/pd-dialog/pd-popup.js +2 -0
  50. package/dist/node_modules/@progressive-development/pd-order/dist/node_modules/@progressive-development/pd-dialog/src/PdPopup.js +113 -0
  51. package/dist/node_modules/@progressive-development/pd-order/dist/node_modules/@progressive-development/pd-forms/pd-checkbox.js +2 -0
  52. package/dist/node_modules/@progressive-development/pd-order/dist/node_modules/@progressive-development/pd-forms/pd-form-container.js +2 -0
  53. package/dist/node_modules/@progressive-development/pd-order/dist/node_modules/@progressive-development/pd-forms/pd-form-row.js +2 -0
  54. package/dist/node_modules/@progressive-development/pd-order/dist/node_modules/@progressive-development/pd-forms/pd-hover-box.js +2 -0
  55. package/dist/node_modules/@progressive-development/pd-order/dist/node_modules/@progressive-development/pd-forms/pd-input.js +2 -0
  56. package/dist/node_modules/@progressive-development/pd-order/dist/node_modules/@progressive-development/pd-forms/pd-radio-group.js +2 -0
  57. package/dist/node_modules/@progressive-development/pd-order/dist/node_modules/@progressive-development/pd-forms/src/PdBaseInputElement.js +86 -0
  58. package/dist/node_modules/@progressive-development/pd-order/dist/node_modules/@progressive-development/pd-forms/src/PdBaseUi.js +34 -0
  59. package/dist/node_modules/@progressive-development/pd-order/dist/node_modules/@progressive-development/pd-forms/src/PdBaseUiInput.js +229 -0
  60. package/dist/node_modules/@progressive-development/pd-order/dist/node_modules/@progressive-development/pd-forms/src/PdCheckbox.js +230 -0
  61. package/dist/node_modules/@progressive-development/pd-order/dist/node_modules/@progressive-development/pd-forms/src/PdFormContainer.js +167 -0
  62. package/dist/node_modules/@progressive-development/pd-order/dist/node_modules/@progressive-development/pd-forms/src/PdFormRow.js +92 -0
  63. package/dist/node_modules/@progressive-development/pd-order/dist/node_modules/@progressive-development/pd-forms/src/PdHoverBox.js +108 -0
  64. package/dist/node_modules/@progressive-development/pd-order/dist/node_modules/@progressive-development/pd-forms/src/PdInput.js +79 -0
  65. package/dist/node_modules/@progressive-development/pd-order/dist/node_modules/@progressive-development/pd-forms/src/PdRadioGroup.js +72 -0
  66. package/dist/node_modules/@progressive-development/pd-order/dist/node_modules/@progressive-development/pd-forms/src/shared-input-field-styles.js +152 -0
  67. package/dist/node_modules/@progressive-development/pd-order/dist/node_modules/@progressive-development/pd-forms/src/shared-input-styles.js +64 -0
  68. package/dist/node_modules/@progressive-development/pd-order/dist/node_modules/@progressive-development/pd-icon/pd-icon.js +4 -0
  69. package/dist/node_modules/@progressive-development/pd-order/dist/node_modules/@progressive-development/pd-icon/src/PdIcon.js +596 -0
  70. package/dist/node_modules/@progressive-development/pd-order/dist/node_modules/@progressive-development/pd-price/pd-pricetable.js +2 -0
  71. package/dist/node_modules/@progressive-development/pd-order/dist/node_modules/@progressive-development/pd-price/src/PdPricetable.js +149 -0
  72. package/dist/node_modules/@progressive-development/pd-order/dist/node_modules/fecha/lib/fecha.js +200 -0
  73. package/dist/node_modules/@progressive-development/pd-order/dist/node_modules/lit/node_modules/lit-html/directive.js +27 -0
  74. package/dist/node_modules/@progressive-development/pd-order/dist/node_modules/lit/node_modules/lit-html/directives/class-map.js +36 -0
  75. package/dist/node_modules/@progressive-development/pd-order/dist/node_modules/lit/node_modules/lit-html/lit-html.js +242 -0
  76. package/dist/node_modules/@progressive-development/pd-order/dist/pd-order-contacts.js +2 -0
  77. package/dist/node_modules/@progressive-development/pd-order/dist/pd-order-summary.js +2 -0
  78. package/dist/node_modules/@progressive-development/pd-order/dist/src/PdOrderContacts.js +192 -0
  79. package/dist/node_modules/@progressive-development/pd-order/dist/src/PdOrderSummary.js +243 -0
  80. package/dist/node_modules/@progressive-development/pd-page/pd-footer.js +2 -0
  81. package/dist/node_modules/@progressive-development/pd-page/pd-menu.js +2 -0
  82. package/dist/node_modules/@progressive-development/pd-page/src/PdFooter.js +141 -0
  83. package/dist/node_modules/@progressive-development/pd-page/src/PdMenu.js +450 -0
  84. package/dist/node_modules/@progressive-development/pd-shared-styles/src/shared-color-styles.js +30 -0
  85. package/dist/node_modules/@progressive-development/pd-shared-styles/src/shared-font-styles.js +32 -0
  86. package/dist/node_modules/@progressive-development/pd-wizard/pd-wizard.js +2 -0
  87. package/dist/node_modules/@progressive-development/pd-wizard/src/PdSteps.js +191 -0
  88. package/dist/node_modules/@progressive-development/pd-wizard/src/PdWizard.js +280 -0
  89. package/dist/node_modules/firebase/app/dist/esm/index.esm.js +35 -0
  90. package/dist/node_modules/idb/build/index.js +81 -0
  91. package/dist/node_modules/idb/build/wrap-idb-value.js +148 -0
  92. package/dist/node_modules/lit/node_modules/lit-html/directive.js +27 -0
  93. package/dist/node_modules/lit/node_modules/lit-html/directives/class-map.js +36 -0
  94. package/dist/node_modules/lit/node_modules/lit-html/lit-html.js +242 -0
  95. package/dist/node_modules/lit-element-router/lit-element-router.js +131 -0
  96. package/dist/node_modules/lit-element-router/utility/router-utility.js +36 -0
  97. package/dist/node_modules/mini-rx-store/index.esm.js +458 -0
  98. package/dist/node_modules/pwa-helpers/media-query.js +17 -0
  99. package/dist/node_modules/rxjs/dist/esm5/internal/Observable.js +100 -0
  100. package/dist/node_modules/rxjs/dist/esm5/internal/Subscriber.js +147 -0
  101. package/dist/node_modules/rxjs/dist/esm5/internal/Subscription.js +139 -0
  102. package/dist/node_modules/rxjs/dist/esm5/internal/config.js +10 -0
  103. package/dist/node_modules/rxjs/dist/esm5/internal/observable/innerFrom.js +159 -0
  104. package/dist/node_modules/rxjs/dist/esm5/internal/operators/OperatorSubscriber.js +52 -0
  105. package/dist/node_modules/rxjs/dist/esm5/internal/operators/catchError.js +28 -0
  106. package/dist/node_modules/rxjs/dist/esm5/internal/operators/distinctUntilChanged.js +27 -0
  107. package/dist/node_modules/rxjs/dist/esm5/internal/operators/filter.js +13 -0
  108. package/dist/node_modules/rxjs/dist/esm5/internal/operators/map.js +13 -0
  109. package/dist/node_modules/rxjs/dist/esm5/internal/operators/observeOn.js +26 -0
  110. package/dist/node_modules/rxjs/dist/esm5/internal/operators/tap.js +36 -0
  111. package/dist/node_modules/rxjs/dist/esm5/internal/operators/withLatestFrom.js +43 -0
  112. package/dist/node_modules/rxjs/dist/esm5/internal/scheduler/timeoutProvider.js +18 -0
  113. package/dist/node_modules/rxjs/dist/esm5/internal/symbol/iterator.js +11 -0
  114. package/dist/node_modules/rxjs/dist/esm5/internal/symbol/observable.js +6 -0
  115. package/dist/node_modules/rxjs/dist/esm5/internal/util/UnsubscriptionError.js +14 -0
  116. package/dist/node_modules/rxjs/dist/esm5/internal/util/args.js +10 -0
  117. package/dist/node_modules/rxjs/dist/esm5/internal/util/arrRemove.js +9 -0
  118. package/dist/node_modules/rxjs/dist/esm5/internal/util/createErrorClass.js +13 -0
  119. package/dist/node_modules/rxjs/dist/esm5/internal/util/errorContext.js +8 -0
  120. package/dist/node_modules/rxjs/dist/esm5/internal/util/executeSchedule.js +23 -0
  121. package/dist/node_modules/rxjs/dist/esm5/internal/util/identity.js +6 -0
  122. package/dist/node_modules/rxjs/dist/esm5/internal/util/isArrayLike.js +6 -0
  123. package/dist/node_modules/rxjs/dist/esm5/internal/util/isAsyncIterable.js +7 -0
  124. package/dist/node_modules/rxjs/dist/esm5/internal/util/isFunction.js +6 -0
  125. package/dist/node_modules/rxjs/dist/esm5/internal/util/isInteropObservable.js +8 -0
  126. package/dist/node_modules/rxjs/dist/esm5/internal/util/isIterable.js +8 -0
  127. package/dist/node_modules/rxjs/dist/esm5/internal/util/isPromise.js +7 -0
  128. package/dist/node_modules/rxjs/dist/esm5/internal/util/isReadableStreamLike.js +46 -0
  129. package/dist/node_modules/rxjs/dist/esm5/internal/util/lift.js +22 -0
  130. package/dist/node_modules/rxjs/dist/esm5/internal/util/noop.js +5 -0
  131. package/dist/node_modules/rxjs/dist/esm5/internal/util/pipe.js +17 -0
  132. package/dist/node_modules/rxjs/dist/esm5/internal/util/reportUnhandledError.js +11 -0
  133. package/dist/node_modules/rxjs/dist/esm5/internal/util/throwUnobservableError.js +6 -0
  134. package/dist/node_modules/tslib/tslib.es6.js +240 -0
  135. package/dist/pd-panel-viewer.js +189 -0
  136. package/dist/pd-panel.js +51 -0
  137. package/dist/src/PdSpaHelper.js +319 -402
  138. package/dist/src/defaultpage/default-confirm-popup.js +61 -41
  139. package/dist/src/defaultpage/default-dialog-popup.js +74 -60
  140. package/dist/src/defaultpage/default-login.js +31 -20
  141. package/dist/src/defaultpage/default-popup.js +13 -10
  142. package/dist/src/defaultpage/default-step-address.js +52 -42
  143. package/dist/src/defaultpage/default-step-summary.js +58 -49
  144. package/dist/src/defaultpage/default-view-page.js +31 -23
  145. package/dist/src/defaultpage/default-wizard-step.js +119 -111
  146. package/dist/src/defaultpage/default-wizard.js +199 -195
  147. package/dist/src/generated/locale-wrapper/be-wrapper.js +14 -11
  148. package/dist/src/generated/locale-wrapper/de-wrapper.js +12 -9
  149. package/dist/src/generated/locale-wrapper/en-wrapper.js +14 -11
  150. package/dist/src/generated/locales/be.js +17 -19
  151. package/dist/src/generated/locales/de.js +17 -19
  152. package/dist/src/generated/locales/en.js +17 -19
  153. package/dist/src/helper/helper-utils.js +29 -24
  154. package/dist/src/model/spa-model.js +6 -3
  155. package/dist/src/popup/wizard-close-popup.js +37 -27
  156. package/dist/src/popup/wizard-reload-popup.js +35 -23
  157. package/dist/src/router/AppMain.js +23 -12
  158. package/dist/src/service-provider/firebase/auth.js +50 -73
  159. package/dist/src/service-provider/firebase/firestorage-client.js +194 -243
  160. package/dist/src/service-provider/firebase/firestore-client.js +19 -25
  161. package/dist/src/service-provider/firebase/functions-client.js +27 -59
  162. package/dist/src/service-provider/firebase/messagingFirebaseClient.js +60 -59
  163. package/dist/src/service-provider/mock/auth.js +54 -54
  164. package/dist/src/service-provider/mock/function-client.js +28 -27
  165. package/dist/src/service-provider/mock/storage-client.js +86 -92
  166. package/dist/src/service-provider/service-provider-impl.js +206 -211
  167. package/dist/src/service-provider/service-provider-model.js +1 -2
  168. package/dist/src/store/indexDB.js +133 -180
  169. package/dist/src/store/mini-rx.store.js +36 -38
  170. package/dist/src/store/spa-app-actions.js +27 -14
  171. package/dist/src/store/spa-app-effects.js +60 -40
  172. package/dist/src/store/spa-app-reducer.js +42 -33
  173. package/dist/src/store/spa-app-selector.js +31 -15
  174. package/dist/src/tmpown/pd-loading-state.js +49 -39
  175. package/dist/src/tmpown/pd-login.js +76 -67
  176. package/dist/src/tmpown/pd-toast.js +74 -65
  177. package/package.json +21 -18
  178. package/.editorconfig +0 -29
  179. package/.storybook/main.ts +0 -14
  180. package/.storybook/preview.ts +0 -15
  181. package/demo/index.html +0 -29
  182. package/dist/src/InitApplicationData.d.ts +0 -3
  183. package/dist/src/InitApplicationData.js +0 -8
  184. package/dist/src/InitApplicationData.js.map +0 -1
  185. package/dist/src/PdSpaHelper.d.ts +0 -93
  186. package/dist/src/PdSpaHelper.js.map +0 -1
  187. package/dist/src/defaultpage/default-confirm-popup.d.ts +0 -19
  188. package/dist/src/defaultpage/default-confirm-popup.js.map +0 -1
  189. package/dist/src/defaultpage/default-dialog-popup.d.ts +0 -16
  190. package/dist/src/defaultpage/default-dialog-popup.js.map +0 -1
  191. package/dist/src/defaultpage/default-login.d.ts +0 -8
  192. package/dist/src/defaultpage/default-login.js.map +0 -1
  193. package/dist/src/defaultpage/default-popup.d.ts +0 -7
  194. package/dist/src/defaultpage/default-popup.js.map +0 -1
  195. package/dist/src/defaultpage/default-step-address.d.ts +0 -19
  196. package/dist/src/defaultpage/default-step-address.js.map +0 -1
  197. package/dist/src/defaultpage/default-step-summary.d.ts +0 -30
  198. package/dist/src/defaultpage/default-step-summary.js.map +0 -1
  199. package/dist/src/defaultpage/default-view-page.d.ts +0 -9
  200. package/dist/src/defaultpage/default-view-page.js.map +0 -1
  201. package/dist/src/defaultpage/default-wizard-step.d.ts +0 -34
  202. package/dist/src/defaultpage/default-wizard-step.js.map +0 -1
  203. package/dist/src/defaultpage/default-wizard.d.ts +0 -33
  204. package/dist/src/defaultpage/default-wizard.js.map +0 -1
  205. package/dist/src/firebase/auth.d.ts +0 -4
  206. package/dist/src/firebase/auth.js +0 -28
  207. package/dist/src/firebase/auth.js.map +0 -1
  208. package/dist/src/firebase/firestore-client.d.ts +0 -9
  209. package/dist/src/firebase/firestore-client.js +0 -19
  210. package/dist/src/firebase/firestore-client.js.map +0 -1
  211. package/dist/src/firebase/functions-client.d.ts +0 -34
  212. package/dist/src/firebase/functions-client.js +0 -70
  213. package/dist/src/firebase/functions-client.js.map +0 -1
  214. package/dist/src/generated/locale-codes.d.ts +0 -13
  215. package/dist/src/generated/locale-codes.js +0 -25
  216. package/dist/src/generated/locale-codes.js.map +0 -1
  217. package/dist/src/generated/locale-wrapper/be-wrapper.d.ts +0 -1
  218. package/dist/src/generated/locale-wrapper/be-wrapper.js.map +0 -1
  219. package/dist/src/generated/locale-wrapper/de-wrapper.d.ts +0 -15
  220. package/dist/src/generated/locale-wrapper/de-wrapper.js.map +0 -1
  221. package/dist/src/generated/locale-wrapper/en-wrapper.d.ts +0 -1
  222. package/dist/src/generated/locale-wrapper/en-wrapper.js.map +0 -1
  223. package/dist/src/generated/locales/be.d.ts +0 -15
  224. package/dist/src/generated/locales/be.js.map +0 -1
  225. package/dist/src/generated/locales/de.d.ts +0 -15
  226. package/dist/src/generated/locales/de.js.map +0 -1
  227. package/dist/src/generated/locales/en.d.ts +0 -15
  228. package/dist/src/generated/locales/en.js.map +0 -1
  229. package/dist/src/helper/helper-utils.d.ts +0 -5
  230. package/dist/src/helper/helper-utils.js.map +0 -1
  231. package/dist/src/index.d.ts +0 -22
  232. package/dist/src/index.js +0 -33
  233. package/dist/src/index.js.map +0 -1
  234. package/dist/src/model/spa-model.d.ts +0 -16
  235. package/dist/src/model/spa-model.js.map +0 -1
  236. package/dist/src/pd-spa-helper.d.ts +0 -0
  237. package/dist/src/pd-spa-helper.js +0 -5
  238. package/dist/src/pd-spa-helper.js.map +0 -1
  239. package/dist/src/popup/wizard-close-popup.d.ts +0 -10
  240. package/dist/src/popup/wizard-close-popup.js.map +0 -1
  241. package/dist/src/popup/wizard-reload-popup.d.ts +0 -13
  242. package/dist/src/popup/wizard-reload-popup.js.map +0 -1
  243. package/dist/src/router/AppMain.d.ts +0 -6
  244. package/dist/src/router/AppMain.js.map +0 -1
  245. package/dist/src/service-call-controller2.d.ts +0 -16
  246. package/dist/src/service-call-controller2.js +0 -43
  247. package/dist/src/service-call-controller2.js.map +0 -1
  248. package/dist/src/service-provider/firebase/auth.d.ts +0 -14
  249. package/dist/src/service-provider/firebase/auth.js.map +0 -1
  250. package/dist/src/service-provider/firebase/firestorage-client.d.ts +0 -20
  251. package/dist/src/service-provider/firebase/firestorage-client.js.map +0 -1
  252. package/dist/src/service-provider/firebase/firestore-client.d.ts +0 -11
  253. package/dist/src/service-provider/firebase/firestore-client.js.map +0 -1
  254. package/dist/src/service-provider/firebase/functions-client.d.ts +0 -9
  255. package/dist/src/service-provider/firebase/functions-client.js.map +0 -1
  256. package/dist/src/service-provider/firebase/messagingFirebaseClient.d.ts +0 -8
  257. package/dist/src/service-provider/firebase/messagingFirebaseClient.js.map +0 -1
  258. package/dist/src/service-provider/mock/auth.d.ts +0 -5
  259. package/dist/src/service-provider/mock/auth.js.map +0 -1
  260. package/dist/src/service-provider/mock/function-client.d.ts +0 -8
  261. package/dist/src/service-provider/mock/function-client.js.map +0 -1
  262. package/dist/src/service-provider/mock/storage-client.d.ts +0 -10
  263. package/dist/src/service-provider/mock/storage-client.js.map +0 -1
  264. package/dist/src/service-provider/service-provider-impl.d.ts +0 -21
  265. package/dist/src/service-provider/service-provider-impl.js.map +0 -1
  266. package/dist/src/service-provider/service-provider-model.d.ts +0 -136
  267. package/dist/src/service-provider/service-provider-model.js.map +0 -1
  268. package/dist/src/store/indexDB.d.ts +0 -27
  269. package/dist/src/store/indexDB.js.map +0 -1
  270. package/dist/src/store/mini-rx.store.d.ts +0 -4
  271. package/dist/src/store/mini-rx.store.js.map +0 -1
  272. package/dist/src/store/spa-app-actions.d.ts +0 -104
  273. package/dist/src/store/spa-app-actions.js.map +0 -1
  274. package/dist/src/store/spa-app-effects.d.ts +0 -23
  275. package/dist/src/store/spa-app-effects.js.map +0 -1
  276. package/dist/src/store/spa-app-reducer.d.ts +0 -9
  277. package/dist/src/store/spa-app-reducer.js.map +0 -1
  278. package/dist/src/store/spa-app-selector.d.ts +0 -6
  279. package/dist/src/store/spa-app-selector.js.map +0 -1
  280. package/dist/src/stories/Button.d.ts +0 -27
  281. package/dist/src/stories/Button.js +0 -20
  282. package/dist/src/stories/Button.js.map +0 -1
  283. package/dist/src/stories/Button.stories.d.ts +0 -9
  284. package/dist/src/stories/Button.stories.js +0 -41
  285. package/dist/src/stories/Button.stories.js.map +0 -1
  286. package/dist/src/stories/Header.d.ts +0 -12
  287. package/dist/src/stories/Header.js +0 -44
  288. package/dist/src/stories/Header.js.map +0 -1
  289. package/dist/src/stories/Header.stories.d.ts +0 -7
  290. package/dist/src/stories/Header.stories.js +0 -17
  291. package/dist/src/stories/Header.stories.js.map +0 -1
  292. package/dist/src/stories/Page.d.ts +0 -12
  293. package/dist/src/stories/Page.js +0 -61
  294. package/dist/src/stories/Page.js.map +0 -1
  295. package/dist/src/stories/Page.stories.d.ts +0 -7
  296. package/dist/src/stories/Page.stories.js +0 -19
  297. package/dist/src/stories/Page.stories.js.map +0 -1
  298. package/dist/src/stories/pd-loading-state.stories.d.ts +0 -30
  299. package/dist/src/stories/pd-loading-state.stories.js +0 -153
  300. package/dist/src/stories/pd-loading-state.stories.js.map +0 -1
  301. package/dist/src/stories/pd-toast.stories.d.ts +0 -23
  302. package/dist/src/stories/pd-toast.stories.js +0 -34
  303. package/dist/src/stories/pd-toast.stories.js.map +0 -1
  304. package/dist/src/tmpown/pd-loading-state.d.ts +0 -9
  305. package/dist/src/tmpown/pd-loading-state.js.map +0 -1
  306. package/dist/src/tmpown/pd-login.d.ts +0 -14
  307. package/dist/src/tmpown/pd-login.js.map +0 -1
  308. package/dist/src/tmpown/pd-panel-viewer.d.ts +0 -18
  309. package/dist/src/tmpown/pd-panel-viewer.js +0 -188
  310. package/dist/src/tmpown/pd-panel-viewer.js.map +0 -1
  311. package/dist/src/tmpown/pd-panel.d.ts +0 -5
  312. package/dist/src/tmpown/pd-panel.js +0 -41
  313. package/dist/src/tmpown/pd-panel.js.map +0 -1
  314. package/dist/src/tmpown/pd-toast.d.ts +0 -12
  315. package/dist/src/tmpown/pd-toast.js.map +0 -1
  316. package/dist/stories/index.stories.d.ts +0 -33
  317. package/dist/stories/index.stories.js +0 -37
  318. package/dist/stories/index.stories.js.map +0 -1
  319. package/dist/test/pd-spa-helper.test.d.ts +0 -1
  320. package/dist/test/pd-spa-helper.test.js +0 -22
  321. package/dist/test/pd-spa-helper.test.js.map +0 -1
  322. package/dist/tsconfig.tsbuildinfo +0 -1
  323. package/index.d.ts +0 -15
  324. package/lit-localize.json +0 -15
  325. package/pd-spa-helper.iml +0 -9
  326. package/src/PdSpaHelper.ts +0 -619
  327. package/src/defaultpage/default-confirm-popup.ts +0 -78
  328. package/src/defaultpage/default-dialog-popup.ts +0 -105
  329. package/src/defaultpage/default-login.ts +0 -41
  330. package/src/defaultpage/default-popup.ts +0 -26
  331. package/src/defaultpage/default-step-address.ts +0 -57
  332. package/src/defaultpage/default-step-summary.ts +0 -88
  333. package/src/defaultpage/default-view-page.ts +0 -58
  334. package/src/defaultpage/default-wizard-step.ts +0 -142
  335. package/src/defaultpage/default-wizard.ts +0 -273
  336. package/src/generated/locale-codes.ts +0 -27
  337. package/src/generated/locale-wrapper/be-wrapper.ts +0 -13
  338. package/src/generated/locale-wrapper/de-wrapper.ts +0 -11
  339. package/src/generated/locale-wrapper/en-wrapper.ts +0 -13
  340. package/src/generated/locales/be.ts +0 -26
  341. package/src/generated/locales/de.ts +0 -26
  342. package/src/generated/locales/en.ts +0 -26
  343. package/src/helper/helper-utils.ts +0 -35
  344. package/src/index.ts +0 -66
  345. package/src/model/spa-model.ts +0 -20
  346. package/src/pd-spa-helper.ts +0 -3
  347. package/src/popup/wizard-close-popup.ts +0 -52
  348. package/src/popup/wizard-reload-popup.ts +0 -69
  349. package/src/router/AppMain.ts +0 -10
  350. package/src/service-call-controller2.ts +0 -68
  351. package/src/service-provider/firebase/auth.ts +0 -89
  352. package/src/service-provider/firebase/firestorage-client.ts +0 -327
  353. package/src/service-provider/firebase/firestore-client.ts +0 -40
  354. package/src/service-provider/firebase/functions-client.ts +0 -73
  355. package/src/service-provider/firebase/messagingFirebaseClient.ts +0 -102
  356. package/src/service-provider/mock/auth.ts +0 -86
  357. package/src/service-provider/mock/function-client.ts +0 -42
  358. package/src/service-provider/mock/storage-client.ts +0 -149
  359. package/src/service-provider/service-provider-impl.ts +0 -286
  360. package/src/service-provider/service-provider-model.ts +0 -163
  361. package/src/store/indexDB.ts +0 -244
  362. package/src/store/mini-rx.store.ts +0 -48
  363. package/src/store/spa-app-actions.ts +0 -36
  364. package/src/store/spa-app-effects.ts +0 -73
  365. package/src/store/spa-app-reducer.ts +0 -86
  366. package/src/store/spa-app-selector.ts +0 -41
  367. package/src/stories/pd-loading-state.stories.ts +0 -168
  368. package/src/stories/pd-toast.stories.ts +0 -43
  369. package/src/tmpown/pd-loading-state.ts +0 -177
  370. package/src/tmpown/pd-login.ts +0 -131
  371. package/src/tmpown/pd-panel-viewer.ts +0 -193
  372. package/src/tmpown/pd-panel.ts +0 -43
  373. package/src/tmpown/pd-toast.ts +0 -118
  374. package/test/pd-spa-helper.test.ts +0 -26
  375. package/tsconfig.json +0 -22
  376. package/web-dev-server.config.mjs +0 -27
  377. package/web-test-runner.config.mjs +0 -41
  378. package/xliff/be.xlf +0 -60
  379. package/xliff/de.xlf +0 -46
  380. package/xliff/en.xlf +0 -58
@@ -0,0 +1,229 @@
1
+ import { css, html } from "lit";
2
+ import "../../pd-icon/pd-icon.js";
3
+ import { PdBaseUI } from "./PdBaseUi.js";
4
+ import { SharedInputStyles } from "./shared-input-styles.js";
5
+ import "../pd-hover-box.js";
6
+ /**
7
+ * @license
8
+ * Copyright (c) 2021 PD Progressive Development UG. All rights reserved.
9
+ *
10
+ * Abstract base lit class for pd-input elements.
11
+ *
12
+ * Used from:
13
+ * - pd-checkbox
14
+ * - pd-input
15
+ * - pd-input-area
16
+ * - pd-radio-group
17
+ * - pd-range
18
+ * - pd-select
19
+ *
20
+ * Used to:
21
+ * - define css (import additional shared-input-styles.js)
22
+ * - define common properties (detailieren, aktuell zu viele bzw. nicht für alle sub-elemente gültig)
23
+ * - handle error msg (getter/setter)
24
+ * - helpers for validation event after change and render label/error elements.
25
+ *
26
+ * Events:
27
+ * - validate-form => fired when input element changed its value.
28
+ * - enter-pressed => fired when enter pressed.
29
+ * - field-change => fired when input element changed its value.
30
+ *
31
+ * Custom Properties (shared-input-styles):
32
+ * ... TODO
33
+ *
34
+ */
35
+ const INPUT_TYPE_TEXT = 1;
36
+ const INPUT_TYPE_SELECT = 2;
37
+ const INPUT_TYPE_CHECK = 3;
38
+ const INPUT_TYPE_RANGE = 4;
39
+ const INPUT_TYPE_AREA = 5;
40
+ const INPUT_TYPE_DATE = 7;
41
+ const INPUT_TYPE_FILE = 8;
42
+ const KEY_RETURN = 13;
43
+ let delayTimer = 0;
44
+ const DELAY_WAIT_TIME_MS = 400;
45
+ class PdBaseUIInput extends PdBaseUI {
46
+ /**
47
+ * Fired when an input element change its values.
48
+ * @event validate-form
49
+ */
50
+ /**
51
+ * Fired when enter was pressend during focus on input element.
52
+ * @event enter-pressed
53
+ */
54
+ /**
55
+ * Fired when field-value changed.
56
+ * @event field-change
57
+ */
58
+ static get styles() {
59
+ return [
60
+ PdBaseUI.styles,
61
+ SharedInputStyles,
62
+ css`
63
+ .label-header {
64
+ display: flex;
65
+ align-items: end;
66
+ justify-content: space-between;
67
+ }
68
+
69
+ .label-header pd-icon {
70
+ --pd-icon-size: 1.25rem;
71
+ --pd-icon-col-active: var(--pd-default-col);
72
+ --pd-icon-col-active-hover: var(--pd-default-hover-col);
73
+ --pd-icon-stroke-width: 0;
74
+ padding-right: 5px;
75
+ cursor: help;
76
+ }
77
+ `
78
+ ];
79
+ }
80
+ static get properties() {
81
+ return {
82
+ gradient: { type: Boolean },
83
+ // true for gradient background
84
+ disabled: { type: Boolean },
85
+ // disabled flag for element
86
+ readonly: { type: Boolean },
87
+ // readonly flag for element
88
+ required: { type: Boolean },
89
+ // required flag for element
90
+ requiredMsg: { type: String },
91
+ // specific error msg for required field
92
+ helperTxt: { type: String },
93
+ // helper text
94
+ valueName: { type: String },
95
+ defaultRequiredChar: { type: String },
96
+ defaultValue: { type: String },
97
+ // default value for input element (used for reset) TODO: Das hier ggf. automatisch mit erstem gesetzten Wert füllen?
98
+ label: { type: String },
99
+ // label text for input
100
+ value: { type: String },
101
+ // current value (set from outside) TODO: Typ (Object, Number, Txt, Bool...)
102
+ _errorMsg: { type: String, state: true },
103
+ // errorMsg (could set fronm outside for busines validation, internal validation=> todo)
104
+ _inputType: { type: Number, state: true }
105
+ // number value for type (text, select, range....), set constructor of sub-class
106
+ };
107
+ }
108
+ constructor() {
109
+ super();
110
+ this.gradient = false;
111
+ this.disabled = false;
112
+ this.readonly = false;
113
+ this.defaultValue = "";
114
+ this.label = "";
115
+ this.value = "";
116
+ this._errorMsg = "";
117
+ this._inputType = -1;
118
+ this.valueName = "";
119
+ this.defaultRequiredChar = "*";
120
+ }
121
+ // Test: Clear input with value => Dann in BasisKlasse und alle leiten von Basis UI Element ab
122
+ clear() {
123
+ this.value = "";
124
+ }
125
+ // Test: Reset input with value
126
+ reset() {
127
+ this.value = this.defaultValue || "";
128
+ }
129
+ get errorMsg() {
130
+ return this._errorMsg;
131
+ }
132
+ set errorMsg(msg) {
133
+ this._errorMsg = msg;
134
+ }
135
+ /*
136
+ get value() {
137
+ return this._value;
138
+ }
139
+
140
+ set value(newValue) {
141
+ console.info("Meine Werte vor Set _value, input.value, newValue: ", this._value, this._input.value, newValue);
142
+ this._value = newValue;
143
+ this._input.value = newValue;
144
+ console.info("Meine Werte nach Set: ", this._value, this._input.value, newValue);
145
+ }
146
+ */
147
+ _generateValidateEvent() {
148
+ this.dispatchEvent(
149
+ new CustomEvent("validate-form", {
150
+ detail: {
151
+ singleElement: this,
152
+ errorMap: /* @__PURE__ */ new Map()
153
+ },
154
+ composed: true,
155
+ bubbles: true
156
+ })
157
+ );
158
+ }
159
+ _handleChangedValue(newValue, event, checkReturn, showValidateMsg) {
160
+ const changed = this.value !== newValue;
161
+ this.value = newValue;
162
+ const keyCode = event.keyCode ? Number(event.keyCode) : -1;
163
+ const eventDetail = {
164
+ value: newValue,
165
+ name: this.valueName,
166
+ keyCode,
167
+ changed
168
+ };
169
+ const handleReturn = checkReturn && keyCode === KEY_RETURN;
170
+ if (handleReturn) {
171
+ this.dispatchEvent(
172
+ new CustomEvent("enter-pressed", {
173
+ detail: eventDetail,
174
+ composed: true,
175
+ bubbles: true
176
+ })
177
+ );
178
+ event.preventDefault();
179
+ }
180
+ if (changed) {
181
+ this.dispatchEvent(
182
+ new CustomEvent("field-change", {
183
+ detail: eventDetail,
184
+ composed: true,
185
+ bubbles: true
186
+ })
187
+ );
188
+ }
189
+ if (showValidateMsg) {
190
+ clearTimeout(delayTimer);
191
+ delayTimer = setTimeout(
192
+ this._generateValidateEvent.bind(this),
193
+ DELAY_WAIT_TIME_MS
194
+ );
195
+ }
196
+ }
197
+ _renderErrorMsg() {
198
+ return this.errorMsg && this.errorMsg.length > 0 ? html`
199
+ <div class="error-box error">
200
+ <p class="error-msg">${this.errorMsg}</p>
201
+ </div>
202
+ ` : "";
203
+ }
204
+ _renderLabel(forParam, additionalValue) {
205
+ return html`
206
+ <div class="label-header">
207
+ <label for="${forParam}">${this.label}${this.required && this.label ? this.defaultRequiredChar : ""}${additionalValue ? html` - <b>${additionalValue}</b>` : ""}</label>
208
+ ${this.helperTxt ? html`
209
+
210
+ <pd-hover-box>
211
+ <pd-icon slot="normal-view" icon="helpIcon" activeIcon></pd-icon>
212
+ <p slot="info-view">${this.helperTxt}</p>
213
+ </pd-hover-box>
214
+
215
+ ` : ""}
216
+ </div>
217
+ `;
218
+ }
219
+ }
220
+ export {
221
+ INPUT_TYPE_AREA,
222
+ INPUT_TYPE_CHECK,
223
+ INPUT_TYPE_DATE,
224
+ INPUT_TYPE_FILE,
225
+ INPUT_TYPE_RANGE,
226
+ INPUT_TYPE_SELECT,
227
+ INPUT_TYPE_TEXT,
228
+ PdBaseUIInput
229
+ };
@@ -0,0 +1,230 @@
1
+ import { css, html } from "lit";
2
+ import { classMap as o } from "../../../lit/node_modules/lit-html/directives/class-map.js";
3
+ import "../../pd-icon/pd-icon.js";
4
+ import { PdBaseUIInput, INPUT_TYPE_CHECK } from "./PdBaseUiInput.js";
5
+ /**
6
+ * @license
7
+ * Copyright (c) 2021 PD Progressive Development UG. All rights reserved.
8
+ */
9
+ class PdCheckbox extends PdBaseUIInput {
10
+ static get properties() {
11
+ return {
12
+ isSwitch: { type: Boolean },
13
+ _hasInner: { type: Boolean, state: true }
14
+ };
15
+ }
16
+ constructor() {
17
+ super();
18
+ this._inputType = INPUT_TYPE_CHECK;
19
+ }
20
+ static get styles() {
21
+ return [
22
+ PdBaseUIInput.styles,
23
+ css`
24
+ :host {
25
+ display: inline-block;
26
+
27
+ /* Style for active checkbox => use defaults from pd-icon if no custom properties set */
28
+ --pd-icon-col-active: var(--pd-cb-col);
29
+ --pd-icon-col-active-hover: var(--pd-cb-col-hover);
30
+ --pd-icon-bg-col-active: var(--pd-cb-bg-col);
31
+ --pd-icon-stroke-col-active: var(--pd-cb-stroke-col);
32
+ --pd-icon-stroke-col-active-hover: var(--pd-cb-stroke-col-hover);
33
+
34
+ /* Style for inactive checkbox */
35
+ --pd-icon-col: var(--pd-cb-unset-col);
36
+ --pd-icon-col-hover: var(--pd-cb-unset-col-hover);
37
+ --pd-icon-bg-col: var(--pd-cb-unset-bg-col);
38
+ --pd-icon-stroke-col: var(--pd-cb-unset-stroke-col);
39
+ --pd-icon-stroke-col-hover: var(--pd-cb-unset-stroke-col-hover);
40
+ }
41
+
42
+ /* Switch pd-icon => Prüfen, bei mir musste ich reflect setzten, wird das verwendet? */
43
+ :host([isSwitch]) {
44
+ /* derzeit keine Angaben */
45
+ }
46
+
47
+ .div-container {
48
+ display: flex;
49
+ align-items: center;
50
+ cursor: pointer;
51
+ }
52
+
53
+ .div-container.disabled {
54
+ opacity: 0.5;
55
+ cursor: auto;
56
+ }
57
+
58
+ .div-container.readonly {
59
+ cursor: auto;
60
+ }
61
+
62
+ /*
63
+ * Class checkbox for icon and a element (checkbox case)
64
+ */
65
+ .checkbox {
66
+ display: flex;
67
+ border-radius: 4px;
68
+ line-height: 0;
69
+ align-items: center;
70
+ justify-content: center;
71
+ /*
72
+ Wurde das hier für Border verwendet? Aktuell border in folgendem Element gesetzt
73
+ background-color: var(--pd-cb-border-col, var(--pd-primary-col, #067394));
74
+ */
75
+
76
+ }
77
+
78
+ .checkbox pd-icon {
79
+ margin-right: .2rem;
80
+ margin-bottom: .2rem;
81
+ border: 2px solid var(--pd-cb-border-col, var(--pd-default-col));
82
+ border-radius: var(--pd-cb-border-radius, 3px);
83
+ }
84
+
85
+ .label {
86
+ margin-left: 0.1rem;
87
+ color: var(--pd-cb-font-col, var(--pd-default-font-input-col));
88
+ font-family: var(--pd-default-font-input-family);
89
+ text-align: left;
90
+ font-size: var(--pd-default-font-input-size);
91
+ }
92
+
93
+ .readonly .label {
94
+ color: var(--pd-cb-font-col-readonly, #4d4d4d);
95
+ }
96
+
97
+ .readonly .checkbox pd-icon {
98
+ border-color: var(--pd-cb-border-col-readonly, transparent);
99
+ }
100
+
101
+ /* Switch styles */
102
+ .switch {
103
+ height: var(--pd-cb-switch-height);
104
+ position: relative;
105
+ outline: 0;
106
+ -webkit-user-select: none;
107
+ -moz-user-select: none;
108
+ -ms-user-select: none;
109
+ user-select: none;
110
+ }
111
+
112
+ .switch .label {
113
+ margin-left: 0.5rem;
114
+ }
115
+
116
+ .switch-paddle {
117
+ display: inline-block;
118
+ vertical-align: baseline;
119
+ margin: 0;
120
+ position: relative;
121
+ min-width: 4rem;
122
+ max-width: 4rem;
123
+ height: 2rem;
124
+ border-radius: 0;
125
+ background: var(--pd-cb-switch-paddle-col, var(--pd-default-col));
126
+ font-weight: inherit;
127
+ color: inherit;
128
+ cursor: pointer;
129
+ }
130
+
131
+ .switch-paddle pd-icon {
132
+ position: absolute;
133
+ top: 0;
134
+ left: 0;
135
+ display: block;
136
+ width: 1.5rem;
137
+ height: 1.5rem;
138
+ -webkit-transform: translate3d(0, 0, 0);
139
+ transform: translate3d(0, 0, 0);
140
+ border: 2px solid var(--pd-cb-border-col, var(--pd-default-col));
141
+ box-shadow: rgba(0, 0, 0, 0.15) 1.95px 1.95px 2.6px;
142
+ border-radius: var(--pd-cb-border-radius, 4px);
143
+ -webkit-transition: all 0.25s ease-out;
144
+ transition: all 0.25s ease-out;
145
+ content: '';
146
+ }
147
+
148
+ .disabled .switch-paddle {
149
+ cursor: auto;
150
+ }
151
+
152
+ .readonly .switch-paddle {
153
+ cursor: auto;
154
+ max-width: 2rem;
155
+ min-width: 2rem;
156
+ background: none;
157
+
158
+ /* Prüfen TODO
159
+ --pd-icon-bg: transparent;
160
+ --pd-icon-fill: var(--card-dark-red);
161
+ --pd-icon-fill-hover: var(--pd-icon-fill);
162
+ --pd-icon-fill-active: var(--card-medium-green);
163
+ */
164
+ }
165
+
166
+ .readonly .switch-paddle pd-icon {
167
+ border-color: var(--pd-cb-border-col-readonly, transparent);
168
+ }
169
+
170
+ .readonly .isChecked.switch-paddle pd-icon {
171
+ transform: translate3d(0, 0, 0);
172
+ left: 0rem;
173
+ }
174
+
175
+ .isChecked.switch-paddle pd-icon {
176
+ left: 2.25rem;
177
+ }
178
+
179
+ @media (min-width: 580px) {
180
+ :host {
181
+ font-size: 1rem;
182
+ }
183
+ }
184
+ `
185
+ ];
186
+ }
187
+ render() {
188
+ if (!this._hasInnerSet) {
189
+ this._hasInnerSet = true;
190
+ this._hasInner = !!this.innerHTML.trim().length;
191
+ }
192
+ const checked = this.value === "true";
193
+ const classMapVal = { "disabled": this.disabled, "switch": this.isSwitch, "readonly": this.readonly, "div-container": true };
194
+ const aClassMap = { "switch-paddle": this.isSwitch, "checkbox": !this.isSwitch, "isChecked": checked, "isUnchecked": !checked };
195
+ const inputId = `${this.id}Check`;
196
+ return html`
197
+ ${this._renderLabel(inputId)}
198
+ <div @click="${this.onClick}" class="${o(classMapVal)}">
199
+ <a href="#" @click="${this.linkClick}" @keypress="${this.onKeyPress}" class="${o(aClassMap)}">
200
+ <pd-icon icon="${this.isSwitch ? "checkBox" : "checkBoxOnlyCheck"}" class="small" ?activeIcon="${checked}"></pd-icon>
201
+ </a>
202
+ ${this._hasInner ? html`
203
+ <span class="label">
204
+ <slot></slot>
205
+ </span>` : ""}
206
+ </div>
207
+ ${this._renderErrorMsg()}
208
+ `;
209
+ }
210
+ onClick(e) {
211
+ if (this.disabled || this.readonly) {
212
+ return;
213
+ }
214
+ const checked = this.value === "true";
215
+ this._handleChangedValue(checked ? "false" : "true", e);
216
+ }
217
+ onKeyPress(e) {
218
+ e.preventDefault();
219
+ if (e.keyCode === 32 || e.code === "Space") {
220
+ this.onClick(e);
221
+ }
222
+ }
223
+ // eslint-disable-next-line class-methods-use-this
224
+ linkClick(e) {
225
+ e.preventDefault();
226
+ }
227
+ }
228
+ export {
229
+ PdCheckbox
230
+ };
@@ -0,0 +1,167 @@
1
+ import { css, html } from "lit";
2
+ import { msg } from "@lit/localize";
3
+ import { INPUT_TYPE_RANGE, INPUT_TYPE_SELECT } from "./PdBaseUiInput.js";
4
+ import { PdBaseUI } from "./PdBaseUi.js";
5
+ /**
6
+ * @license
7
+ * Copyright (c) 2021 PD Progressive Development UG. All rights reserved.
8
+ *
9
+ * Lit element container for pd input elements.
10
+ *
11
+ * Used to:
12
+ * - Automatically validation of form content
13
+ * - Success/NotReady information for form-container
14
+ */
15
+ class PdFormContainer extends PdBaseUI {
16
+ static get styles() {
17
+ return [
18
+ PdBaseUI.styles,
19
+ css`
20
+ :host {
21
+ display: flex;
22
+ flex-direction: column;
23
+ align-items: left;
24
+ gap: 20px;
25
+ }
26
+
27
+ .validation-info-container {
28
+ padding-top: var(--pd-form-row-padding-top, 10px);
29
+ }
30
+
31
+ .validation-info {
32
+ font-family: var(--pd-default-font-content-family);
33
+ font-size: var(--pd-form-info-font-size, 0.8em);
34
+ padding: 0.5em;
35
+ color:#58585a;
36
+ border-radius: var(--pd-border-radius, 0);
37
+ -moz-border-radius: var(--pd-border-radius, 0);
38
+ width:70%;
39
+ max-width:780px;
40
+ min-width:200px;
41
+ }
42
+
43
+ .filled {
44
+ border-left: 4px solid var(--pd-default-success-col);
45
+ border-right: 4px solid var(--pd-default-success-col);
46
+ border-top: 1px solid var(--pd-default-success-col);
47
+ border-bottom: 1px solid var(--pd-default-success-col);
48
+ background-color: var(--pd-default-success-light-col);
49
+ }
50
+
51
+ .unfilled {
52
+ border-left: 4px solid var(--pd-default-error-col);
53
+ border-right: 4px solid var(--pd-default-error-col);
54
+ border-top: 1px solid var(--pd-default-error-col);
55
+ border-bottom: 1px solid var(--pd-default-error-col);
56
+ background-color: var(--pd-default-error-light-col);
57
+ }
58
+
59
+ `
60
+ ];
61
+ }
62
+ static get properties() {
63
+ return {
64
+ requiredFieldInfo: { type: Boolean },
65
+ commonError: { type: String },
66
+ _requiredFieldsValid: { type: Boolean, state: true }
67
+ };
68
+ }
69
+ connectedCallback() {
70
+ super.connectedCallback();
71
+ this.addEventListener("validate-form", this._validateForm);
72
+ }
73
+ disconnectedCallback() {
74
+ super.connectedCallback();
75
+ this.removeEventListener("validate-form", this._validateForm);
76
+ }
77
+ render() {
78
+ return html`
79
+ <form>
80
+ <slot></slot>
81
+ ${this.requiredFieldInfo || this.commonError ? html`
82
+ <div class="validation-info-container">
83
+ <p class="validation-info ${this._requiredFieldsValid && (!this.commonError || this.commonError === "") ? "filled" : "unfilled"}">
84
+ ${this.commonError || (this._requiredFieldsValid ? msg("* Pflichtfelder ausgefüllt", { desc: "#pd.form.required.valid#" }) : msg("* Pflichtfeld", { desc: "#pd.form.required.info#" }))}
85
+ </p>
86
+ </div>` : ""}
87
+ </form>
88
+ `;
89
+ }
90
+ _validateForm(e) {
91
+ const reqEl = this.querySelectorAll("[required]");
92
+ reqEl.forEach((el) => {
93
+ const tmpEl = el;
94
+ if (!el.value || el.value === "" || el.value === "false" || el._inputType === INPUT_TYPE_RANGE && el.value === "0" || el._inputType === INPUT_TYPE_SELECT && el.value === "UNDEF") {
95
+ const erMsg = el.requiredMsg || msg("Eingabe erforderlich", { desc: "#pd.form.field.required#" });
96
+ if (!e.detail.singleElement || e.detail.singleElement === el) {
97
+ tmpEl.errorMsg = erMsg;
98
+ }
99
+ e.detail.errorMap.set(el.id, erMsg);
100
+ } else if (el.validate && typeof el.validate === "function" && el.validate(e)) {
101
+ const errMsg = el.validate(e);
102
+ if (!e.detail.singleElement || e.detail.singleElement === el) {
103
+ tmpEl.errorMsg = errMsg;
104
+ }
105
+ e.detail.errorMap.set(el.id, errMsg);
106
+ } else if (!e.detail.singleElement || e.detail.singleElement === el) {
107
+ tmpEl.errorMsg = "";
108
+ }
109
+ });
110
+ this._requiredFieldsValid = e.detail.errorMap.size === 0;
111
+ const validateByType = (fieldType, validFunc, invalidMsgTxt) => {
112
+ if (e.detail.singleElement && e.detail.singleElement.getAttribute("field-type") !== fieldType) {
113
+ return;
114
+ }
115
+ const reqSpecEl = e.detail.singleElement ? [e.detail.singleElement] : this.querySelectorAll(`[field-type=${fieldType}]`);
116
+ reqSpecEl.forEach((el) => {
117
+ const tmpEl = el;
118
+ if (!e.detail.errorMap.has(el.id) && el.value && el.value.length > 0) {
119
+ if (validFunc(el.value)) {
120
+ tmpEl.errorMsg = "";
121
+ } else {
122
+ tmpEl.errorMsg = invalidMsgTxt || `Invalid format for ${fieldType}`;
123
+ e.detail.errorMap.set(el.id, tmpEl.errorMsg);
124
+ }
125
+ }
126
+ });
127
+ };
128
+ validateByType(
129
+ "mail",
130
+ PdFormContainer._mailIsValid,
131
+ msg("Format mail@test.de verwenden", { desc: "#pd.form.field.invalid.mail#" })
132
+ );
133
+ validateByType(
134
+ "phone",
135
+ PdFormContainer._phoneIsValid,
136
+ msg("Format +49123 123456 verwenden", { desc: "#pd.form.field.invalid.phone#" })
137
+ );
138
+ validateByType(
139
+ "vat",
140
+ PdFormContainer._vatIsValid,
141
+ msg("Format DE0123456789 verwenden", { desc: "#pd.form.field.invalid.vat#" })
142
+ );
143
+ validateByType(
144
+ "number",
145
+ (val) => !isNaN(val),
146
+ msg("Nur Zahlen erlaubt", { desc: "#pd.form.field.invalid.number#" })
147
+ );
148
+ if (e.detail.singleElement) {
149
+ e.stopPropagation();
150
+ }
151
+ }
152
+ static _mailIsValid(email) {
153
+ const mValid = /^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(email);
154
+ return mValid;
155
+ }
156
+ static _vatIsValid(vat) {
157
+ const mValid = /^[A-Z]{2}[0-9]{8,12}$/.test(vat);
158
+ return mValid;
159
+ }
160
+ static _phoneIsValid(nr) {
161
+ const mValid = /^\+?[0-9 ]{7,15}$/.test(nr);
162
+ return mValid;
163
+ }
164
+ }
165
+ export {
166
+ PdFormContainer
167
+ };