@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.
- package/dist/admin/AdminAppIndex.pack.js +771 -24
- package/dist/admin/AdminAppIndex.pack.js.map +1 -1
- package/dist/admin/AdminAppIndex.pack.min.js +143 -17
- package/dist/admin/AdminAppIndex.pack.min.js.map +1 -1
- package/dist/common/controls/audio/AudioRecorder.d.ts +10 -0
- package/dist/common/controls/audio/AudioRecorder.d.ts.map +1 -0
- package/dist/common/controls/audio/AudioRecorder.js +116 -0
- package/dist/common/controls/audio/AudioRecorder.js.map +1 -0
- package/dist/common/controls/audio/WebRTCService.d.ts +16 -0
- package/dist/common/controls/audio/WebRTCService.d.ts.map +1 -0
- package/dist/common/controls/audio/WebRTCService.js +61 -0
- package/dist/common/controls/audio/WebRTCService.js.map +1 -0
- package/dist/common/controls/buttons/RoundButton.d.ts +7 -0
- package/dist/common/controls/buttons/RoundButton.d.ts.map +1 -0
- package/dist/common/controls/buttons/RoundButton.js +51 -0
- package/dist/common/controls/buttons/RoundButton.js.map +1 -0
- package/dist/style/GlobalStyle.js +13 -12
- package/dist/style/GlobalStyle.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/web/AppIndex.pack.js +771 -24
- package/dist/web/AppIndex.pack.js.map +1 -1
- package/dist/web/AppIndex.pack.min.js +143 -17
- package/dist/web/AppIndex.pack.min.js.map +1 -1
- package/dist/web/page/mails/ConversationPage.d.ts +1 -0
- package/dist/web/page/mails/ConversationPage.d.ts.map +1 -1
- package/dist/web/page/mails/ConversationPage.js +11 -1
- package/dist/web/page/mails/ConversationPage.js.map +1 -1
- package/dist/web/page/mails/MiniComposeBox.d.ts +10 -3
- package/dist/web/page/mails/MiniComposeBox.d.ts.map +1 -1
- package/dist/web/page/mails/MiniComposeBox.js +102 -7
- package/dist/web/page/mails/MiniComposeBox.js.map +1 -1
- package/dist/web/page/mails/service/ConversationService.d.ts +3 -1
- package/dist/web/page/mails/service/ConversationService.d.ts.map +1 -1
- package/dist/web/page/mails/service/ConversationService.js +62 -3
- package/dist/web/page/mails/service/ConversationService.js.map +1 -1
- package/package.json +1 -1
- package/src/common/controls/audio/AudioRecorder.tsx +102 -0
- package/src/common/controls/audio/WebRTCService.ts +61 -0
- package/src/common/controls/buttons/RoundButton.tsx +38 -0
- package/src/style/GlobalStyle.ts +13 -12
- package/src/web/page/mails/ConversationPage.tsx +12 -1
- package/src/web/page/mails/MiniComposeBox.tsx +75 -6
- 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:
|
|
61
|
+
scrollbar-width: thin;
|
|
62
62
|
scrollbar-color: var(--accent-color) white;
|
|
63
|
+
}
|
|
63
64
|
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
65
|
+
|
|
66
|
+
::-webkit-scrollbar {
|
|
67
|
+
width: 5px;
|
|
68
|
+
}
|
|
69
|
+
::-webkit-scrollbar-track {
|
|
68
70
|
background: white;
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
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
|
|
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"}
|