@fde-desktop/fde-core 0.3.8 → 0.4.2

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 (148) hide show
  1. package/README.md +419 -68
  2. package/dist/CalendarApp-CHLUCAI7.css +744 -0
  3. package/dist/CalendarApp-K7ZOUZ6C.js +2 -0
  4. package/dist/CalendarApp-OTGEERSS.cjs +8 -0
  5. package/dist/CodeServerApp-5KZGO7HL.css +75 -0
  6. package/dist/CodeServerApp-LUZFCQBI.js +3 -0
  7. package/dist/CodeServerApp-P3TMJPLY.cjs +9 -0
  8. package/dist/CreateItemApp-NAZMXOPK.cjs +14 -0
  9. package/dist/CreateItemApp-PQB5GTFG.css +107 -0
  10. package/dist/CreateItemApp-ZHCTSPQE.js +8 -0
  11. package/dist/DeviceInfoApp-R6YNVIGX.cjs +11 -0
  12. package/dist/DeviceInfoApp-YHCYAO6N.js +5 -0
  13. package/dist/DeviceInfoApp-ZSMRSITP.css +7 -0
  14. package/dist/FilesApp-AKCVRTXR.js +8 -0
  15. package/dist/FilesApp-E6L5W3T2.css +1817 -0
  16. package/dist/FilesApp-RW3Y6ILO.cjs +14 -0
  17. package/dist/ImageViewerApp-5UXNSW2O.js +11 -0
  18. package/dist/ImageViewerApp-N2Q7E7WZ.css +215 -0
  19. package/dist/ImageViewerApp-RRRRKSFN.cjs +17 -0
  20. package/dist/ImageViewerMenuBar-I3TFKQPS.cjs +14 -0
  21. package/dist/ImageViewerMenuBar-TV5C6TM2.js +5 -0
  22. package/dist/ImageViewerMenuBar-XLK4LIHW.css +56 -0
  23. package/dist/MenuEditApp-HUZRFEHE.js +9 -0
  24. package/dist/MenuEditApp-MCUHGTKQ.cjs +15 -0
  25. package/dist/MenuEditApp-YA6HSAMJ.css +94 -0
  26. package/dist/MenuEditMenuBar-7VHMZNRM.css +56 -0
  27. package/dist/MenuEditMenuBar-GF6L4PGZ.cjs +15 -0
  28. package/dist/MenuEditMenuBar-IUXFPZE5.js +6 -0
  29. package/dist/NotesApp-37BV33C6.js +10 -0
  30. package/dist/NotesApp-4EVUQEFZ.cjs +16 -0
  31. package/dist/NotesApp-TQ6IHDNX.css +302 -0
  32. package/dist/NotesMenuBar-25LKN3SE.cjs +15 -0
  33. package/dist/NotesMenuBar-MXLOX7OT.css +56 -0
  34. package/dist/NotesMenuBar-SRV3AIAL.js +6 -0
  35. package/dist/PdfApp-5VBDNRMC.cjs +16 -0
  36. package/dist/PdfApp-BUIC5U5H.css +206 -0
  37. package/dist/PdfApp-RH6MZZX5.js +10 -0
  38. package/dist/PdfMenuBar-NLZC6JHS.js +4 -0
  39. package/dist/PdfMenuBar-QUM72EE4.css +56 -0
  40. package/dist/PdfMenuBar-WBRTKMLN.cjs +13 -0
  41. package/dist/SettingsApp-5LDHEHYV.cjs +20 -0
  42. package/dist/SettingsApp-JVOSEFH3.css +283 -0
  43. package/dist/SettingsApp-X6764D7T.js +14 -0
  44. package/dist/SettingsMenuBar-5CBSSMVM.css +56 -0
  45. package/dist/SettingsMenuBar-VLT6TTCM.js +6 -0
  46. package/dist/SettingsMenuBar-Y5QEXDEO.cjs +15 -0
  47. package/dist/StorybookApp-NQ244BER.css +7 -0
  48. package/dist/StorybookApp-NZDV4X3Y.js +1 -0
  49. package/dist/StorybookApp-VF3KIMU3.cjs +7 -0
  50. package/dist/TerminalApp-CDGWRBFJ.cjs +10 -0
  51. package/dist/TerminalApp-EAATMIMX.css +77 -0
  52. package/dist/TerminalApp-GCKJCM55.js +4 -0
  53. package/dist/TerminalMenuBar-3J26O26Q.css +56 -0
  54. package/dist/TerminalMenuBar-7BH7MGNJ.cjs +14 -0
  55. package/dist/TerminalMenuBar-7JAEQUZ4.js +5 -0
  56. package/dist/UploaderApp-2WYRCUQV.js +10 -0
  57. package/dist/UploaderApp-6KV3TGCT.css +1817 -0
  58. package/dist/UploaderApp-EYFC36PM.cjs +16 -0
  59. package/dist/chunk-2FO445RM.cjs +449 -0
  60. package/dist/chunk-2PSTHGTD.cjs +42 -0
  61. package/dist/chunk-2RQX7QBP.cjs +148 -0
  62. package/dist/chunk-3IICBLEA.js +442 -0
  63. package/dist/chunk-43W6UDUZ.cjs +19 -0
  64. package/dist/chunk-4E45FBAH.js +223 -0
  65. package/dist/chunk-4MCFQPKY.js +444 -0
  66. package/dist/chunk-4OH5RPSQ.cjs +38 -0
  67. package/dist/chunk-4XURSNM4.js +43 -0
  68. package/dist/chunk-4ZCRYHL6.js +407 -0
  69. package/dist/chunk-54PYEQLK.js +283 -0
  70. package/dist/chunk-5C6IQE42.cjs +35 -0
  71. package/dist/chunk-5NOHYJNH.js +84 -0
  72. package/dist/chunk-5PYK5ASL.js +162 -0
  73. package/dist/chunk-5YH6AKEO.js +146 -0
  74. package/dist/chunk-657BJOY5.cjs +324 -0
  75. package/dist/chunk-6QOUYSEE.cjs +2303 -0
  76. package/dist/chunk-7SAFECOJ.js +215 -0
  77. package/dist/chunk-7Y7HB7FB.cjs +53 -0
  78. package/dist/chunk-ABIAPZ6S.cjs +45 -0
  79. package/dist/chunk-AQL372JF.cjs +219 -0
  80. package/dist/chunk-AXDUVZVP.cjs +88 -0
  81. package/dist/chunk-AYFNYHMP.js +541 -0
  82. package/dist/chunk-BDO6B7MZ.cjs +451 -0
  83. package/dist/chunk-BKXEA2BK.cjs +286 -0
  84. package/dist/chunk-BLV47DX2.js +47 -0
  85. package/dist/chunk-BQCD5RAF.cjs +48 -0
  86. package/dist/chunk-BQL3YXMV.js +17429 -0
  87. package/dist/chunk-C6BEZNAM.cjs +45 -0
  88. package/dist/chunk-CFWV2JMR.js +234 -0
  89. package/dist/chunk-CV5PUHAE.cjs +86 -0
  90. package/dist/chunk-D5MVFFID.js +42 -0
  91. package/dist/chunk-D7R55WWT.js +1601 -0
  92. package/dist/chunk-DMNF4CNN.cjs +49 -0
  93. package/dist/chunk-DWP2SYF7.js +55 -0
  94. package/dist/chunk-E55VXNLK.cjs +17498 -0
  95. package/dist/chunk-EAELL43F.js +42 -0
  96. package/dist/chunk-EUQLZW6P.js +48 -0
  97. package/dist/chunk-EX5V2ZTU.js +40 -0
  98. package/dist/chunk-FH4ILMKF.js +38 -0
  99. package/dist/chunk-FRHBM2U7.js +33 -0
  100. package/dist/chunk-FX2TPX3L.cjs +45 -0
  101. package/dist/chunk-GCYD6T52.js +32 -0
  102. package/dist/chunk-GRYCUBJZ.js +9 -0
  103. package/dist/chunk-HWHBSAUC.js +40 -0
  104. package/dist/chunk-ICUE6T7J.cjs +50 -0
  105. package/dist/chunk-IDHP3R4I.js +31 -0
  106. package/dist/chunk-IUOQPOEN.js +2293 -0
  107. package/dist/chunk-J7L2S2GT.cjs +34 -0
  108. package/dist/chunk-JEBKLIMU.cjs +123 -0
  109. package/dist/chunk-KQHICFX3.js +121 -0
  110. package/dist/chunk-LMJE6V4N.cjs +42 -0
  111. package/dist/chunk-MVDGM5Y4.js +68 -0
  112. package/dist/chunk-NVEGEK3N.js +31 -0
  113. package/dist/chunk-NWMSWRUD.js +2236 -0
  114. package/dist/chunk-ODXL6BR3.js +77 -0
  115. package/dist/chunk-OJIDKDKF.js +68 -0
  116. package/dist/chunk-PKPQA5NR.js +15 -0
  117. package/dist/chunk-PNDBLFJW.cjs +50 -0
  118. package/dist/chunk-PYTKNRGM.js +280 -0
  119. package/dist/chunk-Q3WA72BF.cjs +70 -0
  120. package/dist/chunk-QB72BLCJ.cjs +237 -0
  121. package/dist/chunk-QHBBLML3.js +86 -0
  122. package/dist/chunk-RDIDAZ3S.cjs +9 -0
  123. package/dist/chunk-RGJPRXYY.js +48 -0
  124. package/dist/chunk-RQ6OZRUW.cjs +41 -0
  125. package/dist/chunk-SBE4SZAN.cjs +226 -0
  126. package/dist/chunk-SYGUWGWK.cjs +2329 -0
  127. package/dist/chunk-TDZ43MUX.cjs +165 -0
  128. package/dist/chunk-TGWMOHAO.js +17 -0
  129. package/dist/chunk-U4RYIS6Z.cjs +548 -0
  130. package/dist/chunk-UIQCTAVM.cjs +59 -0
  131. package/dist/chunk-XVASHRCE.cjs +70 -0
  132. package/dist/chunk-XYSMVQQD.cjs +1608 -0
  133. package/dist/chunk-YAIWI4Z5.js +7 -0
  134. package/dist/chunk-YP2PLNOF.cjs +34 -0
  135. package/dist/chunk-YSOLW4FS.cjs +11 -0
  136. package/dist/chunk-YY6OUR2U.js +44 -0
  137. package/dist/chunk-YZWS7FDT.cjs +409 -0
  138. package/dist/chunk-Z5YGWL65.cjs +39 -0
  139. package/dist/chunk-ZBGWYTCU.cjs +83 -0
  140. package/dist/chunk-ZHB5Q2M6.js +36 -0
  141. package/dist/chunk-ZHNDXNL4.js +45 -0
  142. package/dist/chunk-ZX3EDZ5C.cjs +17 -0
  143. package/dist/index.cjs +4405 -5156
  144. package/dist/index.css +9192 -0
  145. package/dist/index.d.cts +1324 -762
  146. package/dist/index.d.ts +1324 -762
  147. package/dist/index.js +3648 -5038
  148. package/package.json +14 -6
@@ -0,0 +1,1817 @@
1
+ /* src/components/Apps/FilesApp/components/FolderTree.module.css */
2
+ .root {
3
+ display: flex;
4
+ flex-direction: column;
5
+ gap: 1px;
6
+ overflow-y: auto;
7
+ padding: 4px 0;
8
+ }
9
+ .item {
10
+ display: flex;
11
+ align-items: center;
12
+ padding: 5px 8px;
13
+ border-radius: 4px;
14
+ cursor: pointer;
15
+ user-select: none;
16
+ width: 100%;
17
+ transition: background 0.1s;
18
+ }
19
+ .item:hover {
20
+ background: light-dark(rgba(0, 0, 0, 0.05), rgba(255, 255, 255, 0.07));
21
+ }
22
+ .item[data-active] {
23
+ background: var(--mantine-primary-color-light);
24
+ color: var(--mantine-primary-color-filled);
25
+ }
26
+
27
+ /* src/components/Apps/FilesApp/components/FileList.module.css */
28
+ .grid {
29
+ display: flex;
30
+ flex-wrap: wrap;
31
+ align-content: flex-start;
32
+ gap: 4px;
33
+ padding: 8px;
34
+ }
35
+ .item {
36
+ display: flex;
37
+ flex-direction: column;
38
+ align-items: center;
39
+ gap: 4px;
40
+ padding: 8px 6px;
41
+ border-radius: 6px;
42
+ width: 80px;
43
+ cursor: default;
44
+ user-select: none;
45
+ transition: background 0.1s;
46
+ }
47
+ .item:hover {
48
+ background: light-dark(rgba(0, 0, 0, 0.06), rgba(255, 255, 255, 0.08));
49
+ }
50
+ .icon {
51
+ display: flex;
52
+ align-items: center;
53
+ justify-content: center;
54
+ width: 40px;
55
+ height: 40px;
56
+ }
57
+ .name {
58
+ text-align: center;
59
+ width: 100%;
60
+ max-width: 72px;
61
+ word-break: break-word;
62
+ display: -webkit-box;
63
+ line-clamp: 2;
64
+ -webkit-line-clamp: 2;
65
+ -webkit-box-orient: vertical;
66
+ overflow: hidden;
67
+ }
68
+ .empty {
69
+ display: flex;
70
+ align-items: center;
71
+ justify-content: center;
72
+ height: 100%;
73
+ padding: 24px;
74
+ }
75
+
76
+ /* src/components/Apps/FilesApp/FilesApp.module.css */
77
+ .root {
78
+ display: flex;
79
+ flex-direction: column;
80
+ height: 100%;
81
+ overflow: hidden;
82
+ position: relative;
83
+ }
84
+ .breadcrumbBar {
85
+ flex-shrink: 0;
86
+ padding: 6px 10px;
87
+ border-bottom: 1px solid light-dark(rgba(0, 0, 0, 0.08), rgba(255, 255, 255, 0.08));
88
+ background: light-dark(rgba(0, 0, 0, 0.02), rgba(255, 255, 255, 0.02));
89
+ }
90
+ .breadcrumbSep {
91
+ font-size: 12px;
92
+ color: var(--mantine-color-dimmed);
93
+ }
94
+ .body {
95
+ display: flex;
96
+ flex: 1;
97
+ min-height: 0;
98
+ overflow: hidden;
99
+ }
100
+ .sidebar {
101
+ width: 160px;
102
+ flex-shrink: 0;
103
+ border-right: 1px solid light-dark(rgba(0, 0, 0, 0.08), rgba(255, 255, 255, 0.08));
104
+ overflow-y: auto;
105
+ }
106
+ .content {
107
+ flex: 1;
108
+ overflow-y: auto;
109
+ min-width: 0;
110
+ }
111
+
112
+ /* src/components/Shared/FilePickerApp/FilePickerApp.module.css */
113
+ .root {
114
+ display: flex;
115
+ flex-direction: column;
116
+ height: 100%;
117
+ overflow: hidden;
118
+ }
119
+ .breadcrumbBar {
120
+ flex-shrink: 0;
121
+ padding: 6px 10px;
122
+ border-bottom: 1px solid light-dark(rgba(0, 0, 0, 0.08), rgba(255, 255, 255, 0.08));
123
+ background: light-dark(rgba(0, 0, 0, 0.02), rgba(255, 255, 255, 0.02));
124
+ }
125
+ .breadcrumbSep {
126
+ font-size: 12px;
127
+ color: var(--mantine-color-dimmed);
128
+ }
129
+ .body {
130
+ display: flex;
131
+ flex: 1;
132
+ min-height: 0;
133
+ overflow: hidden;
134
+ }
135
+ .sidebar {
136
+ width: 140px;
137
+ flex-shrink: 0;
138
+ border-right: 1px solid light-dark(rgba(0, 0, 0, 0.08), rgba(255, 255, 255, 0.08));
139
+ overflow-y: auto;
140
+ }
141
+ .folderTree {
142
+ display: flex;
143
+ flex-direction: column;
144
+ gap: 1px;
145
+ padding: 4px 0;
146
+ }
147
+ .treeItem {
148
+ display: flex;
149
+ align-items: center;
150
+ padding: 5px 8px;
151
+ border-radius: 4px;
152
+ cursor: pointer;
153
+ user-select: none;
154
+ width: 100%;
155
+ transition: background 0.1s;
156
+ }
157
+ .treeItem:hover {
158
+ background: light-dark(rgba(0, 0, 0, 0.05), rgba(255, 255, 255, 0.07));
159
+ }
160
+ .treeItem[data-active] {
161
+ background: var(--mantine-primary-color-light);
162
+ color: var(--mantine-primary-color-filled);
163
+ }
164
+ .content {
165
+ flex: 1;
166
+ overflow-y: auto;
167
+ min-width: 0;
168
+ }
169
+ .grid {
170
+ display: flex;
171
+ flex-wrap: wrap;
172
+ align-content: flex-start;
173
+ gap: 4px;
174
+ padding: 8px;
175
+ }
176
+ .item {
177
+ display: flex;
178
+ flex-direction: column;
179
+ align-items: center;
180
+ gap: 4px;
181
+ padding: 8px 6px;
182
+ border-radius: 6px;
183
+ width: 80px;
184
+ cursor: default;
185
+ user-select: none;
186
+ transition: background 0.1s;
187
+ }
188
+ .item:hover {
189
+ background: light-dark(rgba(0, 0, 0, 0.06), rgba(255, 255, 255, 0.08));
190
+ }
191
+ .item[data-selected] {
192
+ background: var(--mantine-primary-color-light);
193
+ outline: 1px solid var(--mantine-primary-color-filled);
194
+ }
195
+ .icon {
196
+ display: flex;
197
+ align-items: center;
198
+ justify-content: center;
199
+ width: 40px;
200
+ height: 40px;
201
+ }
202
+ .name {
203
+ text-align: center;
204
+ width: 100%;
205
+ max-width: 72px;
206
+ word-break: break-word;
207
+ display: -webkit-box;
208
+ line-clamp: 2;
209
+ -webkit-line-clamp: 2;
210
+ -webkit-box-orient: vertical;
211
+ overflow: hidden;
212
+ }
213
+ .empty {
214
+ display: flex;
215
+ align-items: center;
216
+ justify-content: center;
217
+ height: 100%;
218
+ padding: 24px;
219
+ }
220
+ .actionBar {
221
+ flex-shrink: 0;
222
+ display: flex;
223
+ align-items: center;
224
+ justify-content: space-between;
225
+ gap: 12px;
226
+ padding: 8px 12px;
227
+ border-top: 1px solid light-dark(rgba(0, 0, 0, 0.08), rgba(255, 255, 255, 0.08));
228
+ background: light-dark(rgba(0, 0, 0, 0.02), rgba(255, 255, 255, 0.02));
229
+ }
230
+ .selectedLabel {
231
+ flex: 1;
232
+ min-width: 0;
233
+ }
234
+ .saveActionBar {
235
+ flex-shrink: 0;
236
+ display: flex;
237
+ align-items: center;
238
+ gap: 8px;
239
+ padding: 8px 12px;
240
+ border-top: 1px solid light-dark(rgba(0, 0, 0, 0.08), rgba(255, 255, 255, 0.08));
241
+ background: light-dark(rgba(0, 0, 0, 0.02), rgba(255, 255, 255, 0.02));
242
+ }
243
+ .fileNameInput {
244
+ flex: 1;
245
+ min-width: 0;
246
+ }
247
+ .overlay {
248
+ position: absolute;
249
+ inset: 0;
250
+ background: rgba(0, 0, 0, 0.55);
251
+ display: flex;
252
+ align-items: center;
253
+ justify-content: center;
254
+ z-index: 10;
255
+ }
256
+ .panel {
257
+ width: 580px;
258
+ height: 400px;
259
+ background: var(--mantine-color-body);
260
+ border-radius: 8px;
261
+ overflow: hidden;
262
+ box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4);
263
+ }
264
+
265
+ /* src/components/Apps/NotesApp/NotesApp.module.css */
266
+ .container {
267
+ position: relative;
268
+ display: flex;
269
+ flex-direction: column;
270
+ width: 100%;
271
+ height: 100%;
272
+ overflow: hidden;
273
+ background-color: var(--mantine-color-body);
274
+ }
275
+ .toolbar {
276
+ display: flex;
277
+ flex-wrap: wrap;
278
+ align-items: center;
279
+ gap: 2px;
280
+ padding: 4px 8px;
281
+ border-bottom: 1px solid var(--mantine-color-default-border);
282
+ background-color: var(--mantine-color-default);
283
+ flex-shrink: 0;
284
+ }
285
+ .toolbarBtn {
286
+ display: flex;
287
+ align-items: center;
288
+ justify-content: center;
289
+ width: 28px;
290
+ height: 28px;
291
+ border: 1px solid transparent;
292
+ border-radius: var(--mantine-radius-sm);
293
+ background: transparent;
294
+ color: var(--mantine-color-text);
295
+ cursor: pointer;
296
+ font-size: 16px;
297
+ line-height: 1;
298
+ flex-shrink: 0;
299
+ transition: background-color 80ms ease, border-color 80ms ease;
300
+ }
301
+ .toolbarBtn svg {
302
+ width: 1em;
303
+ height: 1em;
304
+ flex-shrink: 0;
305
+ }
306
+ .toolbarBtn:hover:not(:disabled) {
307
+ background-color: var(--mantine-color-default-hover);
308
+ border-color: var(--mantine-color-default-border);
309
+ }
310
+ .toolbarBtn:disabled {
311
+ opacity: 0.4;
312
+ cursor: not-allowed;
313
+ }
314
+ .toolbarBtn.active {
315
+ background-color: var(--mantine-color-blue-light);
316
+ border-color: var(--mantine-color-blue-light-hover);
317
+ color: var(--mantine-color-blue-light-color);
318
+ }
319
+ .separator {
320
+ width: 1px;
321
+ height: 18px;
322
+ background-color: var(--mantine-color-default-border);
323
+ margin: 0 4px;
324
+ flex-shrink: 0;
325
+ }
326
+ .editorContent {
327
+ flex: 1;
328
+ overflow-y: auto;
329
+ padding: 16px 20px;
330
+ }
331
+ .editorContent :global(.ProseMirror) {
332
+ outline: none;
333
+ min-height: 100%;
334
+ font-size: 14px;
335
+ line-height: 1.6;
336
+ color: var(--mantine-color-text);
337
+ }
338
+ .editorContent :global(.ProseMirror p) {
339
+ margin: 0 0 8px;
340
+ }
341
+ .editorContent :global(.ProseMirror h1) {
342
+ font-size: 1.8em;
343
+ font-weight: 700;
344
+ margin: 0 0 12px;
345
+ line-height: 1.2;
346
+ }
347
+ .editorContent :global(.ProseMirror h2) {
348
+ font-size: 1.4em;
349
+ font-weight: 600;
350
+ margin: 0 0 10px;
351
+ line-height: 1.3;
352
+ }
353
+ .editorContent :global(.ProseMirror h3) {
354
+ font-size: 1.2em;
355
+ font-weight: 600;
356
+ margin: 0 0 8px;
357
+ }
358
+ .editorContent :global(.ProseMirror ul),
359
+ .editorContent :global(.ProseMirror ol) {
360
+ padding-left: 24px;
361
+ margin: 0 0 8px;
362
+ }
363
+ .editorContent :global(.ProseMirror li) {
364
+ margin-bottom: 2px;
365
+ }
366
+ .editorContent :global(.ProseMirror blockquote) {
367
+ border-left: 3px solid var(--mantine-color-blue-4);
368
+ padding-left: 12px;
369
+ margin: 0 0 8px;
370
+ color: var(--mantine-color-dimmed);
371
+ font-style: italic;
372
+ }
373
+ .editorContent :global(.ProseMirror code) {
374
+ font-family: "Courier New", monospace;
375
+ font-size: 0.9em;
376
+ background-color: var(--mantine-color-default-hover);
377
+ border-radius: 3px;
378
+ padding: 1px 4px;
379
+ }
380
+ .editorContent :global(.ProseMirror pre) {
381
+ background-color: var(--mantine-color-dark-7, #1a1a2e);
382
+ color: var(--mantine-color-gray-1, #f0f0f0);
383
+ border-radius: var(--mantine-radius-sm);
384
+ padding: 12px 16px;
385
+ margin: 0 0 12px;
386
+ overflow-x: auto;
387
+ }
388
+ .editorContent :global(.ProseMirror pre code) {
389
+ background: none;
390
+ padding: 0;
391
+ font-size: 0.875em;
392
+ }
393
+ .editorContent :global(.ProseMirror hr) {
394
+ border: none;
395
+ border-top: 2px solid var(--mantine-color-default-border);
396
+ margin: 16px 0;
397
+ }
398
+ .editorContent :global(.ProseMirror strong) {
399
+ font-weight: 700;
400
+ }
401
+ .editorContent :global(.ProseMirror em) {
402
+ font-style: italic;
403
+ }
404
+ .editorContent :global(.ProseMirror s) {
405
+ text-decoration: line-through;
406
+ }
407
+ .editorContent :global(.ProseMirror p.is-editor-empty:first-child::before) {
408
+ content: attr(data-placeholder);
409
+ color: var(--mantine-color-dimmed);
410
+ pointer-events: none;
411
+ float: left;
412
+ height: 0;
413
+ }
414
+
415
+ /* src/components/Shared/AppEmptyState/AppEmptyState.module.css */
416
+ .root {
417
+ position: relative;
418
+ width: 100%;
419
+ height: 100%;
420
+ display: flex;
421
+ justify-content: center;
422
+ align-items: center;
423
+ }
424
+ .container {
425
+ list-style: none;
426
+ padding: 0;
427
+ margin: 0;
428
+ display: flex;
429
+ flex-wrap: wrap;
430
+ gap: 10px;
431
+ width: 300px;
432
+ flex-direction: row;
433
+ justify-content: center;
434
+ align-items: center;
435
+ }
436
+ .item {
437
+ width: 100px;
438
+ height: 100px;
439
+ border-radius: 10px;
440
+ }
441
+ .label {
442
+ position: absolute;
443
+ inset: 0;
444
+ display: flex;
445
+ justify-content: center;
446
+ align-items: center;
447
+ margin: 0;
448
+ font-size: 0.9rem;
449
+ font-weight: 600;
450
+ color: #fff;
451
+ text-shadow: 0 1px 8px rgba(0, 0, 0, 0.5);
452
+ letter-spacing: 0.04em;
453
+ pointer-events: none;
454
+ }
455
+
456
+ /* src/components/Apps/ImageViewerApp/ImageViewerApp.module.css */
457
+ .container {
458
+ position: relative;
459
+ width: 100%;
460
+ height: 100%;
461
+ display: flex;
462
+ align-items: center;
463
+ justify-content: center;
464
+ background-color: var(--mantine-color-dark-9, #1a1a1a);
465
+ overflow: hidden;
466
+ }
467
+ .image {
468
+ max-width: 100%;
469
+ max-height: 100%;
470
+ object-fit: contain;
471
+ display: block;
472
+ }
473
+ .placeholder {
474
+ color: var(--mantine-color-dimmed);
475
+ text-align: center;
476
+ }
477
+
478
+ /* src/components/Apps/PdfApp/PdfApp.module.css */
479
+ .container {
480
+ position: relative;
481
+ width: 100%;
482
+ height: 100%;
483
+ }
484
+ .frame {
485
+ width: 100%;
486
+ height: 100%;
487
+ border: none;
488
+ display: block;
489
+ }
490
+
491
+ /* src/hooks/useDragDrop/DragOverlay.module.css */
492
+ .dragOverlay {
493
+ display: flex;
494
+ flex-direction: column;
495
+ align-items: center;
496
+ gap: 4px;
497
+ padding: 8px 12px;
498
+ border-radius: 4px;
499
+ background: var(--mantine-color-gray-1);
500
+ box-shadow: var(--mantine-shadow-md);
501
+ pointer-events: none;
502
+ }
503
+ [data-mantine-color-scheme=dark] .dragOverlay {
504
+ background: var(--mantine-color-dark-5);
505
+ }
506
+
507
+ /* src/components/Apps/MenuEditApp/MenuEditApp.module.css */
508
+ .container {
509
+ padding: 16px;
510
+ height: 100%;
511
+ overflow-y: auto;
512
+ }
513
+ .content {
514
+ display: flex;
515
+ flex-direction: column;
516
+ gap: 8px;
517
+ }
518
+ .folderList {
519
+ display: flex;
520
+ flex-direction: column;
521
+ gap: 12px;
522
+ }
523
+ .folderCard {
524
+ transition: box-shadow 0.15s ease;
525
+ }
526
+ .folderCard[data-is-over=true] {
527
+ box-shadow: var(--mantine-shadow-md);
528
+ outline: 2px solid var(--mantine-color-blue-5);
529
+ }
530
+ .folderHeader {
531
+ display: flex;
532
+ align-items: center;
533
+ justify-content: space-between;
534
+ padding: 8px 12px;
535
+ border-bottom: 1px solid var(--mantine-color-gray-2);
536
+ }
537
+ [data-mantine-color-scheme=dark] .folderHeader {
538
+ border-bottom-color: var(--mantine-color-dark-4);
539
+ }
540
+ .appList {
541
+ display: flex;
542
+ flex-direction: row;
543
+ flex-wrap: wrap;
544
+ gap: 4px;
545
+ padding: 8px 12px;
546
+ min-height: 40px;
547
+ }
548
+ .availableApps {
549
+ margin-top: 16px;
550
+ }
551
+ .availableApps[data-is-over=true] {
552
+ box-shadow: var(--mantine-shadow-md);
553
+ outline: 2px solid var(--mantine-color-blue-5);
554
+ }
555
+ .appGrid {
556
+ display: flex;
557
+ flex-wrap: wrap;
558
+ gap: 8px;
559
+ }
560
+ .appItem {
561
+ display: flex;
562
+ flex-direction: column;
563
+ align-items: center;
564
+ gap: 4px;
565
+ padding: 8px;
566
+ border-radius: 4px;
567
+ cursor: grab;
568
+ transition: background-color 0.15s ease, opacity 0.15s ease;
569
+ min-width: 60px;
570
+ user-select: none;
571
+ }
572
+ .appItem:hover {
573
+ background-color: var(--mantine-color-gray-1);
574
+ }
575
+ [data-mantine-color-scheme=dark] .appItem:hover {
576
+ background-color: var(--mantine-color-dark-5);
577
+ }
578
+ .appItem:active {
579
+ cursor: grabbing;
580
+ opacity: 0.7;
581
+ }
582
+ .appItem[data-dragging=true] {
583
+ opacity: 0.5;
584
+ }
585
+
586
+ /* src/components/Shared/ColorPicker/ColorPicker.module.css */
587
+ .root {
588
+ display: flex;
589
+ flex-direction: column;
590
+ gap: 8px;
591
+ }
592
+ .colorRow {
593
+ display: flex;
594
+ flex-wrap: wrap;
595
+ gap: 6px;
596
+ }
597
+ .colorSwatch {
598
+ width: 24px;
599
+ height: 24px;
600
+ border-radius: 50%;
601
+ border: 2px solid transparent;
602
+ cursor: pointer;
603
+ transition: transform 0.1s, border-color 0.1s;
604
+ }
605
+ .colorSwatch:hover:not([data-disabled]) {
606
+ transform: scale(1.15);
607
+ }
608
+ .colorSwatch[data-selected] {
609
+ border-color: var(--mantine-color-text);
610
+ transform: scale(1.15);
611
+ }
612
+ .colorSwatch[data-disabled] {
613
+ cursor: not-allowed;
614
+ opacity: 0.5;
615
+ }
616
+ .colorInput {
617
+ margin-top: 2px;
618
+ }
619
+
620
+ /* src/components/Shared/DownloadProgress/DownloadProgress.module.css */
621
+ .spinner {
622
+ animation: spin 1s linear infinite;
623
+ }
624
+ @keyframes spin {
625
+ from {
626
+ transform: rotate(0deg);
627
+ }
628
+ to {
629
+ transform: rotate(360deg);
630
+ }
631
+ }
632
+
633
+ /* src/components/Shared/LanguageFlag/LanguageFlag.module.css */
634
+ .container {
635
+ display: inline-flex;
636
+ border-radius: 2px;
637
+ overflow: hidden;
638
+ flex-shrink: 0;
639
+ }
640
+ .flag {
641
+ width: 100%;
642
+ height: 100%;
643
+ display: block;
644
+ }
645
+
646
+ /* src/components/Apps/SettingsApp/SettingsApp.module.css */
647
+ .root {
648
+ display: flex;
649
+ height: 100%;
650
+ overflow: hidden;
651
+ position: relative;
652
+ }
653
+ .sidebar {
654
+ width: 160px;
655
+ flex-shrink: 0;
656
+ border-right: 1px solid light-dark(rgba(0, 0, 0, 0.08), rgba(255, 255, 255, 0.08));
657
+ overflow-y: auto;
658
+ padding: 4px 0;
659
+ }
660
+ .navItem {
661
+ display: flex;
662
+ align-items: center;
663
+ padding: 5px 8px;
664
+ border-radius: 4px;
665
+ cursor: pointer;
666
+ user-select: none;
667
+ width: 100%;
668
+ transition: background 0.1s;
669
+ background: transparent;
670
+ border: none;
671
+ color: inherit;
672
+ font: inherit;
673
+ text-align: left;
674
+ }
675
+ .navItem:hover {
676
+ background: light-dark(rgba(0, 0, 0, 0.05), rgba(255, 255, 255, 0.07));
677
+ }
678
+ .navItem[data-active] {
679
+ background: var(--mantine-primary-color-light);
680
+ color: var(--mantine-primary-color-filled);
681
+ }
682
+ .content {
683
+ flex: 1;
684
+ overflow-y: auto;
685
+ min-width: 0;
686
+ }
687
+ .overviewPadding {
688
+ padding: 16px;
689
+ }
690
+ .sectionCard {
691
+ cursor: pointer;
692
+ transition: background 0.15s;
693
+ }
694
+ .sectionCard:hover {
695
+ background: light-dark(rgba(0, 0, 0, 0.03), rgba(255, 255, 255, 0.04));
696
+ }
697
+ .toolbar {
698
+ display: flex;
699
+ align-items: center;
700
+ justify-content: flex-end;
701
+ padding: 6px 12px;
702
+ border-bottom: 1px solid light-dark(rgba(0, 0, 0, 0.08), rgba(255, 255, 255, 0.08));
703
+ background-color: light-dark(#f8f9fa, #1a1b1e);
704
+ flex-shrink: 0;
705
+ }
706
+ .dirtyIndicator {
707
+ color: var(--mantine-color-orange-6);
708
+ font-size: 10px;
709
+ line-height: 1;
710
+ margin-left: auto;
711
+ }
712
+ .versionFooter {
713
+ padding-top: 12px;
714
+ opacity: 0.6;
715
+ }
716
+
717
+ /* src/components/Apps/DeviceInfoApp/DeviceInfoApp.module.css */
718
+ .container {
719
+ padding: 16px;
720
+ height: 100%;
721
+ overflow: auto;
722
+ background: var(--mantine-color-body);
723
+ }
724
+
725
+ /* ../../node_modules/.bun/@mantine+dates@9.0.0+7c0e6e23d8f8fc3c/node_modules/@mantine/dates/styles.css */
726
+ .m_468e7eda {
727
+ padding-top: 0;
728
+ padding-bottom: 0;
729
+ appearance: none;
730
+ }
731
+ .m_468e7eda::-webkit-calendar-picker-indicator {
732
+ display: none;
733
+ }
734
+ .m_468e7eda::-webkit-clear-button {
735
+ display: none;
736
+ }
737
+ .m_468e7eda::-webkit-datetime-edit-hour-field,
738
+ .m_468e7eda::-webkit-datetime-edit-minute-field,
739
+ .m_468e7eda::-webkit-datetime-edit-second-field,
740
+ .m_468e7eda::-webkit-datetime-edit-ampm-field {
741
+ padding-top: 0;
742
+ max-height: calc(1.875rem * var(--mantine-scale));
743
+ display: inline;
744
+ }
745
+ .m_468e7eda::-webkit-datetime-edit-hour-field:focus,
746
+ .m_468e7eda::-webkit-datetime-edit-minute-field:focus,
747
+ .m_468e7eda::-webkit-datetime-edit-second-field:focus,
748
+ .m_468e7eda::-webkit-datetime-edit-ampm-field:focus {
749
+ background-color: var(--mantine-primary-color-filled);
750
+ color: var(--mantine-color-white);
751
+ }
752
+ .m_7a8f1e6d {
753
+ display: flex;
754
+ align-items: center;
755
+ height: 100%;
756
+ overflow: hidden;
757
+ }
758
+ :where([dir=rtl]) .m_7a8f1e6d {
759
+ flex-direction: row-reverse;
760
+ }
761
+ .m_d6bb0a54 {
762
+ display: flex;
763
+ align-items: center;
764
+ height: calc(var(--input-height) - 15px);
765
+ }
766
+ .m_b97ecb26 {
767
+ display: flex;
768
+ flex-direction: column;
769
+ }
770
+ .m_31fe42f9 {
771
+ display: flex;
772
+ gap: calc(0.25rem * var(--mantine-scale));
773
+ }
774
+ .m_9c4817c3 {
775
+ padding: calc(0.25rem * var(--mantine-scale));
776
+ }
777
+ .m_154c536b {
778
+ text-align: center;
779
+ min-width: 2.5em;
780
+ width: max-content;
781
+ height: 2em;
782
+ border-radius: var(--mantine-radius-default);
783
+ font-size: var(--control-font-size, var(--mantine-font-size-sm));
784
+ }
785
+ .m_154c536b:where([data-active]) {
786
+ background-color: var(--mantine-primary-color-filled);
787
+ color: var(--mantine-color-white);
788
+ }
789
+ @media (hover: hover) {
790
+ .m_154c536b:hover:where(:not([data-active])) {
791
+ color: var(--mantine-color-bright);
792
+ }
793
+ :where([data-mantine-color-scheme=dark]) .m_154c536b:hover:where(:not([data-active])) {
794
+ background-color: var(--mantine-color-dark-5);
795
+ }
796
+ :where([data-mantine-color-scheme=light]) .m_154c536b:hover:where(:not([data-active])) {
797
+ background-color: var(--mantine-color-gray-1);
798
+ }
799
+ }
800
+ @media (hover: none) {
801
+ .m_154c536b:active:where(:not([data-active])) {
802
+ color: var(--mantine-color-bright);
803
+ }
804
+ :where([data-mantine-color-scheme=dark]) .m_154c536b:active:where(:not([data-active])) {
805
+ background-color: var(--mantine-color-dark-5);
806
+ }
807
+ :where([data-mantine-color-scheme=light]) .m_154c536b:active:where(:not([data-active])) {
808
+ background-color: var(--mantine-color-gray-1);
809
+ }
810
+ }
811
+ .m_7be09d0c {
812
+ text-align: center;
813
+ height: 2em;
814
+ padding-inline: 0.5em;
815
+ border-radius: var(--mantine-radius-default);
816
+ font-size: var(--control-font-size, var(--mantine-font-size-sm));
817
+ }
818
+ .m_7be09d0c:where([data-active]) {
819
+ background-color: var(--mantine-primary-color-filled);
820
+ color: var(--mantine-color-white);
821
+ }
822
+ @media (hover: hover) {
823
+ .m_7be09d0c:hover:where(:not([data-active])) {
824
+ color: var(--mantine-color-bright);
825
+ }
826
+ :where([data-mantine-color-scheme=dark]) .m_7be09d0c:hover:where(:not([data-active])) {
827
+ background-color: var(--mantine-color-dark-5);
828
+ }
829
+ :where([data-mantine-color-scheme=light]) .m_7be09d0c:hover:where(:not([data-active])) {
830
+ background-color: var(--mantine-color-gray-1);
831
+ }
832
+ }
833
+ @media (hover: none) {
834
+ .m_7be09d0c:active:where(:not([data-active])) {
835
+ color: var(--mantine-color-bright);
836
+ }
837
+ :where([data-mantine-color-scheme=dark]) .m_7be09d0c:active:where(:not([data-active])) {
838
+ background-color: var(--mantine-color-dark-5);
839
+ }
840
+ :where([data-mantine-color-scheme=light]) .m_7be09d0c:active:where(:not([data-active])) {
841
+ background-color: var(--mantine-color-gray-1);
842
+ }
843
+ }
844
+ .m_7d00001d + .m_7d00001d {
845
+ margin-top: var(--mantine-spacing-sm);
846
+ }
847
+ .m_d8d918d7 {
848
+ margin-bottom: calc(0.25rem * var(--mantine-scale));
849
+ color: var(--mantine-color-dimmed);
850
+ font-size: calc(var(--control-font-size, var(--mantine-font-size-sm)) - 2px);
851
+ font-weight: var(--mantine-font-weight-medium);
852
+ display: flex;
853
+ align-items: center;
854
+ padding-inline-start: calc(0.4375rem * var(--mantine-scale));
855
+ }
856
+ .m_d8d918d7::after {
857
+ content: "";
858
+ width: 100%;
859
+ height: calc(0.0625rem * var(--mantine-scale));
860
+ flex: 1;
861
+ margin-inline-start: var(--mantine-spacing-xs);
862
+ }
863
+ :where([data-mantine-color-scheme=light]) .m_d8d918d7::after {
864
+ background-color: var(--mantine-color-gray-2);
865
+ }
866
+ :where([data-mantine-color-scheme=dark]) .m_d8d918d7::after {
867
+ background-color: var(--mantine-color-dark-4);
868
+ }
869
+ .m_6b43ba88 {
870
+ width: calc(2ch + 0.3em);
871
+ caret-color: transparent;
872
+ font-variant-numeric: tabular-nums;
873
+ position: relative;
874
+ height: 100%;
875
+ line-height: 1;
876
+ padding-inline: 0.15em;
877
+ border: 0;
878
+ text-align: center;
879
+ text-align-last: center;
880
+ background-color: transparent;
881
+ color: var(--input-color);
882
+ border-radius: calc(0.125rem * var(--mantine-scale));
883
+ appearance: none;
884
+ }
885
+ .m_6b43ba88:where([data-am-pm]) {
886
+ width: auto;
887
+ }
888
+ .m_6b43ba88:where(:disabled) {
889
+ cursor: not-allowed;
890
+ }
891
+ .m_6b43ba88::selection {
892
+ background-color: transparent;
893
+ }
894
+ .m_6b43ba88::placeholder {
895
+ opacity: 1;
896
+ color: inherit;
897
+ }
898
+ .m_6b43ba88:focus {
899
+ background-color: var(--mantine-primary-color-filled);
900
+ color: var(--mantine-color-white);
901
+ outline: 0;
902
+ }
903
+ .m_6b43ba88:focus::placeholder {
904
+ color: var(--mantine-color-white);
905
+ }
906
+ .m_396ce5cb {
907
+ --day-size-xs: calc(1.875rem * var(--mantine-scale));
908
+ --day-size-sm: calc(2.25rem * var(--mantine-scale));
909
+ --day-size-md: calc(2.625rem * var(--mantine-scale));
910
+ --day-size-lg: calc(3rem * var(--mantine-scale));
911
+ --day-size-xl: calc(3.375rem * var(--mantine-scale));
912
+ --day-size: var(--day-size-sm);
913
+ width: var(--day-size, var(--day-size-sm));
914
+ height: var(--day-size, var(--day-size-sm));
915
+ font-size: calc(var(--day-size) / 2.8);
916
+ display: inline-flex;
917
+ justify-content: center;
918
+ align-items: center;
919
+ user-select: none;
920
+ cursor: pointer;
921
+ background-color: transparent;
922
+ border-radius: var(--mantine-radius-default);
923
+ color: var(--mantine-color-text);
924
+ opacity: 1;
925
+ }
926
+ @media (hover: hover) {
927
+ [data-mantine-color-scheme=light] .m_396ce5cb:hover:where(:not([data-static], [data-disabled], [data-selected], [data-in-range])) {
928
+ background-color: var(--mantine-color-gray-0);
929
+ }
930
+ [data-mantine-color-scheme=dark] .m_396ce5cb:hover:where(:not([data-static], [data-disabled], [data-selected], [data-in-range])) {
931
+ background-color: var(--mantine-color-dark-5);
932
+ }
933
+ }
934
+ @media (hover: none) {
935
+ [data-mantine-color-scheme=light] .m_396ce5cb:active:where(:not([data-static], [data-disabled], [data-selected], [data-in-range])) {
936
+ background-color: var(--mantine-color-gray-0);
937
+ }
938
+ [data-mantine-color-scheme=dark] .m_396ce5cb:active:where(:not([data-static], [data-disabled], [data-selected], [data-in-range])) {
939
+ background-color: var(--mantine-color-dark-5);
940
+ }
941
+ }
942
+ .m_396ce5cb:where([data-static]) {
943
+ user-select: auto;
944
+ cursor: default;
945
+ }
946
+ .m_396ce5cb:where([data-weekend]) {
947
+ color: var(--mantine-color-red-6);
948
+ }
949
+ .m_396ce5cb:where([data-outside]) {
950
+ color: var(--mantine-color-dimmed);
951
+ opacity: 0.5;
952
+ }
953
+ .m_396ce5cb:where(:disabled, [data-disabled]) {
954
+ color: var(--mantine-color-disabled-color);
955
+ cursor: not-allowed;
956
+ opacity: 0.5;
957
+ }
958
+ .m_396ce5cb:where([data-hidden]) {
959
+ display: none;
960
+ }
961
+ :where([data-mantine-color-scheme=light]) .m_396ce5cb:where([data-today][data-highlight-today]:not([data-selected], [data-in-range])) {
962
+ border: 1px solid var(--mantine-color-gray-4);
963
+ }
964
+ :where([data-mantine-color-scheme=dark]) .m_396ce5cb:where([data-today][data-highlight-today]:not([data-selected], [data-in-range])) {
965
+ border: 1px solid var(--mantine-color-dark-4);
966
+ }
967
+ .m_396ce5cb:where([data-in-range]) {
968
+ background-color: var(--mantine-primary-color-light);
969
+ border-radius: 0;
970
+ }
971
+ @media (hover: hover) {
972
+ .m_396ce5cb:where([data-in-range]):hover:where(:not([data-disabled], [data-static])) {
973
+ background-color: var(--mantine-primary-color-light);
974
+ }
975
+ }
976
+ @media (hover: none) {
977
+ .m_396ce5cb:where([data-in-range]):active:where(:not([data-disabled], [data-static])) {
978
+ background-color: var(--mantine-primary-color-light);
979
+ }
980
+ }
981
+ .m_396ce5cb:where([data-first-in-range]) {
982
+ border-radius: 0;
983
+ border-start-start-radius: var(--mantine-radius-default);
984
+ border-end-start-radius: var(--mantine-radius-default);
985
+ }
986
+ .m_396ce5cb:where([data-last-in-range]) {
987
+ border-radius: 0;
988
+ border-end-end-radius: var(--mantine-radius-default);
989
+ border-start-end-radius: var(--mantine-radius-default);
990
+ }
991
+ .m_396ce5cb:where([data-last-in-range][data-first-in-range]) {
992
+ border-radius: var(--mantine-radius-default);
993
+ }
994
+ .m_396ce5cb:where([data-full-width]) {
995
+ width: 100%;
996
+ height: auto;
997
+ min-height: var(--day-size);
998
+ aspect-ratio: 1;
999
+ }
1000
+ .m_396ce5cb:where([data-selected]) {
1001
+ background-color: var(--mantine-primary-color-filled);
1002
+ color: var(--mantine-primary-color-contrast);
1003
+ }
1004
+ @media (hover: hover) {
1005
+ .m_396ce5cb:where([data-selected]):hover:where(:not([data-disabled], [data-static])) {
1006
+ background-color: var(--mantine-primary-color-filled-hover);
1007
+ }
1008
+ }
1009
+ @media (hover: none) {
1010
+ .m_396ce5cb:where([data-selected]):active:where(:not([data-disabled], [data-static])) {
1011
+ background-color: var(--mantine-primary-color-filled-hover);
1012
+ }
1013
+ }
1014
+ .m_18a3eca {
1015
+ color: var(--mantine-color-dimmed);
1016
+ font-weight: var(--mantine-font-weight-regular);
1017
+ font-size: var(--wr-fz, var(--mantine-font-size-sm));
1018
+ text-transform: capitalize;
1019
+ padding-bottom: calc(var(--wr-spacing, var(--mantine-spacing-sm)) / 2);
1020
+ }
1021
+ .m_cc9820d3 {
1022
+ border-collapse: collapse;
1023
+ table-layout: fixed;
1024
+ }
1025
+ .m_cc9820d3[data-full-width] {
1026
+ width: 100%;
1027
+ }
1028
+ .m_8f457cd5 {
1029
+ padding: 0;
1030
+ }
1031
+ .m_8f457cd5:where([data-with-spacing]) {
1032
+ padding: calc(0.03125rem * var(--mantine-scale));
1033
+ }
1034
+ .m_6cff9dea {
1035
+ --wn-size-xs: calc(1.875rem * var(--mantine-scale));
1036
+ --wn-size-sm: calc(2.25rem * var(--mantine-scale));
1037
+ --wn-size-md: calc(2.625rem * var(--mantine-scale));
1038
+ --wn-size-lg: calc(3rem * var(--mantine-scale));
1039
+ --wn-size-xl: calc(3.375rem * var(--mantine-scale));
1040
+ color: var(--mantine-color-dimmed);
1041
+ font-weight: var(--mantine-font-weight-regular);
1042
+ font-size: calc(var(--wn-size, var(--wn-size-sm)) / 2.8);
1043
+ text-align: center;
1044
+ width: var(--wn-size, var(--wn-size-sm));
1045
+ }
1046
+ .m_dc6a3c71 {
1047
+ --dpc-size-xs: calc(1.875rem * var(--mantine-scale));
1048
+ --dpc-size-sm: calc(2.25rem * var(--mantine-scale));
1049
+ --dpc-size-md: calc(2.625rem * var(--mantine-scale));
1050
+ --dpc-size-lg: calc(3rem * var(--mantine-scale));
1051
+ --dpc-size-xl: calc(3.375rem * var(--mantine-scale));
1052
+ --dpc-size: var(--dpc-size-sm);
1053
+ font-size: var(--dpc-fz, var(--mantine-font-size-sm));
1054
+ height: var(--dpc-size);
1055
+ width: calc((var(--dpc-size) * 7) / 3 + calc(0.09375rem * var(--mantine-scale)));
1056
+ display: flex;
1057
+ justify-content: center;
1058
+ align-items: center;
1059
+ user-select: none;
1060
+ cursor: pointer;
1061
+ background-color: transparent;
1062
+ color: var(--mantine-color-text);
1063
+ opacity: 1;
1064
+ border-radius: var(--mantine-radius-default);
1065
+ }
1066
+ @media (hover: hover) {
1067
+ :where([data-mantine-color-scheme=light]) .m_dc6a3c71:hover:where(:not([data-disabled], :disabled)) {
1068
+ background-color: var(--mantine-color-gray-0);
1069
+ }
1070
+ :where([data-mantine-color-scheme=dark]) .m_dc6a3c71:hover:where(:not([data-disabled], :disabled)) {
1071
+ background-color: var(--mantine-color-dark-5);
1072
+ }
1073
+ }
1074
+ @media (hover: none) {
1075
+ :where([data-mantine-color-scheme=light]) .m_dc6a3c71:active:where(:not([data-disabled], :disabled)) {
1076
+ background-color: var(--mantine-color-gray-0);
1077
+ }
1078
+ :where([data-mantine-color-scheme=dark]) .m_dc6a3c71:active:where(:not([data-disabled], :disabled)) {
1079
+ background-color: var(--mantine-color-dark-5);
1080
+ }
1081
+ }
1082
+ .m_dc6a3c71:where(:disabled, [data-disabled]) {
1083
+ color: var(--mantine-color-disabled-color);
1084
+ cursor: not-allowed;
1085
+ opacity: 0.5;
1086
+ }
1087
+ .m_dc6a3c71:where([data-selected]) {
1088
+ background-color: var(--mantine-primary-color-filled);
1089
+ color: var(--mantine-primary-color-contrast, var(--mantine-color-white));
1090
+ }
1091
+ @media (hover: hover) {
1092
+ .m_dc6a3c71:where([data-selected]):hover {
1093
+ background-color: var(--mantine-primary-color-filled-hover);
1094
+ }
1095
+ }
1096
+ @media (hover: none) {
1097
+ .m_dc6a3c71:where([data-selected]):active {
1098
+ background-color: var(--mantine-primary-color-filled-hover);
1099
+ }
1100
+ }
1101
+ .m_dc6a3c71:where([data-in-range]) {
1102
+ background-color: var(--mantine-primary-color-light-hover);
1103
+ border-radius: 0;
1104
+ }
1105
+ @media (hover: hover) {
1106
+ .m_dc6a3c71:where([data-in-range]):hover {
1107
+ background-color: var(--mantine-primary-color-light);
1108
+ }
1109
+ }
1110
+ @media (hover: none) {
1111
+ .m_dc6a3c71:where([data-in-range]):active {
1112
+ background-color: var(--mantine-primary-color-light);
1113
+ }
1114
+ }
1115
+ .m_dc6a3c71:where([data-first-in-range]) {
1116
+ border-radius: 0;
1117
+ border-start-start-radius: var(--mantine-radius-default);
1118
+ border-end-start-radius: var(--mantine-radius-default);
1119
+ }
1120
+ .m_dc6a3c71:where([data-last-in-range]) {
1121
+ border-radius: 0;
1122
+ border-end-end-radius: var(--mantine-radius-default);
1123
+ border-start-end-radius: var(--mantine-radius-default);
1124
+ }
1125
+ .m_dc6a3c71:where([data-first-in-range][data-last-in-range]) {
1126
+ border-radius: var(--mantine-radius-default);
1127
+ }
1128
+ .m_dc6a3c71:where([data-full-width]) {
1129
+ width: 100%;
1130
+ }
1131
+ .m_9206547b {
1132
+ border-collapse: collapse;
1133
+ border-width: 0;
1134
+ }
1135
+ .m_9206547b[data-full-width] {
1136
+ width: 100%;
1137
+ }
1138
+ .m_c5a19c7d {
1139
+ padding: 0;
1140
+ }
1141
+ .m_c5a19c7d:where([data-with-spacing]) {
1142
+ padding: calc(0.03125rem * var(--mantine-scale));
1143
+ }
1144
+ .m_2a6c32d {
1145
+ border-collapse: collapse;
1146
+ border-width: 0;
1147
+ cursor: pointer;
1148
+ }
1149
+ .m_2a6c32d[data-full-width] {
1150
+ width: 100%;
1151
+ }
1152
+ .m_fe27622f {
1153
+ padding: 0;
1154
+ }
1155
+ .m_fe27622f:where([data-with-spacing]) {
1156
+ padding: calc(0.03125rem * var(--mantine-scale));
1157
+ }
1158
+ .m_730a79ed {
1159
+ --dch-control-size-xs: calc(1.875rem * var(--mantine-scale));
1160
+ --dch-control-size-sm: calc(2.25rem * var(--mantine-scale));
1161
+ --dch-control-size-md: calc(2.625rem * var(--mantine-scale));
1162
+ --dch-control-size-lg: calc(3rem * var(--mantine-scale));
1163
+ --dch-control-size-xl: calc(3.375rem * var(--mantine-scale));
1164
+ --dch-control-size: var(--dch-control-size-sm);
1165
+ display: flex;
1166
+ max-width: calc(var(--dch-control-size) * 8 + calc(0.4375rem * var(--mantine-scale)));
1167
+ margin-bottom: var(--mantine-spacing-xs);
1168
+ }
1169
+ .m_730a79ed[data-full-width] {
1170
+ max-width: none;
1171
+ width: 100%;
1172
+ }
1173
+ .m_f6645d97,
1174
+ .m_2351eeb0 {
1175
+ height: var(--dch-control-size);
1176
+ border-radius: var(--mantine-radius-default);
1177
+ display: flex;
1178
+ justify-content: center;
1179
+ align-items: center;
1180
+ user-select: none;
1181
+ opacity: 1;
1182
+ cursor: pointer;
1183
+ }
1184
+ .m_f6645d97:where([data-static]),
1185
+ .m_2351eeb0:where([data-static]) {
1186
+ cursor: default;
1187
+ }
1188
+ @media (hover: hover) {
1189
+ [data-mantine-color-scheme=light] .m_f6645d97:hover:where(:not([data-disabled], [data-static], :disabled)),
1190
+ [data-mantine-color-scheme=light] .m_2351eeb0:hover:where(:not([data-disabled], [data-static], :disabled)) {
1191
+ background-color: var(--mantine-color-gray-0);
1192
+ }
1193
+ [data-mantine-color-scheme=dark] .m_f6645d97:hover:where(:not([data-disabled], [data-static], :disabled)),
1194
+ [data-mantine-color-scheme=dark] .m_2351eeb0:hover:where(:not([data-disabled], [data-static], :disabled)) {
1195
+ background-color: var(--mantine-color-dark-5);
1196
+ }
1197
+ }
1198
+ @media (hover: none) {
1199
+ [data-mantine-color-scheme=light] .m_f6645d97:active:where(:not([data-disabled], [data-static], :disabled)),
1200
+ [data-mantine-color-scheme=light] .m_2351eeb0:active:where(:not([data-disabled], [data-static], :disabled)) {
1201
+ background-color: var(--mantine-color-gray-0);
1202
+ }
1203
+ [data-mantine-color-scheme=dark] .m_f6645d97:active:where(:not([data-disabled], [data-static], :disabled)),
1204
+ [data-mantine-color-scheme=dark] .m_2351eeb0:active:where(:not([data-disabled], [data-static], :disabled)) {
1205
+ background-color: var(--mantine-color-dark-5);
1206
+ }
1207
+ }
1208
+ .m_f6645d97:where(:disabled, [data-disabled]),
1209
+ .m_2351eeb0:where(:disabled, [data-disabled]) {
1210
+ opacity: 0.2;
1211
+ cursor: not-allowed;
1212
+ }
1213
+ .m_2351eeb0 {
1214
+ width: var(--dch-control-size);
1215
+ }
1216
+ .m_f6645d97 {
1217
+ flex: 1;
1218
+ font-size: var(--dch-fz, var(--mantine-font-size-sm));
1219
+ font-weight: var(--mantine-font-weight-medium);
1220
+ text-transform: capitalize;
1221
+ }
1222
+ .m_367dc749 {
1223
+ width: 60%;
1224
+ height: 60%;
1225
+ }
1226
+ .m_367dc749:where([data-direction=next]) {
1227
+ transform: rotate(270deg);
1228
+ }
1229
+ :where([dir=rtl]) .m_367dc749:where([data-direction=next]) {
1230
+ transform: rotate(90deg);
1231
+ }
1232
+ .m_367dc749:where([data-direction=previous]) {
1233
+ transform: rotate(90deg);
1234
+ }
1235
+ :where([dir=rtl]) .m_367dc749:where([data-direction=previous]) {
1236
+ transform: rotate(270deg);
1237
+ }
1238
+ .m_30b26e33 {
1239
+ display: flex;
1240
+ gap: var(--mantine-spacing-md);
1241
+ }
1242
+ .m_30b26e33[data-full-width] {
1243
+ width: 100%;
1244
+ }
1245
+ .m_30b26e33[data-full-width] > * {
1246
+ flex: 1;
1247
+ }
1248
+ .m_6fa5e2aa {
1249
+ cursor: pointer;
1250
+ line-height: unset;
1251
+ }
1252
+ .m_6fa5e2aa:where([data-read-only]) {
1253
+ cursor: default;
1254
+ }
1255
+ .m_765a40cf {
1256
+ display: flex;
1257
+ font-size: var(--preset-font-size);
1258
+ }
1259
+ .m_d6a681e1 {
1260
+ display: flex;
1261
+ flex-direction: column;
1262
+ border-inline-end: calc(0.0625rem * var(--mantine-scale)) solid;
1263
+ padding-inline-end: 0.5em;
1264
+ margin-inline-end: 0.5em;
1265
+ }
1266
+ :where([data-mantine-color-scheme=light]) .m_d6a681e1 {
1267
+ border-color: var(--mantine-color-gray-2);
1268
+ }
1269
+ :where([data-mantine-color-scheme=dark]) .m_d6a681e1 {
1270
+ border-color: var(--mantine-color-dark-5);
1271
+ }
1272
+ .m_acd30b22 {
1273
+ padding: 0.52em 0.8em;
1274
+ border-radius: var(--mantine-radius-default);
1275
+ font-size: var(--preset-font-size);
1276
+ white-space: nowrap;
1277
+ }
1278
+ @media (hover: hover) {
1279
+ :where([data-mantine-color-scheme=light]) .m_acd30b22:hover {
1280
+ background-color: var(--mantine-color-gray-0);
1281
+ }
1282
+ :where([data-mantine-color-scheme=dark]) .m_acd30b22:hover {
1283
+ background-color: var(--mantine-color-dark-5);
1284
+ }
1285
+ }
1286
+ @media (hover: none) {
1287
+ :where([data-mantine-color-scheme=light]) .m_acd30b22:active {
1288
+ background-color: var(--mantine-color-gray-0);
1289
+ }
1290
+ :where([data-mantine-color-scheme=dark]) .m_acd30b22:active {
1291
+ background-color: var(--mantine-color-dark-5);
1292
+ }
1293
+ }
1294
+ .m_208d2562 {
1295
+ display: flex;
1296
+ align-items: stretch;
1297
+ margin-top: var(--mantine-spacing-md);
1298
+ }
1299
+ .m_62ee059 {
1300
+ flex: 1;
1301
+ margin-inline-end: var(--mantine-spacing-md);
1302
+ }
1303
+ .m_ac3f4d63 {
1304
+ text-align: center;
1305
+ padding-inline: 1em;
1306
+ padding-block: 0.25em;
1307
+ border: 1px solid var(--mantine-color-default-border);
1308
+ background-color: var(--mantine-color-default);
1309
+ color: var(--mantine-color-default-color);
1310
+ border-radius: var(--time-grid-radius, var(--mantine-radius-default));
1311
+ font-size: var(--time-grid-fz, var(--mantine-font-size-sm));
1312
+ }
1313
+ @media (hover: hover) {
1314
+ .m_ac3f4d63:hover:where(:not([data-disabled])) {
1315
+ background-color: var(--mantine-color-default-hover);
1316
+ }
1317
+ }
1318
+ @media (hover: none) {
1319
+ .m_ac3f4d63:active:where(:not([data-disabled])) {
1320
+ background-color: var(--mantine-color-default-hover);
1321
+ }
1322
+ }
1323
+ .m_ac3f4d63:where([data-active]) {
1324
+ background-color: var(--mantine-primary-color-filled);
1325
+ color: var(--mantine-color-white);
1326
+ border-color: transparent;
1327
+ }
1328
+ @media (hover: hover) {
1329
+ .m_ac3f4d63:where([data-active]):hover:where(:not([data-disabled])) {
1330
+ background-color: var(--mantine-primary-color-filled-hover);
1331
+ }
1332
+ }
1333
+ @media (hover: none) {
1334
+ .m_ac3f4d63:where([data-active]):active:where(:not([data-disabled])) {
1335
+ background-color: var(--mantine-primary-color-filled-hover);
1336
+ }
1337
+ }
1338
+ .m_ac3f4d63:where(:disabled, [data-disabled]) {
1339
+ opacity: 0.5;
1340
+ cursor: not-allowed;
1341
+ }
1342
+ .m_2a0c4eda {
1343
+ width: fit-content;
1344
+ display: flex;
1345
+ align-items: center;
1346
+ font-size: var(--mini-calendar-font-size);
1347
+ }
1348
+ .m_2a05be4f {
1349
+ display: flex;
1350
+ font-size: inherit;
1351
+ }
1352
+ .m_99d16a4 {
1353
+ display: flex;
1354
+ min-width: 3em;
1355
+ gap: 0.5em;
1356
+ font-size: inherit;
1357
+ flex-direction: column;
1358
+ align-items: center;
1359
+ line-height: 1;
1360
+ padding: 0.75em;
1361
+ border-radius: var(--mantine-radius-default);
1362
+ }
1363
+ .m_99d16a4:where([data-selected]) {
1364
+ color: var(--mantine-primary-color-contrast);
1365
+ background-color: var(--mantine-primary-color-filled);
1366
+ }
1367
+ @media (hover: hover) {
1368
+ .m_99d16a4:where([data-selected]):hover:where(:not([data-disabled], [data-static])) {
1369
+ background-color: var(--mantine-primary-color-filled-hover);
1370
+ }
1371
+ }
1372
+ @media (hover: none) {
1373
+ .m_99d16a4:where([data-selected]):active:where(:not([data-disabled], [data-static])) {
1374
+ background-color: var(--mantine-primary-color-filled-hover);
1375
+ }
1376
+ }
1377
+ .m_99d16a4:where([data-disabled]) {
1378
+ opacity: 0.3;
1379
+ cursor: not-allowed;
1380
+ }
1381
+ @media (hover: hover) {
1382
+ :where([data-mantine-color-scheme=light]) .m_99d16a4:hover:where(:not([data-disabled], [data-selected])) {
1383
+ background-color: var(--mantine-color-gray-1);
1384
+ }
1385
+ }
1386
+ @media (hover: none) {
1387
+ :where([data-mantine-color-scheme=light]) .m_99d16a4:active:where(:not([data-disabled], [data-selected])) {
1388
+ background-color: var(--mantine-color-gray-1);
1389
+ }
1390
+ }
1391
+ @media (hover: hover) {
1392
+ :where([data-mantine-color-scheme=dark]) .m_99d16a4:hover:where(:not([data-disabled], [data-selected])) {
1393
+ background-color: var(--mantine-color-dark-5);
1394
+ }
1395
+ }
1396
+ @media (hover: none) {
1397
+ :where([data-mantine-color-scheme=dark]) .m_99d16a4:active:where(:not([data-disabled], [data-selected])) {
1398
+ background-color: var(--mantine-color-dark-5);
1399
+ }
1400
+ }
1401
+ .m_176ca23c {
1402
+ font-size: 0.75em;
1403
+ font-weight: var(--mantine-font-weight-medium);
1404
+ opacity: 0.65;
1405
+ }
1406
+ .m_d830530d {
1407
+ font-size: 0.9em;
1408
+ font-weight: var(--mantine-font-weight-medium);
1409
+ }
1410
+ .m_14c23465 {
1411
+ align-self: stretch;
1412
+ font-size: inherit;
1413
+ width: 2em;
1414
+ border-radius: var(--mantine-radius-default);
1415
+ display: flex;
1416
+ align-items: center;
1417
+ justify-content: center;
1418
+ color: var(--mantine-color-bright);
1419
+ }
1420
+ .m_14c23465:where([data-disabled]) {
1421
+ opacity: 0.3;
1422
+ cursor: not-allowed;
1423
+ }
1424
+ .m_14c23465 [data-chevron] {
1425
+ font-size: inherit;
1426
+ width: 60%;
1427
+ }
1428
+ .m_14c23465[data-direction=previous] [data-chevron] {
1429
+ transform: rotate(90deg);
1430
+ }
1431
+ [dir=rtl] .m_14c23465[data-direction=previous] [data-chevron] {
1432
+ transform: rotate(-90deg);
1433
+ }
1434
+ .m_14c23465[data-direction=next] [data-chevron] {
1435
+ transform: rotate(-90deg);
1436
+ }
1437
+ [dir=rtl] .m_14c23465[data-direction=next] [data-chevron] {
1438
+ transform: rotate(90deg);
1439
+ }
1440
+ @media (hover: hover) {
1441
+ :where([data-mantine-color-scheme=light]) .m_14c23465:hover:where(:not([data-disabled])) {
1442
+ background-color: var(--mantine-color-gray-1);
1443
+ }
1444
+ }
1445
+ @media (hover: none) {
1446
+ :where([data-mantine-color-scheme=light]) .m_14c23465:active:where(:not([data-disabled])) {
1447
+ background-color: var(--mantine-color-gray-1);
1448
+ }
1449
+ }
1450
+ @media (hover: hover) {
1451
+ :where([data-mantine-color-scheme=dark]) .m_14c23465:hover:where(:not([data-disabled])) {
1452
+ background-color: var(--mantine-color-dark-5);
1453
+ }
1454
+ }
1455
+ @media (hover: none) {
1456
+ :where([data-mantine-color-scheme=dark]) .m_14c23465:active:where(:not([data-disabled])) {
1457
+ background-color: var(--mantine-color-dark-5);
1458
+ }
1459
+ }
1460
+
1461
+ /* src/components/Apps/CalendarApp/CalendarApp.module.css */
1462
+ .root {
1463
+ display: flex;
1464
+ justify-content: center;
1465
+ align-items: flex-start;
1466
+ padding: 12px;
1467
+ height: 100%;
1468
+ }
1469
+
1470
+ /* src/components/Shared/IconColorPicker/IconColorPicker.module.css */
1471
+ .root {
1472
+ display: flex;
1473
+ flex-direction: column;
1474
+ gap: 8px;
1475
+ }
1476
+ .iconGrid {
1477
+ padding: 4px;
1478
+ }
1479
+ .iconButton {
1480
+ display: flex;
1481
+ align-items: center;
1482
+ justify-content: center;
1483
+ width: 36px;
1484
+ height: 36px;
1485
+ border-radius: 6px;
1486
+ border: 2px solid transparent;
1487
+ transition: background 0.1s, border-color 0.1s;
1488
+ cursor: pointer;
1489
+ }
1490
+ .iconButton:hover {
1491
+ background: light-dark(rgba(0, 0, 0, 0.06), rgba(255, 255, 255, 0.08));
1492
+ }
1493
+ .iconButton[data-selected] {
1494
+ border-color: var(--mantine-primary-color-filled);
1495
+ background: light-dark(rgba(0, 0, 0, 0.08), rgba(255, 255, 255, 0.12));
1496
+ }
1497
+
1498
+ /* src/components/Shared/CreateItemApp/CreateItemApp.module.css */
1499
+ .content {
1500
+ display: flex;
1501
+ flex-direction: column;
1502
+ gap: 12px;
1503
+ padding: 16px;
1504
+ }
1505
+ .header {
1506
+ padding: 12px 16px;
1507
+ border-bottom: 1px solid light-dark(rgba(0, 0, 0, 0.08), rgba(255, 255, 255, 0.08));
1508
+ }
1509
+ .nameRow {
1510
+ display: flex;
1511
+ align-items: center;
1512
+ gap: 12px;
1513
+ }
1514
+ .iconPreview {
1515
+ flex-shrink: 0;
1516
+ display: flex;
1517
+ align-items: center;
1518
+ justify-content: center;
1519
+ width: 56px;
1520
+ height: 56px;
1521
+ border-radius: 8px;
1522
+ background: light-dark(rgba(0, 0, 0, 0.04), rgba(255, 255, 255, 0.06));
1523
+ }
1524
+ .nameInput {
1525
+ flex: 1;
1526
+ }
1527
+ .collapseToggle {
1528
+ display: flex;
1529
+ align-items: center;
1530
+ padding: 4px 0;
1531
+ cursor: pointer;
1532
+ user-select: none;
1533
+ }
1534
+ .collapseToggle:hover {
1535
+ opacity: 0.8;
1536
+ }
1537
+ .pickerWrapper {
1538
+ padding: 8px;
1539
+ border-radius: 8px;
1540
+ background: light-dark(rgba(0, 0, 0, 0.03), rgba(255, 255, 255, 0.04));
1541
+ border: 1px solid light-dark(rgba(0, 0, 0, 0.08), rgba(255, 255, 255, 0.08));
1542
+ }
1543
+
1544
+ /* src/components/AppMenuBar/AppMenuBar.module.css */
1545
+ .root {
1546
+ display: flex;
1547
+ flex-direction: row;
1548
+ align-items: center;
1549
+ gap: 4px;
1550
+ padding: 0 6px;
1551
+ height: 50px;
1552
+ flex-shrink: 0;
1553
+ background: var(--color-surface-subtle);
1554
+ border-bottom: 1px solid var(--color-surface-border);
1555
+ overflow-x: auto;
1556
+ overflow-y: hidden;
1557
+ }
1558
+ .root::-webkit-scrollbar {
1559
+ display: none;
1560
+ }
1561
+ .menuTrigger {
1562
+ all: unset;
1563
+ display: flex;
1564
+ align-items: center;
1565
+ gap: 6px;
1566
+ padding: 8px 12px;
1567
+ border-radius: var(--radius-sm);
1568
+ font-size: var(--mantine-font-size-sm);
1569
+ cursor: pointer;
1570
+ white-space: nowrap;
1571
+ line-height: 1;
1572
+ min-height: 36px;
1573
+ }
1574
+ .menuTrigger:hover {
1575
+ background: light-dark(rgba(0, 0, 0, 0.06), rgba(255, 255, 255, 0.06));
1576
+ }
1577
+ .element {
1578
+ display: flex;
1579
+ align-items: center;
1580
+ gap: 6px;
1581
+ padding: 0 4px;
1582
+ }
1583
+ .sliderLabel {
1584
+ font-size: var(--mantine-font-size-sm);
1585
+ color: var(--mantine-color-dimmed);
1586
+ white-space: nowrap;
1587
+ }
1588
+ .select,
1589
+ .textInput,
1590
+ .numberInput {
1591
+ min-width: 100px;
1592
+ max-width: 200px;
1593
+ }
1594
+ .numberInput {
1595
+ width: 120px;
1596
+ }
1597
+ .slider {
1598
+ width: 300px;
1599
+ }
1600
+
1601
+ /* src/components/Apps/TerminalApp/Terminal.module.css */
1602
+ .terminalContainer {
1603
+ width: 100%;
1604
+ height: 100%;
1605
+ display: flex;
1606
+ flex-direction: column;
1607
+ background-color: #1e1e1e;
1608
+ }
1609
+ .terminalWrapper {
1610
+ flex: 1;
1611
+ min-height: 0;
1612
+ padding: 8px;
1613
+ }
1614
+ .terminal {
1615
+ width: 100%;
1616
+ height: 100%;
1617
+ }
1618
+ .terminal :global(.xterm) {
1619
+ height: 100%;
1620
+ padding: 4px;
1621
+ }
1622
+ .terminal :global(.xterm-viewport) {
1623
+ overflow-y: auto;
1624
+ }
1625
+ .terminal :global(.xterm-screen) {
1626
+ background-color: #1e1e1e;
1627
+ }
1628
+ .statusBar {
1629
+ height: 24px;
1630
+ display: flex;
1631
+ align-items: center;
1632
+ gap: 8px;
1633
+ padding: 0 8px;
1634
+ background-color: #2d2d2d;
1635
+ border-top: 1px solid #3d3d3d;
1636
+ font-size: 12px;
1637
+ color: #888;
1638
+ }
1639
+ .statusIndicator {
1640
+ display: flex;
1641
+ align-items: center;
1642
+ }
1643
+ .statusIndicator[data-status=idle] {
1644
+ color: #888;
1645
+ }
1646
+ .statusIndicator[data-status=connecting] {
1647
+ color: #f5a623;
1648
+ }
1649
+ .statusIndicator[data-status=connected] {
1650
+ color: #4caf50;
1651
+ }
1652
+ .statusIndicator[data-status=disconnected] {
1653
+ color: #888;
1654
+ }
1655
+ .statusIndicator[data-status=error] {
1656
+ color: #f44336;
1657
+ }
1658
+ .statusText {
1659
+ font-size: 11px;
1660
+ }
1661
+ .reconnectButton {
1662
+ margin-left: auto;
1663
+ padding: 2px 8px;
1664
+ font-size: 11px;
1665
+ background-color: #0078d4;
1666
+ color: white;
1667
+ border: none;
1668
+ border-radius: 3px;
1669
+ cursor: pointer;
1670
+ transition: background-color 0.2s;
1671
+ }
1672
+ .reconnectButton:hover {
1673
+ background-color: #106ebe;
1674
+ }
1675
+ .reconnectButton:active {
1676
+ background-color: #005a9e;
1677
+ }
1678
+
1679
+ /* src/components/Apps/CodeServerApp/CodeServerApp.module.css */
1680
+ .container {
1681
+ width: 100%;
1682
+ height: 100%;
1683
+ display: flex;
1684
+ flex-direction: column;
1685
+ background-color: #1e1e1e;
1686
+ }
1687
+ .loading {
1688
+ display: flex;
1689
+ flex-direction: column;
1690
+ align-items: center;
1691
+ justify-content: center;
1692
+ height: 100%;
1693
+ color: #d4d4d4;
1694
+ gap: 16px;
1695
+ }
1696
+ .spinner {
1697
+ width: 40px;
1698
+ height: 40px;
1699
+ border: 3px solid #333;
1700
+ border-top-color: #0078d4;
1701
+ border-radius: 50%;
1702
+ animation: spin 1s linear infinite;
1703
+ }
1704
+ @keyframes spin {
1705
+ to {
1706
+ transform: rotate(360deg);
1707
+ }
1708
+ }
1709
+ .loading p {
1710
+ margin: 0;
1711
+ font-size: 14px;
1712
+ }
1713
+ .error {
1714
+ display: flex;
1715
+ flex-direction: column;
1716
+ align-items: center;
1717
+ justify-content: center;
1718
+ height: 100%;
1719
+ color: #d4d4d4;
1720
+ gap: 12px;
1721
+ padding: 24px;
1722
+ text-align: center;
1723
+ }
1724
+ .error h3 {
1725
+ margin: 0;
1726
+ color: #f44336;
1727
+ font-size: 18px;
1728
+ }
1729
+ .error p {
1730
+ margin: 0;
1731
+ font-size: 14px;
1732
+ color: #888;
1733
+ }
1734
+ .retryButton {
1735
+ margin-top: 12px;
1736
+ padding: 8px 16px;
1737
+ background-color: #0078d4;
1738
+ color: white;
1739
+ border: none;
1740
+ border-radius: 4px;
1741
+ cursor: pointer;
1742
+ font-size: 14px;
1743
+ transition: background-color 0.2s;
1744
+ }
1745
+ .retryButton:hover {
1746
+ background-color: #106ebe;
1747
+ }
1748
+ .iframe {
1749
+ width: 100%;
1750
+ height: 100%;
1751
+ border: none;
1752
+ background-color: #1e1e1e;
1753
+ }
1754
+
1755
+ /* src/components/Apps/StorybookApp/StorybookApp.module.css */
1756
+ .frame {
1757
+ width: 100%;
1758
+ height: 100%;
1759
+ border: none;
1760
+ display: block;
1761
+ }
1762
+
1763
+ /* src/components/Apps/UploaderApp/UploaderApp.module.css */
1764
+ .container {
1765
+ position: relative;
1766
+ width: 100%;
1767
+ height: 100%;
1768
+ display: flex;
1769
+ flex-direction: column;
1770
+ align-items: center;
1771
+ justify-content: center;
1772
+ padding: 16px;
1773
+ overflow: hidden;
1774
+ }
1775
+ .backgroundIcon {
1776
+ position: absolute;
1777
+ top: 50%;
1778
+ left: 50%;
1779
+ transform: translate(-50%, -50%);
1780
+ opacity: 0.1;
1781
+ filter: blur(1px);
1782
+ pointer-events: none;
1783
+ }
1784
+ .stepper {
1785
+ position: relative;
1786
+ z-index: 1;
1787
+ max-width: 500px;
1788
+ width: 100%;
1789
+ }
1790
+ .fileInfo {
1791
+ padding: 8px 12px;
1792
+ background: light-dark(rgba(0, 0, 0, 0.02), rgba(255, 255, 255, 0.02));
1793
+ border-radius: 4px;
1794
+ margin-top: 8px;
1795
+ }
1796
+ .resultPaper {
1797
+ width: 100%;
1798
+ height: 100%;
1799
+ display: flex;
1800
+ flex-direction: column;
1801
+ align-items: center;
1802
+ justify-content: center;
1803
+ text-align: center;
1804
+ padding: 24px;
1805
+ border-radius: 8px;
1806
+ }
1807
+ .resultIcon {
1808
+ margin-bottom: 16px;
1809
+ }
1810
+ .readyContainer {
1811
+ display: flex;
1812
+ flex-direction: column;
1813
+ align-items: center;
1814
+ justify-content: center;
1815
+ gap: 16px;
1816
+ padding: 16px 0;
1817
+ }