@plutonhq/core-frontend 0.1.13 → 0.1.15

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 (217) hide show
  1. package/dist-lib/@types/backups.d.ts +26 -0
  2. package/dist-lib/@types/backups.d.ts.map +1 -1
  3. package/dist-lib/@types/devices.d.ts +7 -0
  4. package/dist-lib/@types/devices.d.ts.map +1 -1
  5. package/dist-lib/@types/plans.d.ts +21 -1
  6. package/dist-lib/@types/plans.d.ts.map +1 -1
  7. package/dist-lib/@types/restores.d.ts +2 -0
  8. package/dist-lib/@types/restores.d.ts.map +1 -1
  9. package/dist-lib/components/Device/DeviceBackups/DeviceBackups.d.ts +3 -2
  10. package/dist-lib/components/Device/DeviceBackups/DeviceBackups.d.ts.map +1 -1
  11. package/dist-lib/components/Device/DeviceBackups/DeviceBackups.js +73 -85
  12. package/dist-lib/components/Device/DeviceBackups/DeviceBackups.js.map +1 -1
  13. package/dist-lib/components/Plan/BackupEvents/BackupEvents.d.ts.map +1 -1
  14. package/dist-lib/components/Plan/BackupEvents/BackupEvents.js +88 -50
  15. package/dist-lib/components/Plan/BackupEvents/BackupEvents.js.map +1 -1
  16. package/dist-lib/components/Plan/BackupEvents/BackupEvents.module.scss.js +70 -38
  17. package/dist-lib/components/Plan/BackupEvents/BackupEvents.module.scss.js.map +1 -1
  18. package/dist-lib/components/Plan/BackupProgress/BackupProgress.d.ts.map +1 -1
  19. package/dist-lib/components/Plan/BackupProgress/BackupProgress.js +166 -123
  20. package/dist-lib/components/Plan/BackupProgress/BackupProgress.js.map +1 -1
  21. package/dist-lib/components/Plan/BackupProgress/BackupProgress.module.scss.js +64 -30
  22. package/dist-lib/components/Plan/BackupProgress/BackupProgress.module.scss.js.map +1 -1
  23. package/dist-lib/components/Plan/Backups/Backups.d.ts +8 -1
  24. package/dist-lib/components/Plan/Backups/Backups.d.ts.map +1 -1
  25. package/dist-lib/components/Plan/Backups/Backups.js +154 -125
  26. package/dist-lib/components/Plan/Backups/Backups.js.map +1 -1
  27. package/dist-lib/components/Plan/EditPlan/EditPlan.d.ts.map +1 -1
  28. package/dist-lib/components/Plan/EditPlan/EditPlan.js +11 -10
  29. package/dist-lib/components/Plan/EditPlan/EditPlan.js.map +1 -1
  30. package/dist-lib/components/Plan/Mirrors/MirrorDetails.d.ts +12 -0
  31. package/dist-lib/components/Plan/Mirrors/MirrorDetails.d.ts.map +1 -0
  32. package/dist-lib/components/Plan/Mirrors/MirrorDetails.js +68 -0
  33. package/dist-lib/components/Plan/Mirrors/MirrorDetails.js.map +1 -0
  34. package/dist-lib/components/Plan/Mirrors/MirrorDetails.module.scss.js +26 -0
  35. package/dist-lib/components/Plan/Mirrors/MirrorDetails.module.scss.js.map +1 -0
  36. package/dist-lib/components/Plan/Mirrors/MirrorStatusBadge.d.ts +11 -0
  37. package/dist-lib/components/Plan/Mirrors/MirrorStatusBadge.d.ts.map +1 -0
  38. package/dist-lib/components/Plan/Mirrors/MirrorStatusBadge.js +38 -0
  39. package/dist-lib/components/Plan/Mirrors/MirrorStatusBadge.js.map +1 -0
  40. package/dist-lib/components/Plan/Mirrors/MirrorStatusBadge.module.scss.js +16 -0
  41. package/dist-lib/components/Plan/Mirrors/MirrorStatusBadge.module.scss.js.map +1 -0
  42. package/dist-lib/components/Plan/Mirrors/MirrorStorageSelector.d.ts +14 -0
  43. package/dist-lib/components/Plan/Mirrors/MirrorStorageSelector.d.ts.map +1 -0
  44. package/dist-lib/components/Plan/Mirrors/MirrorStorageSelector.js +54 -0
  45. package/dist-lib/components/Plan/Mirrors/MirrorStorageSelector.js.map +1 -0
  46. package/dist-lib/components/Plan/Mirrors/MirrorStorageSelector.module.scss.js +26 -0
  47. package/dist-lib/components/Plan/Mirrors/MirrorStorageSelector.module.scss.js.map +1 -0
  48. package/dist-lib/components/Plan/Mirrors/MirrorStorageSelectorModal.d.ts +15 -0
  49. package/dist-lib/components/Plan/Mirrors/MirrorStorageSelectorModal.d.ts.map +1 -0
  50. package/dist-lib/components/Plan/Mirrors/MirrorStorageSelectorModal.js +34 -0
  51. package/dist-lib/components/Plan/Mirrors/MirrorStorageSelectorModal.js.map +1 -0
  52. package/dist-lib/components/Plan/PlanBackups/PlanBackups.d.ts.map +1 -1
  53. package/dist-lib/components/Plan/PlanBackups/PlanBackups.js +20 -17
  54. package/dist-lib/components/Plan/PlanBackups/PlanBackups.js.map +1 -1
  55. package/dist-lib/components/Plan/PlanForm/PlanForm.d.ts +2 -1
  56. package/dist-lib/components/Plan/PlanForm/PlanForm.d.ts.map +1 -1
  57. package/dist-lib/components/Plan/PlanForm/PlanForm.js +121 -94
  58. package/dist-lib/components/Plan/PlanForm/PlanForm.js.map +1 -1
  59. package/dist-lib/components/Plan/PlanIntegrity/PlanIntegrity.d.ts +16 -0
  60. package/dist-lib/components/Plan/PlanIntegrity/PlanIntegrity.d.ts.map +1 -0
  61. package/dist-lib/components/Plan/PlanIntegrity/PlanIntegrity.js +115 -0
  62. package/dist-lib/components/Plan/PlanIntegrity/PlanIntegrity.js.map +1 -0
  63. package/dist-lib/components/Plan/PlanIntegrity/PlanIntegrity.module.scss.js +26 -0
  64. package/dist-lib/components/Plan/PlanIntegrity/PlanIntegrity.module.scss.js.map +1 -0
  65. package/dist-lib/components/Plan/PlanItems/PlanItem.d.ts.map +1 -1
  66. package/dist-lib/components/Plan/PlanItems/PlanItem.js +58 -59
  67. package/dist-lib/components/Plan/PlanItems/PlanItem.js.map +1 -1
  68. package/dist-lib/components/Plan/PlanPendingBackup/PlanPendingBackup.d.ts +2 -2
  69. package/dist-lib/components/Plan/PlanPendingBackup/PlanPendingBackup.d.ts.map +1 -1
  70. package/dist-lib/components/Plan/PlanPendingBackup/PlanPendingBackup.js.map +1 -1
  71. package/dist-lib/components/Plan/PlanRemoveModal/PlanRemoveModal.js +8 -8
  72. package/dist-lib/components/Plan/PlanRemoveModal/PlanRemoveModal.js.map +1 -1
  73. package/dist-lib/components/Plan/PlanSettings/PlanReplicationSettings.d.ts +14 -0
  74. package/dist-lib/components/Plan/PlanSettings/PlanReplicationSettings.d.ts.map +1 -0
  75. package/dist-lib/components/Plan/PlanSettings/PlanReplicationSettings.js +290 -0
  76. package/dist-lib/components/Plan/PlanSettings/PlanReplicationSettings.js.map +1 -0
  77. package/dist-lib/components/Plan/PlanSettings/PlanReplicationSettings.module.scss.js +26 -0
  78. package/dist-lib/components/Plan/PlanSettings/PlanReplicationSettings.module.scss.js.map +1 -0
  79. package/dist-lib/components/Plan/PlanStats/PlanStats.d.ts.map +1 -1
  80. package/dist-lib/components/Plan/PlanStats/PlanStats.js +41 -42
  81. package/dist-lib/components/Plan/PlanStats/PlanStats.js.map +1 -1
  82. package/dist-lib/components/Plan/PlanStats/PlanStats.module.scss.js +5 -5
  83. package/dist-lib/components/Plan/PlanStorageInfo/PlanStorageInfo.d.ts +15 -0
  84. package/dist-lib/components/Plan/PlanStorageInfo/PlanStorageInfo.d.ts.map +1 -0
  85. package/dist-lib/components/Plan/PlanStorageInfo/PlanStorageInfo.js +69 -0
  86. package/dist-lib/components/Plan/PlanStorageInfo/PlanStorageInfo.js.map +1 -0
  87. package/dist-lib/components/Plan/PlanStorageInfo/PlanStorageInfo.module.scss.js +16 -0
  88. package/dist-lib/components/Plan/PlanStorageInfo/PlanStorageInfo.module.scss.js.map +1 -0
  89. package/dist-lib/components/Restore/RestoreWizard/RestoreConfirmStep.d.ts.map +1 -1
  90. package/dist-lib/components/Restore/RestoreWizard/RestoreConfirmStep.js +36 -34
  91. package/dist-lib/components/Restore/RestoreWizard/RestoreConfirmStep.js.map +1 -1
  92. package/dist-lib/components/Restore/RestoreWizard/RestorePreviewStep.d.ts.map +1 -1
  93. package/dist-lib/components/Restore/RestoreWizard/RestorePreviewStep.js +7 -5
  94. package/dist-lib/components/Restore/RestoreWizard/RestorePreviewStep.js.map +1 -1
  95. package/dist-lib/components/Restore/RestoreWizard/RestoreSettingsStep.d.ts +12 -4
  96. package/dist-lib/components/Restore/RestoreWizard/RestoreSettingsStep.d.ts.map +1 -1
  97. package/dist-lib/components/Restore/RestoreWizard/RestoreSettingsStep.js +44 -32
  98. package/dist-lib/components/Restore/RestoreWizard/RestoreSettingsStep.js.map +1 -1
  99. package/dist-lib/components/Restore/RestoreWizard/RestoreWizard.d.ts +5 -1
  100. package/dist-lib/components/Restore/RestoreWizard/RestoreWizard.d.ts.map +1 -1
  101. package/dist-lib/components/Restore/RestoreWizard/RestoreWizard.js +48 -44
  102. package/dist-lib/components/Restore/RestoreWizard/RestoreWizard.js.map +1 -1
  103. package/dist-lib/components/Restore/RestoreWizard/RestoreWizard.module.scss.js +32 -32
  104. package/dist-lib/components/Settings/GeneralSettings/GeneralSettings.d.ts +1 -1
  105. package/dist-lib/components/Settings/GeneralSettings/GeneralSettings.d.ts.map +1 -1
  106. package/dist-lib/components/Settings/GeneralSettings/GeneralSettings.js +52 -24
  107. package/dist-lib/components/Settings/GeneralSettings/GeneralSettings.js.map +1 -1
  108. package/dist-lib/components/Settings/IntegrationSettings/IntegrationSettings.d.ts.map +1 -1
  109. package/dist-lib/components/Settings/IntegrationSettings/IntegrationSettings.js +28 -19
  110. package/dist-lib/components/Settings/IntegrationSettings/IntegrationSettings.js.map +1 -1
  111. package/dist-lib/components/Settings/TwoFactorSetup/TwoFactorSetup.d.ts +7 -0
  112. package/dist-lib/components/Settings/TwoFactorSetup/TwoFactorSetup.d.ts.map +1 -0
  113. package/dist-lib/components/Settings/TwoFactorSetup/TwoFactorSetup.js +79 -0
  114. package/dist-lib/components/Settings/TwoFactorSetup/TwoFactorSetup.js.map +1 -0
  115. package/dist-lib/components/Settings/TwoFactorSetup/TwoFactorSetup.module.scss.js +24 -0
  116. package/dist-lib/components/Settings/TwoFactorSetup/TwoFactorSetup.module.scss.js.map +1 -0
  117. package/dist-lib/components/common/Icon/Icon.d.ts.map +1 -1
  118. package/dist-lib/components/common/Icon/Icon.js +11 -0
  119. package/dist-lib/components/common/Icon/Icon.js.map +1 -1
  120. package/dist-lib/components/common/PageHeader/PageHeader.module.scss.js +6 -6
  121. package/dist-lib/components/index.d.ts +6 -0
  122. package/dist-lib/components/index.d.ts.map +1 -1
  123. package/dist-lib/components.js +102 -90
  124. package/dist-lib/components.js.map +1 -1
  125. package/dist-lib/hooks/usePwaAutoUpdate.d.ts +11 -2
  126. package/dist-lib/hooks/usePwaAutoUpdate.d.ts.map +1 -1
  127. package/dist-lib/hooks/usePwaAutoUpdate.js +32 -10
  128. package/dist-lib/hooks/usePwaAutoUpdate.js.map +1 -1
  129. package/dist-lib/router.d.ts.map +1 -1
  130. package/dist-lib/router.js +46 -35
  131. package/dist-lib/router.js.map +1 -1
  132. package/dist-lib/routes/DeviceSingle/DeviceSingle.d.ts.map +1 -1
  133. package/dist-lib/routes/DeviceSingle/DeviceSingle.js +40 -40
  134. package/dist-lib/routes/DeviceSingle/DeviceSingle.js.map +1 -1
  135. package/dist-lib/routes/PlanSingle/PlanSingle.d.ts.map +1 -1
  136. package/dist-lib/routes/PlanSingle/PlanSingle.js +123 -98
  137. package/dist-lib/routes/PlanSingle/PlanSingle.js.map +1 -1
  138. package/dist-lib/services/backups.d.ts +15 -2
  139. package/dist-lib/services/backups.d.ts.map +1 -1
  140. package/dist-lib/services/backups.js +119 -100
  141. package/dist-lib/services/backups.js.map +1 -1
  142. package/dist-lib/services/plans.d.ts +20 -0
  143. package/dist-lib/services/plans.d.ts.map +1 -1
  144. package/dist-lib/services/plans.js +227 -172
  145. package/dist-lib/services/plans.js.map +1 -1
  146. package/dist-lib/services/restores.d.ts +10 -2
  147. package/dist-lib/services/restores.d.ts.map +1 -1
  148. package/dist-lib/services/restores.js +61 -57
  149. package/dist-lib/services/restores.js.map +1 -1
  150. package/dist-lib/services/settings.d.ts +16 -0
  151. package/dist-lib/services/settings.d.ts.map +1 -1
  152. package/dist-lib/services/settings.js +147 -68
  153. package/dist-lib/services/settings.js.map +1 -1
  154. package/dist-lib/services/users.d.ts.map +1 -1
  155. package/dist-lib/services/users.js +32 -32
  156. package/dist-lib/services/users.js.map +1 -1
  157. package/dist-lib/services.js +113 -101
  158. package/dist-lib/styles/core-frontend.css +1 -1
  159. package/dist-lib/utils/progressHelpers.d.ts +12 -1
  160. package/dist-lib/utils/progressHelpers.d.ts.map +1 -1
  161. package/dist-lib/utils/progressHelpers.js +121 -63
  162. package/dist-lib/utils/progressHelpers.js.map +1 -1
  163. package/dist-lib/utils.js +29 -28
  164. package/package.json +1 -1
  165. package/src/@types/backups.ts +28 -0
  166. package/src/@types/devices.ts +8 -0
  167. package/src/@types/plans.ts +23 -1
  168. package/src/@types/restores.ts +2 -0
  169. package/src/components/Device/DeviceBackups/DeviceBackups.tsx +11 -36
  170. package/src/components/Plan/BackupEvents/BackupEvents.module.scss +65 -0
  171. package/src/components/Plan/BackupEvents/BackupEvents.tsx +65 -4
  172. package/src/components/Plan/BackupProgress/BackupProgress.module.scss +121 -3
  173. package/src/components/Plan/BackupProgress/BackupProgress.tsx +149 -71
  174. package/src/components/Plan/Backups/Backups.tsx +52 -4
  175. package/src/components/Plan/EditPlan/EditPlan.tsx +1 -0
  176. package/src/components/Plan/Mirrors/MirrorDetails.module.scss +76 -0
  177. package/src/components/Plan/Mirrors/MirrorDetails.tsx +100 -0
  178. package/src/components/Plan/Mirrors/MirrorStatusBadge.module.scss +25 -0
  179. package/src/components/Plan/Mirrors/MirrorStatusBadge.tsx +65 -0
  180. package/src/components/Plan/Mirrors/MirrorStorageSelector.module.scss +97 -0
  181. package/src/components/Plan/Mirrors/MirrorStorageSelector.tsx +70 -0
  182. package/src/components/Plan/Mirrors/MirrorStorageSelectorModal.tsx +40 -0
  183. package/src/components/Plan/PlanBackups/PlanBackups.tsx +4 -1
  184. package/src/components/Plan/PlanForm/PlanForm.tsx +44 -17
  185. package/src/components/Plan/PlanIntegrity/PlanIntegrity.module.scss +110 -0
  186. package/src/components/Plan/PlanIntegrity/PlanIntegrity.tsx +187 -0
  187. package/src/components/Plan/PlanItems/PlanItem.tsx +3 -3
  188. package/src/components/Plan/PlanPendingBackup/PlanPendingBackup.tsx +2 -2
  189. package/src/components/Plan/PlanRemoveModal/PlanRemoveModal.tsx +1 -1
  190. package/src/components/Plan/PlanSettings/PlanReplicationSettings.module.scss +105 -0
  191. package/src/components/Plan/PlanSettings/PlanReplicationSettings.tsx +334 -0
  192. package/src/components/Plan/PlanStats/PlanStats.module.scss +1 -1
  193. package/src/components/Plan/PlanStats/PlanStats.tsx +8 -8
  194. package/src/components/Plan/PlanStorageInfo/PlanStorageInfo.module.scss +43 -0
  195. package/src/components/Plan/PlanStorageInfo/PlanStorageInfo.tsx +83 -0
  196. package/src/components/Restore/RestoreWizard/RestoreConfirmStep.tsx +2 -0
  197. package/src/components/Restore/RestoreWizard/RestorePreviewStep.tsx +2 -0
  198. package/src/components/Restore/RestoreWizard/RestoreSettingsStep.tsx +36 -13
  199. package/src/components/Restore/RestoreWizard/RestoreWizard.module.scss +4 -0
  200. package/src/components/Restore/RestoreWizard/RestoreWizard.tsx +9 -1
  201. package/src/components/Settings/GeneralSettings/GeneralSettings.tsx +38 -2
  202. package/src/components/Settings/IntegrationSettings/IntegrationSettings.tsx +9 -2
  203. package/src/components/Settings/TwoFactorSetup/TwoFactorSetup.module.scss +62 -0
  204. package/src/components/Settings/TwoFactorSetup/TwoFactorSetup.tsx +102 -0
  205. package/src/components/common/Icon/Icon.tsx +10 -1
  206. package/src/components/common/PageHeader/PageHeader.module.scss +3 -0
  207. package/src/components/index.ts +8 -0
  208. package/src/hooks/usePwaAutoUpdate.ts +51 -11
  209. package/src/router.tsx +26 -17
  210. package/src/routes/DeviceSingle/DeviceSingle.tsx +3 -3
  211. package/src/routes/PlanSingle/PlanSingle.tsx +21 -0
  212. package/src/services/backups.ts +32 -9
  213. package/src/services/plans.ts +75 -0
  214. package/src/services/restores.ts +10 -2
  215. package/src/services/settings.ts +90 -0
  216. package/src/services/users.ts +14 -5
  217. package/src/utils/progressHelpers.ts +85 -1
@@ -1,47 +1,56 @@
1
- import { jsxs as g, jsx as t, Fragment as f } from "react/jsx-runtime";
2
- import { useState as n } from "react";
3
- import M from "./IntegrationSettings.module.scss.js";
1
+ import { jsxs as M, jsx as e, Fragment as T } from "react/jsx-runtime";
2
+ import { useState as m } from "react";
3
+ import h from "./IntegrationSettings.module.scss.js";
4
4
  import S from "../../common/form/Input/Input.js";
5
- import T from "../../common/ActionModal/ActionModal.js";
6
- import { useValidateIntegration as h } from "../../../services/settings.js";
7
- import y from "./SMTPSettings.js";
8
- const j = ({ settingsID: r, settings: e, onUpdate: m }) => {
5
+ import I from "../../common/ActionModal/ActionModal.js";
6
+ import { useValidateIntegration as E } from "../../../services/settings.js";
7
+ import v from "./SMTPSettings.js";
8
+ const V = ({ settingsID: c, settings: o, onUpdate: d }) => {
9
9
  var l;
10
- const [i, c] = n(""), [d, o] = n(""), p = (e == null ? void 0 : e.integration) || {}, { smtp: a } = p || {}, s = h();
11
- return console.log("smtp :", a), /* @__PURE__ */ g("div", { className: M.integrations, children: [
12
- /* @__PURE__ */ t("div", { children: /* @__PURE__ */ t(y, { settings: a, onUpdate: m, showTestModal: o }) }),
13
- d && /* @__PURE__ */ t(
14
- T,
10
+ const [n, p] = m(""), [g, a] = m(""), i = (o == null ? void 0 : o.integration) || {}, { smtp: u } = i || {}, s = E(), f = (t, r) => {
11
+ console.log("onIntegrationUpdate :", t, r), d({ ...i, [t]: { ...i[t], ...r } });
12
+ };
13
+ return /* @__PURE__ */ M("div", { className: h.integrations, children: [
14
+ /* @__PURE__ */ e("div", { children: /* @__PURE__ */ e(
15
+ v,
16
+ {
17
+ settings: u,
18
+ onUpdate: (t) => f("smtp", t),
19
+ showTestModal: (t) => a(t)
20
+ }
21
+ ) }),
22
+ g && /* @__PURE__ */ e(
23
+ I,
15
24
  {
16
25
  title: "Test SMTP Integration",
17
- message: /* @__PURE__ */ t(f, { children: /* @__PURE__ */ t(
26
+ message: /* @__PURE__ */ e(T, { children: /* @__PURE__ */ e(
18
27
  S,
19
28
  {
20
29
  label: "Send Test Email to this email",
21
30
  full: !0,
22
- fieldValue: i,
23
- onUpdate: (u) => c(u),
31
+ fieldValue: n,
32
+ onUpdate: (t) => p(t),
24
33
  type: "email",
25
34
  placeholder: "test@test.com"
26
35
  }
27
36
  ) }),
28
37
  errorMessage: (l = s.error) == null ? void 0 : l.message,
29
38
  successMessage: s.isSuccess ? "Test email sent. Integration validated successfully." : "",
30
- closeModal: () => o(""),
39
+ closeModal: () => a(""),
31
40
  width: "400px",
32
- secondaryAction: { title: "Close", action: () => o("") },
41
+ secondaryAction: { title: "Close", action: () => a("") },
33
42
  primaryAction: {
34
43
  title: "Send Test Email",
35
44
  type: "default",
36
45
  icon: "email",
37
46
  isPending: s.isPending,
38
- action: () => s.mutate({ settingsID: r, type: "smtp", settings: e, test: { email: i } })
47
+ action: () => s.mutate({ settingsID: c, type: "smtp", settings: o, test: { email: n } })
39
48
  }
40
49
  }
41
50
  )
42
51
  ] });
43
52
  };
44
53
  export {
45
- j as default
54
+ V as default
46
55
  };
47
56
  //# sourceMappingURL=IntegrationSettings.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"IntegrationSettings.js","sources":["../../../../src/components/Settings/IntegrationSettings/IntegrationSettings.tsx"],"sourcesContent":["import { useState } from 'react';\r\nimport classes from './IntegrationSettings.module.scss';\r\nimport Input from '../../common/form/Input/Input';\r\nimport ActionModal from '../../common/ActionModal/ActionModal';\r\nimport { useValidateIntegration } from '../../../services/settings';\r\nimport SMTPSettings from './SMTPSettings';\r\n\r\ninterface IntegrationSettingsProps {\r\n settingsID: number;\r\n settings: Record<string, any>;\r\n onUpdate: (settings: IntegrationSettingsProps['settings']) => void;\r\n}\r\n\r\nconst IntegrationSettings = ({ settingsID, settings, onUpdate }: IntegrationSettingsProps) => {\r\n const [testEmail, setTestEmail] = useState('');\r\n const [showEmailTestModal, setShowEmailTestModal] = useState<'' | 'smtp'>('');\r\n const integrationSettings = settings?.integration || {};\r\n const { smtp } = integrationSettings || {};\r\n\r\n const validationMutation = useValidateIntegration();\r\n\r\n console.log('smtp :', smtp);\r\n\r\n return (\r\n <div className={classes.integrations}>\r\n <div>\r\n <SMTPSettings settings={smtp} onUpdate={onUpdate} showTestModal={setShowEmailTestModal} />\r\n </div>\r\n {showEmailTestModal && (\r\n <ActionModal\r\n title={`Test SMTP Integration`}\r\n message={\r\n <>\r\n <Input\r\n label=\"Send Test Email to this email\"\r\n full={true}\r\n fieldValue={testEmail}\r\n onUpdate={(val) => setTestEmail(val)}\r\n type=\"email\"\r\n placeholder=\"test@test.com\"\r\n />\r\n </>\r\n }\r\n errorMessage={validationMutation.error?.message}\r\n successMessage={validationMutation.isSuccess ? 'Test email sent. Integration validated successfully.' : ''}\r\n closeModal={() => setShowEmailTestModal('')}\r\n width=\"400px\"\r\n secondaryAction={{ title: 'Close', action: () => setShowEmailTestModal('') }}\r\n primaryAction={{\r\n title: `Send Test Email`,\r\n type: 'default',\r\n icon: 'email',\r\n isPending: validationMutation.isPending,\r\n action: () => validationMutation.mutate({ settingsID, type: 'smtp', settings: settings, test: { email: testEmail } }),\r\n }}\r\n />\r\n )}\r\n </div>\r\n );\r\n};\r\n\r\nexport default IntegrationSettings;\r\n"],"names":["IntegrationSettings","settingsID","settings","onUpdate","testEmail","setTestEmail","useState","showEmailTestModal","setShowEmailTestModal","integrationSettings","smtp","validationMutation","useValidateIntegration","jsxs","classes","jsx","SMTPSettings","ActionModal","Fragment","Input","val","_a"],"mappings":";;;;;;;AAaA,MAAMA,IAAsB,CAAC,EAAE,YAAAC,GAAY,UAAAC,GAAU,UAAAC,QAAyC;;AAC3F,QAAM,CAACC,GAAWC,CAAY,IAAIC,EAAS,EAAE,GACvC,CAACC,GAAoBC,CAAqB,IAAIF,EAAsB,EAAE,GACtEG,KAAsBP,KAAA,gBAAAA,EAAU,gBAAe,CAAA,GAC/C,EAAE,MAAAQ,MAASD,KAAuB,CAAA,GAElCE,IAAqBC,EAAA;AAE3B,iBAAQ,IAAI,UAAUF,CAAI,GAGvB,gBAAAG,EAAC,OAAA,EAAI,WAAWC,EAAQ,cACrB,UAAA;AAAA,IAAA,gBAAAC,EAAC,OAAA,EACE,4BAACC,GAAA,EAAa,UAAUN,GAAM,UAAAP,GAAoB,eAAeK,GAAuB,EAAA,CAC3F;AAAA,IACCD,KACE,gBAAAQ;AAAA,MAACE;AAAA,MAAA;AAAA,QACE,OAAO;AAAA,QACP,SACG,gBAAAF,EAAAG,GAAA,EACG,UAAA,gBAAAH;AAAA,UAACI;AAAA,UAAA;AAAA,YACE,OAAM;AAAA,YACN,MAAM;AAAA,YACN,YAAYf;AAAA,YACZ,UAAU,CAACgB,MAAQf,EAAae,CAAG;AAAA,YACnC,MAAK;AAAA,YACL,aAAY;AAAA,UAAA;AAAA,QAAA,GAElB;AAAA,QAEH,eAAcC,IAAAV,EAAmB,UAAnB,gBAAAU,EAA0B;AAAA,QACxC,gBAAgBV,EAAmB,YAAY,yDAAyD;AAAA,QACxG,YAAY,MAAMH,EAAsB,EAAE;AAAA,QAC1C,OAAM;AAAA,QACN,iBAAiB,EAAE,OAAO,SAAS,QAAQ,MAAMA,EAAsB,EAAE,EAAA;AAAA,QACzE,eAAe;AAAA,UACZ,OAAO;AAAA,UACP,MAAM;AAAA,UACN,MAAM;AAAA,UACN,WAAWG,EAAmB;AAAA,UAC9B,QAAQ,MAAMA,EAAmB,OAAO,EAAE,YAAAV,GAAY,MAAM,QAAQ,UAAAC,GAAoB,MAAM,EAAE,OAAOE,EAAA,GAAa;AAAA,QAAA;AAAA,MACvH;AAAA,IAAA;AAAA,EACH,GAEN;AAEN;"}
1
+ {"version":3,"file":"IntegrationSettings.js","sources":["../../../../src/components/Settings/IntegrationSettings/IntegrationSettings.tsx"],"sourcesContent":["import { useState } from 'react';\r\nimport classes from './IntegrationSettings.module.scss';\r\nimport Input from '../../common/form/Input/Input';\r\nimport ActionModal from '../../common/ActionModal/ActionModal';\r\nimport { useValidateIntegration } from '../../../services/settings';\r\nimport SMTPSettings from './SMTPSettings';\r\n\r\ninterface IntegrationSettingsProps {\r\n settingsID: number;\r\n settings: Record<string, any>;\r\n onUpdate: (settings: IntegrationSettingsProps['settings']) => void;\r\n}\r\n\r\nconst IntegrationSettings = ({ settingsID, settings, onUpdate }: IntegrationSettingsProps) => {\r\n const [testEmail, setTestEmail] = useState('');\r\n const [showEmailTestModal, setShowEmailTestModal] = useState<'' | 'smtp'>('');\r\n const integrationSettings = settings?.integration || {};\r\n const { smtp } = integrationSettings || {};\r\n\r\n const validationMutation = useValidateIntegration();\r\n\r\n const onIntegrationUpdate = (key: string, intSettings: Record<string, any>) => {\r\n console.log('onIntegrationUpdate :', key, intSettings);\r\n onUpdate({ ...integrationSettings, [key]: { ...integrationSettings[key], ...intSettings } });\r\n };\r\n\r\n return (\r\n <div className={classes.integrations}>\r\n <div>\r\n <SMTPSettings\r\n settings={smtp}\r\n onUpdate={(iSettings) => onIntegrationUpdate('smtp', iSettings)}\r\n showTestModal={(type) => setShowEmailTestModal(type)}\r\n />\r\n </div>\r\n {showEmailTestModal && (\r\n <ActionModal\r\n title={`Test SMTP Integration`}\r\n message={\r\n <>\r\n <Input\r\n label=\"Send Test Email to this email\"\r\n full={true}\r\n fieldValue={testEmail}\r\n onUpdate={(val) => setTestEmail(val)}\r\n type=\"email\"\r\n placeholder=\"test@test.com\"\r\n />\r\n </>\r\n }\r\n errorMessage={validationMutation.error?.message}\r\n successMessage={validationMutation.isSuccess ? 'Test email sent. Integration validated successfully.' : ''}\r\n closeModal={() => setShowEmailTestModal('')}\r\n width=\"400px\"\r\n secondaryAction={{ title: 'Close', action: () => setShowEmailTestModal('') }}\r\n primaryAction={{\r\n title: `Send Test Email`,\r\n type: 'default',\r\n icon: 'email',\r\n isPending: validationMutation.isPending,\r\n action: () => validationMutation.mutate({ settingsID, type: 'smtp', settings: settings, test: { email: testEmail } }),\r\n }}\r\n />\r\n )}\r\n </div>\r\n );\r\n};\r\n\r\nexport default IntegrationSettings;\r\n"],"names":["IntegrationSettings","settingsID","settings","onUpdate","testEmail","setTestEmail","useState","showEmailTestModal","setShowEmailTestModal","integrationSettings","smtp","validationMutation","useValidateIntegration","onIntegrationUpdate","key","intSettings","jsxs","classes","jsx","SMTPSettings","iSettings","type","ActionModal","Fragment","Input","val","_a"],"mappings":";;;;;;;AAaA,MAAMA,IAAsB,CAAC,EAAE,YAAAC,GAAY,UAAAC,GAAU,UAAAC,QAAyC;;AAC3F,QAAM,CAACC,GAAWC,CAAY,IAAIC,EAAS,EAAE,GACvC,CAACC,GAAoBC,CAAqB,IAAIF,EAAsB,EAAE,GACtEG,KAAsBP,KAAA,gBAAAA,EAAU,gBAAe,CAAA,GAC/C,EAAE,MAAAQ,MAASD,KAAuB,CAAA,GAElCE,IAAqBC,EAAA,GAErBC,IAAsB,CAACC,GAAaC,MAAqC;AAC5E,YAAQ,IAAI,yBAAyBD,GAAKC,CAAW,GACrDZ,EAAS,EAAE,GAAGM,GAAqB,CAACK,CAAG,GAAG,EAAE,GAAGL,EAAoBK,CAAG,GAAG,GAAGC,EAAA,GAAe;AAAA,EAC9F;AAEA,SACG,gBAAAC,EAAC,OAAA,EAAI,WAAWC,EAAQ,cACrB,UAAA;AAAA,IAAA,gBAAAC,EAAC,OAAA,EACE,UAAA,gBAAAA;AAAA,MAACC;AAAA,MAAA;AAAA,QACE,UAAUT;AAAA,QACV,UAAU,CAACU,MAAcP,EAAoB,QAAQO,CAAS;AAAA,QAC9D,eAAe,CAACC,MAASb,EAAsBa,CAAI;AAAA,MAAA;AAAA,IAAA,GAEzD;AAAA,IACCd,KACE,gBAAAW;AAAA,MAACI;AAAA,MAAA;AAAA,QACE,OAAO;AAAA,QACP,SACG,gBAAAJ,EAAAK,GAAA,EACG,UAAA,gBAAAL;AAAA,UAACM;AAAA,UAAA;AAAA,YACE,OAAM;AAAA,YACN,MAAM;AAAA,YACN,YAAYpB;AAAA,YACZ,UAAU,CAACqB,MAAQpB,EAAaoB,CAAG;AAAA,YACnC,MAAK;AAAA,YACL,aAAY;AAAA,UAAA;AAAA,QAAA,GAElB;AAAA,QAEH,eAAcC,IAAAf,EAAmB,UAAnB,gBAAAe,EAA0B;AAAA,QACxC,gBAAgBf,EAAmB,YAAY,yDAAyD;AAAA,QACxG,YAAY,MAAMH,EAAsB,EAAE;AAAA,QAC1C,OAAM;AAAA,QACN,iBAAiB,EAAE,OAAO,SAAS,QAAQ,MAAMA,EAAsB,EAAE,EAAA;AAAA,QACzE,eAAe;AAAA,UACZ,OAAO;AAAA,UACP,MAAM;AAAA,UACN,MAAM;AAAA,UACN,WAAWG,EAAmB;AAAA,UAC9B,QAAQ,MAAMA,EAAmB,OAAO,EAAE,YAAAV,GAAY,MAAM,QAAQ,UAAAC,GAAoB,MAAM,EAAE,OAAOE,EAAA,GAAa;AAAA,QAAA;AAAA,MACvH;AAAA,IAAA;AAAA,EACH,GAEN;AAEN;"}
@@ -0,0 +1,7 @@
1
+ interface TwoFactorSetupProps {
2
+ id: number;
3
+ close: () => void;
4
+ }
5
+ declare const TwoFactorSetup: ({ close, id }: TwoFactorSetupProps) => import("react/jsx-runtime").JSX.Element;
6
+ export default TwoFactorSetup;
7
+ //# sourceMappingURL=TwoFactorSetup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TwoFactorSetup.d.ts","sourceRoot":"","sources":["../../../../src/components/Settings/TwoFactorSetup/TwoFactorSetup.tsx"],"names":[],"mappings":"AAQA,UAAU,mBAAmB;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,IAAI,CAAC;CACpB;AAED,QAAA,MAAM,cAAc,GAAI,eAAmB,mBAAmB,4CAsF7D,CAAC;AAEF,eAAe,cAAc,CAAC"}
@@ -0,0 +1,79 @@
1
+ import { jsxs as o, Fragment as C, jsx as e } from "react/jsx-runtime";
2
+ import { useState as N, useEffect as b } from "react";
3
+ import { useSetupTwoFactorAuth as M, useVerifyTwoFactorAuth as T } from "../../../services/settings.js";
4
+ import k from "../../common/Icon/Icon.js";
5
+ import y from "../../common/Modal/Modal.js";
6
+ import x from "../../common/form/Input/Input.js";
7
+ import E from "../../common/Button/Button.js";
8
+ import t from "./TwoFactorSetup.module.scss.js";
9
+ const D = ({ close: g, id: c = 1 }) => {
10
+ var l, d, u, h, p, m, f;
11
+ const [a, v] = N(""), r = M(), i = T(), s = r.isPending || i.isPending, n = ((d = (l = r.data) == null ? void 0 : l.result) == null ? void 0 : d.qrCodeDataUrl) || "", w = ((h = (u = r.data) == null ? void 0 : u.result) == null ? void 0 : h.setupKey) || "", A = ((m = (p = i.data) == null ? void 0 : p.result) == null ? void 0 : m.recoveryCodes) || [];
12
+ b(() => {
13
+ r.mutate(c);
14
+ }, []);
15
+ const F = () => {
16
+ i.mutate({ code: a, id: c });
17
+ };
18
+ return /* @__PURE__ */ o(C, { children: [
19
+ !i.isSuccess && /* @__PURE__ */ e(y, { title: "Two-Factor Authentication (2FA) Setup", closeModal: () => !s && g(), width: "500px", disableBackdropClick: !0, children: /* @__PURE__ */ o("div", { className: t.twoFactorSetup, children: [
20
+ r.isPending && /* @__PURE__ */ o("p", { children: [
21
+ /* @__PURE__ */ e(k, { type: "loading" }),
22
+ " Setting up 2FA..."
23
+ ] }),
24
+ r.isError && /* @__PURE__ */ e("p", { className: t.error, children: "Error setting up 2FA. Please try again." }),
25
+ r.isSuccess && /* @__PURE__ */ o("div", { className: t.setupContainer, children: [
26
+ /* @__PURE__ */ o("div", { className: t.instructions, children: [
27
+ /* @__PURE__ */ e("h4", { children: "Setup Instructions" }),
28
+ /* @__PURE__ */ o("ol", { children: [
29
+ /* @__PURE__ */ e("li", { children: "Download and install an authenticator app on your mobile device (e.g., Google Authenticator, Authy, Microsoft Authenticator)." }),
30
+ /* @__PURE__ */ e("li", { children: "Open the authenticator app and choose to add a new account." }),
31
+ /* @__PURE__ */ e("li", { children: "Scan the QR code below using the authenticator app or manually enter the setup key provided." }),
32
+ /* @__PURE__ */ e("li", { children: "Once added, the app will generate a 6-digit verification code that refreshes every 30 seconds." }),
33
+ /* @__PURE__ */ e("li", { children: "Enter the current 6-digit code from the authenticator app into the field below to complete the setup." })
34
+ ] })
35
+ ] }),
36
+ /* @__PURE__ */ o("div", { className: t.qrSection, children: [
37
+ /* @__PURE__ */ e("div", { className: t.qrCode, children: n && /* @__PURE__ */ e("img", { src: n, alt: "2FA QR Code" }) }),
38
+ /* @__PURE__ */ o("div", { className: t.setupKey, children: [
39
+ "Setup Key: ",
40
+ w
41
+ ] }),
42
+ i.isError && /* @__PURE__ */ e("p", { className: t.errorMsg, children: (f = i.error) == null ? void 0 : f.message }),
43
+ /* @__PURE__ */ o("div", { className: t.verifySection, children: [
44
+ /* @__PURE__ */ e(
45
+ x,
46
+ {
47
+ type: "text",
48
+ placeholder: "Enter 6-digit code",
49
+ fieldValue: a,
50
+ onUpdate: (S) => v(S),
51
+ full: !0
52
+ }
53
+ ),
54
+ /* @__PURE__ */ e(E, { text: "Verify & Enable 2FA", onClick: () => F(), variant: "primary", size: "sm" })
55
+ ] })
56
+ ] })
57
+ ] })
58
+ ] }) }),
59
+ i.isSuccess && /* @__PURE__ */ e(
60
+ y,
61
+ {
62
+ title: "Two-Factor Authentication (2FA) Setup",
63
+ closeModal: () => !s && location.reload(),
64
+ width: "500px",
65
+ disableBackdropClick: !0,
66
+ children: /* @__PURE__ */ o("div", { className: t.successMessage, children: [
67
+ /* @__PURE__ */ e("p", { className: t.successMsg, children: "Two-Factor Authentication (2FA) has been successfully enabled." }),
68
+ /* @__PURE__ */ e("p", { children: /* @__PURE__ */ e("strong", { children: "Save these backup codes in a secure place. They will be required to access your account if you lose your device. They won't be shown again." }) }),
69
+ /* @__PURE__ */ e("code", { className: t.recoveryCodes, children: A.join(`
70
+ `) })
71
+ ] })
72
+ }
73
+ )
74
+ ] });
75
+ };
76
+ export {
77
+ D as default
78
+ };
79
+ //# sourceMappingURL=TwoFactorSetup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TwoFactorSetup.js","sources":["../../../../src/components/Settings/TwoFactorSetup/TwoFactorSetup.tsx"],"sourcesContent":["import { useEffect, useState } from 'react';\r\nimport { useSetupTwoFactorAuth, useVerifyTwoFactorAuth } from '../../../services';\r\nimport Icon from '../../common/Icon/Icon';\r\nimport Modal from '../../common/Modal/Modal';\r\nimport Input from '../../common/form/Input/Input';\r\nimport Button from '../../common/Button/Button';\r\nimport classes from './TwoFactorSetup.module.scss';\r\n\r\ninterface TwoFactorSetupProps {\r\n id: number;\r\n close: () => void;\r\n}\r\n\r\nconst TwoFactorSetup = ({ close, id = 1 }: TwoFactorSetupProps) => {\r\n const [verificationCode, setVerificationCode] = useState('');\r\n const setupMutation = useSetupTwoFactorAuth();\r\n const verifyMutation = useVerifyTwoFactorAuth();\r\n const isLoading = setupMutation.isPending || verifyMutation.isPending;\r\n\r\n const qrCodeUrl: string = setupMutation.data?.result?.qrCodeDataUrl || '';\r\n const setupKey: string = setupMutation.data?.result?.setupKey || '';\r\n const recoveryCodes: string[] = verifyMutation.data?.result?.recoveryCodes || [];\r\n\r\n useEffect(() => {\r\n setupMutation.mutate(id);\r\n }, []);\r\n\r\n const verify2FA = () => {\r\n verifyMutation.mutate({ code: verificationCode, id });\r\n };\r\n\r\n return (\r\n <>\r\n {!verifyMutation.isSuccess && (\r\n <Modal title=\"Two-Factor Authentication (2FA) Setup\" closeModal={() => !isLoading && close()} width=\"500px\" disableBackdropClick={true}>\r\n <div className={classes.twoFactorSetup}>\r\n {setupMutation.isPending && (\r\n <p>\r\n <Icon type=\"loading\" /> Setting up 2FA...\r\n </p>\r\n )}\r\n {setupMutation.isError && <p className={classes.error}>Error setting up 2FA. Please try again.</p>}\r\n {setupMutation.isSuccess && (\r\n <div className={classes.setupContainer}>\r\n <div className={classes.instructions}>\r\n <h4>Setup Instructions</h4>\r\n <ol>\r\n <li>\r\n Download and install an authenticator app on your mobile device (e.g., Google Authenticator, Authy, Microsoft\r\n Authenticator).\r\n </li>\r\n <li>Open the authenticator app and choose to add a new account.</li>\r\n <li>Scan the QR code below using the authenticator app or manually enter the setup key provided.</li>\r\n <li>Once added, the app will generate a 6-digit verification code that refreshes every 30 seconds.</li>\r\n <li>Enter the current 6-digit code from the authenticator app into the field below to complete the setup.</li>\r\n </ol>\r\n </div>\r\n <div className={classes.qrSection}>\r\n <div className={classes.qrCode}>{qrCodeUrl && <img src={qrCodeUrl} alt=\"2FA QR Code\" />}</div>\r\n <div className={classes.setupKey}>Setup Key: {setupKey}</div>\r\n {verifyMutation.isError && <p className={classes.errorMsg}>{verifyMutation.error?.message}</p>}\r\n <div className={classes.verifySection}>\r\n <Input\r\n type=\"text\"\r\n placeholder=\"Enter 6-digit code\"\r\n fieldValue={verificationCode}\r\n onUpdate={(val) => setVerificationCode(val)}\r\n full={true}\r\n />\r\n <Button text=\"Verify & Enable 2FA\" onClick={() => verify2FA()} variant=\"primary\" size=\"sm\" />\r\n </div>\r\n </div>\r\n </div>\r\n )}\r\n </div>\r\n </Modal>\r\n )}\r\n\r\n {verifyMutation.isSuccess && (\r\n <Modal\r\n title=\"Two-Factor Authentication (2FA) Setup\"\r\n closeModal={() => !isLoading && location.reload()}\r\n width=\"500px\"\r\n disableBackdropClick={true}\r\n >\r\n <div className={classes.successMessage}>\r\n <p className={classes.successMsg}>Two-Factor Authentication (2FA) has been successfully enabled.</p>\r\n <p>\r\n <strong>\r\n Save these backup codes in a secure place. They will be required to access your account if you lose your device. They won't be\r\n shown again.\r\n </strong>\r\n </p>\r\n <code className={classes.recoveryCodes}>{recoveryCodes.join('\\n')}</code>\r\n </div>\r\n </Modal>\r\n )}\r\n </>\r\n );\r\n};\r\n\r\nexport default TwoFactorSetup;\r\n"],"names":["TwoFactorSetup","close","id","verificationCode","setVerificationCode","useState","setupMutation","useSetupTwoFactorAuth","verifyMutation","useVerifyTwoFactorAuth","isLoading","qrCodeUrl","_b","_a","setupKey","_d","_c","recoveryCodes","_f","_e","useEffect","verify2FA","jsxs","Fragment","jsx","Modal","classes","Icon","_g","Input","val","Button"],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ const s = "_setupContainer_CTnaj", e = "_errorMsg_pzVbT", c = "_instructions_8Faa2", t = "_qrSection_7GMuD", n = "_qrCode_hEdiA", o = "_setupKey_cp2zi", r = "_verifySection_CIpNa", i = "_successMessage_lsWNg", _ = "_successMsg_xQFvz", u = {
2
+ setupContainer: s,
3
+ errorMsg: e,
4
+ instructions: c,
5
+ qrSection: t,
6
+ qrCode: n,
7
+ setupKey: o,
8
+ verifySection: r,
9
+ successMessage: i,
10
+ successMsg: _
11
+ };
12
+ export {
13
+ u as default,
14
+ e as errorMsg,
15
+ c as instructions,
16
+ n as qrCode,
17
+ t as qrSection,
18
+ s as setupContainer,
19
+ o as setupKey,
20
+ i as successMessage,
21
+ _ as successMsg,
22
+ r as verifySection
23
+ };
24
+ //# sourceMappingURL=TwoFactorSetup.module.scss.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TwoFactorSetup.module.scss.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Icon.d.ts","sourceRoot":"","sources":["../../../../src/components/common/Icon/Icon.tsx"],"names":[],"mappings":"AAEA,KAAK,SAAS,GAAG;IACd,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAOF,QAAA,MAAM,IAAI,GAAI,uCAAuE,SAAS,4CA+8C7F,CAAC;AAmBF,eAAe,IAAI,CAAC"}
1
+ {"version":3,"file":"Icon.d.ts","sourceRoot":"","sources":["../../../../src/components/common/Icon/Icon.tsx"],"names":[],"mappings":"AAEA,KAAK,SAAS,GAAG;IACd,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAOF,QAAA,MAAM,IAAI,GAAI,uCAAuE,SAAS,4CAw9C7F,CAAC;AAmBF,eAAe,IAAI,CAAC"}
@@ -92,6 +92,17 @@ const r = ({ type: c, color: l = "currentColor", size: h = 16, title: d = "", cl
92
92
  ),
93
93
  /* @__PURE__ */ a("path", { stroke: l, strokeWidth: 4, d: "M20 23h8" })
94
94
  ] }) }),
95
+ c === "mirrors" && /* @__PURE__ */ e(i, { size: h, viewBox: "0 0 24 24", children: [
96
+ /* @__PURE__ */ a(
97
+ "path",
98
+ {
99
+ fill: l,
100
+ d: "M21.53 5.15a.99.99 0 0 0-.97-.04l-10 5a1 1 0 0 0-.55.89v10a1 1 0 0 0 1 1c.15 0 .31-.04.45-.11l10-5a1 1 0 0 0 .55-.89V6c0-.35-.18-.67-.47-.85ZM20 15.38l-8 4v-7.76l8-4z"
101
+ }
102
+ ),
103
+ /* @__PURE__ */ a("path", { fill: l, d: "m16.55 3.11l-10 5A1 1 0 0 0 6 9v10h2V9.62l9.45-4.72l-.89-1.79Z" }),
104
+ /* @__PURE__ */ a("path", { fill: l, d: "m12.55 1.11l-10 5A1 1 0 0 0 2 7v10h2V7.62l9.45-4.73l-.89-1.79Z" })
105
+ ] }),
95
106
  c === "devices" && /* @__PURE__ */ a(i, { size: h, viewBox: "0 0 24 24", children: /* @__PURE__ */ a(
96
107
  "path",
97
108
  {