@fastybird/smart-panel-admin 1.0.0-beta.3 → 1.1.0-alpha.0

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 (338) hide show
  1. package/dist/assets/_baseClone-BRvt9rE2.js +1 -0
  2. package/dist/assets/alert-T9nrEIYw.js +1 -0
  3. package/dist/assets/auth.constants-BM6DNCoE.js +1 -0
  4. package/dist/assets/card-C50YgvLJ.js +1 -0
  5. package/dist/assets/card-add-form-Dmqn9mSR.js +1 -0
  6. package/dist/assets/card-edit-form-gTEMCJvQ.js +1 -0
  7. package/dist/assets/checkbox-lYuDNNRW.js +1 -0
  8. package/dist/assets/clamp-C5awl0Z9.js +1 -0
  9. package/dist/assets/col-CS5z2SZI.js +1 -0
  10. package/dist/assets/collapse-BU-5F3-c.js +1 -0
  11. package/dist/assets/common-BDejG8Ry.css +1 -0
  12. package/dist/assets/common-CoPMwt15.js +135 -0
  13. package/dist/assets/{components-BawtJjUe.css → components-B4G4KJov.css} +1 -1
  14. package/dist/assets/components-BhcKdzs8.js +1 -0
  15. package/dist/assets/components-Bo0zSRq-.js +8 -0
  16. package/dist/assets/components-BvIJ9V1A.js +1 -0
  17. package/dist/assets/components-CIxy4TbQ.css +1 -0
  18. package/dist/assets/{components-BTNQr9V1.css → components-CcNFsBLM.css} +1 -1
  19. package/dist/assets/components-CiDtTRIP.js +6 -0
  20. package/dist/assets/components-Ck3npXkH.js +1 -0
  21. package/dist/assets/components-CwI4oc4h.js +1 -0
  22. package/dist/assets/components-DFn7M7P8.js +1 -0
  23. package/dist/assets/components-DTUbSUWA.js +1 -0
  24. package/dist/assets/components-EJSamUDY.js +1 -0
  25. package/dist/assets/components-eOJrNmD_.js +2 -0
  26. package/dist/assets/composables-B8NoX0yi.js +1 -0
  27. package/dist/assets/composables-ByJA5Pkr.js +1 -0
  28. package/dist/assets/composables-C_ClN_9k.js +1 -0
  29. package/dist/assets/composables-CnAdallo.js +1 -0
  30. package/dist/assets/composables-CnAm5-n0.js +1 -0
  31. package/dist/assets/composables-Cu-tDLXA.js +1 -0
  32. package/dist/assets/composables-DRR44tiz.js +1 -0
  33. package/dist/assets/composables-DauWd-yX.js +1 -0
  34. package/dist/assets/composables-Y3z5qfZL.js +1 -0
  35. package/dist/assets/composables-fi_xPbcU.js +1 -0
  36. package/dist/assets/composables-p3aMxqQW.js +1 -0
  37. package/dist/assets/config-Ca3KDCt_.js +2 -0
  38. package/dist/assets/config.constants-17QBQ_kF.js +1 -0
  39. package/dist/assets/dashboard-sUj5gMgt.js +2 -0
  40. package/dist/assets/dashboard.types-BL_StY9P.js +1 -0
  41. package/dist/assets/data-source-edit-form-TeVA0ZGT.js +1 -0
  42. package/dist/assets/descriptions-BqAkDsOG.js +1 -0
  43. package/dist/assets/devices-c2r4wXat.js +2 -0
  44. package/dist/assets/devices-virtual.constants-BZiARLZb.js +1 -0
  45. package/dist/assets/devices.constants-HX5whDWr.js +1 -0
  46. package/dist/assets/dialog-CkpSeL6j.js +1 -0
  47. package/dist/assets/directive-D42ORGRu.js +1 -0
  48. package/dist/assets/dist-DJgPCOr0.js +1 -0
  49. package/dist/assets/drawer-BO0yGLCm.js +1 -0
  50. package/dist/assets/first-load.utils-Dp_L_7Dk.js +1 -0
  51. package/dist/assets/form-BXQzDd7P.js +12 -0
  52. package/dist/assets/index-BMboulGN.js +9 -0
  53. package/dist/assets/index-Cquc4YKb.css +1 -0
  54. package/dist/assets/input-number-BW5agJ92.js +1 -0
  55. package/dist/assets/integration-config-dialog-CD29eKdA.js +1 -0
  56. package/dist/assets/keys-CIqUg3Jv.js +1 -0
  57. package/dist/assets/keys-DcE5nSGn.js +1 -0
  58. package/dist/assets/layout-config-D3Rl8nnp.js +1 -0
  59. package/dist/assets/layout-default-DYN_BCAU.js +1 -0
  60. package/dist/assets/layout-lock-CnKsH_o2.js +1 -0
  61. package/dist/assets/layout-profile-BMiHIk-r.js +1 -0
  62. package/dist/assets/layout-profile-eUgeGmsX.js +1 -0
  63. package/dist/assets/layout-sign-CRyGbt23.js +1 -0
  64. package/dist/assets/layout-sign-DQoDJ4cf.js +1 -0
  65. package/dist/assets/link-mE1gaRBg.js +1 -0
  66. package/dist/assets/list-data-sources-adjust-5-Pdok_s.js +1 -0
  67. package/dist/assets/list-locations-DDLG-wi7.js +1 -0
  68. package/dist/assets/list-users-CoPYoKsq.js +1 -0
  69. package/dist/assets/logs-entries.transformers-lH5ngVX4.js +1 -0
  70. package/dist/assets/mcp.exceptions-BljuOCTt.js +1 -0
  71. package/dist/assets/notifications-CXMpHhG5.css +1 -0
  72. package/dist/assets/notifications.exceptions-9rdw1GeU.js +1 -0
  73. package/dist/assets/omit-oVmlMQup.js +1 -0
  74. package/dist/assets/page-configure-BEVX01FY.js +1 -0
  75. package/dist/assets/page-configure-n0ajoZ1U.js +1 -0
  76. package/dist/assets/pagination-CjJxy65X.js +1 -0
  77. package/dist/assets/radio-CzhigJpe.js +1 -0
  78. package/dist/assets/scene-add-form-CbEbxU91.js +1 -0
  79. package/dist/assets/scene-edit-form-l_zU7WQe.js +1 -0
  80. package/dist/assets/schemas.utils-meRZzKVK.js +1 -0
  81. package/dist/assets/select-O4KysHta.js +1 -0
  82. package/dist/assets/select-data-source-plugin-CIr1ZUt3.js +1 -0
  83. package/dist/assets/simulator.constants-CaAdgiGs.js +1 -0
  84. package/dist/assets/slider-BakOmJFk.js +1 -0
  85. package/dist/assets/spaces-BsLvX_mm.js +2 -0
  86. package/dist/assets/spaces-home-control.constants-7pvytaMK.js +1 -0
  87. package/dist/assets/steps-CcJujEC5.js +1 -0
  88. package/dist/assets/system-BHoHzIp7.js +2 -0
  89. package/dist/assets/system.constants-BvSIFqdm.js +1 -0
  90. package/dist/assets/table-OOxB7eZ0.js +1 -0
  91. package/dist/assets/tabs--WEsYe_1.js +1 -0
  92. package/dist/assets/{tile-detail-m45OY5pq.js → tile-detail-DzmTEy7M.js} +1 -1
  93. package/dist/assets/tile-edit-form-DCms-EXo.js +1 -0
  94. package/dist/assets/types-Bb21yq0P.js +1 -0
  95. package/dist/assets/types-DNTr_87G.js +1 -0
  96. package/dist/assets/use-dialog-Lvd-Ls2e.js +1 -0
  97. package/dist/assets/use-ordered-children-CNn6LzZ5.js +1 -0
  98. package/dist/assets/useBuddyChat-BH48PaUE.js +1 -0
  99. package/dist/assets/useConfigModule-BnX1QBwr.js +1 -0
  100. package/dist/assets/useDataSources-CP_5chvd.js +1 -0
  101. package/dist/assets/useDevicesPlugins-COw-D0RN.js +1 -0
  102. package/dist/assets/useEventBus-vQNsYIyS.js +1 -0
  103. package/dist/assets/useExtensions-Bk5NXQMd.js +1 -0
  104. package/dist/assets/useGeolocation-B6K8Fgnb.js +2 -0
  105. package/dist/assets/useLocation-DapxyrCs.js +1 -0
  106. package/dist/assets/useMcpClients-BfqJppj8.js +1 -0
  107. package/dist/assets/useModule-D1rm0Y0M.js +1 -0
  108. package/dist/assets/useModules-Cy3UIua6.js +1 -0
  109. package/dist/assets/useNumberFormat-CQgIxqs3.js +1 -0
  110. package/dist/assets/usePage-CedKpB5s.js +1 -0
  111. package/dist/assets/usePersonalTokens-By_T4BUP.js +1 -0
  112. package/dist/assets/usePlugin-CyWrOblJ.js +1 -0
  113. package/dist/assets/usePlugins-DQ7X6S0I.js +1 -0
  114. package/dist/assets/useSpaces-Dl88_yBJ.js +1 -0
  115. package/dist/assets/{useUuid-HrENmPhQ.js → useUuid-fukXwEj1.js} +1 -1
  116. package/dist/assets/view-buddy-chat-BrlGdu81.js +1 -0
  117. package/dist/assets/{view-card-add-DKtbBU7F.js → view-card-add-CtGSajM3.js} +1 -1
  118. package/dist/assets/view-card-edit-Zb9cFcPI.js +1 -0
  119. package/dist/assets/view-channel-add-IXRzITkP.js +1 -0
  120. package/dist/assets/view-channel-edit-Axeb4Wsq.js +1 -0
  121. package/dist/assets/view-channel-property-add-CQ5ba4om.js +1 -0
  122. package/dist/assets/view-channel-property-edit-Cf9sdZEV.js +1 -0
  123. package/dist/assets/view-channel-uRWeCf75.js +1 -0
  124. package/dist/assets/view-channels-9OykDzrx.js +1 -0
  125. package/dist/assets/view-config-module-edit-DKx624EL.js +1 -0
  126. package/dist/assets/view-config-modules-B5GC5QVM.js +1 -0
  127. package/dist/assets/view-config-plugin-edit-D880lhC9.js +1 -0
  128. package/dist/assets/view-config-plugins-vIUqs1BF.js +1 -0
  129. package/dist/assets/view-data-source-add-B3EeEfoa.js +1 -0
  130. package/dist/assets/view-data-source-add-D88BBTjK.js +1 -0
  131. package/dist/assets/view-data-source-edit-CYbGAY-U.js +1 -0
  132. package/dist/assets/view-data-source-edit-CqomLDF1.js +1 -0
  133. package/dist/assets/view-device-BXfpD62O.js +1 -0
  134. package/dist/assets/view-device-CoxxlPu_.css +1 -0
  135. package/dist/assets/view-device-add-COpcEZUi.js +1 -0
  136. package/dist/assets/view-device-control-C2sHc1fN.js +1 -0
  137. package/dist/assets/view-device-edit-BacIFxG-.js +1 -0
  138. package/dist/assets/view-devices-B1FVAfCK.js +1 -0
  139. package/dist/assets/{view-devices-Dsy93rSh.css → view-devices-BZvnh_6I.css} +1 -1
  140. package/dist/assets/view-devices-wizard-FN_kerQt.js +1 -0
  141. package/dist/assets/view-display-Cwe6xu0z.js +1 -0
  142. package/dist/assets/view-display-edit-CeDdE9A3.js +1 -0
  143. package/dist/assets/view-display-tokens-Cfdzw2NT.js +1 -0
  144. package/dist/assets/{view-displays-BYdUjNkR.js → view-displays-DE_oTtvk.js} +1 -1
  145. package/dist/assets/view-extension-detail-BIj3vTbd.js +1 -0
  146. package/dist/assets/view-extensions-8fjsl-aC.js +1 -0
  147. package/dist/assets/view-location-ByhZJx_6.js +1 -0
  148. package/dist/assets/view-location-add-C1eF2Urv.js +1 -0
  149. package/dist/assets/view-location-edit-CrUo0t6u.js +1 -0
  150. package/dist/assets/view-locations-D_OBOx6B.js +1 -0
  151. package/dist/assets/view-lock-screen-bRDri9aj.js +1 -0
  152. package/dist/assets/view-mcp-clients-D_IUC93a.js +1 -0
  153. package/dist/assets/view-mcp-clients-UCOJ6iFl.css +1 -0
  154. package/dist/assets/view-mcp-oauth-consent-BCCpyOy3.js +1 -0
  155. package/dist/assets/view-mcp-oauth-consent-Vw4DfXN0.css +1 -0
  156. package/dist/assets/view-mcp-oauth-management-BMuB6eti.js +1 -0
  157. package/dist/assets/view-mcp-oauth-management-v0bn94UW.css +1 -0
  158. package/dist/assets/view-notifications-CYHCdRsx.js +1 -0
  159. package/dist/assets/view-notifications-WYb2ehle.css +1 -0
  160. package/dist/assets/view-onboarding-B_q-NXIi.js +1 -0
  161. package/dist/assets/{view-page-D30T4blr.js → view-page--EqFsctG.js} +1 -1
  162. package/dist/assets/view-page-add-DKc0D-_Z.js +1 -0
  163. package/dist/assets/{view-page-configure-C2_axqzK.js → view-page-configure-BvJKjhWD.js} +1 -1
  164. package/dist/assets/view-page-configure-D1S_L3Df.js +1 -0
  165. package/dist/assets/view-page-data-source-add-DmdPErHH.js +1 -0
  166. package/dist/assets/view-page-data-source-edit-CfElv5SN.js +1 -0
  167. package/dist/assets/view-page-edit-CalSVnS8.js +1 -0
  168. package/dist/assets/{view-page-plugin-B6Fw6v1N.js → view-page-plugin-COtv5VDP.js} +1 -1
  169. package/dist/assets/{view-pages-C9-e4oK7.js → view-pages-FQaVAf16.js} +1 -1
  170. package/dist/assets/view-profile-general-Dquye0Sq.js +1 -0
  171. package/dist/assets/view-profile-security-Cm99XMFN.js +1 -0
  172. package/dist/assets/view-remote-access-D1Wi7gy8.js +1 -0
  173. package/dist/assets/{view-scene-add-DP-jBsux.js → view-scene-add-DJkyO05x.js} +1 -1
  174. package/dist/assets/{view-scene-edit-Sarmco96.js → view-scene-edit-B8ew3Rh_.js} +1 -1
  175. package/dist/assets/{view-scenes-BHGYWuRY.js → view-scenes-81znjW1S.js} +1 -1
  176. package/dist/assets/view-sign-in-CkEM4vLp.js +1 -0
  177. package/dist/assets/view-sign-up-L6T2PYuR.js +1 -0
  178. package/dist/assets/view-simulator-device-wizard-BUfsCMrh.js +1 -0
  179. package/dist/assets/view-space-add-DD-ImGjZ.js +1 -0
  180. package/dist/assets/view-space-configure-DwMhMERS.js +1 -0
  181. package/dist/assets/view-space-edit-COMCYPK1.js +1 -0
  182. package/dist/assets/view-space-plugin-DsJrf4ZZ.js +1 -0
  183. package/dist/assets/view-spaces-BJLiNhUz.js +1 -0
  184. package/dist/assets/view-spaces-wizard-Bf8CgNF7.js +1 -0
  185. package/dist/assets/view-stats-BtJZsvbJ.js +1 -0
  186. package/dist/assets/view-system-backups-BmITzwvM.js +1 -0
  187. package/dist/assets/view-system-info-DtOm6RHr.js +1 -0
  188. package/dist/assets/view-system-log-detail-4QAXHly1.js +1 -0
  189. package/dist/assets/view-system-logs-CQWo5Rbb.js +1 -0
  190. package/dist/assets/view-tile-CyRM73cc.js +1 -0
  191. package/dist/assets/view-tile-add-CysKFegv.js +1 -0
  192. package/dist/assets/view-tile-add-h_oTIQ1I.js +1 -0
  193. package/dist/assets/view-tile-data-source-add-Dtxzfau1.js +1 -0
  194. package/dist/assets/view-tile-data-source-edit-BUgUtQup.js +1 -0
  195. package/dist/assets/view-tile-edit-B03viw4S.js +1 -0
  196. package/dist/assets/view-tile-edit-D-FPuQP4.js +1 -0
  197. package/dist/assets/view-tile-edit-DA2fNfYL.js +1 -0
  198. package/dist/assets/{view-user-add-BeEBHsTw.js → view-user-add-Cw8Ewmt5.js} +1 -1
  199. package/dist/assets/view-user-edit-C3fP_UG4.js +1 -0
  200. package/dist/assets/view-users-DWUpWsPr.js +1 -0
  201. package/dist/assets/view-virtual-device-wizard-BbG4BQgL.js +1 -0
  202. package/dist/assets/weather-BBPDcFBG.js +2 -0
  203. package/dist/assets/weather-forecast.transformers-Ba10ZBsx.js +1 -0
  204. package/dist/assets/weather.constants-_S0I_w_Q.js +1 -0
  205. package/dist/index.html +112 -65
  206. package/package.json +1 -1
  207. package/dist/assets/card-add-form-CLhQRBaL.js +0 -1
  208. package/dist/assets/card-edit-form-D0GHARW-.js +0 -1
  209. package/dist/assets/common-CYlvhyJx.js +0 -151
  210. package/dist/assets/common-oMRoU5Bz.css +0 -1
  211. package/dist/assets/components-BZ1exlup.js +0 -1
  212. package/dist/assets/components-BkjSdnbB.js +0 -1
  213. package/dist/assets/components-C2nsvuWt.js +0 -1
  214. package/dist/assets/components-C9Hw685H.js +0 -2
  215. package/dist/assets/components-CgD2Wl4X.js +0 -1
  216. package/dist/assets/components-CzrtwZEB.js +0 -1
  217. package/dist/assets/components-DE6eu41U.js +0 -1
  218. package/dist/assets/components-jS3aYN4W.js +0 -1
  219. package/dist/assets/composables-BGwJJI84.js +0 -1
  220. package/dist/assets/composables-By-2bZ6o.js +0 -1
  221. package/dist/assets/composables-D2XmoNFv.js +0 -1
  222. package/dist/assets/composables-D5ksCJy6.js +0 -1
  223. package/dist/assets/composables-DEE0h-ep.js +0 -1
  224. package/dist/assets/composables-DINXeVLA.js +0 -1
  225. package/dist/assets/composables-DcfYrDwm.js +0 -1
  226. package/dist/assets/composables-DsKIR5Bm.js +0 -1
  227. package/dist/assets/composables-GMO5QlG5.js +0 -1
  228. package/dist/assets/composables-zt-P_Tr3.js +0 -1
  229. package/dist/assets/dashboard-VE2NrHdf.js +0 -2
  230. package/dist/assets/dashboard.types-By_wvrmJ.js +0 -1
  231. package/dist/assets/data-source-edit-form-BfeuqxfT.js +0 -1
  232. package/dist/assets/drawer-CBjyEUxR.js +0 -1
  233. package/dist/assets/empty-DvXiCUNF.js +0 -1
  234. package/dist/assets/index-BGtjR8rl.js +0 -16
  235. package/dist/assets/index-CUMngPop.css +0 -1
  236. package/dist/assets/input-number-0WfCl7sp.js +0 -1
  237. package/dist/assets/integration-config-dialog-D7ezGYtM.js +0 -1
  238. package/dist/assets/layout-config-B_k0YP5E.js +0 -1
  239. package/dist/assets/layout-default-St-GEUIG.js +0 -1
  240. package/dist/assets/layout-lock-CEWN7-5y.js +0 -1
  241. package/dist/assets/layout-profile-CmZ_5TLY.js +0 -1
  242. package/dist/assets/layout-profile-DjpSTQs2.js +0 -1
  243. package/dist/assets/layout-sign-BAfTH8N1.js +0 -1
  244. package/dist/assets/layout-sign-Cn1Z7dcG.js +0 -1
  245. package/dist/assets/list-data-sources-adjust-uAboLtF5.js +0 -1
  246. package/dist/assets/list-locations-NlC7DHeR.js +0 -1
  247. package/dist/assets/list-users-B9rvfJpM.js +0 -1
  248. package/dist/assets/logs-entries.transformers-D-IYkG06.js +0 -1
  249. package/dist/assets/page-configure-BxuItsp7.js +0 -1
  250. package/dist/assets/page-configure-DnRl2-Bw.js +0 -1
  251. package/dist/assets/pagination-B-q-tN7k.js +0 -1
  252. package/dist/assets/popover-CJnPPf6w.js +0 -1
  253. package/dist/assets/radio-BCfRCNYC.js +0 -1
  254. package/dist/assets/scene-add-form-Bc_O-pQF.js +0 -1
  255. package/dist/assets/scene-edit-form-D6n4XMCu.js +0 -1
  256. package/dist/assets/schemas.utils-DfsvrMGr.js +0 -1
  257. package/dist/assets/select-data-source-plugin-BUQn0xFA.js +0 -1
  258. package/dist/assets/slider-BGyYDnSl.js +0 -1
  259. package/dist/assets/spaces-C4Tpph44.js +0 -2
  260. package/dist/assets/spaces-home-control.constants-F99XoJI8.js +0 -1
  261. package/dist/assets/steps-Dr32rxSM.js +0 -1
  262. package/dist/assets/system-DU1DZ1-l.js +0 -2
  263. package/dist/assets/tile-edit-form-Buhzsx9J.js +0 -1
  264. package/dist/assets/types-Bi7Jdlzc.js +0 -1
  265. package/dist/assets/useBuddyChat-DicTnDX0.js +0 -1
  266. package/dist/assets/useDataSources-BLr8PIxu.js +0 -1
  267. package/dist/assets/useEventBus-4ZeHg9H7.js +0 -1
  268. package/dist/assets/useGeolocation-D04GeyZh.js +0 -2
  269. package/dist/assets/useLocation-DIH9HVyg.js +0 -1
  270. package/dist/assets/usePage-rn3j4WMQ.js +0 -1
  271. package/dist/assets/usePersonalTokens-BAWWC0KL.js +0 -1
  272. package/dist/assets/useSpaces-DCuyMUqe.js +0 -1
  273. package/dist/assets/view-buddy-chat-WrOmxX6O.js +0 -1
  274. package/dist/assets/view-card-edit-10HfRMki.js +0 -1
  275. package/dist/assets/view-channel-D_zpx26S.js +0 -1
  276. package/dist/assets/view-channel-add-BWKCnvF7.js +0 -1
  277. package/dist/assets/view-channel-edit-Czo__VkB.js +0 -1
  278. package/dist/assets/view-channel-property-add-Dnu4HYye.js +0 -1
  279. package/dist/assets/view-channel-property-edit-CW2D-stk.js +0 -1
  280. package/dist/assets/view-channels-7KUQ9wlx.js +0 -1
  281. package/dist/assets/view-config-module-edit-CEiOBSu9.js +0 -1
  282. package/dist/assets/view-config-modules-D-yQNn55.js +0 -1
  283. package/dist/assets/view-config-plugin-edit-SlMNwz8Y.js +0 -1
  284. package/dist/assets/view-config-plugins-BYqEo20U.js +0 -1
  285. package/dist/assets/view-data-source-add-DfGZogv_.js +0 -1
  286. package/dist/assets/view-data-source-add-Dspug3fk.js +0 -1
  287. package/dist/assets/view-data-source-edit-B-IElLOM.js +0 -1
  288. package/dist/assets/view-data-source-edit-DhJRmRuN.js +0 -1
  289. package/dist/assets/view-device-BaeCsXzk.js +0 -1
  290. package/dist/assets/view-device-BzjcofqN.css +0 -1
  291. package/dist/assets/view-device-add-Cdg3B458.js +0 -1
  292. package/dist/assets/view-device-control-CL6gGt9v.js +0 -1
  293. package/dist/assets/view-device-edit-D6KrEzBk.js +0 -1
  294. package/dist/assets/view-devices-a5DXrim2.js +0 -1
  295. package/dist/assets/view-devices-wizard-DgQX6xYr.js +0 -1
  296. package/dist/assets/view-display-BK_WRuzd.js +0 -1
  297. package/dist/assets/view-display-edit-CfO1sMGU.js +0 -1
  298. package/dist/assets/view-display-tokens-q05T3MXd.js +0 -1
  299. package/dist/assets/view-extension-detail--zfY4Dz3.js +0 -1
  300. package/dist/assets/view-extensions-Bum-2tum.js +0 -1
  301. package/dist/assets/view-location-CBJDN5zS.js +0 -1
  302. package/dist/assets/view-location-add-DFmw1sXk.js +0 -1
  303. package/dist/assets/view-location-edit-CLS9Cqd2.js +0 -1
  304. package/dist/assets/view-locations-j_5eCh-A.js +0 -1
  305. package/dist/assets/view-lock-screen-DA_TSXQa.js +0 -1
  306. package/dist/assets/view-onboarding-Cy48X2AX.js +0 -1
  307. package/dist/assets/view-page-add-C0anBkl6.js +0 -1
  308. package/dist/assets/view-page-configure-C8rOXCD-.js +0 -1
  309. package/dist/assets/view-page-data-source-add-CwcgqFSk.js +0 -1
  310. package/dist/assets/view-page-data-source-edit-BHPdu_4o.js +0 -1
  311. package/dist/assets/view-page-edit-BE2o_PWc.js +0 -1
  312. package/dist/assets/view-profile-general-CWkcBsOE.js +0 -1
  313. package/dist/assets/view-profile-security-B4bDUaQc.js +0 -1
  314. package/dist/assets/view-sign-in-tkWBqcvx.js +0 -1
  315. package/dist/assets/view-sign-up-Dh2ZINak.js +0 -1
  316. package/dist/assets/view-space-add-B5_9knXl.js +0 -1
  317. package/dist/assets/view-space-configure-vCS0YQ-H.js +0 -1
  318. package/dist/assets/view-space-edit-C5_ml_8W.js +0 -1
  319. package/dist/assets/view-space-plugin-C3g2VSo3.js +0 -1
  320. package/dist/assets/view-spaces-culV68Lm.js +0 -1
  321. package/dist/assets/view-spaces-wizard-HXpKypIL.js +0 -1
  322. package/dist/assets/view-stats-BCqyavVj.js +0 -1
  323. package/dist/assets/view-system-backups--UcABhC4.js +0 -1
  324. package/dist/assets/view-system-info-D9tPEGF8.js +0 -1
  325. package/dist/assets/view-system-log-detail-YsXJEn7J.js +0 -1
  326. package/dist/assets/view-system-logs-NPsCix4z.js +0 -1
  327. package/dist/assets/view-tile-DUn9uIlJ.js +0 -1
  328. package/dist/assets/view-tile-add-CEaGRSsg.js +0 -1
  329. package/dist/assets/view-tile-add-lgl0PPBy.js +0 -1
  330. package/dist/assets/view-tile-data-source-add-DDR948lU.js +0 -1
  331. package/dist/assets/view-tile-data-source-edit-b4BI6TNr.js +0 -1
  332. package/dist/assets/view-tile-edit-DpVMRrwV.js +0 -1
  333. package/dist/assets/view-tile-edit-Gcy4HufJ.js +0 -1
  334. package/dist/assets/view-tile-edit-SYijBGBh.js +0 -1
  335. package/dist/assets/view-user-edit-DZnkJQOL.js +0 -1
  336. package/dist/assets/view-users-UBrKKeKw.js +0 -1
  337. package/dist/assets/weather-forecast.transformers-C4Dcl8Cg.js +0 -1
  338. package/dist/assets/weather-gJGYyu0m.js +0 -2
@@ -0,0 +1 @@
1
+ import"./rolldown-runtime-QTnfLwEv.js";import{Ei as e,Er as t,Si as n,T as r,bi as i,ci as a,n as o}from"./icon-with-child-CgZMNB3F.js";import{Er as s,a as c,aa as l,b as u,bt as d,c as f,ct as p,d as m,f as h,ft as g,g as _,gt as v,ht as y,ot as b,p as x,st as S,xt as C,yt as w}from"./common-CoPMwt15.js";import{r as T}from"./config-Ca3KDCt_.js";import{r as E}from"./usePlugins-DQ7X6S0I.js";import{t as D}from"./dist-DJgPCOr0.js";import{t as O}from"./useConfigModule-BnX1QBwr.js";import{i as k,l as A,n as j,o as M,s as N}from"./useLocation-DapxyrCs.js";import{a as P,n as F,o as I}from"./weather.constants-_S0I_w_Q.js";import{t as L}from"./types-Bb21yq0P.js";var R=()=>{let e=u().getStore(N),{data:n,semaphore:r}=l(e);return{weatherDay:t(()=>n.value),isLoading:t(()=>n.value===null&&r.value.getting),fetchWeatherDay:async()=>{await e.get()}}},z=()=>{let e=u().getStore(A),{firstLoad:n,semaphore:r}=l(e);return{locations:t(()=>e.findAll().filter(e=>!e.draft)),areLoading:t(()=>r.value.fetching.items),loaded:t(()=>n.value),fetchLocations:async()=>{await e.fetch()}}},B={search:void 0,types:[],primary:`all`},V=()=>{let e=u().getStore(A),{firstLoad:r,semaphore:i}=l(e),{configModule:o}=O({type:P}),s=t(()=>o.value?.primaryLocationId??null),c=n(10),d=n(1),f=n({...B}),p=t(()=>f.value.search!==B.search||f.value.types.length>0||f.value.primary!==B.primary),m=n(`name`),h=n(`ascending`),g=t(()=>{let t=e.findAll().filter(e=>!(e.draft||f.value.search&&!e.name.toLowerCase().includes(f.value.search.toLowerCase())||f.value.types.length>0&&!f.value.types.includes(e.type)||f.value.primary===`primary`&&e.id!==s.value||f.value.primary===`secondary`&&e.id===s.value));return h.value===null?t:D(t,[e=>e[m.value]??``],[h.value===`ascending`?`asc`:`desc`])}),_=t(()=>{let e=(d.value-1)*c.value,t=e+c.value;return g.value.slice(e,t)}),v=async()=>{await e.fetch()},y=t(()=>i.value.fetching.items||!r.value),b=t(()=>r.value),x=t(()=>e.findAll().filter(e=>!e.draft).length);return a(()=>f.value,()=>{d.value=1},{deep:!0}),{locations:g,locationsPaginated:_,totalRows:x,areLoading:y,loaded:b,fetchLocations:v,filters:f,filtersActive:p,paginateSize:c,paginatePage:d,sortBy:m,sortDir:h,resetFilter:()=>{f.value={...B}},primaryLocationId:s}},H=()=>{let e=x(),r=_(),i=n({}),a=n(!1),s=n(!1),c=n(!1);return{weatherByLocation:t(()=>i.value),isLoading:a,hasError:s,fetchCompleted:c,fetchLocationsWeather:async()=>{if(!a.value){a.value=!0,s.value=!1;try{let{data:t,error:n,response:a}=await e.client.GET(`/${o}/${I}/weather`,{});if(t!==void 0&&Array.isArray(t.data)){let e={};for(let n of t.data)if(n.location_id)try{let t=j(n.current),r=n.location;e[n.location_id]={current:t,locationName:r?.name??``,country:r?.country??null}}catch(e){r.error(`[WEATHER] Failed to transform weather data for location ${n.location_id}`,e)}i.value=e,Object.keys(e).length===0&&(s.value=!0);return}let c=`Failed to fetch locations weather.`;throw n&&(c=n.message??c),new k(c,a?.status??500)}catch(e){if(s.value=!0,e instanceof k)throw e;r.error(`[WEATHER] Failed to fetch locations weather`,e)}finally{a.value=!1,c.value=!0}}}}},U=()=>{let{t:e}=r(),t=h(),n=u().getStore(A);return{add:async e=>n.add(e),edit:async e=>n.edit(e),remove:async r=>{let i=n.findById(r);if(i)try{await s.confirm(e(`weatherModule.messages.locations.confirmDeleteLocation`,{name:i.name}),e(`weatherModule.headings.deleteLocation`),{confirmButtonText:e(`weatherModule.buttons.yes.title`),cancelButtonText:e(`weatherModule.buttons.no.title`),type:`warning`});try{await n.remove({id:r}),t.success(e(`weatherModule.messages.locations.deleted`))}catch{t.error(e(`weatherModule.messages.locations.notDeleted`))}}catch{t.info(e(`weatherModule.messages.locations.deleteCanceled`,{location:i.name}))}},bulkRemove:async r=>{if(r.length!==0){try{await s.confirm(e(`weatherModule.messages.locations.confirmBulkDelete`,{count:r.length}),e(`weatherModule.headings.bulkDeleteLocations`),{confirmButtonText:e(`weatherModule.buttons.yes.title`),cancelButtonText:e(`weatherModule.buttons.no.title`),type:`warning`})}catch{t.info(e(`weatherModule.messages.locations.bulkDeleteCanceled`));return}try{let i=await n.bulkRemove({ids:r.map(e=>e.id)});i.succeeded.length>0&&t.success(e(`weatherModule.messages.locations.bulkDeleted`,{count:i.succeeded.length})),i.failed.length>0&&t.error(e(`weatherModule.messages.locations.bulkDeleteFailed`,{count:i.failed.length}))}catch{t.error(e(`weatherModule.messages.locations.bulkDeleteFailed`,{count:r.length}))}}}}},W=m(),G=v({id:L,draft:S().default(!1),type:w().trim().nonempty(),name:w().trim().nonempty(),order:y().int().nonnegative().default(0),createdAt:d([w().datetime({offset:!0}),p()]).transform(e=>e instanceof Date?e:new Date(e)),updatedAt:d([w().datetime({offset:!0}),p()]).transform(e=>e instanceof Date?e:new Date(e)).optional().nullable().default(null)}).catchall(C());v({fetching:v({items:S().default(!1),item:b(L)}),creating:b(L),updating:b(L),deleting:b(L)}),v({id:L,type:w().trim().nonempty(),data:g({})}),v({id:L,data:v({type:w().trim().nonempty(),name:w().trim().nonempty()}).catchall(C())}),v({id:L}),v({id:L});var K=v({id:L.optional().default(c()),draft:S().optional().default(!1),data:v({type:w().trim().nonempty(),name:w().trim().nonempty()}).catchall(C())}),q=v({id:L,data:v({type:w().trim().nonempty(),name:w().trim().optional()}).catchall(C())});v({id:L}),v({ids:b(L).nonempty()});var J=v({succeeded:b(w()),failed:b(v({id:w(),reason:w()}))});v({id:L});var Y=v({id:w().uuid().optional(),type:w().trim().nonempty(),name:w().trim().nonempty()}).passthrough(),X=v({type:w().trim().nonempty(),name:w().trim().nonempty().optional()}).passthrough();v({id:w().uuid(),type:w(),name:w().trim().nonempty(),created_at:w(),updated_at:w().nullable().optional()}),v({id:L,type:w().trim().nonempty(),name:w().trim().min(1,`Name is required`)});var Z=v({name:w().trim().min(1,`Name is required`)}),Q=G,ee=Y,te=X,ne=({id:t})=>{let o=u().getStore(A),{t:s}=r(),c=h(),l=_(),d=n(F.NONE),p,m=i({name:o.findById(t.value)?.name??``}),g=f(e(m)),v=n(void 0),y=n(!1),b=async()=>{if(v.value.clearValidate(),!await v.value.validate())throw new M(`Form not valid`);let n=Z.safeParse(m);if(!n.success)throw l.error(`[WEATHER_MODULE] Schema validation failed:`,n.error),new M(`Failed to validate update location model.`);d.value=F.WORKING;let r=o.findById(t.value);if(!r)throw new M(`Location not found.`);let i=s(`weatherModule.messages.locations.notUpdated`,{location:m.name});try{await o.edit({id:t.value,data:{type:r.type,...n.data}}),d.value=F.OK,c.success(s(`weatherModule.messages.locations.updated`,{location:m.name})),Object.assign(g,f(e(m))),y.value=!1}catch(e){throw d.value=F.ERROR,p=window.setTimeout(x,2e3),e instanceof k&&e.code===422?c.error(e.message):c.error(i),e}},x=()=>{window.clearTimeout(p),d.value=F.NONE};return a(()=>m,()=>{y.value=!(0,W.isEqual)(e(m),g)},{deep:!0}),a(()=>o.findById(t.value),t=>{t&&!y.value&&(m.name=t.name,Object.assign(g,f(e(m))))}),{model:m,formEl:v,formChanged:y,submit:b}},$=()=>{let e=E(),{enabled:n}=T(),r=[`locationAddForm`,`locationEditForm`],i=[`locationSchema`,`locationAddFormSchema`,`locationEditFormSchema`,`locationCreateReqSchema`,`locationUpdateReqSchema`],a=t(()=>e.getPlugins().filter(e=>e.modules===void 0||e.modules.includes(`weather-module`)?(e.elements??[]).some(e=>{if(!(e.modules===void 0||e.modules.includes(`weather-module`)))return!1;let t=r.length===0||!!e.components&&r.some(t=>e.components&&t in e.components),n=i.length===0||!!e.schemas&&i.some(t=>e.schemas&&t in e.schemas);return t||n}):!1));return{plugins:a,options:t(()=>D(a.value.flatMap(e=>(e.elements??[]).filter(e=>e.modules===void 0||e.modules.includes(`weather-module`)).map(t=>({value:t.type,label:t.name?.trim()?t.name:e.name,disabled:!n(e.type)}))),[e=>e.label],[`asc`])),getByName:e=>a.value.find(t=>t.type===e),getByType:e=>a.value.find(t=>(t.elements??[]).some(t=>t.type===e&&(t.modules===void 0||t.modules.includes(`weather-module`)))),getElement:e=>{for(let t of a.value){let n=(t.elements??[]).find(t=>t.type===e&&(t.modules===void 0||t.modules.includes(`weather-module`)));if(n)return n}}}},re=({type:e})=>{let{getByType:n}=$(),r=t(()=>n(e));return{plugin:r,element:t(()=>(r.value?.elements??[]).find(t=>t.type===e&&(t.modules===void 0||t.modules.includes(`weather-module`))))}};export{R as _,Q as a,G as c,J as d,q as f,z as g,V as h,ee as i,X as l,H as m,$ as n,te as o,U as p,ne as r,Y as s,re as t,K as u};
@@ -0,0 +1 @@
1
+ import{Er as e}from"./icon-with-child-CgZMNB3F.js";import{aa as t,b as n}from"./common-CoPMwt15.js";import{t as r}from"./keys-CIqUg3Jv.js";import"./usePersonalTokens-By_T4BUP.js";var i=()=>{let i=n().getStore(r),{profile:a}=t(i);return{profile:e(()=>a.value),isSignedIn:e(()=>i.isSignedIn())}};export{i as t};
@@ -0,0 +1 @@
1
+ import"./rolldown-runtime-QTnfLwEv.js";import{Er as e,Si as t,T as n,bi as r,ci as i}from"./icon-with-child-CgZMNB3F.js";import{Bt as a,Er as o,aa as s,b as c,c as l,d as u,f as d}from"./common-CoPMwt15.js";import{t as f}from"./dist-DJgPCOr0.js";var p=`users`,m=`users-module`,h=`UsersModule.`,g=function(e){return e.USER_CREATED=`UsersModule.User.Created`,e.USER_UPDATED=`UsersModule.User.Updated`,e.USER_DELETED=`UsersModule.User.Deleted`,e.USER_RESET=`UsersModule.User.Reset`,e.MODULE_RESET=`UsersModule.All.Reset`,e}({}),_=function(e){return e.NONE=`none`,e.WORKING=`working`,e.ERROR=`error`,e.OK=`ok`,e}({}),v={USERS:`users_module-users`,USER_ADD:`users_module-user-add`,USER_EDIT:`users_module-user-edit`},y=Symbol(`FB-Module-Users-UsersStore`),b=class extends Error{exception;constructor(e,t=null){super(e),this.name=`UsersException`,this.exception=t}},x=class extends b{code;constructor(e,t=null,n=null){super(e,n),this.name=`UsersApiException`,this.code=t}},S=class extends b{constructor(e,t=null){super(e,t),this.name=`UsersValidationException`}},C=({id:t})=>{let n=c().getStore(y),{data:r,semaphore:i}=s(n);return{user:e(()=>t===null?null:r.value[t]??null),isLoading:e(()=>i.value.fetching.item.includes(t)?!0:r.value[t]===void 0&&i.value.fetching.items),fetchUser:async()=>{r.value[t]?.draft||await n.get({id:t})}}},w=({id:e})=>{let o=c().getStore(y),{t:s}=n(),l=d(),u=t(_.NONE),f,p=r({username:``,password:``,repeatPassword:``,email:``,firstName:``,lastName:``,role:a.user}),m=t(void 0),h=t(!1),g=async()=>{let t=s(`usersModule.messages.notCreated`,{user:p.username});if(m.value.clearValidate(),!await m.value.validate())throw new S(`Form not valid`);u.value=_.WORKING;try{await o.add({id:e,draft:!1,data:{username:p.username,password:p.password,email:p.email?.trim()===``?null:p.email,firstName:p.firstName?.trim()===``?null:p.firstName,lastName:p.lastName?.trim()===``?null:p.lastName,role:p.role}})}catch(e){throw u.value=_.ERROR,f=window.setTimeout(v,2e3),e instanceof x&&e.code===422?l.error(e.message):l.error(t),e}return u.value=_.OK,f=window.setTimeout(v,2e3),l.success(s(`usersModule.messages.created`,{user:p.username})),`added`},v=()=>{window.clearTimeout(f),u.value=_.NONE};return i(p,e=>{e.username===``&&e.password===``&&e.email===``&&e.firstName===``&&e.lastName===``&&e.role===a.user?h.value=!1:h.value=!0}),{model:p,formEl:m,formChanged:h,submit:g,clear:v,formResult:u}},T=({user:e,messages:a})=>{let o=c().getStore(y),{t:s}=n(),l=d(),u=t(_.NONE),f,p=r({username:e.username,password:`secretpassword`,email:e.email||``,firstName:e.firstName||``,lastName:e.lastName||``,role:e.role}),m=t(void 0),h=t(!1),g=async()=>{let t=e.draft,n=a&&a.error?a.error:e.draft?s(`usersModule.messages.notCreated`,{user:e.username}):s(`usersModule.messages.notEdited`,{user:e.username});if(m.value.clearValidate(),!await m.value.validate())throw new S(`Form not valid`);u.value=_.WORKING;try{await o.edit({id:e.id,data:{email:!p.email||p.email.trim()===``?null:p.email,firstName:!p.firstName||p.firstName.trim()===``?null:p.firstName,lastName:!p.lastName||p.lastName.trim()===``?null:p.lastName,role:p.role}}),e.draft&&await o.save({id:e.id})}catch(e){throw u.value=_.ERROR,f=window.setTimeout(v,2e3),e instanceof x&&e.code===422?l.error(e.message):l.error(n),e}return u.value=_.OK,f=window.setTimeout(v,2e3),t?(l.success(s(a&&a.success?a.success:`usersModule.messages.created`,{user:e.username})),`added`):(l.success(s(a&&a.success?a.success:`usersModule.messages.edited`,{user:e.username})),`saved`)},v=()=>{window.clearTimeout(f),u.value=_.NONE};return i(p,t=>{t.email===e.email&&t.firstName===e.firstName&&t.lastName===e.lastName&&t.role===e.role?h.value=!1:h.value=!0}),{model:p,formEl:m,formChanged:h,submit:g,clear:v,formResult:u}},E=({user:e,messages:a})=>{let o=c().getStore(y),{t:s}=n(),l=d(),u=t(_.NONE),f,p=r({password:``,repeatPassword:``}),m=t(void 0),h=t(!1),g=async()=>{let t=a&&a.error?a.error:s(`usersModule.messages.notEdited`,{user:e.username});if(m.value.clearValidate(),!await m.value.validate())throw new S(`Form not valid`);u.value=_.WORKING;try{await o.edit({id:e.id,data:{password:p.password}}),e.draft&&await o.save({id:e.id})}catch(e){throw u.value=_.ERROR,f=window.setTimeout(v,2e3),e instanceof x&&e.code===422?l.error(e.message):l.error(t),e}return u.value=_.OK,f=window.setTimeout(v,2e3),l.success(s(a&&a.success?a.success:`usersModule.messages.edited`,{user:e.username})),`saved`},v=()=>{window.clearTimeout(f),u.value=_.NONE};return i(p,e=>{e.password===``&&e.repeatPassword===``?h.value=!1:h.value=!0}),{model:p,formEl:m,formChanged:h,submit:g,clear:v,formResult:u}},D=({user:e,messages:a})=>{let o=c().getStore(y),{t:s}=n(),l=d(),u=t(_.NONE),f,p=r({username:e.username}),m=t(void 0),h=t(!1),g=async()=>{let t=a&&a.error?a.error:s(`usersModule.messages.notEdited`,{user:e.username});if(m.value.clearValidate(),!await m.value.validate())throw new S(`Form not valid`);u.value=_.WORKING;try{await o.edit({id:e.id,data:{username:p.username}}),e.draft&&await o.save({id:e.id})}catch(e){throw u.value=_.ERROR,f=window.setTimeout(v,2e3),e instanceof x&&e.code===422?l.error(e.message):l.error(t),e}return u.value=_.OK,f=window.setTimeout(v,2e3),l.success(s(a&&a.success?a.success:`usersModule.messages.edited`,{user:e.username})),`saved`},v=()=>{window.clearTimeout(f),u.value=_.NONE};return i(p,t=>{h.value=t.username!==e.username}),{model:p,formEl:m,formChanged:h,submit:g,clear:v,formResult:u}},O=u(),k={search:void 0,roles:[]},A=()=>{let n=c().getStore(y),{firstLoad:r,semaphore:a}=s(n),o=t(10),u=t(1),d=t(l(k)),p=e(()=>d.value.search!==k.search||!(0,O.isEqual)(d.value.roles,k.roles)),m=t(`username`),h=t(`ascending`),g=e(()=>f(n.findAll().filter(e=>!e.draft&&(!d.value.search||e.username.toLowerCase().includes(d.value.search.toLowerCase()))&&(d.value.roles.length===0||d.value.roles.includes(e.role))),[e=>e[m.value]??``],[h.value===`ascending`?`asc`:`desc`])),_=e(()=>{let e=(u.value-1)*o.value,t=e+o.value;return g.value.slice(e,t)}),v=async()=>{await n.fetch()},b=e(()=>a.value.fetching.items||!r.value),x=e(()=>r.value),S=e(()=>n.findAll().filter(e=>!e.draft).length);return i(()=>d.value,()=>{u.value=1},{deep:!0}),{users:g,usersPaginated:_,totalRows:S,areLoading:b,loaded:x,fetchUsers:v,filters:d,filtersActive:p,paginateSize:o,paginatePage:u,sortBy:m,sortDir:h,resetFilter:()=>{d.value=l(k)}}},j=()=>{let{t:e}=n(),t=d(),r=c().getStore(y);return{remove:async n=>{let i=r.findById(n);if(i===null)throw new b(`Something went wrong, user can't be loaded`);o.confirm(e(`usersModule.texts.confirmRemove`,{user:i.username}),e(`usersModule.headings.remove`),{confirmButtonText:e(`usersModule.buttons.yes.title`),cancelButtonText:e(`usersModule.buttons.no.title`),type:`warning`}).then(async()=>{try{await r.remove({id:i.id}),t.success(e(`usersModule.messages.removed`,{user:i.username}))}catch(n){if(n instanceof x&&n.code===404){let n=e(`usersModule.messages.notFound`,{user:i.username});t.error(n)}else if(n instanceof x&&n.code===422)t.error(n.message);else{let n=e(`usersModule.messages.notRemoved`,{user:i.username});t.error(n)}}}).catch(()=>{t.info(e(`usersModule.messages.removeCanceled`,{user:i.username}))})},bulkRemove:async n=>{if(n.length!==0){try{await o.confirm(e(`usersModule.texts.confirmBulkRemove`,{count:n.length}),e(`usersModule.headings.removeBulk`),{confirmButtonText:e(`usersModule.buttons.yes.title`),cancelButtonText:e(`usersModule.buttons.no.title`),type:`warning`})}catch{return}try{let i=await r.bulkRemove({ids:n.map(e=>e.id)});i.succeeded.length>0&&t.success(e(`usersModule.messages.bulkRemoved`,{count:i.succeeded.length})),i.failed.length>0&&t.error(e(`usersModule.messages.bulkRemoveFailed`,{count:i.failed.length}))}catch{t.error(e(`usersModule.messages.bulkRemoveFailed`,{count:n.length}))}}}}};export{p as _,T as a,x as c,y as d,g as f,m as g,h,E as i,b as l,v as m,A as n,w as o,_ as p,D as r,C as s,j as t,S as u};
@@ -0,0 +1 @@
1
+ import"./rolldown-runtime-QTnfLwEv.js";import{Er as e,Si as t,T as n,ci as r,ki as i,n as a,yi as o}from"./icon-with-child-CgZMNB3F.js";import{Er as s,Mt as c,Nt as l,aa as u,b as d,f,g as p,gt as m,it as h,jt as g,kn as _,o as v,p as y,yt as b}from"./common-CoPMwt15.js";import{t as x}from"./dist-DJgPCOr0.js";import{s as S}from"./system.constants-BvSIFqdm.js";import{n as C}from"./logs-entries.transformers-lH5ngVX4.js";import"./useExtensions-Bk5NXQMd.js";var w=`extensions-module`,T={EXTENSIONS:`extensions_module-extensions`,EXTENSION:`extensions_module-extension`,EXTENSION_DETAIL:`extensions_module-extension-detail`},E=`table`,D=(e,t,n)=>`${e}:${t}:${n}`,O=t=>{let n=d().getStore(g),{semaphore:r,firstLoad:a}=u(n);return{extension:e(()=>n.findByType(i(t.type))),isLoading:e(()=>r.value.fetching.items||!a.value),fetchExtension:async()=>{await n.fetch()}}},k=m({search:b().optional(),kind:h([`all`,_.module,_.plugin]).default(`all`),enabled:h([`all`,`enabled`,`disabled`]).default(`all`),isCore:h([`all`,`core`,`addon`]).default(`all`)}),A={search:void 0,kind:`all`,enabled:`all`,isCore:`all`},j={by:`name`,dir:`asc`},M=()=>{let n=d().getStore(g),{semaphore:i}=u(n),{filters:a,sort:o,pagination:s,viewMode:c,reset:l}=v({key:`${w}:extensions:list`,filters:{schema:k,defaults:A},sort:{defaults:[j]},pagination:{defaults:{page:1,size:10}},viewMode:{options:[`table`,`cards`],default:E},syncQuery:!0,version:1}),f=e({get:()=>c.value??`table`,set:e=>{c.value=e}}),p=e(()=>a.value.search!==A.search||a.value.kind!==A.kind||a.value.enabled!==A.enabled||a.value.isCore!==A.isCore),m=t(s.value.size||10),h=t(s.value.page||1),y=t(o.value.length>0?o.value[0]?.by:void 0),b=t(o.value.length>0?o.value[0]?.dir??null:null),S=e(()=>Object.values(n.data)),C=e(()=>x(S.value.filter(e=>(!a.value.search||e.type.toLowerCase().includes(a.value.search.toLowerCase())||e.name.toLowerCase().includes(a.value.search.toLowerCase())||e.description?.toLowerCase().includes(a.value.search.toLowerCase()))&&(a.value.kind===`all`||e.kind===a.value.kind)&&(a.value.enabled===`all`||a.value.enabled===`enabled`&&e.enabled||a.value.enabled===`disabled`&&!e.enabled)&&(a.value.isCore===`all`||a.value.isCore===`core`&&e.isCore||a.value.isCore===`addon`&&!e.isCore)),[e=>y.value===`enabled`?+!!e.enabled:e[y.value]??``],[b.value===`asc`?`asc`:`desc`])),T=e(()=>C.value),D=e(()=>{let e=(h.value-1)*m.value,t=e+m.value;return T.value.slice(e,t)}),O=e(()=>C.value.filter(e=>e.kind===_.module)),M=e(()=>C.value.filter(e=>e.kind===_.plugin)),N=async()=>{await n.fetch()},P=e(()=>i.value.fetching.items),F=e(()=>T.value.length);return r(()=>s.value,e=>{h.value=e.page??1,m.value=e.size??10},{deep:!0}),r(()=>h.value,e=>{s.value.page=e}),r(()=>m.value,e=>{s.value.size=e}),r(()=>b.value,e=>{y.value===void 0||e===null?o.value=[]:o.value=[{by:y.value,dir:e}]}),r(()=>y.value,e=>{e===void 0||b.value===null?o.value=[]:o.value=[{by:e,dir:b.value}]}),{extensions:T,extensionsPaginated:D,modules:O,plugins:M,totalRows:F,areLoading:P,fetchExtensions:N,filters:a,filtersActive:p,paginateSize:m,paginatePage:h,sortBy:y,sortDir:b,viewMode:f,resetFilter:l}},N=()=>{let{t:e}=n(),t=d(),r=f(),i=t.getStore(g),a=t.getStore(c);return{toggleEnabled:async(t,n)=>{try{return await i.update({type:t,data:{enabled:n}}),r.success(e(n?`extensionsModule.messages.extensionEnabled`:`extensionsModule.messages.extensionDisabled`)),n&&setTimeout(()=>{a.fetch().then(()=>{let e=a.findAll().filter(e=>e.extensionType===t);for(let t of e)t.lastError&&r.warning(t.lastError)}).catch(()=>{})},1500),!0}catch(t){return t instanceof l&&t.code===400?r.error(e(`extensionsModule.messages.notConfigurableError`)):r.error(e(`extensionsModule.messages.updateError`)),!1}},bulkEnable:async t=>{let n=t.filter(e=>e.canToggleEnabled&&!e.enabled);if(n.length===0){r.info(e(`extensionsModule.messages.noExtensionsToEnable`));return}try{await s.confirm(e(`extensionsModule.messages.confirmBulkEnable`,{count:n.length}),e(`extensionsModule.headings.bulkEnable`),{confirmButtonText:e(`extensionsModule.buttons.yes`),cancelButtonText:e(`extensionsModule.buttons.no`),type:`info`})}catch{r.info(e(`extensionsModule.messages.bulkEnableCanceled`));return}try{let t=await i.bulkSetEnabled({types:n.map(e=>e.type),enabled:!0});t.succeeded.length>0&&r.success(e(`extensionsModule.messages.bulkEnabled`,{count:t.succeeded.length})),t.failed.length>0&&r.error(e(`extensionsModule.messages.bulkEnableFailed`,{count:t.failed.length}))}catch{r.error(e(`extensionsModule.messages.bulkEnableFailed`,{count:n.length}))}},bulkDisable:async t=>{let n=t.filter(e=>e.canToggleEnabled&&e.enabled);if(n.length===0){r.info(e(`extensionsModule.messages.noExtensionsToDisable`));return}try{await s.confirm(e(`extensionsModule.messages.confirmBulkDisable`,{count:n.length}),e(`extensionsModule.headings.bulkDisable`),{confirmButtonText:e(`extensionsModule.buttons.yes`),cancelButtonText:e(`extensionsModule.buttons.no`),type:`warning`})}catch{r.info(e(`extensionsModule.messages.bulkDisableCanceled`));return}try{let t=await i.bulkSetEnabled({types:n.map(e=>e.type),enabled:!1});t.succeeded.length>0&&r.success(e(`extensionsModule.messages.bulkDisabled`,{count:t.succeeded.length})),t.failed.length>0&&r.error(e(`extensionsModule.messages.bulkDisableFailed`,{count:t.failed.length}))}catch{r.error(e(`extensionsModule.messages.bulkDisableFailed`,{count:n.length}))}}}},P=n=>{let s=y(),c=p(),l=t({}),u=t(!1),d=t(!1),f=t(!1),m=t(void 0),h=t(!1),g=t([]),_=t(`all`),v=null,b={"1h":3600*1e3,"6h":360*60*1e3,"24h":1440*60*1e3,"7d":10080*60*1e3,all:0},x=e(()=>Object.values(l.value).sort((e,t)=>new Date(t.ts).getTime()-new Date(e.ts).getTime())),w=e(()=>{let e=x.value;if(g.value.length>0&&(e=e.filter(e=>g.value.includes(e.type))),_.value!==`all`){let t=Date.now()-b[_.value];e=e.filter(e=>new Date(e.ts).getTime()>=t)}return e}),T=e(()=>g.value.length>0||_.value!==`all`),E=()=>{g.value=[],_.value=`all`},D=async()=>{let e=i(n.extensionType);v=e,d.value=!0;try{let{data:t,error:n}=await s.client.GET(`/${a}/${S}/logs`,{params:{query:{extension:e,limit:50}}});if(v!==e)return;if(t!==void 0){let e=Object.fromEntries(t.data.map(e=>{let t=C(e);return[t.id,t]}));l.value=e,f.value=!0,u.value=t.metadata.has_more,m.value=t.metadata.next_cursor}else n&&c.error(`Failed to fetch extension logs:`,n)}catch(t){v===e&&c.error(`Error fetching extension logs:`,t)}finally{v===e&&(d.value=!1)}},O=async()=>{if(d.value||!u.value||!m.value)return;let e=i(n.extensionType),t=m.value;d.value=!0;try{let{data:n,error:r}=await s.client.GET(`/${a}/${S}/logs`,{params:{query:{extension:e,after_id:t,limit:50}}});if(v!==e)return;if(n!==void 0){let e=Object.fromEntries(n.data.map(e=>{let t=C(e);return[t.id,t]}));l.value={...l.value,...e},u.value=n.metadata.has_more,m.value=n.metadata.next_cursor}else r&&c.error(`Failed to load more extension logs:`,r)}catch(t){v===e&&c.error(`Error loading more extension logs:`,t)}finally{v===e&&(d.value=!1)}},k=async()=>{l.value={},m.value=void 0,u.value=!1,f.value=!1,await D()},A=null;return r(()=>h.value,e=>{A&&=(clearInterval(A),null),e&&(A=setInterval(()=>void D(),3e3))}),o(()=>{A&&=(clearInterval(A),null)}),r(()=>i(n.extensionType),()=>{k()}),{logs:w,hasMore:u,isLoading:d,loaded:f,live:h,filterLevels:g,filterTimeRange:_,filtersActive:T,clearFilters:E,fetchLogs:D,loadMoreLogs:O,refreshLogs:k}},F=()=>{let t=d().getStore(c),{data:n,semaphore:r}=u(t);return{services:e(()=>Object.values(n.value)),areLoading:e(()=>r.value.fetching.items),fetchServices:async()=>{await t.fetch()}}};export{O as a,T as c,M as i,P as n,D as o,N as r,w as s,F as t};
@@ -0,0 +1 @@
1
+ import"./rolldown-runtime-QTnfLwEv.js";import{Ei as e,Er as t,Si as n,T as r,bi as i,ci as a}from"./icon-with-child-CgZMNB3F.js";import{Er as o,aa as s,b as c,c as l,d as u,f as d,g as f,gt as p,ht as m,o as h,ot as g,st as _,yt as v}from"./common-CoPMwt15.js";import{r as y}from"./config-Ca3KDCt_.js";import{r as b}from"./usePlugins-DQ7X6S0I.js";import{t as x}from"./schemas.utils-meRZzKVK.js";import{t as S}from"./dist-DJgPCOr0.js";import{a as C,c as w,d as T,i as E,n as D,o as O,r as k,t as A}from"./keys-DgS2vm-E.js";import{i as j,t as M}from"./types-DNTr_87G.js";import{n as N}from"./useDataSources-CP_5chvd.js";import"./usePage-CedKpB5s.js";var P=u(),F=()=>{let e=b(),{enabled:n}=y(),r=[`pageDetail`,`pageAddForm`,`pageEditForm`],i=[`pageSchema`,`pageAddFormSchema`,`pageEditFormSchema`,`pageCreateReqSchema`,`pageUpdateReqSchema`],a=[`configure`],o=t(()=>e.getPlugins().filter(e=>{if(!(e.modules===void 0||e.modules.includes(`dashboard-module`)))return!1;let t=a.some(t=>e.routes&&t in e.routes)??!0;return(e.elements??[]).some(e=>{if(!(e.modules===void 0||e.modules.includes(`dashboard-module`)))return!1;let n=r.length===0||!!e.components&&r.some(t=>e.components&&t in e.components),a=i.length===0||!!e.schemas&&i.some(t=>e.schemas&&t in e.schemas);return n||a||t})}));return{plugins:o,options:t(()=>S(o.value.flatMap(e=>(e.elements??[]).filter(e=>e.modules===void 0||e.modules.includes(`dashboard-module`)).map(t=>({value:t.type,label:t.name?.trim()?t.name:e.name,disabled:!n(e.type)}))),[e=>e.label],[`asc`])),getByPluginType:e=>o.value.find(t=>t.type===e),getByType:e=>o.value.find(t=>(t.elements??[]).some(t=>t.type===e&&(t.modules===void 0||t.modules.includes(`dashboard-module`)))),getElement:e=>{for(let t of o.value){let n=(t.elements??[]).find(t=>t.type===e&&(t.modules===void 0||t.modules.includes(`dashboard-module`)));if(n)return n}}}},I=()=>{let e=c().getStore(D),{firstLoad:n,semaphore:r}=s(e);return{pages:t(()=>e.findAll().filter(e=>!e.draft)),areLoading:t(()=>!!r.value.fetching.items||!n.value),loaded:t(()=>n.value),fetchPages:async()=>{await e.fetch()}}},L={search:void 0,types:[],displays:[]},ee={by:`title`,dir:`asc`},te=()=>{let e=c().getStore(D),{firstLoad:r,semaphore:i}=s(e),{filters:o,sort:l,pagination:u,reset:d}=h({key:`${w}:pages:list`,filters:{schema:j,defaults:L},sort:{defaults:[ee]},pagination:{defaults:{page:1,size:10}},syncQuery:!0,version:1}),f=t(()=>o.value.search!==L.search||!(0,P.isEqual)(o.value.types,L.types)||!(0,P.isEqual)(o.value.displays,L.displays)),p=n(u.value.size||10),m=n(u.value.page||1),g=n(l.value.length>0?l.value[0]?.by:void 0),_=n(l.value.length>0?l.value[0]?.dir??null:null),v=t(()=>S(e.findAll().filter(e=>!e.draft&&(!o.value.search||e.title.toLowerCase().includes(o.value.search.toLowerCase()))&&(o.value.types.length===0||o.value.types.includes(e.type))&&(o.value.displays.length===0||o.value.displays.includes(`all`)&&(e.displays===null||e.displays.length===0)||e.displays!==null&&e.displays.length>0&&e.displays.some(e=>o.value.displays.includes(e)))),[e=>e[g.value]??``],[_.value===`asc`?`asc`:`desc`])),y=t(()=>{let e=(m.value-1)*p.value,t=e+p.value;return v.value.slice(e,t)}),b=async()=>{await e.fetch()},x=t(()=>i.value.fetching.items||!r.value),C=t(()=>r.value),T=t(()=>e.findAll().filter(e=>!e.draft).length);return a(()=>u.value,e=>{m.value=e.page??1,p.value=e.size??10},{deep:!0}),a(()=>m.value,e=>{u.value.page=e}),a(()=>p.value,e=>{u.value.size=e}),a(()=>_.value,e=>{g.value===void 0||e===null?l.value=[]:l.value=[{by:g.value,dir:e}]}),a(()=>g.value,e=>{e===void 0?l.value=[]:l.value=[{by:e,dir:_.value}]}),{pages:v,pagesPaginated:y,totalRows:T,areLoading:x,loaded:C,fetchPages:b,filters:o,filtersActive:f,paginateSize:p,paginatePage:m,sortBy:g,sortDir:_,resetFilter:d}},R=()=>{let{t:e}=r(),t=d(),n=c().getStore(D);return{remove:async r=>{let i=n.findById(r);if(i===null)throw new C(`Something went wrong, page can't be loaded`);o.confirm(e(`dashboardModule.texts.pages.confirmRemove`,{page:i.title}),e(`dashboardModule.headings.pages.remove`),{confirmButtonText:e(`dashboardModule.buttons.yes.title`),cancelButtonText:e(`dashboardModule.buttons.no.title`),type:`warning`}).then(async()=>{try{await n.remove({id:i.id}),t.success(e(`dashboardModule.messages.pages.removed`,{page:i.title}))}catch(n){if(n instanceof E&&n.code===404){let n=e(`dashboardModule.messages.pages.notFound`,{page:i.title});t.error(n)}else if(n instanceof E&&n.code===422)t.error(n.message);else{let n=e(`dashboardModule.messages.pages.notRemoved`,{page:i.title});t.error(n)}}}).catch(()=>{t.info(e(`dashboardModule.messages.pages.removeCanceled`,{page:i.title}))})},bulkRemove:async r=>{if(r.length!==0){try{await o.confirm(e(`dashboardModule.texts.pages.confirmBulkRemove`,{count:r.length}),e(`dashboardModule.headings.pages.bulkRemove`),{confirmButtonText:e(`dashboardModule.buttons.yes.title`),cancelButtonText:e(`dashboardModule.buttons.no.title`),type:`warning`})}catch{return}try{let i=await n.bulkRemove({ids:r.map(e=>e.id)});i.succeeded.length>0&&t.success(e(`dashboardModule.messages.pages.bulkRemoved`,{count:i.succeeded.length})),i.failed.length>0&&t.error(e(`dashboardModule.messages.pages.bulkRemoveFailed`,{count:i.failed.length}))}catch{t.error(e(`dashboardModule.messages.pages.bulkRemoveFailed`,{count:r.length}))}}}}},z=({id:e})=>{let n=c().getStore(D);return{icon:t(()=>`mdi:${n.findById(e)?.icon??`view-dashboard`}`)}},B=p({id:v().uuid().optional(),type:v().trim().nonempty(),title:v().trim().nonempty(),icon:v().trim().transform(e=>e===``?null:e).nullable().optional(),order:m(),showTopBar:_().optional(),displays:g(v().uuid()).nullable().optional()}),V=p({id:v().uuid(),type:v().trim().nonempty(),title:v().trim().nonempty().optional(),icon:v().trim().transform(e=>e===``?null:e).nullable().optional(),order:m().optional(),showTopBar:_().optional(),displays:g(v().uuid()).nullable().optional()}),H=({type:e})=>{let{getByType:n}=F(),r=t(()=>n(e));return{plugin:r,element:t(()=>(r.value?.elements??[]).find(t=>t.type===e&&(t.modules===void 0||t.modules.includes(`dashboard-module`))))}},U=({id:t,type:o})=>{let s=c(),{element:u}=H({type:o}),p=s.getStore(D),{t:m}=r(),h=d(),g=f(),_=n(T.NONE),v,y=i({...x(u.value?.schemas?.pageAddFormSchema||B),id:t,type:o,title:``,icon:``,order:0,showTopBar:!0}),b=l(e(y)),S=n(void 0),C=n(!1),w=async()=>{if(S.value.clearValidate(),!await S.value.validate())throw new O(`Form not valid`);let e=(u.value?.schemas?.pageAddFormSchema||B).safeParse(y);if(!e.success)throw g.error(`Schema validation failed with:`,e.error),new O(`Failed to validate create page model.`);_.value=T.WORKING;let n=m(`dashboardModule.messages.pages.notCreated`,{page:y.title});try{await p.add({id:t,draft:!1,data:{...e.data,type:o}})}catch(e){throw _.value=T.ERROR,v=window.setTimeout(k,2e3),e instanceof E&&e.code===422?h.error(e.message):h.error(n),e}return _.value=T.OK,v=window.setTimeout(k,2e3),h.success(m(`dashboardModule.messages.pages.created`,{page:y.title})),`added`},k=()=>{window.clearTimeout(v),_.value=T.NONE};return a(y,()=>{C.value=!(0,P.isEqual)(e(y),b)}),{model:y,formEl:S,formChanged:C,submit:w,clear:k,formResult:_}},W=({page:t,messages:o})=>{let s=c(),{element:u}=H({type:t.type}),p=s.getStore(D),{t:m}=r(),h=d(),g=f(),_=n(T.NONE),v,y=i(t),b=l(e(y)),x=n(void 0),S=n(!1),C=async()=>{let n=t.draft,r=o&&o.error?o.error:t.draft?m(`dashboardModule.messages.pages.notCreated`,{page:t.title}):m(`dashboardModule.messages.pages.notEdited`,{page:t.title});if(x.value.clearValidate(),!await x.value.validate())throw new O(`Form not valid`);let i=(u.value?.schemas?.pageEditFormSchema||V).safeParse(y);if(!i.success)throw g.error(`Schema validation failed with:`,i.error),new O(`Failed to validate edit page model.`);_.value=T.WORKING;try{let e;e=await p.edit({id:t.id,data:{...i.data,type:t.type}}),t.draft&&(e=await p.save({id:t.id})),e&&Object.assign(y,e)}catch(e){throw _.value=T.ERROR,v=window.setTimeout(w,2e3),e instanceof E&&e.code===422?h.error(e.message):h.error(r),e}return _.value=T.OK,v=window.setTimeout(w,2e3),n?(h.success(m(o&&o.success?o.success:`dashboardModule.messages.pages.created`,{page:t.title})),`added`):(h.success(m(o&&o.success?o.success:`dashboardModule.messages.pages.edited`,{page:t.title})),S.value=!1,b=l(e(y)),`saved`)},w=()=>{window.clearTimeout(v),_.value=T.NONE};return a(y,()=>{S.value=!(0,P.isEqual)(e(y),b)}),{model:y,formEl:x,formChanged:S,submit:C,clear:w,formResult:_}},G=e=>{let n=c().getStore(k),{firstLoad:r,semaphore:i}=s(n);return{tiles:t(()=>n.findForParent(e.parent,e.parentId)),areLoading:t(()=>i.value.fetching.items.includes(e.parentId)?!0:!r.value.includes(e.parentId)&&i.value.fetching.items.includes(e.parentId)),loaded:t(()=>r.value.includes(e.parentId)),fetchTiles:async()=>{await n.fetch({parent:{type:e.parent,id:e.parentId}})}}},K=e=>{let{t}=r(),n=d(),i=c().getStore(k);return{findById:(e,t)=>i.findById(e,t),edit:async e=>i.edit(e),save:async e=>i.save(e),remove:async r=>{let a=i.findById(e.parent,r);if(a===null)throw new C(`Something went wrong, tile can't be loaded`);o.confirm(t(`dashboardModule.texts.tiles.confirmRemove`),t(`dashboardModule.headings.tiles.remove`),{confirmButtonText:t(`dashboardModule.buttons.yes.title`),cancelButtonText:t(`dashboardModule.buttons.no.title`),type:`warning`}).then(async()=>{try{await i.remove({id:a.id,parent:{type:e.parent,id:e.parentId}}),n.success(t(`dashboardModule.messages.tiles.removed`))}catch(e){if(e instanceof E&&e.code===404){let e=t(`dashboardModule.messages.tiles.notFound`);n.error(e)}else if(e instanceof E&&e.code===422)n.error(e.message);else{let e=t(`dashboardModule.messages.tiles.notRemoved`);n.error(e)}}}).catch(()=>{n.info(t(`dashboardModule.messages.tiles.removeCanceled`))})},removeDirectly:async e=>i.remove(e)}},q=p({id:v().uuid().optional(),type:v().trim().nonempty(),row:m(),col:m(),rowSpan:m(),colSpan:m(),hidden:_()}),J=p({id:v().uuid(),type:v().trim().nonempty(),row:m().optional(),col:m().optional(),rowSpan:m().optional(),colSpan:m().optional(),hidden:_()}),Y=({id:t,parent:o,parentId:s,type:u,onlyDraft:p=!1})=>{let m=c(),{element:h}=N({type:u}),g=m.getStore(k),{t:_}=r(),v=d(),y=f(),b=n(T.NONE),S,C=i({...x(h.value?.schemas?.tileAddFormSchema||q),id:t,type:u,row:1,col:1,rowSpan:1,colSpan:1,hidden:!1}),w=l(e(C)),D=n(void 0),A=n(!1),j=async()=>{if(D.value.clearValidate(),!await D.value.validate())throw new O(`Form not valid`);let e=(h.value?.schemas?.tileAddFormSchema||q).safeParse(C);if(!e.success)throw y.error(`Schema validation failed with:`,e.error),new O(`Failed to validate create tile model.`);b.value=T.WORKING;let n=_(`dashboardModule.messages.tiles.notCreated`);try{await g.add({id:t,parent:{type:o,id:s},draft:p,data:{...e.data,type:u}})}catch(e){throw b.value=T.ERROR,S=window.setTimeout(M,2e3),e instanceof E&&e.code===422?v.error(e.message):v.error(n),e}return b.value=T.OK,S=window.setTimeout(M,2e3),v.success(_(`dashboardModule.messages.tiles.created`)),`added`},M=()=>{window.clearTimeout(S),b.value=T.NONE};return a(C,()=>{A.value=!(0,P.isEqual)(e(C),w)}),{model:C,formEl:D,formChanged:A,submit:j,clear:M,formResult:b}},X=({tile:t,messages:o,onlyDraft:s=!1})=>{let u=c(),{element:p}=N({type:t.type}),m=u.getStore(k),{t:h}=r(),g=d(),_=f(),v=n(T.NONE),y,b=i(t),x=l(e(b)),S=n(void 0),C=n(!1),w=async()=>{let n=t.draft,r=o&&o.error?o.error:t.draft&&!s?h(`dashboardModule.messages.tiles.notCreated`):h(`dashboardModule.messages.tiles.notEdited`);if(S.value.clearValidate(),!await S.value.validate())throw new O(`Form not valid`);let i=(p.value?.schemas?.tileEditFormSchema||J).safeParse(b);if(!i.success)throw _.error(`Schema validation failed with:`,i.error),new O(`Failed to validate create tile model.`);v.value=T.WORKING;try{await m.edit({id:t.id,parent:t.parent,data:{...i.data,type:t.type}}),t.draft&&!s&&await m.save({id:t.id,parent:t.parent})}catch(e){throw v.value=T.ERROR,y=window.setTimeout(D,2e3),e instanceof E&&e.code===422?g.error(e.message):g.error(r),e}return v.value=T.OK,y=window.setTimeout(D,2e3),n&&!s?(g.success(h(o&&o.success?o.success:`dashboardModule.messages.tiles.created`)),`added`):(g.success(h(o&&o.success?o.success:`dashboardModule.messages.tiles.edited`)),C.value=!1,x=l(e(b)),`saved`)},D=()=>{window.clearTimeout(y),v.value=T.NONE};return a(b,()=>{C.value=!(0,P.isEqual)(e(b),x)}),{model:b,formEl:S,formChanged:C,submit:w,clear:D,formResult:v}},Z=e=>{let{id:n}=e,r=c().getStore(A),{data:i,semaphore:a}=s(r);return{dataSource:t(()=>n===null?null:n in i.value?i.value[n]:null),isLoading:t(()=>a.value.fetching.item.includes(n)?!0:(n in i.value?i.value[n]:null)===null&&a.value.fetching.items.includes(e.parentId)),fetchDataSource:async()=>{(n in i.value?i.value[n]:null)?.draft||await r.get({id:n,parent:{type:e.parent,id:e.parentId}})}}},Q=p({id:v().uuid().optional(),type:v().trim().nonempty()}),$=p({id:v().uuid(),type:v().trim().nonempty()}),ne=({id:t,type:o,parent:s,parentId:u,onlyDraft:p=!1})=>{let m=c(),{element:h}=M({type:o}),g=m.getStore(A),{t:_}=r(),v=d(),y=f(),b=n(T.NONE),S,C=i({...x(h.value?.schemas?.dataSourceAddFormSchema||Q),id:t,type:o}),w=l(e(C)),D=n(void 0),k=n(!1),j=async()=>{if(D.value.clearValidate(),!await D.value.validate())throw new O(`Form not valid`);let e=(h.value?.schemas?.dataSourceAddFormSchema||Q).safeParse(C);if(!e.success)throw y.error(`Schema validation failed with:`,e.error),new O(`Failed to validate create data source model.`);b.value=T.WORKING;let n=_(`dashboardModule.messages.dataSources.notCreated`);try{await g.add({id:t,parent:{type:s,id:u},draft:p,data:{...e.data,type:o}})}catch(e){throw b.value=T.ERROR,S=window.setTimeout(N,2e3),e instanceof E&&e.code===422?v.error(e.message):v.error(n),e}return b.value=T.OK,S=window.setTimeout(N,2e3),v.success(_(`dashboardModule.messages.dataSources.created`)),`added`},N=()=>{window.clearTimeout(S),b.value=T.NONE};return a(C,()=>{k.value=!(0,P.isEqual)(e(C),w)}),{model:C,formEl:D,formChanged:k,submit:j,clear:N,formResult:b}},re=({dataSource:t,messages:o,onlyDraft:s=!1})=>{let u=c(),{element:p}=M({type:t.type}),m=u.getStore(A),{t:h}=r(),g=d(),_=f(),v=n(T.NONE),y,b=i(t),x=l(e(b)),S=n(void 0),C=n(!1),w=async()=>{let n=t.draft,r=o&&o.error?o.error:t.draft&&!s?h(`dashboardModule.messages.dataSources.notCreated`):h(`dashboardModule.messages.dataSources.notEdited`);if(S.value.clearValidate(),!await S.value.validate())throw new O(`Form not valid`);let i=(p.value?.schemas?.dataSourceEditFormSchema||$).safeParse(b);if(!i.success)throw _.error(`Schema validation failed with:`,i.error),new O(`Failed to validate create dataSource model.`);v.value=T.WORKING;try{await m.edit({id:t.id,parent:t.parent,data:{...i.data,type:t.type}}),t.draft&&!s&&await m.save({id:t.id,parent:t.parent})}catch(e){throw v.value=T.ERROR,y=window.setTimeout(D,2e3),e instanceof E&&e.code===422?g.error(e.message):g.error(r),e}return v.value=T.OK,y=window.setTimeout(D,2e3),n&&!s?(g.success(h(o&&o.success?o.success:`dashboardModule.messages.dataSources.created`)),`added`):(g.success(h(o&&o.success?o.success:`dashboardModule.messages.dataSources.edited`)),C.value=!1,x=l(e(b)),`saved`)},D=()=>{window.clearTimeout(y),v.value=T.NONE};return a(b,()=>{C.value=!(0,P.isEqual)(e(b),x)}),{model:b,formEl:S,formChanged:C,submit:w,clear:D,formResult:v}};export{z as _,Z as a,I as b,q as c,G as d,W as f,V as g,B as h,$ as i,J as l,H as m,ne as n,X as o,U as p,Q as r,Y as s,re as t,K as u,R as v,F as x,te as y};
@@ -0,0 +1 @@
1
+ import"./rolldown-runtime-QTnfLwEv.js";import{Ei as e,Er as t,Si as n,T as r,bi as i,ci as a,ji as o,ki as s}from"./icon-with-child-CgZMNB3F.js";import{Er as c,aa as l,b as u,bt as d,c as f,d as p,f as m,gt as h,ht as g,it as _,o as v,ot as y,pt as b,st as x,yt as S}from"./common-CoPMwt15.js";import{r as C}from"./config-Ca3KDCt_.js";import{r as w}from"./usePlugins-DQ7X6S0I.js";import{t as T}from"./dist-DJgPCOr0.js";import{t as E}from"./keys-DExX7OfU.js";import{C as D,S as O,_ as k,b as A,d as j,g as M,h as N,n as P,s as F,y as I}from"./keys-DcE5nSGn.js";import{l as L,u as R}from"./useSpaces-Dl88_yBJ.js";import{a as z}from"./keys-DghNVBR5.js";var B=e=>{let n=u().getStore(P),{data:r,semaphore:i}=l(n);return{space:t(()=>e.value?r.value[e.value]??null:null),fetching:t(()=>e.value?i.value.fetching.item.includes(e.value):!1),fetchSpace:async()=>e.value?n.get({id:e.value}):null,editSpace:async t=>{if(!e.value)throw Error(`Space ID is required`);return n.edit({id:e.value,data:t})},removeSpace:async()=>{if(!e.value)throw Error(`Space ID is required`);return n.remove({id:e.value})}}},V=p(),H=h({search:S().optional(),types:y(S())}),U=h({name:S().min(1),description:S().nullable().optional(),category:d([b(N),b(k)]).nullable().optional(),icon:S().nullable().optional(),displayOrder:g().int().min(0).default(0),parentId:S().uuid().nullable().optional()}),W=U.extend({id:S().uuid(),type:_([M.ROOM,M.ZONE]).default(M.ROOM)}),G=U.extend({id:S().uuid(),type:b(M),suggestionsEnabled:x().default(!0),statusWidgets:y(L).nullable().optional()}),K=({id:t,type:o})=>{let s=u().getStore(P),{t:c}=r(),l=m(),d=n(F.NONE),p=n(null),h,g=i({id:t,type:o??M.ROOM,name:``,description:null,category:null,icon:null,displayOrder:0,parentId:null}),_=f(e(g)),v=n(void 0),y=n(!1),b=async()=>{if(v.value.clearValidate(),!await v.value.validate())throw Error(`Form not valid`);let e=W.safeParse(g);if(!e.success)throw Error(`Failed to validate create space model.`);d.value=F.WORKING;let n=c(`spacesModule.messages.notCreated`,{space:g.name});try{p.value=await s.add({id:t,data:{name:e.data.name,type:e.data.type,category:e.data.category??null,description:e.data.description??null,icon:e.data.icon??null,displayOrder:e.data.displayOrder,parentId:e.data.parentId??null}})}catch(e){throw d.value=F.ERROR,p.value=null,h=window.setTimeout(x,2e3),l.error(n),e}return d.value=F.OK,h=window.setTimeout(x,2e3),l.success(c(`spacesModule.messages.created`,{space:g.name})),`added`},x=()=>{window.clearTimeout(h),d.value=F.NONE,p.value=null};return a(g,()=>{y.value=!(0,V.isEqual)(e(g),_)}),{model:g,formEl:v,formChanged:y,submit:b,clear:x,formResult:d,createdSpace:p}};function q(e){let n=e=>{let t=I(e);return e===M.ROOM?[...t].sort((e,t)=>e.localeCompare(t)):t},r=e=>{let t=A(e);return t&&t.length>0?t:null};return{getCategoryOptions:n,getCategoryGroups:r,getCategoryTemplates:e=>O(e),categoryOptions:t(()=>{let t=o(e)??M.ROOM;return n(t)}),categoryGroups:t(()=>{let t=o(e)??M.ROOM;return r(t)}),currentTemplates:t(()=>O(o(e)??M.ROOM))}}var J=(e,r)=>{let i=u(),a=i.getStore(z),o=i.getStore(P),{semaphore:s,firstLoad:c}=l(a),d=n(!1);return{devices:t(()=>{if(!e.value||!r.value)return[];let t=a.findAll().filter(e=>!e.draft&&!e.hidden),n;return n=r.value===M.ROOM?t.filter(t=>t.roomId===e.value):t.filter(t=>t.zoneIds.includes(e.value)),n.sort((e,t)=>e.name.localeCompare(t.name))}),loading:t(()=>!!(d.value||s.value.fetching.items||!c.value)),firstLoadFinished:t(()=>c.value),fetchDevices:async()=>{await a.fetch()},addDevice:async t=>{if(!e.value||!r.value)throw Error(`Space ID and type are required`);d.value=!0;try{if(r.value===M.ROOM){let n=a.findById(t);if(!n)throw Error(`Device not found`);await a.edit({id:t,data:{type:n.type,roomId:e.value}})}else{let n=o.findById(e.value);if(n&&D(n.category))throw Error(`Cannot assign devices to floor zones. Floor membership is derived from room assignment.`);await a.addZone({id:t,zoneId:e.value})}}finally{d.value=!1}},removeDevice:async t=>{if(!e.value||!r.value)throw Error(`Space ID and type are required`);d.value=!0;try{if(r.value===M.ROOM){let e=a.findById(t);if(!e)throw Error(`Device not found`);await a.edit({id:t,data:{type:e.type,roomId:null}})}else await a.removeZone({id:t,zoneId:e.value})}finally{d.value=!1}},reassignDevice:async(e,t)=>{d.value=!0;try{let n=a.findById(e);if(!n)throw Error(`Device not found`);await a.edit({id:e,data:{type:n.type,roomId:t}})}finally{d.value=!1}}}},Y=e=>{let r=u().getStore(E),i=n(!1);return{displays:t(()=>e.value?r.findAll().filter(t=>t.spaceId===e.value).sort((e,t)=>(e.name||e.macAddress).localeCompare(t.name||t.macAddress)):[]),loading:t(()=>i.value?!0:r.fetching()),fetchDisplays:async()=>{await r.fetch()},reassignDisplay:async(e,t)=>{i.value=!0;try{await r.edit({id:e,data:{spaceId:t}})}finally{i.value=!1}},removeDisplay:async e=>{i.value=!0;try{await r.edit({id:e,data:{spaceId:null}})}finally{i.value=!1}}}},X=({space:t})=>{let o=()=>`value`in t?t.value:t,s=o(),c=u().getStore(P),{t:l}=r(),d=m(),p=n(F.NONE),h,g=i({id:s.id,type:s.type,name:s.name,description:s.description,category:s.category,icon:s.icon,displayOrder:s.displayOrder,parentId:s.parentId,suggestionsEnabled:s.suggestionsEnabled,statusWidgets:s.statusWidgets?[...s.statusWidgets.map(e=>({...e,settings:{...e.settings}}))]:null}),_=f(e(g)),v=n(void 0),y=n(!1),b=async()=>{if(v.value.clearValidate(),!await v.value.validate())throw Error(`Form not valid`);let t=G.safeParse(g);if(!t.success)throw Error(`Failed to validate edit space model.`);p.value=F.WORKING;let n=l(`spacesModule.messages.notEdited`,{space:g.name});try{await c.edit({id:s.id,data:{name:t.data.name,type:t.data.type,category:t.data.category??null,description:t.data.description??null,icon:t.data.icon??null,displayOrder:t.data.displayOrder,parentId:t.data.parentId??null,suggestionsEnabled:t.data.suggestionsEnabled,statusWidgets:t.data.statusWidgets??null}})}catch(e){throw p.value=F.ERROR,h=window.setTimeout(x,2e3),d.error(n),e}return p.value=F.OK,h=window.setTimeout(x,2e3),y.value=!1,_=f(e(g)),`saved`},x=()=>{window.clearTimeout(h),p.value=F.NONE};return a(g,()=>{y.value=!(0,V.isEqual)(e(g),_)}),a(()=>o(),t=>{t&&(g.id=t.id,g.type=t.type,g.name=t.name,g.description=t.description,g.category=t.category,g.icon=t.icon,g.displayOrder=t.displayOrder,g.parentId=t.parentId,g.suggestionsEnabled=t.suggestionsEnabled,g.statusWidgets=t.statusWidgets?[...t.statusWidgets.map(e=>({...e,settings:{...e.settings}}))]:null,_=f(e(g)),y.value=!1)},{deep:!0}),{model:g,formEl:v,formChanged:y,submit:b,clear:x,formResult:p}},Z=()=>{let{t:e}=r(),t=m(),n=u().getStore(P);return{remove:async r=>{let i=n.findById(r);return i?c.confirm(e(`spacesModule.messages.confirmRemove`,{name:i.name}),e(`spacesModule.headings.removeSpace`),{confirmButtonText:e(`spacesModule.buttons.yes.title`),cancelButtonText:e(`spacesModule.buttons.no.title`),type:`warning`}).then(async()=>{try{return await n.remove({id:r}),t.success(e(`spacesModule.messages.removed`,{space:i.name})),!0}catch(e){return e instanceof R&&t.error(e.message),!1}}).catch(()=>(t.info(e(`spacesModule.messages.removeCanceled`,{space:i.name})),!1)):(t.error(e(`spacesModule.messages.notFound`)),!1)},bulkRemove:async r=>{if(r.length!==0){try{await c.confirm(e(`spacesModule.messages.confirmBulkRemove`,{count:r.length}),e(`spacesModule.headings.bulkRemoveSpace`),{confirmButtonText:e(`spacesModule.buttons.yes.title`),cancelButtonText:e(`spacesModule.buttons.no.title`),type:`warning`})}catch{return}try{let i=await n.bulkRemove({ids:r.map(e=>e.id)});i.succeeded.length>0&&t.success(e(`spacesModule.messages.bulkRemoved`,{count:i.succeeded.length})),i.failed.length>0&&t.error(e(`spacesModule.messages.bulkRemoveFailed`,{count:i.failed.length}))}catch{t.error(e(`spacesModule.messages.bulkRemoveFailed`,{count:r.length}))}}}}},Q={search:void 0,types:[]},ee={by:`name`,dir:`asc`},te=()=>{let e=u().getStore(P),{firstLoad:r,semaphore:i}=l(e),{filters:o,sort:s,pagination:c,reset:d}=v({key:`${j}:spaces:list`,filters:{schema:H,defaults:Q},sort:{defaults:[ee]},pagination:{defaults:{page:1,size:10}},syncQuery:!0,version:2}),f=t(()=>o.value.search!==Q.search||!(0,V.isEqual)(o.value.types,Q.types)),p=n(c.value.size||10),m=n(c.value.page||1),h=n(s.value.length>0?s.value[0]?.by:void 0),g=n(s.value.length>0?s.value[0]?.dir??null:null),_=t(()=>T(e.findAll().filter(e=>!e.draft&&(!o.value.search||e.id.toLowerCase().includes(o.value.search.toLowerCase())||e.name?.toLowerCase().includes(o.value.search.toLowerCase())||e.description?.toLowerCase().includes(o.value.search.toLowerCase()))&&(o.value.types.length===0||o.value.types.includes(e.type))),[e=>{switch(h.value){case`name`:return e.name;case`type`:return e.type;case`displayOrder`:return e.displayOrder;default:return e.displayOrder}}],[g.value??`asc`])),y=t(()=>{let e=(m.value-1)*p.value,t=e+p.value;return _.value.slice(e,t)}),b=async()=>{await e.fetch()},x=t(()=>!!(i.value.fetching.items||!r.value)),S=t(()=>r.value),C=t(()=>e.findAll().filter(e=>!e.draft).length);return a(()=>c.value,e=>{m.value=e.page??1,p.value=e.size??10},{deep:!0}),a(()=>m.value,e=>{c.value.page=e}),a(()=>p.value,e=>{c.value.size=e}),a(()=>g.value,e=>{h.value===void 0||e===null?s.value=[]:s.value=[{by:h.value,dir:e}]}),a(()=>h.value,e=>{e===void 0?s.value=[]:s.value=[{by:e,dir:g.value}]}),{spaces:_,spacesPaginated:y,totalRows:C,areLoading:x,loaded:S,fetchSpaces:b,filters:o,filtersActive:f,paginateSize:p,paginatePage:m,sortBy:h,sortDir:g,resetFilter:d}},$=()=>{let e=w(),{enabled:n}=C(),{t:i,te:a}=r(),o=[`spaceDetail`,`spaceAddForm`,`spaceEditForm`,`spaceWizard`],s=[`spaceDetail`,`spaceAddForm`,`spaceEditForm`],c=[`spaceSchema`,`spaceAddFormSchema`,`spaceEditFormSchema`,`spaceCreateReqSchema`,`spaceUpdateReqSchema`],l=[`configure`],u=t(()=>e.getPlugins().filter(e=>e.modules===void 0||e.modules.includes(`spaces-module`)?l.length>0&&l.some(t=>e.routes&&t in e.routes)?!0:(e.elements??[]).some(e=>{if(!(e.modules===void 0||e.modules.includes(`spaces-module`)))return!1;let t=o.length===0||!!e.components&&o.some(t=>e.components&&t in e.components),n=c.length===0||!!e.schemas&&c.some(t=>e.schemas&&t in e.schemas);return t||n}):!1)),d=e=>a(e)?i(e):e;return{plugins:u,options:t(()=>T(u.value.flatMap(e=>(e.elements??[]).filter(e=>e.modules===void 0||e.modules.includes(`spaces-module`)).filter(e=>{let t=!!e.components&&s.some(t=>e.components&&t in e.components),n=!!e.schemas&&c.some(t=>e.schemas&&t in e.schemas);return t||n}).map(t=>({value:t.type,label:t.name?.trim()?d(t.name):d(e.name),disabled:!n(e.type)}))),[e=>e.label],[`asc`])),wizardOptions:t(()=>T(u.value.filter(e=>(e.elements??[]).some(e=>(e.modules===void 0||e.modules.includes(`spaces-module`))&&!!e.components?.spaceWizard)).map(e=>({value:e.type,label:d(e.name),description:e.description,disabled:!n(e.type)})),[e=>e.label],[`asc`])),getByPluginType:e=>u.value.find(t=>t.type===e),getByType:e=>u.value.find(t=>(t.elements??[]).some(t=>t.type===e&&(t.modules===void 0||t.modules.includes(`spaces-module`)))),getElement:e=>{for(let t of u.value){let n=(t.elements??[]).find(t=>t.type===e&&(t.modules===void 0||t.modules.includes(`spaces-module`)));if(n)return n}}}},ne=({type:e})=>{let{getByType:n}=$(),r=t(()=>n(s(e)));return{plugin:r,element:t(()=>{let t=s(e);return(r.value?.elements??[]).find(e=>e.type===t&&(e.modules===void 0||e.modules.includes(`spaces-module`)))})}};export{X as a,q as c,G as d,B as f,Z as i,K as l,$ as n,Y as o,te as r,J as s,ne as t,W as u};
@@ -0,0 +1,2 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/layout-config-D3Rl8nnp.js","assets/rolldown-runtime-QTnfLwEv.js","assets/icon-with-child-CgZMNB3F.js","assets/icon-with-child-1Kb-D21P.css","assets/common-CoPMwt15.js","assets/common-BDejG8Ry.css","assets/tabs--WEsYe_1.js","assets/omit-oVmlMQup.js","assets/_baseClone-BRvt9rE2.js","assets/clamp-C5awl0Z9.js","assets/use-ordered-children-CNn6LzZ5.js","assets/config.constants-17QBQ_kF.js","assets/layout-config-Bs73Oq0w.css","assets/view-config-modules-B5GC5QVM.js","assets/vue-meta.esm-browser.min-C5z7o_np.js","assets/card-C50YgvLJ.js","assets/drawer-BO0yGLCm.js","assets/use-dialog-Lvd-Ls2e.js","assets/useModules-Cy3UIua6.js","assets/dist-DJgPCOr0.js","assets/view-config-modules-DvbJyCIK.css","assets/view-config-module-edit-DKx624EL.js","assets/directive-D42ORGRu.js","assets/common.constants-C6QiEtuS.js","assets/useConfigModule-BnX1QBwr.js","assets/useModule-D1rm0Y0M.js","assets/view-config-plugins-vIUqs1BF.js","assets/usePlugins-DQ7X6S0I.js","assets/view-config-plugins-BTCfejmZ.css","assets/view-config-plugin-edit-D880lhC9.js","assets/usePlugin-CyWrOblJ.js"])))=>i.map(i=>d[i]);
2
+ import"./rolldown-runtime-QTnfLwEv.js";import{Ei as e,Er as t,Rr as n,Si as r,T as i,bi as a,ci as o,i as s,n as c,zr as l}from"./icon-with-child-CgZMNB3F.js";import{Bt as u,C as d,W as f,aa as p,b as m,c as h,d as g,dr as _,f as v,ft as y,g as b,gt as x,ia as S,l as C,lr as w,n as T,ot as E,p as D,s as O,st as k,t as A,ur as j,v as M,w as ee,xt as N,yt as P}from"./common-CoPMwt15.js";import"./directive-D42ORGRu.js";import{r as te,t as ne}from"./useModules-Cy3UIua6.js";import{t as re}from"./usePlugins-DQ7X6S0I.js";import{a as F,i as ie,l as I,n as ae,o as oe,r as se,s as L}from"./config.constants-17QBQ_kF.js";import{t as ce}from"./usePlugin-CyWrOblJ.js";import"./useConfigModule-BnX1QBwr.js";import{t as le}from"./useModule-D1rm0Y0M.js";var R=async e=>{await Promise.all(e.filter(e=>e.isLoaded()).map(e=>e.refresh()))},z=Symbol(`FB-App-DataRefreshRegistry`),ue=class{onError;handlers=new Map;running=null;constructor(e){this.onError=e}register(e,t){this.handlers.set(e,t)}unregister(e){this.handlers.delete(e)}async refreshAll(){if(this.running!==null)return this.running;let e=[...this.handlers.values()];this.running=Promise.all(e.map(e=>{try{return Promise.resolve(e()).catch(e=>{this.onError?.(e)})}catch(e){return this.onError?.(e),Promise.resolve()}})).then(()=>{});try{await this.running}finally{this.running=null}}},B=e=>{if(e&&e._context&&e._context.provides&&e._context.provides[z])return e._context.provides[z];if(n()){let e=l(z,void 0);if(e)return e}throw Error(`A data refresh registry has not been provided.`)},de=(e,t)=>{e.provide(z,t)},V=g(),fe={"cs-CZ":{menu:{title:`Konfigurace`,modules:`Moduly`,plugins:`Pluginy`},meta:{config:{title:`Konfigurace`},configAudio:{title:`Konfigurace zvuku`},configDisplay:{title:`Konfigurace displeje`},configLanguage:{title:`Konfigurace jazyka`},configWeather:{title:`Konfigurace počasí`},configSystem:{title:`Konfigurace systému`},configPlugins:{title:`Konfigurace pluginů`},configModules:{title:`Konfigurace modulů`},configModuleEdit:{title:`Upravit modul: {module}`},configPluginEdit:{title:`Upravit plugin: {plugin}`}},breadcrumbs:{config:`konfigurace`,configAudio:`konfigurace zvuku`,configDisplay:`konfigurace displeje`,configLanguage:`konfigurace jazyka`,configWeather:`konfigurace počasí`,configSystem:`konfigurace systému`,configPlugins:`konfigurace pluginů`,configModules:`konfigurace modulů`},messages:{loadError:`Nepodařilo se načíst konfiguraci`,configAudio:{edited:`Změny uloženy! Konfigurace zvuku byla aktualizována.`,notEdited:`Něco se pokazilo. Aktualizace konfigurace zvuku nebyla úspěšná.`},configDisplay:{edited:`Změny uloženy! Konfigurace displeje byla aktualizována.`,notEdited:`Něco se pokazilo. Aktualizace konfigurace displeje nebyla úspěšná.`},configLanguage:{edited:`Změny uloženy! Konfigurace jazyka byla aktualizována.`,notEdited:`Něco se pokazilo. Aktualizace konfigurace jazyka nebyla úspěšná.`},configWeather:{edited:`Změny uloženy! Konfigurace počasí byla aktualizována.`,notEdited:`Něco se pokazilo. Aktualizace konfigurace počasí nebyla úspěšná.`},configSystem:{edited:`Změny uloženy! Konfigurace systému byla aktualizována.`,notEdited:`Něco se pokazilo. Aktualizace konfigurace systému nebyla úspěšná.`},configPlugin:{edited:`Změny uloženy! Konfigurace pluginu byla aktualizována.`,notEdited:`Něco se pokazilo. Aktualizace konfigurace pluginu nebyla úspěšná.`},configModule:{edited:`Změny uloženy! Konfigurace modulu byla aktualizována.`,notEdited:`Něco se pokazilo. Aktualizace konfigurace modulu nebyla úspěšná.`},moduleConfigNotFound:{title:`Konfigurace modulu nenalezena`,message:`Konfigurace modulu "{module}" nemohla být načtena. Zkontrolujte prosím, zda je modul správně nainstalován a nakonfigurován.`},moduleNotFound:{title:`Modul nenalezen`,message:`Modul "{module}" nebyl v systému nalezen. Ověřte prosím, že je modul nainstalován a povolen.`},moduleElementNotFound:{title:`Prvek modulu není registrován`,message:`Konfigurační prvek modulu "{module}" není registrován. Tento modul nemusí podporovat úpravu konfigurace.`},moduleComponentsNotFound:{message:`Modul "{module}" nemá k dispozici žádné konfigurační komponenty.`},moduleFormNotFound:{title:`Konfigurační formulář není dostupný`,message:`Komponenta konfiguračního formuláře modulu "{module}" není dostupná. Tento modul nemusí podporovat úpravu konfigurace prostřednictvím uživatelského rozhraní.`},pluginConfigNotFound:{title:`Konfigurace pluginu nenalezena`,message:`Konfigurace pluginu "{plugin}" nemohla být načtena. Zkontrolujte prosím, zda je plugin správně nainstalován a nakonfigurován.`},pluginNotFound:{title:`Plugin nenalezen`,message:`Plugin "{plugin}" nebyl v systému nalezen. Ověřte prosím, že je plugin nainstalován a povolen.`},pluginElementNotFound:{title:`Prvek pluginu není registrován`,message:`Konfigurační prvek pluginu "{plugin}" není registrován. Tento plugin nemusí podporovat úpravu konfigurace.`},pluginComponentsNotFound:{message:`Plugin "{plugin}" nemá k dispozici žádné konfigurační komponenty.`},pluginFormNotFound:{title:`Konfigurační formulář není dostupný`,message:`Komponenta konfiguračního formuláře pluginu "{plugin}" není dostupná. Tento plugin nemusí podporovat úpravu konfigurace prostřednictvím uživatelského rozhraní.`}},headings:{config:`Konfigurace`,misc:{discard:`Zahodit změny`}},subHeadings:{config:`Konfigurace Smart panelu`,configModule:`Konfigurace modulu`,configPlugin:`Konfigurace pluginu`},tabs:{configAudio:`Konfigurace zvuku`,configDisplay:`Konfigurace displeje`,configLanguage:`Konfigurace jazyka`,configWeather:`Konfigurace počasí`,configSystem:`Konfigurace systému`,configPlugins:`Konfigurace pluginů`,configModules:`Konfigurace modulů`},texts:{loadingAudioConfig:`Načítání konfigurace zvuku...`,loadingDisplayConfig:`Načítání konfigurace displeje...`,loadingLanguageConfig:`Načítání konfigurace jazyka...`,loadingWeatherConfig:`Načítání konfigurace počasí...`,loadingSystemConfig:`Načítání konfigurace systému...`,loadingPluginConfig:`Načítání konfigurace pluginu...`,loadingModuleConfig:`Načítání konfigurace modulu...`,misc:{confirmDiscard:`Máte neuložené změny. Opravdu je chcete zahodit?`},secret:{stored:`Hodnota je uložena. Zadejte novou pro její nahrazení.`,willBeRemoved:`Uložená hodnota bude po uložení odstraněna.`}},fields:{speaker:{title:`Reproduktor`,placeholder:`Povolit nebo zakázat reproduktor`,values:{enabled:`Povoleno`,disabled:`Zakázáno`}},speakerVolume:{title:`Hlasitost reproduktoru`},microphone:{title:`Mikrofon`,placeholder:`Povolit nebo zakázat mikrofon`,values:{enabled:`Povoleno`,disabled:`Zakázáno`}},microphoneVolume:{title:`Hlasitost mikrofonu`},darkMode:{title:`Režim vzhledu`,placeholder:`Zvolte mezi světlým a tmavým režimem`,values:{dark:`Tmavý`,light:`Světlý`}},brightness:{title:`Jas`},screenLockDuration:{title:`Zámek obrazovky`,placeholder:`Nastavte prodlevu zámku obrazovky`,values:{enabled:`Povoleno`,disabled:`Zakázáno`}},screenSaver:{title:`Spořič obrazovky`,placeholder:`Povolit nebo zakázat spořič obrazovky`,values:{enabled:`Povoleno`,disabled:`Zakázáno`}},language:{title:`Jazyk`,placeholder:`Vyberte preferovaný jazyk`},timezone:{title:`Časové pásmo`,placeholder:`Vyberte své časové pásmo`},timeFormat:{title:`Formát času`,placeholder:`Vyberte preferovaný formát času`},locationType:{title:`Typ lokace počasí`,placeholder:`Vyberte způsob načítání počasí`},coordinates:{title:`Souřadnice lokace`},latitude:{title:`Zeměpisná šířka`,placeholder:`Zeměpisná šířka`},longitude:{title:`Zeměpisná délka`,placeholder:`Zeměpisná délka`},cityName:{title:`Název města`,placeholder:`Zadejte název města, případně stát a kód země`},cityId:{title:`ID města`,placeholder:`Vyberte z podporovaných měst OpenWeather`},zipCode:{title:`PSČ`,placeholder:`Vyhledávání podle PSČ, případně kód země`},unit:{title:`Jednotka teploty`,placeholder:`Vyberte jednotku teploty`},openWeatherApiKey:{title:`API klíč Open Weather`,placeholder:`Váš API klíč služby Open Weather pro přístup k údajům o počasí`},logLevels:{title:`Úrovně logování`,placeholder:`Vyberte, které úrovně logování mají být sledovány`}},buttons:{save:{title:`Uložit`},myLocation:{title:`Moje poloha`},discard:{title:`Zahodit`},close:{title:`Zavřít`},retry:{title:`Opakovat`},yes:{title:`Ano`},no:{title:`Ne`},removeSecret:{title:`Odstranit`},keepSecret:{title:`Ponechat`}},languages:{en_US:`angličtina`,cs_CZ:`Česky`},timeFormats:{"12h":`12hodinový formát`,"24h":`24hodinový formát`},locationTypes:{lat_lon:`Souřadnice`,city_name:`Název města`,city_id:`ID města OpenWeather`,zip_code:`PSČ`},weatherUnits:{celsius:`Celsia`,fahrenheit:`Fahrenheita`},screenLockDurations:{"15s":`15s`,"30s":`30. léta`,"60s":`1 min`,"120s":`2 min`,"300s":`5 min`,"600s":`10 min`,"1800s":`30 min`,"0s":`Nikdy`},logLevels:{silent:`Tichý`,verbose:`Podrobný`,debug:`Ladit`,trace:`Stopa`,log:`Log`,info:`Info`,success:`Úspěch`,warn:`Varování`,error:`Chyba`,fail:`Selhání`,fatal:`Fatální`}},"de-DE":{menu:{title:`Konfiguration`,modules:`Module`,plugins:`Plugins`},meta:{config:{title:`Konfiguration`},configAudio:{title:`Audio-Konfiguration`},configDisplay:{title:`Display-Konfiguration`},configLanguage:{title:`Sprachkonfiguration`},configWeather:{title:`Wetter-Konfiguration`},configSystem:{title:`System-Konfiguration`},configPlugins:{title:`Plugin-Konfiguration`},configModules:{title:`Modul-Konfiguration`},configModuleEdit:{title:`Modul bearbeiten: {module}`},configPluginEdit:{title:`Plugin bearbeiten: {plugin}`}},breadcrumbs:{config:`Konfiguration`,configAudio:`Audio-Konfiguration`,configDisplay:`Display-Konfiguration`,configLanguage:`Sprachkonfiguration`,configWeather:`Wetter-Konfiguration`,configSystem:`System-Konfiguration`,configPlugins:`Plugin-Konfiguration`,configModules:`Modul-Konfiguration`},messages:{loadError:`Konfiguration konnte nicht geladen werden`,configAudio:{edited:`Änderungen gespeichert! Die Audio-Konfiguration wurde aktualisiert.`,notEdited:`Etwas ist schiefgelaufen. Die Aktualisierung der Audio-Konfiguration war nicht erfolgreich.`},configDisplay:{edited:`Änderungen gespeichert! Die Display-Konfiguration wurde aktualisiert.`,notEdited:`Etwas ist schiefgelaufen. Die Aktualisierung der Display-Konfiguration war nicht erfolgreich.`},configLanguage:{edited:`Änderungen gespeichert! Die Sprachkonfiguration wurde aktualisiert.`,notEdited:`Etwas ist schiefgelaufen. Die Aktualisierung der Sprachkonfiguration war nicht erfolgreich.`},configWeather:{edited:`Änderungen gespeichert! Die Wetter-Konfiguration wurde aktualisiert.`,notEdited:`Etwas ist schiefgelaufen. Die Aktualisierung der Wetter-Konfiguration war nicht erfolgreich.`},configSystem:{edited:`Änderungen gespeichert! Die System-Konfiguration wurde aktualisiert.`,notEdited:`Etwas ist schiefgelaufen. Die Aktualisierung der System-Konfiguration war nicht erfolgreich.`},configPlugin:{edited:`Änderungen gespeichert! Die Plugin-Konfiguration wurde aktualisiert.`,notEdited:`Etwas ist schiefgelaufen. Die Aktualisierung der Plugin-Konfiguration war nicht erfolgreich.`},configModule:{edited:`Änderungen gespeichert! Die Modul-Konfiguration wurde aktualisiert.`,notEdited:`Etwas ist schiefgelaufen. Die Aktualisierung der Modul-Konfiguration war nicht erfolgreich.`},moduleConfigNotFound:{title:`Modul-Konfiguration nicht gefunden`,message:`Die Konfiguration für das Modul "{module}" konnte nicht geladen werden. Bitte überprüfen Sie, ob das Modul ordnungsgemäß installiert und konfiguriert ist.`},moduleNotFound:{title:`Modul nicht gefunden`,message:`Modul "{module}" wurde im System nicht gefunden. Bitte überprüfen Sie, ob das Modul installiert und aktiviert ist.`},moduleElementNotFound:{title:`Modul-Element nicht registriert`,message:`Das Konfigurationselement für das Modul "{module}" ist nicht registriert. Dieses Modul unterstützt möglicherweise keine Konfigurationsbearbeitung.`},moduleComponentsNotFound:{message:`Das Modul "{module}" verfügt über keine Konfigurationskomponenten.`},moduleFormNotFound:{title:`Konfigurationsformular nicht verfügbar`,message:`Die Konfigurationsformularkomponente für das Modul "{module}" ist nicht verfügbar. Dieses Modul unterstützt möglicherweise keine Konfigurationsbearbeitung über die Benutzeroberfläche.`},pluginConfigNotFound:{title:`Plugin-Konfiguration nicht gefunden`,message:`Die Konfiguration für das Plugin "{plugin}" konnte nicht geladen werden. Bitte überprüfen Sie, ob das Plugin ordnungsgemäß installiert und konfiguriert ist.`},pluginNotFound:{title:`Plugin nicht gefunden`,message:`Plugin "{plugin}" wurde im System nicht gefunden. Bitte überprüfen Sie, ob das Plugin installiert und aktiviert ist.`},pluginElementNotFound:{title:`Plugin-Element nicht registriert`,message:`Das Konfigurationselement für das Plugin "{plugin}" ist nicht registriert. Dieses Plugin unterstützt möglicherweise keine Konfigurationsbearbeitung.`},pluginComponentsNotFound:{message:`Das Plugin "{plugin}" verfügt über keine Konfigurationskomponenten.`},pluginFormNotFound:{title:`Konfigurationsformular nicht verfügbar`,message:`Die Konfigurationsformularkomponente für das Plugin "{plugin}" ist nicht verfügbar. Dieses Plugin unterstützt möglicherweise keine Konfigurationsbearbeitung über die Benutzeroberfläche.`}},headings:{config:`Konfiguration`,misc:{discard:`Änderungen verwerfen`}},subHeadings:{config:`Smart Panel Konfiguration`,configModule:`Modul-Konfiguration`,configPlugin:`Plugin-Konfiguration`},tabs:{configAudio:`Audio-Konfig.`,configDisplay:`Display-Konfig.`,configLanguage:`Sprach-Konfig.`,configWeather:`Wetter-Konfig.`,configSystem:`System-Konfig.`,configPlugins:`Plugin-Konfig.`,configModules:`Modul-Konfig.`},texts:{loadingAudioConfig:`Audio-Konfiguration wird geladen...`,loadingDisplayConfig:`Display-Konfiguration wird geladen...`,loadingLanguageConfig:`Sprachkonfiguration wird geladen...`,loadingWeatherConfig:`Wetter-Konfiguration wird geladen...`,loadingSystemConfig:`System-Konfiguration wird geladen...`,loadingPluginConfig:`Plugin-Konfiguration wird geladen...`,loadingModuleConfig:`Modul-Konfiguration wird geladen...`,misc:{confirmDiscard:`Sie haben ungespeicherte Änderungen. Möchten Sie diese wirklich verwerfen?`},secret:{stored:`Ein Wert ist gespeichert. Geben Sie einen neuen ein, um ihn zu ersetzen.`,willBeRemoved:`Der gespeicherte Wert wird beim Speichern entfernt.`}},fields:{speaker:{title:`Lautsprecher`,placeholder:`Lautsprecher aktivieren oder deaktivieren`,values:{enabled:`Aktiviert`,disabled:`Deaktiviert`}},speakerVolume:{title:`Lautsprecherlautstärke`},microphone:{title:`Mikrofon`,placeholder:`Mikrofon aktivieren oder deaktivieren`,values:{enabled:`Aktiviert`,disabled:`Deaktiviert`}},microphoneVolume:{title:`Mikrofonlautstärke`},darkMode:{title:`Designmodus`,placeholder:`Wählen Sie zwischen hellem und dunklem Modus`,values:{dark:`Dunkel`,light:`Hell`}},brightness:{title:`Helligkeit`},screenLockDuration:{title:`Bildschirmsperre`,placeholder:`Verzögerung der Bildschirmsperre festlegen`,values:{enabled:`Aktiviert`,disabled:`Deaktiviert`}},screenSaver:{title:`Bildschirmschoner`,placeholder:`Bildschirmschoner aktivieren oder deaktivieren`,values:{enabled:`Aktiviert`,disabled:`Deaktiviert`}},language:{title:`Sprache`,placeholder:`Wählen Sie Ihre bevorzugte Sprache`},timezone:{title:`Zeitzone`,placeholder:`Wählen Sie Ihre Zeitzone`},timeFormat:{title:`Zeitformat`,placeholder:`Wählen Sie Ihr bevorzugtes Zeitformat`},locationType:{title:`Wetter-Standorttyp`,placeholder:`Wählen Sie, wie das Wetter geladen wird`},coordinates:{title:`Standortkoordinaten`},latitude:{title:`Breitengrad`,placeholder:`Breitengrad`},longitude:{title:`Längengrad`,placeholder:`Längengrad`},cityName:{title:`Stadtname`,placeholder:`Stadtname eingeben, optional mit Bundesland und Ländercode`},cityId:{title:`Stadt-ID`,placeholder:`Von OpenWeather unterstützte Städte auswählen`},zipCode:{title:`Postleitzahl`,placeholder:`Nach PLZ suchen, optional mit Ländercode`},unit:{title:`Temperatureinheit`,placeholder:`Temperatureinheit auswählen`},openWeatherApiKey:{title:`Open Weather API-Schlüssel`,placeholder:`Ihr Open Weather Service API-Schlüssel für den Zugriff auf Wetterdaten`},logLevels:{title:`Protokollstufen`,placeholder:`Wählen Sie, welche Protokollstufen überwacht werden sollen`}},buttons:{save:{title:`Speichern`},myLocation:{title:`Mein Standort`},discard:{title:`Verwerfen`},close:{title:`Schließen`},retry:{title:`Wiederholen`},yes:{title:`Ja`},no:{title:`Nein`},removeSecret:{title:`Entfernen`},keepSecret:{title:`Behalten`}},languages:{en_US:`Englisch`,cs_CZ:`Tschechisch`},timeFormats:{"12h":`12-Stunden-Format`,"24h":`24-Stunden-Format`},locationTypes:{lat_lon:`Breiten- & Längengrad-Koordinaten`,city_name:`Stadtname`,city_id:`OpenWeather Stadt-ID`,zip_code:`Postleitzahl`},weatherUnits:{celsius:`Celsius`,fahrenheit:`Fahrenheit`},screenLockDurations:{"15s":`15s`,"30s":`30er Jahre`,"60s":`1min`,"120s":`2min`,"300s":`5min`,"600s":`10min`,"1800s":`30min`,"0s":`Nie`},logLevels:{silent:`Stumm`,verbose:`Ausführlich`,debug:`Debuggen`,trace:`Verfolgen`,log:`Protokoll`,info:`Info`,success:`Erfolg`,warn:`Warnung`,error:`Fehler`,fail:`Fehlgeschlagen`,fatal:`Tödlich`}},"en-US":{menu:{title:`Configuration`,modules:`Modules`,plugins:`Plugins`},meta:{config:{title:`Config`},configAudio:{title:`Audio config`},configDisplay:{title:`Display config`},configLanguage:{title:`Language config`},configWeather:{title:`Weather config`},configSystem:{title:`System config`},configPlugins:{title:`Plugins config`},configModules:{title:`Modules config`},configModuleEdit:{title:`Edit module: {module}`},configPluginEdit:{title:`Edit plugin: {plugin}`}},breadcrumbs:{config:`config`,configAudio:`audio config`,configDisplay:`display config`,configLanguage:`language config`,configWeather:`weather config`,configSystem:`system config`,configPlugins:`plugins config`,configModules:`modules config`},messages:{loadError:`Failed to load configuration`,configAudio:{edited:`Changes saved! The audio config has been updated.`,notEdited:`Something went wrong. Audio config update was not successful.`},configDisplay:{edited:`Changes saved! The display config has been updated.`,notEdited:`Something went wrong. Display config update was not successful.`},configLanguage:{edited:`Changes saved! The language config has been updated.`,notEdited:`Something went wrong. Language config update was not successful.`},configWeather:{edited:`Changes saved! The weather config has been updated.`,notEdited:`Something went wrong. Weather config update was not successful.`},configSystem:{edited:`Changes saved! The system config has been updated.`,notEdited:`Something went wrong. System config update was not successful.`},configPlugin:{edited:`Changes saved! The plugin config has been updated.`,notEdited:`Something went wrong. Plugin config update was not successful.`},configModule:{edited:`Changes saved! The module config has been updated.`,notEdited:`Something went wrong. Module config update was not successful.`},moduleConfigNotFound:{title:`Module Configuration Not Found`,message:`The configuration for module "{module}" could not be loaded. Please check if the module is properly installed and configured.`},moduleNotFound:{title:`Module Not Found`,message:`Module "{module}" was not found in the system. Please verify that the module is installed and enabled.`},moduleElementNotFound:{title:`Module Element Not Registered`,message:`The configuration element for module "{module}" is not registered. This module may not support configuration editing.`},moduleComponentsNotFound:{message:`The module "{module}" does not have any configuration components available.`},moduleFormNotFound:{title:`Configuration Form Not Available`,message:`The configuration form component for module "{module}" is not available. This module may not support configuration editing through the user interface.`},pluginConfigNotFound:{title:`Plugin Configuration Not Found`,message:`The configuration for plugin "{plugin}" could not be loaded. Please check if the plugin is properly installed and configured.`},pluginNotFound:{title:`Plugin Not Found`,message:`Plugin "{plugin}" was not found in the system. Please verify that the plugin is installed and enabled.`},pluginElementNotFound:{title:`Plugin Element Not Registered`,message:`The configuration element for plugin "{plugin}" is not registered. This plugin may not support configuration editing.`},pluginComponentsNotFound:{message:`The plugin "{plugin}" does not have any configuration components available.`},pluginFormNotFound:{title:`Configuration Form Not Available`,message:`The configuration form component for plugin "{plugin}" is not available. This plugin may not support configuration editing through the user interface.`}},headings:{config:`Configuration`,misc:{discard:`Discard Changes`}},subHeadings:{config:`Smart panel configuration`,configModule:`Module configuration`,configPlugin:`Plugin configuration`},tabs:{configAudio:`Audio config`,configDisplay:`Display config`,configLanguage:`Language config`,configWeather:`Weather config`,configSystem:`System config`,configPlugins:`Plugins config`,configModules:`Modules config`},texts:{loadingAudioConfig:`Loading audio config...`,loadingDisplayConfig:`Loading display config...`,loadingLanguageConfig:`Loading language config...`,loadingWeatherConfig:`Loading weather config...`,loadingSystemConfig:`Loading system config...`,loadingPluginConfig:`Loading plugin config...`,loadingModuleConfig:`Loading module config...`,misc:{confirmDiscard:`You have unsaved changes. Are you sure you want to discard them?`},secret:{stored:`A value is stored. Enter a new one to replace it.`,willBeRemoved:`The stored value will be removed when you save.`}},fields:{speaker:{title:`Speaker`,placeholder:`Enable or disable the speaker`,values:{enabled:`Enabled`,disabled:`Disabled`}},speakerVolume:{title:`Speaker volume`},microphone:{title:`Microphone`,placeholder:`Enable or disable the microphone`,values:{enabled:`Enabled`,disabled:`Disabled`}},microphoneVolume:{title:`Microphone volume`},darkMode:{title:`Theme mode`,placeholder:`Choose between light or dark mode`,values:{dark:`Dark`,light:`Light`}},brightness:{title:`Brightness`},screenLockDuration:{title:`Screen lock`,placeholder:`Set screen lock delay duration`,values:{enabled:`Enabled`,disabled:`Disabled`}},screenSaver:{title:`Screen Saver`,placeholder:`Enable or disable the screen saver`,values:{enabled:`Enabled`,disabled:`Disabled`}},language:{title:`Language`,placeholder:`Select your preferred language`},timezone:{title:`Timezone`,placeholder:`Select your timezone`},timeFormat:{title:`Time format`,placeholder:`Select your preferred time format`},locationType:{title:`Weather location type`,placeholder:`Select how the weather is loaded`},coordinates:{title:`Location coordinates`},latitude:{title:`Location latitude`,placeholder:`Latitude`},longitude:{title:`Location longitude`,placeholder:`Longitude`},cityName:{title:`Location city name`,placeholder:`Fill in city name, possible to add state and country code`},cityId:{title:`Location city ID`,placeholder:`Select OpenWeather supported cities`},zipCode:{title:`Location ZIP code`,placeholder:`Search by ZIP/Post code, possible to add country code`},unit:{title:`Temperature unit`,placeholder:`Select temperature unit`},openWeatherApiKey:{title:`Open weather API key`,placeholder:`Your Open weather service API key for accessing weather data`},logLevels:{title:`Log levels`,placeholder:`Select which log levels should be monitored`}},buttons:{save:{title:`Save`},myLocation:{title:`My location`},discard:{title:`Discard`},close:{title:`Close`},retry:{title:`Retry`},yes:{title:`Yes`},no:{title:`No`},removeSecret:{title:`Remove`},keepSecret:{title:`Keep it`}},languages:{en_US:`English`,cs_CZ:`Česky`},timeFormats:{"12h":`12 hour format`,"24h":`24 hour format`},locationTypes:{lat_lon:`Lat & Lon coordinates`,city_name:`City name`,city_id:`OpenWeather City ID`,zip_code:`ZIP code`},weatherUnits:{celsius:`Celsius`,fahrenheit:`Fahrenheit`},screenLockDurations:{"15s":`15s`,"30s":`30s`,"60s":`1min`,"120s":`2min`,"300s":`5min`,"600s":`10min`,"1800s":`30min`,"0s":`Never`},logLevels:{silent:`Silent`,verbose:`Verbose`,debug:`Debug`,trace:`Trace`,log:`Log`,info:`Info`,success:`Success`,warn:`Warn`,error:`Error`,fail:`Fail`,fatal:`Fatal`}},"es-ES":{menu:{title:`Configuración`,modules:`Módulos`,plugins:`Complementos`},meta:{config:{title:`Configuración`},configAudio:{title:`Configuración de audio`},configDisplay:{title:`Configuración de pantalla`},configLanguage:{title:`Configuración de idioma`},configWeather:{title:`Configuración del clima`},configSystem:{title:`Configuración del sistema`},configPlugins:{title:`Configuración de plugins`},configModules:{title:`Configuración de módulos`},configModuleEdit:{title:`Editar módulo: {module}`},configPluginEdit:{title:`Editar plugin: {plugin}`}},breadcrumbs:{config:`configuración`,configAudio:`configuración de audio`,configDisplay:`configuración de pantalla`,configLanguage:`configuración de idioma`,configWeather:`configuración del clima`,configSystem:`configuración del sistema`,configPlugins:`configuración de plugins`,configModules:`configuración de módulos`},messages:{loadError:`Error al cargar la configuración`,configAudio:{edited:`¡Cambios guardados! La configuración de audio ha sido actualizada.`,notEdited:`Algo salió mal. La actualización de la configuración de audio no fue exitosa.`},configDisplay:{edited:`¡Cambios guardados! La configuración de pantalla ha sido actualizada.`,notEdited:`Algo salió mal. La actualización de la configuración de pantalla no fue exitosa.`},configLanguage:{edited:`¡Cambios guardados! La configuración de idioma ha sido actualizada.`,notEdited:`Algo salió mal. La actualización de la configuración de idioma no fue exitosa.`},configWeather:{edited:`¡Cambios guardados! La configuración del clima ha sido actualizada.`,notEdited:`Algo salió mal. La actualización de la configuración del clima no fue exitosa.`},configSystem:{edited:`¡Cambios guardados! La configuración del sistema ha sido actualizada.`,notEdited:`Algo salió mal. La actualización de la configuración del sistema no fue exitosa.`},configPlugin:{edited:`¡Cambios guardados! La configuración del plugin ha sido actualizada.`,notEdited:`Algo salió mal. La actualización de la configuración del plugin no fue exitosa.`},configModule:{edited:`¡Cambios guardados! La configuración del módulo ha sido actualizada.`,notEdited:`Algo salió mal. La actualización de la configuración del módulo no fue exitosa.`},moduleConfigNotFound:{title:`Configuración del módulo no encontrada`,message:`No se pudo cargar la configuración del módulo "{module}". Por favor, verifica que el módulo esté correctamente instalado y configurado.`},moduleNotFound:{title:`Módulo no encontrado`,message:`El módulo "{module}" no fue encontrado en el sistema. Por favor, verifica que el módulo esté instalado y activado.`},moduleElementNotFound:{title:`Elemento del módulo no registrado`,message:`El elemento de configuración del módulo "{module}" no está registrado. Este módulo puede no soportar la edición de configuración.`},moduleComponentsNotFound:{message:`El módulo "{module}" no tiene componentes de configuración disponibles.`},moduleFormNotFound:{title:`Formulario de configuración no disponible`,message:`El componente de formulario de configuración del módulo "{module}" no está disponible. Este módulo puede no soportar la edición de configuración a través de la interfaz de usuario.`},pluginConfigNotFound:{title:`Configuración del plugin no encontrada`,message:`No se pudo cargar la configuración del plugin "{plugin}". Por favor, verifica que el plugin esté correctamente instalado y configurado.`},pluginNotFound:{title:`Plugin no encontrado`,message:`El plugin "{plugin}" no fue encontrado en el sistema. Por favor, verifica que el plugin esté instalado y activado.`},pluginElementNotFound:{title:`Elemento del plugin no registrado`,message:`El elemento de configuración del plugin "{plugin}" no está registrado. Este plugin puede no soportar la edición de configuración.`},pluginComponentsNotFound:{message:`El plugin "{plugin}" no tiene componentes de configuración disponibles.`},pluginFormNotFound:{title:`Formulario de configuración no disponible`,message:`El componente de formulario de configuración del plugin "{plugin}" no está disponible. Este plugin puede no soportar la edición de configuración a través de la interfaz de usuario.`}},headings:{config:`Configuración`,misc:{discard:`Descartar cambios`}},subHeadings:{config:`Configuración del panel inteligente`,configModule:`Configuración del módulo`,configPlugin:`Configuración del plugin`},tabs:{configAudio:`Configuración de audio`,configDisplay:`Configuración de pantalla`,configLanguage:`Configuración de idioma`,configWeather:`Configuración del clima`,configSystem:`Configuración del sistema`,configPlugins:`Configuración de plugins`,configModules:`Configuración de módulos`},texts:{loadingAudioConfig:`Cargando configuración de audio...`,loadingDisplayConfig:`Cargando configuración de pantalla...`,loadingLanguageConfig:`Cargando configuración de idioma...`,loadingWeatherConfig:`Cargando configuración del clima...`,loadingSystemConfig:`Cargando configuración del sistema...`,loadingPluginConfig:`Cargando configuración del plugin...`,loadingModuleConfig:`Cargando configuración del módulo...`,misc:{confirmDiscard:`Tienes cambios sin guardar. ¿Estás seguro de que deseas descartarlos?`},secret:{stored:`Hay un valor guardado. Introduce uno nuevo para reemplazarlo.`,willBeRemoved:`El valor guardado se eliminará al guardar.`}},fields:{speaker:{title:`Altavoz`,placeholder:`Activar o desactivar el altavoz`,values:{enabled:`Activado`,disabled:`Desactivado`}},speakerVolume:{title:`Volumen del altavoz`},microphone:{title:`Micrófono`,placeholder:`Activar o desactivar el micrófono`,values:{enabled:`Activado`,disabled:`Desactivado`}},microphoneVolume:{title:`Volumen del micrófono`},darkMode:{title:`Modo de tema`,placeholder:`Elegir entre modo claro u oscuro`,values:{dark:`Oscuro`,light:`Claro`}},brightness:{title:`Brillo`},screenLockDuration:{title:`Bloqueo de pantalla`,placeholder:`Establecer duración del retraso de bloqueo de pantalla`,values:{enabled:`Activado`,disabled:`Desactivado`}},screenSaver:{title:`Protector de pantalla`,placeholder:`Activar o desactivar el protector de pantalla`,values:{enabled:`Activado`,disabled:`Desactivado`}},language:{title:`Idioma`,placeholder:`Selecciona tu idioma preferido`},timezone:{title:`Zona horaria`,placeholder:`Selecciona tu zona horaria`},timeFormat:{title:`Formato de hora`,placeholder:`Selecciona tu formato de hora preferido`},locationType:{title:`Tipo de ubicación del clima`,placeholder:`Selecciona cómo se carga el clima`},coordinates:{title:`Coordenadas de ubicación`},latitude:{title:`Latitud de ubicación`,placeholder:`Latitud`},longitude:{title:`Longitud de ubicación`,placeholder:`Longitud`},cityName:{title:`Nombre de la ciudad`,placeholder:`Ingresa el nombre de la ciudad, posible agregar estado y código de país`},cityId:{title:`ID de la ciudad`,placeholder:`Selecciona ciudades compatibles con OpenWeather`},zipCode:{title:`Código postal`,placeholder:`Buscar por código postal, posible agregar código de país`},unit:{title:`Unidad de temperatura`,placeholder:`Selecciona unidad de temperatura`},openWeatherApiKey:{title:`Clave API de Open Weather`,placeholder:`Tu clave API del servicio Open Weather para acceder a datos meteorológicos`},logLevels:{title:`Niveles de registro`,placeholder:`Selecciona qué niveles de registro deben ser monitoreados`}},buttons:{save:{title:`Guardar`},myLocation:{title:`Mi ubicación`},discard:{title:`Descartar`},close:{title:`Cerrar`},retry:{title:`Reintentar`},yes:{title:`Sí`},no:{title:`No`},removeSecret:{title:`Eliminar`},keepSecret:{title:`Conservar`}},languages:{en_US:`Inglés`,cs_CZ:`Český`},timeFormats:{"12h":`Formato de 12 horas`,"24h":`Formato de 24 horas`},locationTypes:{lat_lon:`Coordenadas lat. y lon.`,city_name:`Nombre de la ciudad`,city_id:`ID de ciudad de OpenWeather`,zip_code:`Código postal`},weatherUnits:{celsius:`Celsius`,fahrenheit:`Fahrenheit`},screenLockDurations:{"15s":`15`,"30s":`30 años`,"60s":`1 minuto`,"120s":`2 minutos`,"300s":`5 minutos`,"600s":`10 minutos`,"1800s":`30 minutos`,"0s":`Nunca`},logLevels:{silent:`Silencioso`,verbose:`Detallado`,debug:`Depuración`,trace:`Rastreo`,log:`Registro`,info:`Información`,success:`Éxito`,warn:`Advertencia`,error:`Error`,fail:`Fallo`,fatal:`Fatal`}},"pl-PL":{menu:{title:`Konfiguracja`,modules:`Moduły`,plugins:`Wtyczki`},meta:{config:{title:`Konfiguracja`},configAudio:{title:`Konfiguracja audio`},configDisplay:{title:`Konfiguracja wyświetlacza`},configLanguage:{title:`Konfiguracja języka`},configWeather:{title:`Konfiguracja pogody`},configSystem:{title:`Konfiguracja systemu`},configPlugins:{title:`Konfiguracja wtyczek`},configModules:{title:`Konfiguracja modułów`},configModuleEdit:{title:`Edytuj moduł: {module}`},configPluginEdit:{title:`Edytuj wtyczkę: {plugin}`}},breadcrumbs:{config:`konfiguracja`,configAudio:`konfiguracja audio`,configDisplay:`konfiguracja wyświetlacza`,configLanguage:`konfiguracja języka`,configWeather:`konfiguracja pogody`,configSystem:`konfiguracja systemu`,configPlugins:`konfiguracja wtyczek`,configModules:`konfiguracja modułów`},messages:{loadError:`Nie udało się wczytać konfiguracji`,configAudio:{edited:`Zmiany zapisane! Konfiguracja audio została zaktualizowana.`,notEdited:`Coś poszło nie tak. Aktualizacja konfiguracji audio nie powiodła się.`},configDisplay:{edited:`Zmiany zapisane! Konfiguracja wyświetlacza została zaktualizowana.`,notEdited:`Coś poszło nie tak. Aktualizacja konfiguracji wyświetlacza nie powiodła się.`},configLanguage:{edited:`Zmiany zapisane! Konfiguracja języka została zaktualizowana.`,notEdited:`Coś poszło nie tak. Aktualizacja konfiguracji języka nie powiodła się.`},configWeather:{edited:`Zmiany zapisane! Konfiguracja pogody została zaktualizowana.`,notEdited:`Coś poszło nie tak. Aktualizacja konfiguracji pogody nie powiodła się.`},configSystem:{edited:`Zmiany zapisane! Konfiguracja systemu została zaktualizowana.`,notEdited:`Coś poszło nie tak. Aktualizacja konfiguracji systemu nie powiodła się.`},configPlugin:{edited:`Zmiany zapisane! Konfiguracja wtyczki została zaktualizowana.`,notEdited:`Coś poszło nie tak. Aktualizacja konfiguracji wtyczki nie powiodła się.`},configModule:{edited:`Zmiany zapisane! Konfiguracja modułu została zaktualizowana.`,notEdited:`Coś poszło nie tak. Aktualizacja konfiguracji modułu nie powiodła się.`},moduleConfigNotFound:{title:`Konfiguracja modułu nie znaleziona`,message:`Nie udało się wczytać konfiguracji modułu "{module}". Sprawdź, czy moduł jest poprawnie zainstalowany i skonfigurowany.`},moduleNotFound:{title:`Moduł nie znaleziony`,message:`Moduł "{module}" nie został znaleziony w systemie. Sprawdź, czy moduł jest zainstalowany i włączony.`},moduleElementNotFound:{title:`Element modułu nie zarejestrowany`,message:`Element konfiguracji modułu "{module}" nie jest zarejestrowany. Ten moduł może nie obsługiwać edycji konfiguracji.`},moduleComponentsNotFound:{message:`Moduł "{module}" nie posiada dostępnych komponentów konfiguracji.`},moduleFormNotFound:{title:`Formularz konfiguracji niedostępny`,message:`Komponent formularza konfiguracji modułu "{module}" nie jest dostępny. Ten moduł może nie obsługiwać edycji konfiguracji przez interfejs użytkownika.`},pluginConfigNotFound:{title:`Konfiguracja wtyczki nie znaleziona`,message:`Nie udało się wczytać konfiguracji wtyczki "{plugin}". Sprawdź, czy wtyczka jest poprawnie zainstalowana i skonfigurowana.`},pluginNotFound:{title:`Wtyczka nie znaleziona`,message:`Wtyczka "{plugin}" nie została znaleziona w systemie. Sprawdź, czy wtyczka jest zainstalowana i włączona.`},pluginElementNotFound:{title:`Element wtyczki nie zarejestrowany`,message:`Element konfiguracji wtyczki "{plugin}" nie jest zarejestrowany. Ta wtyczka może nie obsługiwać edycji konfiguracji.`},pluginComponentsNotFound:{message:`Wtyczka "{plugin}" nie posiada dostępnych komponentów konfiguracji.`},pluginFormNotFound:{title:`Formularz konfiguracji niedostępny`,message:`Komponent formularza konfiguracji wtyczki "{plugin}" nie jest dostępny. Ta wtyczka może nie obsługiwać edycji konfiguracji przez interfejs użytkownika.`}},headings:{config:`Konfiguracja`,misc:{discard:`Odrzuć zmiany`}},subHeadings:{config:`Konfiguracja smart panelu`,configModule:`Konfiguracja modułu`,configPlugin:`Konfiguracja wtyczki`},tabs:{configAudio:`Konfiguracja audio`,configDisplay:`Konfiguracja wyświetlacza`,configLanguage:`Konfiguracja języka`,configWeather:`Konfiguracja pogody`,configSystem:`Konfiguracja systemu`,configPlugins:`Konfiguracja wtyczek`,configModules:`Konfiguracja modułów`},texts:{loadingAudioConfig:`Ładowanie konfiguracji audio...`,loadingDisplayConfig:`Ładowanie konfiguracji wyświetlacza...`,loadingLanguageConfig:`Ładowanie konfiguracji języka...`,loadingWeatherConfig:`Ładowanie konfiguracji pogody...`,loadingSystemConfig:`Ładowanie konfiguracji systemu...`,loadingPluginConfig:`Ładowanie konfiguracji wtyczki...`,loadingModuleConfig:`Ładowanie konfiguracji modułu...`,misc:{confirmDiscard:`Masz niezapisane zmiany. Czy na pewno chcesz je odrzucić?`},secret:{stored:`Wartość jest zapisana. Wprowadź nową, aby ją zastąpić.`,willBeRemoved:`Zapisana wartość zostanie usunięta po zapisaniu.`}},fields:{speaker:{title:`Głośnik`,placeholder:`Włącz lub wyłącz głośnik`,values:{enabled:`Włączony`,disabled:`Wyłączony`}},speakerVolume:{title:`Głośność głośnika`},microphone:{title:`Mikrofon`,placeholder:`Włącz lub wyłącz mikrofon`,values:{enabled:`Włączony`,disabled:`Wyłączony`}},microphoneVolume:{title:`Głośność mikrofonu`},darkMode:{title:`Tryb motywu`,placeholder:`Wybierz tryb jasny lub ciemny`,values:{dark:`Ciemny`,light:`Jasny`}},brightness:{title:`Jasność`},screenLockDuration:{title:`Blokada ekranu`,placeholder:`Ustaw opóźnienie blokady ekranu`,values:{enabled:`Włączony`,disabled:`Wyłączony`}},screenSaver:{title:`Wygaszacz ekranu`,placeholder:`Włącz lub wyłącz wygaszacz ekranu`,values:{enabled:`Włączony`,disabled:`Wyłączony`}},language:{title:`Język`,placeholder:`Wybierz preferowany język`},timezone:{title:`Strefa czasowa`,placeholder:`Wybierz strefę czasową`},timeFormat:{title:`Format czasu`,placeholder:`Wybierz preferowany format czasu`},locationType:{title:`Typ lokalizacji pogody`,placeholder:`Wybierz sposób pobierania pogody`},coordinates:{title:`Współrzędne lokalizacji`},latitude:{title:`Szerokość geograficzna`,placeholder:`Szerokość geograficzna`},longitude:{title:`Długość geograficzna`,placeholder:`Długość geograficzna`},cityName:{title:`Nazwa miasta`,placeholder:`Wpisz nazwę miasta, możliwe dodanie stanu i kodu kraju`},cityId:{title:`ID miasta lokalizacji`,placeholder:`Wybierz miasta obsługiwane przez OpenWeather`},zipCode:{title:`Kod pocztowy lokalizacji`,placeholder:`Wyszukaj po kodzie pocztowym, możliwe dodanie kodu kraju`},unit:{title:`Jednostka temperatury`,placeholder:`Wybierz jednostkę temperatury`},openWeatherApiKey:{title:`Klucz API Open Weather`,placeholder:`Twój klucz API usługi Open Weather do dostępu do danych pogodowych`},logLevels:{title:`Poziomy logowania`,placeholder:`Wybierz, które poziomy logowania mają być monitorowane`}},buttons:{save:{title:`Zapisz`},myLocation:{title:`Moja lokalizacja`},discard:{title:`Odrzuć`},close:{title:`Zamknij`},retry:{title:`Ponów`},yes:{title:`Tak`},no:{title:`Nie`},removeSecret:{title:`Usuń`},keepSecret:{title:`Zachowaj`}},languages:{en_US:`angielski`,cs_CZ:`Czeski`},timeFormats:{"12h":`Format 12-godzinny`,"24h":`Format 24-godzinny`},locationTypes:{lat_lon:`Współrzędne geograficzne`,city_name:`Nazwa miasta`,city_id:`ID miasta OpenWeather`,zip_code:`Kod pocztowy`},weatherUnits:{celsius:`Celsjusz`,fahrenheit:`Fahrenheita`},screenLockDurations:{"15s":`15 s`,"30s":`lata 30`,"60s":`1min`,"120s":`2 minuty`,"300s":`5 minut`,"600s":`10 minut`,"1800s":`30 minut`,"0s":`Nigdy`},logLevels:{silent:`Cichy`,verbose:`Szczegółowy`,debug:`Odpluskwić`,trace:`Namierzać`,log:`Dziennik`,info:`Informacje`,success:`Sukces`,warn:`Ostrzeżenie`,error:`Błąd`,fail:`Niepowodzenie`,fatal:`Krytyczny`}},"sk-SK":{menu:{title:`Konfigurácia`,modules:`Moduly`,plugins:`Pluginy`},meta:{config:{title:`Konfigurácia`},configAudio:{title:`Konfigurácia zvuku`},configDisplay:{title:`Konfigurácia displeja`},configLanguage:{title:`Konfigurácia jazyka`},configWeather:{title:`Konfigurácia počasia`},configSystem:{title:`Konfigurácia systému`},configPlugins:{title:`Konfigurácia pluginov`},configModules:{title:`Konfigurácia modulov`},configModuleEdit:{title:`Upraviť modul: {module}`},configPluginEdit:{title:`Upraviť plugin: {plugin}`}},breadcrumbs:{config:`konfigurácia`,configAudio:`konfigurácia zvuku`,configDisplay:`konfigurácia displeja`,configLanguage:`konfigurácia jazyka`,configWeather:`konfigurácia počasia`,configSystem:`konfigurácia systému`,configPlugins:`konfigurácia pluginov`,configModules:`konfigurácia modulov`},messages:{loadError:`Nepodarilo sa načítať konfiguráciu`,configAudio:{edited:`Zmeny uložené! Konfigurácia zvuku bola aktualizovaná.`,notEdited:`Niečo sa pokazilo. Aktualizácia konfigurácie zvuku nebola úspešná.`},configDisplay:{edited:`Zmeny uložené! Konfigurácia displeja bola aktualizovaná.`,notEdited:`Niečo sa pokazilo. Aktualizácia konfigurácie displeja nebola úspešná.`},configLanguage:{edited:`Zmeny uložené! Konfigurácia jazyka bola aktualizovaná.`,notEdited:`Niečo sa pokazilo. Aktualizácia konfigurácie jazyka nebola úspešná.`},configWeather:{edited:`Zmeny uložené! Konfigurácia počasia bola aktualizovaná.`,notEdited:`Niečo sa pokazilo. Aktualizácia konfigurácie počasia nebola úspešná.`},configSystem:{edited:`Zmeny uložené! Konfigurácia systému bola aktualizovaná.`,notEdited:`Niečo sa pokazilo. Aktualizácia konfigurácie systému nebola úspešná.`},configPlugin:{edited:`Zmeny uložené! Konfigurácia pluginu bola aktualizovaná.`,notEdited:`Niečo sa pokazilo. Aktualizácia konfigurácie pluginu nebola úspešná.`},configModule:{edited:`Zmeny uložené! Konfigurácia modulu bola aktualizovaná.`,notEdited:`Niečo sa pokazilo. Aktualizácia konfigurácie modulu nebola úspešná.`},moduleConfigNotFound:{title:`Konfigurácia modulu nebola nájdená`,message:`Konfiguráciu modulu "{module}" sa nepodarilo načítať. Skontrolujte, či je modul správne nainštalovaný a nakonfigurovaný.`},moduleNotFound:{title:`Modul nebol nájdený`,message:`Modul "{module}" nebol nájdený v systéme. Overte, či je modul nainštalovaný a povolený.`},moduleElementNotFound:{title:`Element modulu nie je zaregistrovaný`,message:`Konfiguračný element pre modul "{module}" nie je zaregistrovaný. Tento modul nemusí podporovať úpravu konfigurácie.`},moduleComponentsNotFound:{message:`Modul "{module}" nemá dostupné žiadne konfiguračné komponenty.`},moduleFormNotFound:{title:`Konfiguračný formulár nie je dostupný`,message:`Komponent konfiguračného formulára pre modul "{module}" nie je dostupný. Tento modul nemusí podporovať úpravu konfigurácie cez používateľské rozhranie.`},pluginConfigNotFound:{title:`Konfigurácia pluginu nebola nájdená`,message:`Konfiguráciu pluginu "{plugin}" sa nepodarilo načítať. Skontrolujte, či je plugin správne nainštalovaný a nakonfigurovaný.`},pluginNotFound:{title:`Plugin nebol nájdený`,message:`Plugin "{plugin}" nebol nájdený v systéme. Overte, či je plugin nainštalovaný a povolený.`},pluginElementNotFound:{title:`Element pluginu nie je zaregistrovaný`,message:`Konfiguračný element pre plugin "{plugin}" nie je zaregistrovaný. Tento plugin nemusí podporovať úpravu konfigurácie.`},pluginComponentsNotFound:{message:`Plugin "{plugin}" nemá dostupné žiadne konfiguračné komponenty.`},pluginFormNotFound:{title:`Konfiguračný formulár nie je dostupný`,message:`Komponent konfiguračného formulára pre plugin "{plugin}" nie je dostupný. Tento plugin nemusí podporovať úpravu konfigurácie cez používateľské rozhranie.`}},headings:{config:`Konfigurácia`,misc:{discard:`Zahodiť zmeny`}},subHeadings:{config:`Konfigurácia smart panelu`,configModule:`Konfigurácia modulu`,configPlugin:`Konfigurácia pluginu`},tabs:{configAudio:`Konfigurácia zvuku`,configDisplay:`Konfigurácia displeja`,configLanguage:`Konfigurácia jazyka`,configWeather:`Konfigurácia počasia`,configSystem:`Konfigurácia systému`,configPlugins:`Konfigurácia pluginov`,configModules:`Konfigurácia modulov`},texts:{loadingAudioConfig:`Načítavanie konfigurácie zvuku...`,loadingDisplayConfig:`Načítavanie konfigurácie displeja...`,loadingLanguageConfig:`Načítavanie konfigurácie jazyka...`,loadingWeatherConfig:`Načítavanie konfigurácie počasia...`,loadingSystemConfig:`Načítavanie konfigurácie systému...`,loadingPluginConfig:`Načítavanie konfigurácie pluginu...`,loadingModuleConfig:`Načítavanie konfigurácie modulu...`,misc:{confirmDiscard:`Máte neuložené zmeny. Naozaj ich chcete zahodiť?`},secret:{stored:`Hodnota je uložená. Zadajte novú na jej nahradenie.`,willBeRemoved:`Uložená hodnota sa po uložení odstráni.`}},fields:{speaker:{title:`Reproduktor`,placeholder:`Povoliť alebo zakázať reproduktor`,values:{enabled:`Povolený`,disabled:`Zakázaný`}},speakerVolume:{title:`Hlasitosť reproduktora`},microphone:{title:`Mikrofón`,placeholder:`Povoliť alebo zakázať mikrofón`,values:{enabled:`Povolený`,disabled:`Zakázaný`}},microphoneVolume:{title:`Hlasitosť mikrofónu`},darkMode:{title:`Režim témy`,placeholder:`Vyberte si medzi svetlým a tmavým režimom`,values:{dark:`Tmavý`,light:`Svetlý`}},brightness:{title:`Jas`},screenLockDuration:{title:`Uzamknutie obrazovky`,placeholder:`Nastaviť oneskorenie uzamknutia obrazovky`,values:{enabled:`Povolené`,disabled:`Zakázané`}},screenSaver:{title:`Šetrič obrazovky`,placeholder:`Povoliť alebo zakázať šetrič obrazovky`,values:{enabled:`Povolený`,disabled:`Zakázaný`}},language:{title:`Jazyk`,placeholder:`Vyberte svoj preferovaný jazyk`},timezone:{title:`Časové pásmo`,placeholder:`Vyberte svoje časové pásmo`},timeFormat:{title:`Formát času`,placeholder:`Vyberte svoj preferovaný formát času`},locationType:{title:`Typ polohy počasia`,placeholder:`Vyberte spôsob načítania počasia`},coordinates:{title:`Súradnice polohy`},latitude:{title:`Zemepisná šírka`,placeholder:`Zemepisná šírka`},longitude:{title:`Zemepisná dĺžka`,placeholder:`Zemepisná dĺžka`},cityName:{title:`Názov mesta`,placeholder:`Vyplňte názov mesta, je možné pridať štát a kód krajiny`},cityId:{title:`ID mesta`,placeholder:`Vyberte mestá podporované OpenWeather`},zipCode:{title:`PSČ`,placeholder:`Vyhľadávanie podľa PSČ, je možné pridať kód krajiny`},unit:{title:`Jednotka teploty`,placeholder:`Vyberte jednotku teploty`},openWeatherApiKey:{title:`API kľúč Open Weather`,placeholder:`Váš API kľúč služby Open Weather na prístup k údajom o počasí`},logLevels:{title:`Úrovne logovania`,placeholder:`Vyberte, ktoré úrovne logovania majú byť monitorované`}},buttons:{save:{title:`Uložiť`},myLocation:{title:`Moja poloha`},discard:{title:`Zahodiť`},close:{title:`Zavrieť`},retry:{title:`Skúsiť znova`},yes:{title:`Áno`},no:{title:`Nie`},removeSecret:{title:`Odstrániť`},keepSecret:{title:`Ponechať`}},languages:{en_US:`Angličtina`,cs_CZ:`Česky`},timeFormats:{"12h":`12-hodinový formát`,"24h":`24-hodinový formát`},locationTypes:{lat_lon:`Súradnice šírky a dĺžky`,city_name:`Názov mesta`,city_id:`OpenWeather ID mesta`,zip_code:`PSČ`},weatherUnits:{celsius:`Celzia`,fahrenheit:`Fahrenheita`},screenLockDurations:{"15s":`15s`,"30s":`30-te roky`,"60s":`1 min`,"120s":`2 min`,"300s":`5 min`,"600s":`10 min`,"1800s":`30 min`,"0s":`Nikdy`},logLevels:{silent:`Tichý`,verbose:`Podrobný`,debug:`Debug`,trace:`Trace`,log:`Log`,info:`Info`,success:`Úspech`,warn:`Varovanie`,error:`Chyba`,fail:`Zlyhanie`,fatal:`Fatálne`}}},pe=[{path:`config`,name:I.CONFIG,component:()=>M(()=>import(`./layout-config-D3Rl8nnp.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12])),meta:{guards:{authenticated:!0,roles:[u.admin,u.owner]},title:()=>f.global.t(`configModule.menu.title`),icon:`mdi:cog`,menu:2e3},redirect:()=>({name:I.CONFIG_MODULES}),children:[{path:`modules`,name:I.CONFIG_MODULES,component:()=>M(()=>import(`./view-config-modules-B5GC5QVM.js`),__vite__mapDeps([13,1,2,3,14,4,5,15,16,17,18,19,11,20])),props:!1,meta:{guards:{authenticated:!0,roles:[u.admin,u.owner]},title:()=>f.global.t(`configModule.menu.modules`),icon:`mdi:package-variant`,menu:4e3},children:[{path:`:module`,name:I.CONFIG_MODULE_EDIT,component:()=>M(()=>import(`./view-config-module-edit-DKx624EL.js`),__vite__mapDeps([21,1,2,3,14,4,5,22,23,11,24,25,18,19])),props:!0,meta:{guards:{authenticated:!0,roles:[u.admin,u.owner]}}}]},{path:`plugins`,name:I.CONFIG_PLUGINS,component:()=>M(()=>import(`./view-config-plugins-vIUqs1BF.js`),__vite__mapDeps([26,1,2,3,14,4,5,15,16,17,27,19,11,28])),props:!1,meta:{guards:{authenticated:!0,roles:[u.admin,u.owner]},title:()=>f.global.t(`configModule.menu.plugins`),icon:`mdi:toy-brick`,menu:3e3},children:[{path:`:plugin`,name:I.CONFIG_PLUGIN_EDIT,component:()=>M(()=>import(`./view-config-plugin-edit-D880lhC9.js`),__vite__mapDeps([29,1,2,3,14,4,5,22,23,11,30,27,19])),props:!0,meta:{guards:{authenticated:!0,roles:[u.admin,u.owner]}}}]}]}],H=class extends Error{exception;constructor(e,t=null){super(e),this.name=`ConfigException`,this.exception=t}},U=class extends H{code;constructor(e,t=null,n=null){super(e,n),this.name=`ConfigApiException`,this.code=t}},W=class extends H{constructor(e,t=null){super(e,t),this.name=`ConfigValidationException`}},G=x({type:P(),enabled:k().default(!1)});x({fetching:x({items:k().default(!1),item:E(P())}),updating:E(P())}),x({type:P(),data:y({})}),x({data:x({type:P()})}),x({type:P(),force:k().optional()});var me=x({data:x({type:P()})}),K=x({type:P(),enabled:k().optional()}),he=x({type:P(),enabled:k()}),q=(e,t)=>{let n=t.safeParse(C(e));if(!n.success)throw A.error(`Schema validation failed with:`,n.error),new W(`Failed to validate received module config data.`);return n.data},ge=(e,t)=>{let n=t.safeParse(O(e));if(!n.success)throw A.error(`Schema validation failed with:`,n.error),new W(`Failed to validate update module config request.`);return n.data},_e={fetching:{items:!1,item:[]},updating:[]},ve=S(`config-module_config_module`,()=>{let e=D(),t=b(),{getElement:n}=ne(),i=r(_e),a=r(!1),o=r({}),s=()=>a.value,l=e=>i.value.fetching.item.includes(e),u=()=>i.value.fetching.items,d=()=>Object.values(o.value),f=e=>o.value[e]??null,p={},m={},h=0,g=()=>++h,_={},v={},y=e=>{v[e]=(v[e]??0)+1},x=e=>{let t=(v[e]??1)-1;t>0?v[e]=t:delete v[e]},S=e=>(v[e]??0)>0,C=new Set,w=(e,t=g())=>(_[e.type]??0)>t?o.value[e.type]??e:(_[e.type]=t,o.value[e.type]=e),E=e=>i.value.updating.includes(e),O=e=>{let t=n(e.type);return k({data:q(e.data,t?.schemas?.moduleConfigSchema||G)})},k=e=>{let r=n(e.data.type);if(o.value&&e.data.type in o.value){let n=(r?.schemas?.moduleConfigSchema||G).safeParse({...o.value[e.data.type],...e.data});if(!n.success)throw t.error(`Schema validation failed with:`,n.error),new W(`Failed to insert module configuration.`);return w(n.data)}let i=(r?.schemas?.moduleConfigSchema||G).safeParse(e.data);if(!i.success)throw t.error(`Schema validation failed with:`,i.error),new W(`Failed to insert module config.`);return o.value??={},w(i.data)},A=async t=>{let r=p[t.type];if(r&&!t.force)return r;let a=(async()=>{if(r&&await r.catch(()=>void 0),i.value.fetching.item.includes(t.type))throw new U(`Already getting module config.`);i.value.fetching.item.push(t.type);let a=g(),s=S(t.type);try{let{data:r,error:i,response:l}=await e.client.GET(`/${c}/${F}/config/module/{module}`,{params:{path:{module:t.type}}});if(r!==void 0){let e=n(r.data.type),i=q(r.data,e?.schemas?.moduleConfigSchema||G);return s?(t.force&&j(t.type),o.value[t.type]??i):w(i,a)}let u=`Failed to fetch module config.`;throw i&&(u=T(i,u)),new U(u,l.status)}finally{i.value.fetching.item=i.value.fetching.item.filter(e=>e!==t.type)}})();p[t.type]=a;try{return await a}finally{p[t.type]===a&&delete p[t.type]}},j=e=>{if(S(e)){C.add(e);return}A({type:e,force:!0}).catch(e=>{t.error(`Failed to re-read module config after a write settled`,e)})},M=async()=>{if(`all`in m)return m.all;let t=(async()=>{if(i.value.fetching.items)throw new U(`Already fetching modules config.`);i.value.fetching.items=!0;let t=g(),r=new Set(Object.keys(v));try{let{data:i,error:s,response:l}=await e.client.GET(`/${c}/${F}/config/modules`);if(i!==void 0){let e={};for(let a of i.data){let i=q(a,n(a.type)?.schemas?.moduleConfigSchema||G);if(r.has(i.type)||(_[i.type]??0)>t){let t=o.value[i.type];t&&(e[i.type]=t);continue}e[i.type]=i,_[i.type]=t}for(let[n,r]of Object.entries(_))r>t&&!(n in e)&&o.value[n]&&(e[n]=o.value[n]);for(let t of r)!(t in e)&&o.value[t]&&(e[t]=o.value[t]),j(t);let s=new Set([...Object.keys(o.value),...Object.keys(_),...Object.keys(p)]);for(let n of s)!(n in e)&&!r.has(n)&&(_[n]=t);return o.value=e,a.value=!0,Object.values(o.value)}let u=`Failed to fetch modules config.`;throw s&&(u=T(s,u)),new U(u,l.status)}finally{i.value.fetching.items=!1}})();m.all=t;try{return await t}finally{delete m.all}};return{isLoaded:()=>s()||d().length>0,refresh:()=>M(),semaphore:i,firstLoad:a,data:o,firstLoadFinished:s,getting:l,fetching:u,findAll:d,findByType:f,updating:E,onEvent:O,set:k,get:A,fetch:M,edit:async r=>{if(i.value.updating.includes(r.data.type))throw new H(`Module config is already being updated.`);if(!(r.data.type in o.value))throw new H(`Failed to get module config data to update.`);let a=me.safeParse(r);if(!a.success)throw t.error(`Schema validation failed with:`,a.error),new W(`Failed to edit module config.`);let s=n(r.data.type),l=(s?.schemas?.moduleConfigSchema||G).safeParse({...o.value[r.data.type],...(0,V.omitBy)(r.data,V.isUndefined)});if(!l.success)throw t.error(`Schema validation failed with:`,l.error),new W(`Failed to edit module.`);i.value.updating.push(r.data.type),w(l.data);let u=g();y(r.data.type);let d=!1,f=()=>{d||(d=!0,x(r.data.type),!S(r.data.type)&&C.delete(r.data.type)&&j(r.data.type))};try{let{data:t,error:n,response:i}=await e.client.PATCH(`/${c}/${F}/config/module/{module}`,{params:{path:{module:r.data.type}},body:{data:ge(l.data,s?.schemas?.moduleConfigUpdateReqSchema||K)}});if(f(),t!==void 0){let e=q(t.data,s?.schemas?.moduleConfigSchema||G);return w(e,u)}await A({type:r.data.type,force:!0});let a=`Failed to update module config.`;throw n&&(a=T(n,a)),new U(a,i.status)}finally{f(),i.value.updating=i.value.updating.filter(e=>e!==r.data.type)}}}}),ye=e=>ve(e),J=x({type:P(),enabled:k().default(!1)});x({fetching:x({items:k().default(!1),item:E(P())}),updating:E(P())}),x({type:P(),data:y({})}),x({data:x({type:P()})}),x({type:P(),force:k().optional()});var be=x({data:x({type:P()})}),Y=x({type:P(),enabled:k().optional()}),xe=x({type:P(),enabled:k()}),X=(e,t)=>{let n=t.safeParse(C(e));if(!n.success)throw A.error(`Schema validation failed with:`,n.error),new W(`Failed to validate received plugin config data.`);return n.data},Z=(e,t)=>{let n=t.safeParse(O(e));if(!n.success)throw A.error(`Schema validation failed with:`,n.error),new W(`Failed to validate update plugin config request.`);return n.data},Se={fetching:{items:!1,item:[]},updating:[]},Ce=S(`config-module_config_plugin`,()=>{let e=D(),t=b(),{getElement:n}=re(),i=r(Se),a=r(!1),o=r({}),s=()=>a.value,l=e=>i.value.fetching.item.includes(e),u=()=>i.value.fetching.items,d=()=>Object.values(o.value),f=e=>o.value[e]??null,p={},m={},h=0,g=()=>++h,_={},v={},y=e=>{v[e]=(v[e]??0)+1},x=e=>{let t=(v[e]??1)-1;t>0?v[e]=t:delete v[e]},S=e=>(v[e]??0)>0,C=new Set,w=(e,t=g())=>(_[e.type]??0)>t?o.value[e.type]??e:(_[e.type]=t,o.value[e.type]=e),E=e=>i.value.updating.includes(e),O=e=>{let t=n(e.type);return k({data:X(e.data,t?.schemas?.pluginConfigSchema||J)})},k=e=>{let r=n(e.data.type);if(o.value&&e.data.type in o.value){let n=(r?.schemas?.pluginConfigSchema||J).safeParse({...o.value[e.data.type],...e.data});if(!n.success)throw t.error(`Schema validation failed with:`,n.error),new W(`Failed to insert plugin configuration.`);return w(n.data)}let i=(r?.schemas?.pluginConfigSchema||J).safeParse(e.data);if(!i.success)throw t.error(`Schema validation failed with:`,i.error),new W(`Failed to insert plugin config.`);return o.value??={},w(i.data)},A=async t=>{let r=p[t.type];if(r&&!t.force)return r;let a=(async()=>{if(r&&await r.catch(()=>void 0),i.value.fetching.item.includes(t.type))throw new U(`Already getting plugin config.`);i.value.fetching.item.push(t.type);let a=g(),s=S(t.type);try{let{data:r,error:i,response:l}=await e.client.GET(`/${c}/${F}/config/plugin/{plugin}`,{params:{path:{plugin:t.type}}});if(r!==void 0){let e=n(r.data.type),i=X(r.data,e?.schemas?.pluginConfigSchema||J);return s?(t.force&&j(t.type),o.value[t.type]??i):w(i,a)}let u=`Failed to fetch plugin config.`;throw i&&(u=T(i,u)),new U(u,l.status)}finally{i.value.fetching.item=i.value.fetching.item.filter(e=>e!==t.type)}})();p[t.type]=a;try{return await a}finally{p[t.type]===a&&delete p[t.type]}},j=e=>{if(S(e)){C.add(e);return}A({type:e,force:!0}).catch(e=>{t.error(`Failed to re-read plugin config after a write settled`,e)})},M=async()=>{if(`all`in m)return m.all;let t=(async()=>{if(i.value.fetching.items)throw new U(`Already fetching plugins config.`);i.value.fetching.items=!0;let t=g(),r=new Set(Object.keys(v));try{let{data:i,error:s,response:l}=await e.client.GET(`/${c}/${F}/config/plugins`);if(i!==void 0){let e={};for(let a of i.data){let i=X(a,n(a.type)?.schemas?.pluginConfigSchema||J);if(r.has(i.type)||(_[i.type]??0)>t){let t=o.value[i.type];t&&(e[i.type]=t);continue}e[i.type]=i,_[i.type]=t}for(let[n,r]of Object.entries(_))r>t&&!(n in e)&&o.value[n]&&(e[n]=o.value[n]);for(let t of r)!(t in e)&&o.value[t]&&(e[t]=o.value[t]),j(t);let s=new Set([...Object.keys(o.value),...Object.keys(_),...Object.keys(p)]);for(let n of s)!(n in e)&&!r.has(n)&&(_[n]=t);return o.value=e,a.value=!0,Object.values(o.value)}let u=`Failed to fetch plugins config.`;throw s&&(u=T(s,u)),new U(u,l.status)}finally{i.value.fetching.items=!1}})();m.all=t;try{return await t}finally{delete m.all}};return{isLoaded:()=>s()||d().length>0,refresh:()=>M(),semaphore:i,firstLoad:a,data:o,firstLoadFinished:s,getting:l,fetching:u,findAll:d,findByType:f,updating:E,onEvent:O,set:k,get:A,fetch:M,edit:async r=>{if(i.value.updating.includes(r.data.type))throw new H(`Plugin config is already being updated.`);if(!(r.data.type in o.value))throw new H(`Failed to get plugin config data to update.`);let a=be.safeParse(r);if(!a.success)throw t.error(`Schema validation failed with:`,a.error),new W(`Failed to edit plugin config.`);let s=n(r.data.type),l=(s?.schemas?.pluginConfigSchema||J).safeParse({...o.value[r.data.type],...(0,V.omitBy)(r.data,V.isUndefined)});if(!l.success)throw t.error(`Schema validation failed with:`,l.error),new W(`Failed to edit tile.`);i.value.updating.push(r.data.type),w(l.data);let u=g();y(r.data.type);let d=!1,f=()=>{d||(d=!0,x(r.data.type),!S(r.data.type)&&C.delete(r.data.type)&&j(r.data.type))};try{let{data:t,error:n,response:i}=await e.client.PATCH(`/${c}/${F}/config/plugin/{plugin}`,{params:{path:{plugin:r.data.type}},body:{data:Z(l.data,s?.schemas?.pluginConfigUpdateReqSchema||Y)}});if(f(),t!==void 0){let e=X(t.data,s?.schemas?.pluginConfigSchema||J);return w(e,u)}await A({type:r.data.type,force:!0});let a=`Failed to update plugin config.`;throw n&&(a=T(n,a)),new U(a,i.status)}finally{f(),i.value.updating=i.value.updating.filter(e=>e!==r.data.type)}},validateConfig:async t=>{let r=n(t.data.type),i=(r?.schemas?.pluginConfigSchema||J).safeParse({...o.value[t.data.type],...(0,V.omitBy)(t.data,V.isUndefined)});if(!i.success)return{valid:!1,errors:[{message:`Local schema validation failed`}]};let{data:a,error:s}=await e.client.POST(`/${c}/${F}/config/plugin/{plugin}/validate`,{params:{path:{plugin:t.data.type}},body:{data:Z(i.data,r?.schemas?.pluginConfigUpdateReqSchema||Y)}});return a?a.data:s?{valid:!1,errors:[{message:T(s,`Validation request failed.`)??`Validation request failed`}]}:{valid:!1,errors:[{message:`Validation request failed`}]}}}}),we=e=>Ce(e),Te=(e,t)=>{let{configModulesStore:n,configPluginsStore:r,logger:i}=t;if(e?.event?.startsWith(`ConfigModule.`)&&!(e.payload===null||typeof e.payload!=`object`))switch(e.event){case oe.CONFIG_UPDATED:{let{source:t,type:a}=e.payload;if(typeof t!=`string`||t===``){i.warn(`Config change event carried no source:`,e.payload);break}a===`module`?n.get({type:t,force:!0}).catch(e=>{i.error(`Failed to refresh a module config after a change event`,e)}):a===`plugin`?r.get({type:t,force:!0}).catch(e=>{i.error(`Failed to refresh a plugin config after a change event`,e)}):i.warn(`Config change event carried an unknown target type:`,String(a));break}default:i.warn(`Unhandled config module event:`,e.event)}},Q=x({path:P().nonempty(),plugins:E(J.catchall(N())),modules:E(G.catchall(N()))});x({getting:k()}),x({data:x({path:P().nonempty(),plugins:E(J.catchall(N())),modules:E(G.catchall(N()))})}),x({data:x({path:P().nonempty(),plugins:E(J.catchall(N())),modules:E(G.catchall(N()))})}),x({path:P().nonempty(),plugins:E(x({type:P(),enabled:k()}).catchall(N())),modules:E(x({type:P(),enabled:k()}).catchall(N()))}).catchall(N());var Ee=e=>{let t=Q.safeParse(C(e));if(!t.success)throw A.error(`Schema validation failed with:`,t.error),new W(`Failed to validate received system config data.`);return t.data},De={getting:!1},Oe=S(`config-module_config_app`,()=>{let e=D(),n=b(),i=m(),a=r(De),o=r(!1),s=r(null),l=null,u=null,d=t(()=>(l??=p(i.getStore(_)).data,u??=p(i.getStore(j)).data,s.value===null?null:{path:s.value.path,plugins:Object.values(l.value),modules:Object.values(u.value)})),f=()=>o.value,h=()=>a.value.getting,g=null,v=e=>y({data:Ee(e.data)}),y=e=>{let t=Q.safeParse(e.data);if(!t.success)throw n.error(`Schema validation failed with:`,t.error),new W(`Failed to insert app config.`);let r=i.getStore(_),a=i.getStore(j);for(let e of t.data.plugins)r.set({data:e});for(let e of t.data.modules)a.set({data:e});return s.value={path:t.data.path},t.data},x=async()=>{if(g)return g;let t=(async()=>{if(a.value.getting)throw new U(`Already getting app config.`);a.value.getting=!0;try{let{data:t,error:n,response:r}=await e.client.GET(`/${c}/${F}/config`);if(t!==void 0){let e=Ee(t.data),n=i.getStore(_),r=i.getStore(j);for(let t of e.plugins)n.set({data:t});for(let t of e.modules)r.set({data:t});return s.value={path:e.path},e}let a=`Failed to fetch app config.`;throw n&&(a=T(n,a)),new U(a,r.status)}finally{a.value.getting=!1}})();g=t;try{return await t}finally{g=null}};return{isLoaded:()=>d.value!==null,refresh:()=>x(),semaphore:a,firstLoad:o,data:d,firstLoadFinished:f,getting:h,onEvent:v,set:y,get:x}}),ke=e=>Oe(e),Ae=Symbol(`FB-Module-Config`),je={install:(e,t)=>{let n=m(e),r=d(e),i=ee(e),a=te(e),o=B(e);for(let[e,n]of Object.entries(fe)){let r=(0,V.defaultsDeep)(t.i18n.global.getLocaleMessage(e),{configModule:n});t.i18n.global.setLocaleMessage(e,r)}let c=ke(t.store);e.provide(w,c),n.addStore(w,c),a.addModule(Ae,{type:se,name:`Configuration`,description:`Adjust system behaviour, appearance, language, and integrations.`,elements:[]});let l=we(t.store);e.provide(_,l),n.addStore(_,l);let u=ye(t.store);e.provide(j,u),n.addStore(j,u),t.router.getRoutes().find(e=>e.name===s.ROOT)&&pe.forEach(e=>{t.router.addRoute(s.ROOT,e)}),o.register(Ae,()=>R([c,u,l])),r.on(`event`,e=>Te(e,{configModulesStore:u,configPluginsStore:l,logger:i})),t.router.isReady().then(()=>{l.firstLoadFinished()===!1&&l.fetch().catch(()=>{}),u.firstLoadFinished()===!1&&u.fetch().catch(()=>{})})}};L.NONE,L.NONE;var Me=()=>{let e=m().getStore(w),{data:n,semaphore:r}=p(e);return{configApp:t(()=>n.value),isLoading:t(()=>n.value===null&&r.value.getting),fetchConfigApp:async()=>{await e.get()}}},Ne=G,Pe=({config:n,messages:s})=>{let c=m(),{module:l}=le({name:n.type}),u=t(()=>l.value?.elements?.find(e=>e.type===ae)),d=c.getStore(j),{t:f}=i(),p=v(),g=b(),_=r(L.NONE),y,x=a(n),S=h(e(x)),C=r(void 0),w=r(!1),T=async()=>{let e=s&&s.error?s.error:f(`configModule.messages.configModule.notEdited`);if(C.value.clearValidate(),!await C.value.validate())throw new W(`Form not valid`);let t=(u.value?.schemas?.moduleConfigEditFormSchema||Ne).safeParse(x);if(!t.success)throw g.error(`Schema validation failed with:`,t.error),new W(`Failed to validate create module model.`);_.value=L.WORKING;try{await d.edit({data:{...t.data,type:n.type}})}catch(t){throw _.value=L.ERROR,y=window.setTimeout(E,2e3),t instanceof U&&t.code===422?p.error(t.message):p.error(e),t}return _.value=L.OK,y=window.setTimeout(E,2e3),p.success(f(s&&s.success?s.success:`configModule.messages.configModule.edited`)),w.value=!1,`saved`},E=()=>{window.clearTimeout(y),_.value=L.NONE};return o(x,()=>{w.value=!(0,V.isEqual)(e(x),S)}),{model:x,formEl:C,formChanged:w,submit:T,clear:E,formResult:_}},Fe=()=>{let e=m().getStore(_),{firstLoad:n,semaphore:r}=p(e),i=t(()=>e.findAll()),a=async(t=!1)=>{s.value&&!t||await e.fetch()},o=t(()=>r.value.fetching.items||!n.value),s=t(()=>n.value);return{configPlugins:i,areLoading:o,loaded:s,enabled:t=>e.findByType(t)?.enabled??!1,fetchConfigPlugins:a}},$=x({type:P().trim().nonempty(),enabled:k().default(!1)}),Ie=({config:n,messages:s})=>{let c=m(),{plugin:l}=ce({name:n.type}),u=t(()=>l.value?.elements?.find(e=>e.type===ie)),d=c.getStore(_),{t:f}=i(),p=v(),g=b(),y=r(L.NONE),x,S=a(n),C=h(e(S)),w=r(void 0),T=r(!1),E=()=>{C=h(e(S)),T.value=!1},D=e=>{let t=S,n=e;for(let e of Object.keys(t))e in n||delete t[e];Object.assign(t,n)},O=async()=>{let e=s&&s.error?s.error:f(`configModule.messages.configPlugin.notEdited`);if(w.value.clearValidate(),!await w.value.validate())throw new W(`Form not valid`);let t=(u.value?.schemas?.pluginConfigEditFormSchema||$).safeParse(S);if(!t.success)throw g.error(`Schema validation failed with:`,t.error),new W(`Failed to validate create tile model.`);y.value=L.WORKING;let r;try{r=await d.edit({data:{...t.data,type:n.type}})}catch(t){throw y.value=L.ERROR,x=window.setTimeout(k,2e3),t instanceof U&&t.code===422?p.error(t.message):p.error(e),t}return D(r),E(),y.value=L.OK,x=window.setTimeout(k,2e3),p.success(f(s&&s.success?s.success:`configModule.messages.configPlugin.edited`)),`saved`},k=()=>{window.clearTimeout(x),y.value=L.NONE};return o(S,()=>{T.value=!(0,V.isEqual)(e(S),C)}),{model:S,formEl:w,formChanged:T,submit:O,clear:k,formResult:y,markSaved:E}};export{R as _,Ne as a,xe as c,he as d,G as f,de as g,B as h,Pe as i,J as l,ue as m,$ as n,Me as o,K as p,Fe as r,je as s,Ie as t,Y as u};
@@ -0,0 +1 @@
1
+ var e=`config`,t=`config-module`,n=`config`,r=`module`,i=`ConfigModule.`,a=function(e){return e.CONFIG_UPDATED=`ConfigModule.Configuration.Changed`,e}({}),o={CONFIG:`config_module-module`,CONFIG_PLUGINS:`config_module-config_plugins`,CONFIG_PLUGIN_EDIT:`config_module-config_plugin_edit`,CONFIG_MODULES:`config_module-config_modules`,CONFIG_MODULE_EDIT:`config_module-config_module_edit`},s=function(e){return e.NONE=`none`,e.WORKING=`working`,e.ERROR=`error`,e.OK=`ok`,e}({}),c=function(e){return e.DEFAULT=`default`,e.PHONE=`phone`,e}({});export{e as a,c,n as i,o as l,r as n,a as o,t as r,s,i as t};
@@ -0,0 +1,2 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/view-pages-FQaVAf16.js","assets/rolldown-runtime-QTnfLwEv.js","assets/icon-with-child-CgZMNB3F.js","assets/icon-with-child-1Kb-D21P.css","assets/vue-meta.esm-browser.min-C5z7o_np.js","assets/common-CoPMwt15.js","assets/common-BDejG8Ry.css","assets/drawer-BO0yGLCm.js","assets/use-dialog-Lvd-Ls2e.js","assets/keys-DgS2vm-E.js","assets/composables-fi_xPbcU.js","assets/config-Ca3KDCt_.js","assets/directive-D42ORGRu.js","assets/useModules-Cy3UIua6.js","assets/dist-DJgPCOr0.js","assets/config.constants-17QBQ_kF.js","assets/usePlugins-DQ7X6S0I.js","assets/usePlugin-CyWrOblJ.js","assets/useConfigModule-BnX1QBwr.js","assets/useModule-D1rm0Y0M.js","assets/schemas.utils-meRZzKVK.js","assets/types-DNTr_87G.js","assets/useDataSources-CP_5chvd.js","assets/usePage-CedKpB5s.js","assets/components-eOJrNmD_.js","assets/table-OOxB7eZ0.js","assets/_baseClone-BRvt9rE2.js","assets/checkbox-lYuDNNRW.js","assets/omit-oVmlMQup.js","assets/form-BXQzDd7P.js","assets/alert-T9nrEIYw.js","assets/input-number-BW5agJ92.js","assets/select-O4KysHta.js","assets/clamp-C5awl0Z9.js","assets/card-C50YgvLJ.js","assets/col-CS5z2SZI.js","assets/collapse-BU-5F3-c.js","assets/link-mE1gaRBg.js","assets/pagination-CjJxy65X.js","assets/keys-DExX7OfU.js","assets/composables-CnAm5-n0.js","assets/components-BhcKdzs8.js","assets/radio-CzhigJpe.js","assets/slider-BakOmJFk.js","assets/components-CwI4oc4h.js","assets/keys-DcE5nSGn.js","assets/useSpaces-Dl88_yBJ.js","assets/composables-p3aMxqQW.js","assets/keys-DghNVBR5.js","assets/components-DQG8YRnR.css","assets/composables-Cu-tDLXA.js","assets/useLocation-DapxyrCs.js","assets/weather.constants-_S0I_w_Q.js","assets/types-Bb21yq0P.js","assets/components-BGiFbtPn.css","assets/tile-edit-form-DCms-EXo.js","assets/tile-detail-DzmTEy7M.js","assets/list-data-sources-adjust-5-Pdok_s.js","assets/list-data-sources-adjust-REFqavw6.css","assets/select-data-source-plugin-CIr1ZUt3.js","assets/data-source-edit-form-TeVA0ZGT.js","assets/components-CjdlFz1u.css","assets/view-page-add-DKc0D-_Z.js","assets/useUuid-fukXwEj1.js","assets/common.constants-C6QiEtuS.js","assets/view-page-edit-CalSVnS8.js","assets/view-page--EqFsctG.js","assets/view-page-data-source-add-DmdPErHH.js","assets/dashboard.types-BL_StY9P.js","assets/view-page-data-source-edit-CfElv5SN.js","assets/view-tile-CyRM73cc.js","assets/view-tile-edit-DA2fNfYL.js","assets/view-tile-data-source-add-Dtxzfau1.js","assets/view-tile-data-source-edit-BUgUtQup.js","assets/view-page-plugin-COtv5VDP.js"])))=>i.map(i=>d[i]);
2
+ import{Si as e,i as t,n}from"./icon-with-child-CgZMNB3F.js";import{Bt as r,C as i,W as a,b as o,d as s,g as c,ia as l,l as u,n as d,p as f,s as p,t as m,v as h,w as g}from"./common-CoPMwt15.js";import{_,h as v}from"./config-Ca3KDCt_.js";import{r as y}from"./useModules-Cy3UIua6.js";import{t as b}from"./first-load.utils-Dp_L_7Dk.js";import{a as x,c as S,f as C,i as w,l as T,n as E,o as D,r as O,t as k,u as A}from"./keys-DgS2vm-E.js";import{a as j,c as M,f as N,l as P,s as F,u as I}from"./types-DNTr_87G.js";import{x as L}from"./composables-fi_xPbcU.js";import{i as R}from"./useDataSources-CP_5chvd.js";import{a as z,d as B,f as V,i as H,l as U,o as ee,p as te,r as W,s as G,t as K,u as ne}from"./dashboard.types-BL_StY9P.js";import"./components-eOJrNmD_.js";var q=s(),J={"cs-CZ":{menu:{title:`Stránky`},meta:{pages:{list:{title:`Seznam stránek`},edit:{title:`Upravit stránku: {page}`},add:{title:`Přidat stránku`},detail:{title:`Stránka: {page}`},editDataSource:{title:`Upravit zdroj dat stránky`},addDataSource:{title:`Přidat zdroj dat stránky`}},tiles:{edit:{title:`Upravit dlaždici`},detail:{title:`Detail dlaždice`},editDataSource:{title:`Upravit zdroj dat dlaždice`},addDataSource:{title:`Přidat zdroj dat dlaždice`}}},breadcrumbs:{pages:{list:`stránky`,add:`přidat stránku`,edit:`upravit stránku`,detail:`stránka: {page}`,addDataSource:`přidat zdroj dat stránky`,editDataSource:`upravit zdroj dat stránky`},tiles:{edit:`upravit dlaždici`,detail:`detail dlaždice`,addDataSource:`přidat zdroj dat dlaždice`,editDataSource:`upravit zdroj dat dlaždice`}},headings:{pages:{list:`Stránky`,add:`Přidat stránku`,edit:`Upravit stránku`,detail:`Stránka: {page}`,remove:`Odebrat stránku?`,bulkRemove:`Odebrat stránky?`,selectPlugin:`Vyžadován plugin stránky`,adjustFilters:`Filtrovat stránky`,addDataSource:`Přidat zdroj dat stránky`,editDataSource:`Upravit zdroj dat stránky`},tiles:{add:`Přidat dlaždici`,edit:`Upravit dlaždici`,detail:`Detail dlaždice`,remove:`Odebrat dlaždici?`,selectPlugin:`Vyžadován plugin dlaždice`,adjustFilters:`Filtrovat dlaždice`,addDataSource:`Přidat zdroj dat dlaždice`,editDataSource:`Upravit zdroj dat dlaždice`},dataSources:{add:`Přidat zdroj dat`,edit:`Upravit zdroj dat`,remove:`Odebrat zdroj dat?`,selectPlugin:`Vyžadován plugin zdroje dat`,adjustFilters:`Filtrovat zdroje dat`},misc:{discard:`Zahodit změny?`}},subHeadings:{pages:{list:`Správa stránek Smart panelu`,add:`Přidat novou stránku Smart panelu`,edit:`Upravit stránku Smart panelu`,detail:`Správa stránky Smart panelu`,adjustFilters:`Upravit filtry zobrazení`,addDataSource:`Přidat nový zdroj dat stránky Smart panelu`,editDataSource:`Upravit zdroj dat stránky Smart panelu`},tiles:{add:`Přidat novou dlaždici Smart panelu`,edit:`Upravit dlaždici Smart panelu`,detail:`Správa dlaždice Smart panelu`,adjustFilters:`Upravit filtry zobrazení`,addDataSource:`Přidat nový zdroj dat dlaždice Smart panelu`,editDataSource:`Upravit zdroj dat dlaždice Smart panelu`},dataSources:{add:`Přidat nový zdroj dat Smart panelu`,edit:`Upravit zdroj dat Smart panelu`,detail:`Správa zdroje dat Smart panelu`,adjustFilters:`Upravit filtry zobrazení`}},messages:{pages:{notFound:`Stránka, kterou hledáte, neexistuje nebo byla odebrána.`,confirmRemove:`Opravdu chcete odebrat stránku: {page}? Tuto akci nelze vrátit zpět.`,created:`Nová stránka byla úspěšně přidána.`,notCreated:`Něco se pokazilo. Stránku se nepodařilo vytvořit.`,edited:`Změny uloženy! Stránka: {page} byla aktualizována.`,notEdited:`Něco se pokazilo. Aktualizace stránky nebyla úspěšná.`,removed:`Stránka: {page} byla úspěšně odebrána.`,removeCanceled:`Odebrání stránky: {page} bylo zrušeno.`,notRemoved:`Něco se pokazilo a stránka: {page} nebyla odebrána.`,noDetailAllowed:`Tento typ stránky nelze otevřít, protože nemá detailní zobrazení.`,deletedWhileEditing:`Tato stránka byla smazána a již není dostupná.`,bulkRemoved:`{count} stránek bylo úspěšně odebráno.`,bulkRemoveFailed:`Nepodařilo se odebrat {count} stránek.`,bulkRemoveCanceled:`Hromadné odebrání stránek bylo zrušeno.`},tiles:{notFound:`Dlaždice, kterou hledáte, neexistuje nebo byla odebrána.`,confirmRemove:`Opravdu chcete odebrat dlaždici? Tuto akci nelze vrátit zpět.`,created:`Nová dlaždice byla úspěšně přidána.`,notCreated:`Něco se pokazilo. Dlaždici se nepodařilo vytvořit.`,edited:`Změny uloženy! Dlaždice byla aktualizována.`,notEdited:`Něco se pokazilo. Aktualizace dlaždice nebyla úspěšná.`,removed:`Dlaždice byla úspěšně odebrána.`,removeCanceled:`Odebrání dlaždice bylo zrušeno.`,notRemoved:`Něco se pokazilo a dlaždice nebyla odebrána.`,deletedWhileEditing:`Tato dlaždice byla smazána a již není dostupná.`},dataSources:{notFound:`Zdroj dat, který hledáte, neexistuje nebo byl odebrán.`,confirmRemove:`Opravdu chcete odebrat zdroj dat? Tuto akci nelze vrátit zpět.`,created:`Nový zdroj dat byl úspěšně přidán.`,notCreated:`Něco se pokazilo. Zdroj dat se nepodařilo vytvořit.`,edited:`Změny uloženy! Zdroj dat byl aktualizován.`,notEdited:`Něco se pokazilo. Aktualizace zdroje dat nebyla úspěšná.`,removed:`Zdroj dat byl úspěšně odebrán.`,removeCanceled:`Odebrání zdroje dat bylo zrušeno.`,notRemoved:`Něco se pokazilo a zdroj dat nebyl odebrán.`,deletedWhileEditing:`Tento zdroj dat byl smazán a již není dostupný.`},misc:{requestError:`Něco se pokazilo, zkuste to prosím později.`}},texts:{pages:{noPages:`Nemáte nakonfigurovanou žádnou stránku`,noFilteredPages:`Nebyly nalezeny žádné stránky odpovídající aktivním kritériím filtru`,loadingPages:`Načítání stránek...`,loadingPage:`Načítání stránky...`,confirmRemove:`Opravdu chcete odebrat stránku: {page}? Tuto akci nelze vrátit zpět.`,confirmBulkRemove:`Opravdu chcete odebrat {count} stránek? Tuto akci nelze vrátit zpět.`,selectPlugin:`Pro vytvoření nové stránky vyberte prosím kompatibilní plugin ze seznamu. Pluginy poskytují potřebné konfigurační možnosti pro konkrétní typy stránek.`,noPlugins:`Zatím nebyly nakonfigurovány žádné pluginy stránek.`,noDisplays:`Zatím nebyly spárovány žádné displeje.`},tiles:{noTiles:`Nemáte nakonfigurovanou žádnou dlaždici`,noFilteredTiles:`Nebyly nalezeny žádné dlaždice odpovídající aktivním kritériím filtru`,loadingTiles:`Načítání dlaždic...`,loadingTile:`Načítání dlaždice...`,confirmRemove:`Opravdu chcete odebrat dlaždici? Tuto akci nelze vrátit zpět.`,selectPlugin:`Pro vytvoření nové dlaždice vyberte prosím kompatibilní plugin ze seznamu. Pluginy poskytují potřebné konfigurační možnosti pro konkrétní typy dlaždic.`,noPlugins:`Zatím nebyly nakonfigurovány žádné pluginy dlaždic.`,plugin:`Plugin`,dataSources:`Zdroje dat`,dataSourcesCount:`Žádné zdroje dat nakonfigurovány | Jeden zdroj dat nakonfigurován | {count} zdrojů dat nakonfigurováno`,row:`Pozice řádku`,col:`Pozice sloupce`,size:`Velikost`,visibility:`Viditelnost`,hidden:`Dlaždice je skrytá`,visible:`Dlaždice je viditelná`},dataSources:{noDataSources:`Nemáte nakonfigurovaný žádný zdroj dat`,noFilteredDataSources:`Nebyly nalezeny žádné zdroje dat odpovídající aktivním kritériím filtru`,loadingDataSources:`Načítání zdrojů dat...`,loadingDataSource:`Načítání zdroje dat...`,confirmRemove:`Opravdu chcete odebrat zdroj dat? Tuto akci nelze vrátit zpět.`,selectPlugin:`Pro vytvoření nového zdroje dat vyberte prosím kompatibilní plugin ze seznamu. Pluginy poskytují potřebné konfigurační možnosti pro konkrétní typy zdrojů dat.`,noPlugins:`Zatím nebyly nakonfigurovány žádné pluginy zdrojů dat.`},misc:{confirmDiscard:`Máte neuložené změny. Opravdu je chcete zahodit?`}},fields:{pages:{search:{placeholder:`Hledat stránky...`},plugin:{title:`Plugin stránky`,placeholder:`Vyberte plugin stránky`},id:{title:`Interní identifikátor`,placeholder:`ID stránky`},title:{title:`Název`,placeholder:`Název stránky`,validation:{required:`Vyplňte prosím název stránky`}},icon:{title:`Ikona`,placeholder:`Ikona stránky`},order:{title:`Pořadí`,placeholder:`Pozice stránky`},showTopBar:{title:`Zobrazit horní lištu`,placeholder:`Zobrazit horní lištu stránky`},displays:{title:`Displeje`,placeholder:`Vyberte displeje (ponechte prázdné pro všechny displeje)`,description:`Vyberte konkrétní displeje pro tuto stránku. Ponechte prázdné, aby byla viditelná na všech displejích.`}},tiles:{search:{placeholder:`Hledat dlaždice...`},plugin:{title:`Plugin dlaždice`,placeholder:`Vyberte plugin dlaždice`},id:{title:`Interní identifikátor`,placeholder:`ID dlaždice`},row:{title:`Pozice řádku`,placeholder:`Číslo řádku 1-n`,validation:{required:`Vyplňte prosím řádek dlaždice`}},col:{title:`Pozice sloupce`,placeholder:`Číslo sloupce 1-n`,validation:{required:`Vyplňte prosím sloupec dlaždice`}},rowSpan:{title:`Rozpětí řádků`,placeholder:`Velikost dlaždice v řádcích`},colSpan:{title:`Rozpětí sloupců`,placeholder:`Velikost dlaždice ve sloupcích`},hidden:{title:`Skrytá`,placeholder:`Skrýt dlaždici v aplikaci displeje`}},dataSources:{search:{placeholder:`Hledat zdroje dat...`},plugin:{title:`Plugin zdroje dat`,placeholder:`Vyberte plugin zdroje dat`},id:{title:`Interní identifikátor`,placeholder:`ID zdroje dat`}}},table:{pages:{columns:{title:{title:`Název`},type:{title:`Typ`},display:{title:`Displeje`,all:`Všechny displeje`},order:{title:`Pořadí`},showTopBar:{title:`Zobrazit horní lištu`}}},tiles:{columns:{type:{title:`Typ`},row:{title:`Řádek`},col:{title:`Sloupec`},rowSpan:{title:`Rozpětí řádků`},colSpan:{title:`Rozpětí sloupců`},hidden:{title:`Skrytá`}}},dataSources:{columns:{type:{title:`Typ`}}}},filters:{pages:{types:{title:`Filtrovat podle typu stránky`},displays:{title:`Filtrovat podle displeje stránky`}},tiles:{types:{title:`Filtrovat podle typu dlaždice`}},dataSources:{types:{title:`Filtrovat podle typu zdroje dat`}}},buttons:{add:{title:`Přidat`},edit:{title:`Upravit`},detail:{title:`Detail`},configure:{title:`Konfigurovat`},discard:{title:`Zahodit`},cancel:{title:`Zrušit`},close:{title:`Zavřít`},save:{title:`Uložit`},change:{title:`Změnit`},remove:{title:`Odebrat`},resetFilters:{title:`Resetovat filtry`},yes:{title:`Ano`},no:{title:`Ne`},reset:{title:`Resetovat`},addDataSource:{title:`Přidat zdroj dat`}}},"de-DE":{menu:{title:`Seiten`},meta:{pages:{list:{title:`Seiten auflisten`},edit:{title:`Seite bearbeiten: {page}`},add:{title:`Seite hinzufügen`},detail:{title:`Seite: {page}`},editDataSource:{title:`Seitendatenquelle bearbeiten`},addDataSource:{title:`Seitendatenquelle hinzufügen`}},tiles:{edit:{title:`Kachel bearbeiten`},detail:{title:`Kacheldetails`},editDataSource:{title:`Kacheldatenquelle bearbeiten`},addDataSource:{title:`Kacheldatenquelle hinzufügen`}}},breadcrumbs:{pages:{list:`Seiten`,add:`Seite hinzufügen`,edit:`Seite bearbeiten`,detail:`Seite: {page}`,addDataSource:`Seitendatenquelle hinzufügen`,editDataSource:`Seitendatenquelle bearbeiten`},tiles:{edit:`Kachel bearbeiten`,detail:`Kacheldetails`,addDataSource:`Kacheldatenquelle hinzufügen`,editDataSource:`Kacheldatenquelle bearbeiten`}},headings:{pages:{list:`Seiten`,add:`Seite hinzufügen`,edit:`Seite bearbeiten`,detail:`Seite: {page}`,remove:`Seite entfernen?`,bulkRemove:`Seiten entfernen?`,selectPlugin:`Seiten-Plugin erforderlich`,adjustFilters:`Seiten filtern`,addDataSource:`Seitendatenquelle hinzufügen`,editDataSource:`Seitendatenquelle bearbeiten`},tiles:{add:`Kachel hinzufügen`,edit:`Kachel bearbeiten`,detail:`Kacheldetails`,remove:`Kachel entfernen?`,selectPlugin:`Kachel-Plugin erforderlich`,adjustFilters:`Kacheln filtern`,addDataSource:`Kacheldatenquelle hinzufügen`,editDataSource:`Kacheldatenquelle bearbeiten`},dataSources:{add:`Datenquelle hinzufügen`,edit:`Datenquelle bearbeiten`,remove:`Datenquelle entfernen?`,selectPlugin:`Datenquellen-Plugin erforderlich`,adjustFilters:`Datenquellen filtern`},misc:{discard:`Änderungen verwerfen?`}},subHeadings:{pages:{list:`Smart Panel Seiten verwalten`,add:`Neue Smart Panel Seite hinzufügen`,edit:`Smart Panel Seite bearbeiten`,detail:`Smart Panel Seite verwalten`,adjustFilters:`Anzeigefilter anpassen`,addDataSource:`Neue Smart Panel Seitendatenquelle hinzufügen`,editDataSource:`Smart Panel Seitendatenquelle bearbeiten`},tiles:{add:`Neue Smart Panel Kachel hinzufügen`,edit:`Smart Panel Kachel bearbeiten`,detail:`Smart Panel Kachel verwalten`,adjustFilters:`Anzeigefilter anpassen`,addDataSource:`Neue Smart Panel Kacheldatenquelle hinzufügen`,editDataSource:`Smart Panel Kacheldatenquelle bearbeiten`},dataSources:{add:`Neue Smart Panel Datenquelle hinzufügen`,edit:`Smart Panel Datenquelle bearbeiten`,detail:`Smart Panel Datenquelle verwalten`,adjustFilters:`Anzeigefilter anpassen`}},messages:{pages:{notFound:`Die gesuchte Seite existiert nicht oder wurde entfernt.`,confirmRemove:`Sind Sie sicher, dass Sie die Seite: {page} entfernen möchten? Dies kann nicht rückgängig gemacht werden.`,created:`Neue Seite erfolgreich hinzugefügt.`,notCreated:`Etwas ist schiefgelaufen. Die Seite konnte nicht erstellt werden.`,edited:`Änderungen gespeichert! Die Seite: {page} wurde aktualisiert.`,notEdited:`Etwas ist schiefgelaufen. Die Seitenaktualisierung war nicht erfolgreich.`,removed:`Die Seite: {page} wurde erfolgreich entfernt.`,removeCanceled:`Entfernung von Seite: {page} wurde abgebrochen.`,notRemoved:`Etwas ist schiefgelaufen, die Seite: {page} wurde nicht entfernt.`,noDetailAllowed:`Dieser Seitentyp kann nicht geöffnet werden, da er keine Detailansicht hat.`,deletedWhileEditing:`Diese Seite wurde gelöscht und ist nicht mehr verfügbar.`,bulkRemoved:`{count} Seiten wurden erfolgreich entfernt.`,bulkRemoveFailed:`Entfernung von {count} Seiten fehlgeschlagen.`,bulkRemoveCanceled:`Massenentfernung von Seiten wurde abgebrochen.`},tiles:{notFound:`Die gesuchte Kachel existiert nicht oder wurde entfernt.`,confirmRemove:`Sind Sie sicher, dass Sie die Kachel entfernen möchten? Dies kann nicht rückgängig gemacht werden.`,created:`Neue Kachel erfolgreich hinzugefügt.`,notCreated:`Etwas ist schiefgelaufen. Die Kachel konnte nicht erstellt werden.`,edited:`Änderungen gespeichert! Die Kachel wurde aktualisiert.`,notEdited:`Etwas ist schiefgelaufen. Die Kachelaktualisierung war nicht erfolgreich.`,removed:`Die Kachel wurde erfolgreich entfernt.`,removeCanceled:`Kachelentfernung wurde abgebrochen.`,notRemoved:`Etwas ist schiefgelaufen, die Kachel wurde nicht entfernt.`,deletedWhileEditing:`Diese Kachel wurde gelöscht und ist nicht mehr verfügbar.`},dataSources:{notFound:`Die gesuchte Datenquelle existiert nicht oder wurde entfernt.`,confirmRemove:`Sind Sie sicher, dass Sie die Datenquelle entfernen möchten? Dies kann nicht rückgängig gemacht werden.`,created:`Neue Datenquelle erfolgreich hinzugefügt.`,notCreated:`Etwas ist schiefgelaufen. Die Datenquelle konnte nicht erstellt werden.`,edited:`Änderungen gespeichert! Die Datenquelle wurde aktualisiert.`,notEdited:`Etwas ist schiefgelaufen. Die Datenquellenaktualisierung war nicht erfolgreich.`,removed:`Die Datenquelle wurde erfolgreich entfernt.`,removeCanceled:`Datenquellenentfernung wurde abgebrochen.`,notRemoved:`Etwas ist schiefgelaufen, die Datenquelle wurde nicht entfernt.`,deletedWhileEditing:`Diese Datenquelle wurde gelöscht und ist nicht mehr verfügbar.`},misc:{requestError:`Etwas ist schiefgelaufen, bitte versuchen Sie es später erneut.`}},texts:{pages:{noPages:`Sie haben noch keine Seiten konfiguriert`,noFilteredPages:`Keine Seiten gefunden, die den aktiven Filterkriterien entsprechen`,loadingPages:`Seiten werden geladen...`,loadingPage:`Seite wird geladen...`,confirmRemove:`Sind Sie sicher, dass Sie die Seite: {page} entfernen möchten? Dies kann nicht rückgängig gemacht werden.`,confirmBulkRemove:`Sind Sie sicher, dass Sie {count} Seiten entfernen möchten? Dies kann nicht rückgängig gemacht werden.`,selectPlugin:`Um eine neue Seite zu erstellen, wählen Sie bitte ein kompatibles Plugin aus der Liste. Plugins bieten die notwendigen Konfigurationsoptionen für bestimmte Seitentypen.`,noPlugins:`Es wurden noch keine Seiten-Plugins konfiguriert.`,noDisplays:`Es wurden noch keine Displays gekoppelt.`},tiles:{noTiles:`Sie haben noch keine Kacheln konfiguriert`,noFilteredTiles:`Keine Kacheln gefunden, die den aktiven Filterkriterien entsprechen`,loadingTiles:`Kacheln werden geladen...`,loadingTile:`Kachel wird geladen...`,confirmRemove:`Sind Sie sicher, dass Sie die Kachel entfernen möchten? Dies kann nicht rückgängig gemacht werden.`,selectPlugin:`Um neue Kacheln zu erstellen, wählen Sie bitte ein kompatibles Plugin aus der Liste. Plugins bieten die notwendigen Konfigurationsoptionen für bestimmte Kacheltypen.`,noPlugins:`Es wurden noch keine Kachel-Plugins konfiguriert.`,plugin:`Plugin`,dataSources:`Datenquellen`,dataSourcesCount:`Keine Datenquellen konfiguriert | Eine Datenquelle konfiguriert | {count} Datenquellen konfiguriert`,row:`Zeilenposition`,col:`Spaltenposition`,size:`Größe`,visibility:`Sichtbarkeit`,hidden:`Kachel ist verborgen`,visible:`Kachel ist sichtbar`},dataSources:{noDataSources:`Sie haben noch keine Datenquellen konfiguriert`,noFilteredDataSources:`Keine Datenquellen gefunden, die den aktiven Filterkriterien entsprechen`,loadingDataSources:`Datenquellen werden geladen...`,loadingDataSource:`Datenquelle wird geladen...`,confirmRemove:`Sind Sie sicher, dass Sie die Datenquelle entfernen möchten? Dies kann nicht rückgängig gemacht werden.`,selectPlugin:`Um eine neue Datenquelle zu erstellen, wählen Sie bitte ein kompatibles Plugin aus der Liste. Plugins bieten die notwendigen Konfigurationsoptionen für bestimmte Datenquellentypen.`,noPlugins:`Es wurden noch keine Datenquellen-Plugins konfiguriert.`},misc:{confirmDiscard:`Sie haben ungespeicherte Änderungen. Möchten Sie diese wirklich verwerfen?`}},fields:{pages:{search:{placeholder:`Seiten suchen...`},plugin:{title:`Seiten-Plugin`,placeholder:`Seiten-Plugin auswählen`},id:{title:`Interner Bezeichner`,placeholder:`Seiten-ID`},title:{title:`Titel`,placeholder:`Seitentitel`,validation:{required:`Bitte geben Sie den Seitentitel ein`}},icon:{title:`Symbol`,placeholder:`Seitensymbol`},order:{title:`Reihenfolge`,placeholder:`Seitenposition`},showTopBar:{title:`Obere Leiste anzeigen`,placeholder:`Obere Leiste der Seite anzeigen`},displays:{title:`Zeigt an`,placeholder:`Displays auswählen (leer lassen für alle Displays)`,description:`Wählen Sie bestimmte Displays für diese Seite. Leer lassen, um sie auf allen Displays sichtbar zu machen.`}},tiles:{search:{placeholder:`Kacheln suchen...`},plugin:{title:`Kachel-Plugin`,placeholder:`Kachel-Plugin auswählen`},id:{title:`Interner Bezeichner`,placeholder:`Kachel-ID`},row:{title:`Zeilenposition`,placeholder:`Zeilennummer 1-n`,validation:{required:`Bitte geben Sie die Kachelzeile ein`}},col:{title:`Spaltenposition`,placeholder:`Spaltennummer 1-n`,validation:{required:`Bitte geben Sie die Kachelspalte ein`}},rowSpan:{title:`Zeilenspanne`,placeholder:`Zeilengröße der Kachel`},colSpan:{title:`Spaltenspanne`,placeholder:`Spaltengröße der Kachel`},hidden:{title:`Verborgen`,placeholder:`Kachel in der Anzeigeanwendung unsichtbar machen`}},dataSources:{search:{placeholder:`Datenquellen suchen...`},plugin:{title:`Datenquellen-Plugin`,placeholder:`Datenquellen-Plugin auswählen`},id:{title:`Interner Bezeichner`,placeholder:`Datenquellen-ID`}}},table:{pages:{columns:{title:{title:`Titel`},type:{title:`Typ`},display:{title:`Zeigt an`,all:`Alle Displays`},order:{title:`Reihenfolge`},showTopBar:{title:`Obere Leiste anzeigen`}}},tiles:{columns:{type:{title:`Typ`},row:{title:`Zeile`},col:{title:`Spalte`},rowSpan:{title:`Zeilenspanne`},colSpan:{title:`Spaltenspanne`},hidden:{title:`Verborgen`}}},dataSources:{columns:{type:{title:`Typ`}}}},filters:{pages:{types:{title:`Nach Seitentyp filtern`},displays:{title:`Nach Seiten-Display filtern`}},tiles:{types:{title:`Nach Kacheltyp filtern`}},dataSources:{types:{title:`Nach Datenquellentyp filtern`}}},buttons:{add:{title:`Hinzufügen`},edit:{title:`Bearbeiten`},detail:{title:`Details`},configure:{title:`Konfigurieren`},discard:{title:`Verwerfen`},cancel:{title:`Abbrechen`},close:{title:`Schließen`},save:{title:`Speichern`},change:{title:`Ändern`},remove:{title:`Entfernen`},resetFilters:{title:`Filter zurücksetzen`},yes:{title:`Ja`},no:{title:`Nein`},reset:{title:`Zurücksetzen`},addDataSource:{title:`Datenquelle hinzufügen`}}},"en-US":{menu:{title:`Pages`},meta:{pages:{list:{title:`List pages`},edit:{title:`Edit page: {page}`},add:{title:`Add page`},detail:{title:`Page: {page}`},editDataSource:{title:`Edit page data source`},addDataSource:{title:`Add page data source`}},tiles:{edit:{title:`Edit tile`},detail:{title:`Tile detail`},editDataSource:{title:`Edit tile data source`},addDataSource:{title:`Add tile data source`}}},breadcrumbs:{pages:{list:`pages`,add:`add page`,edit:`edit page`,detail:`page: {page}`,addDataSource:`add page data source`,editDataSource:`edit page data source`},tiles:{edit:`edit tile`,detail:`tile detail`,addDataSource:`add tile data source`,editDataSource:`edit tile data source`}},headings:{pages:{list:`Pages`,add:`Add page`,edit:`Edit page`,detail:`Page: {page}`,remove:`Remove page?`,bulkRemove:`Remove pages?`,selectPlugin:`Page plugin required`,adjustFilters:`Filter pages`,addDataSource:`Add page data source`,editDataSource:`Edit page data source`},tiles:{add:`Add tile`,edit:`Edit tile`,detail:`Tile detail`,remove:`Remove tile?`,selectPlugin:`Tile plugin required`,adjustFilters:`Filter tiles`,addDataSource:`Add tile data source`,editDataSource:`Edit tile data source`},dataSources:{add:`Add data source`,edit:`Edit data source`,remove:`Remove data source?`,selectPlugin:`Data source plugin required`,adjustFilters:`Filter data sources`},misc:{discard:`Discard changes?`}},subHeadings:{pages:{list:`Manage smart panel pages`,add:`Add new smart panel page`,edit:`Edit smart panel page`,detail:`Manage smart panel page`,adjustFilters:`Adjust display filters`,addDataSource:`Add new smart panel page data source`,editDataSource:`Edit smart panel page data source`},tiles:{add:`Add new smart panel tile`,edit:`Edit smart panel tile`,detail:`Manage smart panel tile`,adjustFilters:`Adjust display filters`,addDataSource:`Add new smart panel tile data source`,editDataSource:`Edit smart panel tile data source`},dataSources:{add:`Add new smart panel data source`,edit:`Edit smart panel data source`,detail:`Manage smart panel data source`,adjustFilters:`Adjust display filters`}},messages:{pages:{notFound:`The page you are looking for doesn’t exist or may have been removed.`,confirmRemove:`Are you sure you want to remove page: {page}? This cannot be reversed.`,created:`New page added successfully.`,notCreated:`Something went wrong. Unable to create the page.`,edited:`Changes saved! The page: {page} has been updated.`,notEdited:`Something went wrong. Page update was not successful.`,removed:`The page: {page} was successfully removed.`,removeCanceled:`Page: {page} removal has been canceled.`,notRemoved:`Something went wrong, and the page: {page} was not removed.`,noDetailAllowed:`This page type cannot be opened because it has no detail view.`,deletedWhileEditing:`This page was deleted and is no longer available.`,bulkRemoved:`{count} pages were successfully removed.`,bulkRemoveFailed:`Failed to remove {count} pages.`,bulkRemoveCanceled:`Bulk page removal has been canceled.`},tiles:{notFound:`The tile you are looking for doesn’t exist or may have been removed.`,confirmRemove:`Are you sure you want to remove tile? This cannot be reversed.`,created:`New tile added successfully.`,notCreated:`Something went wrong. Unable to create the tile.`,edited:`Changes saved! The tile has been updated.`,notEdited:`Something went wrong. Tile update was not successful.`,removed:`The tile was successfully removed.`,removeCanceled:`Tile removal has been canceled.`,notRemoved:`Something tile wrong, and the tile was not removed.`,deletedWhileEditing:`This tile was deleted and is no longer available.`},dataSources:{notFound:`The data source you are looking for doesn’t exist or may have been removed.`,confirmRemove:`Are you sure you want to remove data source? This cannot be reversed.`,created:`New data source added successfully.`,notCreated:`Something went wrong. Unable to create the data source.`,edited:`Changes saved! The data source has been updated.`,notEdited:`Something went wrong. Data source update was not successful.`,removed:`The data source was successfully removed.`,removeCanceled:`Data sources removal has been canceled.`,notRemoved:`Something went wrong, and the data sources was not removed.`,deletedWhileEditing:`This data source was deleted and is no longer available.`},misc:{requestError:`Something went wrong, please try again later.`}},texts:{pages:{noPages:`You don't have configured any page`,noFilteredPages:`No pages found matching the active filter criteria`,loadingPages:`Loading pages...`,loadingPage:`Loading page...`,confirmRemove:`Are you sure you want to remove page: {page}? This cannot be reversed.`,confirmBulkRemove:`Are you sure you want to remove {count} pages? This cannot be reversed.`,selectPlugin:`To create a new page, please select a compatible plugin from the list. Plugins provide the necessary configuration options for specific page types.`,noPlugins:`No page plugins have been configured yet.`,noDisplays:`No displays have been paired yet.`},tiles:{noTiles:`You don't have configured any tile`,noFilteredTiles:`No tiles found matching the active filter criteria`,loadingTiles:`Loading tiles...`,loadingTile:`Loading tile...`,confirmRemove:`Are you sure you want to remove tile? This cannot be reversed.`,selectPlugin:`To create a new tiles, please select a compatible plugin from the list. Plugins provide the necessary configuration options for specific tile types.`,noPlugins:`No tile plugins have been configured yet.`,plugin:`Plugin`,dataSources:`Data sources`,dataSourcesCount:`No data sources configured | One data source configured | {count} data sources configured`,row:`Row positon`,col:`Column positon`,size:`Size`,visibility:`Visibility`,hidden:`Tile is hidden`,visible:`Tile is visible`},dataSources:{noDataSources:`You don't have configured any data source`,noFilteredDataSources:`No data sources found matching the active filter criteria`,loadingDataSources:`Loading data sources...`,loadingDataSource:`Loading data source...`,confirmRemove:`Are you sure you want to remove data source? This cannot be reversed.`,selectPlugin:`To create a new data source, please select a compatible plugin from the list. Plugins provide the necessary configuration options for specific data source types.`,noPlugins:`No data source plugins have been configured yet.`},misc:{confirmDiscard:`You have unsaved changes. Are you sure you want to discard them?`}},fields:{pages:{search:{placeholder:`Search pages...`},plugin:{title:`Page plugin`,placeholder:`Select page plugin`},id:{title:`Internal identifier`,placeholder:`Page id`},title:{title:`Title`,placeholder:`Page title`,validation:{required:`Please fill in page title`}},icon:{title:`Icon`,placeholder:`Page icon`},order:{title:`Order`,placeholder:`Page position`},showTopBar:{title:`Show top bar`,placeholder:`Show page top bar`},displays:{title:`Displays`,placeholder:`Select displays (leave empty for all displays)`,description:`Select specific displays for this page. Leave empty to make it visible on all displays.`}},tiles:{search:{placeholder:`Search tiles...`},plugin:{title:`Tile plugin`,placeholder:`Select tile plugin`},id:{title:`Internal identifier`,placeholder:`Tile id`},row:{title:`Row position`,placeholder:`Row number 1-n`,validation:{required:`Please fill in tile row`}},col:{title:`Column position`,placeholder:`Column number 1-n`,validation:{required:`Please fill in tile column`}},rowSpan:{title:`Row span`,placeholder:`Row size of the tile`},colSpan:{title:`Column span`,placeholder:`Column size of the tile`},hidden:{title:`Hidden`,placeholder:`Make tile invisible on the display application`}},dataSources:{search:{placeholder:`Search data sources...`},plugin:{title:`Data source plugin`,placeholder:`Select data source plugin`},id:{title:`Internal identifier`,placeholder:`Data source id`}}},table:{pages:{columns:{title:{title:`Title`},type:{title:`Type`},display:{title:`Displays`,all:`All displays`},order:{title:`Order`},showTopBar:{title:`Show top bar`}}},tiles:{columns:{type:{title:`Type`},row:{title:`Row`},col:{title:`Column`},rowSpan:{title:`Row span`},colSpan:{title:`Column span`},hidden:{title:`Hidden`}}},dataSources:{columns:{type:{title:`Type`}}}},filters:{pages:{types:{title:`Filter by page type`},displays:{title:`Filter by page display`}},tiles:{types:{title:`Filter by tile type`}},dataSources:{types:{title:`Filter by data source type`}}},buttons:{add:{title:`Add`},edit:{title:`Edit`},detail:{title:`Detail`},configure:{title:`Configure`},discard:{title:`Discard`},cancel:{title:`Cancel`},close:{title:`Close`},save:{title:`Save`},change:{title:`Change`},remove:{title:`Remove`},resetFilters:{title:`Reset filters`},yes:{title:`Yes`},no:{title:`No`},reset:{title:`Reset`},addDataSource:{title:`Add data source`}}},"es-ES":{menu:{title:`Páginas`},meta:{pages:{list:{title:`Listar páginas`},edit:{title:`Editar página: {page}`},add:{title:`Añadir página`},detail:{title:`Página: {page}`},editDataSource:{title:`Editar fuente de datos de página`},addDataSource:{title:`Añadir fuente de datos de página`}},tiles:{edit:{title:`Editar mosaico`},detail:{title:`Detalle del mosaico`},editDataSource:{title:`Editar fuente de datos del mosaico`},addDataSource:{title:`Añadir fuente de datos del mosaico`}}},breadcrumbs:{pages:{list:`páginas`,add:`añadir página`,edit:`editar página`,detail:`página: {page}`,addDataSource:`añadir fuente de datos de página`,editDataSource:`editar fuente de datos de página`},tiles:{edit:`editar mosaico`,detail:`detalle del mosaico`,addDataSource:`añadir fuente de datos del mosaico`,editDataSource:`editar fuente de datos del mosaico`}},headings:{pages:{list:`Páginas`,add:`Añadir página`,edit:`Editar página`,detail:`Página: {page}`,remove:`¿Eliminar página?`,bulkRemove:`¿Eliminar páginas?`,selectPlugin:`Se requiere plugin de página`,adjustFilters:`Filtrar páginas`,addDataSource:`Añadir fuente de datos de página`,editDataSource:`Editar fuente de datos de página`},tiles:{add:`Añadir mosaico`,edit:`Editar mosaico`,detail:`Detalle del mosaico`,remove:`¿Eliminar mosaico?`,selectPlugin:`Se requiere plugin de mosaico`,adjustFilters:`Filtrar mosaicos`,addDataSource:`Añadir fuente de datos del mosaico`,editDataSource:`Editar fuente de datos del mosaico`},dataSources:{add:`Añadir fuente de datos`,edit:`Editar fuente de datos`,remove:`¿Eliminar fuente de datos?`,selectPlugin:`Se requiere plugin de fuente de datos`,adjustFilters:`Filtrar fuentes de datos`},misc:{discard:`¿Descartar cambios?`}},subHeadings:{pages:{list:`Gestionar páginas del panel inteligente`,add:`Añadir nueva página del panel inteligente`,edit:`Editar página del panel inteligente`,detail:`Gestionar página del panel inteligente`,adjustFilters:`Ajustar filtros de visualización`,addDataSource:`Añadir nueva fuente de datos de página del panel inteligente`,editDataSource:`Editar fuente de datos de página del panel inteligente`},tiles:{add:`Añadir nuevo mosaico del panel inteligente`,edit:`Editar mosaico del panel inteligente`,detail:`Gestionar mosaico del panel inteligente`,adjustFilters:`Ajustar filtros de visualización`,addDataSource:`Añadir nueva fuente de datos de mosaico del panel inteligente`,editDataSource:`Editar fuente de datos de mosaico del panel inteligente`},dataSources:{add:`Añadir nueva fuente de datos del panel inteligente`,edit:`Editar fuente de datos del panel inteligente`,detail:`Gestionar fuente de datos del panel inteligente`,adjustFilters:`Ajustar filtros de visualización`}},messages:{pages:{notFound:`La página que buscas no existe o pudo haber sido eliminada.`,confirmRemove:`¿Estás seguro de que deseas eliminar la página: {page}? Esto no se puede revertir.`,created:`Nueva página añadida correctamente.`,notCreated:`Algo salió mal. No se pudo crear la página.`,edited:`¡Cambios guardados! La página: {page} ha sido actualizada.`,notEdited:`Algo salió mal. La actualización de la página no fue exitosa.`,removed:`La página: {page} fue eliminada correctamente.`,removeCanceled:`La eliminación de la página: {page} ha sido cancelada.`,notRemoved:`Algo salió mal y la página: {page} no fue eliminada.`,noDetailAllowed:`Este tipo de página no se puede abrir porque no tiene vista de detalle.`,deletedWhileEditing:`Esta página fue eliminada y ya no está disponible.`,bulkRemoved:`{count} páginas fueron eliminadas correctamente.`,bulkRemoveFailed:`Error al eliminar {count} páginas.`,bulkRemoveCanceled:`La eliminación masiva de páginas ha sido cancelada.`},tiles:{notFound:`El mosaico que buscas no existe o pudo haber sido eliminado.`,confirmRemove:`¿Estás seguro de que deseas eliminar el mosaico? Esto no se puede revertir.`,created:`Nuevo mosaico añadido correctamente.`,notCreated:`Algo salió mal. No se pudo crear el mosaico.`,edited:`¡Cambios guardados! El mosaico ha sido actualizado.`,notEdited:`Algo salió mal. La actualización del mosaico no fue exitosa.`,removed:`El mosaico fue eliminado correctamente.`,removeCanceled:`La eliminación del mosaico ha sido cancelada.`,notRemoved:`Algo salió mal y el mosaico no fue eliminado.`,deletedWhileEditing:`Este mosaico fue eliminado y ya no está disponible.`},dataSources:{notFound:`La fuente de datos que buscas no existe o pudo haber sido eliminada.`,confirmRemove:`¿Estás seguro de que deseas eliminar la fuente de datos? Esto no se puede revertir.`,created:`Nueva fuente de datos añadida correctamente.`,notCreated:`Algo salió mal. No se pudo crear la fuente de datos.`,edited:`¡Cambios guardados! La fuente de datos ha sido actualizada.`,notEdited:`Algo salió mal. La actualización de la fuente de datos no fue exitosa.`,removed:`La fuente de datos fue eliminada correctamente.`,removeCanceled:`La eliminación de la fuente de datos ha sido cancelada.`,notRemoved:`Algo salió mal y la fuente de datos no fue eliminada.`,deletedWhileEditing:`Esta fuente de datos fue eliminada y ya no está disponible.`},misc:{requestError:`Algo salió mal, por favor inténtalo de nuevo más tarde.`}},texts:{pages:{noPages:`No tienes ninguna página configurada`,noFilteredPages:`No se encontraron páginas que coincidan con los criterios de filtro activos`,loadingPages:`Cargando páginas...`,loadingPage:`Cargando página...`,confirmRemove:`¿Estás seguro de que deseas eliminar la página: {page}? Esto no se puede revertir.`,confirmBulkRemove:`¿Estás seguro de que deseas eliminar {count} páginas? Esto no se puede revertir.`,selectPlugin:`Para crear una nueva página, por favor selecciona un plugin compatible de la lista. Los plugins proporcionan las opciones de configuración necesarias para tipos de página específicos.`,noPlugins:`Aún no se han configurado plugins de página.`,noDisplays:`Aún no se han emparejado pantallas.`},tiles:{noTiles:`No tienes ningún mosaico configurado`,noFilteredTiles:`No se encontraron mosaicos que coincidan con los criterios de filtro activos`,loadingTiles:`Cargando mosaicos...`,loadingTile:`Cargando mosaico...`,confirmRemove:`¿Estás seguro de que deseas eliminar el mosaico? Esto no se puede revertir.`,selectPlugin:`Para crear nuevos mosaicos, por favor selecciona un plugin compatible de la lista. Los plugins proporcionan las opciones de configuración necesarias para tipos de mosaico específicos.`,noPlugins:`Aún no se han configurado plugins de mosaico.`,plugin:`Complemento`,dataSources:`Fuentes de datos`,dataSourcesCount:`Sin fuentes de datos configuradas | Una fuente de datos configurada | {count} fuentes de datos configuradas`,row:`Posición de fila`,col:`Posición de columna`,size:`Tamaño`,visibility:`Visibilidad`,hidden:`El mosaico está oculto`,visible:`El mosaico es visible`},dataSources:{noDataSources:`No tienes ninguna fuente de datos configurada`,noFilteredDataSources:`No se encontraron fuentes de datos que coincidan con los criterios de filtro activos`,loadingDataSources:`Cargando fuentes de datos...`,loadingDataSource:`Cargando fuente de datos...`,confirmRemove:`¿Estás seguro de que deseas eliminar la fuente de datos? Esto no se puede revertir.`,selectPlugin:`Para crear una nueva fuente de datos, por favor selecciona un plugin compatible de la lista. Los plugins proporcionan las opciones de configuración necesarias para tipos de fuente de datos específicos.`,noPlugins:`Aún no se han configurado plugins de fuente de datos.`},misc:{confirmDiscard:`Tienes cambios sin guardar. ¿Estás seguro de que deseas descartarlos?`}},fields:{pages:{search:{placeholder:`Buscar páginas...`},plugin:{title:`Plugin de página`,placeholder:`Seleccionar plugin de página`},id:{title:`Identificador interno`,placeholder:`ID de página`},title:{title:`Título`,placeholder:`Título de la página`,validation:{required:`Por favor ingresa el título de la página`}},icon:{title:`Icono`,placeholder:`Icono de la página`},order:{title:`Orden`,placeholder:`Posición de la página`},showTopBar:{title:`Mostrar barra superior`,placeholder:`Mostrar barra superior de la página`},displays:{title:`Pantallas`,placeholder:`Seleccionar pantallas (dejar vacío para todas las pantallas)`,description:`Selecciona pantallas específicas para esta página. Déjalo vacío para hacerla visible en todas las pantallas.`}},tiles:{search:{placeholder:`Buscar mosaicos...`},plugin:{title:`Plugin de mosaico`,placeholder:`Seleccionar plugin de mosaico`},id:{title:`Identificador interno`,placeholder:`ID del mosaico`},row:{title:`Posición de fila`,placeholder:`Número de fila 1-n`,validation:{required:`Por favor ingresa la fila del mosaico`}},col:{title:`Posición de columna`,placeholder:`Número de columna 1-n`,validation:{required:`Por favor ingresa la columna del mosaico`}},rowSpan:{title:`Extensión de filas`,placeholder:`Tamaño del mosaico en filas`},colSpan:{title:`Extensión de columnas`,placeholder:`Tamaño del mosaico en columnas`},hidden:{title:`Oculto`,placeholder:`Hacer el mosaico invisible en la aplicación de pantalla`}},dataSources:{search:{placeholder:`Buscar fuentes de datos...`},plugin:{title:`Plugin de fuente de datos`,placeholder:`Seleccionar plugin de fuente de datos`},id:{title:`Identificador interno`,placeholder:`ID de fuente de datos`}}},table:{pages:{columns:{title:{title:`Título`},type:{title:`Tipo`},display:{title:`Pantallas`,all:`Todas las pantallas`},order:{title:`Orden`},showTopBar:{title:`Mostrar barra superior`}}},tiles:{columns:{type:{title:`Tipo`},row:{title:`Fila`},col:{title:`Columna`},rowSpan:{title:`Extensión de filas`},colSpan:{title:`Extensión de columnas`},hidden:{title:`Oculto`}}},dataSources:{columns:{type:{title:`Tipo`}}}},filters:{pages:{types:{title:`Filtrar por tipo de página`},displays:{title:`Filtrar por pantalla de página`}},tiles:{types:{title:`Filtrar por tipo de mosaico`}},dataSources:{types:{title:`Filtrar por tipo de fuente de datos`}}},buttons:{add:{title:`Añadir`},edit:{title:`Editar`},detail:{title:`Detalle`},configure:{title:`Configurar`},discard:{title:`Descartar`},cancel:{title:`Cancelar`},close:{title:`Cerrar`},save:{title:`Guardar`},change:{title:`Cambiar`},remove:{title:`Eliminar`},resetFilters:{title:`Restablecer filtros`},yes:{title:`Sí`},no:{title:`No`},reset:{title:`Restablecer`},addDataSource:{title:`Añadir fuente de datos`}}},"pl-PL":{menu:{title:`Strony`},meta:{pages:{list:{title:`Lista stron`},edit:{title:`Edytuj stronę: {page}`},add:{title:`Dodaj stronę`},detail:{title:`Strona: {page}`},editDataSource:{title:`Edytuj źródło danych strony`},addDataSource:{title:`Dodaj źródło danych strony`}},tiles:{edit:{title:`Edytuj kafelek`},detail:{title:`Szczegóły kafelka`},editDataSource:{title:`Edytuj źródło danych kafelka`},addDataSource:{title:`Dodaj źródło danych kafelka`}}},breadcrumbs:{pages:{list:`strony`,add:`dodaj stronę`,edit:`edytuj stronę`,detail:`strona: {page}`,addDataSource:`dodaj źródło danych strony`,editDataSource:`edytuj źródło danych strony`},tiles:{edit:`edytuj kafelek`,detail:`szczegóły kafelka`,addDataSource:`dodaj źródło danych kafelka`,editDataSource:`edytuj źródło danych kafelka`}},headings:{pages:{list:`Strony`,add:`Dodaj stronę`,edit:`Edytuj stronę`,detail:`Strona: {page}`,remove:`Usunąć stronę?`,bulkRemove:`Usunąć strony?`,selectPlugin:`Wymagana wtyczka strony`,adjustFilters:`Filtruj strony`,addDataSource:`Dodaj źródło danych strony`,editDataSource:`Edytuj źródło danych strony`},tiles:{add:`Dodaj kafelek`,edit:`Edytuj kafelek`,detail:`Szczegóły kafelka`,remove:`Usunąć kafelek?`,selectPlugin:`Wymagana wtyczka kafelka`,adjustFilters:`Filtruj kafelki`,addDataSource:`Dodaj źródło danych kafelka`,editDataSource:`Edytuj źródło danych kafelka`},dataSources:{add:`Dodaj źródło danych`,edit:`Edytuj źródło danych`,remove:`Usunąć źródło danych?`,selectPlugin:`Wymagana wtyczka źródła danych`,adjustFilters:`Filtruj źródła danych`},misc:{discard:`Odrzucić zmiany?`}},subHeadings:{pages:{list:`Zarządzaj stronami smart panelu`,add:`Dodaj nową stronę smart panelu`,edit:`Edytuj stronę smart panelu`,detail:`Zarządzaj stroną smart panelu`,adjustFilters:`Dostosuj filtry wyświetlania`,addDataSource:`Dodaj nowe źródło danych strony smart panelu`,editDataSource:`Edytuj źródło danych strony smart panelu`},tiles:{add:`Dodaj nowy kafelek smart panelu`,edit:`Edytuj kafelek smart panelu`,detail:`Zarządzaj kafelkiem smart panelu`,adjustFilters:`Dostosuj filtry wyświetlania`,addDataSource:`Dodaj nowe źródło danych kafelka smart panelu`,editDataSource:`Edytuj źródło danych kafelka smart panelu`},dataSources:{add:`Dodaj nowe źródło danych smart panelu`,edit:`Edytuj źródło danych smart panelu`,detail:`Zarządzaj źródłem danych smart panelu`,adjustFilters:`Dostosuj filtry wyświetlania`}},messages:{pages:{notFound:`Strona, której szukasz, nie istnieje lub mogła zostać usunięta.`,confirmRemove:`Czy na pewno chcesz usunąć stronę: {page}? Tej operacji nie można cofnąć.`,created:`Nowa strona została pomyślnie dodana.`,notCreated:`Coś poszło nie tak. Nie udało się utworzyć strony.`,edited:`Zmiany zapisane! Strona: {page} została zaktualizowana.`,notEdited:`Coś poszło nie tak. Aktualizacja strony nie powiodła się.`,removed:`Strona: {page} została pomyślnie usunięta.`,removeCanceled:`Usunięcie strony: {page} zostało anulowane.`,notRemoved:`Coś poszło nie tak i strona: {page} nie została usunięta.`,noDetailAllowed:`Tego typu strony nie można otworzyć, ponieważ nie ma widoku szczegółowego.`,deletedWhileEditing:`Ta strona została usunięta i nie jest już dostępna.`,bulkRemoved:`{count} stron zostało pomyślnie usuniętych.`,bulkRemoveFailed:`Nie udało się usunąć {count} stron.`,bulkRemoveCanceled:`Masowe usuwanie stron zostało anulowane.`},tiles:{notFound:`Kafelek, którego szukasz, nie istnieje lub mógł zostać usunięty.`,confirmRemove:`Czy na pewno chcesz usunąć kafelek? Tej operacji nie można cofnąć.`,created:`Nowy kafelek został pomyślnie dodany.`,notCreated:`Coś poszło nie tak. Nie udało się utworzyć kafelka.`,edited:`Zmiany zapisane! Kafelek został zaktualizowany.`,notEdited:`Coś poszło nie tak. Aktualizacja kafelka nie powiodła się.`,removed:`Kafelek został pomyślnie usunięty.`,removeCanceled:`Usuwanie kafelka zostało anulowane.`,notRemoved:`Coś poszło nie tak i kafelek nie został usunięty.`,deletedWhileEditing:`Ten kafelek został usunięty i nie jest już dostępny.`},dataSources:{notFound:`Źródło danych, którego szukasz, nie istnieje lub mogło zostać usunięte.`,confirmRemove:`Czy na pewno chcesz usunąć źródło danych? Tej operacji nie można cofnąć.`,created:`Nowe źródło danych zostało pomyślnie dodane.`,notCreated:`Coś poszło nie tak. Nie udało się utworzyć źródła danych.`,edited:`Zmiany zapisane! Źródło danych zostało zaktualizowane.`,notEdited:`Coś poszło nie tak. Aktualizacja źródła danych nie powiodła się.`,removed:`Źródło danych zostało pomyślnie usunięte.`,removeCanceled:`Usuwanie źródła danych zostało anulowane.`,notRemoved:`Coś poszło nie tak i źródło danych nie zostało usunięte.`,deletedWhileEditing:`To źródło danych zostało usunięte i nie jest już dostępne.`},misc:{requestError:`Coś poszło nie tak, spróbuj ponownie później.`}},texts:{pages:{noPages:`Nie masz skonfigurowanych żadnych stron`,noFilteredPages:`Nie znaleziono stron pasujących do aktywnych kryteriów filtra`,loadingPages:`Ładowanie stron...`,loadingPage:`Ładowanie strony...`,confirmRemove:`Czy na pewno chcesz usunąć stronę: {page}? Tej operacji nie można cofnąć.`,confirmBulkRemove:`Czy na pewno chcesz usunąć {count} stron? Tej operacji nie można cofnąć.`,selectPlugin:`Aby utworzyć nową stronę, wybierz kompatybilną wtyczkę z listy. Wtyczki zapewniają niezbędne opcje konfiguracji dla określonych typów stron.`,noPlugins:`Nie skonfigurowano jeszcze żadnych wtyczek stron.`,noDisplays:`Nie sparowano jeszcze żadnych wyświetlaczy.`},tiles:{noTiles:`Nie masz skonfigurowanych żadnych kafelków`,noFilteredTiles:`Nie znaleziono kafelków pasujących do aktywnych kryteriów filtra`,loadingTiles:`Ładowanie kafelków...`,loadingTile:`Ładowanie kafelka...`,confirmRemove:`Czy na pewno chcesz usunąć kafelek? Tej operacji nie można cofnąć.`,selectPlugin:`Aby utworzyć nowe kafelki, wybierz kompatybilną wtyczkę z listy. Wtyczki zapewniają niezbędne opcje konfiguracji dla określonych typów kafelków.`,noPlugins:`Nie skonfigurowano jeszcze żadnych wtyczek kafelków.`,plugin:`Wtyczka`,dataSources:`Źródła danych`,dataSourcesCount:`Brak skonfigurowanych źródeł danych | Jedno skonfigurowane źródło danych | {count} skonfigurowanych źródeł danych`,row:`Pozycja wiersza`,col:`Pozycja kolumny`,size:`Rozmiar`,visibility:`Widoczność`,hidden:`Kafelek jest ukryty`,visible:`Kafelek jest widoczny`},dataSources:{noDataSources:`Nie masz skonfigurowanych żadnych źródeł danych`,noFilteredDataSources:`Nie znaleziono źródeł danych pasujących do aktywnych kryteriów filtra`,loadingDataSources:`Ładowanie źródeł danych...`,loadingDataSource:`Ładowanie źródła danych...`,confirmRemove:`Czy na pewno chcesz usunąć źródło danych? Tej operacji nie można cofnąć.`,selectPlugin:`Aby utworzyć nowe źródło danych, wybierz kompatybilną wtyczkę z listy. Wtyczki zapewniają niezbędne opcje konfiguracji dla określonych typów źródeł danych.`,noPlugins:`Nie skonfigurowano jeszcze żadnych wtyczek źródeł danych.`},misc:{confirmDiscard:`Masz niezapisane zmiany. Czy na pewno chcesz je odrzucić?`}},fields:{pages:{search:{placeholder:`Szukaj stron...`},plugin:{title:`Wtyczka strony`,placeholder:`Wybierz wtyczkę strony`},id:{title:`Identyfikator wewnętrzny`,placeholder:`ID strony`},title:{title:`Tytuł`,placeholder:`Tytuł strony`,validation:{required:`Proszę podać tytuł strony`}},icon:{title:`Ikona`,placeholder:`Ikona strony`},order:{title:`Kolejność`,placeholder:`Pozycja strony`},showTopBar:{title:`Pokaż górny pasek`,placeholder:`Pokaż górny pasek strony`},displays:{title:`Wyświetlacze`,placeholder:`Wybierz wyświetlacze (pozostaw puste dla wszystkich wyświetlaczy)`,description:`Wybierz konkretne wyświetlacze dla tej strony. Pozostaw puste, aby była widoczna na wszystkich wyświetlaczach.`}},tiles:{search:{placeholder:`Szukaj kafelków...`},plugin:{title:`Wtyczka kafelka`,placeholder:`Wybierz wtyczkę kafelka`},id:{title:`Identyfikator wewnętrzny`,placeholder:`ID kafelka`},row:{title:`Pozycja wiersza`,placeholder:`Numer wiersza 1-n`,validation:{required:`Proszę podać wiersz kafelka`}},col:{title:`Pozycja kolumny`,placeholder:`Numer kolumny 1-n`,validation:{required:`Proszę podać kolumnę kafelka`}},rowSpan:{title:`Rozpiętość wierszy`,placeholder:`Rozmiar kafelka w wierszach`},colSpan:{title:`Rozpiętość kolumn`,placeholder:`Rozmiar kafelka w kolumnach`},hidden:{title:`Ukryty`,placeholder:`Ukryj kafelek w aplikacji wyświetlacza`}},dataSources:{search:{placeholder:`Szukaj źródeł danych...`},plugin:{title:`Wtyczka źródła danych`,placeholder:`Wybierz wtyczkę źródła danych`},id:{title:`Identyfikator wewnętrzny`,placeholder:`ID źródła danych`}}},table:{pages:{columns:{title:{title:`Tytuł`},type:{title:`Typ`},display:{title:`Wyświetlacze`,all:`Wszystkie wyświetlacze`},order:{title:`Kolejność`},showTopBar:{title:`Pokaż górny pasek`}}},tiles:{columns:{type:{title:`Typ`},row:{title:`Wiersz`},col:{title:`Kolumna`},rowSpan:{title:`Rozpiętość wierszy`},colSpan:{title:`Rozpiętość kolumn`},hidden:{title:`Ukryty`}}},dataSources:{columns:{type:{title:`Typ`}}}},filters:{pages:{types:{title:`Filtruj według typu strony`},displays:{title:`Filtruj według wyświetlacza strony`}},tiles:{types:{title:`Filtruj według typu kafelka`}},dataSources:{types:{title:`Filtruj według typu źródła danych`}}},buttons:{add:{title:`Dodaj`},edit:{title:`Edytuj`},detail:{title:`Szczegóły`},configure:{title:`Skonfiguruj`},discard:{title:`Odrzuć`},cancel:{title:`Anuluj`},close:{title:`Zamknij`},save:{title:`Zapisz`},change:{title:`Zmień`},remove:{title:`Usuń`},resetFilters:{title:`Resetuj filtry`},yes:{title:`Tak`},no:{title:`Nie`},reset:{title:`Resetuj`},addDataSource:{title:`Dodaj źródło danych`}}},"sk-SK":{menu:{title:`Stránky`},meta:{pages:{list:{title:`Zoznam stránok`},edit:{title:`Upraviť stránku: {page}`},add:{title:`Pridať stránku`},detail:{title:`Stránka: {page}`},editDataSource:{title:`Upraviť zdroj dát stránky`},addDataSource:{title:`Pridať zdroj dát stránky`}},tiles:{edit:{title:`Upraviť dlaždicu`},detail:{title:`Detail dlaždice`},editDataSource:{title:`Upraviť zdroj dát dlaždice`},addDataSource:{title:`Pridať zdroj dát dlaždice`}}},breadcrumbs:{pages:{list:`stránky`,add:`pridať stránku`,edit:`upraviť stránku`,detail:`stránka: {page}`,addDataSource:`pridať zdroj dát stránky`,editDataSource:`upraviť zdroj dát stránky`},tiles:{edit:`upraviť dlaždicu`,detail:`detail dlaždice`,addDataSource:`pridať zdroj dát dlaždice`,editDataSource:`upraviť zdroj dát dlaždice`}},headings:{pages:{list:`Stránky`,add:`Pridať stránku`,edit:`Upraviť stránku`,detail:`Stránka: {page}`,remove:`Odstrániť stránku?`,bulkRemove:`Odstrániť stránky?`,selectPlugin:`Vyžaduje sa plugin stránky`,adjustFilters:`Filtrovať stránky`,addDataSource:`Pridať zdroj dát stránky`,editDataSource:`Upraviť zdroj dát stránky`},tiles:{add:`Pridať dlaždicu`,edit:`Upraviť dlaždicu`,detail:`Detail dlaždice`,remove:`Odstrániť dlaždicu?`,selectPlugin:`Vyžaduje sa plugin dlaždice`,adjustFilters:`Filtrovať dlaždice`,addDataSource:`Pridať zdroj dát dlaždice`,editDataSource:`Upraviť zdroj dát dlaždice`},dataSources:{add:`Pridať zdroj dát`,edit:`Upraviť zdroj dát`,remove:`Odstrániť zdroj dát?`,selectPlugin:`Vyžaduje sa plugin zdroja dát`,adjustFilters:`Filtrovať zdroje dát`},misc:{discard:`Zahodiť zmeny?`}},subHeadings:{pages:{list:`Spravujte stránky smart panelu`,add:`Pridať novú stránku smart panelu`,edit:`Upraviť stránku smart panelu`,detail:`Spravovať stránku smart panelu`,adjustFilters:`Upraviť filtre zobrazenia`,addDataSource:`Pridať nový zdroj dát stránky smart panelu`,editDataSource:`Upraviť zdroj dát stránky smart panelu`},tiles:{add:`Pridať novú dlaždicu smart panelu`,edit:`Upraviť dlaždicu smart panelu`,detail:`Spravovať dlaždicu smart panelu`,adjustFilters:`Upraviť filtre zobrazenia`,addDataSource:`Pridať nový zdroj dát dlaždice smart panelu`,editDataSource:`Upraviť zdroj dát dlaždice smart panelu`},dataSources:{add:`Pridať nový zdroj dát smart panelu`,edit:`Upraviť zdroj dát smart panelu`,detail:`Spravovať zdroj dát smart panelu`,adjustFilters:`Upraviť filtre zobrazenia`}},messages:{pages:{notFound:`Stránka, ktorú hľadáte, neexistuje alebo bola odstránená.`,confirmRemove:`Naozaj chcete odstrániť stránku: {page}? Toto sa nedá vrátiť.`,created:`Nová stránka bola úspešne pridaná.`,notCreated:`Niečo sa pokazilo. Nepodarilo sa vytvoriť stránku.`,edited:`Zmeny uložené! Stránka: {page} bola aktualizovaná.`,notEdited:`Niečo sa pokazilo. Aktualizácia stránky nebola úspešná.`,removed:`Stránka: {page} bola úspešne odstránená.`,removeCanceled:`Odstránenie stránky: {page} bolo zrušené.`,notRemoved:`Niečo sa pokazilo a stránka: {page} nebola odstránená.`,noDetailAllowed:`Tento typ stránky sa nedá otvoriť, pretože nemá detailné zobrazenie.`,deletedWhileEditing:`Táto stránka bola odstránená a už nie je dostupná.`,bulkRemoved:`{count} stránok bolo úspešne odstránených.`,bulkRemoveFailed:`Nepodarilo sa odstrániť {count} stránok.`,bulkRemoveCanceled:`Hromadné odstránenie stránok bolo zrušené.`},tiles:{notFound:`Dlaždica, ktorú hľadáte, neexistuje alebo bola odstránená.`,confirmRemove:`Naozaj chcete odstrániť dlaždicu? Toto sa nedá vrátiť.`,created:`Nová dlaždica bola úspešne pridaná.`,notCreated:`Niečo sa pokazilo. Nepodarilo sa vytvoriť dlaždicu.`,edited:`Zmeny uložené! Dlaždica bola aktualizovaná.`,notEdited:`Niečo sa pokazilo. Aktualizácia dlaždice nebola úspešná.`,removed:`Dlaždica bola úspešne odstránená.`,removeCanceled:`Odstránenie dlaždice bolo zrušené.`,notRemoved:`Niečo sa pokazilo a dlaždica nebola odstránená.`,deletedWhileEditing:`Táto dlaždica bola odstránená a už nie je dostupná.`},dataSources:{notFound:`Zdroj dát, ktorý hľadáte, neexistuje alebo bol odstránený.`,confirmRemove:`Naozaj chcete odstrániť zdroj dát? Toto sa nedá vrátiť.`,created:`Nový zdroj dát bol úspešne pridaný.`,notCreated:`Niečo sa pokazilo. Nepodarilo sa vytvoriť zdroj dát.`,edited:`Zmeny uložené! Zdroj dát bol aktualizovaný.`,notEdited:`Niečo sa pokazilo. Aktualizácia zdroja dát nebola úspešná.`,removed:`Zdroj dát bol úspešne odstránený.`,removeCanceled:`Odstránenie zdroja dát bolo zrušené.`,notRemoved:`Niečo sa pokazilo a zdroj dát nebol odstránený.`,deletedWhileEditing:`Tento zdroj dát bol odstránený a už nie je dostupný.`},misc:{requestError:`Niečo sa pokazilo, skúste to prosím neskôr.`}},texts:{pages:{noPages:`Nemáte nakonfigurovanú žiadnu stránku`,noFilteredPages:`Neboli nájdené žiadne stránky zodpovedajúce aktívnym filtrom`,loadingPages:`Načítavanie stránok...`,loadingPage:`Načítavanie stránky...`,confirmRemove:`Naozaj chcete odstrániť stránku: {page}? Toto sa nedá vrátiť.`,confirmBulkRemove:`Naozaj chcete odstrániť {count} stránok? Toto sa nedá vrátiť.`,selectPlugin:`Na vytvorenie novej stránky vyberte kompatibilný plugin zo zoznamu. Pluginy poskytujú potrebné konfiguračné možnosti pre konkrétne typy stránok.`,noPlugins:`Zatiaľ neboli nakonfigurované žiadne pluginy stránok.`,noDisplays:`Zatiaľ neboli spárované žiadne displeje.`},tiles:{noTiles:`Nemáte nakonfigurovanú žiadnu dlaždicu`,noFilteredTiles:`Neboli nájdené žiadne dlaždice zodpovedajúce aktívnym filtrom`,loadingTiles:`Načítavanie dlaždíc...`,loadingTile:`Načítavanie dlaždice...`,confirmRemove:`Naozaj chcete odstrániť dlaždicu? Toto sa nedá vrátiť.`,selectPlugin:`Na vytvorenie novej dlaždice vyberte kompatibilný plugin zo zoznamu. Pluginy poskytujú potrebné konfiguračné možnosti pre konkrétne typy dlaždíc.`,noPlugins:`Zatiaľ neboli nakonfigurované žiadne pluginy dlaždíc.`,plugin:`Plugin`,dataSources:`Zdroje dát`,dataSourcesCount:`Žiadne zdroje dát nakonfigurované | Jeden zdroj dát nakonfigurovaný | {count} zdrojov dát nakonfigurovaných`,row:`Pozícia riadku`,col:`Pozícia stĺpca`,size:`Veľkosť`,visibility:`Viditeľnosť`,hidden:`Dlaždica je skrytá`,visible:`Dlaždica je viditeľná`},dataSources:{noDataSources:`Nemáte nakonfigurovaný žiadny zdroj dát`,noFilteredDataSources:`Neboli nájdené žiadne zdroje dát zodpovedajúce aktívnym filtrom`,loadingDataSources:`Načítavanie zdrojov dát...`,loadingDataSource:`Načítavanie zdroja dát...`,confirmRemove:`Naozaj chcete odstrániť zdroj dát? Toto sa nedá vrátiť.`,selectPlugin:`Na vytvorenie nového zdroja dát vyberte kompatibilný plugin zo zoznamu. Pluginy poskytujú potrebné konfiguračné možnosti pre konkrétne typy zdrojov dát.`,noPlugins:`Zatiaľ neboli nakonfigurované žiadne pluginy zdrojov dát.`},misc:{confirmDiscard:`Máte neuložené zmeny. Naozaj ich chcete zahodiť?`}},fields:{pages:{search:{placeholder:`Vyhľadať stránky...`},plugin:{title:`Plugin stránky`,placeholder:`Vyberte plugin stránky`},id:{title:`Interný identifikátor`,placeholder:`ID stránky`},title:{title:`Názov`,placeholder:`Názov stránky`,validation:{required:`Prosím vyplňte názov stránky`}},icon:{title:`Ikona`,placeholder:`Ikona stránky`},order:{title:`Poradie`,placeholder:`Pozícia stránky`},showTopBar:{title:`Zobraziť hornú lištu`,placeholder:`Zobraziť hornú lištu stránky`},displays:{title:`Displeje`,placeholder:`Vyberte displeje (ponechajte prázdne pre všetky displeje)`,description:`Vyberte konkrétne displeje pre túto stránku. Ponechajte prázdne, aby bola viditeľná na všetkých displejoch.`}},tiles:{search:{placeholder:`Vyhľadať dlaždice...`},plugin:{title:`Plugin dlaždice`,placeholder:`Vyberte plugin dlaždice`},id:{title:`Interný identifikátor`,placeholder:`ID dlaždice`},row:{title:`Pozícia riadku`,placeholder:`Číslo riadku 1-n`,validation:{required:`Prosím vyplňte riadok dlaždice`}},col:{title:`Pozícia stĺpca`,placeholder:`Číslo stĺpca 1-n`,validation:{required:`Prosím vyplňte stĺpec dlaždice`}},rowSpan:{title:`Rozpätie riadkov`,placeholder:`Veľkosť riadku dlaždice`},colSpan:{title:`Rozpätie stĺpcov`,placeholder:`Veľkosť stĺpca dlaždice`},hidden:{title:`Skrytá`,placeholder:`Urobiť dlaždicu neviditeľnou v aplikácii displeja`}},dataSources:{search:{placeholder:`Vyhľadať zdroje dát...`},plugin:{title:`Plugin zdroja dát`,placeholder:`Vyberte plugin zdroja dát`},id:{title:`Interný identifikátor`,placeholder:`ID zdroja dát`}}},table:{pages:{columns:{title:{title:`Názov`},type:{title:`Typ`},display:{title:`Displeje`,all:`Všetky displeje`},order:{title:`Poradie`},showTopBar:{title:`Zobraziť hornú lištu`}}},tiles:{columns:{type:{title:`Typ`},row:{title:`Riadok`},col:{title:`Stĺpec`},rowSpan:{title:`Rozpätie riadkov`},colSpan:{title:`Rozpätie stĺpcov`},hidden:{title:`Skrytá`}}},dataSources:{columns:{type:{title:`Typ`}}}},filters:{pages:{types:{title:`Filtrovať podľa typu stránky`},displays:{title:`Filtrovať podľa displeja stránky`}},tiles:{types:{title:`Filtrovať podľa typu dlaždice`}},dataSources:{types:{title:`Filtrovať podľa typu zdroja dát`}}},buttons:{add:{title:`Pridať`},edit:{title:`Upraviť`},detail:{title:`Detail`},configure:{title:`Konfigurovať`},discard:{title:`Zahodiť`},cancel:{title:`Zrušiť`},close:{title:`Zavrieť`},save:{title:`Uložiť`},change:{title:`Zmeniť`},remove:{title:`Odstrániť`},resetFilters:{title:`Resetovať filtre`},yes:{title:`Áno`},no:{title:`Nie`},reset:{title:`Resetovať`},addDataSource:{title:`Pridať zdroj dát`}}}},Y=[{path:`pages`,name:C.PAGES,component:()=>h(()=>import(`./view-pages-FQaVAf16.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61])),props:!0,meta:{guards:{authenticated:!0,roles:[r.admin,r.owner]},title:()=>a.global.t(`dashboardModule.menu.title`),icon:`mdi:view-dashboard`,menu:8e3},children:[{path:`add`,name:C.PAGES_ADD,component:()=>h(()=>import(`./view-page-add-DKc0D-_Z.js`),__vite__mapDeps([62,1,2,3,4,5,6,30,63,64,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61])),props:!0,meta:{guards:{authenticated:!0,roles:[r.admin,r.owner]},title:`Add new page`,icon:`mdi:add-circle`}},{path:`:id`,name:C.PAGES_EDIT,component:()=>h(()=>import(`./view-page-edit-CalSVnS8.js`),__vite__mapDeps([65,1,2,3,4,5,6,12,63,64,9,10,11,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61])),props:!0,meta:{guards:{authenticated:!0,roles:[r.admin,r.owner]},title:`Edit page`,icon:`mdi:pencil-circle`}}]},{path:`page/:id`,name:C.PAGE,component:()=>h(()=>import(`./view-page--EqFsctG.js`),__vite__mapDeps([66,1,2,3,4,5,6,7,8,63,9,21,11,12,13,14,15,16,17,18,19,23,57,25,26,27,28,29,30,34,36,37,38,32,33,58])),props:!0,meta:{guards:{authenticated:!0,roles:[r.admin,r.owner]},title:`Page detail`,icon:`mdi:view-dashboard`},children:[{path:`edit`,name:C.PAGE_EDIT,component:()=>h(()=>import(`./view-page-edit-CalSVnS8.js`),__vite__mapDeps([65,1,2,3,4,5,6,12,63,64,9,10,11,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61])),props:!0,meta:{guards:{authenticated:!0,roles:[r.admin,r.owner]},title:`Edit page`,icon:`mdi:pencil-circle`}},{path:`data-source/add`,name:C.PAGE_ADD_DATA_SOURCE,component:()=>h(()=>import(`./view-page-data-source-add-DmdPErHH.js`),__vite__mapDeps([67,1,2,3,4,5,6,30,63,64,9,21,11,12,13,14,15,16,17,18,19,10,20,22,23,68,59,29,26,32,33])),props:e=>({pageId:e.params.id}),meta:{guards:{authenticated:!0,roles:[r.admin,r.owner]},title:`Edit page`,icon:`mdi:add-circle`}},{path:`data-source/:dataSourceId`,name:C.PAGE_EDIT_DATA_SOURCE,component:()=>h(()=>import(`./view-page-data-source-edit-CfElv5SN.js`),__vite__mapDeps([69,1,2,3,4,5,6,12,63,64,9,21,11,13,14,15,16,17,18,19,10,20,22,23,68,60,29,26])),props:e=>({id:e.params.dataSourceId,pageId:e.params.id}),meta:{guards:{authenticated:!0,roles:[r.admin,r.owner]},title:`Edit page`,icon:`mdi:pencil-circle`}}]},{path:`tile/:id`,name:C.TILE,component:()=>h(()=>import(`./view-tile-CyRM73cc.js`),__vite__mapDeps([70,1,2,3,4,5,6,34,7,8,63,9,21,11,12,13,14,15,16,17,18,19,22,56,57,25,26,27,28,29,30,36,37,38,32,33,58])),props:!0,meta:{guards:{authenticated:!0,roles:[r.admin,r.owner]},title:`Tile detail`,icon:`mdi:view-dashboard`},children:[{path:`edit`,name:C.TILE_EDIT,component:()=>h(()=>import(`./view-tile-edit-DA2fNfYL.js`),__vite__mapDeps([71,1,2,3,4,5,6,12,63,64,9,10,11,13,14,15,16,17,18,19,20,21,22,23,55,29,26,31,35])),props:!0,meta:{guards:{authenticated:!0,roles:[r.admin,r.owner]},title:`Edit tile`,icon:`mdi:pencil-circle`}},{path:`data-source/add`,name:C.TILE_ADD_DATA_SOURCE,component:()=>h(()=>import(`./view-tile-data-source-add-Dtxzfau1.js`),__vite__mapDeps([72,1,2,3,4,5,6,30,63,64,9,21,11,12,13,14,15,16,17,18,19,10,20,22,23,68,59,29,26,32,33])),props:e=>({tileId:e.params.id}),meta:{guards:{authenticated:!0,roles:[r.admin,r.owner]},title:`Add tile data source`,icon:`mdi:add-circle`}},{path:`data-source/:dataSourceId`,name:C.TILE_EDIT_DATA_SOURCE,component:()=>h(()=>import(`./view-tile-data-source-edit-BUgUtQup.js`),__vite__mapDeps([73,1,2,3,4,5,6,12,63,64,9,21,11,13,14,15,16,17,18,19,10,20,22,23,68,60,29,26])),props:e=>({id:e.params.dataSourceId,tileId:e.params.id}),meta:{guards:{authenticated:!0,roles:[r.admin,r.owner]},title:`Edit tile data source`,icon:`mdi:pencil-circle`}}]},{path:`page/:id/plugin`,name:C.PAGE_PLUGIN,component:()=>h(()=>import(`./view-page-plugin-COtv5VDP.js`),__vite__mapDeps([74,1,2,3,4,5,6,63,9,23])),props:!0,meta:{guards:{authenticated:!0,roles:[r.admin,r.owner]},title:`Page plugin`,icon:`mdi:view-dashboard`}}],X=(e,t)=>{let n=t.safeParse(u(e));if(!n.success)throw m.error(`Schema validation failed with:`,n.error),new D(`Failed to validate received data source data.`);return n.data},Z=(e,t)=>{let n=t.safeParse(p(e));if(!n.success)throw m.error(`Schema validation failed with:`,n.error),new D(`Failed to validate create data source request.`);return n.data},re=(e,t)=>{let n=t.safeParse(p(e));if(!n.success)throw m.error(`Schema validation failed with:`,n.error),new D(`Failed to validate update data source request.`);return n.data},ie={fetching:{items:[],item:[]},creating:[],updating:[],deleting:[]},ae=l(`dashboard_module-data_sources`,()=>{let t=f(),r=c(),{getElement:i}=N(),a=e(ie),o=e([]),s=e({}),l=e=>o.value.includes(e),u=e=>a.value.fetching.item.includes(e),p=e=>a.value.fetching.items.includes(e),m=e=>Object.values(s.value).filter(t=>t.parent.type===e),h=(e,t)=>Object.values(s.value??{}).filter(n=>n.parent.type===e&&n.parent.id===t),g=(e,t)=>{let n=s.value[t]??null;return n===null?null:n.parent.type===e?n:null},_={},v={},y=e=>{let t=i(e.type);return b({id:e.id,parent:e.parent,data:X(e.data,t?.schemas?.dataSourceSchema||F)})},b=e=>{let t=i(e.data.type),n={id:e.id,parent:e.parent,...e.data};if(e.id&&s.value&&e.id in s.value){let i=(t?.schemas?.dataSourceSchema||F).safeParse({...s.value[e.id],...n});if(!i.success)throw r.error(`Schema validation failed with:`,i.error),new D(`Failed to insert data source.`);return s.value[i.data.id]=i.data}let a=(t?.schemas?.dataSourceSchema||F).safeParse(n);if(!a.success)throw r.error(`Schema validation failed with:`,a.error),new D(`Failed to insert data source.`);return s.value??={},s.value[a.data.id]=a.data},S=e=>{if(s.value){if(e.parent!==void 0){let t=h(e.parent.type,e.parent.id);for(let e of t)e.id in(s.value??{})&&delete(s.value??{})[e.id];return}else if(e.id!==void 0){delete s.value[e.id];return}throw new x(`You have to provide at least parent definition or data source id`)}},C=async e=>{let r=_[e.id];if(r)return r;let o=(async()=>{if(a.value.fetching.item.includes(e.id))throw new w(`Already fetching data source.`);a.value.fetching.item.push(e.id);try{let{data:r,error:a,response:o}=await t.client.GET(`/${n}/${T}/data-source/{id}`,{params:{path:{id:e.id}}});if(r!==void 0){let e=i(r.data.type),t=X(r.data,e?.schemas?.dataSourceSchema||F);return s.value[t.id]=t,t}let c=`Failed to fetch data source.`;throw a&&(c=d(a,c)),new w(c,o.status)}finally{a.value.fetching.item=a.value.fetching.item.filter(t=>t!==e.id)}})();_[e.id]=o;try{return await o}finally{delete _[e.id]}};return{semaphore:a,firstLoad:o,data:s,firstLoadFinished:l,getting:u,fetching:p,findAll:m,findForParent:h,findById:g,onEvent:y,set:b,unset:S,get:C,fetch:async e=>{let r=v[e.parent.id];if(r)return r;let c=(async()=>{a.value.fetching.items.push(e.parent.id),o.value=o.value.filter(t=>t!==e.parent.id),o.value=[...new Set(o.value)];try{let{data:r,error:a,response:c}=await t.client.GET(`/${n}/${T}/data-source`,{params:{query:{parent_type:e.parent.type,parent_id:e.parent.id}}});if(r!==void 0){o.value.push(e.parent.id),o.value=[...new Set(o.value)];let t=Object.fromEntries(r.data.map(e=>{let t=X(e,i(e.type)?.schemas?.dataSourceSchema||F);return[t.id,t]}));return s.value={...s.value,...t},Object.values(s.value)}let l=`Failed to fetch data sources.`;throw a&&(l=d(a,l)),new w(l,c.status)}finally{a.value.fetching.items=a.value.fetching.items.filter(t=>t!==e.parent.id)}})();v[e.parent.id]=c;try{return await c}finally{delete v[e.parent.id]}},add:async e=>{let o=P.safeParse(e);if(!o.success)throw r.error(`Schema validation failed with:`,o.error),new D(`Failed to add data source.`);let c=i(e.data.type),l=(c?.schemas?.dataSourceSchema||F).safeParse({...e.data,id:e.id,type:e.data.type,parent:e.parent,draft:e.draft,createdAt:new Date});if(!l.success)throw r.error(`Schema validation failed with:`,l.error),new D(`Failed to add data source.`);if(a.value.creating.push(l.data.id),s.value[l.data.id]=l.data,l.data.draft)return a.value.creating=a.value.creating.filter(e=>e!==l.data.id),l.data;try{let{data:r,error:i,response:a}=await t.client.POST(`/${n}/${T}/data-source`,{body:{data:Z(l.data,c?.schemas?.dataSourceCreateReqSchema||j)}});if(r!==void 0&&r.data.id===e.id){let e=X(r.data,c?.schemas?.dataSourceSchema||F);return s.value[e.id]=e,e}delete s.value[l.data.id];let o=`Failed to create data source.`;throw i&&(o=d(i,o)),new w(o,a.status)}finally{a.value.creating=a.value.creating.filter(e=>e!==l.data.id)}},edit:async e=>{if(a.value.updating.includes(e.id))throw new x(`Data source is already being updated.`);if(!(e.id in s.value))throw new x(`Failed to get data source data to update.`);let o=I.safeParse(e);if(!o.success)throw r.error(`Schema validation failed with:`,o.error),new D(`Failed to edit data source.`);let c=i(e.data.type),l=(c?.schemas?.dataSourceSchema||F).safeParse({...s.value[e.id],...(0,q.omitBy)(e.data,q.isUndefined)});if(!l.success)throw r.error(`Schema validation failed with:`,l.error),new D(`Failed to edit data source.`);if(a.value.updating.push(e.id),s.value[l.data.id]=l.data,l.data.draft)return a.value.updating=a.value.updating.filter(e=>e!==l.data.id),l.data;try{let{data:r,error:i,response:a}=await t.client.PATCH(`/${n}/${T}/data-source/{id}`,{params:{path:{id:e.id}},body:{data:re(l.data,c?.schemas?.dataSourceUpdateReqSchema||M)}});if(r!==void 0){let e=X(r.data,c?.schemas?.dataSourceSchema||F);return s.value[e.id]=e,e}await C({id:e.id,parent:e.parent});let o=`Failed to update data source.`;throw i&&(o=d(i,o)),new w(o,a.status)}finally{a.value.updating=a.value.updating.filter(t=>t!==e.id)}},save:async e=>{if(a.value.updating.includes(e.id))throw new x(`Data source is already being saved.`);let o=s.value[e.id];if(!o)throw new x(`Failed to get data source data to save.`);let c=i(o.type),l=(c?.schemas?.dataSourceSchema||F).safeParse(o);if(!l.success)throw r.error(`Schema validation failed with:`,l.error),new D(`Failed to save data source.`);a.value.updating.push(e.id);try{let{data:r,error:i,response:a}=await t.client.POST(`/${n}/${T}/data-source`,{body:{data:Z(l.data,c?.schemas?.dataSourceCreateReqSchema||j)}});if(r!==void 0&&r.data.id===e.id){let e=X(r.data,c?.schemas?.dataSourceSchema||F);return s.value[e.id]=e,e}let o=`Failed to create data source.`;throw i&&(o=d(i,o)),new w(o,a.status)}finally{a.value.updating=a.value.updating.filter(t=>t!==e.id)}},remove:async e=>{if(a.value.deleting.includes(e.id))throw new x(`Data source is already being removed.`);if(!Object.keys(s.value).includes(e.id))return!0;a.value.deleting.push(e.id);let r=s.value[e.id];if(delete s.value[e.id],r?.draft)a.value.deleting=a.value.deleting.filter(t=>t!==e.id);else try{let{error:r,response:i}=await t.client.DELETE(`/${n}/${T}/data-source/{id}`,{params:{path:{id:e.id}}});if(i.status===204)return!0;await C({id:e.id,parent:e.parent});let a=`Remove data source failed.`;throw r&&(a=d(r,a)),new w(a,i.status)}finally{a.value.deleting=a.value.deleting.filter(t=>t!==e.id)}return!0}}}),oe=e=>ae(e),Q=(e,t)=>{let n=t.safeParse(u(e));if(!n.success)throw m.error(`Schema validation failed with:`,n.error),new D(`Failed to validate received page data.`);return n.data},se=(e,t)=>{let n=t.safeParse(p(e));if(!n.success)throw m.error(`Schema validation failed with:`,n.error),new D(`Failed to validate create page request.`);return n.data},ce=(e,t)=>{let n=t.safeParse(p(e));if(!n.success)throw m.error(`Schema validation failed with:`,n.error),new D(`Failed to validate update page request.`);return n.data},$=(e,t)=>{let n=t.safeParse(u(e));if(!n.success)throw m.error(`Schema validation failed with:`,n.error),new D(`Failed to validate received tile data.`);return n.data},le=(e,t)=>{let n=t.safeParse(p(e));if(!n.success)throw m.error(`Schema validation failed with:`,n.error),new D(`Failed to validate create tile request.`);return n.data},ue=(e,t)=>{let n=t.safeParse(p(e));if(!n.success)throw m.error(`Schema validation failed with:`,n.error),new D(`Failed to validate update tile request.`);return n.data},de={fetching:{items:!1,item:[]},creating:[],updating:[],deleting:[]},fe=l(`dashboard_module-pages`,()=>{let t=f(),r=c(),{getElement:i}=L(),{getElement:a}=R(),{getElement:s}=N(),l=o(),u=e(de),p=e(!1),m=e({}),h=()=>p.value,g=e=>u.value.fetching.item.includes(e),_=()=>u.value.fetching.items,v=()=>Object.values(m.value),y=e=>m.value[e]??null,S={},C={},E=e=>{let t=i(e.type);return A({id:e.id,data:Q(e.data,t?.schemas?.pageSchema||U)})},A=e=>{let t=i(e.data.type);if(e.id&&m.value&&e.id in m.value){let n=(t?.schemas?.pageSchema||U).safeParse({...m.value[e.id],...e.data});if(!n.success)throw r.error(`Schema validation failed with:`,n.error),new D(`Failed to insert page.`);return m.value[n.data.id]=n.data}let n=(t?.schemas?.pageSchema||U).safeParse({...e.data,id:e.id});if(!n.success)throw r.error(`Schema validation failed with:`,n.error),new D(`Failed to insert page.`);return m.value=m.value??{},m.value[n.data.id]=n.data},j=e=>{m.value&&delete m.value[e.id]},M=async e=>{let r=S[e.id];if(r)return r;let a=(async()=>{if(u.value.fetching.item.includes(e.id))throw new w(`Already fetching page.`);u.value.fetching.item.push(e.id);try{let{data:r,error:a,response:o}=await t.client.GET(`/${n}/${T}/pages/{id}`,{params:{path:{id:e.id}}});if(r!==void 0){let e=i(r.data.type),t=Q(r.data,e?.schemas?.pageSchema||U);return m.value[t.id]=t,`data_source`in r.data&&Array.isArray(r.data.data_source)&&Y(t,r.data.data_source),`tiles`in r.data&&Array.isArray(r.data.tiles)&&Z(t,r.data.tiles),t}let s=`Failed to fetch page.`;throw a&&(s=d(a,s)),new w(s,o.status)}finally{u.value.fetching.item=u.value.fetching.item.filter(t=>t!==e.id)}})();S[e.id]=a;try{return await a}finally{delete S[e.id]}},P=async()=>{if(`all`in C)return C.all;let e=(async()=>{if(u.value.fetching.items)throw new w(`Already fetching pages.`);u.value.fetching.items=!0,p.value=!1;try{let{data:e,error:r,response:a}=await t.client.GET(`/${n}/${T}/pages`);if(e!==void 0)return p.value=!0,m.value=Object.fromEntries(e.data.map(e=>{let t=Q(e,i(e.type)?.schemas?.pageSchema||U);return`data_source`in e&&Array.isArray(e.data_source)&&Y(t,e.data_source),`tiles`in e&&Array.isArray(e.tiles)&&Z(t,e.tiles),[t.id,t]})),Object.values(m.value);let o=`Failed to fetch pages.`;throw r&&(o=d(r,o)),new w(o,a.status)}finally{u.value.fetching.items=!1}})();C.all=e;try{return await e}finally{delete C.all}},I=async e=>{let a=B.safeParse(e);if(!a.success)throw r.error(`Schema validation failed with:`,a.error),new D(`Failed to add page.`);let o=i(e.data.type),s=(o?.schemas?.pageSchema||U).safeParse({...e.data,id:a.data.id,draft:a.data.draft,createdAt:new Date});if(!s.success)throw r.error(`Schema validation failed with:`,s.error),new D(`Failed to add page.`);if(u.value.creating.push(s.data.id),m.value[s.data.id]=s.data,s.data.draft)return u.value.creating=u.value.creating.filter(e=>e!==s.data.id),s.data;try{let{data:r,error:i,response:a}=await t.client.POST(`/${n}/${T}/pages`,{body:{data:se(s.data,o?.schemas?.pageCreateReqSchema||G)}});if(r!==void 0&&r.data.id===e.id){let e=Q(r.data,o?.schemas?.pageSchema||U);return m.value[e.id]=e,`data_source`in r.data&&Array.isArray(r.data.data_source)&&Y(e,r.data.data_source),`tiles`in r.data&&Array.isArray(r.data.tiles)&&Z(e,r.data.tiles),e}delete m.value[s.data.id];let c=`Failed to create page.`;throw i&&(c=d(i,c)),new w(c,a.status)}finally{u.value.creating=u.value.creating.filter(e=>e!==s.data.id)}},z=async e=>{if(u.value.updating.includes(e.id))throw new x(`Page is already being updated.`);if(!(e.id in m.value))throw new x(`Failed to get page data to update.`);let a=te.safeParse(e);if(!a.success)throw r.error(`Schema validation failed with:`,a.error),new D(`Failed to edit page.`);let o=i(e.data.type),s=(o?.schemas?.pageSchema||U).safeParse({...m.value[e.id],...(0,q.omitBy)(e.data,q.isUndefined)});if(!s.success)throw r.error(`Schema validation failed with:`,s.error),new D(`Failed to edit page.`);if(u.value.updating.push(e.id),m.value[s.data.id]=s.data,s.data.draft)return u.value.updating=u.value.updating.filter(e=>e!==s.data.id),s.data;try{let{data:r,error:i,response:a}=await t.client.PATCH(`/${n}/${T}/pages/{id}`,{params:{path:{id:e.id}},body:{data:ce(s.data,o?.schemas?.pageUpdateReqSchema||ne)}});if(r!==void 0){let e=Q(r.data,o?.schemas?.pageSchema||U);return m.value[e.id]=e,e}await M({id:e.id});let c=`Failed to update page.`;throw i&&(c=d(i,c)),new w(c,a.status)}finally{u.value.updating=u.value.updating.filter(t=>t!==e.id)}},H=async e=>{if(u.value.updating.includes(e.id))throw new x(`Page is already being saved.`);let a=m.value[e.id];if(!a)throw new x(`Failed to get page data to save.`);let o=i(a.type),s=(o?.schemas?.pageSchema||U).safeParse(a);if(!s.success)throw r.error(`Schema validation failed with:`,s.error),new D(`Failed to save page.`);u.value.updating.push(e.id);try{let{data:r,error:i,response:a}=await t.client.POST(`/${n}/${T}/pages`,{body:{data:se(s.data,o?.schemas?.pageCreateReqSchema||G)}});if(r!==void 0&&r.data.id===e.id){let e=Q(r.data,o?.schemas?.pageSchema||U);return m.value[e.id]=e,`data_source`in r.data&&Array.isArray(r.data.data_source)&&Y(e,r.data.data_source),`tiles`in r.data&&Array.isArray(r.data.tiles)&&Z(e,r.data.tiles),e}let c=`Failed to create page.`;throw i&&(c=d(i,c)),new w(c,a.status)}finally{u.value.updating=u.value.updating.filter(t=>t!==e.id)}},ee=async e=>{if(u.value.deleting.includes(e.id))throw new x(`Page is already being removed.`);if(!Object.keys(m.value).includes(e.id))return!0;u.value.deleting.push(e.id);let r=m.value[e.id];if(delete m.value[e.id],r?.draft)u.value.deleting=u.value.deleting.filter(t=>t!==e.id);else try{let{error:r,response:i}=await t.client.DELETE(`/${n}/${T}/pages/{id}`,{params:{path:{id:e.id}}});if(i.status===204)return K(e.id),!0;await M({id:e.id});let a=`Remove account failed.`;throw r&&(a=d(r,a)),new w(a,i.status)}finally{u.value.deleting=u.value.deleting.filter(t=>t!==e.id)}return!0},K=e=>{let t=l.getStore(O),n=l.getStore(k);n.unset({parent:{type:`page`,id:e}}),t.findForParent(`page`,e).forEach(e=>{n.unset({parent:{type:`tile`,id:e.id}})}),t.unset({parent:{type:`page`,id:e}})},J=async e=>{let r=[],i=[];for(let t of e.ids){let e=m.value[t];e!==void 0&&(e.draft?r:i).push(t)}for(let e of r)j({id:e}),K(e);if(i.length===0)return{succeeded:r,failed:[]};u.value.deleting.push(...i);try{let{data:e,error:a}=await t.client.POST(`/${n}/${T}/pages/bulk-remove`,{body:{data:{ids:i}}});if(a!==void 0||e===void 0)throw new w(`Received unexpected response.`);let o=V.parse(e.data);for(let e of o.succeeded)j({id:e}),K(e);return{succeeded:[...r,...o.succeeded],failed:o.failed}}catch(e){throw new w(`Failed to remove pages.`,null,e)}finally{u.value.deleting=u.value.deleting.filter(e=>!i.includes(e))}},Y=(e,t)=>{let n=l.getStore(k);t.forEach(t=>{let r=s(t.type);n.set({id:t.id,parent:{type:`page`,id:e.id},data:X(t,r?.schemas?.dataSourceSchema||F)})}),b(n.firstLoad,e.id)},Z=(e,t)=>{let n=l.getStore(O),r=l.getStore(k);t.forEach(t=>{let i=a(t.type);n.set({id:t.id,parent:{type:`page`,id:e.id},data:$(t,i?.schemas?.tileSchema||W)}),t.data_source.forEach(e=>{let n=s(e.type);r.set({id:e.id,parent:{type:`tile`,id:t.id},data:X(e,n?.schemas?.dataSourceSchema||F)})}),b(r.firstLoad,t.id)}),b(n.firstLoad,e.id)};return{isLoaded:()=>h()||v().length>0,refresh:()=>P(),semaphore:u,firstLoad:p,data:m,firstLoadFinished:h,getting:g,fetching:_,findAll:v,findById:y,onEvent:E,set:A,unset:j,get:M,fetch:P,add:I,edit:z,save:H,remove:ee,bulkRemove:J}}),pe=e=>fe(e),me={fetching:{items:[],item:[]},creating:[],updating:[],deleting:[]},he=l(`dashboard_module-tiles`,()=>{let t=f(),r=c(),{getElement:i}=R(),{getElement:a}=N(),s=o(),l=e(me),u=e([]),p=e({}),m=e=>u.value.includes(e),h=e=>l.value.fetching.item.includes(e),g=e=>l.value.fetching.items.includes(e),_=e=>Object.values(p.value).filter(t=>t.parent.type===e),v=(e,t)=>Object.values(p.value??{}).filter(n=>n.parent.type===e&&n.parent.id===t),y=(e,t)=>{let n=p.value[t]??null;return n===null?null:n.parent.type===e?n:null},S={},C={},E=e=>{let t=i(e.type);return O({id:e.id,parent:e.parent,data:$(e.data,t?.schemas?.tileSchema||W)})},O=e=>{let t=i(e.data.type),n={id:e.id,parent:e.parent,...e.data};if(e.id&&p.value&&e.id in p.value){let i=(t?.schemas?.tileSchema||W).safeParse({...p.value[e.id],...n});if(!i.success)throw r.error(`Schema validation failed with:`,i.error),new D(`Failed to insert tile.`);return p.value[i.data.id]=i.data}let a=(t?.schemas?.tileSchema||W).safeParse(n);if(!a.success)throw r.error(`Schema validation failed with:`,a.error),new D(`Failed to insert tile.`);return p.value??={},p.value[a.data.id]=a.data},A=e=>{if(p.value){if(e.parent!==void 0){let t=v(e.parent.type,e.parent.id);for(let e of t)e.id in(p.value??{})&&delete(p.value??{})[e.id];return}else if(e.id!==void 0){delete p.value[e.id];return}throw new x(`You have to provide at least parent definition or tile id`)}},j=async e=>{let r=S[e.id];if(r)return r;let a=(async()=>{if(l.value.fetching.item.includes(e.id))throw new w(`Already fetching tile.`);l.value.fetching.item.push(e.id);try{let{data:r,error:a,response:o}=await t.client.GET(`/${n}/${T}/tiles/{id}`,{params:{path:{id:e.id}}});if(r!==void 0){let e=i(r.data.type),t=$(r.data,e?.schemas?.tileSchema||W);return p.value[t.id]=t,V(t,r.data.data_source),t}let s=`Failed to fetch tile.`;throw a&&(s=d(a,s)),new w(s,o.status)}finally{l.value.fetching.item=l.value.fetching.item.filter(t=>t!==e.id)}})();S[e.id]=a;try{return await a}finally{delete S[e.id]}},M=async e=>{let r=C[e.parent.id];if(r)return r;let a=(async()=>{l.value.fetching.items.push(e.parent.id),u.value=u.value.filter(t=>t!==e.parent.id),u.value=[...new Set(u.value)];try{let{data:r,error:a,response:o}=await t.client.GET(`/${n}/${T}/tiles`,{params:{query:{parent_type:e.parent.type,parent_id:e.parent.id}}});if(r!==void 0){u.value.push(e.parent.id),u.value=[...new Set(u.value)];let t=Object.fromEntries(r.data.map(e=>{let t=$(e,i(e.type)?.schemas?.tileSchema||W);return V(t,e.data_source),[t.id,t]}));return p.value={...p.value,...t},Object.values(p.value)}let s=`Failed to fetch tiles.`;throw a&&(s=d(a,s)),new w(s,o.status)}finally{l.value.fetching.items=l.value.fetching.items.filter(t=>t!==e.parent.id)}})();C[e.parent.id]=a;try{return await a}finally{delete C[e.parent.id]}},P=async e=>{let a=z.safeParse(e);if(!a.success)throw r.error(`Schema validation failed with:`,a.error),new D(`Failed to add tile.`);let o=i(e.data.type),s=(o?.schemas?.tileSchema||W).safeParse({...e.data,id:e.id,type:e.data.type,parent:e.parent,draft:e.draft,createdAt:new Date});if(!s.success)throw r.error(`Schema validation failed with:`,s.error),new D(`Failed to add tile.`);if(l.value.creating.push(s.data.id),p.value[s.data.id]=s.data,s.data.draft)return l.value.creating=l.value.creating.filter(e=>e!==s.data.id),s.data;try{let{data:r,error:i,response:a}=await t.client.POST(`/${n}/${T}/tiles`,{body:{data:le(s.data,o?.schemas?.tileCreateReqSchema||K)}});if(r!==void 0&&r.data.id===e.id){let e=$(r.data,o?.schemas?.tileSchema||W);return p.value[e.id]=e,V(e,r.data.data_source),e}delete p.value[s.data.id];let c=`Failed to create tile.`;throw i&&(c=d(i,c)),new w(c,a.status)}finally{l.value.creating=l.value.creating.filter(e=>e!==s.data.id)}},I=async e=>{if(l.value.updating.includes(e.id))throw new x(`Tile is already being updated.`);if(!(e.id in p.value))throw new x(`Failed to get tile data to update.`);let a=ee.safeParse(e);if(!a.success)throw r.error(`Schema validation failed with:`,a.error),new D(`Failed to edit tile.`);let o=i(e.data.type),s=(o?.schemas?.tileSchema||W).safeParse({...p.value[e.id],...(0,q.omitBy)(e.data,q.isUndefined),parent:e.parent});if(!s.success)throw r.error(`Schema validation failed with:`,s.error),new D(`Failed to edit tile.`);if(l.value.updating.push(e.id),p.value[s.data.id]=s.data,s.data.draft)return l.value.updating=l.value.updating.filter(e=>e!==s.data.id),s.data;try{let{data:r,error:i,response:a}=await t.client.PATCH(`/${n}/${T}/tiles/{id}`,{params:{path:{id:e.id}},body:{data:ue(s.data,o?.schemas?.tileUpdateReqSchema||H)}});if(r!==void 0){let e=$(r.data,o?.schemas?.tileSchema||W);return p.value[e.id]=e,V(e,r.data.data_source),e}await j({id:e.id,parent:e.parent});let c=`Failed to update tile.`;throw i&&(c=d(i,c)),new w(c,a.status)}finally{l.value.updating=l.value.updating.filter(t=>t!==e.id)}},L=async e=>{if(l.value.updating.includes(e.id))throw new x(`Tile is already being saved.`);let a=p.value[e.id];if(!a)throw new x(`Failed to get tile data to save.`);let o=i(a.type),s=(o?.schemas?.tileSchema||W).safeParse(a);if(!s.success)throw r.error(`Schema validation failed with:`,s.error),new D(`Failed to save tile.`);l.value.updating.push(e.id);try{let{data:r,error:i,response:a}=await t.client.POST(`/${n}/${T}/tiles`,{body:{data:le(s.data,o?.schemas?.tileCreateReqSchema||K)}});if(r!==void 0&&r.data.id===e.id){let e=$(r.data,o?.schemas?.tileSchema||W);return p.value[e.id]=e,V(e,r.data.data_source),e}let c=`Failed to create tile.`;throw i&&(c=d(i,c)),new w(c,a.status)}finally{l.value.updating=l.value.updating.filter(t=>t!==e.id)}},B=async e=>{if(l.value.deleting.includes(e.id))throw new x(`Tile is already being removed.`);if(!Object.keys(p.value).includes(e.id))return!0;l.value.deleting.push(e.id);let r=p.value[e.id];if(delete p.value[e.id],r?.draft)l.value.deleting=l.value.deleting.filter(t=>t!==e.id);else try{let{error:r,response:i}=await t.client.DELETE(`/${n}/${T}/tiles/{id}`,{params:{path:{id:e.id}}});if(i.status===204)return s.getStore(k).unset({parent:e.parent}),!0;await j({id:e.id,parent:e.parent});let a=`Remove tile failed.`;throw r&&(a=d(r,a)),new w(a,i.status)}finally{l.value.deleting=l.value.deleting.filter(t=>t!==e.id)}return!0},V=(e,t)=>{let n=s.getStore(k);t.forEach(t=>{let r=a(t.type);n.set({id:t.id,parent:{type:`tile`,id:e.id},data:X(t,r?.schemas?.dataSourceSchema||F)})}),b(n.firstLoad,e.id)};return{semaphore:l,firstLoad:u,data:p,firstLoadFinished:m,getting:h,fetching:g,findAll:_,findForParent:v,findById:y,onEvent:E,set:O,unset:A,get:j,fetch:M,add:P,edit:I,save:L,remove:B}}),ge=e=>he(e),_e=Symbol(`FB-Module-Dashboard`),ve={install:(e,n)=>{let r=o(e),a=i(e),s=g(e),c=y(e),l=v(e);for(let[e,t]of Object.entries(J)){let r=(0,q.defaultsDeep)(n.i18n.global.getLocaleMessage(e),{dashboardModule:t});n.i18n.global.setLocaleMessage(e,r)}let u=pe(n.store);e.provide(E,u),r.addStore(E,u);let d=ge(n.store);e.provide(O,d),r.addStore(O,d);let f=oe(n.store);e.provide(k,f),r.addStore(k,f),c.addModule(_e,{type:S,name:`Dashboards`,description:`Design pages and tiles that show the information you care about most.`,elements:[]}),n.router.getRoutes().find(e=>e.name===t.ROOT)&&Y.forEach(e=>{n.router.addRoute(t.ROOT,e)}),l.register(_e,()=>_([u])),a.on(`event`,e=>{if(e?.event?.startsWith(`DashboardModule.`)&&!(e.payload===null||typeof e.payload!=`object`||!(`id`in e.payload)||typeof e.payload.id!=`string`||!(`type`in e.payload)||typeof e.payload.type!=`string`))switch(e.event){case A.PAGE_CREATED:case A.PAGE_UPDATED:u.onEvent({id:e.payload.id,type:e.payload.type,data:e.payload});break;case A.PAGE_DELETED:u.unset({id:e.payload.id});break;case A.TILE_CREATED:case A.TILE_UPDATED:if(!(`parent`in e.payload)||typeof e.payload.parent!=`object`||e.payload.parent===null||!(`type`in e.payload.parent)||typeof e.payload.parent.type!=`string`||!(`id`in e.payload.parent)||typeof e.payload.parent.id!=`string`)return;d.onEvent({id:e.payload.id,type:e.payload.type,parent:{id:e.payload.parent.id,type:e.payload.parent.type},data:e.payload});break;case A.TILE_DELETED:d.unset({id:e.payload.id});break;case A.DATA_SOURCE_CREATED:case A.DATA_SOURCE_UPDATED:if(!(`parent`in e.payload)||typeof e.payload.parent!=`object`||e.payload.parent===null||!(`type`in e.payload.parent)||typeof e.payload.parent.type!=`string`||!(`id`in e.payload.parent)||typeof e.payload.parent.id!=`string`)return;f.onEvent({id:e.payload.id,type:e.payload.type,parent:{id:e.payload.parent.id,type:e.payload.parent.type},data:e.payload});break;case A.DATA_SOURCE_DELETED:f.unset({id:e.payload.id});break;default:s.warn(`Unhandled dashboard module event:`,e.event)}})}};export{$ as n,X as r,ve as t};
@@ -0,0 +1 @@
1
+ import{a as e,bt as t,ct as n,ft as r,gt as i,ht as a,ot as o,st as s,xt as c,yt as l}from"./common-CoPMwt15.js";import{a as u,d,o as f}from"./types-DNTr_87G.js";import"./composables-fi_xPbcU.js";var p=i({id:d,type:l().trim().nonempty(),draft:s().default(!1),title:l().trim().nonempty(),icon:l().trim().nullable().default(null),order:a().default(0),showTopBar:s().default(!0),displays:o(l().uuid()).nullable().default(null),createdAt:t([l().datetime({offset:!0}),n()]).transform(e=>e instanceof Date?e:new Date(e)),updatedAt:t([l().datetime({offset:!0}),n()]).transform(e=>e instanceof Date?e:new Date(e)).optional().nullable().default(null)});i({fetching:i({items:s().default(!1),item:o(d)}),creating:o(d),updating:o(d),deleting:o(d)}),i({id:d,type:l().trim().nonempty(),data:r({})}),i({id:d,data:i({type:l().trim().nonempty(),title:l().trim().nonempty(),icon:l().trim().transform(e=>e===``?null:e).nullable().default(null).optional(),order:a().default(0),showTopBar:s().default(!0),displays:o(l().uuid()).nullable().default(null)}).catchall(c())}),i({id:d}),i({id:d});var m=i({id:d.optional().default(e()),draft:s().optional().default(!1),data:i({type:l().trim().nonempty(),title:l().trim().nonempty(),icon:l().trim().transform(e=>e===``?null:e).nullable().default(null).optional(),order:a().default(0),showTopBar:s().default(!0).optional(),displays:o(l().uuid()).nullable().optional()}).catchall(c())}),h=i({id:d,data:i({type:l().trim().nonempty(),title:l().trim().optional(),icon:l().trim().transform(e=>e===``?null:e).nullable().default(null).optional(),order:a().optional(),showTopBar:s().optional(),displays:o(l().uuid()).nullable().optional()}).catchall(c())});i({id:d}),i({id:d}),i({ids:o(d).nonempty()});var g=i({succeeded:o(l()),failed:o(i({id:l(),reason:l()}))}),_=i({id:l().uuid().optional(),type:l().trim().nonempty(),title:l().trim().nonempty(),icon:l().trim().transform(e=>e===``?null:e).nullable().optional(),order:a(),show_top_bar:s().optional(),displays:o(l().uuid()).nullable().optional()}),v=i({type:l().trim().nonempty(),title:l().trim().nonempty().optional(),icon:l().trim().transform(e=>e===``?null:e).nullable().optional(),order:a().optional(),show_top_bar:s().optional(),displays:o(l().uuid()).nullable().optional()}),y=i({id:l().uuid(),type:l().trim().nonempty(),title:l().trim().nonempty(),icon:l().trim().nullable(),order:a(),show_top_bar:s(),data_source:o(f),displays:o(l().uuid()).nullable(),created_at:l().date(),updated_at:l().date().nullable()}),b=i({id:d,type:l().trim().nonempty(),parent:i({id:d,type:l().trim().nonempty()}),draft:s().default(!1),row:a(),col:a(),rowSpan:a().default(1),colSpan:a().default(1),hidden:s().default(!1),createdAt:t([l().datetime({offset:!0}),n()]).transform(e=>e instanceof Date?e:new Date(e)),updatedAt:t([l().datetime({offset:!0}),n()]).transform(e=>e instanceof Date?e:new Date(e)).optional().nullable().default(null)});i({fetching:i({items:o(d).default([]),item:o(d)}),creating:o(d),updating:o(d),deleting:o(d)}),i({id:d,parent:i({id:d,type:l().trim().nonempty()}),type:l().trim().nonempty(),data:r({})}),i({id:d,parent:i({id:d,type:l().trim().nonempty()}),data:i({type:l().trim().nonempty(),row:a(),col:a(),rowSpan:a().default(1),colSpan:a().default(1),hidden:s().default(!1)}).catchall(c())}),i({id:d.optional(),parent:i({id:d,type:l().trim().nonempty()}).optional()}),i({id:d,parent:i({id:d,type:l().trim().nonempty()}).optional()}),i({parent:i({id:d,type:l().trim().nonempty()})});var x=i({id:d.optional().default(e()),parent:i({id:d,type:l().trim().nonempty()}),draft:s().optional().default(!1),data:i({type:l().trim().nonempty(),row:a(),col:a(),rowSpan:a().default(1),colSpan:a().default(1),hidden:s().default(!1)}).catchall(c())}),S=i({id:d,parent:i({id:d,type:l().trim().nonempty()}),data:i({type:l().trim().nonempty(),row:a().optional(),col:a().optional(),rowSpan:a().optional(),colSpan:a().optional(),hidden:s().optional()}).catchall(c())});i({id:d,parent:i({id:d,type:l().trim().nonempty()})}),i({id:d,parent:i({id:d,type:l().trim().nonempty()})});var C=i({id:l().uuid().optional(),type:l().trim().nonempty(),parent:i({id:l().uuid(),type:l().trim().nonempty()}),row:a(),col:a(),row_span:a().default(1),col_span:a().default(1),hidden:s().default(!1),data_source:o(u).optional()}),w=i({type:l().trim().nonempty(),parent:i({id:l().uuid(),type:l().trim().nonempty()}),row:a().optional(),col:a().optional(),row_span:a().optional(),col_span:a().optional(),hidden:s().optional()}),T=i({id:l().uuid(),type:l().trim().nonempty(),parent:i({id:l().uuid(),type:l().trim().nonempty()}),row:a(),col:a(),row_span:a(),col_span:a(),hidden:s(),created_at:l().date(),updated_at:l().date().nullable(),data_source:o(f)});export{x as a,y as c,m as d,g as f,w as i,p as l,T as n,S as o,h as p,b as r,_ as s,C as t,v as u};
@@ -0,0 +1 @@
1
+ import"./rolldown-runtime-QTnfLwEv.js";import{Nr as e,Or as t,Pr as n,Qr as r,T as i,ci as a,ji as o,ui as s}from"./icon-with-child-CgZMNB3F.js";import{Xr as c}from"./common-CoPMwt15.js";import{n as l,t as u}from"./form-BXQzDd7P.js";import{d}from"./keys-DgS2vm-E.js";import{t as f}from"./composables-fi_xPbcU.js";var p=n({name:`DataSourceEditForm`,__name:`data-source-edit-form`,props:{dataSource:{},remoteFormSubmit:{type:Boolean},remoteFormResult:{default:d.NONE},remoteFormReset:{type:Boolean,default:!1},remoteFormChanged:{type:Boolean,default:!1},onlyDraft:{type:Boolean,default:!1}},emits:[`update:remote-form-submit`,`update:remote-form-result`,`update:remote-form-reset`,`update:remote-form-changed`],setup(n,{emit:d}){let p=n,m=d,{t:h}=i(),{model:g,formEl:_,formChanged:v,submit:y,formResult:b}=f({dataSource:p.dataSource,onlyDraft:p.onlyDraft});return a(()=>b.value,async e=>{m(`update:remote-form-result`,e)}),a(()=>p.remoteFormSubmit,async e=>{e&&(m(`update:remote-form-submit`,!1),y().catch(()=>{}))}),a(()=>p.remoteFormReset,e=>{if(m(`update:remote-form-reset`,!1),e){if(!_.value)return;_.value.resetFields()}}),a(()=>v.value,e=>{m(`update:remote-form-changed`,e)}),(n,i)=>(r(),t(o(u),{ref_key:`formEl`,ref:_,model:o(g),"label-position":`top`,"status-icon":``},{default:s(()=>[e(o(l),{label:o(h)(`dashboardModule.fields.dataSources.id.title`),prop:[`id`]},{default:s(()=>[e(o(c),{modelValue:o(g).id,"onUpdate:modelValue":i[0]||=e=>o(g).id=e,placeholder:o(h)(`dashboardModule.fields.dataSources.id.placeholder`),name:`id`,readonly:``,disabled:``},null,8,[`modelValue`,`placeholder`])]),_:1},8,[`label`])]),_:1},8,[`model`]))}});export{p as t};
@@ -0,0 +1 @@
1
+ import{$r as e,Ar as t,Ct as n,Dr as r,Dt as i,Er as a,Ft as o,Lr as s,Mr as c,Mt as l,Nr as u,Or as d,Pr as f,Qr as p,Wi as m,bn as h,bt as g,cn as _,di as v,ei as y,ji as b,kr as x,ln as S,qi as C,si as w,ti as T,xr as E,z as D,zr as O}from"./icon-with-child-CgZMNB3F.js";import{fi as k,pi as A}from"./common-CoPMwt15.js";var j=[`left`,`center`,`right`],M=_({border:Boolean,column:{type:Number,default:3},direction:{type:String,values:[`horizontal`,`vertical`],default:`horizontal`},size:i,title:{type:String,default:``},extra:{type:String,default:``},labelWidth:{type:[String,Number]}}),N=`ElDescriptionsItem`,P=f({name:N,props:_({label:{type:String,default:``},span:{type:Number,default:1},rowspan:{type:Number,default:1},width:{type:[String,Number],default:``},minWidth:{type:[String,Number],default:``},labelWidth:{type:[String,Number]},align:{type:String,values:j,default:`left`},labelAlign:{type:String,values:j},className:{type:String,default:``},labelClassName:{type:String,default:``}})}),F=Symbol(`elDescriptions`),I=_({row:{type:S(Array),default:()=>[]}}),L=f({name:`ElDescriptionsCell`,props:{cell:{type:Object},tag:{type:String,default:`td`},type:{type:String}},setup(){return{descriptions:O(F,{})}},render(){let e=A(this.cell),t=(this.cell?.dirs||[]).map(e=>{let{dir:t,arg:n,modifiers:r,value:i}=e;return[t,i,n,r]}),{border:n,direction:r}=this.descriptions,i=r===`vertical`,a=()=>this.cell?.children?.label?.()||e.label,c=()=>this.cell?.children?.default?.(),u=e.span,d=e.rowspan,f=e.align?`is-${e.align}`:``,p=e.labelAlign?`is-${e.labelAlign}`:f,m=e.className,g=e.labelClassName,_={width:o(this.type===`label`?e.labelWidth??this.descriptions.labelWidth??e.width:e.width),minWidth:o(e.minWidth)},y=l(`descriptions`);switch(this.type){case`label`:return v(s(this.tag,{style:_,class:[y.e(`cell`),y.e(`label`),y.is(`bordered-label`,n),y.is(`vertical-label`,i),p,g],colSpan:i?u:1,rowspan:i?1:d},a()),t);case`content`:return v(s(this.tag,{style:_,class:[y.e(`cell`),y.e(`content`),y.is(`bordered-content`,n),y.is(`vertical-content`,i),f,m],colSpan:i?u:u*2-1,rowspan:i?d*2-1:d},c()),t);default:{let n=a(),r={},i=o(e.labelWidth??this.descriptions.labelWidth);return i&&(r.width=i,r.display=`inline-block`),v(s(`td`,{style:_,class:[y.e(`cell`),f],colSpan:u,rowspan:d},[h(n)?void 0:s(`span`,{style:r,class:[y.e(`label`),g]},n),s(`span`,{class:[y.e(`content`),m]},c())]),t)}}}}),R={key:1},z=f({name:`ElDescriptionsRow`,__name:`descriptions-row`,props:I,setup(e){let n=O(F,{});return(i,a)=>b(n).direction===`vertical`?(p(),t(E,{key:0},[r(`tr`,null,[(p(!0),t(E,null,y(e.row,(e,t)=>(p(),d(b(L),{key:`tr1-${t}`,cell:e,tag:`th`,type:`label`},null,8,[`cell`]))),128))]),r(`tr`,null,[(p(!0),t(E,null,y(e.row,(e,t)=>(p(),d(b(L),{key:`tr2-${t}`,cell:e,tag:`td`,type:`content`},null,8,[`cell`]))),128))])],64)):(p(),t(`tr`,R,[(p(!0),t(E,null,y(e.row,(e,r)=>(p(),t(E,{key:`tr3-${r}`},[b(n).border?(p(),t(E,{key:0},[u(b(L),{cell:e,tag:`td`,type:`label`},null,8,[`cell`]),u(b(L),{cell:e,tag:`td`,type:`content`},null,8,[`cell`])],64)):(p(),d(b(L),{key:1,cell:e,tag:`td`,type:`both`},null,8,[`cell`]))],64))),128))]))}}),B=g(f({name:`ElDescriptions`,__name:`description`,props:M,setup(n){let i=n,o=l(`descriptions`),s=D(),u=w();e(F,i);let f=a(()=>[o.b(),o.m(s.value)]),h=(e,t,n,r=!1)=>(e.props||={},t>n&&(e.props.span=n),r&&(e.props.span=t),e),g=()=>{if(!u.default)return[];let e=k(u.default()).filter(e=>e?.type?.name===N),t=[],n=[],r=i.column,a=0,o=[];return e.forEach((s,c)=>{let l=s.props?.span||1,u=s.props?.rowspan||1,d=t.length;if(o[d]||=0,u>1)for(let e=1;e<u;e++)o[d+e]||=0,o[d+e]++,a++;if(o[d]>0&&(r-=o[d],o[d]=0),c<e.length-1&&(a+=l>r?r:l),c===e.length-1){let e=i.column-a%i.column;n.push(h(s,e,r,!0)),t.push(n);return}l<r?(r-=l,n.push(s)):(n.push(h(s,l,r)),t.push(n),r=i.column,n=[])}),t};return(e,i)=>(p(),t(`div`,{class:m(f.value)},[n.title||n.extra||e.$slots.title||e.$slots.extra?(p(),t(`div`,{key:0,class:m(b(o).e(`header`))},[r(`div`,{class:m(b(o).e(`title`))},[T(e.$slots,`title`,{},()=>[c(C(n.title),1)])],2),r(`div`,{class:m(b(o).e(`extra`))},[T(e.$slots,`extra`,{},()=>[c(C(n.extra),1)])],2)],2)):x(`v-if`,!0),r(`div`,{class:m(b(o).e(`body`))},[r(`table`,{class:m([b(o).e(`table`),b(o).is(`bordered`,n.border)])},[r(`tbody`,null,[(p(!0),t(E,null,y(g(),(e,t)=>(p(),d(z,{key:t,row:e},null,8,[`row`]))),128))])],2)],2)],2))}}),{DescriptionsItem:P}),V=n(P);export{V as n,B as t};