@axium/email 0.0.1

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/LICENSE.md +157 -0
  2. package/README.md +40 -0
  3. package/db.json +83 -0
  4. package/dist/client/index.d.ts +1 -0
  5. package/dist/client/index.js +1 -0
  6. package/dist/client/web_hook.d.ts +8 -0
  7. package/dist/client/web_hook.js +11 -0
  8. package/dist/common.d.ts +454 -0
  9. package/dist/common.js +127 -0
  10. package/dist/index.d.ts +1 -0
  11. package/dist/index.js +1 -0
  12. package/dist/server/api.d.ts +1 -0
  13. package/dist/server/api.js +138 -0
  14. package/dist/server/cli.d.ts +1 -0
  15. package/dist/server/cli.js +69 -0
  16. package/dist/server/db.d.ts +17 -0
  17. package/dist/server/db.js +2 -0
  18. package/dist/server/hooks.d.ts +4 -0
  19. package/dist/server/hooks.js +13 -0
  20. package/dist/server/index.d.ts +4 -0
  21. package/dist/server/index.js +4 -0
  22. package/dist/server/send.d.ts +45 -0
  23. package/dist/server/send.js +221 -0
  24. package/dist/server/smtp.d.ts +2 -0
  25. package/dist/server/smtp.js +128 -0
  26. package/lib/AddressChips.svelte +107 -0
  27. package/lib/Composer.svelte +245 -0
  28. package/lib/MessageRow.svelte +160 -0
  29. package/lib/ThreadMessage.svelte +218 -0
  30. package/lib/index.ts +4 -0
  31. package/lib/tsconfig.json +13 -0
  32. package/locales/en.json +57 -0
  33. package/package.json +83 -0
  34. package/routes/email/+layout.svelte +59 -0
  35. package/routes/email/+layout.ts +17 -0
  36. package/routes/email/+page.ts +5 -0
  37. package/routes/email/[folder]/+page.svelte +53 -0
  38. package/routes/email/[folder]/+page.ts +16 -0
  39. package/routes/email/[folder]/[id]/+page.svelte +133 -0
  40. package/routes/email/[folder]/[id]/+page.ts +12 -0
  41. package/routes/email/context.ts +10 -0
  42. package/routes/email/email.css +143 -0
  43. package/routes/tsconfig.json +13 -0
@@ -0,0 +1,143 @@
1
+ body:has(#email-app) {
2
+ top: 4em;
3
+ }
4
+
5
+ #email-app {
6
+ display: grid;
7
+ grid-template-columns: 15em 1fr;
8
+ inset: 0;
9
+ position: absolute;
10
+ }
11
+
12
+ #email-sidebar {
13
+ display: flex;
14
+ flex-direction: column;
15
+ gap: 0.25em;
16
+ padding: 1em;
17
+
18
+ button.compose {
19
+ background-color: var(--bg-alt);
20
+ justify-content: center;
21
+ margin-bottom: 1em;
22
+ }
23
+
24
+ .email-sidebar-item {
25
+ display: flex;
26
+ align-items: center;
27
+ padding: 0.5em 1em;
28
+ border-radius: 1.5em;
29
+ cursor: pointer;
30
+ text-align: left;
31
+
32
+ &:hover {
33
+ background-color: var(--bg-alt);
34
+ }
35
+
36
+ &.active {
37
+ background-color: var(--bg-accent);
38
+ font-weight: bold;
39
+ }
40
+ }
41
+ }
42
+
43
+ #email-main {
44
+ display: flex;
45
+ flex-direction: column;
46
+ min-width: 0;
47
+ margin: 0 1em 1em 0;
48
+ border-radius: 1em;
49
+ background-color: var(--bg-menu);
50
+ overflow: hidden;
51
+
52
+ .bar {
53
+ display: flex;
54
+ align-items: center;
55
+ gap: 1em;
56
+ padding: 0.75em 1em;
57
+ font-weight: bold;
58
+
59
+ .label {
60
+ flex: 1;
61
+ }
62
+
63
+ button {
64
+ display: inline-flex;
65
+ }
66
+
67
+ @media (width >= 700px) {
68
+ .mobile-only {
69
+ display: none;
70
+ }
71
+ }
72
+ }
73
+
74
+ .warning {
75
+ margin: 1em 1em 0;
76
+ }
77
+
78
+ .email-list {
79
+ flex: 1;
80
+ overflow-y: auto;
81
+ display: flex;
82
+ flex-direction: column;
83
+
84
+ .empty {
85
+ text-align: center;
86
+ margin-top: 3em;
87
+ }
88
+ }
89
+ }
90
+
91
+ #email-view-container {
92
+ display: flex;
93
+ flex-direction: column;
94
+ gap: 1em;
95
+ min-width: 0;
96
+ margin: 0 1em 1em 0;
97
+ border-radius: 1em;
98
+ background-color: var(--bg-menu);
99
+ padding: 1em;
100
+ overflow: hidden;
101
+ }
102
+
103
+ @media (width < 700px) {
104
+ #email-app {
105
+ grid-template-columns: 1fr;
106
+ }
107
+
108
+ #email-main,
109
+ #email-view-container {
110
+ margin: 0;
111
+ border-radius: 0;
112
+ }
113
+
114
+ #email-sidebar {
115
+ container-type: inline-size;
116
+ position: absolute;
117
+ inset: 0;
118
+ z-index: 10;
119
+ background-color: var(--bg-menu);
120
+ translate: -100% 0;
121
+ opacity: 0;
122
+ visibility: hidden;
123
+ pointer-events: none;
124
+
125
+ &.active {
126
+ translate: 0 0;
127
+ opacity: 1;
128
+ visibility: visible;
129
+ pointer-events: auto;
130
+ }
131
+
132
+ @media not (prefers-reduced-motion) {
133
+ transition:
134
+ translate 0.25s ease,
135
+ opacity 0.25s ease,
136
+ visibility 0s linear 0.25s;
137
+
138
+ &.active {
139
+ transition-delay: 0s;
140
+ }
141
+ }
142
+ }
143
+ }
@@ -0,0 +1,13 @@
1
+ {
2
+ "extends": ["../tsconfig.json", "../.svelte-kit/tsconfig.json"],
3
+ "compilerOptions": {
4
+ "moduleResolution": "bundler",
5
+ "module": "esnext",
6
+ "noEmit": true,
7
+ "target": "esnext",
8
+ "rootDir": "..",
9
+ "types": ["@sveltejs/kit"]
10
+ },
11
+ "include": ["**/*", "../lib/*"],
12
+ "references": [{ "path": ".." }]
13
+ }