@duplicati/ngclient 0.0.1 → 0.0.5

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 (197) hide show
  1. package/chunk-2DCEAXBG.js +1 -0
  2. package/chunk-2WYEYW3N.js +1 -0
  3. package/chunk-43IMNGQL.js +1 -0
  4. package/chunk-63RKHEAK.js +1 -0
  5. package/chunk-6HCEXB2Z.js +1 -0
  6. package/chunk-7POJIDMZ.js +1 -0
  7. package/chunk-7PZ2UDVE.js +1 -0
  8. package/chunk-AYLGFKRR.js +1 -0
  9. package/chunk-BFEHLVAY.js +1 -0
  10. package/chunk-BHHWIMLQ.js +1 -0
  11. package/chunk-BOT7P6RM.js +1 -0
  12. package/chunk-BRNQESTL.js +1 -0
  13. package/chunk-EIZWLO2R.js +2 -0
  14. package/chunk-EJZT4TGZ.js +1 -0
  15. package/chunk-F3A4UEZK.js +1 -0
  16. package/chunk-GAT3R5MA.js +2 -0
  17. package/chunk-GBVLF3BS.js +1 -0
  18. package/chunk-GY2VPOAT.js +1 -0
  19. package/chunk-HHIFLECY.js +1 -0
  20. package/chunk-IMLDBH2T.js +1 -0
  21. package/chunk-IOM7KF2W.js +1 -0
  22. package/chunk-J6KTHSHX.js +1 -0
  23. package/chunk-JRXXG6O7.js +1 -0
  24. package/chunk-LD5EWOQM.js +1 -0
  25. package/chunk-LT6J7X37.js +1 -0
  26. package/chunk-OP5BV4PG.js +1 -0
  27. package/chunk-OX435KV6.js +1 -0
  28. package/chunk-PJNE2N54.js +1 -0
  29. package/chunk-QTQWYR6H.js +1 -0
  30. package/chunk-RCES7NCR.js +1 -0
  31. package/chunk-RL2VWNJG.js +8 -0
  32. package/chunk-RZUDMW24.js +1 -0
  33. package/chunk-S2HNK7TK.js +1 -0
  34. package/chunk-S2YPSAFD.js +1 -0
  35. package/chunk-TGC6GY4N.js +1 -0
  36. package/chunk-UJYJZACJ.js +1 -0
  37. package/chunk-VAAR5GXC.js +1 -0
  38. package/chunk-VF6HT3GY.js +1 -0
  39. package/chunk-XBN37RRV.js +1 -0
  40. package/chunk-YC5LTBFM.js +1 -0
  41. package/index.html +15 -0
  42. package/main-TLCKWB2W.js +1 -0
  43. package/package.json +3 -40
  44. package/sparkle-ui-assets/fonts/InterTight-VariableFont_wght.ttf +0 -0
  45. package/sparkle-ui-assets/fonts/InterTight-VariableFont_wght.woff2 +0 -0
  46. package/styles-6W7ZCKNM.css +1 -0
  47. package/.dockerignore +0 -13
  48. package/.github/workflows/npm-publish.yml +0 -59
  49. package/.prettierignore +0 -13
  50. package/.prettierrc +0 -12
  51. package/.vscode/extensions.json +0 -4
  52. package/.vscode/launch.json +0 -13
  53. package/.vscode/settings.json +0 -8
  54. package/.vscode/tasks.json +0 -24
  55. package/Dockerfile +0 -38
  56. package/LICENSE +0 -21
  57. package/README.md +0 -27
  58. package/angular.json +0 -98
  59. package/bun.lockb +0 -0
  60. package/openapi-ts.config.ts +0 -13
  61. package/scripts/generate-package-json.ts +0 -15
  62. package/src/app/about/about.component.html +0 -15
  63. package/src/app/about/about.component.scss +0 -19
  64. package/src/app/about/about.component.ts +0 -13
  65. package/src/app/about/changelog/changelog.component.html +0 -3
  66. package/src/app/about/changelog/changelog.component.scss +0 -7
  67. package/src/app/about/changelog/changelog.component.ts +0 -18
  68. package/src/app/about/general/general.component.html +0 -9
  69. package/src/app/about/general/general.component.scss +0 -23
  70. package/src/app/about/general/general.component.ts +0 -30
  71. package/src/app/about/libraries/libraries.component.html +0 -3
  72. package/src/app/about/libraries/libraries.component.scss +0 -7
  73. package/src/app/about/libraries/libraries.component.ts +0 -18
  74. package/src/app/about/logs/logs.component.html +0 -5
  75. package/src/app/about/logs/logs.component.scss +0 -7
  76. package/src/app/about/logs/logs.component.ts +0 -18
  77. package/src/app/about/system-info/system-info.component.html +0 -3
  78. package/src/app/about/system-info/system-info.component.scss +0 -7
  79. package/src/app/about/system-info/system-info.component.ts +0 -17
  80. package/src/app/add-backup/add-backup.component.html +0 -29
  81. package/src/app/add-backup/add-backup.component.scss +0 -38
  82. package/src/app/add-backup/add-backup.component.ts +0 -14
  83. package/src/app/app.component.ts +0 -35
  84. package/src/app/app.config.ts +0 -23
  85. package/src/app/app.routes.ts +0 -121
  86. package/src/app/core/components/file-tree/file-tree.component.html +0 -87
  87. package/src/app/core/components/file-tree/file-tree.component.scss +0 -80
  88. package/src/app/core/components/file-tree/file-tree.component.ts +0 -485
  89. package/src/app/core/components/logo/logo.component.html +0 -22
  90. package/src/app/core/components/logo/logo.component.scss +0 -12
  91. package/src/app/core/components/logo/logo.component.ts +0 -11
  92. package/src/app/core/components/status-bar/status-bar.component.html +0 -38
  93. package/src/app/core/components/status-bar/status-bar.component.scss +0 -27
  94. package/src/app/core/components/status-bar/status-bar.component.ts +0 -33
  95. package/src/app/core/components/status-bar/status-bar.state.ts +0 -182
  96. package/src/app/core/components/toggle-card/toggle-card.component.html +0 -11
  97. package/src/app/core/components/toggle-card/toggle-card.component.scss +0 -49
  98. package/src/app/core/components/toggle-card/toggle-card.component.ts +0 -28
  99. package/src/app/core/interceptors/http.interceptor.ts +0 -69
  100. package/src/app/core/interceptors/websocket.interceptor.ts +0 -66
  101. package/src/app/core/openapi/core/ApiError.ts +0 -21
  102. package/src/app/core/openapi/core/ApiRequestOptions.ts +0 -21
  103. package/src/app/core/openapi/core/ApiResult.ts +0 -7
  104. package/src/app/core/openapi/core/OpenAPI.ts +0 -55
  105. package/src/app/core/openapi/core/request.ts +0 -337
  106. package/src/app/core/openapi/index.ts +0 -6
  107. package/src/app/core/openapi/schemas.gen.ts +0 -3611
  108. package/src/app/core/openapi/services.gen.ts +0 -1460
  109. package/src/app/core/openapi/types.gen.ts +0 -1510
  110. package/src/app/core/pipes/duration.pipe.ts +0 -27
  111. package/src/app/core/pipes/relative-time.pipe.ts +0 -14
  112. package/src/app/core/providers/dayjs.ts +0 -16
  113. package/src/app/core/services/dict.en.ts +0 -0
  114. package/src/app/core/services/dictionary.service.ts +0 -12
  115. package/src/app/core/services/localstorage.token.ts +0 -82
  116. package/src/app/core/services/password-generator.service.ts +0 -39
  117. package/src/app/core/services/relay-websocket.service.ts +0 -268
  118. package/src/app/core/services/timespan-literals.service.ts +0 -25
  119. package/src/app/core/states/app-auth.state.ts +0 -87
  120. package/src/app/core/states/backups.state.ts +0 -71
  121. package/src/app/core/states/relayconfig.state.ts +0 -23
  122. package/src/app/core/states/sysinfo.state.ts +0 -31
  123. package/src/app/core/states/tasks.state.ts +0 -34
  124. package/src/app/core/types/subscribed.ts +0 -7
  125. package/src/app/core/validators/custom.validators.ts +0 -120
  126. package/src/app/create-edit-backup/create-edit-backup.component.html +0 -28
  127. package/src/app/create-edit-backup/create-edit-backup.component.scss +0 -15
  128. package/src/app/create-edit-backup/create-edit-backup.component.ts +0 -33
  129. package/src/app/create-edit-backup/create-edit-backup.state.ts +0 -582
  130. package/src/app/create-edit-backup/destination/destination.component.html +0 -367
  131. package/src/app/create-edit-backup/destination/destination.component.scss +0 -85
  132. package/src/app/create-edit-backup/destination/destination.component.ts +0 -249
  133. package/src/app/create-edit-backup/destination/destination.config.ts +0 -103
  134. package/src/app/create-edit-backup/destination/destination.mapper.ts +0 -177
  135. package/src/app/create-edit-backup/general/general.component.html +0 -108
  136. package/src/app/create-edit-backup/general/general.component.scss +0 -34
  137. package/src/app/create-edit-backup/general/general.component.ts +0 -136
  138. package/src/app/create-edit-backup/options/options.component.html +0 -95
  139. package/src/app/create-edit-backup/options/options.component.scss +0 -42
  140. package/src/app/create-edit-backup/options/options.component.ts +0 -113
  141. package/src/app/create-edit-backup/schedule/schedule.component.html +0 -102
  142. package/src/app/create-edit-backup/schedule/schedule.component.scss +0 -38
  143. package/src/app/create-edit-backup/schedule/schedule.component.ts +0 -137
  144. package/src/app/create-edit-backup/source-data/source-data.component.html +0 -93
  145. package/src/app/create-edit-backup/source-data/source-data.component.scss +0 -41
  146. package/src/app/create-edit-backup/source-data/source-data.component.ts +0 -114
  147. package/src/app/home/backup.const.ts +0 -167
  148. package/src/app/home/home.component.html +0 -98
  149. package/src/app/home/home.component.scss +0 -88
  150. package/src/app/home/home.component.ts +0 -54
  151. package/src/app/layout/layout.component.html +0 -64
  152. package/src/app/layout/layout.component.scss +0 -24
  153. package/src/app/layout/layout.component.ts +0 -51
  154. package/src/app/layout/layout.state.ts +0 -70
  155. package/src/app/login/login.component.html +0 -12
  156. package/src/app/login/login.component.scss +0 -25
  157. package/src/app/login/login.component.ts +0 -34
  158. package/src/app/logout/logout.component.html +0 -1
  159. package/src/app/logout/logout.component.scss +0 -3
  160. package/src/app/logout/logout.component.ts +0 -18
  161. package/src/app/restore/restore.component.html +0 -56
  162. package/src/app/restore/restore.component.scss +0 -37
  163. package/src/app/restore/restore.component.ts +0 -55
  164. package/src/app/restore-flow/options/options.component.html +0 -57
  165. package/src/app/restore-flow/options/options.component.scss +0 -16
  166. package/src/app/restore-flow/options/options.component.ts +0 -58
  167. package/src/app/restore-flow/restore-flow.component.html +0 -14
  168. package/src/app/restore-flow/restore-flow.component.scss +0 -15
  169. package/src/app/restore-flow/restore-flow.component.ts +0 -23
  170. package/src/app/restore-flow/restore-flow.state.ts +0 -120
  171. package/src/app/restore-flow/select-files/select-files.component.html +0 -42
  172. package/src/app/restore-flow/select-files/select-files.component.scss +0 -16
  173. package/src/app/restore-flow/select-files/select-files.component.ts +0 -129
  174. package/src/app/settings/settings.component.html +0 -256
  175. package/src/app/settings/settings.component.scss +0 -106
  176. package/src/app/settings/settings.component.ts +0 -475
  177. package/src/environments/environment-token.ts +0 -4
  178. package/src/environments/environment.prod.ts +0 -6
  179. package/src/environments/environment.ts +0 -6
  180. package/src/index.html +0 -15
  181. package/src/main.ts +0 -6
  182. package/src/proxy.conf.mjs +0 -6
  183. package/src/styles.scss +0 -41
  184. package/tsconfig.app.json +0 -15
  185. package/tsconfig.json +0 -30
  186. /package/{src/assets → assets}/duplicati-logo.png +0 -0
  187. /package/{src/assets → assets}/duplicati-logo.svg +0 -0
  188. /package/{src/assets → assets}/favicon.ico +0 -0
  189. /package/{src/assets → assets}/images/backup.png +0 -0
  190. /package/{src/assets → assets}/images/dark-theme.png +0 -0
  191. /package/{src/assets → assets}/images/folder.png +0 -0
  192. /package/{src/assets → assets}/images/light-theme.png +0 -0
  193. /package/{src/assets → assets}/images/new-backup.png +0 -0
  194. /package/{src/assets → assets}/images/restore.png +0 -0
  195. /package/{src/assets → assets}/images/system-theme.png +0 -0
  196. /package/{src/assets → assets}/spk.css +0 -0
  197. /package/{src/assets → assets}/spk.woff2 +0 -0
@@ -0,0 +1 @@
1
+ import{j as a,k as b}from"./chunk-GY2VPOAT.js";import"./chunk-LD5EWOQM.js";import"./chunk-7PZ2UDVE.js";import"./chunk-IOM7KF2W.js";import"./chunk-63RKHEAK.js";import"./chunk-LT6J7X37.js";import"./chunk-JRXXG6O7.js";import"./chunk-BOT7P6RM.js";import"./chunk-GBVLF3BS.js";import"./chunk-RL2VWNJG.js";export{a as createScheduleForm,b as default};
@@ -0,0 +1 @@
1
+ import{d as a,e as b,f as c}from"./chunk-GY2VPOAT.js";import"./chunk-LD5EWOQM.js";import"./chunk-7PZ2UDVE.js";import"./chunk-IOM7KF2W.js";import"./chunk-63RKHEAK.js";import"./chunk-LT6J7X37.js";import"./chunk-JRXXG6O7.js";import"./chunk-BOT7P6RM.js";import"./chunk-GBVLF3BS.js";import"./chunk-RL2VWNJG.js";export{b as NONE_OPTION,a as createGeneralForm,c as default};
package/index.html ADDED
@@ -0,0 +1,15 @@
1
+ <!doctype html>
2
+ <html lang="en" data-critters-container>
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <title>Duplicati Client</title>
6
+ <base href="/">
7
+ <meta name="viewport" content="width=device-width, initial-scale=1">
8
+ <!-- <link rel="icon" type="image/x-icon" href="favicon.ico" /> -->
9
+ <link rel="icon" href="/assets/duplicati-logo.png">
10
+ <link rel="stylesheet" href="/assets/spk.css">
11
+ <style>:root{--font-size:16px;font-size:var(--font-size)}html body{--sparkle-light:initial;--sparkle-dark: ;color-scheme:light dark;--primary-50:#eff6ff;--primary-rgb-50:239,246,255;--primary-contrast-50:var(--dark-primary-text);--primary-100:#dbeafe;--primary-rgb-100:219,234,254;--primary-contrast-100:var(--dark-primary-text);--primary-200:#bfdbfe;--primary-rgb-200:191,219,254;--primary-contrast-200:var(--dark-primary-text);--primary-300:#93c5fd;--primary-rgb-300:147,197,253;--primary-contrast-300:var(--dark-primary-text);--primary-400:#60a5fa;--primary-rgb-400:96,165,250;--primary-contrast-400:var(--dark-primary-text);--primary-500:#3b82f6;--primary-rgb-500:59,130,246;--primary-contrast-500:var(--light-primary-text);--primary-600:#2563eb;--primary-rgb-600:37,99,235;--primary-contrast-600:var(--light-primary-text);--primary-700:#1d4ed8;--primary-rgb-700:29,78,216;--primary-contrast-700:var(--light-primary-text);--primary-800:#1e40af;--primary-rgb-800:30,64,175;--primary-contrast-800:var(--light-primary-text);--primary-900:#1e3a8a;--primary-rgb-900:30,58,138;--primary-contrast-900:var(--light-primary-text);--primary-950:#172554;--primary-rgb-950:23,37,84;--primary-contrast-950:var(--light-primary-text);--accent-50:#f5f3ff;--accent-rgb-50:245,243,255;--accent-contrast-50:var(--dark-primary-text);--accent-100:#ede9fe;--accent-rgb-100:237,233,254;--accent-contrast-100:var(--dark-primary-text);--accent-200:#ddd6fe;--accent-rgb-200:221,214,254;--accent-contrast-200:var(--dark-primary-text);--accent-300:#c4b5fd;--accent-rgb-300:196,181,253;--accent-contrast-300:var(--dark-primary-text);--accent-400:#a78bfa;--accent-rgb-400:167,139,250;--accent-contrast-400:var(--dark-primary-text);--accent-500:#8b5cf6;--accent-rgb-500:139,92,246;--accent-contrast-500:var(--light-primary-text);--accent-600:#7c3aed;--accent-rgb-600:124,58,237;--accent-contrast-600:var(--light-primary-text);--accent-700:#6d28d9;--accent-rgb-700:109,40,217;--accent-contrast-700:var(--light-primary-text);--accent-800:#5b21b6;--accent-rgb-800:91,33,182;--accent-contrast-800:var(--light-primary-text);--accent-900:#4c1d95;--accent-rgb-900:76,29,149;--accent-contrast-900:var(--light-primary-text);--accent-950:#2e1065;--accent-rgb-950:46,16,101;--accent-contrast-950:var(--light-primary-text);--tertiary-50:#fffbeb;--tertiary-rgb-50:255,251,235;--tertiary-contrast-50:var(--dark-primary-text);--tertiary-100:#fef3c7;--tertiary-rgb-100:254,243,199;--tertiary-contrast-100:var(--dark-primary-text);--tertiary-200:#fde68a;--tertiary-rgb-200:253,230,138;--tertiary-contrast-200:var(--dark-primary-text);--tertiary-300:#fcd34d;--tertiary-rgb-300:252,211,77;--tertiary-contrast-300:var(--dark-primary-text);--tertiary-400:#fbbf24;--tertiary-rgb-400:251,191,36;--tertiary-contrast-400:var(--light-primary-text);--tertiary-500:#f59e0b;--tertiary-rgb-500:245,158,11;--tertiary-contrast-500:var(--light-primary-text);--tertiary-600:#d97706;--tertiary-rgb-600:217,119,6;--tertiary-contrast-600:var(--light-primary-text);--tertiary-700:#b45309;--tertiary-rgb-700:180,83,9;--tertiary-contrast-700:var(--light-primary-text);--tertiary-800:#92400e;--tertiary-rgb-800:146,64,14;--tertiary-contrast-800:var(--light-primary-text);--tertiary-900:#78350f;--tertiary-rgb-900:120,53,15;--tertiary-contrast-900:var(--light-primary-text);--tertiary-950:#451a03;--tertiary-rgb-950:69,26,3;--tertiary-contrast-950:var(--light-primary-text);--grey-50:#fafafa;--grey-rgb-50:250,250,250;--grey-contrast-50:var(--dark-primary-text);--grey-100:#f4f4f5;--grey-rgb-100:244,244,245;--grey-contrast-100:var(--dark-primary-text);--grey-200:#e4e4e7;--grey-rgb-200:228,228,231;--grey-contrast-200:var(--dark-primary-text);--grey-300:#d4d4d8;--grey-rgb-300:212,212,216;--grey-contrast-300:var(--dark-primary-text);--grey-400:#a1a1aa;--grey-rgb-400:161,161,170;--grey-contrast-400:var(--dark-primary-text);--grey-500:#71717a;--grey-rgb-500:113,113,122;--grey-contrast-500:var(--light-primary-text);--grey-600:#52525b;--grey-rgb-600:82,82,91;--grey-contrast-600:var(--light-primary-text);--grey-700:#3f3f46;--grey-rgb-700:63,63,70;--grey-contrast-700:var(--light-primary-text);--grey-750:#2f2f31;--grey-rgb-750:47,47,49;--grey-contrast-750:var(--light-primary-text);--grey-800:#27272a;--grey-rgb-800:39,39,42;--grey-contrast-800:var(--light-primary-text);--grey-900:#18181b;--grey-rgb-900:24,24,27;--grey-contrast-900:var(--light-primary-text);--grey-950:#09090b;--grey-rgb-950:9,9,11;--grey-contrast-950:var(--light-primary-text);--warn-50:#fef2f2;--warn-rgb-50:254,242,242;--warn-contrast-50:var(--dark-primary-text);--warn-100:#fee2e2;--warn-rgb-100:254,226,226;--warn-contrast-100:var(--dark-primary-text);--warn-200:#fecaca;--warn-rgb-200:254,202,202;--warn-contrast-200:var(--dark-primary-text);--warn-300:#fca5a5;--warn-rgb-300:252,165,165;--warn-contrast-300:var(--dark-primary-text);--warn-400:#f87171;--warn-rgb-400:248,113,113;--warn-contrast-400:var(--light-primary-text);--warn-500:#ef4444;--warn-rgb-500:239,68,68;--warn-contrast-500:var(--light-primary-text);--warn-600:#dc2626;--warn-rgb-600:220,38,38;--warn-contrast-600:var(--light-primary-text);--warn-700:#b91c1c;--warn-rgb-700:185,28,28;--warn-contrast-700:var(--light-primary-text);--warn-800:#991b1b;--warn-rgb-800:153,27,27;--warn-contrast-800:var(--light-primary-text);--warn-900:#7f1d1d;--warn-rgb-900:127,29,29;--warn-contrast-900:var(--light-primary-text);--warn-950:#450a0a;--warn-rgb-950:69,10,10;--warn-contrast-950:var(--light-primary-text);--success-50:#ecfdf5;--success-rgb-50:236,253,245;--success-contrast-50:var(--dark-primary-text);--success-100:#d1fae5;--success-rgb-100:209,250,229;--success-contrast-100:var(--dark-primary-text);--success-200:#a7f3d0;--success-rgb-200:167,243,208;--success-contrast-200:var(--dark-primary-text);--success-300:#6ee7b7;--success-rgb-300:110,231,183;--success-contrast-300:var(--dark-primary-text);--success-400:#34d399;--success-rgb-400:52,211,153;--success-contrast-400:var(--light-primary-text);--success-500:#10b981;--success-rgb-500:16,185,129;--success-contrast-500:var(--light-primary-text);--success-600:#059669;--success-rgb-600:5,150,105;--success-contrast-600:var(--light-primary-text);--success-700:#047857;--success-rgb-700:4,120,87;--success-contrast-700:var(--light-primary-text);--success-800:#065f46;--success-rgb-800:6,95,70;--success-contrast-800:var(--light-primary-text);--success-900:#064e3b;--success-rgb-900:6,78,59;--success-contrast-900:var(--light-primary-text);--success-950:#022c22;--success-rgb-950:2,44,34;--success-contrast-950:var(--light-primary-text);--display-10:600 5rem / normal Inter Tight, sans-serif;--display-20:600 4.5rem / normal Inter Tight, sans-serif;--display-30:600 4rem / normal Inter Tight, sans-serif;--display-40:600 3.5rem / normal Inter Tight, sans-serif;--display-50:600 3rem / normal Inter Tight, sans-serif;--title-10:500 2.5rem / normal Inter Tight, sans-serif;--title-20:500 2rem / normal Inter Tight, sans-serif;--title-30:500 1.5rem / normal Inter Tight, sans-serif;--title-10B:600 2.5rem / normal Inter Tight, sans-serif;--title-20B:600 2rem / normal Inter Tight, sans-serif;--title-30B:600 1.5rem / normal Inter Tight, sans-serif;--paragraph-10:500 1.125rem / normal Inter Tight, sans-serif;--paragraph-20:500 1rem / normal Inter Tight, sans-serif;--paragraph-30:500 .875rem / normal Inter Tight, sans-serif;--paragraph-40:500 .75rem / normal Inter Tight, sans-serif;--paragraph-10B:600 1.125rem / normal Inter Tight, sans-serif;--paragraph-20B:600 1rem / normal Inter Tight, sans-serif;--paragraph-30B:600 .875rem / normal Inter Tight, sans-serif;--paragraph-40B:600 .75rem / normal Inter Tight, sans-serif;--shape-1:.25rem;--shape-2:.5rem;--shape-3:.75rem;--shape-4:1rem;--shape-5:1.25rem;--box-shadow-10:0 1px 2px 0 rgba(18, 18, 23, .07);--box-shadow-20:0 1px 3px 0 rgba(18, 18, 23, .1);--box-shadow-30:0 1px 4px -1px rgba(18, 18, 23, .08);--box-shadow-35:0 4px 6px -1px rgba(18, 18, 23, .08);--box-shadow-40:0 10px 15px -3px rgba(18, 18, 23, .08);--box-shadow-50:0 20px 25px -5px rgba(18, 18, 23, .1);--box-shadow-60:0 25px 50px -12px rgba(18, 18, 23, .25);--base-level-10:var(--sparkle-light, #fff) var(--sparkle-dark, var(--grey-950));--base-level-20:var(--sparkle-light, var(--grey-50)) var(--sparkle-dark, var(--grey-900));--base-level-30:var(--sparkle-light, var(--grey-100)) var(--sparkle-dark, var(--grey-900));--base-level-30R:var(--sparkle-light, var(--grey-900)) var(--sparkle-dark, var(--grey-100));--base-level-40:var(--sparkle-light, var(--grey-200)) var(--sparkle-dark, var(--grey-700));--base-level-50:var(--sparkle-light, var(--grey-300)) var(--sparkle-dark, var(--grey-800));--base-level-60:var(--sparkle-light, var(--grey-500)) var(--sparkle-dark, var(--grey-400));--base-level-60R:var(--sparkle-light, var(--grey-400)) var(--sparkle-dark, var(--grey-500));--base-level-70:var(--sparkle-light, var(--grey-900)) var(--sparkle-dark, #fff);--base-level-70R:var(--sparkle-light, #fff) var(--sparkle-dark, var(--grey-900));--base-gradient-20:linear-gradient(180deg, var(--grey-400) 0%, var(--grey-500) 50%);--base-gradient-30:linear-gradient(180deg, var(--grey-300) 0%, var(--grey-500) 50%);--base-gradient-60:linear-gradient(180deg, var(--grey-700) 0%, var(--grey-900) 50%);--base-gradient-70:linear-gradient(180deg, var(--grey-600) 0%, var(--grey-900) 50%);--primary-level-20:var(--sparkle-light, var(--primary-50)) var(--sparkle-dark, var(--primary-950));--primary-level-30:var(--sparkle-light, var(--primary-100)) var(--sparkle-dark, var(--primary-900));--primary-level-40:var(--sparkle-light, var(--primary-200)) var(--sparkle-dark, var(--primary-800));--primary-level-50:var(--sparkle-light, var(--primary-300)) var(--sparkle-dark, var(--primary-800));--primary-level-50R:var(--sparkle-light, var(--primary-800)) var(--sparkle-dark, var(--primary-300));--primary-level-80:var(--sparkle-light, var(--primary-900)) var(--sparkle-dark, var(--primary-300));--primary-gradient-20:linear-gradient(180deg, var(--primary-400) 0%, var(--primary-500) 50%);--primary-gradient-30:linear-gradient(180deg, var(--primary-300) 0%, var(--primary-500) 50%);--accent-level-20:var(--sparkle-light, var(--accent-50)) var(--sparkle-dark, var(--accent-950));--accent-level-30:var(--sparkle-light, var(--accent-100)) var(--sparkle-dark, var(--accent-900));--accent-level-40:var(--sparkle-light, var(--accent-200)) var(--sparkle-dark, var(--accent-800));--accent-level-50:var(--sparkle-light, var(--accent-300)) var(--sparkle-dark, var(--accent-800));--accent-level-50R:var(--sparkle-light, var(--accent-800)) var(--sparkle-dark, var(--accent-300));--accent-level-80:var(--sparkle-light, var(--accent-900)) var(--sparkle-dark, var(--accent-300));--accent-gradient-20:linear-gradient(180deg, var(--accent-400) 0%, var(--accent-500) 50%);--accent-gradient-30:linear-gradient(180deg, var(--accent-300) 0%, var(--accent-500) 50%);--tertiary-level-20:var(--sparkle-light, var(--tertiary-50)) var(--sparkle-dark, var(--tertiary-950));--tertiary-level-30:var(--sparkle-light, var(--tertiary-100)) var(--sparkle-dark, var(--tertiary-900));--tertiary-level-40:var(--sparkle-light, var(--tertiary-200)) var(--sparkle-dark, var(--tertiary-800));--tertiary-level-50:var(--sparkle-light, var(--tertiary-300)) var(--sparkle-dark, var(--tertiary-800));--tertiary-level-50R:var(--sparkle-light, var(--tertiary-800)) var(--sparkle-dark, var(--tertiary-300));--tertiary-level-80:var(--sparkle-light, var(--tertiary-900)) var(--sparkle-dark, var(--tertiary-300));--tertiary-gradient-20:linear-gradient(180deg, var(--tertiary-400) 0%, var(--tertiary-500) 50%);--tertiary-gradient-30:linear-gradient(180deg, var(--tertiary-300) 0%, var(--tertiary-500) 50%);--warn-level-20:var(--sparkle-light, var(--warn-50)) var(--sparkle-dark, var(--warn-950));--warn-level-30:var(--sparkle-light, var(--warn-100)) var(--sparkle-dark, var(--warn-900));--warn-level-40:var(--sparkle-light, var(--warn-200)) var(--sparkle-dark, var(--warn-800));--warn-level-50:var(--sparkle-light, var(--warn-300)) var(--sparkle-dark, var(--warn-800));--warn-level-50R:var(--sparkle-light, var(--warn-800)) var(--sparkle-dark, var(--warn-300));--warn-level-80:var(--sparkle-light, var(--warn-900)) var(--sparkle-dark, var(--warn-300));--warn-gradient-20:linear-gradient(180deg, var(--warn-400) 0%, var(--warn-500) 50%);--warn-gradient-30:linear-gradient(180deg, var(--warn-300) 0%, var(--warn-500) 50%);--success-level-20:var(--sparkle-light, var(--success-50)) var(--sparkle-dark, var(--success-950));--success-level-30:var(--sparkle-light, var(--success-100)) var(--sparkle-dark, var(--success-900));--success-level-40:var(--sparkle-light, var(--success-200)) var(--sparkle-dark, var(--success-800));--success-level-50:var(--sparkle-light, var(--success-300)) var(--sparkle-dark, var(--success-800));--success-level-50R:var(--sparkle-light, var(--success-800)) var(--sparkle-dark, var(--success-300));--success-level-80:var(--sparkle-light, var(--success-900)) var(--sparkle-dark, var(--success-300));--success-gradient-20:linear-gradient(180deg, var(--success-400) 0%, var(--success-500) 50%);--success-gradient-30:linear-gradient(180deg, var(--success-300) 0%, var(--success-500) 50%);--dark-primary-text:var(--grey-900);--light-primary-text:#fff}*{box-sizing:border-box}html,body,app-root{width:100vw;min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--base-level-20)}body{margin:0;font:var(--paragraph-30);color:var(--base-level-70)}</style><link rel="stylesheet" href="styles-6W7ZCKNM.css" media="print" onload="this.media='all'"><noscript><link rel="stylesheet" href="styles-6W7ZCKNM.css"></noscript></head>
12
+ <body>
13
+ <app-root></app-root>
14
+ <link rel="modulepreload" href="chunk-BRNQESTL.js"><link rel="modulepreload" href="chunk-RZUDMW24.js"><link rel="modulepreload" href="chunk-QTQWYR6H.js"><link rel="modulepreload" href="chunk-LT6J7X37.js"><link rel="modulepreload" href="chunk-JRXXG6O7.js"><link rel="modulepreload" href="chunk-BOT7P6RM.js"><link rel="modulepreload" href="chunk-GBVLF3BS.js"><link rel="modulepreload" href="chunk-RL2VWNJG.js"><script src="main-TLCKWB2W.js" type="module"></script></body>
15
+ </html>
@@ -0,0 +1 @@
1
+ import{a as z}from"./chunk-BRNQESTL.js";import{a as b}from"./chunk-RZUDMW24.js";import{b as G}from"./chunk-QTQWYR6H.js";import{b as _}from"./chunk-LT6J7X37.js";import{a as L,b as $,c as K,f as W,g as B}from"./chunk-JRXXG6O7.js";import{a as J}from"./chunk-BOT7P6RM.js";import"./chunk-GBVLF3BS.js";import{$ as A,C as k,Kb as x,O as w,T as v,W as N,Wa as l,Yb as V,Z as i,cc as P,i as I,nb as O,r as E,tc as j,uc as F,wc as H,xc as D,yc as U}from"./chunk-RL2VWNJG.js";var q={production:!0,baseUrl:"http://localhost:8200",machineServerUrl:"${WS_URL}",defaultTimeout:3e4};var m=new N("ENVIRONMENT");var Z=[{path:"",children:[{path:"login",loadComponent:()=>import("./chunk-BHHWIMLQ.js")},{path:"logout",loadComponent:()=>import("./chunk-GAT3R5MA.js")},{path:"",loadComponent:()=>import("./chunk-OX435KV6.js"),children:[{path:"",loadComponent:()=>import("./chunk-TGC6GY4N.js")},{path:"add-backup",loadComponent:()=>import("./chunk-AYLGFKRR.js")},{path:"backup/:id",loadComponent:()=>import("./chunk-VAAR5GXC.js"),children:[{path:"",redirectTo:"general",pathMatch:"full"},{path:"general",loadComponent:()=>import("./chunk-YC5LTBFM.js")},{path:"destination",loadComponent:()=>import("./chunk-UJYJZACJ.js")},{path:"source-data",loadComponent:()=>import("./chunk-OP5BV4PG.js")},{path:"schedule",loadComponent:()=>import("./chunk-XBN37RRV.js")},{path:"options",loadComponent:()=>import("./chunk-6HCEXB2Z.js")}]},{path:"restore",loadComponent:()=>import("./chunk-2DCEAXBG.js")},{path:"restore-flow/:id",loadComponent:()=>import("./chunk-2WYEYW3N.js"),children:[{path:"",redirectTo:"select-files",pathMatch:"full"},{path:"select-files",loadComponent:()=>import("./chunk-EJZT4TGZ.js")},{path:"options",loadComponent:()=>import("./chunk-HHIFLECY.js")}]},{path:"settings",loadComponent:()=>import("./chunk-RCES7NCR.js")},{path:"about",loadComponent:()=>import("./chunk-BFEHLVAY.js"),children:[{path:"",redirectTo:"general",pathMatch:"full"},{path:"general",loadComponent:()=>import("./chunk-EIZWLO2R.js")},{path:"changelog",loadComponent:()=>import("./chunk-7POJIDMZ.js")},{path:"libraries",loadComponent:()=>import("./chunk-S2HNK7TK.js")},{path:"system-info",loadComponent:()=>import("./chunk-PJNE2N54.js")},{path:"logs",loadComponent:()=>import("./chunk-IMLDBH2T.js")}]}]}]}];var g=0,Q=(t,o)=>{let e=i(z),s=i(K),p=i(m),r=i(_),c=t;return e.tokenSetTime()&&Date.now()-e.tokenSetTime()>15*60*1e3&&g<1?(g++,e.refreshToken().pipe(w(n=>(c=t.clone({headers:t.headers.set("Authorization",`Bearer ${n.AccessToken}`)}),o(c))))):(e.token()&&t.url.startsWith(p.baseUrl)&&(c=t.clone({headers:t.headers.set("Authorization",`Bearer ${e.token()}`)})),o(c).pipe(k(n=>{if(r.error(n.message),n.status===401&&g<1)return g++,e.refreshToken().pipe(w(()=>o(t.clone({headers:t.headers.set("Authorization",`Bearer ${e.token()}`)}))));n.status===401&&(s.navigate(["/logout"]),g=0);let a=`Error Code: ${n.status}, Message: ${n.message}`;return E(()=>a)})))};var oe="1.0.0",X="portal-proxy-client",ne=1,R=class t{#o=1e3;#s=i(m);#t=l("disconnected");#l=l(this.#o);#i=l(!1);#n=l(!1);#a=l(null);isConnectedToMachineServer=this.#n.asReadonly();wsState=this.#t.asReadonly();#p=[];#r={};#e=null;#m=new TextDecoder("utf-8");#c=null;#d=P(()=>{let o=this.#i(),e=this.#l(),s=this.#a();if(!s||!o||!e||e<this.#o){this.#c&&window.clearInterval(this.#c);return}this.#c=window.setInterval(()=>{this.connectToMachineServer(s)},e)});utf8Atob(o){let e=Uint8Array.from(atob(o),p=>p.charCodeAt(0)),s=this.#m.decode(e);return s?JSON.parse(s):null}connectToMachineServer(o,e){let s=e?.reconnect??!1;this.#e&&this.wsState()==="authenticated"&&!s||(this.#e&&this.wsState()!=="authenticated"&&this.#e.close(),this.#e=new WebSocket(this.#s.machineServerUrl),this.#e.onopen=()=>{this.#t.set("connect"),this.#n.set(!0),this.#i.set(!1),this.#a.set(null)},this.#e.onclose=()=>{this.#t.set("disconnected"),this.#n.set(!1),this.#a.set(o),this.#i.set(!0)},this.#e.onerror=()=>{this.#t.set("error")},this.#e.onmessage=p=>{let r=JSON.parse(p.data);if(this.wsState()==="connect"){if(r.type!=="welcome"){this.disconnectFromMachineServer(`Unexpected message type, expected 'welcome' but got '${r.type}'`);return}let n={token:o,publicKey:"",clientVersion:oe,protocolVersion:ne},a=this.createResponse(r,"authportal",n);this.#t.set("welcome"),this.#e?.send(a)}else if(this.wsState()==="welcome"){if(r.type!=="authportal"){this.disconnectFromMachineServer(`Unexpected message type, expected 'authportal' but got '${r.type}'`);return}var c=JSON.parse(r.payload??"");if(c.accepted===!1){this.disconnectFromMachineServer("Authentication failed");return}for(this.#t.set("authenticated"),this.#n.set(!0);this.#p.length>0;){let n=this.#p.pop();n&&this.#r[n.messageId]&&this.activateCommand(n)}}else if(this.wsState()==="authenticated"){if(r.type!=="command"){console.warn(`Unexpected message type, expected 'command' but got '${r.type}'`);return}let n=this.#r[r.messageId];if(n){if(r.errorMessage){n.reject(r.errorMessage);return}else{let a=JSON.parse(r.payload??"");a.body=a?.body==null?null:this.utf8Atob(a.body),n.resolve(a)}delete this.#r[r.messageId],window.clearTimeout(n.timer)}}})}disconnectFromMachineServer(o=null){o&&console.error(o),this.#e?.close(),this.#e=null,this.#t.set("disconnected"),this.#n.set(!1)}createResponse(o,e,s){let p={from:X,to:o.from,type:e,messageId:o.messageId,payload:JSON.stringify(s)};return JSON.stringify(p)}sendCommand(o,e,s,p,r,c,n=5e3){return(this.wsState()==="disconnected"||this.wsState()==="error")&&this.connectToMachineServer(o),new Promise((a,T)=>{let d=crypto.randomUUID(),f={from:X,to:e,type:"command",messageId:d,payload:JSON.stringify({method:s,path:p,body:r,headers:c})},y={resolve:a,reject:T,timer:window.setTimeout(()=>{let C=this.#r[d];C&&(delete this.#r[d],C.reject("Timeout"))},n)};this.#r[d]=y,this.#n()?this.activateCommand(f):this.#p.push(f)})}activateCommand(o){this.#e?.send(JSON.stringify(o))}static \u0275fac=function(e){return new(e||t)};static \u0275prov=v({token:t,factory:t.\u0275fac,providedIn:"root"})};var u=class t{#o=l(null);config=this.#o.asReadonly();setConfig(o){this.#o.set(o)}clearConfig(){this.#o.set(null)}static \u0275fac=function(e){return new(e||t)};static \u0275prov=v({token:t,factory:t.\u0275fac,providedIn:"root"})};function re(t){if(typeof t!="string")return null;let e=new TextEncoder().encode(t);return window.btoa(String.fromCharCode(...e))}var ee=(t,o)=>{let s=i(u).config(),p=i(m);if(s===null)return o(t);let r=i(R),c=re(t.body),n={};t.headers.keys().forEach(h=>{n[h]=t.headers.get(h)??""});let a=t.headers.get("timeout"),T=a!==null?parseInt(a):p.defaultTimeout,d=r.sendCommand(s.accessToken,s.clientId,t.method,t.url,c,n,T);return new I(h=>{d.then(f=>{let y=new j;n!=null&&Object.keys(n).forEach(M=>{y.set(M,n[M])});let C=new F({body:f.body,status:f.code,statusText:"OK",headers:y});h.next(C),h.complete()})})};var te={providers:[V(),W(Z,B()),H(U(),D([ee,Q])),b,{provide:m,useValue:q},G]};var S=class t{#o=i(b);#s=i(L);#t=i(u);sub=null;ngOnInit(){this.sub=this.#s.queryParams.subscribe(({accessToken:o,clientId:e})=>{o?.length&&e?.length&&this.#t.setConfig({accessToken:o,clientId:e})}),this.#o.clearAllNotCurrentVersion()}ngOnDestroy(){this.sub?.unsubscribe()}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=A({type:t,selectors:[["app-root"]],standalone:!0,features:[x],decls:1,vars:0,template:function(e,s){e&1&&O(0,"router-outlet")},dependencies:[$],encapsulation:2})};J(S,te).catch(t=>console.error(t));
package/package.json CHANGED
@@ -1,46 +1,9 @@
1
1
  {
2
+ "version": "0.0.5",
2
3
  "name": "@duplicati/ngclient",
3
- "version": "0.0.1",
4
4
  "license": "MIT",
5
5
  "contributors": [
6
6
  "sp90",
7
7
  "kenkendk"
8
- ],
9
- "scripts": {
10
- "gen:package-json": "bun scripts/generate-package-json.ts",
11
- "gen:font": "bunx sparkle-fg --src='./src' --out='./src/assets' --rootPath='/assets/'",
12
- "watch:font": "bunx sparkle-fg --src='./src' --out='./src/assets' --rootPath='/assets/' --watch",
13
- "ng": "ng",
14
- "start": "bun run watch:font & ng serve",
15
- "build": "bun run gen:font & ng build",
16
- "build:dev": "bun run gen:font && ng build --configuration development",
17
- "build:prod": "bun run gen:font & ng build --configuration production",
18
- "watch": "bun run watch:font & ng build --watch --configuration development",
19
- "gen:openapi": "openapi-ts"
20
- },
21
- "dependencies": {
22
- "@angular/animations": "^18.2.0",
23
- "@angular/cdk": "^18.2.0",
24
- "@angular/common": "^18.2.0",
25
- "@angular/compiler": "^18.2.0",
26
- "@angular/core": "^18.2.0",
27
- "@angular/forms": "^18.2.0",
28
- "@angular/material": "^18.2.0",
29
- "@angular/platform-browser": "^18.2.0",
30
- "@angular/platform-browser-dynamic": "^18.2.0",
31
- "@angular/router": "^18.2.0",
32
- "@sparkle-ui/core": "^0.1.103",
33
- "dayjs": "^1.11.13",
34
- "ngxtension": "^4.0.0",
35
- "rxjs": "~7.8.0",
36
- "tslib": "^2.3.0"
37
- },
38
- "devDependencies": {
39
- "@angular-devkit/build-angular": "^18.2.0",
40
- "@angular/cli": "^18.2.0",
41
- "@angular/compiler-cli": "^18.2.0",
42
- "@hey-api/openapi-ts": "^0.52.9",
43
- "prettier": "^3.3.3",
44
- "typescript": "~5.5.2"
45
- }
46
- }
8
+ ]
9
+ }
@@ -0,0 +1 @@
1
+ :root{--font-size: 16px;font-size:var(--font-size)}html body{--sparkle-light: initial;--sparkle-dark: ;color-scheme:light dark;--primary-50: #eff6ff;--primary-rgb-50: 239,246,255;--primary-contrast-50: var(--dark-primary-text);--primary-100: #dbeafe;--primary-rgb-100: 219,234,254;--primary-contrast-100: var(--dark-primary-text);--primary-200: #bfdbfe;--primary-rgb-200: 191,219,254;--primary-contrast-200: var(--dark-primary-text);--primary-300: #93c5fd;--primary-rgb-300: 147,197,253;--primary-contrast-300: var(--dark-primary-text);--primary-400: #60a5fa;--primary-rgb-400: 96,165,250;--primary-contrast-400: var(--dark-primary-text);--primary-500: #3b82f6;--primary-rgb-500: 59,130,246;--primary-contrast-500: var(--light-primary-text);--primary-600: #2563eb;--primary-rgb-600: 37,99,235;--primary-contrast-600: var(--light-primary-text);--primary-700: #1d4ed8;--primary-rgb-700: 29,78,216;--primary-contrast-700: var(--light-primary-text);--primary-800: #1e40af;--primary-rgb-800: 30,64,175;--primary-contrast-800: var(--light-primary-text);--primary-900: #1e3a8a;--primary-rgb-900: 30,58,138;--primary-contrast-900: var(--light-primary-text);--primary-950: #172554;--primary-rgb-950: 23,37,84;--primary-contrast-950: var(--light-primary-text);--accent-50: #f5f3ff;--accent-rgb-50: 245,243,255;--accent-contrast-50: var(--dark-primary-text);--accent-100: #ede9fe;--accent-rgb-100: 237,233,254;--accent-contrast-100: var(--dark-primary-text);--accent-200: #ddd6fe;--accent-rgb-200: 221,214,254;--accent-contrast-200: var(--dark-primary-text);--accent-300: #c4b5fd;--accent-rgb-300: 196,181,253;--accent-contrast-300: var(--dark-primary-text);--accent-400: #a78bfa;--accent-rgb-400: 167,139,250;--accent-contrast-400: var(--dark-primary-text);--accent-500: #8b5cf6;--accent-rgb-500: 139,92,246;--accent-contrast-500: var(--light-primary-text);--accent-600: #7c3aed;--accent-rgb-600: 124,58,237;--accent-contrast-600: var(--light-primary-text);--accent-700: #6d28d9;--accent-rgb-700: 109,40,217;--accent-contrast-700: var(--light-primary-text);--accent-800: #5b21b6;--accent-rgb-800: 91,33,182;--accent-contrast-800: var(--light-primary-text);--accent-900: #4c1d95;--accent-rgb-900: 76,29,149;--accent-contrast-900: var(--light-primary-text);--accent-950: #2e1065;--accent-rgb-950: 46,16,101;--accent-contrast-950: var(--light-primary-text);--tertiary-50: #fffbeb;--tertiary-rgb-50: 255,251,235;--tertiary-contrast-50: var(--dark-primary-text);--tertiary-100: #fef3c7;--tertiary-rgb-100: 254,243,199;--tertiary-contrast-100: var(--dark-primary-text);--tertiary-200: #fde68a;--tertiary-rgb-200: 253,230,138;--tertiary-contrast-200: var(--dark-primary-text);--tertiary-300: #fcd34d;--tertiary-rgb-300: 252,211,77;--tertiary-contrast-300: var(--dark-primary-text);--tertiary-400: #fbbf24;--tertiary-rgb-400: 251,191,36;--tertiary-contrast-400: var(--light-primary-text);--tertiary-500: #f59e0b;--tertiary-rgb-500: 245,158,11;--tertiary-contrast-500: var(--light-primary-text);--tertiary-600: #d97706;--tertiary-rgb-600: 217,119,6;--tertiary-contrast-600: var(--light-primary-text);--tertiary-700: #b45309;--tertiary-rgb-700: 180,83,9;--tertiary-contrast-700: var(--light-primary-text);--tertiary-800: #92400e;--tertiary-rgb-800: 146,64,14;--tertiary-contrast-800: var(--light-primary-text);--tertiary-900: #78350f;--tertiary-rgb-900: 120,53,15;--tertiary-contrast-900: var(--light-primary-text);--tertiary-950: #451a03;--tertiary-rgb-950: 69,26,3;--tertiary-contrast-950: var(--light-primary-text);--grey-50: #fafafa;--grey-rgb-50: 250,250,250;--grey-contrast-50: var(--dark-primary-text);--grey-100: #f4f4f5;--grey-rgb-100: 244,244,245;--grey-contrast-100: var(--dark-primary-text);--grey-200: #e4e4e7;--grey-rgb-200: 228,228,231;--grey-contrast-200: var(--dark-primary-text);--grey-300: #d4d4d8;--grey-rgb-300: 212,212,216;--grey-contrast-300: var(--dark-primary-text);--grey-400: #a1a1aa;--grey-rgb-400: 161,161,170;--grey-contrast-400: var(--dark-primary-text);--grey-500: #71717a;--grey-rgb-500: 113,113,122;--grey-contrast-500: var(--light-primary-text);--grey-600: #52525b;--grey-rgb-600: 82,82,91;--grey-contrast-600: var(--light-primary-text);--grey-700: #3f3f46;--grey-rgb-700: 63,63,70;--grey-contrast-700: var(--light-primary-text);--grey-750: #2f2f31;--grey-rgb-750: 47,47,49;--grey-contrast-750: var(--light-primary-text);--grey-800: #27272a;--grey-rgb-800: 39,39,42;--grey-contrast-800: var(--light-primary-text);--grey-900: #18181b;--grey-rgb-900: 24,24,27;--grey-contrast-900: var(--light-primary-text);--grey-950: #09090b;--grey-rgb-950: 9,9,11;--grey-contrast-950: var(--light-primary-text);--warn-50: #fef2f2;--warn-rgb-50: 254,242,242;--warn-contrast-50: var(--dark-primary-text);--warn-100: #fee2e2;--warn-rgb-100: 254,226,226;--warn-contrast-100: var(--dark-primary-text);--warn-200: #fecaca;--warn-rgb-200: 254,202,202;--warn-contrast-200: var(--dark-primary-text);--warn-300: #fca5a5;--warn-rgb-300: 252,165,165;--warn-contrast-300: var(--dark-primary-text);--warn-400: #f87171;--warn-rgb-400: 248,113,113;--warn-contrast-400: var(--light-primary-text);--warn-500: #ef4444;--warn-rgb-500: 239,68,68;--warn-contrast-500: var(--light-primary-text);--warn-600: #dc2626;--warn-rgb-600: 220,38,38;--warn-contrast-600: var(--light-primary-text);--warn-700: #b91c1c;--warn-rgb-700: 185,28,28;--warn-contrast-700: var(--light-primary-text);--warn-800: #991b1b;--warn-rgb-800: 153,27,27;--warn-contrast-800: var(--light-primary-text);--warn-900: #7f1d1d;--warn-rgb-900: 127,29,29;--warn-contrast-900: var(--light-primary-text);--warn-950: #450a0a;--warn-rgb-950: 69,10,10;--warn-contrast-950: var(--light-primary-text);--success-50: #ecfdf5;--success-rgb-50: 236,253,245;--success-contrast-50: var(--dark-primary-text);--success-100: #d1fae5;--success-rgb-100: 209,250,229;--success-contrast-100: var(--dark-primary-text);--success-200: #a7f3d0;--success-rgb-200: 167,243,208;--success-contrast-200: var(--dark-primary-text);--success-300: #6ee7b7;--success-rgb-300: 110,231,183;--success-contrast-300: var(--dark-primary-text);--success-400: #34d399;--success-rgb-400: 52,211,153;--success-contrast-400: var(--light-primary-text);--success-500: #10b981;--success-rgb-500: 16,185,129;--success-contrast-500: var(--light-primary-text);--success-600: #059669;--success-rgb-600: 5,150,105;--success-contrast-600: var(--light-primary-text);--success-700: #047857;--success-rgb-700: 4,120,87;--success-contrast-700: var(--light-primary-text);--success-800: #065f46;--success-rgb-800: 6,95,70;--success-contrast-800: var(--light-primary-text);--success-900: #064e3b;--success-rgb-900: 6,78,59;--success-contrast-900: var(--light-primary-text);--success-950: #022c22;--success-rgb-950: 2,44,34;--success-contrast-950: var(--light-primary-text);--display-10: 600 5rem / normal Inter Tight, sans-serif;--display-20: 600 4.5rem / normal Inter Tight, sans-serif;--display-30: 600 4rem / normal Inter Tight, sans-serif;--display-40: 600 3.5rem / normal Inter Tight, sans-serif;--display-50: 600 3rem / normal Inter Tight, sans-serif;--title-10: 500 2.5rem / normal Inter Tight, sans-serif;--title-20: 500 2rem / normal Inter Tight, sans-serif;--title-30: 500 1.5rem / normal Inter Tight, sans-serif;--title-10B: 600 2.5rem / normal Inter Tight, sans-serif;--title-20B: 600 2rem / normal Inter Tight, sans-serif;--title-30B: 600 1.5rem / normal Inter Tight, sans-serif;--paragraph-10: 500 1.125rem / normal Inter Tight, sans-serif;--paragraph-20: 500 1rem / normal Inter Tight, sans-serif;--paragraph-30: 500 .875rem / normal Inter Tight, sans-serif;--paragraph-40: 500 .75rem / normal Inter Tight, sans-serif;--paragraph-10B: 600 1.125rem / normal Inter Tight, sans-serif;--paragraph-20B: 600 1rem / normal Inter Tight, sans-serif;--paragraph-30B: 600 .875rem / normal Inter Tight, sans-serif;--paragraph-40B: 600 .75rem / normal Inter Tight, sans-serif;--shape-1: .25rem;--shape-2: .5rem;--shape-3: .75rem;--shape-4: 1rem;--shape-5: 1.25rem;--box-shadow-10: 0 1px 2px 0 rgba(18, 18, 23, .07);--box-shadow-20: 0 1px 3px 0 rgba(18, 18, 23, .1);--box-shadow-30: 0 1px 4px -1px rgba(18, 18, 23, .08);--box-shadow-35: 0 4px 6px -1px rgba(18, 18, 23, .08);--box-shadow-40: 0 10px 15px -3px rgba(18, 18, 23, .08);--box-shadow-50: 0 20px 25px -5px rgba(18, 18, 23, .1);--box-shadow-60: 0 25px 50px -12px rgba(18, 18, 23, .25);--base-level-10: var(--sparkle-light, #fff) var(--sparkle-dark, var(--grey-950));--base-level-20: var(--sparkle-light, var(--grey-50)) var(--sparkle-dark, var(--grey-900));--base-level-30: var(--sparkle-light, var(--grey-100)) var(--sparkle-dark, var(--grey-900));--base-level-30R: var(--sparkle-light, var(--grey-900)) var(--sparkle-dark, var(--grey-100));--base-level-40: var(--sparkle-light, var(--grey-200)) var(--sparkle-dark, var(--grey-700));--base-level-50: var(--sparkle-light, var(--grey-300)) var(--sparkle-dark, var(--grey-800));--base-level-60: var(--sparkle-light, var(--grey-500)) var(--sparkle-dark, var(--grey-400));--base-level-60R: var(--sparkle-light, var(--grey-400)) var(--sparkle-dark, var(--grey-500));--base-level-70: var(--sparkle-light, var(--grey-900)) var(--sparkle-dark, #fff);--base-level-70R: var(--sparkle-light, #fff) var(--sparkle-dark, var(--grey-900));--base-gradient-20: linear-gradient(180deg, var(--grey-400) 0%, var(--grey-500) 50%);--base-gradient-30: linear-gradient(180deg, var(--grey-300) 0%, var(--grey-500) 50%);--base-gradient-60: linear-gradient(180deg, var(--grey-700) 0%, var(--grey-900) 50%);--base-gradient-70: linear-gradient(180deg, var(--grey-600) 0%, var(--grey-900) 50%);--primary-level-20: var(--sparkle-light, var(--primary-50)) var(--sparkle-dark, var(--primary-950));--primary-level-30: var(--sparkle-light, var(--primary-100)) var(--sparkle-dark, var(--primary-900));--primary-level-40: var(--sparkle-light, var(--primary-200)) var(--sparkle-dark, var(--primary-800));--primary-level-50: var(--sparkle-light, var(--primary-300)) var(--sparkle-dark, var(--primary-800));--primary-level-50R: var(--sparkle-light, var(--primary-800)) var(--sparkle-dark, var(--primary-300));--primary-level-80: var(--sparkle-light, var(--primary-900)) var(--sparkle-dark, var(--primary-300));--primary-gradient-20: linear-gradient(180deg, var(--primary-400) 0%, var(--primary-500) 50%);--primary-gradient-30: linear-gradient(180deg, var(--primary-300) 0%, var(--primary-500) 50%);--accent-level-20: var(--sparkle-light, var(--accent-50)) var(--sparkle-dark, var(--accent-950));--accent-level-30: var(--sparkle-light, var(--accent-100)) var(--sparkle-dark, var(--accent-900));--accent-level-40: var(--sparkle-light, var(--accent-200)) var(--sparkle-dark, var(--accent-800));--accent-level-50: var(--sparkle-light, var(--accent-300)) var(--sparkle-dark, var(--accent-800));--accent-level-50R: var(--sparkle-light, var(--accent-800)) var(--sparkle-dark, var(--accent-300));--accent-level-80: var(--sparkle-light, var(--accent-900)) var(--sparkle-dark, var(--accent-300));--accent-gradient-20: linear-gradient(180deg, var(--accent-400) 0%, var(--accent-500) 50%);--accent-gradient-30: linear-gradient(180deg, var(--accent-300) 0%, var(--accent-500) 50%);--tertiary-level-20: var(--sparkle-light, var(--tertiary-50)) var(--sparkle-dark, var(--tertiary-950));--tertiary-level-30: var(--sparkle-light, var(--tertiary-100)) var(--sparkle-dark, var(--tertiary-900));--tertiary-level-40: var(--sparkle-light, var(--tertiary-200)) var(--sparkle-dark, var(--tertiary-800));--tertiary-level-50: var(--sparkle-light, var(--tertiary-300)) var(--sparkle-dark, var(--tertiary-800));--tertiary-level-50R: var(--sparkle-light, var(--tertiary-800)) var(--sparkle-dark, var(--tertiary-300));--tertiary-level-80: var(--sparkle-light, var(--tertiary-900)) var(--sparkle-dark, var(--tertiary-300));--tertiary-gradient-20: linear-gradient(180deg, var(--tertiary-400) 0%, var(--tertiary-500) 50%);--tertiary-gradient-30: linear-gradient(180deg, var(--tertiary-300) 0%, var(--tertiary-500) 50%);--warn-level-20: var(--sparkle-light, var(--warn-50)) var(--sparkle-dark, var(--warn-950));--warn-level-30: var(--sparkle-light, var(--warn-100)) var(--sparkle-dark, var(--warn-900));--warn-level-40: var(--sparkle-light, var(--warn-200)) var(--sparkle-dark, var(--warn-800));--warn-level-50: var(--sparkle-light, var(--warn-300)) var(--sparkle-dark, var(--warn-800));--warn-level-50R: var(--sparkle-light, var(--warn-800)) var(--sparkle-dark, var(--warn-300));--warn-level-80: var(--sparkle-light, var(--warn-900)) var(--sparkle-dark, var(--warn-300));--warn-gradient-20: linear-gradient(180deg, var(--warn-400) 0%, var(--warn-500) 50%);--warn-gradient-30: linear-gradient(180deg, var(--warn-300) 0%, var(--warn-500) 50%);--success-level-20: var(--sparkle-light, var(--success-50)) var(--sparkle-dark, var(--success-950));--success-level-30: var(--sparkle-light, var(--success-100)) var(--sparkle-dark, var(--success-900));--success-level-40: var(--sparkle-light, var(--success-200)) var(--sparkle-dark, var(--success-800));--success-level-50: var(--sparkle-light, var(--success-300)) var(--sparkle-dark, var(--success-800));--success-level-50R: var(--sparkle-light, var(--success-800)) var(--sparkle-dark, var(--success-300));--success-level-80: var(--sparkle-light, var(--success-900)) var(--sparkle-dark, var(--success-300));--success-gradient-20: linear-gradient(180deg, var(--success-400) 0%, var(--success-500) 50%);--success-gradient-30: linear-gradient(180deg, var(--success-300) 0%, var(--success-500) 50%);--dark-primary-text: var(--grey-900);--light-primary-text: #fff}html body.dark{--sparkle-light: ;--sparkle-dark: initial;color-scheme:dark}@font-face{font-family:Inter Tight;src:url(/sparkle-ui-assets/fonts/InterTight-VariableFont_wght.woff2) format("woff2-variations");font-weight:100 900;font-stretch:75% 125%;font-style:normal}*{box-sizing:border-box}html,body,app-root{width:100vw;min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--base-level-20)}body{margin:0;font:var(--paragraph-30);color:var(--base-level-70)}body.dragging{overflow:hidden}.spacer{flex:1 0}.spk-primary{color:var(--primary-500)}.spk-accent{color:var(--accent-500)}.spk-tertiary{color:var(--tertiary-500)}.spk-warn{color:var(--warn-500)}.spk-success,.mat-success{color:var(--success-500)}.mat-tertiary{color:var(--tertiary-500)}.loader{width:3rem;height:3rem;display:grid;place-content:center;color:var(--base-level-60)}.loader,.loading{position:relative}.loader:before,.loading:before{content:"";width:1rem;height:1rem;border:2px solid var(--loading-color);border-bottom-color:transparent;border-radius:50%;display:flex;box-sizing:border-box;animation:rotation 1s linear infinite;margin:auto;inset:0;position:absolute}@keyframes rotation{0%{transform:rotate(0)}to{transform:rotate(360deg)}}body.mat-typography h1,body.mat-typography h2,body.mat-typography h3,body.mat-typography h4,body.mat-typography h5,body.mat-typography h6,body.mat-typography p,body.mat-typography .title-10,body.mat-typography .title-20B,body.mat-typography .title-20,body.mat-typography .title-30B,body.mat-typography .paragraph-10,body.mat-typography .paragraph-20{margin:0}body h1,body h2,body h3,body h4,body h5,body h6,body .title-10,body .title-20B,body .title-20,body .title-30B{color:var(--base-level-70)}p,.paragraph-10,.paragraph-20,.paragraph-30,.paragraph-40,.paragraph-10B,.paragraph-20B,.paragraph-30B,.paragraph-40B{color:var(--base-level-60)}p{margin:0}strong{font-weight:600}a{color:var(--primary-500)}sup{color:var(--warn-500);margin-left:-.33em;vertical-align:.1875rem}body h3{font:var(--title-30)}body .display-10{font:var(--display-10)}body .display-20{font:var(--display-20)}body .display-30{font:var(--display-30)}body .display-40{font:var(--display-40)}body .display-50{font:var(--display-50)}body .title-10{font:var(--title-10)}body .title-20{font:var(--title-20)}body .title-30{font:var(--title-30)}body .title-10b{font:var(--title-10b)}body .title-20b{font:var(--title-20b)}body .title-30b{font:var(--title-30b)}body .paragraph-10{font:var(--paragraph-10)}body .paragraph-20{font:var(--paragraph-20)}body .paragraph-30{font:var(--paragraph-30)}body .paragraph-40{font:var(--paragraph-40)}body .paragraph-10b{font:var(--paragraph-10b)}body .paragraph-20b{font:var(--paragraph-20b)}body .paragraph-30b{font:var(--paragraph-30b)}body .paragraph-40b{font:var(--paragraph-40b)}body .apexcharts-text{fill:var(--base-level-70)}body .apexcharts-text.apexcharts-yaxis-label,body .apexcharts-text.apexcharts-xaxis-label{fill:var(--base-level-60)}body .apexcharts-gridline,body .apexcharts-yaxis-tick,body .apexcharts-xaxis-tick{stroke:var(--base-level-60R)}body .apexcharts-grid-borders line{stroke:var(--base-level-60R)}body .apexcharts-tracks .apexcharts-radialbar-area{stroke:var(--base-level-40)}body .apexcharts-tooltip.apexcharts-theme-light{background-color:var(--base-level-10);border:1px solid var(--base-level-40);box-shadow:var(--base-level-30);color:var(--base-level-60)}body .apexcharts-tooltip.apexcharts-theme-light .apexcharts-tooltip-title{background-color:var(--base-level-20);border-bottom:1px solid var(--base-level-40)}body .apexcharts-xaxistooltip,body .apexcharts-yaxistooltip{background-color:var(--base-level-10);border:1px solid var(--base-level-40);box-shadow:var(--base-level-30);color:var(--base-level-60)}spk-alert-container{width:100%;position:relative}spk-alert-container spk-alert{margin-bottom:.5rem}spk-alert-container spk-alert:first-of-type{margin-bottom:0}spk-alert-container spk-alert.spk-alert-is-hidden{margin-bottom:0}spk-alert-container .scroller{width:100%;max-height:50vh;overflow-y:auto;overflow-x:hidden;padding:.5rem 1rem 1rem .5rem}spk-alert-container .container{flex-direction:column-reverse;display:flex}spk-alert-container .alert-tray{display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;background-color:var(--grey-500);color:var(--grey-contrast-500);position:absolute;bottom:0;right:0;border-radius:50%;z-index:1000}spk-alert{--spk-alert-animation-duration: .4s;--spk-alert-background-color: var(--base-level-10);--spk-alert-border-color: var(--base-level-40);--spk-alert-state-icon-color: var(--base-level-70);--spk-alert-close-icon-color: var(--base-level-60);--spk-alert-title-color: var(--base-level-70);--spk-alert-content-color: var(--base-level-60);--spk-alert-box-shadow: var(--box-shadow-10);--spk-alert-box-shadow: light-dark(var(--box-shadow-10), var(--box-shadow-60));max-height:18.75rem;padding-top:0;padding-bottom:0;margin-bottom:0;opacity:1;overflow:hidden;transition:max-height var(--spk-alert-animation-duration) ease-in-out,transform var(--spk-alert-animation-duration) ease-in-out,opacity var(--spk-alert-animation-duration) ease-in-out,margin-bottom var(--spk-alert-animation-duration) ease-in-out,padding-top var(--spk-alert-animation-duration) ease-in-out,padding-bottom var(--spk-alert-animation-duration) ease-in-out;transform:translateY(0);box-shadow:var(--spk-alert-box-shadow)}spk-alert .spk-alert-item{display:grid;grid-template-columns:auto 1fr auto;grid-template-rows:auto auto;grid-template-areas:"stateIcon title closeIcon" ". alertContent .";padding:.5rem .75rem;align-items:flex-start;gap:.5rem .75rem;border:1px solid var(--spk-alert-border-color);border-radius:var(--shape-2);background-color:var(--spk-alert-background-color)}spk-alert.spk-alert-is-hidden{max-height:0;padding-top:0;padding-bottom:0;opacity:0;margin-bottom:0;overflow:hidden;transform:translateY(-40px)}spk-alert.spk-alert-is-hidden:before{opacity:0}spk-alert.spk-alert-animate-in{transition:none;max-height:0;margin-bottom:0;padding-top:0;padding-bottom:0;opacity:0;overflow:hidden;transform:translateY(0)}spk-alert.spk-alert-animate-in:before{opacity:0}spk-alert.spk-alert-animate-out{max-height:0;padding:0;opacity:0;overflow:hidden;transform:translateY(-40px)}spk-alert.spk-alert-animate-out:before{opacity:0}spk-alert.primary .spk-alert-item{--spk-alert-state-icon-color: var(--primary-500);--spk-alert-close-icon-color: var(--primary-500);--spk-alert-title-color: var(--primary-level-80);--spk-alert-content-color: var(--primary-level-80);--spk-alert-background-color: var(--primary-level-20);--spk-alert-border-color: var(--primary-level-40)}spk-alert.accent .spk-alert-item{--spk-alert-state-icon-color: var(--accent-500);--spk-alert-close-icon-color: var(--accent-500);--spk-alert-title-color: var(--accent-level-80);--spk-alert-content-color: var(--accent-level-80);--spk-alert-background-color: var(--accent-level-20);--spk-alert-border-color: var(--accent-level-40)}spk-alert.error .spk-alert-item{--spk-alert-state-icon-color: var(--warn-500);--spk-alert-close-icon-color: var(--warn-500);--spk-alert-title-color: var(--warn-level-80);--spk-alert-content-color: var(--warn-level-80);--spk-alert-background-color: var(--warn-level-20);--spk-alert-border-color: var(--warn-level-40)}spk-alert.success .spk-alert-item{--spk-alert-state-icon-color: var(--success-500);--spk-alert-close-icon-color: var(--success-500);--spk-alert-title-color: var(--success-level-80);--spk-alert-content-color: var(--success-level-80);--spk-alert-background-color: var(--success-level-20);--spk-alert-border-color: var(--success-level-40)}spk-alert.warning .spk-alert-item{--spk-alert-state-icon-color: var(--tertiary-500);--spk-alert-close-icon-color: var(--tertiary-500);--spk-alert-title-color: var(--tertiary-level-80);--spk-alert-content-color: var(--tertiary-level-80);--spk-alert-background-color: var(--tertiary-level-20);--spk-alert-border-color: var(--tertiary-level-40)}spk-alert:not(:has([spk-alert-content])) .spk-alert-item{grid-template-rows:auto;grid-template-areas:"stateIcon title closeIcon"}spk-alert:has([spk-alert-content]) .spk-alert-item{background-color:var(--base-level-10);border:1px solid var(--base-level-40);box-shadow:var(--box-shadow-50)}spk-alert:has([spk-alert-content]) .spk-alert-item .spk-alert-title{color:var(--base-level-70)}spk-alert:has([spk-alert-content]) .spk-alert-item .spk-alert-close-icon{color:var(--grey-400)}spk-alert:has([spk-alert-content]) .spk-alert-item .spk-alert-content{color:var(--base-level-60)}body.dark spk-alert:has([spk-alert-content]) .spk-alert-item{background-color:var(--grey-800);box-shadow:var(--box-shadow-50)}spk-alert .spk-alert-icon{grid-area:stateIcon;height:1.25rem;width:1.25rem;display:flex;align-items:center;justify-content:center}spk-alert [spk-alert-icon],spk-alert .spk-alert-state-icon{color:var(--spk-alert-state-icon-color)}spk-alert .spk-alert-close-icon{grid-area:closeIcon;color:var(--spk-alert-close-icon-color);transform:rotate(45deg);transform-origin:center}spk-alert .spk-alert-title{grid-area:title;color:var(--spk-alert-title-color);padding-top:.125rem}spk-alert .spk-alert-content{grid-area:alertContent;color:var(--spk-alert-content-color)}spk-alert .spk-alert-content:empty{display:none}spk-toggle{display:flex;align-items:center;gap:.5rem;cursor:pointer;-webkit-user-select:none;user-select:none;position:relative}spk-toggle label{display:flex;align-items:center;gap:.5rem;position:relative;z-index:1}spk-toggle .box{display:block;width:2.125rem;height:1.25rem;cursor:pointer;position:relative;border-radius:999px;background:var(--base-level-40);transition:background .15s linear}spk-toggle>input[type=checkbox]{appearance:none;position:absolute;inset:0;cursor:pointer;z-index:0}spk-toggle:has(input[type=checkbox]:checked) .knob,spk-toggle.active .knob{left:1rem;background-color:var(--base-level-60)}spk-toggle:has(input[type=checkbox]:checked).primary .box,spk-toggle.active.primary .box{background:var(--primary-level-30)}spk-toggle:has(input[type=checkbox]:checked).primary .box .knob,spk-toggle.active.primary .box .knob{background-color:var(--primary-500)}spk-toggle:has(input[type=checkbox]:checked).accent .box,spk-toggle.active.accent .box{background:var(--accent-level-30)}spk-toggle:has(input[type=checkbox]:checked).accent .box .knob,spk-toggle.active.accent .box .knob{background-color:var(--accent-500)}spk-toggle:has(input[type=checkbox]:checked).tertiary .box,spk-toggle.active.tertiary .box{background:var(--tertiary-level-30)}spk-toggle:has(input[type=checkbox]:checked).tertiary .box .knob,spk-toggle.active.tertiary .box .knob{background-color:var(--tertiary-500)}spk-toggle:has(input[type=checkbox]:checked).warn .box,spk-toggle.active.warn .box{background:var(--warn-level-30)}spk-toggle:has(input[type=checkbox]:checked).warn .box .knob,spk-toggle.active.warn .box .knob{background-color:var(--warn-500)}spk-toggle:has(input[type=checkbox]:checked).success .box,spk-toggle.active.success .box{background:var(--success-level-30)}spk-toggle:has(input[type=checkbox]:checked).success .box .knob,spk-toggle.active.success .box .knob{background-color:var(--success-500)}spk-toggle .knob{--knob-base-color: var(--base-level-30);position:absolute;top:.125rem;left:.125rem;width:1rem;height:1rem;border-radius:50%;background-color:var(--knob-base-color);box-shadow:var(--box-shadow-20);transition:left 125ms ease-in-out}spk-toggle.outlined .box{background:var(--base-level-10);border:1px solid var(--base-level-40)}spk-toggle.outlined.primary .box,spk-toggle.outlined.accent .box,spk-toggle.outlined.tertiary .box,spk-toggle.outlined.warn .box,spk-toggle.outlined.success .box{background:var(--base-level-10)}spk-toggle.outlined .knob{--knob-base-color: var(--base-level-40);width:.875rem;height:.875rem;box-shadow:none}spk-toggle.flat:has(input[type=checkbox]:checked) .box,spk-toggle.flat.active .box{background:var(--base-level-60)}spk-toggle.flat:has(input[type=checkbox]:checked).primary .box,spk-toggle.flat.active.primary .box{background:var(--primary-500)}spk-toggle.flat:has(input[type=checkbox]:checked).accent .box,spk-toggle.flat.active.accent .box{background:var(--accent-500)}spk-toggle.flat:has(input[type=checkbox]:checked).tertiary .box,spk-toggle.flat.active.tertiary .box{background:var(--tertiary-500)}spk-toggle.flat:has(input[type=checkbox]:checked).warn .box,spk-toggle.flat.active.warn .box{background:var(--warn-500)}spk-toggle.flat:has(input[type=checkbox]:checked).success .box,spk-toggle.flat.active.success .box{background:var(--success-500)}spk-toggle.flat:has(input[type=checkbox]:checked) .knob,spk-toggle.flat.active .knob{background-color:#fff}spk-toggle.flat:has(input[type=checkbox]:checked).primary .knob,spk-toggle.flat:has(input[type=checkbox]:checked).accent .knob,spk-toggle.flat:has(input[type=checkbox]:checked).tertiary .knob,spk-toggle.flat:has(input[type=checkbox]:checked).warn .knob,spk-toggle.flat:has(input[type=checkbox]:checked).success .knob,spk-toggle.flat.active.primary .knob,spk-toggle.flat.active.accent .knob,spk-toggle.flat.active.tertiary .knob,spk-toggle.flat.active.warn .knob,spk-toggle.flat.active.success .knob{background-color:#fff}spk-toggle.flat .knob{background-color:#fff}spk-toggle.raised:has(input[type=checkbox]:checked) .box,spk-toggle.raised.active .box{background:var(--base-gradient-20)}spk-toggle.raised:has(input[type=checkbox]:checked).primary .box,spk-toggle.raised.active.primary .box{background:var(--primary-gradient-20)}spk-toggle.raised:has(input[type=checkbox]:checked).accent .box,spk-toggle.raised.active.accent .box{background:var(--accent-gradient-20)}spk-toggle.raised:has(input[type=checkbox]:checked).tertiary .box,spk-toggle.raised.active.tertiary .box{background:var(--tertiary-gradient-20)}spk-toggle.raised:has(input[type=checkbox]:checked).warn .box,spk-toggle.raised.active.warn .box{background:var(--warn-gradient-20)}spk-toggle.raised:has(input[type=checkbox]:checked).success .box,spk-toggle.raised.active.success .box{background:var(--success-gradient-20)}spk-toggle.raised:has(input[type=checkbox]:checked) .knob,spk-toggle.raised.active .knob{background-color:#fff}spk-toggle.raised:has(input[type=checkbox]:checked).primary .knob,spk-toggle.raised:has(input[type=checkbox]:checked).accent .knob,spk-toggle.raised:has(input[type=checkbox]:checked).tertiary .knob,spk-toggle.raised:has(input[type=checkbox]:checked).warn .knob,spk-toggle.raised:has(input[type=checkbox]:checked).success .knob,spk-toggle.raised.active.primary .knob,spk-toggle.raised.active.accent .knob,spk-toggle.raised.active.tertiary .knob,spk-toggle.raised.active.warn .knob,spk-toggle.raised.active.success .knob{background-color:#fff}spk-toggle.raised .knob{background-color:#fff}[spk-button]{--btn-height: 2.5rem;--btn-shape: var(--shape-2);--btn-font: var(--paragraph-20);--loading-color: var(--base-level-60);--btn-color: var(--base-level-70);--btn-icon-color: var(--base-level-70);--btn-bg: var(--base-level-10);--btn-bg-hover: var(--base-level-20);--btn-border-color: var(--base-level-40);display:inline-flex;align-items:center;justify-content:center;gap:.5rem;position:relative;padding:0 .75rem;transition:color 80ms linear;min-width:auto;cursor:pointer;outline:none;line-height:inherit;-webkit-user-select:none;user-select:none;appearance:none;overflow:visible;vertical-align:middle;border-radius:var(--btn-shape);height:var(--btn-height);border:1px solid var(--btn-border-color);font:var(--btn-font);background:var(--btn-bg);color:var(--btn-color)}[spk-button] spk-icon{color:var(--btn-icon-color)}[spk-button]:hover{--btn-color: var(--base-level-70);background:var(--btn-bg-hover)}[spk-button].loading.outlined,[spk-button].loading.flat,[spk-button].loading.raised,[spk-button].loading,[spk-button].loading.outlined:hover,[spk-button].loading.outlined.primary,[spk-button].loading.outlined.accent,[spk-button].loading.outlined.tertiary,[spk-button].loading.outlined.warn,[spk-button].loading.outlined.success,[spk-button].loading.flat:hover,[spk-button].loading.flat.primary,[spk-button].loading.flat.accent,[spk-button].loading.flat.tertiary,[spk-button].loading.flat.warn,[spk-button].loading.flat.success,[spk-button].loading.raised:hover,[spk-button].loading.raised.primary,[spk-button].loading.raised.accent,[spk-button].loading.raised.tertiary,[spk-button].loading.raised.warn,[spk-button].loading.raised.success,[spk-button].loading:hover,[spk-button].loading.primary,[spk-button].loading.accent,[spk-button].loading.tertiary,[spk-button].loading.warn,[spk-button].loading.success{color:transparent}[spk-button].loading.outlined>*,[spk-button].loading.flat>*,[spk-button].loading.raised>*,[spk-button].loading>*{opacity:0}[spk-button].small{--btn-height: 2rem;--btn-font: var(--paragraph-30);padding:0 .5rem;gap:.25rem}[spk-button][disabled]{opacity:.5}[spk-button][read-only],[spk-button][read-only=true],[spk-button][readonly=true],[spk-button][readonly],[spk-button].readonly{pointer-events:none;-webkit-user-select:none;user-select:none}[spk-button].primary{--btn-icon-color: var(--primary-500)}[spk-button].accent{--btn-icon-color: var(--accent-500)}[spk-button].tertiary{--btn-icon-color: var(--tertiary-500)}[spk-button].warn{--btn-icon-color: var(--warn-500)}[spk-button].success{--btn-icon-color: var(--success-500)}[spk-button].icon{padding:0 .5625rem}[spk-button].icon.small{padding:0 .3125rem}[spk-button].icon,[spk-button].outlined{--btn-color: var(--base-level-70);--btn-bg: var(--base-level-20);--btn-bg-hover: var(--base-level-30);transition:color 80ms linear}[spk-button].icon.primary,[spk-button].outlined.primary{--loading-color: var(--primary-500);--btn-bg: var(--primary-level-20);--btn-bg-hover: var(--primary-level-30);--btn-border-color: var(--primary-level-40)}[spk-button].icon.accent,[spk-button].outlined.accent{--loading-color: var(--accent-500);--btn-bg: var(--accent-level-20);--btn-bg-hover: var(--accent-level-30);--btn-border-color: var(--accent-level-40)}[spk-button].icon.tertiary,[spk-button].outlined.tertiary{--loading-color: var(--tertiary-500);--btn-bg: var(--tertiary-level-20);--btn-bg-hover: var(--tertiary-level-30);--btn-border-color: var(--tertiary-level-40)}[spk-button].icon.warn,[spk-button].outlined.warn{--loading-color: var(--warn-500);--btn-bg: var(--warn-level-20);--btn-bg-hover: var(--warn-level-30);--btn-border-color: var(--warn-level-40)}[spk-button].icon.success,[spk-button].outlined.success{--loading-color: var(--success-500);--btn-bg: var(--success-level-20);--btn-bg-hover: var(--success-level-30);--btn-border-color: var(--success-level-40)}[spk-button].flat{--loading-color: var(--base-level-10);--btn-color: #fff;--btn-icon-color: #fff;--btn-bg: var(--sparkle-light, var(--grey-600)) var(--sparkle-dark, var(--grey-600));--btn-bg-hover: var(--sparkle-light, var(--grey-700)) var(--sparkle-dark, var(--grey-700));border:0}[spk-button].flat.primary{--btn-color: var(--primary-contrast-500);--btn-bg: var(--primary-500);--btn-bg-hover: var(--primary-500)}[spk-button].flat.accent{--btn-color: var(--accent-contrast-500);--btn-bg: var(--accent-500);--btn-bg-hover: var(--accent-500)}[spk-button].flat.tertiary{--btn-color: var(--tertiary-contrast-500);--btn-bg: var(--tertiary-500);--btn-bg-hover: var(--tertiary-500)}[spk-button].flat.warn{--btn-color: var(--warn-contrast-500);--btn-bg: var(--warn-500);--btn-bg-hover: var(--warn-500)}[spk-button].flat.success{--btn-color: var(--success-contrast-500);--btn-bg: var(--success-500);--btn-bg-hover: var(--success-500)}[spk-button].raised{--loading-color: var(--base-level-10);--btn-color: #fff;--btn-icon-color: #fff;--btn-bg: var(--base-gradient-60);--btn-bg-hover: var(--base-gradient-70);border:0;box-shadow:none}[spk-button].raised.primary{--btn-color: var(--primary-contrast-500);--btn-bg: var(--primary-gradient-20);--btn-bg-hover: var(--primary-gradient-30)}[spk-button].raised.accent{--btn-color: var(--accent-contrast-500);--btn-bg: var(--accent-gradient-20);--btn-bg-hover: var(--accent-gradient-30)}[spk-button].raised.tertiary{--btn-color: var(--tertiary-contrast-500);--btn-bg: var(--tertiary-gradient-20);--btn-bg-hover: var(--tertiary-gradient-30)}[spk-button].raised.warn{--btn-color: var(--warn-contrast-500);--btn-bg: var(--warn-gradient-20);--btn-bg-hover: var(--warn-gradient-30)}[spk-button].raised.success{--btn-color: var(--success-contrast-500);--btn-bg: var(--success-gradient-20);--btn-bg-hover: var(--success-gradient-30)}spk-progress-bar{display:block;width:100%;height:.5rem;position:relative;overflow:hidden;border-radius:var(--shape-2);background-color:var(--base-level-30)}spk-progress-bar .progress-bar{position:absolute;top:0;left:0;bottom:0;height:100%;transform-origin:top left;border-radius:var(--shape-2);background-color:var(--base-level-60)}spk-progress-bar.indeterminate .progress-bar{right:0;animation:indeterminate-progress-bar-stripes 2s linear infinite}spk-progress-bar.indeterminate:after{content:"";position:absolute;inset:0;background-color:var(--base-level-30);animation:indeterminate-progress-bar-stripes-background 2s linear infinite;transform-origin:top left}spk-progress-bar.primary .progress-bar{background-color:var(--primary-500)}spk-progress-bar.accent .progress-bar{background-color:var(--accent-500)}spk-progress-bar.tertiary .progress-bar{background-color:var(--tertiary-500)}spk-progress-bar.warn .progress-bar{background-color:var(--warn-500)}spk-progress-bar.success .progress-bar{background-color:var(--success-500)}spk-progress-bar.outlined{border:1px solid var(--base-level-40);background-color:var(--base-level-10)}spk-progress-bar.outlined:after{background-color:inherit}spk-progress-bar.flat{background-color:var(--base-level-30)}spk-progress-bar.flat:after{background-color:inherit}spk-progress-bar.flat.primary{background-color:var(--primary-level-30)}spk-progress-bar.flat.accent{background-color:var(--accent-level-30)}spk-progress-bar.flat.tertiary{background-color:var(--tertiary-level-30)}spk-progress-bar.flat.warn{background-color:var(--warn-level-30)}spk-progress-bar.flat.success{background-color:var(--success-level-30)}spk-progress-bar.raised .progress-bar{background:var(--base-gradient-30)}spk-progress-bar.raised.primary .progress-bar{background:var(--primary-gradient-30)}spk-progress-bar.raised.accent .progress-bar{background:var(--accent-gradient-30)}spk-progress-bar.raised.tertiary .progress-bar{background:var(--tertiary-gradient-30)}spk-progress-bar.raised.warn .progress-bar{background:var(--warn-gradient-30)}spk-progress-bar.raised.success .progress-bar{background:var(--success-gradient-30)}@keyframes indeterminate-progress-bar-stripes-background{0%{animation-timing-function:cubic-bezier(.15,0,.515058,.409685);transform:translate(0)}25%{animation-timing-function:cubic-bezier(.31033,.284058,.8,.733712);transform:translate(37.651913%)}48.35%{animation-timing-function:cubic-bezier(.4,.627035,.6,.902026);transform:translate(84.386165%)}to{transform:translate(160.277782%)}}@keyframes indeterminate-progress-bar-stripes{0%{transform:translate(0)}20%{animation-timing-function:cubic-bezier(.5,0,.701732,.495819);transform:translate(0)}59.15%{animation-timing-function:cubic-bezier(.302435,.381352,.55,.956352);transform:translate(83.67142%)}to{transform:translate(200.611057%)}}spk-checkbox{display:flex;align-items:center;gap:.5rem;cursor:pointer;-webkit-user-select:none;user-select:none;position:relative}spk-checkbox>input[type=checkbox]{appearance:none;position:absolute;inset:0;cursor:pointer}spk-checkbox>input[type=checkbox]:focus{outline:none}spk-checkbox .box{display:flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;cursor:pointer;position:relative;border-radius:var(--shape-1);border:1px solid var(--base-level-40);background:var(--base-level-30);font-size:.75rem;color:var(--base-level-60)}spk-checkbox spk-icon{opacity:0;font-weight:700}spk-checkbox:has(input[type=checkbox]:checked) spk-icon,spk-checkbox.active spk-icon{opacity:1}spk-checkbox.primary .box{background:var(--primary-level-30);border-color:var(--primary-level-40);color:var(--primary-500)}spk-checkbox.accent .box{background:var(--accent-level-30);border-color:var(--accent-level-40);color:var(--accent-500)}spk-checkbox.tertiary .box{background:var(--tertiary-level-30);border-color:var(--tertiary-level-40);color:var(--tertiary-500)}spk-checkbox.warn .box{background:var(--warn-level-30);border-color:var(--warn-level-40);color:var(--warn-500)}spk-checkbox.success .box{background:var(--success-level-30);border-color:var(--success-level-40);color:var(--success-500)}spk-checkbox.outlined .box{background:var(--base-level-10)}spk-checkbox.outlined.primary .box,spk-checkbox.outlined.accent .box,spk-checkbox.outlined.tertiary .box,spk-checkbox.outlined.warn .box,spk-checkbox.outlined.success .box{background:var(--base-level-10);border-color:var(--base-level-40)}spk-checkbox.flat .box,spk-checkbox.raised .box{border-color:var(--base-level-40);background:var(--base-level-30);color:#fff}.sparkle-popup-menu spk-option[selected] spk-checkbox spk-icon{opacity:1}spk-checkbox.flat:has(input[type=checkbox]:checked) .box,spk-checkbox.flat.active .box,.sparkle-popup-menu spk-option[selected] spk-checkbox.flat .box{border-width:0;background:var(--grey-500);color:#fff}spk-checkbox.primary.flat:has(input[type=checkbox]:checked) .box,spk-checkbox.primary.flat.active .box,.sparkle-popup-menu spk-option[selected] spk-checkbox.primary.flat .box{background:var(--primary-500);color:#fff}spk-checkbox.accent.flat:has(input[type=checkbox]:checked) .box,spk-checkbox.accent.flat.active .box,.sparkle-popup-menu spk-option[selected] spk-checkbox.accent.flat .box{background:var(--accent-500);color:#fff}spk-checkbox.tertiary.flat:has(input[type=checkbox]:checked) .box,spk-checkbox.tertiary.flat.active .box,.sparkle-popup-menu spk-option[selected] spk-checkbox.tertiary.flat .box{background:var(--tertiary-500);color:#fff}spk-checkbox.warn.flat:has(input[type=checkbox]:checked) .box,spk-checkbox.warn.flat.active .box,.sparkle-popup-menu spk-option[selected] spk-checkbox.warn.flat .box{background:var(--warn-500);color:#fff}spk-checkbox.success.flat:has(input[type=checkbox]:checked) .box,spk-checkbox.success.flat.active .box,.sparkle-popup-menu spk-option[selected] spk-checkbox.success.flat .box{background:var(--success-500);color:#fff}spk-checkbox.raised:has(input[type=checkbox]:checked) .box,spk-checkbox.raised.active .box,.sparkle-popup-menu spk-option[selected] spk-checkbox.raised .box{border-width:0;background:var(--base-gradient-20)}spk-checkbox.primary.raised:has(input[type=checkbox]:checked) .box,spk-checkbox.primary.raised.active .box,.sparkle-popup-menu spk-option[selected] spk-checkbox.primary.raised .box{background:var(--primary-gradient-20)}spk-checkbox.accent.raised:has(input[type=checkbox]:checked) .box,spk-checkbox.accent.raised.active .box,.sparkle-popup-menu spk-option[selected] spk-checkbox.accent.raised .box{background:var(--accent-gradient-20)}spk-checkbox.tertiary.raised:has(input[type=checkbox]:checked) .box,spk-checkbox.tertiary.raised.active .box,.sparkle-popup-menu spk-option[selected] spk-checkbox.tertiary.raised .box{background:var(--tertiary-gradient-20)}spk-checkbox.warn.raised:has(input[type=checkbox]:checked) .box,spk-checkbox.warn.raised.active .box,.sparkle-popup-menu spk-option[selected] spk-checkbox.warn.raised .box{background:var(--warn-gradient-20)}spk-checkbox.success.raised:has(input[type=checkbox]:checked) .box,spk-checkbox.success.raised.active .box,.sparkle-popup-menu spk-option[selected] spk-checkbox.success.raised .box{background:var(--success-gradient-20)}spk-icon{font-size:1.25rem;line-height:1em;width:1em;height:1em;text-align:left;overflow:hidden}spk-icon.large{font-size:2rem}spk-icon.small{font-size:1rem}spk-icon.inherit{font-size:inherit}spk-menu{display:inline-block;position:relative}.sparkle-menu-backdrop{position:fixed;inset:0;opacity:0;z-index:1;transition:opacity 125ms linear}.sparkle-options{position:relative;z-index:2;max-height:11.25rem;overflow-y:auto;overflow-x:hidden}.sparkle-popup-menu [spk-menu-title]{font:var(--paragraph-30);color:var(--base-level-60);padding:.5rem .75rem;margin:0 .5rem;width:calc(100% - 1rem);-webkit-user-select:none;user-select:none}.sparkle-popup-menu [spk-menu-item]{display:flex;justify-content:flex-start;align-items:center;min-height:2rem;margin:0 .5rem;padding:0 .5rem;gap:.5rem;width:calc(100% - 1rem);border-radius:var(--shape-2);appearance:none;background-color:transparent;border:0;cursor:pointer;color:var(--base-level-70)}.sparkle-popup-menu [spk-menu-item][disabled]{opacity:.3;cursor:initial}.sparkle-popup-menu [spk-menu-item][disabled]:hover{background-color:transparent}.sparkle-popup-menu [spk-menu-item] [suffix]{order:999;color:var(--base-level-60);font:var(--paragraph-30);justify-self:flex-end;display:inline-flex;flex:1 0;justify-content:flex-end}.sparkle-popup-menu [spk-menu-item] spk-icon{font-size:1rem}.sparkle-popup-menu [spk-menu-item].active,.sparkle-popup-menu [spk-menu-item]:hover{background-color:var(--base-level-30);color:var(--base-level-70)}.sparkle-popup-menu [spk-menu-item].focused{background-color:var(--primary-level-20);color:var(--base-level-70)}.sparkle-popup-menu [spk-menu-item].focused:hover{background-color:var(--primary-level-30)}spk-divider{--divider-color: var(--base-level-40);--divider-height: .0625rem;display:flex;gap:.5rem;align-items:center}spk-divider:empty{gap:0}spk-divider:before,spk-divider:after{content:"";background:var(--divider-color);height:var(--divider-height);flex:1 0}spk-chip{--chip-height: 2rem;--chip-shape: 1rem;--chip-color: var(--base-level-70);--chip-icon-color: var(--base-level-70);--chip-bg: var(--base-level-10);--chip-border-color: var(--base-level-40);display:inline-flex;align-items:center;gap:.5rem;padding:0 .75rem;font:var(--paragraph-30B);color:var(--chip-color);height:var(--chip-height);border-radius:var(--chip-shape);border:1px solid var(--chip-border-color);background:var(--chip-bg)}spk-chip spk-icon{color:var(--chip-icon-color);font-size:1rem;font-weight:inherit}spk-chip [spkChipAvatar]{height:calc(var(--chip-height) - .75rem);width:calc(var(--chip-height) - .75rem);border-radius:50%}spk-chip.small{--chip-height: 1.5rem;--chip-shape: .75rem;font:var(--paragraph-40B);padding:0 .5rem;gap:.25rem}spk-chip.small spk-icon{font-size:.75rem}spk-chip[disabled]{opacity:.5}spk-chip[read-only],spk-chip[read-only=true],spk-chip[readonly=true],spk-chip[readonly],spk-chip.readonly{pointer-events:none;-webkit-user-select:none;user-select:none}spk-chip.primary{--chip-icon-color: var(--primary-500)}spk-chip.accent{--chip-icon-color: var(--accent-500)}spk-chip.tertiary{--chip-icon-color: var(--tertiary-500)}spk-chip.warn{--chip-icon-color: var(--warn-500)}spk-chip.success{--chip-icon-color: var(--success-500)}spk-chip.simple{border:0;--chip-color: var(--base-level-70)}spk-chip.simple.primary{--chip-color: var(--primary-500)}spk-chip.simple.accent{--chip-color: var(--accent-500)}spk-chip.simple.tertiary{--chip-color: var(--tertiary-500)}spk-chip.simple.warn{--chip-color: var(--warn-500)}spk-chip.simple.success{--chip-color: var(--success-500)}spk-chip.simple,spk-chip.outlined{--chip-color: var(--base-level-70);--chip-bg: var(--base-level-20);transition:color 80ms linear}spk-chip.simple.primary,spk-chip.outlined.primary{--loading-color: var(--primary-500);--chip-bg: var(--primary-level-20);--chip-border-color: var(--primary-level-40)}spk-chip.simple.accent,spk-chip.outlined.accent{--loading-color: var(--accent-500);--chip-bg: var(--accent-level-20);--chip-border-color: var(--accent-level-40)}spk-chip.simple.tertiary,spk-chip.outlined.tertiary{--loading-color: var(--tertiary-500);--chip-bg: var(--tertiary-level-20);--chip-border-color: var(--tertiary-level-40)}spk-chip.simple.warn,spk-chip.outlined.warn{--loading-color: var(--warn-500);--chip-bg: var(--warn-level-20);--chip-border-color: var(--warn-level-40)}spk-chip.simple.success,spk-chip.outlined.success{--loading-color: var(--success-500);--chip-bg: var(--success-level-20);--chip-border-color: var(--success-level-40)}spk-chip.flat{--loading-color: var(--base-level-10);--chip-color: #fff;--chip-icon-color: #fff;--chip-bg: var(--sparkle-light, var(--grey-600)) var(--sparkle-dark, var(--grey-600));border:0}spk-chip.flat.primary{--chip-color: var(--primary-contrast-500);--chip-bg: var(--primary-500)}spk-chip.flat.accent{--chip-color: var(--accent-contrast-500);--chip-bg: var(--accent-500)}spk-chip.flat.tertiary{--chip-color: var(--tertiary-contrast-500);--chip-bg: var(--tertiary-500)}spk-chip.flat.warn{--chip-color: var(--warn-contrast-500);--chip-bg: var(--warn-500)}spk-chip.flat.success{--chip-color: var(--success-contrast-500);--chip-bg: var(--success-500)}spk-chip.raised{--loading-color: var(--base-level-10);--chip-color: #fff;--chip-icon-color: #fff;--chip-bg: var(--base-gradient-60);border:0;box-shadow:none}spk-chip.raised.primary{--chip-color: var(--primary-contrast-500);--chip-bg: var(--primary-gradient-20)}spk-chip.raised.accent{--chip-color: var(--accent-contrast-500);--chip-bg: var(--accent-gradient-20)}spk-chip.raised.tertiary{--chip-color: var(--tertiary-contrast-500);--chip-bg: var(--tertiary-gradient-20)}spk-chip.raised.warn{--chip-color: var(--warn-contrast-500);--chip-bg: var(--warn-gradient-20)}spk-chip.raised.success{--chip-color: var(--success-contrast-500);--chip-bg: var(--success-gradient-20)}spk-form-field{--spk-input-height: 2.5rem;--spk-input-shape: var(--shape-2);--spk-input-border-color: var(--base-level-40);--spk-input-prefix-bg: var(--base-level-20);--spk-input-icon-color: var(--base-level-60);--spk-input-background-color: var(--base-level-10);display:flex;flex-direction:column;position:relative}spk-form-field[read-only],spk-form-field[read-only=true],spk-form-field[readonly=true],spk-form-field[readonly],spk-form-field.readonly,spk-form-field[disabled],spk-form-field[disabled=true],spk-form-field.disabled,spk-form-field:has(input[disabled]),spk-form-field:has(textarea[disabled]),spk-form-field:has(textarea[disabled=true]),spk-form-field:has(input[disabled=true]){pointer-events:none;-webkit-user-select:none;user-select:none;opacity:.5}spk-form-field.small{--spk-input-height: 2rem}spk-form-field label{display:flex;align-items:center;padding-bottom:.25rem;gap:.25rem}spk-form-field label spk-icon{font-size:1rem}spk-form-field .prefix{display:none;align-items:center;gap:.25rem;background-color:var(--spk-input-prefix-bg);padding:0 .75rem;height:100%;min-height:calc(var(--spk-input-height) - .125rem);transition:background-color 125ms linear}spk-form-field .prefix [spkPrefix]+[spkTextPrefix]{margin-left:.25rem}spk-form-field .prefix-spacer,spk-form-field .suffix-spacer{width:0;height:100%}spk-form-field:not(:has(.helpers .error:empty)){--spk-input-icon-color: var(--warn-500);--spk-input-border-color: var(--warn-500);--spk-input-prefix-bg: var(--warn-level-20)}spk-form-field .input-wrap{display:flex;align-items:center;border:1px solid var(--spk-input-border-color);border-radius:var(--spk-input-shape);background:var(--spk-input-background-color);padding:.4375rem .75rem;min-height:var(--spk-input-height);overflow:hidden;transition:border-color 125ms linear}spk-form-field .input-wrap .input{flex:1 0}spk-form-field .input-wrap textarea{resize:none;margin:.5rem 0;color:var(--base-level-60);field-sizing:content}spk-form-field .input-wrap:has(textarea){height:auto;min-height:var(--spk-input-height)}spk-form-field .input-wrap spk-icon{color:var(--spk-input-icon-color);transition:color 125ms linear}spk-form-field .input-wrap textarea,spk-form-field .input-wrap input{appearance:none;border:0;padding:0;background:transparent;font:var(--paragraph-30B);flex:1 0;color:var(--base-level-60)}spk-form-field .input-wrap textarea::placeholder,spk-form-field .input-wrap input::placeholder{color:var(--base-level-60R)}spk-form-field .input-wrap textarea:focus,spk-form-field .input-wrap input:focus{outline:none}spk-form-field .input-wrap textarea[type=number],spk-form-field .input-wrap input[type=number]{appearance:textfield;text-align:right}spk-form-field .input-wrap textarea[type=number]::-webkit-outer-spin-button,spk-form-field .input-wrap textarea[type=number]::-webkit-inner-spin-button,spk-form-field .input-wrap input[type=number]::-webkit-outer-spin-button,spk-form-field .input-wrap input[type=number]::-webkit-inner-spin-button{display:none}spk-form-field .input-wrap:has([spkSuffix]) .suffix-spacer{width:.5rem}spk-form-field .input-wrap:has([spkPrefix]),spk-form-field .input-wrap:has([spkTextPrefix]){padding:0 .75rem 0 0}spk-form-field .input-wrap:has([spkPrefix]) .prefix,spk-form-field .input-wrap:has([spkTextPrefix]) .prefix{display:flex}spk-form-field .input-wrap:has([spkPrefix]) .prefix-spacer,spk-form-field .input-wrap:has([spkTextPrefix]) .prefix-spacer{width:.5rem}spk-form-field .helpers{height:1.25rem;display:flex;align-items:center;gap:.25rem;padding-top:.25rem}spk-form-field .helpers:has(.error:empty):has(.hint:empty){height:0;padding-top:0}spk-form-field .helpers:not(:has(.error:empty)) .hint{opacity:0;visibility:hidden}spk-form-field .helpers [spkHint]{color:var(--base-level-60R)}spk-form-field .helpers [spkHint][suffix]{justify-self:flex-end}spk-form-field .hint{display:flex;align-items:center;justify-content:space-between;width:100%;color:var(--base-level-60R);opacity:1;transition:visibility 125ms linear,opacity 125ms linear;visibility:visible}spk-form-field .hint:empty{opacity:0}spk-form-field .error{color:var(--warn-500);opacity:1;transition:opacity 125ms linear;position:absolute;bottom:0;left:0;right:0;width:100%}spk-form-field .error:empty{opacity:0}spk-sidenav{--sidenav-width: 17.5rem;display:flex;width:100vw;height:100vh}spk-sidenav.closed .sidenav{width:3rem}spk-sidenav .sidenav{width:var(--sidenav-width);transition:width .2s linear;height:100%;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:auto}spk-sidenav .main-wrap{position:relative;z-index:1;flex:1 0;display:block;height:100%;overflow:auto;padding:1rem 1rem 1rem 0}spk-sidenav main{overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:auto;background-color:var(--base-level-10);border:1px solid var(--base-level-40);border-radius:var(--shape-3);height:calc(100vh - 2rem);box-shadow:var(--box-shadow-35)}spk-sidenav .closed-topbar{display:none;min-height:3.75rem;background-color:var(--base-level-10);align-items:center;justify-content:space-between;padding:0 1rem;border-bottom:1px solid var(--base-level-40);z-index:10000;position:relative}spk-sidenav .dragable{display:none}spk-sidenav .drag-image{display:none}spk-sidenav.overlay{overflow:hidden}spk-sidenav.overlay .drag-image{display:block;width:.25rem;height:40%;background-color:var(--base-level-30);border-radius:.125rem;box-shadow:none}spk-sidenav.overlay .sidenav{position:fixed;z-index:0}spk-sidenav.overlay .dragable{position:absolute;top:0;left:0;bottom:0;z-index:9999;width:50px;padding-right:30px;display:flex;align-items:center;justify-content:center;cursor:grab}spk-sidenav.overlay .dragable:active{cursor:grabbing}spk-sidenav.overlay .dragable:after{content:"";display:block;width:.25rem;height:40%;background-color:var(--base-level-30);border-radius:.125rem}spk-sidenav.overlay .dragable:hover:after{background-color:var(--base-level-40)}spk-sidenav.overlay .dropping-surface{position:fixed;inset:0;z-index:100000}spk-sidenav.overlay .main-wrap{z-index:1;padding:0;display:flex;height:100vh;position:relative;flex-direction:column;transform:translate(0);transition:transform .2s linear}spk-sidenav.overlay.is-dragging{-webkit-user-select:none;user-select:none;cursor:grabbing}spk-sidenav.overlay.is-dragging .main-wrap{transition:none}spk-sidenav.overlay.is-dragging>*{cursor:grabbing}spk-sidenav.overlay.is-dragging .dragable{cursor:grabbing}spk-sidenav.overlay.open .main-wrap{transform:translate(var(--sidenav-width))}spk-sidenav.overlay .closed-topbar{display:flex}spk-sidenav.overlay .closed-topbar:empty{display:none}spk-sidenav.overlay main{border:0;box-shadow:none;flex:1 0}spk-list{--list-shape: var(--shape-2);--list-active-bg: var(--base-level-20);--list-active-box-shadow: none;width:100%;padding:1.25rem 1rem;gap:.5rem;display:flex;flex-direction:column}spk-list.base-level-20{--list-active-bg: var(--base-level-10);--list-active-box-shadow: var(--box-shadow-20)}spk-list [title]{color:var(--base-level-60R);margin:0 .75rem;font:var(--paragraph-30);line-height:1.25rem}spk-list [spk-action-item],spk-list [spk-list-item]{border-radius:var(--list-shape);padding:.5rem .75rem;font:var(--paragraph-30);color:var(--base-level-60);display:flex;align-items:center;gap:.5rem;width:100%;-webkit-user-select:none;user-select:none;appearance:none;border:0;text-align:left;text-wrap:balance;background-color:transparent}spk-list [spk-action-item]:focus,spk-list [spk-list-item]:focus{outline:none}spk-list [spk-action-item] [suffix],spk-list [spk-list-item] [suffix]{margin-left:auto}spk-list :has(input[type=checkbox]),spk-list :has(input[type=radio]),spk-list [spk-action-item]{cursor:pointer}spk-list [spk-list-item]:has(input[type=checkbox]:checked),spk-list [spk-action-item]:has(input[type=checkbox]:checked),spk-list [spk-list-item]:has(input[type=radio]:checked),spk-list [spk-action-item]:has(input[type=radio]:checked),spk-list [spk-action-item].active,spk-list [spk-action-item].selected{background-color:var(--list-active-bg);box-shadow:var(--list-active-box-shadow)}spk-list.primary [spk-list-item]:has(input[type=checkbox]:checked) spk-icon:first-child,spk-list.primary [spk-action-item]:has(input[type=checkbox]:checked) spk-icon:first-child,spk-list.primary [spk-list-item]:has(input[type=radio]:checked) spk-icon:first-child,spk-list.primary [spk-action-item]:has(input[type=radio]:checked) spk-icon:first-child,spk-list.primary [spk-action-item].active spk-icon:first-child,spk-list.primary [spk-action-item].selected spk-icon:first-child{color:var(--primary-500)}spk-list.accent [spk-list-item]:has(input[type=checkbox]:checked) spk-icon:first-child,spk-list.accent [spk-action-item]:has(input[type=checkbox]:checked) spk-icon:first-child,spk-list.accent [spk-list-item]:has(input[type=radio]:checked) spk-icon:first-child,spk-list.accent [spk-action-item]:has(input[type=radio]:checked) spk-icon:first-child,spk-list.accent [spk-action-item].active spk-icon:first-child,spk-list.accent [spk-action-item].selected spk-icon:first-child{color:var(--accent-500)}spk-list.tertiary [spk-list-item]:has(input[type=checkbox]:checked) spk-icon:first-child,spk-list.tertiary [spk-action-item]:has(input[type=checkbox]:checked) spk-icon:first-child,spk-list.tertiary [spk-list-item]:has(input[type=radio]:checked) spk-icon:first-child,spk-list.tertiary [spk-action-item]:has(input[type=radio]:checked) spk-icon:first-child,spk-list.tertiary [spk-action-item].active spk-icon:first-child,spk-list.tertiary [spk-action-item].selected spk-icon:first-child{color:var(--tertiary-500)}spk-list.warn [spk-list-item]:has(input[type=checkbox]:checked) spk-icon:first-child,spk-list.warn [spk-action-item]:has(input[type=checkbox]:checked) spk-icon:first-child,spk-list.warn [spk-list-item]:has(input[type=radio]:checked) spk-icon:first-child,spk-list.warn [spk-action-item]:has(input[type=radio]:checked) spk-icon:first-child,spk-list.warn [spk-action-item].active spk-icon:first-child,spk-list.warn [spk-action-item].selected spk-icon:first-child{color:var(--warn-500)}spk-list.success [spk-list-item]:has(input[type=checkbox]:checked) spk-icon:first-child,spk-list.success [spk-action-item]:has(input[type=checkbox]:checked) spk-icon:first-child,spk-list.success [spk-list-item]:has(input[type=radio]:checked) spk-icon:first-child,spk-list.success [spk-action-item]:has(input[type=radio]:checked) spk-icon:first-child,spk-list.success [spk-action-item].active spk-icon:first-child,spk-list.success [spk-action-item].selected spk-icon:first-child{color:var(--success-500)}spk-radio{--spk-radio-dot-opacity: 0;--spk-radio-dot-color: var(--base-level-60);display:flex;align-items:center;gap:.5rem;cursor:pointer;-webkit-user-select:none;user-select:none;position:relative}spk-radio>input[type=radio]{appearance:none;position:absolute;inset:0;cursor:pointer}spk-radio>input[type=radio]:focus{outline:none}spk-radio:has(input[type=radio]:checked),spk-radio.active{--spk-radio-dot-opacity: 1}spk-radio .radio{display:flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;cursor:pointer;position:relative;border-radius:50%;border:1px solid var(--base-level-40);background:var(--base-level-30);font-size:.75rem;color:var(--base-level-60)}spk-radio .radio:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);border-radius:50%;width:.375rem;height:.375rem;background-color:var(--spk-radio-dot-color);opacity:var(--spk-radio-dot-opacity);transition:opacity 125ms linear}spk-radio.primary .radio{--spk-radio-dot-color: var(--primary-500);background:var(--primary-level-30);border-color:var(--primary-level-40);color:var(--primary-500)}spk-radio.accent .radio{--spk-radio-dot-color: var(--accent-500);background:var(--accent-level-30);border-color:var(--accent-level-40);color:var(--accent-500)}spk-radio.tertiary .radio{--spk-radio-dot-color: var(--tertiary-500);background:var(--tertiary-level-30);border-color:var(--tertiary-level-40);color:var(--tertiary-500)}spk-radio.warn .radio{--spk-radio-dot-color: var(--warn-500);background:var(--warn-level-30);border-color:var(--warn-level-40);color:var(--warn-500)}spk-radio.success .radio{--spk-radio-dot-color: var(--success-500);background:var(--success-level-30);border-color:var(--success-level-40);color:var(--success-500)}spk-radio.outlined .radio{background:var(--base-level-10)}spk-radio.outlined.primary .radio,spk-radio.outlined.accent .radio,spk-radio.outlined.tertiary .radio,spk-radio.outlined.warn .radio,spk-radio.outlined.success .radio{background:var(--base-level-10);border-color:var(--base-level-40)}spk-radio.flat .radio,spk-radio.raised .radio{--spk-radio-dot-color: #fff;border-color:var(--base-level-40);background:var(--base-level-30);color:#fff}spk-radio.flat:has(input[type=radio]:checked) .radio,spk-radio.flat.active .radio{border-width:0;background:var(--grey-500);color:#fff}spk-radio.flat:has(input[type=radio]:checked).primary .radio,spk-radio.flat.active.primary .radio{background:var(--primary-500);color:#fff}spk-radio.flat:has(input[type=radio]:checked).accent .radio,spk-radio.flat.active.accent .radio{background:var(--accent-500);color:#fff}spk-radio.flat:has(input[type=radio]:checked).tertiary .radio,spk-radio.flat.active.tertiary .radio{background:var(--tertiary-500);color:#fff}spk-radio.flat:has(input[type=radio]:checked).warn .radio,spk-radio.flat.active.warn .radio{background:var(--warn-500);color:#fff}spk-radio.flat:has(input[type=radio]:checked).success .radio,spk-radio.flat.active.success .radio{background:var(--success-500);color:#fff}spk-radio.raised:has(input[type=radio]:checked) .radio,spk-radio.raised.active .radio{border-width:0;background:var(--base-gradient-20)}spk-radio.raised:has(input[type=radio]:checked).primary .radio,spk-radio.raised.active.primary .radio{background:var(--primary-gradient-20)}spk-radio.raised:has(input[type=radio]:checked).accent .radio,spk-radio.raised.active.accent .radio{background:var(--accent-gradient-20)}spk-radio.raised:has(input[type=radio]:checked).tertiary .radio,spk-radio.raised.active.tertiary .radio{background:var(--tertiary-gradient-20)}spk-radio.raised:has(input[type=radio]:checked).warn .radio,spk-radio.raised.active.warn .radio{background:var(--warn-gradient-20)}spk-radio.raised:has(input[type=radio]:checked).success .radio,spk-radio.raised.active.success .radio{background:var(--success-gradient-20)}spk-button-group{--spk-button-group-bg: var(--base-level-10);--spk-button-group-color: var(--base-level-70);--spk-button-group-icon-color: var(--base-level-70);--spk-button-group-border-color: var(--base-level-40);--spk-button-group-height: 2.5rem;--spk-button-group-shape: var(--shape-2);--spk-button-group-font: var(--paragraph-30);display:inline-flex;border:1px solid var(--spk-button-group-border-color);border-radius:var(--spk-button-group-shape);height:var(--spk-button-group-height);overflow:hidden}spk-button-group button{border:0;flex:1 0;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;position:relative;padding:0 .75rem;transition:color 80ms linear;min-width:auto;cursor:pointer;outline:none;line-height:inherit;-webkit-user-select:none;user-select:none;appearance:none;overflow:visible;vertical-align:middle;background:var(--spk-button-group-bg);color:var(--spk-button-group-color);font:var(--spk-button-group-font);border-left:1px solid var(--spk-button-group-border-color)}spk-button-group button:first-child{border-left:0}spk-button-group button:hover,spk-button-group button.active{--spk-button-group-color: var(--base-level-70);--spk-button-group-icon-color: var(--base-level-70);--spk-button-group-bg: var(--base-level-30)}spk-range-slider{--spk-range-slider-track: var(--base-level-30);--spk-range-slider-track-border-color: var(--base-level-10);--spk-range-slider-track-filled-color: var(--base-level-60R);--spk-range-slider-thumb-color: var(--base-level-40);--spk-range-slider-thumb-border-color: var(--base-level-10);--spk-range-slider-thumb-value-bg: var(--base-level-30);--spk-range-slider-thumb-value-color: var(--base-level-30R);--spk-range-slider-track-height: .5rem;--spk-range-slider-track-shape: var(--shape-1);--spk-range-slider-height: 2.5rem;--spk-range-slider-thumb-size: 1rem;--spk-range-slider-font: var(--paragraph-30);--spk-range-slider-unit-gap: .75rem;--spk-range-slider-unit-color: var(--base-level-60);display:flex;flex-direction:column;width:100%;color:var(--spk-range-slider-color);font:var(--spk-range-slider-font)}spk-range-slider .label{display:flex;align-items:center;gap:.5rem;padding-bottom:.25rem}spk-range-slider .label>label{display:flex;align-items:center;gap:.25rem}spk-range-slider .label spk-icon{color:var(--grey-500);font-size:1rem}spk-range-slider .label:empty{display:none}spk-range-slider input[type=range]{appearance:none;width:100%;height:100%;position:absolute;inset:0;opacity:0;margin:0;z-index:1000}spk-range-slider .input-wrap{display:flex;align-items:center;justify-content:center;width:100%;height:100%;position:relative;gap:var(--spk-range-slider-unit-gap)}spk-range-slider .thumb-wrap{position:absolute;top:0}spk-range-slider .thumb{position:relative;margin-top:calc(-1 * var(--spk-range-slider-thumb-size) / 4);width:var(--spk-range-slider-thumb-size);height:var(--spk-range-slider-thumb-size);border-radius:50%;background-color:var(--spk-range-slider-thumb-color);border:1px solid var(--spk-range-slider-thumb-border-color);box-shadow:var(--box-shadow-10)}spk-range-slider .track-wrap{position:relative;width:100%;height:var(--spk-range-slider-track-height)}spk-range-slider .track{position:relative;width:100%;height:var(--spk-range-slider-track-height);border-radius:var(--spk-range-slider-track-shape);background-color:var(--spk-range-slider-track);border:1px solid var(--spk-range-slider-track-border-color);overflow:hidden}spk-range-slider .track-filled{position:absolute;top:0;left:0;bottom:0;background:var(--spk-range-slider-track-filled-color);width:0}spk-range-slider .min-indicator,spk-range-slider .max-indicator{white-space:nowrap;color:var(--spk-range-slider-unit-color)}spk-range-slider input[type=range]:hover~.thumb-wrap .value-indicator,spk-range-slider input[type=range]:focus~.thumb-wrap .value-indicator{opacity:1}spk-range-slider .value-indicator{position:absolute;top:-1.875rem;height:1.5rem;border-radius:var(--shape-2);left:50%;margin:auto;transform:translate(-50%);padding:.25rem .5rem;background-color:var(--spk-range-slider-thumb-value-bg);color:var(--spk-range-slider-thumb-value-color);white-space:nowrap;opacity:0;transition:opacity 125ms linear;-webkit-user-select:none;user-select:none;pointer-events:none}spk-range-slider .value-indicator:after{content:"";border-top:.375rem solid var(--spk-range-slider-thumb-value-bg);border-left:.375rem solid transparent;border-right:.375rem solid transparent;position:absolute;top:100%;left:50%;margin-left:-.375rem}spk-range-slider input[type=range][readonly]{-webkit-user-select:none;user-select:none;pointer-events:none}spk-range-slider input[type=range][readonly]~.track .track-filled{transition:width 125ms linear;border-radius:var(--spk-range-slider-track-shape)}spk-range-slider input[type=range][readonly]~.thumb-wrap{display:none}spk-range-slider.primary{--spk-range-slider-track-filled-color: var(--primary-500);--spk-range-slider-track: var(--primary-level-40);--spk-range-slider-thumb-color: var(--primary-level-50);--spk-range-slider-thumb-border-color: var(--base-level-10);--spk-range-slider-thumb-value-bg: var(--primary-level-50);--spk-range-slider-thumb-value-color: var(--primary-level-50R)}spk-range-slider.accent{--spk-range-slider-track-filled-color: var(--accent-500);--spk-range-slider-track: var(--accent-level-40);--spk-range-slider-thumb-color: var(--accent-level-50);--spk-range-slider-thumb-border-color: var(--base-level-10);--spk-range-slider-thumb-value-bg: var(--accent-level-50);--spk-range-slider-thumb-value-color: var(--accent-level-50R)}spk-range-slider.tertiary{--spk-range-slider-track-filled-color: var(--tertiary-500);--spk-range-slider-track: var(--tertiary-level-40);--spk-range-slider-thumb-color: var(--tertiary-level-50);--spk-range-slider-thumb-border-color: var(--base-level-10);--spk-range-slider-thumb-value-bg: var(--tertiary-level-50);--spk-range-slider-thumb-value-color: var(--tertiary-level-50R)}spk-range-slider.warn{--spk-range-slider-track-filled-color: var(--warn-500);--spk-range-slider-track: var(--warn-level-40);--spk-range-slider-thumb-color: var(--warn-level-50);--spk-range-slider-thumb-border-color: var(--base-level-10);--spk-range-slider-thumb-value-bg: var(--warn-level-50);--spk-range-slider-thumb-value-color: var(--warn-level-50R)}spk-range-slider.success{--spk-range-slider-track-filled-color: var(--success-500);--spk-range-slider-track: var(--success-level-40);--spk-range-slider-thumb-color: var(--success-level-50);--spk-range-slider-thumb-border-color: var(--base-level-10);--spk-range-slider-thumb-value-bg: var(--success-level-50);--spk-range-slider-thumb-value-color: var(--success-level-50R)}spk-range-slider.outlined{--spk-range-slider-track: var(--base-level-10);--spk-range-slider-track-border-color: var(--base-level-40);--spk-range-slider-thumb-color: var(--base-level-50);--spk-range-slider-thumb-border-color: var(--base-level-10)}spk-range-slider.outlined.primary,spk-range-slider.outlined.accent,spk-range-slider.outlined.tertiary,spk-range-slider.outlined.warn,spk-range-slider.outlined.success{--spk-range-slider-track: var(--base-level-10)}spk-range-slider.outlined.primary{--spk-range-slider-thumb-color: var(--primary-level-40);--spk-range-slider-thumb-border-color: var(--base-level-10)}spk-range-slider.outlined.accent{--spk-range-slider-thumb-color: var(--accent-level-40);--spk-range-slider-thumb-border-color: var(--base-level-10)}spk-range-slider.outlined.tertiary{--spk-range-slider-thumb-color: var(--tertiary-level-40);--spk-range-slider-thumb-border-color: var(--base-level-10)}spk-range-slider.outlined.warn{--spk-range-slider-thumb-color: var(--warn-level-40);--spk-range-slider-thumb-border-color: var(--base-level-10)}spk-range-slider.outlined.success{--spk-range-slider-thumb-color: var(--success-level-40);--spk-range-slider-thumb-border-color: var(--base-level-10)}spk-range-slider.flat{--spk-range-slider-thumb-color: #fff;--spk-range-slider-thumb-border-color: var(--base-level-40)}spk-range-slider.flat.primary,spk-range-slider.flat.accent,spk-range-slider.flat.tertiary,spk-range-slider.flat.warn,spk-range-slider.flat.success{--spk-range-slider-track: var(--base-level-30);--spk-range-slider-thumb-color: #fff;--spk-range-slider-thumb-border-color: var(--base-level-40)}spk-range-slider.raised{--spk-range-slider-track-filled-color: var(--base-gradient-20);--spk-range-slider-thumb-color: #fff;--spk-range-slider-thumb-border-color: var(--base-level-40)}spk-range-slider.raised.primary,spk-range-slider.raised.accent,spk-range-slider.raised.tertiary,spk-range-slider.raised.warn,spk-range-slider.raised.success{--spk-range-slider-track: var(--base-level-30);--spk-range-slider-thumb-color: #fff;--spk-range-slider-thumb-border-color: var(--base-level-40)}spk-range-slider.raised.primary{--spk-range-slider-track-filled-color: var(--primary-gradient-20)}spk-range-slider.raised.accent{--spk-range-slider-track-filled-color: var(--accent-gradient-20)}spk-range-slider.raised.tertiary{--spk-range-slider-track-filled-color: var(--tertiary-gradient-20)}spk-range-slider.raised.warn{--spk-range-slider-track-filled-color: var(--warn-gradient-20)}spk-range-slider.raised.success{--spk-range-slider-track-filled-color: var(--success-gradient-20)}[spk-tooltip],[spk-tooltip-primary],[spk-tooltip-accent],[spk-tooltip-tertiary],[spk-tooltip-warn],[spk-tooltip-success]{--spk-tooltip-bg: var(--base-level-30);--spk-tooltip-color: var(--base-level-30R);position:relative}[spk-tooltip]:after,[spk-tooltip-primary]:after,[spk-tooltip-accent]:after,[spk-tooltip-tertiary]:after,[spk-tooltip-warn]:after,[spk-tooltip-success]:after{content:attr(spk-tooltip);position:absolute;bottom:calc(100% + .75rem);left:50%;transform:translate(-50%);padding:.5rem .75rem;background-color:var(--spk-tooltip-bg);color:var(--spk-tooltip-color);max-width:12.5rem;text-wrap:balance;width:max-content;height:max-content;font:var(--paragraph-30);border-radius:var(--shape-2);opacity:0;visibility:hidden;transition:opacity 125ms linear,visibility 125ms linear;pointer-events:none;-webkit-user-select:none;user-select:none;z-index:1000}[spk-tooltip]:before,[spk-tooltip-primary]:before,[spk-tooltip-accent]:before,[spk-tooltip-tertiary]:before,[spk-tooltip-warn]:before,[spk-tooltip-success]:before{content:"";position:absolute;bottom:calc(100% - .25rem);left:50%;transform:translate(-50%);border-width:.5rem;border-style:solid;border-color:transparent;border-top-color:var(--spk-tooltip-bg);width:0;height:0;pointer-events:none;opacity:0;visibility:hidden;transition:opacity 125ms linear,visibility 125ms linear;z-index:1000}[spk-tooltip]:hover:after,[spk-tooltip]:hover:before,[spk-tooltip-primary]:hover:after,[spk-tooltip-primary]:hover:before,[spk-tooltip-accent]:hover:after,[spk-tooltip-accent]:hover:before,[spk-tooltip-tertiary]:hover:after,[spk-tooltip-tertiary]:hover:before,[spk-tooltip-warn]:hover:after,[spk-tooltip-warn]:hover:before,[spk-tooltip-success]:hover:after,[spk-tooltip-success]:hover:before{opacity:1;visibility:visible}[spk-tooltip-primary]{--spk-tooltip-bg: var(--primary-level-50);--spk-tooltip-color: var(--primary-level-50R)}[spk-tooltip-primary]:after{content:attr(spk-tooltip-primary)}[spk-tooltip-accent]{--spk-tooltip-bg: var(--accent-level-50);--spk-tooltip-color: var(--accent-level-50R)}[spk-tooltip-accent]:after{content:attr(spk-tooltip-accent)}[spk-tooltip-tertiary]{--spk-tooltip-bg: var(--tertiary-level-50);--spk-tooltip-color: var(--tertiary-level-50R)}[spk-tooltip-tertiary]:after{content:attr(spk-tooltip-tertiary)}[spk-tooltip-warn]{--spk-tooltip-bg: var(--warn-level-50);--spk-tooltip-color: var(--warn-level-50R)}[spk-tooltip-warn]:after{content:attr(spk-tooltip-warn)}[spk-tooltip-success]{--spk-tooltip-bg: var(--success-level-50);--spk-tooltip-color: var(--success-level-50R)}[spk-tooltip-success]:after{content:attr(spk-tooltip-success)}[spk-tooltip][spk-tooltip-left]:after,[spk-tooltip-primary][spk-tooltip-left]:after,[spk-tooltip-accent][spk-tooltip-left]:after,[spk-tooltip-tertiary][spk-tooltip-left]:after,[spk-tooltip-warn][spk-tooltip-left]:after,[spk-tooltip-success][spk-tooltip-left]:after{top:50%;left:auto;right:calc(100% + .75rem);transform:translateY(-50%)}[spk-tooltip][spk-tooltip-left]:before,[spk-tooltip-primary][spk-tooltip-left]:before,[spk-tooltip-accent][spk-tooltip-left]:before,[spk-tooltip-tertiary][spk-tooltip-left]:before,[spk-tooltip-warn][spk-tooltip-left]:before,[spk-tooltip-success][spk-tooltip-left]:before{top:50%;left:auto;right:calc(100% - .25rem);transform:translateY(-50%);border-top-color:transparent;border-left-color:var(--spk-tooltip-bg)}[spk-tooltip][spk-tooltip-right]:after,[spk-tooltip-primary][spk-tooltip-right]:after,[spk-tooltip-accent][spk-tooltip-right]:after,[spk-tooltip-tertiary][spk-tooltip-right]:after,[spk-tooltip-warn][spk-tooltip-right]:after,[spk-tooltip-success][spk-tooltip-right]:after{top:50%;left:calc(100% + .75rem);transform:translateY(-50%)}[spk-tooltip][spk-tooltip-right]:before,[spk-tooltip-primary][spk-tooltip-right]:before,[spk-tooltip-accent][spk-tooltip-right]:before,[spk-tooltip-tertiary][spk-tooltip-right]:before,[spk-tooltip-warn][spk-tooltip-right]:before,[spk-tooltip-success][spk-tooltip-right]:before{top:50%;left:calc(100% - .25rem);transform:translateY(-50%);border-top-color:transparent;border-right-color:var(--spk-tooltip-bg)}[spk-tooltip][spk-tooltip-bottom]:after,[spk-tooltip-primary][spk-tooltip-bottom]:after,[spk-tooltip-accent][spk-tooltip-bottom]:after,[spk-tooltip-tertiary][spk-tooltip-bottom]:after,[spk-tooltip-warn][spk-tooltip-bottom]:after,[spk-tooltip-success][spk-tooltip-bottom]:after{top:calc(100% + .75rem)}[spk-tooltip][spk-tooltip-bottom]:before,[spk-tooltip-primary][spk-tooltip-bottom]:before,[spk-tooltip-accent][spk-tooltip-bottom]:before,[spk-tooltip-tertiary][spk-tooltip-bottom]:before,[spk-tooltip-warn][spk-tooltip-bottom]:before,[spk-tooltip-success][spk-tooltip-bottom]:before{top:calc(100% - .25rem);transform:translate(-50%);border-top-color:transparent;border-bottom-color:var(--spk-tooltip-bg)}spk-multi-select spk-form-field,spk-select spk-form-field{min-width:13.125rem}spk-multi-select .deselect-indicator,spk-multi-select .select-open-indicator,spk-select .deselect-indicator,spk-select .select-open-indicator{height:1.25rem;transform:rotate(0);transition:transform 75ms linear;transform-origin:center;cursor:pointer}spk-multi-select .deselect-indicator.open,spk-multi-select .select-open-indicator.open,spk-select .deselect-indicator.open,spk-select .select-open-indicator.open{transform:rotate(540deg)}spk-multi-select .deselect-indicator>*,spk-multi-select .select-open-indicator>*,spk-select .deselect-indicator>*,spk-select .select-open-indicator>*{height:1.25rem;display:inline-block}spk-multi-select .deselect-indicator>*+.default-indicator,spk-multi-select .select-open-indicator>*+.default-indicator,spk-select .deselect-indicator>*+.default-indicator,spk-select .select-open-indicator>*+.default-indicator{display:none}spk-multi-select .search-indicator>*,spk-select .search-indicator>*{height:1.25rem;display:inline-block}spk-multi-select .search-indicator>*+.default-indicator,spk-select .search-indicator>*+.default-indicator{display:none}spk-multi-select .display-value,spk-select .display-value{display:flex;flex-wrap:wrap;gap:.25rem}spk-multi-select .display-value+input,spk-select .display-value+input{opacity:0;position:absolute;top:-200%;height:0;width:0}spk-multi-select .display-value spk-chip,spk-select .display-value spk-chip{cursor:pointer;-webkit-user-select:none;user-select:none}spk-multi-select .display-value spk-chip spk-icon,spk-select .display-value spk-chip spk-icon{color:inherit;font-size:1rem}spk-multi-select input,spk-select input{width:100%}.sparkle-popup-menu{position:fixed;min-width:11.25rem;z-index:5000;padding:.5rem 0;background-color:var(--base-level-10);border:1px solid var(--base-level-40);border-radius:var(--shape-2);transition:opacity 125ms linear,visibility 125ms linear;opacity:0;visibility:hidden}.sparkle-popup-menu.active{opacity:1;visibility:visible;transition:opacity 125ms linear,visibility 125ms linear}.sparkle-popup-menu [spk-title]{font:var(--paragraph-30);color:var(--base-level-60);padding:.5rem .75rem;width:calc(100% - 1rem);-webkit-user-select:none;user-select:none}.sparkle-popup-menu spk-option,.sparkle-popup-menu option{display:flex;justify-content:flex-start;align-items:center;min-height:2rem;margin:0 .5rem;padding:0 .5rem;gap:.5rem;width:calc(100% - 1rem);border-radius:var(--shape-2);appearance:none;background-color:transparent;border:0;cursor:pointer;color:var(--base-level-70);-webkit-user-select:none;user-select:none}.sparkle-popup-menu spk-option spk-checkbox,.sparkle-popup-menu option spk-checkbox{margin-left:auto}.sparkle-popup-menu spk-option[disabled],.sparkle-popup-menu option[disabled]{opacity:.3;cursor:initial}.sparkle-popup-menu spk-option[disabled]:hover,.sparkle-popup-menu option[disabled]:hover{background-color:transparent}.sparkle-popup-menu spk-option spk-icon,.sparkle-popup-menu option spk-icon{font-size:1rem}.sparkle-popup-menu spk-option.active,.sparkle-popup-menu spk-option:checked,.sparkle-popup-menu spk-option:hover,.sparkle-popup-menu option.active,.sparkle-popup-menu option:checked,.sparkle-popup-menu option:hover{background-color:var(--base-level-30);color:var(--base-level-70)}.sparkle-popup-menu spk-option.focused,.sparkle-popup-menu option.focused{background-color:var(--primary-level-20);color:var(--base-level-70)}.sparkle-popup-menu spk-option.focused:hover,.sparkle-popup-menu option.focused:hover{background-color:var(--primary-level-30)}.sparkle-popup-menu .sparkle-options-backdrop{position:fixed;inset:0;opacity:0;z-index:1;transition:opacity 125ms linear}.sparkle-popup-menu .sparkle-options{position:relative;z-index:2;max-height:11.25rem;overflow-y:auto;overflow-x:hidden}.sparkle-popup-menu .sparkle-options-placerholder{color:var(--base-level-60R);padding:0 .75rem}.sparkle-popup-menu .sparkle-options-placerholder:empty:before{content:"No results found"}.sparkle-popup-menu .sparkle-options-placerholder:has(~spk-option),.sparkle-popup-menu .sparkle-options-placerholder:has(~option){display:none}spk-card{--card-bg: var(--base-level-10);--card-inner-bg: var(--base-level-20);--card-border-color: var(--base-level-40);--card-shadow: var(--box-shadow-10);--card-padding: 1.5rem;--card-shadow-padding: .5rem;display:block;padding:var(--card-padding);position:relative;z-index:0}spk-card:before,spk-card:after{content:"";position:absolute;inset:0;border-radius:var(--shape-3)}spk-card:before{background-color:var(--card-bg);border:1px solid var(--card-border-color);box-shadow:var(--card-shadow);border-radius:var(--shape-3);z-index:-2}spk-card:after{background-color:var(--card-inner-bg);inset:var(--card-shadow-padding);z-index:-1}spk-stepper{display:flex;flex-wrap:nowrap;width:100%;position:relative;overflow:hidden}spk-stepper [spk-step]{flex:2 0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;position:relative;color:var(--base-level-60R);cursor:pointer}spk-stepper [spk-step]:first-child{align-items:flex-start;flex:1 0}spk-stepper [spk-step]:last-child{align-items:flex-end;flex:1 0}spk-stepper [spk-step]:not(.active) spk-radio{z-index:10}spk-stepper [spk-step]:has(~[spk-step].active) spk-radio{--spk-radio-dot-opacity: 1}spk-stepper [spk-step]:has(~[spk-step].active) spk-radio .radio{border-width:0;background:var(--primary-gradient-20)}spk-stepper [spk-step] spk-radio .radio{--spk-radio-dot-color: var(--base-level-10);width:1rem;height:1rem}spk-stepper [spk-step].active{color:var(--primary-500);outline:none}spk-stepper [spk-step].active spk-radio{z-index:0;--spk-radio-dot-opacity: 1}spk-stepper [spk-step].active spk-radio .radio{border-width:0;background:var(--primary-gradient-20)}spk-stepper [spk-step].active spk-radio:before{content:"";position:absolute;top:.375rem;left:-9999px;z-index:-1;right:0;height:.25rem;background-color:var(--primary-500)}spk-stepper:before{content:"";position:absolute;top:.375rem;left:0;z-index:0;right:0;height:.25rem;background-color:var(--base-level-30)}body .spacer{flex:1 0}body h2{font:var(--title-30);margin:0}body h3{font:var(--paragraph-20);margin:0}
package/.dockerignore DELETED
@@ -1,13 +0,0 @@
1
- node_modules
2
- npm-debug.log
3
- Dockerfile*
4
- docker-compose*
5
- .dockerignore
6
- .git
7
- .gitignore
8
- README.md
9
- LICENSE
10
- .vscode
11
-
12
- dist/node_modules
13
- dist/npm-debug.log
@@ -1,59 +0,0 @@
1
- name: Build and Deploy Angular Library
2
-
3
- on:
4
- push:
5
- branches:
6
- - main # Or your main branch name
7
-
8
- jobs:
9
- build-and-deploy:
10
- runs-on: ubuntu-latest
11
-
12
- steps:
13
- - name: Checkout Code
14
- uses: actions/checkout@v4
15
- with:
16
- fetch-depth: 1 # shallow clone
17
-
18
- - name: Setup Bun
19
- uses: oven-sh/setup-bun@v2
20
-
21
- - name: Deepen Clone
22
- run: git fetch --unshallow
23
-
24
- - name: Setup Node.js
25
- uses: actions/setup-node@v4
26
- with:
27
- node-version: '20'
28
- cache: 'npm'
29
-
30
- - name: Install Dependencies
31
- run: npm ci
32
-
33
- - name: Check if package.json was modified
34
- id: check_package_json_change
35
- run: |
36
- if git rev-list --count HEAD > 1; then
37
- changed=$(if git diff --name-only HEAD^ HEAD | grep 'package.json' >/dev/null; then echo 'true'; else echo 'false'; fi)
38
- else
39
- changed="false"
40
- fi
41
-
42
- # Write the output to the environment file
43
- echo "changed=$changed" >> $GITHUB_ENV
44
-
45
- - name: Build Library
46
- if: env.changed == 'true' && github.ref == 'refs/heads/main'
47
- run: npm run build:prod
48
-
49
- - name: Create package.json
50
- run: npm run gen:package-json
51
-
52
- - name: Publish (if package.json changed)
53
- if: env.changed == 'true' && github.ref == 'refs/heads/main'
54
- working-directory: ./dist/ngclient/browser
55
- run: |
56
- echo "//registry.npmjs.org/:_authToken=${NPM_TOKEN}" > .npmrc
57
- npm publish --access public
58
- env:
59
- NPM_TOKEN: ${{ secrets.NPM_TOKEN }} # Your NPM token from secrets
package/.prettierignore DELETED
@@ -1,13 +0,0 @@
1
- .DS_Store
2
- node_modules
3
- /build
4
- /.svelte-kit
5
- /package
6
- .env
7
- .env.*
8
- !.env.example
9
-
10
- # Ignore files for PNPM, NPM and YARN
11
- pnpm-lock.yaml
12
- package-lock.json
13
- yarn.lock
package/.prettierrc DELETED
@@ -1,12 +0,0 @@
1
- {
2
- "tabWidth": 2,
3
- "useTabs": false,
4
- "singleQuote": true,
5
- "semi": true,
6
- "bracketSpacing": true,
7
- "arrowParens": "always",
8
- "trailingComma": "es5",
9
- "bracketSameLine": true,
10
- "printWidth": 120,
11
- "htmlWhitespaceSensitivity": "ignore"
12
- }
@@ -1,4 +0,0 @@
1
- {
2
- // For more information, visit: https://go.microsoft.com/fwlink/?linkid=827846
3
- "recommendations": ["angular.ng-template"]
4
- }
@@ -1,13 +0,0 @@
1
- {
2
- // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
3
- "version": "0.2.0",
4
- "configurations": [
5
- {
6
- "name": "ng serve",
7
- "type": "chrome",
8
- "request": "launch",
9
- "preLaunchTask": "npm: start",
10
- "url": "http://localhost:4200/"
11
- }
12
- ]
13
- }
@@ -1,8 +0,0 @@
1
- {
2
- "angular-schematics.schematicsDefaultOptions": {
3
- "angular-*": {
4
- "style": "scss",
5
- "externalTemplate": true
6
- }
7
- }
8
- }
@@ -1,24 +0,0 @@
1
- {
2
- // For more information, visit: https://go.microsoft.com/fwlink/?LinkId=733558
3
- "version": "2.0.0",
4
- "tasks": [
5
- {
6
- "type": "npm",
7
- "script": "start",
8
- "isBackground": true,
9
- "problemMatcher": {
10
- "owner": "typescript",
11
- "pattern": "$tsc",
12
- "background": {
13
- "activeOnStart": true,
14
- "beginsPattern": {
15
- "regexp": "(.*?)"
16
- },
17
- "endsPattern": {
18
- "regexp": "bundle generation complete"
19
- }
20
- }
21
- }
22
- }
23
- ]
24
- }
package/Dockerfile DELETED
@@ -1,38 +0,0 @@
1
- FROM node:20-bullseye-slim as base
2
-
3
- # Create app directory
4
- WORKDIR /app
5
-
6
- RUN apt-get update && \
7
- apt-get install -y curl unzip && \
8
- rm -rf /var/lib/apt/lists/*
9
-
10
- RUN npm install -g @angular/cli@18
11
- # RUN npm install -g bun@canary
12
- RUN curl -fsSL https://bun.sh/install | bash
13
- ENV PATH="/root/.bun/bin:${PATH}"
14
-
15
- RUN bun --version
16
- RUN ng version
17
-
18
- # Copy lock files
19
- COPY package.json package-lock.json bun.lockb ./
20
-
21
- # Define the build-time variable with a default value
22
- ARG BUILD_ENV=dev
23
-
24
- # Set the build-time variable as an environment variable
25
- ENV BUILD_ENV=${BUILD_ENV}
26
-
27
- # Install app dependencies
28
- RUN bun i
29
-
30
- # Bundle app source
31
- COPY . /app
32
-
33
- # Use the environment variable to conditionally run the build command
34
- RUN if [ "$BUILD_ENV" = "prod" ]; then \
35
- bun run build:prod; \
36
- else \
37
- bun run build:dev; \
38
- fi
package/LICENSE DELETED
@@ -1,21 +0,0 @@
1
- MIT License
2
-
3
- Copyright (c) 2024 Duplicati
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.
package/README.md DELETED
@@ -1,27 +0,0 @@
1
- # DuplicatiClient
2
-
3
- This project was generated with [Angular CLI](https://github.com/angular/angular-cli) version 18.2.0.
4
-
5
- ## Development server
6
-
7
- Run `ng serve` for a dev server. Navigate to `http://localhost:4200/`. The application will automatically reload if you change any of the source files.
8
-
9
- ## Code scaffolding
10
-
11
- Run `ng generate component component-name` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module`.
12
-
13
- ## Build
14
-
15
- Run `ng build` to build the project. The build artifacts will be stored in the `dist/` directory.
16
-
17
- ## Running unit tests
18
-
19
- Run `ng test` to execute the unit tests via [Karma](https://karma-runner.github.io).
20
-
21
- ## Running end-to-end tests
22
-
23
- Run `ng e2e` to execute the end-to-end tests via a platform of your choice. To use this command, you need to first add a package that implements end-to-end testing capabilities.
24
-
25
- ## Further help
26
-
27
- To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.dev/tools/cli) page.