@social-mail/social-mail-client 1.2.3 → 1.2.4

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 (43) hide show
  1. package/dist/admin/AdminAppIndex.pack.js +771 -24
  2. package/dist/admin/AdminAppIndex.pack.js.map +1 -1
  3. package/dist/admin/AdminAppIndex.pack.min.js +143 -17
  4. package/dist/admin/AdminAppIndex.pack.min.js.map +1 -1
  5. package/dist/common/controls/audio/AudioRecorder.d.ts +10 -0
  6. package/dist/common/controls/audio/AudioRecorder.d.ts.map +1 -0
  7. package/dist/common/controls/audio/AudioRecorder.js +116 -0
  8. package/dist/common/controls/audio/AudioRecorder.js.map +1 -0
  9. package/dist/common/controls/audio/WebRTCService.d.ts +16 -0
  10. package/dist/common/controls/audio/WebRTCService.d.ts.map +1 -0
  11. package/dist/common/controls/audio/WebRTCService.js +61 -0
  12. package/dist/common/controls/audio/WebRTCService.js.map +1 -0
  13. package/dist/common/controls/buttons/RoundButton.d.ts +7 -0
  14. package/dist/common/controls/buttons/RoundButton.d.ts.map +1 -0
  15. package/dist/common/controls/buttons/RoundButton.js +51 -0
  16. package/dist/common/controls/buttons/RoundButton.js.map +1 -0
  17. package/dist/style/GlobalStyle.js +13 -12
  18. package/dist/style/GlobalStyle.js.map +1 -1
  19. package/dist/tsconfig.tsbuildinfo +1 -1
  20. package/dist/web/AppIndex.pack.js +771 -24
  21. package/dist/web/AppIndex.pack.js.map +1 -1
  22. package/dist/web/AppIndex.pack.min.js +143 -17
  23. package/dist/web/AppIndex.pack.min.js.map +1 -1
  24. package/dist/web/page/mails/ConversationPage.d.ts +1 -0
  25. package/dist/web/page/mails/ConversationPage.d.ts.map +1 -1
  26. package/dist/web/page/mails/ConversationPage.js +11 -1
  27. package/dist/web/page/mails/ConversationPage.js.map +1 -1
  28. package/dist/web/page/mails/MiniComposeBox.d.ts +10 -3
  29. package/dist/web/page/mails/MiniComposeBox.d.ts.map +1 -1
  30. package/dist/web/page/mails/MiniComposeBox.js +102 -7
  31. package/dist/web/page/mails/MiniComposeBox.js.map +1 -1
  32. package/dist/web/page/mails/service/ConversationService.d.ts +3 -1
  33. package/dist/web/page/mails/service/ConversationService.d.ts.map +1 -1
  34. package/dist/web/page/mails/service/ConversationService.js +62 -3
  35. package/dist/web/page/mails/service/ConversationService.js.map +1 -1
  36. package/package.json +1 -1
  37. package/src/common/controls/audio/AudioRecorder.tsx +102 -0
  38. package/src/common/controls/audio/WebRTCService.ts +61 -0
  39. package/src/common/controls/buttons/RoundButton.tsx +38 -0
  40. package/src/style/GlobalStyle.ts +13 -12
  41. package/src/web/page/mails/ConversationPage.tsx +12 -1
  42. package/src/web/page/mails/MiniComposeBox.tsx +75 -6
  43. package/src/web/page/mails/service/ConversationService.tsx +53 -1
@@ -0,0 +1,10 @@
1
+ import TimeSpan from "@web-atoms/date-time/dist/TimeSpan";
2
+ import BottomPopup from "@web-atoms/web-controls/dist/mobile-app/BottomPopup";
3
+ export default class AudioRecorder extends BottomPopup {
4
+ duration: TimeSpan;
5
+ private recorder;
6
+ protected create(): void;
7
+ protected startRecording(): Promise<void>;
8
+ protected uploadAudio(blob: Blob): Promise<void>;
9
+ }
10
+ //# sourceMappingURL=AudioRecorder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AudioRecorder.d.ts","sourceRoot":"","sources":["../../../../src/common/controls/audio/AudioRecorder.tsx"],"names":[],"mappings":"AAGA,OAAO,QAAQ,MAAM,oCAAoC,CAAC;AAC1D,OAAO,WAAW,MAAM,qDAAqD,CAAC;AAuB9E,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,WAAW;IAE3C,QAAQ,EAAE,QAAQ,CAAC;IAE1B,OAAO,CAAC,QAAQ,CAAsB;IAEtC,SAAS,CAAC,MAAM;cAUA,cAAc;cA+Cd,WAAW,CAAC,IAAI,EAAE,IAAI;CAWzC"}
@@ -0,0 +1,116 @@
1
+ System.register(["tslib", "@web-atoms/core/dist/core/Bind", "@web-atoms/core/dist/core/XNode", "@web-atoms/date-time/dist/DateTime", "@web-atoms/web-controls/dist/mobile-app/BottomPopup", "./WebRTCService", "@web-atoms/core/dist/style/styled", "../buttons/RoundButton", "../../../services/files/LocalFileService"], function (_export, _context) {
2
+ "use strict";
3
+
4
+ var __awaiter, Bind, XNode, DateTime, BottomPopup, WebRTCService, styled, RoundButton, LocalFileService, AudioRecorder, css;
5
+ _export("default", void 0);
6
+ return {
7
+ setters: [function (_tslib) {
8
+ __awaiter = _tslib.__awaiter;
9
+ }, function (_webAtomsCoreDistCoreBind) {
10
+ Bind = _webAtomsCoreDistCoreBind.default;
11
+ }, function (_webAtomsCoreDistCoreXNode) {
12
+ XNode = _webAtomsCoreDistCoreXNode.default;
13
+ }, function (_webAtomsDateTimeDistDateTime) {
14
+ DateTime = _webAtomsDateTimeDistDateTime.default;
15
+ }, function (_webAtomsWebControlsDistMobileAppBottomPopup) {
16
+ BottomPopup = _webAtomsWebControlsDistMobileAppBottomPopup.default;
17
+ }, function (_WebRTCService) {
18
+ WebRTCService = _WebRTCService.default;
19
+ }, function (_webAtomsCoreDistStyleStyled) {
20
+ styled = _webAtomsCoreDistStyleStyled.default;
21
+ }, function (_buttonsRoundButton) {
22
+ RoundButton = _buttonsRoundButton.default;
23
+ }, function (_servicesFilesLocalFileService) {
24
+ LocalFileService = _servicesFilesLocalFileService.default;
25
+ }],
26
+ execute: function () {
27
+ css = styled.css`
28
+
29
+ position: absolute;
30
+ left: 0px;
31
+ right: 0px;
32
+ bottom: 0px;
33
+ padding-top: 50px;
34
+ padding-bottom: 100px;
35
+ flex-direction: column;
36
+ align-items: center;
37
+ justify-content: center;
38
+ gap: 4px;
39
+ display: flex;
40
+ `.installLocal();
41
+ _export("default", AudioRecorder = class AudioRecorder extends BottomPopup {
42
+ create() {
43
+ this.renderer = XNode.create("div", {
44
+ class: css
45
+ }, XNode.create("div", {
46
+ text: "Tap mic when ready"
47
+ }), XNode.create(RoundButton, {
48
+ icon: "fa-solid fa-microphone-lines fa-xl",
49
+ "event-click": () => this.startRecording()
50
+ }));
51
+ }
52
+ startRecording() {
53
+ return __awaiter(this, void 0, void 0, function* () {
54
+ this.element.dataset.clickEvent = "none";
55
+ if (location.protocol !== "https:") {
56
+ this.cancel(new Error("Recording only supported in Secure URLs"));
57
+ return;
58
+ }
59
+ this.recorder = yield WebRTCService.startAudioSession();
60
+ this.renderer = XNode.create("div", {
61
+ class: css
62
+ }, XNode.create("div", {
63
+ "data-background-color": "white",
64
+ "data-border-radius": "full",
65
+ "data-layout": "vertical-flex-center-items"
66
+ }, XNode.create("div", {
67
+ text: Bind.oneWay(() => this.recorder.duration.toString())
68
+ }), XNode.create(RoundButton, {
69
+ icon: "fa-solid fa-stop fa-xl",
70
+ "event-click": () => this.recorder.stop()
71
+ })));
72
+ const blob = yield this.recorder.start();
73
+ this.element.dataset.clickEvent = "none";
74
+ const url = URL.createObjectURL(blob);
75
+ this.registerDisposable({
76
+ dispose: () => {
77
+ URL.revokeObjectURL(url);
78
+ }
79
+ });
80
+ this.renderer = XNode.create("div", {
81
+ class: css
82
+ }, XNode.create("audio", {
83
+ src: url,
84
+ controls: true
85
+ }), XNode.create("div", {
86
+ "data-layout": "row"
87
+ }, XNode.create(RoundButton, {
88
+ icon: "button fa-solid fa-inbox-out fa-2xl",
89
+ "event-click": () => this.uploadAudio(blob)
90
+ }), XNode.create(RoundButton, {
91
+ icon: "button fa-solid fa-circle-xmark fa-2xl",
92
+ "event-click": () => this.cancel()
93
+ })));
94
+ });
95
+ }
96
+ uploadAudio(blob) {
97
+ return __awaiter(this, void 0, void 0, function* () {
98
+ const uploadService = this.app.resolve(LocalFileService);
99
+ const dt = DateTime.now;
100
+ const fileName = `${dt.year}-${dt.month + 1}-${dt.day}.mp4`;
101
+ this.renderer = XNode.create("div", {
102
+ class: css
103
+ }, XNode.create("div", null, "Uploading... ", XNode.create("i", {
104
+ class: "fa-solid fa-spinner fa-spin"
105
+ }), " "));
106
+ const file = yield uploadService.uploadFile(new File([blob], fileName, {
107
+ type: blob.type
108
+ }), {});
109
+ this.close(file);
110
+ });
111
+ }
112
+ });
113
+ }
114
+ };
115
+ });
116
+ //# sourceMappingURL=AudioRecorder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["AudioRecorder","css","_export","setters","_tslib","Bind","_webAtomsCoreDistCoreBind","default","_webAtomsCoreDistCoreXNode","XNode","_webAtomsDateTimeDistDateTime","DateTime","_webAtomsWebControlsDistMobileAppBottomPopup","BottomPopup","_WebRTCService","WebRTCService","_webAtomsCoreDistStyleStyled","styled","_buttonsRoundButton","RoundButton","_servicesFilesLocalFileService","LocalFileService","execute","installLocal","create","renderer","class","text","icon","event-click","startRecording","element","dataset","clickEvent","location","protocol","cancel","Error","recorder","startAudioSession","oneWay","duration","toString","stop","blob","start","url","URL","createObjectURL","registerDisposable","dispose","revokeObjectURL","src","controls","uploadAudio","uploadService","app","resolve","dt","now","fileName","year","month","day","file","uploadFile","File","type","close"],"sources":["../../../../src/common/controls/audio/AudioRecorder.tsx"],"sourcesContent":[null],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import TimeSpan from "@web-atoms/date-time/dist/TimeSpan";
2
+ export interface IRecordingOptions {
3
+ progress: (time: TimeSpan) => void;
4
+ segments?: number;
5
+ }
6
+ export declare class WebRecordingSession {
7
+ duration: TimeSpan;
8
+ private recorder;
9
+ constructor(stream: MediaStream);
10
+ start(segments?: number): Promise<Blob>;
11
+ stop(): void;
12
+ }
13
+ export default class WebRTCService {
14
+ static startAudioSession(): Promise<WebRecordingSession>;
15
+ }
16
+ //# sourceMappingURL=WebRTCService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WebRTCService.d.ts","sourceRoot":"","sources":["../../../../src/common/controls/audio/WebRTCService.ts"],"names":[],"mappings":"AAEA,OAAO,QAAQ,MAAM,oCAAoC,CAAC;AAE1D,MAAM,WAAW,iBAAiB;IAC9B,QAAQ,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC;IACnC,QAAQ,CAAC,EAAE,MAAM,CAAA;CACpB;AAED,qBAAa,mBAAmB;IAErB,QAAQ,EAAE,QAAQ,CAAC;IAE1B,OAAO,CAAC,QAAQ,CAAgB;gBAEpB,MAAM,EAAE,WAAW;IAKxB,KAAK,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAuBvC,IAAI;CAGd;AAED,MAAM,CAAC,OAAO,OAAO,aAAa;WAEV,iBAAiB;CAUxC"}
@@ -0,0 +1,61 @@
1
+ System.register(["tslib", "@web-atoms/date-time/dist/TimeSpan"], function (_export, _context) {
2
+ "use strict";
3
+
4
+ var __awaiter, TimeSpan, WebRecordingSession, WebRTCService;
5
+ _export({
6
+ WebRecordingSession: void 0,
7
+ default: void 0
8
+ });
9
+ return {
10
+ setters: [function (_tslib) {
11
+ __awaiter = _tslib.__awaiter;
12
+ }, function (_webAtomsDateTimeDistTimeSpan) {
13
+ TimeSpan = _webAtomsDateTimeDistTimeSpan.default;
14
+ }],
15
+ execute: function () {
16
+ _export("WebRecordingSession", WebRecordingSession = class WebRecordingSession {
17
+ constructor(stream) {
18
+ this.duration = TimeSpan.fromSeconds(0);
19
+ this.recorder = new MediaRecorder(stream);
20
+ }
21
+ start(segments) {
22
+ const buffer = [];
23
+ return new Promise((resolve, reject) => {
24
+ this.recorder.ondataavailable = be => {
25
+ buffer.push(be.data);
26
+ };
27
+ const start = Date.now();
28
+ const id = setInterval(() => {
29
+ const seconds = Math.ceil((Date.now() - start) / 1000);
30
+ this.duration = TimeSpan.fromSeconds(seconds);
31
+ }, 1000);
32
+ this.recorder.onerror = me => {
33
+ clearInterval(id);
34
+ reject(me.error);
35
+ };
36
+ this.recorder.onstop = () => {
37
+ clearInterval(id);
38
+ resolve(new Blob(buffer, {
39
+ type: this.recorder.mimeType
40
+ }));
41
+ };
42
+ this.recorder.start(segments);
43
+ });
44
+ }
45
+ stop() {
46
+ this.recorder.stop();
47
+ }
48
+ });
49
+ _export("default", WebRTCService = class WebRTCService {
50
+ static startAudioSession() {
51
+ return __awaiter(this, void 0, void 0, function* () {
52
+ return new WebRecordingSession(yield navigator.mediaDevices.getUserMedia({
53
+ audio: true
54
+ }));
55
+ });
56
+ }
57
+ });
58
+ }
59
+ };
60
+ });
61
+ //# sourceMappingURL=WebRTCService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["WebRecordingSession","WebRTCService","_export","default","setters","_tslib","TimeSpan","_webAtomsDateTimeDistTimeSpan","execute","constructor","stream","duration","fromSeconds","recorder","MediaRecorder","start","segments","buffer","Promise","resolve","reject","ondataavailable","be","push","data","Date","now","id","setInterval","seconds","Math","ceil","onerror","me","clearInterval","error","onstop","Blob","type","mimeType","stop","startAudioSession","navigator","mediaDevices","getUserMedia","audio"],"sources":["../../../../src/common/controls/audio/WebRTCService.ts"],"sourcesContent":[null],"mappings":";;;2BASaA,mBAAmB,EAuCXC,aAAa;EAAAC,OAAA;IAAAF,mBAAA;IAAAG,OAAA;EAAA;EAAA;IAAAC,OAAA,aAAAC,MAAA;;;MA9C3BC,QAAQ,GAAAC,6BAAA,CAAAJ,OAAA;IAAA;IAAAK,OAAA,WAAAA,CAAA;MAAAN,OAAA,wBAOFF,mBAAmB,GAA1B,MAAOA,mBAAmB;QAM5BS,YAAYC,MAAmB;UAC3B,IAAI,CAACC,QAAQ,GAAGL,QAAQ,CAACM,WAAW,CAAC,CAAC,CAAC;UACvC,IAAI,CAACC,QAAQ,GAAG,IAAIC,aAAa,CAACJ,MAAM,CAAC;QAC7C;QAEOK,KAAKA,CAACC,QAAiB;UAC1B,MAAMC,MAAM,GAAG,EAAE;UACjB,OAAO,IAAIC,OAAO,CAAO,CAACC,OAAO,EAAEC,MAAM,KAAI;YACzC,IAAI,CAACP,QAAQ,CAACQ,eAAe,GAAIC,EAAE,IAAI;cACnCL,MAAM,CAACM,IAAI,CAACD,EAAE,CAACE,IAAI,CAAC;YACxB,CAAC;YACD,MAAMT,KAAK,GAAGU,IAAI,CAACC,GAAG,EAAE;YACxB,MAAMC,EAAE,GAAGC,WAAW,CAAC,MAAK;cACxB,MAAMC,OAAO,GAAGC,IAAI,CAACC,IAAI,CAAC,CAACN,IAAI,CAACC,GAAG,EAAE,GAAGX,KAAK,IAAI,IAAI,CAAC;cACtD,IAAI,CAACJ,QAAQ,GAAGL,QAAQ,CAACM,WAAW,CAACiB,OAAO,CAAC;YACjD,CAAC,EAAE,IAAI,CAAC;YACR,IAAI,CAAChB,QAAQ,CAACmB,OAAO,GAAIC,EAAc,IAAI;cACvCC,aAAa,CAACP,EAAE,CAAC;cACjBP,MAAM,CAACa,EAAE,CAACE,KAAK,CAAC;YACpB,CAAC;YACD,IAAI,CAACtB,QAAQ,CAACuB,MAAM,GAAG,MAAK;cACxBF,aAAa,CAACP,EAAE,CAAC;cACjBR,OAAO,CAAC,IAAIkB,IAAI,CAACpB,MAAM,EAAE;gBAAEqB,IAAI,EAAE,IAAI,CAACzB,QAAQ,CAAC0B;cAAQ,CAAC,CAAC,CAAC;YAC9D,CAAC;YACD,IAAI,CAAC1B,QAAQ,CAACE,KAAK,CAACC,QAAQ,CAAC;UACjC,CAAC,CAAC;QACN;QAEOwB,IAAIA,CAAA;UACP,IAAI,CAAC3B,QAAQ,CAAC2B,IAAI,EAAE;QACxB;OACH;MAAAtC,OAAA,YAEoBD,aAAa,GAApB,MAAOA,aAAa;QAEvB,OAAawC,iBAAiBA,CAAA;;YACjC,OAAO,IAAIzC,mBAAmB,CAAC,MAAM0C,SAAS,CAACC,YAAY,CAACC,YAAY,CAAC;cAAEC,KAAK,EAAE;YAAI,CAAE,CAAC,CAAC;UAO9F,CAAC;;OAEJ;IAAA;EAAA;AAAA"}
@@ -0,0 +1,7 @@
1
+ import XNode from "@web-atoms/core/dist/core/XNode";
2
+ import IElement from "@web-atoms/web-controls/dist/basic/IElement";
3
+ export interface IRoundButton extends IElement {
4
+ icon?: string;
5
+ }
6
+ export default function RoundButton({ icon, ...a }: IRoundButton, ...nodes: XNode[]): any;
7
+ //# sourceMappingURL=RoundButton.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RoundButton.d.ts","sourceRoot":"","sources":["../../../../src/common/controls/buttons/RoundButton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,iCAAiC,CAAC;AAEpD,OAAO,QAAQ,MAAM,6CAA6C,CAAC;AAkBnE,MAAM,WAAW,YAAa,SAAQ,QAAQ;IAC1C,IAAI,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,EAC5B,IAAI,EACJ,GAAI,CAAC,EACR,EAAE,YAAY,EAAE,GAAI,KAAK,EAAE,KAAK,EAAE,OAUtC"}
@@ -0,0 +1,51 @@
1
+ System.register(["tslib", "@web-atoms/core/dist/core/XNode", "@web-atoms/core/dist/style/styled"], function (_export, _context) {
2
+ "use strict";
3
+
4
+ var __rest, XNode, styled;
5
+ function RoundButton(_a, ...nodes) {
6
+ var {
7
+ icon
8
+ } = _a,
9
+ a = __rest(_a, ["icon"]);
10
+ if (icon) {
11
+ return XNode.create("button", Object.assign({
12
+ "data-color": "white",
13
+ "data-round-button": "round-button"
14
+ }, a), XNode.create("i", {
15
+ class: `${icon} white`
16
+ }), ...nodes);
17
+ }
18
+ return XNode.create("button", Object.assign({
19
+ "data-color": "white",
20
+ "data-round-button": "round-button"
21
+ }, a), ...nodes);
22
+ }
23
+ _export("default", RoundButton);
24
+ return {
25
+ setters: [function (_tslib) {
26
+ __rest = _tslib.__rest;
27
+ }, function (_webAtomsCoreDistCoreXNode) {
28
+ XNode = _webAtomsCoreDistCoreXNode.default;
29
+ }, function (_webAtomsCoreDistStyleStyled) {
30
+ styled = _webAtomsCoreDistStyleStyled.default;
31
+ }],
32
+ execute: function () {
33
+ styled.css`
34
+ border-radius: 9999px;
35
+ height: 70px;
36
+ width: 70px;
37
+ min-height: 70px;
38
+ text-align: center;
39
+ align-self: center;
40
+ border: none;
41
+ background-color: var(--accent-color);
42
+ color: var(--accent-text-color);
43
+ font-weight: bold;
44
+ flex-basis: auto;
45
+ margin-left: auto;
46
+ margin-right: auto;
47
+ `.installGlobal("button[data-round-button=round-button]");
48
+ }
49
+ };
50
+ });
51
+ //# sourceMappingURL=RoundButton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["RoundButton","_a","nodes","icon","a","__rest","XNode","create","Object","assign","class","_export","setters","_tslib","_webAtomsCoreDistCoreXNode","default","_webAtomsCoreDistStyleStyled","styled","execute","css","installGlobal"],"sources":["../../../../src/common/controls/buttons/RoundButton.tsx"],"sourcesContent":[null],"mappings":";;;;EAwBc,SAAUA,WAAWA,CAACC,EAGjB,EAAE,GAAIC,KAAc;QAHH;QAC5BC;MAAI,IAAAF,EAEO;MADPG,CAAC,GAAAC,MAAA,CAAAJ,EAAA,EAFuB,QAG/B,CADQ;IAET,IAAIE,IAAI,EAAE;MACN,OAAOG,KAAA,CAAAC,MAAA,WAAAC,MAAA,CAAAC,MAAA;QAAA,cAAmB,OAAO;QAAA,qBAAmB;MAAc,GAAML,CAAC,GACrEE,KAAA,CAAAC,MAAA;QAAGG,KAAK,EAAE,GAAGP,IAAI;MAAQ,EAAG,E,GACtBD,KAAK,CACN;;IAEb,OAAOI,KAAA,CAAAC,MAAA,WAAAC,MAAA,CAAAC,MAAA;MAAA,cAAmB,OAAO;MAAA,qBAAmB;IAAc,GAAML,CAAC,MAC/DF,KAAK,CACN;EACb;EAACS,OAAA,YAbuBX,WAAW;EAAA;IAAAY,OAAA,aAAAC,MAAA;;;MAxB5BP,KAAK,GAAAQ,0BAAA,CAAAC,OAAA;IAAA,aAAAC,4BAAA;MACLC,MAAM,GAAAD,4BAAA,CAAAD,OAAA;IAAA;IAAAG,OAAA,WAAAA,CAAA;MAGTD,MAAM,CAACE,GAAI;;;;;;;;;;;;;;KAcV,CAACC,aAAa,CAAC,wCAAwC,CAAC;IAAC;EAAA;AAAA"}
@@ -58,23 +58,24 @@ html, body {
58
58
  }
59
59
 
60
60
  * {
61
- scrollbar-width: 5px;
61
+ scrollbar-width: thin;
62
62
  scrollbar-color: var(--accent-color) white;
63
+ }
63
64
 
64
- &::-webkit-scrollbar {
65
- width: 5px;
66
- }
67
- &::-webkit-scrollbar-track {
65
+
66
+ ::-webkit-scrollbar {
67
+ width: 5px;
68
+ }
69
+ ::-webkit-scrollbar-track {
68
70
  background: white;
69
- }
70
- &::-webkit-scrollbar-thumb {
71
- background-color: white;
72
- border-radius: 20px;
73
- border: 3px solid var(--accent-color);
74
- }
71
+ border-radius: 20px;
72
+ }
73
+ ::-webkit-scrollbar-thumb {
74
+ background: var(--accent-color);
75
+ border-radius: 20px;
75
76
  }
76
77
 
77
- body {
78
+ body {
78
79
  font-family: trebuchet ms, "Source Sans Pro";
79
80
  font-size: 16px;
80
81
  justify-content: stretch;
@@ -1 +1 @@
1
- {"version":3,"names":["addLinkTag","href","integrity","rel","document","head","querySelector","fa","createElement","crossOrigin","as","onload","insertBefore","firstElementChild","setters","_webAtomsCoreDistCoreTypes","UMD","_webAtomsCoreDistCoreAtomList","_OverrideAppStyle","_webAtomsCoreDistStyleStyled","styled","default","_webAtomsDataStylesDataStyles","execute","_export","___UMD","css","withId","withOrder","installGlobal"],"sources":["../../src/style/GlobalStyle.ts"],"sourcesContent":[null],"mappings":";;;;EAaA,SAASA,UAAUA,CAACC,IAAI,EAAEC,SAAU,EAAEC,GAAG,GAAG,YAAY;IACpD,IAAI,CAACC,QAAQ,CAACC,IAAI,CAACC,aAAa,CAAC,UAAUL,IAAI,IAAI,CAAC,EAAE;MAClD,MAAMM,EAAE,GAAGH,QAAQ,CAACI,aAAa,CAAC,MAAM,CAAC;MACzCD,EAAE,CAACN,IAAI,GAAGA,IAAI;MACdM,EAAE,CAACE,WAAW,GAAG,WAAW;MAC5BF,EAAE,CAACG,EAAE,GAAG,OAAO;MACfH,EAAE,CAACJ,GAAG,GAAG,SAAS;MAClB,IAAID,SAAS,EAAE;QACXK,EAAE,CAACL,SAAS,GAAGA,SAAS;;MAE5BK,EAAE,CAACI,MAAM,GAAG,MAAK;QACbJ,EAAE,CAACI,MAAM,GAAG,IAAI;QAChBJ,EAAE,CAACJ,GAAG,GAAGA,GAAG;MAChB,CAAC;MACDC,QAAQ,CAACC,IAAI,CAACO,YAAY,CAACL,EAAE,EAAEH,QAAQ,CAACC,IAAI,CAACQ,iBAAiB,CAAC;;EAEvE;EAAC;IAAAC,OAAA,aAAAC,0BAAA;MA5BQC,GAAG,GAAAD,0BAAA,CAAHC,GAAG;IAAA,aAAAC,6BAAA,gBAAAC,iBAAA,gBAAAC,4BAAA;MAQLC,MAAM,GAAAD,4BAAA,CAAAE,OAAA;IAAA,aAAAC,6BAAA;IAAAC,OAAA,WAAAA,CAAA;MAAAC,OAAA,WAFAC,MAAM,GAAGT,GAAG;MAwBzBhB,UAAU,CAAC,qHAAqH,CAAC;MACjIA,UAAU,CAAC,qFAAqF,CAAC;MACjGA,UAAU,CAAC,mFAAmF,CAAC;MAE3FoB,MAAM,CAACM,GAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwEd,CAACC,MAAM,CAAC,eAAe,CAAC,CAACC,SAAS,CAAC,QAAQ,CAAC,CAACC,aAAa,EAAE;IAAC;EAAA;AAAA"}
1
+ {"version":3,"names":["addLinkTag","href","integrity","rel","document","head","querySelector","fa","createElement","crossOrigin","as","onload","insertBefore","firstElementChild","setters","_webAtomsCoreDistCoreTypes","UMD","_webAtomsCoreDistCoreAtomList","_OverrideAppStyle","_webAtomsCoreDistStyleStyled","styled","default","_webAtomsDataStylesDataStyles","execute","_export","___UMD","css","withId","withOrder","installGlobal"],"sources":["../../src/style/GlobalStyle.ts"],"sourcesContent":[null],"mappings":";;;;EAaA,SAASA,UAAUA,CAACC,IAAI,EAAEC,SAAU,EAAEC,GAAG,GAAG,YAAY;IACpD,IAAI,CAACC,QAAQ,CAACC,IAAI,CAACC,aAAa,CAAC,UAAUL,IAAI,IAAI,CAAC,EAAE;MAClD,MAAMM,EAAE,GAAGH,QAAQ,CAACI,aAAa,CAAC,MAAM,CAAC;MACzCD,EAAE,CAACN,IAAI,GAAGA,IAAI;MACdM,EAAE,CAACE,WAAW,GAAG,WAAW;MAC5BF,EAAE,CAACG,EAAE,GAAG,OAAO;MACfH,EAAE,CAACJ,GAAG,GAAG,SAAS;MAClB,IAAID,SAAS,EAAE;QACXK,EAAE,CAACL,SAAS,GAAGA,SAAS;;MAE5BK,EAAE,CAACI,MAAM,GAAG,MAAK;QACbJ,EAAE,CAACI,MAAM,GAAG,IAAI;QAChBJ,EAAE,CAACJ,GAAG,GAAGA,GAAG;MAChB,CAAC;MACDC,QAAQ,CAACC,IAAI,CAACO,YAAY,CAACL,EAAE,EAAEH,QAAQ,CAACC,IAAI,CAACQ,iBAAiB,CAAC;;EAEvE;EAAC;IAAAC,OAAA,aAAAC,0BAAA;MA5BQC,GAAG,GAAAD,0BAAA,CAAHC,GAAG;IAAA,aAAAC,6BAAA,gBAAAC,iBAAA,gBAAAC,4BAAA;MAQLC,MAAM,GAAAD,4BAAA,CAAAE,OAAA;IAAA,aAAAC,6BAAA;IAAAC,OAAA,WAAAA,CAAA;MAAAC,OAAA,WAFAC,MAAM,GAAGT,GAAG;MAwBzBhB,UAAU,CAAC,qHAAqH,CAAC;MACjIA,UAAU,CAAC,qFAAqF,CAAC;MACjGA,UAAU,CAAC,mFAAmF,CAAC;MAE3FoB,MAAM,CAACM,GAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyEd,CAACC,MAAM,CAAC,eAAe,CAAC,CAACC,SAAS,CAAC,QAAQ,CAAC,CAACC,aAAa,EAAE;IAAC;EAAA;AAAA"}