@progressive-development/pd-spa-helper 0.7.6 → 0.8.1-a

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 (174) hide show
  1. package/dist/PdSpaHelper.d.ts +13 -18
  2. package/dist/PdSpaHelper.d.ts.map +1 -1
  3. package/dist/{src/PdSpaHelper.js → PdSpaHelper.js} +191 -190
  4. package/dist/defaultpage/default-confirm-popup.d.ts.map +1 -1
  5. package/dist/{src/defaultpage → defaultpage}/default-confirm-popup.js +7 -7
  6. package/dist/defaultpage/default-dialog-popup.d.ts.map +1 -1
  7. package/dist/{src/defaultpage → defaultpage}/default-dialog-popup.js +16 -18
  8. package/dist/defaultpage/default-login.d.ts.map +1 -1
  9. package/dist/{src/defaultpage → defaultpage}/default-login.js +4 -6
  10. package/dist/defaultpage/default-popup.d.ts.map +1 -1
  11. package/dist/{src/defaultpage → defaultpage}/default-popup.js +1 -3
  12. package/dist/defaultpage/default-step-address.d.ts.map +1 -1
  13. package/dist/{src/defaultpage → defaultpage}/default-step-address.js +5 -7
  14. package/dist/defaultpage/default-step-summary.d.ts.map +1 -1
  15. package/dist/{src/defaultpage → defaultpage}/default-step-summary.js +8 -6
  16. package/dist/defaultpage/default-view-page.d.ts.map +1 -1
  17. package/dist/{src/defaultpage → defaultpage}/default-view-page.js +0 -2
  18. package/dist/defaultpage/default-wizard-step.d.ts.map +1 -1
  19. package/dist/{src/defaultpage → defaultpage}/default-wizard-step.js +6 -8
  20. package/dist/defaultpage/default-wizard.d.ts.map +1 -1
  21. package/dist/{src/defaultpage → defaultpage}/default-wizard.js +34 -14
  22. package/dist/generated/locale-codes.d.ts.map +1 -1
  23. package/dist/generated/locale-wrapper/be-wrapper.d.ts +54 -13
  24. package/dist/generated/locale-wrapper/be-wrapper.d.ts.map +1 -1
  25. package/dist/generated/locale-wrapper/be-wrapper.js +19 -0
  26. package/dist/generated/locale-wrapper/de-wrapper.d.ts +54 -13
  27. package/dist/generated/locale-wrapper/de-wrapper.d.ts.map +1 -1
  28. package/dist/generated/locale-wrapper/de-wrapper.js +19 -0
  29. package/dist/generated/locale-wrapper/en-wrapper.d.ts +54 -13
  30. package/dist/generated/locale-wrapper/en-wrapper.d.ts.map +1 -1
  31. package/dist/generated/locale-wrapper/en-wrapper.js +19 -0
  32. package/dist/generated/locales/be.d.ts +13 -13
  33. package/dist/generated/locales/be.d.ts.map +1 -1
  34. package/dist/generated/locales/de.d.ts +13 -13
  35. package/dist/generated/locales/de.d.ts.map +1 -1
  36. package/dist/generated/locales/en.d.ts +13 -13
  37. package/dist/generated/locales/en.d.ts.map +1 -1
  38. package/dist/helper/blob-helper.d.ts +3 -0
  39. package/dist/helper/blob-helper.d.ts.map +1 -0
  40. package/dist/helper/blob-helper.js +37 -0
  41. package/dist/helper/date-helper.d.ts +27 -0
  42. package/dist/helper/date-helper.d.ts.map +1 -0
  43. package/dist/helper/date-helper.js +137 -0
  44. package/dist/helper/locale-format.d.ts +4 -0
  45. package/dist/helper/locale-format.d.ts.map +1 -0
  46. package/dist/helper/locale-format.js +19 -0
  47. package/dist/helper/number-helper.d.ts +2 -0
  48. package/dist/helper/number-helper.d.ts.map +1 -0
  49. package/dist/helper/number-helper.js +14 -0
  50. package/dist/helper/offline-watcher-helper.d.ts +3 -0
  51. package/dist/helper/offline-watcher-helper.d.ts.map +1 -0
  52. package/dist/{src/helper/helper-utils.js → helper/offline-watcher-helper.js} +1 -17
  53. package/dist/helper/price-helper.d.ts +5 -0
  54. package/dist/helper/price-helper.d.ts.map +1 -0
  55. package/dist/helper/price-helper.js +25 -0
  56. package/dist/helper/refresh-id-token.d.ts.map +1 -1
  57. package/dist/{src/helper → helper}/refresh-id-token.js +3 -1
  58. package/dist/helper/text-helper.d.ts +3 -0
  59. package/dist/helper/text-helper.d.ts.map +1 -0
  60. package/dist/helper/text-helper.js +6 -0
  61. package/dist/index.d.ts +8 -4
  62. package/dist/index.d.ts.map +1 -1
  63. package/dist/index.js +44 -32
  64. package/dist/model/spa-model.d.ts +1 -0
  65. package/dist/model/spa-model.d.ts.map +1 -1
  66. package/dist/{src/model → model}/spa-model.js +3 -1
  67. package/dist/popup/wizard-close-popup.d.ts.map +1 -1
  68. package/dist/{src/popup → popup}/wizard-close-popup.js +11 -5
  69. package/dist/popup/wizard-reload-popup.d.ts.map +1 -1
  70. package/dist/{src/popup → popup}/wizard-reload-popup.js +9 -6
  71. package/dist/router/PdRouterService.d.ts +28 -0
  72. package/dist/router/PdRouterService.d.ts.map +1 -0
  73. package/dist/router/PdRouterService.js +112 -0
  74. package/dist/router/rout-types.d.ts +17 -0
  75. package/dist/router/rout-types.d.ts.map +1 -0
  76. package/dist/service-provider/firebase/auth.d.ts +2 -2
  77. package/dist/service-provider/firebase/auth.d.ts.map +1 -1
  78. package/dist/service-provider/firebase/firestorage-client.d.ts.map +1 -1
  79. package/dist/{src/service-provider → service-provider}/firebase/firestorage-client.js +33 -12
  80. package/dist/service-provider/firebase/firestore-client.d.ts +1 -1
  81. package/dist/service-provider/firebase/firestore-client.d.ts.map +1 -1
  82. package/dist/{src/service-provider → service-provider}/firebase/firestore-client.js +7 -5
  83. package/dist/service-provider/firebase/functions-client.d.ts.map +1 -1
  84. package/dist/{src/service-provider → service-provider}/firebase/functions-client.js +11 -9
  85. package/dist/service-provider/firebase/messagingFirebaseClient.d.ts.map +1 -1
  86. package/dist/{src/service-provider → service-provider}/firebase/messagingFirebaseClient.js +9 -10
  87. package/dist/service-provider/mock/auth.d.ts +1 -1
  88. package/dist/service-provider/mock/auth.d.ts.map +1 -1
  89. package/dist/service-provider/mock/function-client.d.ts +1 -3
  90. package/dist/service-provider/mock/function-client.d.ts.map +1 -1
  91. package/dist/service-provider/mock/storage-client.d.ts.map +1 -1
  92. package/dist/{src/service-provider → service-provider}/mock/storage-client.js +21 -9
  93. package/dist/service-provider/service-provider-impl.d.ts +2 -4
  94. package/dist/service-provider/service-provider-impl.d.ts.map +1 -1
  95. package/dist/{src/service-provider → service-provider}/service-provider-impl.js +19 -18
  96. package/dist/service-provider/service-provider-model.d.ts +7 -8
  97. package/dist/service-provider/service-provider-model.d.ts.map +1 -1
  98. package/dist/store/indexDB.d.ts.map +1 -1
  99. package/dist/store/mini-rx.store.d.ts.map +1 -1
  100. package/dist/store/spa-app-actions.d.ts +2 -2
  101. package/dist/store/spa-app-actions.d.ts.map +1 -1
  102. package/dist/store/spa-app-actions.js +51 -0
  103. package/dist/store/spa-app-effects.d.ts +2 -2
  104. package/dist/store/spa-app-effects.d.ts.map +1 -1
  105. package/dist/{src/store → store}/spa-app-effects.js +19 -15
  106. package/dist/store/spa-app-reducer.d.ts.map +1 -1
  107. package/dist/{src/store → store}/spa-app-reducer.js +5 -9
  108. package/dist/store/spa-app-selector.d.ts.map +1 -1
  109. package/dist/stories/address-edit.stories.d.ts +1 -1
  110. package/dist/stories/address-edit.stories.d.ts.map +1 -1
  111. package/dist/stories/address-new.stories.d.ts +1 -1
  112. package/dist/stories/address-new.stories.d.ts.map +1 -1
  113. package/dist/stories/pd-loading-state.stories.d.ts +1 -1
  114. package/dist/stories/pd-loading-state.stories.d.ts.map +1 -1
  115. package/dist/stories/pd-toast.stories.d.ts +1 -1
  116. package/dist/stories/pd-toast.stories.d.ts.map +1 -1
  117. package/dist/stories/routing.stories.d.ts +24 -0
  118. package/dist/stories/routing.stories.d.ts.map +1 -0
  119. package/dist/stories/test-impls/test-mock-app.d.ts +15 -0
  120. package/dist/stories/test-impls/test-mock-app.d.ts.map +1 -0
  121. package/dist/stories/test-impls/test-pages/test-home-page.d.ts +7 -0
  122. package/dist/stories/test-impls/test-pages/test-home-page.d.ts.map +1 -0
  123. package/dist/stories/test-impls/test-pages/test-not-found-page.d.ts +5 -0
  124. package/dist/stories/test-impls/test-pages/test-not-found-page.d.ts.map +1 -0
  125. package/dist/tmpown/pd-loading-state.d.ts.map +1 -1
  126. package/dist/{src/tmpown → tmpown}/pd-loading-state.js +60 -43
  127. package/dist/tmpown/pd-login.d.ts.map +1 -1
  128. package/dist/{src/tmpown → tmpown}/pd-login.js +58 -45
  129. package/dist/tmpown/pd-toast.d.ts.map +1 -1
  130. package/dist/{src/tmpown → tmpown}/pd-toast.js +23 -20
  131. package/package.json +36 -73
  132. package/dist/helper/helper-utils.d.ts +0 -6
  133. package/dist/helper/helper-utils.d.ts.map +0 -1
  134. package/dist/node_modules/@progressive-development/pd-shared-styles/src/shared-color-styles.js +0 -30
  135. package/dist/node_modules/@progressive-development/pd-shared-styles/src/shared-font-styles.js +0 -32
  136. package/dist/pd-icon-panel-button.d.ts +0 -2
  137. package/dist/pd-icon-panel-button.js +0 -231
  138. package/dist/pd-panel-viewer.d.ts +0 -2
  139. package/dist/pd-panel-viewer.js +0 -187
  140. package/dist/pd-panel.d.ts +0 -2
  141. package/dist/pd-panel.js +0 -48
  142. package/dist/pd-tab.d.ts +0 -2
  143. package/dist/pd-tab.js +0 -146
  144. package/dist/router/AppMain.d.ts +0 -7
  145. package/dist/router/AppMain.d.ts.map +0 -1
  146. package/dist/service-call-controller2.d.ts +0 -17
  147. package/dist/service-call-controller2.d.ts.map +0 -1
  148. package/dist/src/generated/locale-wrapper/be-wrapper.js +0 -17
  149. package/dist/src/generated/locale-wrapper/de-wrapper.js +0 -17
  150. package/dist/src/generated/locale-wrapper/en-wrapper.js +0 -17
  151. package/dist/src/router/AppMain.js +0 -22
  152. package/dist/src/store/spa-app-actions.js +0 -27
  153. package/dist/stories/pd-icon-button.stories.d.ts +0 -30
  154. package/dist/stories/pd-icon-button.stories.d.ts.map +0 -1
  155. package/dist/tmpown/pd-icon-panel-button.d.ts +0 -17
  156. package/dist/tmpown/pd-icon-panel-button.d.ts.map +0 -1
  157. package/dist/tmpown/pd-panel-viewer.d.ts +0 -17
  158. package/dist/tmpown/pd-panel-viewer.d.ts.map +0 -1
  159. package/dist/tmpown/pd-panel.d.ts +0 -6
  160. package/dist/tmpown/pd-panel.d.ts.map +0 -1
  161. package/dist/tmpown/pd-tab.d.ts +0 -19
  162. package/dist/tmpown/pd-tab.d.ts.map +0 -1
  163. package/dist/tmpown/pd-tab.stories.d.ts +0 -23
  164. package/dist/tmpown/pd-tab.stories.d.ts.map +0 -1
  165. /package/dist/{src/generated → generated}/locales/be.js +0 -0
  166. /package/dist/{src/generated → generated}/locales/de.js +0 -0
  167. /package/dist/{src/generated → generated}/locales/en.js +0 -0
  168. /package/dist/{src/service-provider → service-provider}/firebase/auth.js +0 -0
  169. /package/dist/{src/service-provider → service-provider}/mock/auth.js +0 -0
  170. /package/dist/{src/service-provider → service-provider}/mock/function-client.js +0 -0
  171. /package/dist/{src/service-provider → service-provider}/service-provider-model.js +0 -0
  172. /package/dist/{src/store → store}/indexDB.js +0 -0
  173. /package/dist/{src/store → store}/mini-rx.store.js +0 -0
  174. /package/dist/{src/store → store}/spa-app-selector.js +0 -0
@@ -0,0 +1,19 @@
1
+ import { enTemplates as enTemplates$3 } from "@progressive-development/pd-wizard";
2
+ import { enTemplates as enTemplates$2 } from "@progressive-development/pd-page";
3
+ import { enTemplates as enTemplates$1 } from "@progressive-development/pd-content";
4
+ import { enTemplates } from "@progressive-development/pd-forms";
5
+ import { enTemplates as enTemplates$4 } from "@progressive-development/pd-order";
6
+ import { enTemplates as enTemplates$5 } from "@progressive-development/pd-dialog";
7
+ import { templates as templates$1 } from "../locales/en.js";
8
+ const templates = {
9
+ ...templates$1,
10
+ ...enTemplates$5,
11
+ ...enTemplates$4,
12
+ ...enTemplates$3,
13
+ ...enTemplates$2,
14
+ ...enTemplates$1,
15
+ ...enTemplates
16
+ };
17
+ export {
18
+ templates
19
+ };
@@ -1,16 +1,16 @@
1
1
  export declare const templates: {
2
- 'spaH.loadingstate.pleaseWait': string;
3
- 'spaH.loadingstate.syncState': string;
4
- 'spaH.wizard.close.popup.cancel': string;
5
- 'spaH.wizard.close.popup.ok': string;
6
- 'spaH.wizard.close.popup.storage.content': string;
7
- 'spaH.wizard.close.popup.title': string;
8
- 'spaH.wizard.reload.popup.cancel': string;
9
- 'spaH.wizard.reload.popup.content': string;
10
- 'spaH.wizard.reload.popup.noStorage.content': string;
11
- 'spaH.wizard.reload.popup.ok': string;
12
- 'spaH.wizard.reload.popup.title': string;
13
- 'spaH.wizard.storage.close.popup.cancel': string;
14
- 'spaH.wizard.storage.close.popup.ok': string;
2
+ "spaH.loadingstate.pleaseWait": string;
3
+ "spaH.loadingstate.syncState": string;
4
+ "spaH.wizard.close.popup.cancel": string;
5
+ "spaH.wizard.close.popup.ok": string;
6
+ "spaH.wizard.close.popup.storage.content": string;
7
+ "spaH.wizard.close.popup.title": string;
8
+ "spaH.wizard.reload.popup.cancel": string;
9
+ "spaH.wizard.reload.popup.content": string;
10
+ "spaH.wizard.reload.popup.noStorage.content": string;
11
+ "spaH.wizard.reload.popup.ok": string;
12
+ "spaH.wizard.reload.popup.title": string;
13
+ "spaH.wizard.storage.close.popup.cancel": string;
14
+ "spaH.wizard.storage.close.popup.ok": string;
15
15
  };
16
16
  //# sourceMappingURL=be.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"be.d.ts","sourceRoot":"","sources":["../../../src/generated/locales/be.ts"],"names":[],"mappings":"AAUI,eAAO,MAAM,SAAS;;;;;;;;;;;;;;CAcrB,CAAC"}
1
+ {"version":3,"file":"be.d.ts","sourceRoot":"","sources":["../../../src/generated/locales/be.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,SAAS;;;;;;;;;;;;;;CAcrB,CAAC"}
@@ -1,16 +1,16 @@
1
1
  export declare const templates: {
2
- 'spaH.loadingstate.syncState': string;
3
- 'spaH.loadingstate.pleaseWait': string;
4
- 'spaH.wizard.reload.popup.title': string;
5
- 'spaH.wizard.reload.popup.content': string;
6
- 'spaH.wizard.close.popup.title': string;
7
- 'spaH.wizard.close.popup.storage.content': string;
8
- 'spaH.wizard.reload.popup.noStorage.content': string;
9
- 'spaH.wizard.reload.popup.ok': string;
10
- 'spaH.wizard.reload.popup.cancel': string;
11
- 'spaH.wizard.storage.close.popup.ok': string;
12
- 'spaH.wizard.storage.close.popup.cancel': string;
13
- 'spaH.wizard.close.popup.ok': string;
14
- 'spaH.wizard.close.popup.cancel': string;
2
+ "spaH.loadingstate.syncState": string;
3
+ "spaH.loadingstate.pleaseWait": string;
4
+ "spaH.wizard.reload.popup.title": string;
5
+ "spaH.wizard.reload.popup.content": string;
6
+ "spaH.wizard.close.popup.title": string;
7
+ "spaH.wizard.close.popup.storage.content": string;
8
+ "spaH.wizard.reload.popup.noStorage.content": string;
9
+ "spaH.wizard.reload.popup.ok": string;
10
+ "spaH.wizard.reload.popup.cancel": string;
11
+ "spaH.wizard.storage.close.popup.ok": string;
12
+ "spaH.wizard.storage.close.popup.cancel": string;
13
+ "spaH.wizard.close.popup.ok": string;
14
+ "spaH.wizard.close.popup.cancel": string;
15
15
  };
16
16
  //# sourceMappingURL=de.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"de.d.ts","sourceRoot":"","sources":["../../../src/generated/locales/de.ts"],"names":[],"mappings":"AAUI,eAAO,MAAM,SAAS;;;;;;;;;;;;;;CAcrB,CAAC"}
1
+ {"version":3,"file":"de.d.ts","sourceRoot":"","sources":["../../../src/generated/locales/de.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,SAAS;;;;;;;;;;;;;;CAcrB,CAAC"}
@@ -1,16 +1,16 @@
1
1
  export declare const templates: {
2
- 'spaH.wizard.close.popup.cancel': string;
3
- 'spaH.wizard.close.popup.ok': string;
4
- 'spaH.wizard.close.popup.storage.content': string;
5
- 'spaH.wizard.close.popup.title': string;
6
- 'spaH.wizard.reload.popup.cancel': string;
7
- 'spaH.wizard.reload.popup.content': string;
8
- 'spaH.wizard.reload.popup.noStorage.content': string;
9
- 'spaH.wizard.reload.popup.ok': string;
10
- 'spaH.wizard.reload.popup.title': string;
11
- 'spaH.wizard.storage.close.popup.cancel': string;
12
- 'spaH.wizard.storage.close.popup.ok': string;
13
- 'spaH.loadingstate.syncState': string;
14
- 'spaH.loadingstate.pleaseWait': string;
2
+ "spaH.wizard.close.popup.cancel": string;
3
+ "spaH.wizard.close.popup.ok": string;
4
+ "spaH.wizard.close.popup.storage.content": string;
5
+ "spaH.wizard.close.popup.title": string;
6
+ "spaH.wizard.reload.popup.cancel": string;
7
+ "spaH.wizard.reload.popup.content": string;
8
+ "spaH.wizard.reload.popup.noStorage.content": string;
9
+ "spaH.wizard.reload.popup.ok": string;
10
+ "spaH.wizard.reload.popup.title": string;
11
+ "spaH.wizard.storage.close.popup.cancel": string;
12
+ "spaH.wizard.storage.close.popup.ok": string;
13
+ "spaH.loadingstate.syncState": string;
14
+ "spaH.loadingstate.pleaseWait": string;
15
15
  };
16
16
  //# sourceMappingURL=en.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"en.d.ts","sourceRoot":"","sources":["../../../src/generated/locales/en.ts"],"names":[],"mappings":"AAUI,eAAO,MAAM,SAAS;;;;;;;;;;;;;;CAcrB,CAAC"}
1
+ {"version":3,"file":"en.d.ts","sourceRoot":"","sources":["../../../src/generated/locales/en.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,SAAS;;;;;;;;;;;;;;CAcrB,CAAC"}
@@ -0,0 +1,3 @@
1
+ export declare const blobToBase64: (blob: Blob, type: "png" | "pdf" | "image", otherType?: string) => Promise<string>;
2
+ export declare function base64ToUint8Array(base64: string): Uint8Array<ArrayBuffer>;
3
+ //# sourceMappingURL=blob-helper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"blob-helper.d.ts","sourceRoot":"","sources":["../../src/helper/blob-helper.ts"],"names":[],"mappings":"AASA,eAAO,MAAM,YAAY,GACvB,MAAM,IAAI,EACV,MAAM,KAAK,GAAG,KAAK,GAAG,OAAO,EAC7B,YAAY,MAAM,oBAYnB,CAAC;AASF,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,2BAQhD"}
@@ -0,0 +1,37 @@
1
+ function arrayBufferToBase64(buffer) {
2
+ let binary = "";
3
+ const bytes = [].slice.call(new Uint8Array(buffer));
4
+ bytes.forEach((b) => binary += String.fromCharCode(b));
5
+ return window.btoa(binary);
6
+ }
7
+ const blobToBase64 = async (blob, type, otherType) => {
8
+ let base64Flag = "";
9
+ if (type === "png") {
10
+ base64Flag = "data:image/png;base64,";
11
+ } else if (type === "pdf") {
12
+ base64Flag = "data:application/pdf;base64,";
13
+ } else if (type === "image") {
14
+ base64Flag = `data:${otherType};base64,`;
15
+ }
16
+ const imageStr = arrayBufferToBase64(await blob.arrayBuffer());
17
+ return base64Flag + imageStr;
18
+ };
19
+ function cleanBase64(fileContent) {
20
+ if (fileContent.startsWith("data:")) {
21
+ return fileContent.replace(/^data:.*;base64,/, "");
22
+ }
23
+ return fileContent;
24
+ }
25
+ function base64ToUint8Array(base64) {
26
+ const binaryString = atob(cleanBase64(base64));
27
+ const len = binaryString.length;
28
+ const bytes = new Uint8Array(len);
29
+ for (let i = 0; i < len; i += 1) {
30
+ bytes[i] = binaryString.charCodeAt(i);
31
+ }
32
+ return bytes;
33
+ }
34
+ export {
35
+ base64ToUint8Array,
36
+ blobToBase64
37
+ };
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Hilfsfunktion, um die Anzahl der Wochen zwischen dem billingDate und dem dueDate zu berechnen.
3
+ * Akzeptiert sowohl Date- als auch string-Werte.
4
+ *
5
+ * @param {Date | string} billingDate - Das Rechnungsdatum, entweder als Date oder string.
6
+ * @param {Date | string} dueDate - Das Fälligkeitsdatum, entweder als Date oder string.
7
+ * @return {string} - Die Anzahl der Wochen als string ('1', '2', '3', '4'), oder '1' als Standardwert.
8
+ */
9
+ export declare const calculateDueWeeks: (billingDate: Date | string, dueDate: Date | string) => string;
10
+ export declare const minutesToIndustrialHours: (minutes: number) => number;
11
+ export declare const industrialHoursToMinutes: (hours: number) => number;
12
+ /**
13
+ * Berechnet die Dauer in Minuten zwischen zwei Zeitpunkten.
14
+ * Akzeptiert sowohl `Date`- als auch ISO-String-Werte.
15
+ *
16
+ * @param {Date | string | undefined} start - Startzeitpunkt
17
+ * @param {Date | string | undefined} end - Endzeitpunkt
18
+ * @returns {number} - Dauer in Minuten, oder 0 wenn ungültig
19
+ */
20
+ export declare const calculateDurationInMinutes: (start?: Date | string, end?: Date | string) => number;
21
+ export declare const formatToTime: (date?: Date | string | number, emptyResult?: string) => string;
22
+ export declare const formatShortDate: (date: Date | string | number | undefined, withTime: boolean) => string;
23
+ export declare function toISODateTime(dateObj: Date, timeStr: string): string;
24
+ export declare function formatDateTime(date: Date | string | number | undefined, withTime: boolean): string;
25
+ export declare const formatMonth: (date: Date | string | number | undefined, withYear?: boolean) => string;
26
+ export declare const getUTCFromDatepickerString: (dateString: string) => string;
27
+ //# sourceMappingURL=date-helper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"date-helper.d.ts","sourceRoot":"","sources":["../../src/helper/date-helper.ts"],"names":[],"mappings":"AAIA;;;;;;;GAOG;AACH,eAAO,MAAM,iBAAiB,GAC5B,aAAa,IAAI,GAAG,MAAM,EAC1B,SAAS,IAAI,GAAG,MAAM,KACrB,MAsBF,CAAC;AAEF,eAAO,MAAM,wBAAwB,GAAI,SAAS,MAAM,KAAG,MAK1D,CAAC;AAEF,eAAO,MAAM,wBAAwB,GAAI,OAAO,MAAM,KAAG,MAKxD,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,0BAA0B,GACrC,QAAQ,IAAI,GAAG,MAAM,EACrB,MAAM,IAAI,GAAG,MAAM,KAClB,MAKF,CAAC;AAEF,eAAO,MAAM,YAAY,GACvB,OAAO,IAAI,GAAG,MAAM,GAAG,MAAM,EAC7B,cAAc,MAAM,WAmBrB,CAAC;AAEF,eAAO,MAAM,eAAe,GAC1B,MAAM,IAAI,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,EACxC,UAAU,OAAO,WA4BlB,CAAC;AAEF,wBAAgB,aAAa,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAUpE;AAED,wBAAgB,cAAc,CAC5B,IAAI,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,EACxC,QAAQ,EAAE,OAAO,GAChB,MAAM,CA6BR;AAED,eAAO,MAAM,WAAW,GACtB,MAAM,IAAI,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,EACxC,WAAW,OAAO,WAuBnB,CAAC;AAGF,eAAO,MAAM,0BAA0B,GAAI,YAAY,MAAM,KAAG,MAI/D,CAAC"}
@@ -0,0 +1,137 @@
1
+ import { parse } from "date-fns";
2
+ import { UNDEF } from "../model/spa-model.js";
3
+ import { getCurrentFormatLocale, getCurrentTimeZone } from "./locale-format.js";
4
+ const calculateDueWeeks = (billingDate, dueDate) => {
5
+ const billingDateObj = typeof billingDate === "string" ? new Date(billingDate) : billingDate;
6
+ const dueDateObj = typeof dueDate === "string" ? new Date(dueDate) : dueDate;
7
+ const MS_PER_WEEK = 1e3 * 60 * 60 * 24 * 7;
8
+ const diffInMs = dueDateObj.getTime() - billingDateObj.getTime();
9
+ const weeks = Math.round(diffInMs / MS_PER_WEEK);
10
+ if (weeks >= 1 && weeks <= 4) {
11
+ return weeks.toString();
12
+ }
13
+ return UNDEF;
14
+ };
15
+ const minutesToIndustrialHours = (minutes) => {
16
+ if (typeof minutes !== "number" || isNaN(minutes) || minutes <= 0) {
17
+ return 0;
18
+ }
19
+ return Math.round(minutes / 60 * 100) / 100;
20
+ };
21
+ const industrialHoursToMinutes = (hours) => {
22
+ if (typeof hours !== "number" || isNaN(hours) || hours <= 0) {
23
+ return 0;
24
+ }
25
+ return Math.round(hours * 60);
26
+ };
27
+ const calculateDurationInMinutes = (start, end) => {
28
+ if (!start || !end) return 0;
29
+ const startDate = typeof start === "string" ? new Date(start) : start;
30
+ const endDate = typeof end === "string" ? new Date(end) : end;
31
+ return (endDate.getTime() - startDate.getTime()) / (1e3 * 60);
32
+ };
33
+ const formatToTime = (date, emptyResult) => {
34
+ let resultStr = emptyResult !== void 0 ? emptyResult : "--";
35
+ try {
36
+ if (date !== void 0 && date !== null) {
37
+ const usedDate = typeof date === "string" || typeof date === "number" ? new Date(date) : date;
38
+ resultStr = usedDate.toLocaleTimeString(getCurrentFormatLocale(), {
39
+ hour: "2-digit",
40
+ minute: "2-digit",
41
+ timeZone: getCurrentTimeZone()
42
+ });
43
+ }
44
+ } catch (error) {
45
+ console.error("Failed calll", date, error);
46
+ }
47
+ return resultStr;
48
+ };
49
+ const formatShortDate = (date, withTime) => {
50
+ let resultStr = "--";
51
+ if (date) {
52
+ const usedDate = typeof date === "string" || typeof date === "number" ? new Date(date) : date;
53
+ resultStr = usedDate.toLocaleDateString(
54
+ getCurrentFormatLocale(),
55
+ withTime ? {
56
+ day: "2-digit",
57
+ month: "2-digit",
58
+ year: "numeric",
59
+ hour: "2-digit",
60
+ minute: "2-digit",
61
+ timeZone: getCurrentTimeZone()
62
+ } : {
63
+ day: "2-digit",
64
+ month: "2-digit",
65
+ year: "numeric",
66
+ timeZone: getCurrentTimeZone()
67
+ }
68
+ );
69
+ }
70
+ return resultStr;
71
+ };
72
+ function toISODateTime(dateObj, timeStr) {
73
+ const [hours, minutes] = timeStr.split(":").map(Number);
74
+ const newDate = new Date(dateObj);
75
+ newDate.setHours(hours, minutes, 0, 0);
76
+ return newDate.toISOString();
77
+ }
78
+ function formatDateTime(date, withTime) {
79
+ let resultStr = "--";
80
+ if (date) {
81
+ const usedDate = typeof date === "string" || typeof date === "number" ? new Date(date) : date;
82
+ resultStr = usedDate.toLocaleDateString(
83
+ getCurrentFormatLocale(),
84
+ withTime ? {
85
+ weekday: "long",
86
+ year: "numeric",
87
+ month: "long",
88
+ day: "numeric",
89
+ hour: "2-digit",
90
+ minute: "2-digit",
91
+ timeZone: getCurrentTimeZone()
92
+ } : {
93
+ weekday: "long",
94
+ year: "numeric",
95
+ month: "long",
96
+ day: "numeric",
97
+ timeZone: getCurrentTimeZone()
98
+ }
99
+ );
100
+ }
101
+ return resultStr;
102
+ }
103
+ const formatMonth = (date, withYear) => {
104
+ let resultStr = "--";
105
+ if (date) {
106
+ const usedDate = typeof date === "string" || typeof date === "number" ? new Date(date) : date;
107
+ resultStr = usedDate.toLocaleDateString(
108
+ getCurrentFormatLocale(),
109
+ withYear ? {
110
+ month: "long",
111
+ year: "numeric",
112
+ timeZone: getCurrentTimeZone()
113
+ } : {
114
+ month: "long",
115
+ timeZone: getCurrentTimeZone()
116
+ }
117
+ );
118
+ }
119
+ return resultStr;
120
+ };
121
+ const dateFormatWithoutTime = "dd/MM/yyyy";
122
+ const getUTCFromDatepickerString = (dateString) => {
123
+ const parsedDate = parse(dateString, dateFormatWithoutTime, /* @__PURE__ */ new Date());
124
+ return parsedDate.toUTCString();
125
+ };
126
+ export {
127
+ calculateDueWeeks,
128
+ calculateDurationInMinutes,
129
+ formatDateTime,
130
+ formatMonth,
131
+ formatShortDate,
132
+ formatToTime,
133
+ getUTCFromDatepickerString,
134
+ industrialHoursToMinutes,
135
+ minutesToIndustrialHours,
136
+ toISODateTime
137
+ };
@@ -0,0 +1,4 @@
1
+ export declare const getCurrentFormatLocale: () => string;
2
+ export declare const getCurrentTimeZone: () => string;
3
+ export declare const setCurrentFormatLocale: (localeKey: string) => void;
4
+ //# sourceMappingURL=locale-format.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"locale-format.d.ts","sourceRoot":"","sources":["../../src/helper/locale-format.ts"],"names":[],"mappings":"AAcA,eAAO,MAAM,sBAAsB,QAAO,MAAuB,CAAC;AAClE,eAAO,MAAM,kBAAkB,QAAO,MAAyB,CAAC;AAEhE,eAAO,MAAM,sBAAsB,GAAI,WAAW,MAAM,KAAG,IAI1D,CAAC"}
@@ -0,0 +1,19 @@
1
+ const settingsMap = {
2
+ be: { locale: "nl-BE", timeZone: "Europe/Brussels" },
3
+ en: { locale: "en-GB", timeZone: "Europe/London" },
4
+ de: { locale: "de-DE", timeZone: "Europe/Berlin" }
5
+ };
6
+ let currentLocale = "de-DE";
7
+ let currentTimeZone = "Europe/Berlin";
8
+ const getCurrentFormatLocale = () => currentLocale;
9
+ const getCurrentTimeZone = () => currentTimeZone;
10
+ const setCurrentFormatLocale = (localeKey) => {
11
+ const settings = settingsMap[localeKey] ?? settingsMap["de"];
12
+ currentLocale = settings.locale;
13
+ currentTimeZone = settings.timeZone;
14
+ };
15
+ export {
16
+ getCurrentFormatLocale,
17
+ getCurrentTimeZone,
18
+ setCurrentFormatLocale
19
+ };
@@ -0,0 +1,2 @@
1
+ export declare const isValidNumber: (value: string) => boolean;
2
+ //# sourceMappingURL=number-helper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"number-helper.d.ts","sourceRoot":"","sources":["../../src/helper/number-helper.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa,GAAI,OAAO,MAAM,KAAG,OAU7C,CAAC"}
@@ -0,0 +1,14 @@
1
+ const isValidNumber = (value) => {
2
+ if (!value) {
3
+ return false;
4
+ }
5
+ try {
6
+ const numberValue = Number(value);
7
+ return !Number.isNaN(numberValue);
8
+ } catch (e) {
9
+ return false;
10
+ }
11
+ };
12
+ export {
13
+ isValidNumber
14
+ };
@@ -0,0 +1,3 @@
1
+ export declare const deactivateOfflineWatcher: () => void;
2
+ export declare const activateOfflineWatcher: (firstCall: boolean) => void;
3
+ //# sourceMappingURL=offline-watcher-helper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"offline-watcher-helper.d.ts","sourceRoot":"","sources":["../../src/helper/offline-watcher-helper.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,wBAAwB,YAGpC,CAAC;AAEF,eAAO,MAAM,sBAAsB,GAAI,WAAW,OAAO,SAOxD,CAAC"}
@@ -1,7 +1,5 @@
1
1
  import { pdStore } from "../store/mini-rx.store.js";
2
2
  import { updateInternetOffline } from "../store/spa-app-actions.js";
3
- const isEmpty = (field) => !field || field === "";
4
- const isBlank = (field) => !field || isEmpty(field.trim());
5
3
  const handleOnlineEvent = () => pdStore().dispatch(updateInternetOffline(false));
6
4
  const handleOfflineEvent = () => pdStore().dispatch(updateInternetOffline(true));
7
5
  const deactivateOfflineWatcher = () => {
@@ -15,21 +13,7 @@ const activateOfflineWatcher = (firstCall) => {
15
13
  pdStore().dispatch(updateInternetOffline(navigator.onLine === false));
16
14
  }
17
15
  };
18
- const isValidNumber = (value) => {
19
- if (!value) {
20
- return false;
21
- }
22
- try {
23
- const numberValue = Number(value);
24
- return !Number.isNaN(numberValue);
25
- } catch (e) {
26
- return false;
27
- }
28
- };
29
16
  export {
30
17
  activateOfflineWatcher,
31
- deactivateOfflineWatcher,
32
- isBlank,
33
- isEmpty,
34
- isValidNumber
18
+ deactivateOfflineWatcher
35
19
  };
@@ -0,0 +1,5 @@
1
+ export declare const EURO_FORMAT: (locale?: string) => Intl.NumberFormat;
2
+ export declare const replaceForPriceFormat: (numberString: string) => string;
3
+ export declare const formatToPrice: (price: number | undefined) => string;
4
+ export declare const toValidNumberOrUndefined: (numberStr: string) => number | undefined;
5
+ //# sourceMappingURL=price-helper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"price-helper.d.ts","sourceRoot":"","sources":["../../src/helper/price-helper.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,WAAW,GAAI,SAAQ,MAAiC,sBAIjE,CAAC;AAEL,eAAO,MAAM,qBAAqB,GAAI,cAAc,MAAM,KAAG,MACzB,CAAC;AAErC,eAAO,MAAM,aAAa,GAAI,OAAO,MAAM,GAAG,SAAS,WAMtD,CAAC;AAEF,eAAO,MAAM,wBAAwB,GACnC,WAAW,MAAM,KAChB,MAAM,GAAG,SAMX,CAAC"}
@@ -0,0 +1,25 @@
1
+ import { getCurrentFormatLocale } from "./locale-format.js";
2
+ import { isValidNumber } from "./number-helper.js";
3
+ const EURO_FORMAT = (locale = getCurrentFormatLocale()) => Intl.NumberFormat(locale, {
4
+ style: "currency",
5
+ currency: "EUR"
6
+ });
7
+ const replaceForPriceFormat = (numberString) => numberString == null ? void 0 : numberString.replaceAll(",", ".");
8
+ const formatToPrice = (price) => {
9
+ let resultStr = "-- €";
10
+ if (price) {
11
+ resultStr = EURO_FORMAT().format(price);
12
+ }
13
+ return resultStr;
14
+ };
15
+ const toValidNumberOrUndefined = (numberStr) => {
16
+ const replacedNumber = replaceForPriceFormat(numberStr);
17
+ const replacedNumberFixed = isValidNumber(replacedNumber) ? Number(replacedNumber).toFixed(2) : void 0;
18
+ return replacedNumberFixed ? Number(replacedNumberFixed) : void 0;
19
+ };
20
+ export {
21
+ EURO_FORMAT,
22
+ formatToPrice,
23
+ replaceForPriceFormat,
24
+ toValidNumberOrUndefined
25
+ };
@@ -1 +1 @@
1
- {"version":3,"file":"refresh-id-token.d.ts","sourceRoot":"","sources":["../../src/helper/refresh-id-token.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,eAAO,MAAM,4BAA4B,QAAa,QAAQ,OAAO,CAmBpE,CAAC"}
1
+ {"version":3,"file":"refresh-id-token.d.ts","sourceRoot":"","sources":["../../src/helper/refresh-id-token.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,eAAO,MAAM,4BAA4B,QAAa,OAAO,CAAC,OAAO,CAqBpE,CAAC"}
@@ -13,7 +13,9 @@ const refreshAndPersistUserIdToken = async () => {
13
13
  userNameToken: userName,
14
14
  userIdToken: userToken
15
15
  });
16
- console.log(`[TokenRefresh] ID Token refreshed & saved to local DB for app: ${appName}`);
16
+ console.log(
17
+ `[TokenRefresh] ID Token refreshed & saved to local DB for app: ${appName}`
18
+ );
17
19
  return true;
18
20
  } catch (error) {
19
21
  console.error(`[TokenRefresh] Failed to refresh and persist token:`, error);
@@ -0,0 +1,3 @@
1
+ export declare const isEmpty: (field?: string) => boolean;
2
+ export declare const isBlank: (field?: string) => boolean;
3
+ //# sourceMappingURL=text-helper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"text-helper.d.ts","sourceRoot":"","sources":["../../src/helper/text-helper.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO,GAAI,QAAQ,MAAM,KAAG,OAAiC,CAAC;AAE3E,eAAO,MAAM,OAAO,GAAI,QAAQ,MAAM,KAAG,OACR,CAAC"}
@@ -0,0 +1,6 @@
1
+ const isEmpty = (field) => !field || field === "";
2
+ const isBlank = (field) => !field || isEmpty(field.trim());
3
+ export {
4
+ isBlank,
5
+ isEmpty
6
+ };
package/dist/index.d.ts CHANGED
@@ -1,10 +1,15 @@
1
1
  import { TemplateResult } from 'lit';
2
- export { PdSpaHelper, startInit, } from './PdSpaHelper.js';
2
+ export { PdSpaHelper, startInit } from './PdSpaHelper.js';
3
3
  export * as pdSpaModel from './service-provider/service-provider-model.js';
4
4
  export * as pdSpaModel2 from './model/spa-model.js';
5
- export * as pdSpaHelper from './helper/helper-utils.js';
5
+ export * as pdOfflineWatcher from './helper/offline-watcher-helper.js';
6
+ export * as pdFileHelper from './helper/blob-helper.js';
7
+ export * as pdDateHelper from './helper/date-helper.js';
8
+ export * as pdPriceHelper from './helper/price-helper.js';
9
+ export * as pdNumberHelper from './helper/number-helper.js';
10
+ export * as pdTextHelper from './helper/text-helper.js';
6
11
  export { DefaultViewPage } from './defaultpage/default-view-page.js';
7
- export { DefaultConfirmPopup, ABORT_EVENT_NAME, STORE_EVENT_NAME } from './defaultpage/default-confirm-popup.js';
12
+ export { DefaultConfirmPopup, ABORT_EVENT_NAME, STORE_EVENT_NAME, } from './defaultpage/default-confirm-popup.js';
8
13
  export type { PopupType } from './defaultpage/default-confirm-popup.js';
9
14
  export { DefaultDialogPopup } from './defaultpage/default-dialog-popup.js';
10
15
  export { DefaultPopup } from './defaultpage/default-popup.js';
@@ -13,7 +18,6 @@ export { DefaultWizardStep } from './defaultpage/default-wizard-step.js';
13
18
  export { DefaultStepAddress } from './defaultpage/default-step-address.js';
14
19
  export { DefaultStepSummary } from './defaultpage/default-step-summary.js';
15
20
  export type { OrderStep } from './defaultpage/default-step-summary.js';
16
- export type { TabHeader } from './tmpown/pd-tab.js';
17
21
  export { loginImpl, logoutImpl, getUser, isAuthenticatedImpl, callFunctionImpl, uploadFile, downloadFile, deleteFile, getStorageFileList, getStorageFile, getStorageConfiguration, activateCollectionListener, registerAppDeviceForNotification, getApp, getMessagingImpl, getUserIdToken, } from './service-provider/service-provider-impl.js';
18
22
  export { refreshAndPersistUserIdToken } from './helper/refresh-id-token.js';
19
23
  export { pdStore } from './store/mini-rx.store.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAErC,OAAO,EACL,WAAW,EACX,SAAS,GACV,MAAM,kBAAkB,CAAC;AAE1B,OAAO,KAAK,UAAU,MAAM,8CAA8C,CAAC;AAC3E,OAAO,KAAK,WAAW,MAAM,sBAAsB,CAAC;AAEpD,OAAO,KAAK,WAAW,MAAM,0BAA0B,CAAC;AAExD,OAAO,EAAC,eAAe,EAAC,MAAM,oCAAoC,CAAC;AAEnE,OAAO,EAAC,mBAAmB,EAAE,gBAAgB,EAAE,gBAAgB,EAAC,MAAM,wCAAwC,CAAC;AAC/G,YAAY,EAAE,SAAS,EAAE,MAAM,wCAAwC,CAAC;AAExE,OAAO,EAAC,kBAAkB,EAAC,MAAM,uCAAuC,CAAC;AAEzE,OAAO,EAAC,YAAY,EAAC,MAAM,gCAAgC,CAAC;AAE5D,OAAO,EAAC,aAAa,EAAC,MAAM,iCAAiC,CAAC;AAE9D,OAAO,EAAC,iBAAiB,EAAC,MAAM,sCAAsC,CAAC;AAEvE,OAAO,EAAC,kBAAkB,EAAC,MAAM,uCAAuC,CAAC;AAEzE,OAAO,EAAC,kBAAkB,EAAC,MAAM,uCAAuC,CAAC;AACzE,YAAY,EAAE,SAAS,EAAE,MAAM,uCAAuC,CAAC;AAEvE,YAAY,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAEpD,OAAO,EACL,SAAS,EACT,UAAU,EACV,OAAO,EACP,mBAAmB,EACnB,gBAAgB,EAChB,UAAU,EACV,YAAY,EACZ,UAAU,EACV,kBAAkB,EAClB,cAAc,EACd,uBAAuB,EACvB,0BAA0B,EAC1B,gCAAgC,EAChC,MAAM,EACN,gBAAgB,EAChB,cAAc,GACf,MAAM,6CAA6C,CAAA;AAEpD,OAAO,EAAE,4BAA4B,EAAE,MAAM,8BAA8B,CAAC;AAE5E,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAE7D,OAAO,KAAK,QAAQ,MAAM,4BAA4B,CAAC;AACvD,OAAO,KAAK,UAAU,MAAM,6BAA6B,CAAC;AAE1D,OAAO,KAAK,IAAI,MAAM,oBAAoB,CAAA;AAE1C,OAAO,EAAE,SAAS,IAAI,UAAU,EAAC,MAAM,0CAA0C,CAAA;AACjF,OAAO,EAAE,SAAS,IAAI,UAAU,EAAC,MAAM,0CAA0C,CAAA;AACjF,OAAO,EAAE,SAAS,IAAI,UAAU,EAAC,MAAM,0CAA0C,CAAA;AAEjF,eAAO,MAAM,kBAAkB,YAAY,GAAG,OAAM,MAAM,GAAG,cAAc,aAAY,OAAO,WAAU,OAAO,SAU9G,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAErC,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE1D,OAAO,KAAK,UAAU,MAAM,8CAA8C,CAAC;AAC3E,OAAO,KAAK,WAAW,MAAM,sBAAsB,CAAC;AAEpD,OAAO,KAAK,gBAAgB,MAAM,oCAAoC,CAAC;AACvE,OAAO,KAAK,YAAY,MAAM,yBAAyB,CAAC;AACxD,OAAO,KAAK,YAAY,MAAM,yBAAyB,CAAC;AACxD,OAAO,KAAK,aAAa,MAAM,0BAA0B,CAAC;AAC1D,OAAO,KAAK,cAAc,MAAM,2BAA2B,CAAC;AAC5D,OAAO,KAAK,YAAY,MAAM,yBAAyB,CAAC;AAExD,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAErE,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,wCAAwC,CAAC;AAChD,YAAY,EAAE,SAAS,EAAE,MAAM,wCAAwC,CAAC;AAExE,OAAO,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAE3E,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAE9D,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAEhE,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AAEzE,OAAO,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAE3E,OAAO,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAC3E,YAAY,EAAE,SAAS,EAAE,MAAM,uCAAuC,CAAC;AAEvE,OAAO,EACL,SAAS,EACT,UAAU,EACV,OAAO,EACP,mBAAmB,EACnB,gBAAgB,EAChB,UAAU,EACV,YAAY,EACZ,UAAU,EACV,kBAAkB,EAClB,cAAc,EACd,uBAAuB,EACvB,0BAA0B,EAC1B,gCAAgC,EAChC,MAAM,EACN,gBAAgB,EAChB,cAAc,GACf,MAAM,6CAA6C,CAAC;AAErD,OAAO,EAAE,4BAA4B,EAAE,MAAM,8BAA8B,CAAC;AAE5E,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAE7D,OAAO,KAAK,QAAQ,MAAM,4BAA4B,CAAC;AACvD,OAAO,KAAK,UAAU,MAAM,6BAA6B,CAAC;AAE1D,OAAO,KAAK,IAAI,MAAM,oBAAoB,CAAC;AAE3C,OAAO,EAAE,SAAS,IAAI,UAAU,EAAE,MAAM,0CAA0C,CAAC;AACnF,OAAO,EAAE,SAAS,IAAI,UAAU,EAAE,MAAM,0CAA0C,CAAC;AACnF,OAAO,EAAE,SAAS,IAAI,UAAU,EAAE,MAAM,0CAA0C,CAAC;AAEnF,eAAO,MAAM,kBAAkB,GAC7B,SAAS,GAAG,EACZ,KAAK,MAAM,GAAG,cAAc,EAC5B,WAAW,OAAO,EAClB,SAAS,OAAO,SAajB,CAAC"}