@objectstack/console 17.6.0 → 17.7.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 (277) hide show
  1. package/CHANGELOG.md +428 -0
  2. package/dist/.objectstack-injection.json +2 -2
  3. package/dist/.objectui-sha +1 -1
  4. package/dist/assets/{ActionResultDialog-4kHDGnT3.js → ActionResultDialog-ChYnuROr.js} +3 -3
  5. package/dist/assets/{AiPendingActionsPage-JjOddm0h.js → AiPendingActionsPage-Dh3-i4BB.js} +1 -1
  6. package/dist/assets/{ApiConsolePage-BgS26lbp.js → ApiConsolePage-CKYEqlMs.js} +1 -1
  7. package/dist/assets/{AppDocsIndex-BDoH5ECM.js → AppDocsIndex-B5Tky2xg.js} +1 -1
  8. package/dist/assets/{AppManagementPage-CCgKmNTj.js → AppManagementPage-ZwyvnHpM.js} +1 -1
  9. package/dist/assets/ApprovalsInboxPage-DD4fe0Em.js +1 -0
  10. package/dist/assets/AuditLogPage-Sed6iMqP.js +1 -0
  11. package/dist/assets/BookPage-DYjUsQIc.js +1 -0
  12. package/dist/assets/{ComponentNavView-B5g9c6fx.js → ComponentNavView-DrlxM4SY.js} +1 -1
  13. package/dist/assets/CreateViewDialog-Cp72x_O7.js +1 -0
  14. package/dist/assets/{DashboardView-BOcovpPd.js → DashboardView-juicRxcP.js} +1 -1
  15. package/dist/assets/DocPage-CxJaQ-pC.js +1 -0
  16. package/dist/assets/{DocsIndex-DwW2QsYY.js → DocsIndex-LALVtIVR.js} +1 -1
  17. package/dist/assets/{DocsLayout-D63StSgd.js → DocsLayout-BAwlJQQf.js} +1 -1
  18. package/dist/assets/{DocsSlug-CP9fcabi.js → DocsSlug-CkF1E-Zs.js} +1 -1
  19. package/dist/assets/ExpressionProvider-Dr0e99r1.js +1 -0
  20. package/dist/assets/FlowRunsPage-R3W3t2s4.js +1 -0
  21. package/dist/assets/{IntegrationsPage-DvG0x0Nb.js → IntegrationsPage-DIuFLEbF.js} +2 -2
  22. package/dist/assets/InterfaceListPage-BfoCldGu.js +1 -0
  23. package/dist/assets/{MarketplaceInstalledPage-B7KETQG2.js → MarketplaceInstalledPage-DyjhcUNB.js} +1 -1
  24. package/dist/assets/MarketplacePackagePage-BbO27Pgs.js +4 -0
  25. package/dist/assets/MarketplacePage-DO2_b64U.js +1 -0
  26. package/dist/assets/{MetadataInspector-EP0I3-Kq.js → MetadataInspector-BQyu9pOE.js} +1 -1
  27. package/dist/assets/ObjectDataPage-DIY-yefK.js +1 -0
  28. package/dist/assets/PageView-C-qWu3Jw.js +1 -0
  29. package/dist/assets/ProfilePage-Qp8DL8CF.js +1 -0
  30. package/dist/assets/{PublicFormsPage-D3uCTR-8.js → PublicFormsPage-D3AT2EH9.js} +1 -1
  31. package/dist/assets/RecordDetailView-B3XBEgk2.js +3 -0
  32. package/dist/assets/{RecordFormPage-kiJI-ieF.js → RecordFormPage-CcoZfUJ3.js} +1 -1
  33. package/dist/assets/ReportDefaultInspector-DVcWM6sh.js +1 -0
  34. package/dist/assets/ReportView-pJCFptzp.js +2 -0
  35. package/dist/assets/RuntimeDraftBar-DObTyFu2.js +1 -0
  36. package/dist/assets/SchemaForm-BWSWYMLE.js +3 -0
  37. package/dist/assets/SearchResultsPage-ChVIzFob.js +1 -0
  38. package/dist/assets/{SettingsHub-DP1mrzEN.js → SettingsHub-CPP9FDe8.js} +1 -1
  39. package/dist/assets/{SettingsView-u7mc6pcc.js → SettingsView-CrHAROu9.js} +1 -1
  40. package/dist/assets/{SkeletonDetail-DIwlbHTr.js → SkeletonDetail-CP-35B8x.js} +1 -1
  41. package/dist/assets/{af-DPUgkQl0.js → af-Bhbso4Pg.js} +1 -1
  42. package/dist/assets/ai-BAPiCsNk.js +3 -0
  43. package/dist/assets/app-shell-eager-leaves-D9tgfJOe.js +1 -0
  44. package/dist/assets/{ar-B-6GTIRU.js → ar-DG8TAFtm.js} +1 -1
  45. package/dist/assets/{ar-DZ-wEl298ti.js → ar-DZ-BtSien-d.js} +1 -1
  46. package/dist/assets/{ar-EG-YBT90_S0.js → ar-EG-DpXC0zoY.js} +1 -1
  47. package/dist/assets/{ar-MA-3uT-EYh6.js → ar-MA-D1qVJLyE.js} +1 -1
  48. package/dist/assets/{ar-SA-SiQsjhhc.js → ar-SA-BIYKNgv8.js} +1 -1
  49. package/dist/assets/{ar-TN-CfzXjKzS.js → ar-TN-mUR5Mq3s.js} +1 -1
  50. package/dist/assets/{az-BqAfcNza.js → az-B7IqwHGK.js} +1 -1
  51. package/dist/assets/{be-CQgWXa9_.js → be-CnZyPaSX.js} +1 -1
  52. package/dist/assets/{be-tarask-BmNg0Sir.js → be-tarask--uMMCC7l.js} +1 -1
  53. package/dist/assets/{bg-D3evgRuS.js → bg-CZwuirtY.js} +1 -1
  54. package/dist/assets/{bn-uItkARwm.js → bn-BbOX0r-z.js} +1 -1
  55. package/dist/assets/{bs-DueReOpO.js → bs-B5W75cYR.js} +1 -1
  56. package/dist/assets/{ca-Cr3AHktR.js → ca-Be69LdIM.js} +1 -1
  57. package/dist/assets/{ckb-CTi5BET7.js → ckb-B-nKM1Vn.js} +1 -1
  58. package/dist/assets/{createDerive-CjN1i5vn.js → createDerive-CynsXU-B.js} +1 -1
  59. package/dist/assets/{cs-43mFX9jr.js → cs-qHngxH7l.js} +1 -1
  60. package/dist/assets/{cy-BBSkg3F8.js → cy-DscO2Pgf.js} +1 -1
  61. package/dist/assets/{da-C5oA5qcs.js → da-vibkaLMF.js} +1 -1
  62. package/dist/assets/data-adapter-BDsrq0TX.js +2 -0
  63. package/dist/assets/{de-AT-CApxwJzu.js → de-AT--JneEuBw.js} +1 -1
  64. package/dist/assets/{de-CPtbLlAf.js → de-BCT78XYW.js} +1 -1
  65. package/dist/assets/default-inspector-registry-Dktr6x_q.js +1 -0
  66. package/dist/assets/dist-yh3dYtHt.js +14 -0
  67. package/dist/assets/drillUrlFilters-N0RngQg6.js +1 -0
  68. package/dist/assets/{el-Dto2xBQU.js → el-Cl0y9T2b.js} +1 -1
  69. package/dist/assets/en-AU-By42tTB7.js +1 -0
  70. package/dist/assets/{en-CA-DKuJPN1U.js → en-CA-BqEEoj-Y.js} +1 -1
  71. package/dist/assets/en-GB-Cx8B9nkB.js +1 -0
  72. package/dist/assets/en-IE-CX9nv6uO.js +1 -0
  73. package/dist/assets/en-IN-ByGSBHa4.js +1 -0
  74. package/dist/assets/en-NZ-BPMwa2ZN.js +1 -0
  75. package/dist/assets/en-ZA-lj_N4R6c.js +1 -0
  76. package/dist/assets/{eo-BL8JXIWd.js → eo-oOXROuhF.js} +1 -1
  77. package/dist/assets/{es-BnoaNxsu.js → es-EudscwjH.js} +1 -1
  78. package/dist/assets/{et-tPYLNenO.js → et-CB-5LLh6.js} +1 -1
  79. package/dist/assets/{eu-CUBG6bT0.js → eu-B4-hcseX.js} +1 -1
  80. package/dist/assets/{fa-IR-Rr2d9xSs.js → fa-IR-CogavcMJ.js} +1 -1
  81. package/dist/assets/{fi-B0NVIZsV.js → fi-CIBE0mYa.js} +1 -1
  82. package/dist/assets/{formatLong-1-gt9bpo.js → formatLong-qqgm7lV1.js} +1 -1
  83. package/dist/assets/{fr-CA-CBDvLXFg.js → fr-CA-BugXMutW.js} +1 -1
  84. package/dist/assets/{fr-BbhHek8e.js → fr-CDReXYWW.js} +1 -1
  85. package/dist/assets/{fr-CH-WPNmwPn7.js → fr-CH-fiTiB6X1.js} +1 -1
  86. package/dist/assets/framework-CAuH4h0L.js +35 -0
  87. package/dist/assets/{fy-DvOBbvEF.js → fy-t_GzIAg_.js} +1 -1
  88. package/dist/assets/{gd-BQPiTPX5.js → gd-CSncIxtN.js} +1 -1
  89. package/dist/assets/getIcon-BDkBRQFw.js +1 -0
  90. package/dist/assets/{gl-BJCXK8uO.js → gl-_138Mj2S.js} +1 -1
  91. package/dist/assets/{gu-CctPRz3V.js → gu-COfH-YUT.js} +1 -1
  92. package/dist/assets/{he-CVFMk6p2.js → he-BXL4lOKY.js} +1 -1
  93. package/dist/assets/{hi-Ba30-RwS.js → hi-kXuYI0TJ.js} +1 -1
  94. package/dist/assets/{highlighted-body-OFNGDK62-BQ57IrBV.js → highlighted-body-OFNGDK62-CK7x7Gzm.js} +1 -1
  95. package/dist/assets/{hr-BZUqTbZs.js → hr-DAOsQWzI.js} +1 -1
  96. package/dist/assets/{ht-BLe05tPx.js → ht-Ch8SKz8p.js} +1 -1
  97. package/dist/assets/{hu-2CQ_Mkww.js → hu-q6W_rWPT.js} +1 -1
  98. package/dist/assets/{hy-CclcPG4H.js → hy-0M8OmwnM.js} +1 -1
  99. package/dist/assets/{i18n-BnUsCaSC.js → i18n-DTfZonAM.js} +3 -3
  100. package/dist/assets/i18n-locale-ar-O6rs-Cir.js +4 -0
  101. package/dist/assets/i18n-locale-de-CMc1jk4a.js +4 -0
  102. package/dist/assets/i18n-locale-en-CbRQO81h.js +4 -0
  103. package/dist/assets/i18n-locale-es-t47nyoCX.js +4 -0
  104. package/dist/assets/i18n-locale-fr-E425EqJM.js +4 -0
  105. package/dist/assets/i18n-locale-ja-y_fk77fz.js +4 -0
  106. package/dist/assets/i18n-locale-ko-CdnY2uCg.js +4 -0
  107. package/dist/assets/i18n-locale-pt-BaUOXS6y.js +4 -0
  108. package/dist/assets/i18n-locale-ru-pFlhX9wg.js +4 -0
  109. package/dist/assets/i18n-locale-zh-Dkj4ROTN.js +4 -0
  110. package/dist/assets/i18n-runtime-CdWyaiOD.js +1 -0
  111. package/dist/assets/{id-6JLB8s-f.js → id-BM_H1_jv.js} +1 -1
  112. package/dist/assets/index-ocmkyCt6.js +19 -0
  113. package/dist/assets/index-v2Ijn9Gr.css +2 -0
  114. package/dist/assets/{infrastructure-Cc34lEqb.js → infrastructure-CSnL6ntj.js} +2 -2
  115. package/dist/assets/integration-7NqwVHuJ.js +1 -0
  116. package/dist/assets/{is-to0CWzm1.js → is-B_7jXZfS.js} +1 -1
  117. package/dist/assets/isSameWeek-D90tBsli.js +1 -0
  118. package/dist/assets/{it-ea0B8Ujp.js → it-CBM0J9cD.js} +1 -1
  119. package/dist/assets/{it-CH-DhdfjP5Z.js → it-CH-BQltCNsR.js} +1 -1
  120. package/dist/assets/{ja-B1bzkgDW.js → ja-DBjnsx21.js} +1 -1
  121. package/dist/assets/{ja-Hira-CMrY5hXO.js → ja-Hira-BZfSmj1i.js} +1 -1
  122. package/dist/assets/{ka-DKSXLnXP.js → ka-HwpuKgUY.js} +1 -1
  123. package/dist/assets/{kk-DHwMv8Dn.js → kk-DLKA9paj.js} +1 -1
  124. package/dist/assets/{km-tpLG1xNr.js → km-BU5kermq.js} +1 -1
  125. package/dist/assets/{kn-MLreVnHA.js → kn-BNFqbCoi.js} +1 -1
  126. package/dist/assets/{ko-CI0DBazn.js → ko-D8n4uMqQ.js} +1 -1
  127. package/dist/assets/{lb-CmL572Xe.js → lb-B1empQ7m.js} +1 -1
  128. package/dist/assets/{lt-DRtUOLdw.js → lt-gMukpK3G.js} +1 -1
  129. package/dist/assets/{lv-COSHgkOP.js → lv-D2O5AnsZ.js} +1 -1
  130. package/dist/assets/{match-BQoOW8Cj.js → match-BTF6WqJh.js} +1 -1
  131. package/dist/assets/{match-B-ergJQb.js → match-Cyum2eeW.js} +1 -1
  132. package/dist/assets/{match-dfBS0YSQ.js → match-ScHH8kYk.js} +1 -1
  133. package/dist/assets/mermaid-GHXKKRXX-D4H6EVJQ.js +1 -0
  134. package/dist/assets/metadata-admin-CEhVmXFv.js +9 -0
  135. package/dist/assets/{mk-B0IH_YL_.js → mk-D-Zl0xVN.js} +1 -1
  136. package/dist/assets/{mn-P-QdQ2n3.js → mn-jJbTslgD.js} +1 -1
  137. package/dist/assets/{ms-CtyEOINy.js → ms-CUuJHLA4.js} +1 -1
  138. package/dist/assets/{mt-DfuZ2HRm.js → mt-yIcbfxKY.js} +1 -1
  139. package/dist/assets/{nb-2Hp-5Tnt.js → nb-D9WNypoj.js} +1 -1
  140. package/dist/assets/{nl-BE-mmxbfNoR.js → nl-BE-B1vKiw2h.js} +1 -1
  141. package/dist/assets/{nl-CZ_nLREz.js → nl-DC7b5e90.js} +1 -1
  142. package/dist/assets/{nn-ccWhYsNa.js → nn-uP4yJ9s0.js} +1 -1
  143. package/dist/assets/{oc-z504BFRV.js → oc-DHTqadJI.js} +1 -1
  144. package/dist/assets/{pl-DeQ7ASt-.js → pl-Bxnnizf5.js} +1 -1
  145. package/dist/assets/plugin-calendar-b7C35ANT.js +1 -0
  146. package/dist/assets/plugin-charts-b-yVtmdI.js +7 -0
  147. package/dist/assets/{plugin-chatbot-Ck47EhDX.js → plugin-chatbot-D1KW_oIO.js} +8 -8
  148. package/dist/assets/plugin-dashboard-DTkPoPEb.js +6 -0
  149. package/dist/assets/plugin-form-UIRm-FpQ.js +1 -0
  150. package/dist/assets/plugin-gantt-9dtc8zzX.js +63 -0
  151. package/dist/assets/plugin-grid-Cp4RKtMJ.js +10 -0
  152. package/dist/assets/plugin-kanban-B2JOPZIJ.js +1 -0
  153. package/dist/assets/plugin-map-CBJcVJYk.js +1 -0
  154. package/dist/assets/{plugin-markdown-BOkHcir_.js → plugin-markdown-CNlDzqP-.js} +1 -1
  155. package/dist/assets/plugin-report-IZzgQb-Q.js +59 -0
  156. package/dist/assets/plugin-timeline-DsmtjcJ3.js +1 -0
  157. package/dist/assets/plugin-tree-DTRPBdhe.js +1 -0
  158. package/dist/assets/plugin-view-D9ixsNDG.js +1 -0
  159. package/dist/assets/plugins-views-CnvkdSJK.js +3 -0
  160. package/dist/assets/{pt-BR-D80_lPYF.js → pt-BR-D416seHT.js} +1 -1
  161. package/dist/assets/{pt-CJJ1RmXd.js → pt-DwHBy9_c.js} +1 -1
  162. package/dist/assets/{ro-EuFb2TCj.js → ro-DDf1X3Np.js} +1 -1
  163. package/dist/assets/{ru-CMaVQScp.js → ru-8eM3mcgK.js} +1 -1
  164. package/dist/assets/{runtime-metadata-persistence-ClOTznqa.js → runtime-metadata-persistence-DX29lQ62.js} +1 -1
  165. package/dist/assets/{se-DsfdKLdF.js → se-D4JvQeRX.js} +1 -1
  166. package/dist/assets/{sk-BNV9omI8.js → sk-DvpgttGI.js} +1 -1
  167. package/dist/assets/{sl-DJS_nINU.js → sl-B3gCZ-_a.js} +1 -1
  168. package/dist/assets/{sq-HEgjcbHe.js → sq-CVaTmL0V.js} +1 -1
  169. package/dist/assets/{sr-CO0CFu4X.js → sr-CnH5Ffyz.js} +1 -1
  170. package/dist/assets/{sr-Latn-eE1Idzey.js → sr-Latn-Dw9w61q6.js} +1 -1
  171. package/dist/assets/src-BUry7633.js +2 -0
  172. package/dist/assets/{src-BU7L2v4J.js → src-DMDT5a27.js} +1 -1
  173. package/dist/assets/src-ZxH3AOCu.js +16 -0
  174. package/dist/assets/{studioEntry-WeMfaSGn.js → studioEntry-DAqcBFtr.js} +1 -1
  175. package/dist/assets/{submitRedirect-C2lfZSHt.js → submitRedirect-iy0oOi7I.js} +1 -1
  176. package/dist/assets/{sv-5uTzgQT3.js → sv-CU7wdxyK.js} +1 -1
  177. package/dist/assets/{ta-BzgdkBZG.js → ta-DPH6q0HR.js} +1 -1
  178. package/dist/assets/{te-Ct_pl7ZJ.js → te-BSaThkGV.js} +1 -1
  179. package/dist/assets/{th-DouAlk0-.js → th-NXP8_Qb8.js} +1 -1
  180. package/dist/assets/{tr-3XNBsI40.js → tr-DDXoH663.js} +1 -1
  181. package/dist/assets/types-zod-ChJ30y25.js +1 -0
  182. package/dist/assets/{ug-B9n24h9G.js → ug-Guus6pPe.js} +1 -1
  183. package/dist/assets/ui-components-D8wcRNrt.js +37 -0
  184. package/dist/assets/ui-layout-BYO3rRIl.js +1 -0
  185. package/dist/assets/{uk-DCAenByf.js → uk-uiy4vsp8.js} +1 -1
  186. package/dist/assets/use-book-data-DFTswcKm.js +1 -0
  187. package/dist/assets/{useActionModal-Blp4rhOk.js → useActionModal-h52Z5Pkl.js} +1 -1
  188. package/dist/assets/useCanAuthorMetadata-TDrVrYGB.js +1 -0
  189. package/dist/assets/useDatasetCatalog-BOd0Ybr1.js +1 -0
  190. package/dist/assets/{useNavTargetLabel-BOJncjIb.js → useNavTargetLabel-D8lRdb6O.js} +1 -1
  191. package/dist/assets/useOpenRecordList-C7oqUD3F.js +1 -0
  192. package/dist/assets/{usePackageL10n-Ci9uVkRZ.js → usePackageL10n-Jl2XiF2F.js} +1 -1
  193. package/dist/assets/{useSettingsLabel-CeMnMWsh.js → useSettingsLabel-CSpBDTdy.js} +1 -1
  194. package/dist/assets/{uz-Cyrl-JSeHEqu-.js → uz-Cyrl-Cmb5bvbf.js} +1 -1
  195. package/dist/assets/{uz-DT3s9bZS.js → uz-DJWxoTz4.js} +1 -1
  196. package/dist/assets/vendor-objectstack-C4eD5dbT.js +139 -0
  197. package/dist/assets/{vi-D2p-h6bY.js → vi-Bb3QoIJC.js} +1 -1
  198. package/dist/assets/{zh-CN-DHOKqAit.js → zh-CN-C-Hts1ZR.js} +1 -1
  199. package/dist/assets/{zh-HK-D4iIPY7I.js → zh-HK-CtBAZ_ZS.js} +1 -1
  200. package/dist/assets/{zh-TW-gORQ_tZh.js → zh-TW-B7DDahD-.js} +1 -1
  201. package/dist/chunk-membership.json +28 -26
  202. package/dist/eager-closure.json +107 -101
  203. package/dist/index.html +4 -4
  204. package/dist/sdui.manifest.json +486 -63
  205. package/package.json +1 -1
  206. package/dist/assets/ApprovalsInboxPage-C6S1vk0X.js +0 -1
  207. package/dist/assets/AuditLogPage-v2dKXMuk.js +0 -1
  208. package/dist/assets/BookPage-DwFMcTSN.js +0 -1
  209. package/dist/assets/CreateViewDialog-D3l-tYHM.js +0 -1
  210. package/dist/assets/DocPage-B6AkH5WI.js +0 -1
  211. package/dist/assets/ExpressionProvider-CrL6jhVq.js +0 -1
  212. package/dist/assets/FlowRunsPage-CxdaiUyk.js +0 -1
  213. package/dist/assets/InterfaceListPage-C4wPYohR.js +0 -1
  214. package/dist/assets/MarketplacePackagePage-CfgKDpNH.js +0 -4
  215. package/dist/assets/MarketplacePage-DNEyU5AE.js +0 -1
  216. package/dist/assets/ObjectDataPage-CykEm9MD.js +0 -1
  217. package/dist/assets/PageView-C6u86tni.js +0 -1
  218. package/dist/assets/ProfilePage-C3SjXMzi.js +0 -1
  219. package/dist/assets/RecordDetailView-DgR_zhP4.js +0 -3
  220. package/dist/assets/ReportDefaultInspector-BIinF0EQ.js +0 -1
  221. package/dist/assets/ReportView-BREO-ADE.js +0 -2
  222. package/dist/assets/RuntimeDraftBar-BCWfd2yS.js +0 -1
  223. package/dist/assets/SchemaForm-C4uMMZ13.js +0 -3
  224. package/dist/assets/SearchResultsPage-C6Hw_Lpn.js +0 -1
  225. package/dist/assets/ai-DPBykF2N.js +0 -3
  226. package/dist/assets/app-shell-eager-leaves-Cf2bM6uT.js +0 -1
  227. package/dist/assets/data-adapter-Cymvlczj.js +0 -1
  228. package/dist/assets/default-inspector-registry-Bs6GBn00.js +0 -1
  229. package/dist/assets/dist-BF-ssUpn.js +0 -14
  230. package/dist/assets/drillUrlFilters-hi-2d3DW.js +0 -1
  231. package/dist/assets/en-AU-FVwCiDJO.js +0 -1
  232. package/dist/assets/en-GB-DQ_y5VbJ.js +0 -1
  233. package/dist/assets/en-IE-DaXOhsZW.js +0 -1
  234. package/dist/assets/en-IN-CnRZnAom.js +0 -1
  235. package/dist/assets/en-NZ-CBZLEToK.js +0 -1
  236. package/dist/assets/en-ZA-BE59v0wZ.js +0 -1
  237. package/dist/assets/framework-DFR4HNtj.js +0 -35
  238. package/dist/assets/getIcon-Cfwf-Egt.js +0 -1
  239. package/dist/assets/i18n-locale-ar-92O_xtDZ.js +0 -4
  240. package/dist/assets/i18n-locale-de-T5ic3yH9.js +0 -4
  241. package/dist/assets/i18n-locale-en-rxr7WJYl.js +0 -4
  242. package/dist/assets/i18n-locale-es-D_WOifJ_.js +0 -4
  243. package/dist/assets/i18n-locale-fr-3cvyjMkp.js +0 -4
  244. package/dist/assets/i18n-locale-ja-DXlIkB8I.js +0 -4
  245. package/dist/assets/i18n-locale-ko-DngRpS45.js +0 -4
  246. package/dist/assets/i18n-locale-pt-BkPaFCqZ.js +0 -4
  247. package/dist/assets/i18n-locale-ru-E5wLh-y6.js +0 -4
  248. package/dist/assets/i18n-locale-zh-BL4_Yand.js +0 -4
  249. package/dist/assets/i18n-runtime-97_bDVjP.js +0 -1
  250. package/dist/assets/index-Cadlh4t_.css +0 -2
  251. package/dist/assets/index-D98sa5GF.js +0 -20
  252. package/dist/assets/integration-CeAF4JFT.js +0 -1
  253. package/dist/assets/isSameWeek-DBXaA1Gd.js +0 -1
  254. package/dist/assets/mermaid-GHXKKRXX-Bb17TtNP.js +0 -1
  255. package/dist/assets/metadata-admin-CABUxbJl.js +0 -9
  256. package/dist/assets/plugin-calendar-Cn5HaZU8.js +0 -1
  257. package/dist/assets/plugin-charts-B6RcFWbo.js +0 -7
  258. package/dist/assets/plugin-dashboard-DjEx8e5Y.js +0 -6
  259. package/dist/assets/plugin-form-CLDvL0up.js +0 -1
  260. package/dist/assets/plugin-gantt-CrVrxVdi.js +0 -63
  261. package/dist/assets/plugin-grid-D2rmQEW_.js +0 -11
  262. package/dist/assets/plugin-kanban-BUNHFfIC.js +0 -1
  263. package/dist/assets/plugin-map-y-7RQQC5.js +0 -1
  264. package/dist/assets/plugin-report-mT3jpna0.js +0 -59
  265. package/dist/assets/plugin-timeline-B1EF83D3.js +0 -1
  266. package/dist/assets/plugin-tree-MTHUt3_S.js +0 -1
  267. package/dist/assets/plugin-view-DHJI-ahf.js +0 -1
  268. package/dist/assets/plugins-views-CfkgqD30.js +0 -3
  269. package/dist/assets/src-BUtIBFDA.js +0 -1
  270. package/dist/assets/src-C0eXlKtx.js +0 -16
  271. package/dist/assets/types-zod-DXpXw10W.js +0 -1
  272. package/dist/assets/ui-components-D6cEVg0T.js +0 -37
  273. package/dist/assets/ui-layout-DgVDuPEM.js +0 -1
  274. package/dist/assets/use-book-data-CwRldFxP.js +0 -1
  275. package/dist/assets/useCanAuthorMetadata-BxCMgFRf.js +0 -1
  276. package/dist/assets/useOpenRecordList-BrwJFojQ.js +0 -1
  277. package/dist/assets/vendor-objectstack-DFqu45yM.js +0 -138
@@ -1 +1 @@
1
- import{Jr as e,Qr as t,Xr as n,qr as r}from"./ui-components-D6cEVg0T.js";import{t as i}from"./isSameWeek-DBXaA1Gd.js";function a(e,t){return t===1&&e.one?e.one:t>=2&&t<=4&&e.twoFour?e.twoFour:e.other}function o(e,t,n){return a(e,t)[n].replace(`{{count}}`,String(t))}function s(e){return[`lessThan`,`about`,`over`,`almost`].filter(function(t){return!!e.match(RegExp(`^`+t))})[0]}function c(e){let t=``;return e===`almost`&&(t=`takmer`),e===`about`&&(t=`približne`),t.length>0?t+` `:``}function l(e){let t=``;return e===`lessThan`&&(t=`menej než`),e===`over`&&(t=`viac než`),t.length>0?t+` `:``}function u(e){return e.charAt(0).toLowerCase()+e.slice(1)}var d={xSeconds:{one:{present:`sekunda`,past:`sekundou`,future:`sekundu`},twoFour:{present:`{{count}} sekundy`,past:`{{count}} sekundami`,future:`{{count}} sekundy`},other:{present:`{{count}} sekúnd`,past:`{{count}} sekundami`,future:`{{count}} sekúnd`}},halfAMinute:{other:{present:`pol minúty`,past:`pol minútou`,future:`pol minúty`}},xMinutes:{one:{present:`minúta`,past:`minútou`,future:`minútu`},twoFour:{present:`{{count}} minúty`,past:`{{count}} minútami`,future:`{{count}} minúty`},other:{present:`{{count}} minút`,past:`{{count}} minútami`,future:`{{count}} minút`}},xHours:{one:{present:`hodina`,past:`hodinou`,future:`hodinu`},twoFour:{present:`{{count}} hodiny`,past:`{{count}} hodinami`,future:`{{count}} hodiny`},other:{present:`{{count}} hodín`,past:`{{count}} hodinami`,future:`{{count}} hodín`}},xDays:{one:{present:`deň`,past:`dňom`,future:`deň`},twoFour:{present:`{{count}} dni`,past:`{{count}} dňami`,future:`{{count}} dni`},other:{present:`{{count}} dní`,past:`{{count}} dňami`,future:`{{count}} dní`}},xWeeks:{one:{present:`týždeň`,past:`týždňom`,future:`týždeň`},twoFour:{present:`{{count}} týždne`,past:`{{count}} týždňami`,future:`{{count}} týždne`},other:{present:`{{count}} týždňov`,past:`{{count}} týždňami`,future:`{{count}} týždňov`}},xMonths:{one:{present:`mesiac`,past:`mesiacom`,future:`mesiac`},twoFour:{present:`{{count}} mesiace`,past:`{{count}} mesiacmi`,future:`{{count}} mesiace`},other:{present:`{{count}} mesiacov`,past:`{{count}} mesiacmi`,future:`{{count}} mesiacov`}},xYears:{one:{present:`rok`,past:`rokom`,future:`rok`},twoFour:{present:`{{count}} roky`,past:`{{count}} rokmi`,future:`{{count}} roky`},other:{present:`{{count}} rokov`,past:`{{count}} rokmi`,future:`{{count}} rokov`}}},f=(e,t,n)=>{let r=s(e)||``,i=d[u(e.substring(r.length))];return n?.addSuffix?n.comparison&&n.comparison>0?c(r)+`o `+l(r)+o(i,t,`future`):c(r)+`pred `+l(r)+o(i,t,`past`):c(r)+l(r)+o(i,t,`present`)},p={date:t({formats:{full:`EEEE d. MMMM y`,long:`d. MMMM y`,medium:`d. M. y`,short:`d. M. y`},defaultWidth:`full`}),time:t({formats:{full:`H:mm:ss zzzz`,long:`H:mm:ss z`,medium:`H:mm:ss`,short:`H:mm`},defaultWidth:`full`}),dateTime:t({formats:{full:`{{date}}, {{time}}`,long:`{{date}}, {{time}}`,medium:`{{date}}, {{time}}`,short:`{{date}} {{time}}`},defaultWidth:`full`})},m=[`nedeľu`,`pondelok`,`utorok`,`stredu`,`štvrtok`,`piatok`,`sobotu`];function h(e){let t=m[e];switch(e){case 0:case 3:case 6:return`'minulú `+t+` o' p`;default:return`'minulý' eeee 'o' p`}}function g(e){let t=m[e];return e===4?`'vo' eeee 'o' p`:`'v `+t+` o' p`}function _(e){let t=m[e];switch(e){case 0:case 4:case 6:return`'budúcu `+t+` o' p`;default:return`'budúci' eeee 'o' p`}}var v={lastWeek:(e,t,n)=>{let r=e.getDay();return i(e,t,n)?g(r):h(r)},yesterday:`'včera o' p`,today:`'dnes o' p`,tomorrow:`'zajtra o' p`,nextWeek:(e,t,n)=>{let r=e.getDay();return i(e,t,n)?g(r):_(r)},other:`P`},y={code:`sk`,formatDistance:f,formatLong:p,formatRelative:(e,t,n,r)=>{let i=v[e];return typeof i==`function`?i(t,n,r):i},localize:{ordinalNumber:(e,t)=>Number(e)+`.`,era:n({values:{narrow:[`pred Kr.`,`po Kr.`],abbreviated:[`pred Kr.`,`po Kr.`],wide:[`pred Kristom`,`po Kristovi`]},defaultWidth:`wide`}),quarter:n({values:{narrow:[`1`,`2`,`3`,`4`],abbreviated:[`Q1`,`Q2`,`Q3`,`Q4`],wide:[`1. štvrťrok`,`2. štvrťrok`,`3. štvrťrok`,`4. štvrťrok`]},defaultWidth:`wide`,argumentCallback:e=>e-1}),month:n({values:{narrow:[`j`,`f`,`m`,`a`,`m`,`j`,`j`,`a`,`s`,`o`,`n`,`d`],abbreviated:[`jan`,`feb`,`mar`,`apr`,`máj`,`jún`,`júl`,`aug`,`sep`,`okt`,`nov`,`dec`],wide:[`január`,`február`,`marec`,`apríl`,`máj`,`jún`,`júl`,`august`,`september`,`október`,`november`,`december`]},defaultWidth:`wide`,formattingValues:{narrow:[`j`,`f`,`m`,`a`,`m`,`j`,`j`,`a`,`s`,`o`,`n`,`d`],abbreviated:[`jan`,`feb`,`mar`,`apr`,`máj`,`jún`,`júl`,`aug`,`sep`,`okt`,`nov`,`dec`],wide:[`januára`,`februára`,`marca`,`apríla`,`mája`,`júna`,`júla`,`augusta`,`septembra`,`októbra`,`novembra`,`decembra`]},defaultFormattingWidth:`wide`}),day:n({values:{narrow:[`n`,`p`,`u`,`s`,`š`,`p`,`s`],short:[`ne`,`po`,`ut`,`st`,`št`,`pi`,`so`],abbreviated:[`ne`,`po`,`ut`,`st`,`št`,`pi`,`so`],wide:[`nedeľa`,`pondelok`,`utorok`,`streda`,`štvrtok`,`piatok`,`sobota`]},defaultWidth:`wide`}),dayPeriod:n({values:{narrow:{am:`AM`,pm:`PM`,midnight:`poln.`,noon:`pol.`,morning:`ráno`,afternoon:`pop.`,evening:`več.`,night:`noc`},abbreviated:{am:`AM`,pm:`PM`,midnight:`poln.`,noon:`pol.`,morning:`ráno`,afternoon:`popol.`,evening:`večer`,night:`noc`},wide:{am:`AM`,pm:`PM`,midnight:`polnoc`,noon:`poludnie`,morning:`ráno`,afternoon:`popoludnie`,evening:`večer`,night:`noc`}},defaultWidth:`wide`,formattingValues:{narrow:{am:`AM`,pm:`PM`,midnight:`o poln.`,noon:`nap.`,morning:`ráno`,afternoon:`pop.`,evening:`več.`,night:`v n.`},abbreviated:{am:`AM`,pm:`PM`,midnight:`o poln.`,noon:`napol.`,morning:`ráno`,afternoon:`popol.`,evening:`večer`,night:`v noci`},wide:{am:`AM`,pm:`PM`,midnight:`o polnoci`,noon:`napoludnie`,morning:`ráno`,afternoon:`popoludní`,evening:`večer`,night:`v noci`}},defaultFormattingWidth:`wide`})},match:{ordinalNumber:r({matchPattern:/^(\d+)\.?/i,parsePattern:/\d+/i,valueCallback:e=>parseInt(e,10)}),era:e({matchPatterns:{narrow:/^(pred Kr\.|pred n\. l\.|po Kr\.|n\. l\.)/i,abbreviated:/^(pred Kr\.|pred n\. l\.|po Kr\.|n\. l\.)/i,wide:/^(pred Kristom|pred na[šs][íi]m letopo[čc]tom|po Kristovi|n[áa][šs]ho letopo[čc]tu)/i},defaultMatchWidth:`wide`,parsePatterns:{any:[/^pr/i,/^(po|n)/i]},defaultParseWidth:`any`}),quarter:e({matchPatterns:{narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234]\. [šs]tvr[ťt]rok/i},defaultMatchWidth:`wide`,parsePatterns:{any:[/1/i,/2/i,/3/i,/4/i]},defaultParseWidth:`any`,valueCallback:e=>e+1}),month:e({matchPatterns:{narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|m[áa]j|j[úu]n|j[úu]l|aug|sep|okt|nov|dec)/i,wide:/^(janu[áa]ra?|febru[áa]ra?|(marec|marca)|apr[íi]la?|m[áa]ja?|j[úu]na?|j[úu]la?|augusta?|(september|septembra)|(okt[óo]ber|okt[óo]bra)|(november|novembra)|(december|decembra))/i},defaultMatchWidth:`wide`,parsePatterns:{narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^m[áa]j/i,/^j[úu]n/i,/^j[úu]l/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},defaultParseWidth:`any`}),day:e({matchPatterns:{narrow:/^[npusšp]/i,short:/^(ne|po|ut|st|št|pi|so)/i,abbreviated:/^(ne|po|ut|st|št|pi|so)/i,wide:/^(nede[ľl]a|pondelok|utorok|streda|[šs]tvrtok|piatok|sobota])/i},defaultMatchWidth:`wide`,parsePatterns:{narrow:[/^n/i,/^p/i,/^u/i,/^s/i,/^š/i,/^p/i,/^s/i],any:[/^n/i,/^po/i,/^u/i,/^st/i,/^(št|stv)/i,/^pi/i,/^so/i]},defaultParseWidth:`any`}),dayPeriod:e({matchPatterns:{narrow:/^(am|pm|(o )?poln\.?|(nap\.?|pol\.?)|r[áa]no|pop\.?|ve[čc]\.?|(v n\.?|noc))/i,abbreviated:/^(am|pm|(o )?poln\.?|(napol\.?|pol\.?)|r[áa]no|pop\.?|ve[čc]er|(v )?noci?)/i,any:/^(am|pm|(o )?polnoci?|(na)?poludnie|r[áa]no|popoludn(ie|í|i)|ve[čc]er|(v )?noci?)/i},defaultMatchWidth:`any`,parsePatterns:{any:{am:/^am/i,pm:/^pm/i,midnight:/poln/i,noon:/^(nap|(na)?pol(\.|u))/i,morning:/^r[áa]no/i,afternoon:/^pop/i,evening:/^ve[čc]/i,night:/^(noc|v n\.)/i}},defaultParseWidth:`any`})},options:{weekStartsOn:1,firstWeekContainsDate:4}};export{y as default,y as sk};
1
+ import{$r as e,Jr as t,Yr as n,Zr as r}from"./ui-components-D8wcRNrt.js";import{t as i}from"./isSameWeek-D90tBsli.js";function a(e,t){return t===1&&e.one?e.one:t>=2&&t<=4&&e.twoFour?e.twoFour:e.other}function o(e,t,n){return a(e,t)[n].replace(`{{count}}`,String(t))}function s(e){return[`lessThan`,`about`,`over`,`almost`].filter(function(t){return!!e.match(RegExp(`^`+t))})[0]}function c(e){let t=``;return e===`almost`&&(t=`takmer`),e===`about`&&(t=`približne`),t.length>0?t+` `:``}function l(e){let t=``;return e===`lessThan`&&(t=`menej než`),e===`over`&&(t=`viac než`),t.length>0?t+` `:``}function u(e){return e.charAt(0).toLowerCase()+e.slice(1)}var d={xSeconds:{one:{present:`sekunda`,past:`sekundou`,future:`sekundu`},twoFour:{present:`{{count}} sekundy`,past:`{{count}} sekundami`,future:`{{count}} sekundy`},other:{present:`{{count}} sekúnd`,past:`{{count}} sekundami`,future:`{{count}} sekúnd`}},halfAMinute:{other:{present:`pol minúty`,past:`pol minútou`,future:`pol minúty`}},xMinutes:{one:{present:`minúta`,past:`minútou`,future:`minútu`},twoFour:{present:`{{count}} minúty`,past:`{{count}} minútami`,future:`{{count}} minúty`},other:{present:`{{count}} minút`,past:`{{count}} minútami`,future:`{{count}} minút`}},xHours:{one:{present:`hodina`,past:`hodinou`,future:`hodinu`},twoFour:{present:`{{count}} hodiny`,past:`{{count}} hodinami`,future:`{{count}} hodiny`},other:{present:`{{count}} hodín`,past:`{{count}} hodinami`,future:`{{count}} hodín`}},xDays:{one:{present:`deň`,past:`dňom`,future:`deň`},twoFour:{present:`{{count}} dni`,past:`{{count}} dňami`,future:`{{count}} dni`},other:{present:`{{count}} dní`,past:`{{count}} dňami`,future:`{{count}} dní`}},xWeeks:{one:{present:`týždeň`,past:`týždňom`,future:`týždeň`},twoFour:{present:`{{count}} týždne`,past:`{{count}} týždňami`,future:`{{count}} týždne`},other:{present:`{{count}} týždňov`,past:`{{count}} týždňami`,future:`{{count}} týždňov`}},xMonths:{one:{present:`mesiac`,past:`mesiacom`,future:`mesiac`},twoFour:{present:`{{count}} mesiace`,past:`{{count}} mesiacmi`,future:`{{count}} mesiace`},other:{present:`{{count}} mesiacov`,past:`{{count}} mesiacmi`,future:`{{count}} mesiacov`}},xYears:{one:{present:`rok`,past:`rokom`,future:`rok`},twoFour:{present:`{{count}} roky`,past:`{{count}} rokmi`,future:`{{count}} roky`},other:{present:`{{count}} rokov`,past:`{{count}} rokmi`,future:`{{count}} rokov`}}},f=(e,t,n)=>{let r=s(e)||``,i=d[u(e.substring(r.length))];return n?.addSuffix?n.comparison&&n.comparison>0?c(r)+`o `+l(r)+o(i,t,`future`):c(r)+`pred `+l(r)+o(i,t,`past`):c(r)+l(r)+o(i,t,`present`)},p={date:e({formats:{full:`EEEE d. MMMM y`,long:`d. MMMM y`,medium:`d. M. y`,short:`d. M. y`},defaultWidth:`full`}),time:e({formats:{full:`H:mm:ss zzzz`,long:`H:mm:ss z`,medium:`H:mm:ss`,short:`H:mm`},defaultWidth:`full`}),dateTime:e({formats:{full:`{{date}}, {{time}}`,long:`{{date}}, {{time}}`,medium:`{{date}}, {{time}}`,short:`{{date}} {{time}}`},defaultWidth:`full`})},m=[`nedeľu`,`pondelok`,`utorok`,`stredu`,`štvrtok`,`piatok`,`sobotu`];function h(e){let t=m[e];switch(e){case 0:case 3:case 6:return`'minulú `+t+` o' p`;default:return`'minulý' eeee 'o' p`}}function g(e){let t=m[e];return e===4?`'vo' eeee 'o' p`:`'v `+t+` o' p`}function _(e){let t=m[e];switch(e){case 0:case 4:case 6:return`'budúcu `+t+` o' p`;default:return`'budúci' eeee 'o' p`}}var v={lastWeek:(e,t,n)=>{let r=e.getDay();return i(e,t,n)?g(r):h(r)},yesterday:`'včera o' p`,today:`'dnes o' p`,tomorrow:`'zajtra o' p`,nextWeek:(e,t,n)=>{let r=e.getDay();return i(e,t,n)?g(r):_(r)},other:`P`},y={code:`sk`,formatDistance:f,formatLong:p,formatRelative:(e,t,n,r)=>{let i=v[e];return typeof i==`function`?i(t,n,r):i},localize:{ordinalNumber:(e,t)=>Number(e)+`.`,era:r({values:{narrow:[`pred Kr.`,`po Kr.`],abbreviated:[`pred Kr.`,`po Kr.`],wide:[`pred Kristom`,`po Kristovi`]},defaultWidth:`wide`}),quarter:r({values:{narrow:[`1`,`2`,`3`,`4`],abbreviated:[`Q1`,`Q2`,`Q3`,`Q4`],wide:[`1. štvrťrok`,`2. štvrťrok`,`3. štvrťrok`,`4. štvrťrok`]},defaultWidth:`wide`,argumentCallback:e=>e-1}),month:r({values:{narrow:[`j`,`f`,`m`,`a`,`m`,`j`,`j`,`a`,`s`,`o`,`n`,`d`],abbreviated:[`jan`,`feb`,`mar`,`apr`,`máj`,`jún`,`júl`,`aug`,`sep`,`okt`,`nov`,`dec`],wide:[`január`,`február`,`marec`,`apríl`,`máj`,`jún`,`júl`,`august`,`september`,`október`,`november`,`december`]},defaultWidth:`wide`,formattingValues:{narrow:[`j`,`f`,`m`,`a`,`m`,`j`,`j`,`a`,`s`,`o`,`n`,`d`],abbreviated:[`jan`,`feb`,`mar`,`apr`,`máj`,`jún`,`júl`,`aug`,`sep`,`okt`,`nov`,`dec`],wide:[`januára`,`februára`,`marca`,`apríla`,`mája`,`júna`,`júla`,`augusta`,`septembra`,`októbra`,`novembra`,`decembra`]},defaultFormattingWidth:`wide`}),day:r({values:{narrow:[`n`,`p`,`u`,`s`,`š`,`p`,`s`],short:[`ne`,`po`,`ut`,`st`,`št`,`pi`,`so`],abbreviated:[`ne`,`po`,`ut`,`st`,`št`,`pi`,`so`],wide:[`nedeľa`,`pondelok`,`utorok`,`streda`,`štvrtok`,`piatok`,`sobota`]},defaultWidth:`wide`}),dayPeriod:r({values:{narrow:{am:`AM`,pm:`PM`,midnight:`poln.`,noon:`pol.`,morning:`ráno`,afternoon:`pop.`,evening:`več.`,night:`noc`},abbreviated:{am:`AM`,pm:`PM`,midnight:`poln.`,noon:`pol.`,morning:`ráno`,afternoon:`popol.`,evening:`večer`,night:`noc`},wide:{am:`AM`,pm:`PM`,midnight:`polnoc`,noon:`poludnie`,morning:`ráno`,afternoon:`popoludnie`,evening:`večer`,night:`noc`}},defaultWidth:`wide`,formattingValues:{narrow:{am:`AM`,pm:`PM`,midnight:`o poln.`,noon:`nap.`,morning:`ráno`,afternoon:`pop.`,evening:`več.`,night:`v n.`},abbreviated:{am:`AM`,pm:`PM`,midnight:`o poln.`,noon:`napol.`,morning:`ráno`,afternoon:`popol.`,evening:`večer`,night:`v noci`},wide:{am:`AM`,pm:`PM`,midnight:`o polnoci`,noon:`napoludnie`,morning:`ráno`,afternoon:`popoludní`,evening:`večer`,night:`v noci`}},defaultFormattingWidth:`wide`})},match:{ordinalNumber:t({matchPattern:/^(\d+)\.?/i,parsePattern:/\d+/i,valueCallback:e=>parseInt(e,10)}),era:n({matchPatterns:{narrow:/^(pred Kr\.|pred n\. l\.|po Kr\.|n\. l\.)/i,abbreviated:/^(pred Kr\.|pred n\. l\.|po Kr\.|n\. l\.)/i,wide:/^(pred Kristom|pred na[šs][íi]m letopo[čc]tom|po Kristovi|n[áa][šs]ho letopo[čc]tu)/i},defaultMatchWidth:`wide`,parsePatterns:{any:[/^pr/i,/^(po|n)/i]},defaultParseWidth:`any`}),quarter:n({matchPatterns:{narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234]\. [šs]tvr[ťt]rok/i},defaultMatchWidth:`wide`,parsePatterns:{any:[/1/i,/2/i,/3/i,/4/i]},defaultParseWidth:`any`,valueCallback:e=>e+1}),month:n({matchPatterns:{narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|m[áa]j|j[úu]n|j[úu]l|aug|sep|okt|nov|dec)/i,wide:/^(janu[áa]ra?|febru[áa]ra?|(marec|marca)|apr[íi]la?|m[áa]ja?|j[úu]na?|j[úu]la?|augusta?|(september|septembra)|(okt[óo]ber|okt[óo]bra)|(november|novembra)|(december|decembra))/i},defaultMatchWidth:`wide`,parsePatterns:{narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^m[áa]j/i,/^j[úu]n/i,/^j[úu]l/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},defaultParseWidth:`any`}),day:n({matchPatterns:{narrow:/^[npusšp]/i,short:/^(ne|po|ut|st|št|pi|so)/i,abbreviated:/^(ne|po|ut|st|št|pi|so)/i,wide:/^(nede[ľl]a|pondelok|utorok|streda|[šs]tvrtok|piatok|sobota])/i},defaultMatchWidth:`wide`,parsePatterns:{narrow:[/^n/i,/^p/i,/^u/i,/^s/i,/^š/i,/^p/i,/^s/i],any:[/^n/i,/^po/i,/^u/i,/^st/i,/^(št|stv)/i,/^pi/i,/^so/i]},defaultParseWidth:`any`}),dayPeriod:n({matchPatterns:{narrow:/^(am|pm|(o )?poln\.?|(nap\.?|pol\.?)|r[áa]no|pop\.?|ve[čc]\.?|(v n\.?|noc))/i,abbreviated:/^(am|pm|(o )?poln\.?|(napol\.?|pol\.?)|r[áa]no|pop\.?|ve[čc]er|(v )?noci?)/i,any:/^(am|pm|(o )?polnoci?|(na)?poludnie|r[áa]no|popoludn(ie|í|i)|ve[čc]er|(v )?noci?)/i},defaultMatchWidth:`any`,parsePatterns:{any:{am:/^am/i,pm:/^pm/i,midnight:/poln/i,noon:/^(nap|(na)?pol(\.|u))/i,morning:/^r[áa]no/i,afternoon:/^pop/i,evening:/^ve[čc]/i,night:/^(noc|v n\.)/i}},defaultParseWidth:`any`})},options:{weekStartsOn:1,firstWeekContainsDate:4}};export{y as default,y as sk};
@@ -1 +1 @@
1
- import{Jr as e,Qr as t,Xr as n,qr as r}from"./ui-components-D6cEVg0T.js";function i(e){return e.one!==void 0}var a={lessThanXSeconds:{present:{one:`manj kot {{count}} sekunda`,two:`manj kot {{count}} sekundi`,few:`manj kot {{count}} sekunde`,other:`manj kot {{count}} sekund`},past:{one:`manj kot {{count}} sekundo`,two:`manj kot {{count}} sekundama`,few:`manj kot {{count}} sekundami`,other:`manj kot {{count}} sekundami`},future:{one:`manj kot {{count}} sekundo`,two:`manj kot {{count}} sekundi`,few:`manj kot {{count}} sekunde`,other:`manj kot {{count}} sekund`}},xSeconds:{present:{one:`{{count}} sekunda`,two:`{{count}} sekundi`,few:`{{count}} sekunde`,other:`{{count}} sekund`},past:{one:`{{count}} sekundo`,two:`{{count}} sekundama`,few:`{{count}} sekundami`,other:`{{count}} sekundami`},future:{one:`{{count}} sekundo`,two:`{{count}} sekundi`,few:`{{count}} sekunde`,other:`{{count}} sekund`}},halfAMinute:`pol minute`,lessThanXMinutes:{present:{one:`manj kot {{count}} minuta`,two:`manj kot {{count}} minuti`,few:`manj kot {{count}} minute`,other:`manj kot {{count}} minut`},past:{one:`manj kot {{count}} minuto`,two:`manj kot {{count}} minutama`,few:`manj kot {{count}} minutami`,other:`manj kot {{count}} minutami`},future:{one:`manj kot {{count}} minuto`,two:`manj kot {{count}} minuti`,few:`manj kot {{count}} minute`,other:`manj kot {{count}} minut`}},xMinutes:{present:{one:`{{count}} minuta`,two:`{{count}} minuti`,few:`{{count}} minute`,other:`{{count}} minut`},past:{one:`{{count}} minuto`,two:`{{count}} minutama`,few:`{{count}} minutami`,other:`{{count}} minutami`},future:{one:`{{count}} minuto`,two:`{{count}} minuti`,few:`{{count}} minute`,other:`{{count}} minut`}},aboutXHours:{present:{one:`približno {{count}} ura`,two:`približno {{count}} uri`,few:`približno {{count}} ure`,other:`približno {{count}} ur`},past:{one:`približno {{count}} uro`,two:`približno {{count}} urama`,few:`približno {{count}} urami`,other:`približno {{count}} urami`},future:{one:`približno {{count}} uro`,two:`približno {{count}} uri`,few:`približno {{count}} ure`,other:`približno {{count}} ur`}},xHours:{present:{one:`{{count}} ura`,two:`{{count}} uri`,few:`{{count}} ure`,other:`{{count}} ur`},past:{one:`{{count}} uro`,two:`{{count}} urama`,few:`{{count}} urami`,other:`{{count}} urami`},future:{one:`{{count}} uro`,two:`{{count}} uri`,few:`{{count}} ure`,other:`{{count}} ur`}},xDays:{present:{one:`{{count}} dan`,two:`{{count}} dni`,few:`{{count}} dni`,other:`{{count}} dni`},past:{one:`{{count}} dnem`,two:`{{count}} dnevoma`,few:`{{count}} dnevi`,other:`{{count}} dnevi`},future:{one:`{{count}} dan`,two:`{{count}} dni`,few:`{{count}} dni`,other:`{{count}} dni`}},aboutXWeeks:{one:`približno {{count}} teden`,two:`približno {{count}} tedna`,few:`približno {{count}} tedne`,other:`približno {{count}} tednov`},xWeeks:{one:`{{count}} teden`,two:`{{count}} tedna`,few:`{{count}} tedne`,other:`{{count}} tednov`},aboutXMonths:{present:{one:`približno {{count}} mesec`,two:`približno {{count}} meseca`,few:`približno {{count}} mesece`,other:`približno {{count}} mesecev`},past:{one:`približno {{count}} mesecem`,two:`približno {{count}} mesecema`,few:`približno {{count}} meseci`,other:`približno {{count}} meseci`},future:{one:`približno {{count}} mesec`,two:`približno {{count}} meseca`,few:`približno {{count}} mesece`,other:`približno {{count}} mesecev`}},xMonths:{present:{one:`{{count}} mesec`,two:`{{count}} meseca`,few:`{{count}} meseci`,other:`{{count}} mesecev`},past:{one:`{{count}} mesecem`,two:`{{count}} mesecema`,few:`{{count}} meseci`,other:`{{count}} meseci`},future:{one:`{{count}} mesec`,two:`{{count}} meseca`,few:`{{count}} mesece`,other:`{{count}} mesecev`}},aboutXYears:{present:{one:`približno {{count}} leto`,two:`približno {{count}} leti`,few:`približno {{count}} leta`,other:`približno {{count}} let`},past:{one:`približno {{count}} letom`,two:`približno {{count}} letoma`,few:`približno {{count}} leti`,other:`približno {{count}} leti`},future:{one:`približno {{count}} leto`,two:`približno {{count}} leti`,few:`približno {{count}} leta`,other:`približno {{count}} let`}},xYears:{present:{one:`{{count}} leto`,two:`{{count}} leti`,few:`{{count}} leta`,other:`{{count}} let`},past:{one:`{{count}} letom`,two:`{{count}} letoma`,few:`{{count}} leti`,other:`{{count}} leti`},future:{one:`{{count}} leto`,two:`{{count}} leti`,few:`{{count}} leta`,other:`{{count}} let`}},overXYears:{present:{one:`več kot {{count}} leto`,two:`več kot {{count}} leti`,few:`več kot {{count}} leta`,other:`več kot {{count}} let`},past:{one:`več kot {{count}} letom`,two:`več kot {{count}} letoma`,few:`več kot {{count}} leti`,other:`več kot {{count}} leti`},future:{one:`več kot {{count}} leto`,two:`več kot {{count}} leti`,few:`več kot {{count}} leta`,other:`več kot {{count}} let`}},almostXYears:{present:{one:`skoraj {{count}} leto`,two:`skoraj {{count}} leti`,few:`skoraj {{count}} leta`,other:`skoraj {{count}} let`},past:{one:`skoraj {{count}} letom`,two:`skoraj {{count}} letoma`,few:`skoraj {{count}} leti`,other:`skoraj {{count}} leti`},future:{one:`skoraj {{count}} leto`,two:`skoraj {{count}} leti`,few:`skoraj {{count}} leta`,other:`skoraj {{count}} let`}}};function o(e){switch(e%100){case 1:return`one`;case 2:return`two`;case 3:case 4:return`few`;default:return`other`}}var s=(e,t,n)=>{let r=``,s=`present`;n?.addSuffix&&(n.comparison&&n.comparison>0?(s=`future`,r=`čez `):(s=`past`,r=`pred `));let c=a[e];if(typeof c==`string`)r+=c;else{let e=o(t);i(c)?r+=c[e].replace(`{{count}}`,String(t)):r+=c[s][e].replace(`{{count}}`,String(t))}return r},c={date:t({formats:{full:`EEEE, dd. MMMM y`,long:`dd. MMMM y`,medium:`d. MMM y`,short:`d. MM. yy`},defaultWidth:`full`}),time:t({formats:{full:`HH:mm:ss zzzz`,long:`HH:mm:ss z`,medium:`HH:mm:ss`,short:`HH:mm`},defaultWidth:`full`}),dateTime:t({formats:{full:`{{date}} {{time}}`,long:`{{date}} {{time}}`,medium:`{{date}} {{time}}`,short:`{{date}} {{time}}`},defaultWidth:`full`})},l={lastWeek:e=>{switch(e.getDay()){case 0:return`'prejšnjo nedeljo ob' p`;case 3:return`'prejšnjo sredo ob' p`;case 6:return`'prejšnjo soboto ob' p`;default:return`'prejšnji' EEEE 'ob' p`}},yesterday:`'včeraj ob' p`,today:`'danes ob' p`,tomorrow:`'jutri ob' p`,nextWeek:e=>{switch(e.getDay()){case 0:return`'naslednjo nedeljo ob' p`;case 3:return`'naslednjo sredo ob' p`;case 6:return`'naslednjo soboto ob' p`;default:return`'naslednji' EEEE 'ob' p`}},other:`P`},u={code:`sl`,formatDistance:s,formatLong:c,formatRelative:(e,t,n,r)=>{let i=l[e];return typeof i==`function`?i(t):i},localize:{ordinalNumber:(e,t)=>Number(e)+`.`,era:n({values:{narrow:[`pr. n. št.`,`po n. št.`],abbreviated:[`pr. n. št.`,`po n. št.`],wide:[`pred našim štetjem`,`po našem štetju`]},defaultWidth:`wide`}),quarter:n({values:{narrow:[`1`,`2`,`3`,`4`],abbreviated:[`1. čet.`,`2. čet.`,`3. čet.`,`4. čet.`],wide:[`1. četrtletje`,`2. četrtletje`,`3. četrtletje`,`4. četrtletje`]},defaultWidth:`wide`,argumentCallback:e=>e-1}),month:n({values:{narrow:[`j`,`f`,`m`,`a`,`m`,`j`,`j`,`a`,`s`,`o`,`n`,`d`],abbreviated:[`jan.`,`feb.`,`mar.`,`apr.`,`maj`,`jun.`,`jul.`,`avg.`,`sep.`,`okt.`,`nov.`,`dec.`],wide:[`januar`,`februar`,`marec`,`april`,`maj`,`junij`,`julij`,`avgust`,`september`,`oktober`,`november`,`december`]},defaultWidth:`wide`}),day:n({values:{narrow:[`n`,`p`,`t`,`s`,`č`,`p`,`s`],short:[`ned.`,`pon.`,`tor.`,`sre.`,`čet.`,`pet.`,`sob.`],abbreviated:[`ned.`,`pon.`,`tor.`,`sre.`,`čet.`,`pet.`,`sob.`],wide:[`nedelja`,`ponedeljek`,`torek`,`sreda`,`četrtek`,`petek`,`sobota`]},defaultWidth:`wide`}),dayPeriod:n({values:{narrow:{am:`d`,pm:`p`,midnight:`24.00`,noon:`12.00`,morning:`j`,afternoon:`p`,evening:`v`,night:`n`},abbreviated:{am:`dop.`,pm:`pop.`,midnight:`poln.`,noon:`pold.`,morning:`jut.`,afternoon:`pop.`,evening:`več.`,night:`noč`},wide:{am:`dop.`,pm:`pop.`,midnight:`polnoč`,noon:`poldne`,morning:`jutro`,afternoon:`popoldne`,evening:`večer`,night:`noč`}},defaultWidth:`wide`,formattingValues:{narrow:{am:`d`,pm:`p`,midnight:`24.00`,noon:`12.00`,morning:`zj`,afternoon:`p`,evening:`zv`,night:`po`},abbreviated:{am:`dop.`,pm:`pop.`,midnight:`opoln.`,noon:`opold.`,morning:`zjut.`,afternoon:`pop.`,evening:`zveč.`,night:`ponoči`},wide:{am:`dop.`,pm:`pop.`,midnight:`opolnoči`,noon:`opoldne`,morning:`zjutraj`,afternoon:`popoldan`,evening:`zvečer`,night:`ponoči`}},defaultFormattingWidth:`wide`})},match:{ordinalNumber:r({matchPattern:/^(\d+)\./i,parsePattern:/\d+/i,valueCallback:e=>parseInt(e,10)}),era:e({matchPatterns:{abbreviated:/^(pr\. n\. št\.|po n\. št\.)/i,wide:/^(pred Kristusom|pred na[sš]im [sš]tetjem|po Kristusu|po na[sš]em [sš]tetju|na[sš]ega [sš]tetja)/i},defaultMatchWidth:`wide`,parsePatterns:{any:[/^pr/i,/^(po|na[sš]em)/i]},defaultParseWidth:`any`}),quarter:e({matchPatterns:{narrow:/^[1234]/i,abbreviated:/^[1234]\.\s?[čc]et\.?/i,wide:/^[1234]\. [čc]etrtletje/i},defaultMatchWidth:`wide`,parsePatterns:{any:[/1/i,/2/i,/3/i,/4/i]},defaultParseWidth:`any`,valueCallback:e=>e+1}),month:e({matchPatterns:{narrow:/^[jfmasond]/i,abbreviated:/^(jan\.|feb\.|mar\.|apr\.|maj|jun\.|jul\.|avg\.|sep\.|okt\.|nov\.|dec\.)/i,wide:/^(januar|februar|marec|april|maj|junij|julij|avgust|september|oktober|november|december)/i},defaultMatchWidth:`wide`,parsePatterns:{narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],abbreviated:[/^ja/i,/^fe/i,/^mar/i,/^ap/i,/^maj/i,/^jun/i,/^jul/i,/^av/i,/^s/i,/^o/i,/^n/i,/^d/i],wide:[/^ja/i,/^fe/i,/^mar/i,/^ap/i,/^maj/i,/^jun/i,/^jul/i,/^av/i,/^s/i,/^o/i,/^n/i,/^d/i]},defaultParseWidth:`wide`}),day:e({matchPatterns:{narrow:/^[nptsčc]/i,short:/^(ned\.|pon\.|tor\.|sre\.|[cč]et\.|pet\.|sob\.)/i,abbreviated:/^(ned\.|pon\.|tor\.|sre\.|[cč]et\.|pet\.|sob\.)/i,wide:/^(nedelja|ponedeljek|torek|sreda|[cč]etrtek|petek|sobota)/i},defaultMatchWidth:`wide`,parsePatterns:{narrow:[/^n/i,/^p/i,/^t/i,/^s/i,/^[cč]/i,/^p/i,/^s/i],any:[/^n/i,/^po/i,/^t/i,/^sr/i,/^[cč]/i,/^pe/i,/^so/i]},defaultParseWidth:`any`}),dayPeriod:e({matchPatterns:{narrow:/^(d|po?|z?v|n|z?j|24\.00|12\.00)/i,any:/^(dop\.|pop\.|o?poln(\.|o[cč]i?)|o?pold(\.|ne)|z?ve[cč](\.|er)|(po)?no[cč]i?|popold(ne|an)|jut(\.|ro)|zjut(\.|raj))/i},defaultMatchWidth:`any`,parsePatterns:{narrow:{am:/^d/i,pm:/^p/i,midnight:/^24/i,noon:/^12/i,morning:/^(z?j)/i,afternoon:/^p/i,evening:/^(z?v)/i,night:/^(n|po)/i},any:{am:/^dop\./i,pm:/^pop\./i,midnight:/^o?poln/i,noon:/^o?pold/i,morning:/j/i,afternoon:/^pop\./i,evening:/^z?ve/i,night:/(po)?no/i}},defaultParseWidth:`any`})},options:{weekStartsOn:1,firstWeekContainsDate:1}};export{u as default,u as sl};
1
+ import{$r as e,Jr as t,Yr as n,Zr as r}from"./ui-components-D8wcRNrt.js";function i(e){return e.one!==void 0}var a={lessThanXSeconds:{present:{one:`manj kot {{count}} sekunda`,two:`manj kot {{count}} sekundi`,few:`manj kot {{count}} sekunde`,other:`manj kot {{count}} sekund`},past:{one:`manj kot {{count}} sekundo`,two:`manj kot {{count}} sekundama`,few:`manj kot {{count}} sekundami`,other:`manj kot {{count}} sekundami`},future:{one:`manj kot {{count}} sekundo`,two:`manj kot {{count}} sekundi`,few:`manj kot {{count}} sekunde`,other:`manj kot {{count}} sekund`}},xSeconds:{present:{one:`{{count}} sekunda`,two:`{{count}} sekundi`,few:`{{count}} sekunde`,other:`{{count}} sekund`},past:{one:`{{count}} sekundo`,two:`{{count}} sekundama`,few:`{{count}} sekundami`,other:`{{count}} sekundami`},future:{one:`{{count}} sekundo`,two:`{{count}} sekundi`,few:`{{count}} sekunde`,other:`{{count}} sekund`}},halfAMinute:`pol minute`,lessThanXMinutes:{present:{one:`manj kot {{count}} minuta`,two:`manj kot {{count}} minuti`,few:`manj kot {{count}} minute`,other:`manj kot {{count}} minut`},past:{one:`manj kot {{count}} minuto`,two:`manj kot {{count}} minutama`,few:`manj kot {{count}} minutami`,other:`manj kot {{count}} minutami`},future:{one:`manj kot {{count}} minuto`,two:`manj kot {{count}} minuti`,few:`manj kot {{count}} minute`,other:`manj kot {{count}} minut`}},xMinutes:{present:{one:`{{count}} minuta`,two:`{{count}} minuti`,few:`{{count}} minute`,other:`{{count}} minut`},past:{one:`{{count}} minuto`,two:`{{count}} minutama`,few:`{{count}} minutami`,other:`{{count}} minutami`},future:{one:`{{count}} minuto`,two:`{{count}} minuti`,few:`{{count}} minute`,other:`{{count}} minut`}},aboutXHours:{present:{one:`približno {{count}} ura`,two:`približno {{count}} uri`,few:`približno {{count}} ure`,other:`približno {{count}} ur`},past:{one:`približno {{count}} uro`,two:`približno {{count}} urama`,few:`približno {{count}} urami`,other:`približno {{count}} urami`},future:{one:`približno {{count}} uro`,two:`približno {{count}} uri`,few:`približno {{count}} ure`,other:`približno {{count}} ur`}},xHours:{present:{one:`{{count}} ura`,two:`{{count}} uri`,few:`{{count}} ure`,other:`{{count}} ur`},past:{one:`{{count}} uro`,two:`{{count}} urama`,few:`{{count}} urami`,other:`{{count}} urami`},future:{one:`{{count}} uro`,two:`{{count}} uri`,few:`{{count}} ure`,other:`{{count}} ur`}},xDays:{present:{one:`{{count}} dan`,two:`{{count}} dni`,few:`{{count}} dni`,other:`{{count}} dni`},past:{one:`{{count}} dnem`,two:`{{count}} dnevoma`,few:`{{count}} dnevi`,other:`{{count}} dnevi`},future:{one:`{{count}} dan`,two:`{{count}} dni`,few:`{{count}} dni`,other:`{{count}} dni`}},aboutXWeeks:{one:`približno {{count}} teden`,two:`približno {{count}} tedna`,few:`približno {{count}} tedne`,other:`približno {{count}} tednov`},xWeeks:{one:`{{count}} teden`,two:`{{count}} tedna`,few:`{{count}} tedne`,other:`{{count}} tednov`},aboutXMonths:{present:{one:`približno {{count}} mesec`,two:`približno {{count}} meseca`,few:`približno {{count}} mesece`,other:`približno {{count}} mesecev`},past:{one:`približno {{count}} mesecem`,two:`približno {{count}} mesecema`,few:`približno {{count}} meseci`,other:`približno {{count}} meseci`},future:{one:`približno {{count}} mesec`,two:`približno {{count}} meseca`,few:`približno {{count}} mesece`,other:`približno {{count}} mesecev`}},xMonths:{present:{one:`{{count}} mesec`,two:`{{count}} meseca`,few:`{{count}} meseci`,other:`{{count}} mesecev`},past:{one:`{{count}} mesecem`,two:`{{count}} mesecema`,few:`{{count}} meseci`,other:`{{count}} meseci`},future:{one:`{{count}} mesec`,two:`{{count}} meseca`,few:`{{count}} mesece`,other:`{{count}} mesecev`}},aboutXYears:{present:{one:`približno {{count}} leto`,two:`približno {{count}} leti`,few:`približno {{count}} leta`,other:`približno {{count}} let`},past:{one:`približno {{count}} letom`,two:`približno {{count}} letoma`,few:`približno {{count}} leti`,other:`približno {{count}} leti`},future:{one:`približno {{count}} leto`,two:`približno {{count}} leti`,few:`približno {{count}} leta`,other:`približno {{count}} let`}},xYears:{present:{one:`{{count}} leto`,two:`{{count}} leti`,few:`{{count}} leta`,other:`{{count}} let`},past:{one:`{{count}} letom`,two:`{{count}} letoma`,few:`{{count}} leti`,other:`{{count}} leti`},future:{one:`{{count}} leto`,two:`{{count}} leti`,few:`{{count}} leta`,other:`{{count}} let`}},overXYears:{present:{one:`več kot {{count}} leto`,two:`več kot {{count}} leti`,few:`več kot {{count}} leta`,other:`več kot {{count}} let`},past:{one:`več kot {{count}} letom`,two:`več kot {{count}} letoma`,few:`več kot {{count}} leti`,other:`več kot {{count}} leti`},future:{one:`več kot {{count}} leto`,two:`več kot {{count}} leti`,few:`več kot {{count}} leta`,other:`več kot {{count}} let`}},almostXYears:{present:{one:`skoraj {{count}} leto`,two:`skoraj {{count}} leti`,few:`skoraj {{count}} leta`,other:`skoraj {{count}} let`},past:{one:`skoraj {{count}} letom`,two:`skoraj {{count}} letoma`,few:`skoraj {{count}} leti`,other:`skoraj {{count}} leti`},future:{one:`skoraj {{count}} leto`,two:`skoraj {{count}} leti`,few:`skoraj {{count}} leta`,other:`skoraj {{count}} let`}}};function o(e){switch(e%100){case 1:return`one`;case 2:return`two`;case 3:case 4:return`few`;default:return`other`}}var s=(e,t,n)=>{let r=``,s=`present`;n?.addSuffix&&(n.comparison&&n.comparison>0?(s=`future`,r=`čez `):(s=`past`,r=`pred `));let c=a[e];if(typeof c==`string`)r+=c;else{let e=o(t);i(c)?r+=c[e].replace(`{{count}}`,String(t)):r+=c[s][e].replace(`{{count}}`,String(t))}return r},c={date:e({formats:{full:`EEEE, dd. MMMM y`,long:`dd. MMMM y`,medium:`d. MMM y`,short:`d. MM. yy`},defaultWidth:`full`}),time:e({formats:{full:`HH:mm:ss zzzz`,long:`HH:mm:ss z`,medium:`HH:mm:ss`,short:`HH:mm`},defaultWidth:`full`}),dateTime:e({formats:{full:`{{date}} {{time}}`,long:`{{date}} {{time}}`,medium:`{{date}} {{time}}`,short:`{{date}} {{time}}`},defaultWidth:`full`})},l={lastWeek:e=>{switch(e.getDay()){case 0:return`'prejšnjo nedeljo ob' p`;case 3:return`'prejšnjo sredo ob' p`;case 6:return`'prejšnjo soboto ob' p`;default:return`'prejšnji' EEEE 'ob' p`}},yesterday:`'včeraj ob' p`,today:`'danes ob' p`,tomorrow:`'jutri ob' p`,nextWeek:e=>{switch(e.getDay()){case 0:return`'naslednjo nedeljo ob' p`;case 3:return`'naslednjo sredo ob' p`;case 6:return`'naslednjo soboto ob' p`;default:return`'naslednji' EEEE 'ob' p`}},other:`P`},u={code:`sl`,formatDistance:s,formatLong:c,formatRelative:(e,t,n,r)=>{let i=l[e];return typeof i==`function`?i(t):i},localize:{ordinalNumber:(e,t)=>Number(e)+`.`,era:r({values:{narrow:[`pr. n. št.`,`po n. št.`],abbreviated:[`pr. n. št.`,`po n. št.`],wide:[`pred našim štetjem`,`po našem štetju`]},defaultWidth:`wide`}),quarter:r({values:{narrow:[`1`,`2`,`3`,`4`],abbreviated:[`1. čet.`,`2. čet.`,`3. čet.`,`4. čet.`],wide:[`1. četrtletje`,`2. četrtletje`,`3. četrtletje`,`4. četrtletje`]},defaultWidth:`wide`,argumentCallback:e=>e-1}),month:r({values:{narrow:[`j`,`f`,`m`,`a`,`m`,`j`,`j`,`a`,`s`,`o`,`n`,`d`],abbreviated:[`jan.`,`feb.`,`mar.`,`apr.`,`maj`,`jun.`,`jul.`,`avg.`,`sep.`,`okt.`,`nov.`,`dec.`],wide:[`januar`,`februar`,`marec`,`april`,`maj`,`junij`,`julij`,`avgust`,`september`,`oktober`,`november`,`december`]},defaultWidth:`wide`}),day:r({values:{narrow:[`n`,`p`,`t`,`s`,`č`,`p`,`s`],short:[`ned.`,`pon.`,`tor.`,`sre.`,`čet.`,`pet.`,`sob.`],abbreviated:[`ned.`,`pon.`,`tor.`,`sre.`,`čet.`,`pet.`,`sob.`],wide:[`nedelja`,`ponedeljek`,`torek`,`sreda`,`četrtek`,`petek`,`sobota`]},defaultWidth:`wide`}),dayPeriod:r({values:{narrow:{am:`d`,pm:`p`,midnight:`24.00`,noon:`12.00`,morning:`j`,afternoon:`p`,evening:`v`,night:`n`},abbreviated:{am:`dop.`,pm:`pop.`,midnight:`poln.`,noon:`pold.`,morning:`jut.`,afternoon:`pop.`,evening:`več.`,night:`noč`},wide:{am:`dop.`,pm:`pop.`,midnight:`polnoč`,noon:`poldne`,morning:`jutro`,afternoon:`popoldne`,evening:`večer`,night:`noč`}},defaultWidth:`wide`,formattingValues:{narrow:{am:`d`,pm:`p`,midnight:`24.00`,noon:`12.00`,morning:`zj`,afternoon:`p`,evening:`zv`,night:`po`},abbreviated:{am:`dop.`,pm:`pop.`,midnight:`opoln.`,noon:`opold.`,morning:`zjut.`,afternoon:`pop.`,evening:`zveč.`,night:`ponoči`},wide:{am:`dop.`,pm:`pop.`,midnight:`opolnoči`,noon:`opoldne`,morning:`zjutraj`,afternoon:`popoldan`,evening:`zvečer`,night:`ponoči`}},defaultFormattingWidth:`wide`})},match:{ordinalNumber:t({matchPattern:/^(\d+)\./i,parsePattern:/\d+/i,valueCallback:e=>parseInt(e,10)}),era:n({matchPatterns:{abbreviated:/^(pr\. n\. št\.|po n\. št\.)/i,wide:/^(pred Kristusom|pred na[sš]im [sš]tetjem|po Kristusu|po na[sš]em [sš]tetju|na[sš]ega [sš]tetja)/i},defaultMatchWidth:`wide`,parsePatterns:{any:[/^pr/i,/^(po|na[sš]em)/i]},defaultParseWidth:`any`}),quarter:n({matchPatterns:{narrow:/^[1234]/i,abbreviated:/^[1234]\.\s?[čc]et\.?/i,wide:/^[1234]\. [čc]etrtletje/i},defaultMatchWidth:`wide`,parsePatterns:{any:[/1/i,/2/i,/3/i,/4/i]},defaultParseWidth:`any`,valueCallback:e=>e+1}),month:n({matchPatterns:{narrow:/^[jfmasond]/i,abbreviated:/^(jan\.|feb\.|mar\.|apr\.|maj|jun\.|jul\.|avg\.|sep\.|okt\.|nov\.|dec\.)/i,wide:/^(januar|februar|marec|april|maj|junij|julij|avgust|september|oktober|november|december)/i},defaultMatchWidth:`wide`,parsePatterns:{narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],abbreviated:[/^ja/i,/^fe/i,/^mar/i,/^ap/i,/^maj/i,/^jun/i,/^jul/i,/^av/i,/^s/i,/^o/i,/^n/i,/^d/i],wide:[/^ja/i,/^fe/i,/^mar/i,/^ap/i,/^maj/i,/^jun/i,/^jul/i,/^av/i,/^s/i,/^o/i,/^n/i,/^d/i]},defaultParseWidth:`wide`}),day:n({matchPatterns:{narrow:/^[nptsčc]/i,short:/^(ned\.|pon\.|tor\.|sre\.|[cč]et\.|pet\.|sob\.)/i,abbreviated:/^(ned\.|pon\.|tor\.|sre\.|[cč]et\.|pet\.|sob\.)/i,wide:/^(nedelja|ponedeljek|torek|sreda|[cč]etrtek|petek|sobota)/i},defaultMatchWidth:`wide`,parsePatterns:{narrow:[/^n/i,/^p/i,/^t/i,/^s/i,/^[cč]/i,/^p/i,/^s/i],any:[/^n/i,/^po/i,/^t/i,/^sr/i,/^[cč]/i,/^pe/i,/^so/i]},defaultParseWidth:`any`}),dayPeriod:n({matchPatterns:{narrow:/^(d|po?|z?v|n|z?j|24\.00|12\.00)/i,any:/^(dop\.|pop\.|o?poln(\.|o[cč]i?)|o?pold(\.|ne)|z?ve[cč](\.|er)|(po)?no[cč]i?|popold(ne|an)|jut(\.|ro)|zjut(\.|raj))/i},defaultMatchWidth:`any`,parsePatterns:{narrow:{am:/^d/i,pm:/^p/i,midnight:/^24/i,noon:/^12/i,morning:/^(z?j)/i,afternoon:/^p/i,evening:/^(z?v)/i,night:/^(n|po)/i},any:{am:/^dop\./i,pm:/^pop\./i,midnight:/^o?poln/i,noon:/^o?pold/i,morning:/j/i,afternoon:/^pop\./i,evening:/^z?ve/i,night:/(po)?no/i}},defaultParseWidth:`any`})},options:{weekStartsOn:1,firstWeekContainsDate:1}};export{u as default,u as sl};
@@ -1 +1 @@
1
- import{Jr as e,Qr as t,Xr as n,qr as r}from"./ui-components-D6cEVg0T.js";var i={lessThanXSeconds:{one:`më pak se një sekondë`,other:`më pak se {{count}} sekonda`},xSeconds:{one:`1 sekondë`,other:`{{count}} sekonda`},halfAMinute:`gjysëm minuti`,lessThanXMinutes:{one:`më pak se një minute`,other:`më pak se {{count}} minuta`},xMinutes:{one:`1 minutë`,other:`{{count}} minuta`},aboutXHours:{one:`rreth 1 orë`,other:`rreth {{count}} orë`},xHours:{one:`1 orë`,other:`{{count}} orë`},xDays:{one:`1 ditë`,other:`{{count}} ditë`},aboutXWeeks:{one:`rreth 1 javë`,other:`rreth {{count}} javë`},xWeeks:{one:`1 javë`,other:`{{count}} javë`},aboutXMonths:{one:`rreth 1 muaj`,other:`rreth {{count}} muaj`},xMonths:{one:`1 muaj`,other:`{{count}} muaj`},aboutXYears:{one:`rreth 1 vit`,other:`rreth {{count}} vite`},xYears:{one:`1 vit`,other:`{{count}} vite`},overXYears:{one:`mbi 1 vit`,other:`mbi {{count}} vite`},almostXYears:{one:`pothuajse 1 vit`,other:`pothuajse {{count}} vite`}},a=(e,t,n)=>{let r,a=i[e];return r=typeof a==`string`?a:t===1?a.one:a.other.replace(`{{count}}`,String(t)),n?.addSuffix?n.comparison&&n.comparison>0?`në `+r:r+` më parë`:r},o={date:t({formats:{full:`EEEE, MMMM do, y`,long:`MMMM do, y`,medium:`MMM d, y`,short:`MM/dd/yyyy`},defaultWidth:`full`}),time:t({formats:{full:`h:mm:ss a zzzz`,long:`h:mm:ss a z`,medium:`h:mm:ss a`,short:`h:mm a`},defaultWidth:`full`}),dateTime:t({formats:{full:`{{date}} 'në' {{time}}`,long:`{{date}} 'në' {{time}}`,medium:`{{date}}, {{time}}`,short:`{{date}}, {{time}}`},defaultWidth:`full`})},s={lastWeek:`'të' eeee 'e shkuar në' p`,yesterday:`'dje në' p`,today:`'sot në' p`,tomorrow:`'nesër në' p`,nextWeek:`eeee 'at' p`,other:`P`},c={code:`sq`,formatDistance:a,formatLong:o,formatRelative:(e,t,n,r)=>s[e],localize:{ordinalNumber:(e,t)=>{let n=Number(e);return t?.unit===`hour`?String(n):n===1?n+`-rë`:n===4?n+`t`:n+`-të`},era:n({values:{narrow:[`P`,`M`],abbreviated:[`PK`,`MK`],wide:[`Para Krishtit`,`Mbas Krishtit`]},defaultWidth:`wide`}),quarter:n({values:{narrow:[`1`,`2`,`3`,`4`],abbreviated:[`Q1`,`Q2`,`Q3`,`Q4`],wide:[`4-mujori I`,`4-mujori II`,`4-mujori III`,`4-mujori IV`]},defaultWidth:`wide`,argumentCallback:e=>e-1}),month:n({values:{narrow:[`J`,`S`,`M`,`P`,`M`,`Q`,`K`,`G`,`S`,`T`,`N`,`D`],abbreviated:[`Jan`,`Shk`,`Mar`,`Pri`,`Maj`,`Qer`,`Kor`,`Gus`,`Sht`,`Tet`,`Nën`,`Dhj`],wide:[`Janar`,`Shkurt`,`Mars`,`Prill`,`Maj`,`Qershor`,`Korrik`,`Gusht`,`Shtator`,`Tetor`,`Nëntor`,`Dhjetor`]},defaultWidth:`wide`}),day:n({values:{narrow:[`D`,`H`,`M`,`M`,`E`,`P`,`S`],short:[`Di`,`Hë`,`Ma`,`Më`,`En`,`Pr`,`Sh`],abbreviated:[`Die`,`Hën`,`Mar`,`Mër`,`Enj`,`Pre`,`Sht`],wide:[`Dielë`,`Hënë`,`Martë`,`Mërkurë`,`Enjte`,`Premte`,`Shtunë`]},defaultWidth:`wide`}),dayPeriod:n({values:{narrow:{am:`p`,pm:`m`,midnight:`m`,noon:`d`,morning:`mëngjes`,afternoon:`dite`,evening:`mbrëmje`,night:`natë`},abbreviated:{am:`PD`,pm:`MD`,midnight:`mesnëtë`,noon:`drek`,morning:`mëngjes`,afternoon:`mbasdite`,evening:`mbrëmje`,night:`natë`},wide:{am:`p.d.`,pm:`m.d.`,midnight:`mesnëtë`,noon:`drek`,morning:`mëngjes`,afternoon:`mbasdite`,evening:`mbrëmje`,night:`natë`}},defaultWidth:`wide`,formattingValues:{narrow:{am:`p`,pm:`m`,midnight:`m`,noon:`d`,morning:`në mëngjes`,afternoon:`në mbasdite`,evening:`në mbrëmje`,night:`në mesnatë`},abbreviated:{am:`PD`,pm:`MD`,midnight:`mesnatë`,noon:`drek`,morning:`në mëngjes`,afternoon:`në mbasdite`,evening:`në mbrëmje`,night:`në mesnatë`},wide:{am:`p.d.`,pm:`m.d.`,midnight:`mesnatë`,noon:`drek`,morning:`në mëngjes`,afternoon:`në mbasdite`,evening:`në mbrëmje`,night:`në mesnatë`}},defaultFormattingWidth:`wide`})},match:{ordinalNumber:r({matchPattern:/^(\d+)(-rë|-të|t|)?/i,parsePattern:/\d+/i,valueCallback:e=>parseInt(e,10)}),era:e({matchPatterns:{narrow:/^(p|m)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(para krishtit|mbas krishtit)/i},defaultMatchWidth:`wide`,parsePatterns:{any:[/^b/i,/^(p|m)/i]},defaultParseWidth:`any`}),quarter:e({matchPatterns:{narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234]-mujori (i{1,3}|iv)/i},defaultMatchWidth:`wide`,parsePatterns:{any:[/1/i,/2/i,/3/i,/4/i]},defaultParseWidth:`any`,valueCallback:e=>e+1}),month:e({matchPatterns:{narrow:/^[jsmpqkftnd]/i,abbreviated:/^(jan|shk|mar|pri|maj|qer|kor|gus|sht|tet|nën|dhj)/i,wide:/^(janar|shkurt|mars|prill|maj|qershor|korrik|gusht|shtator|tetor|nëntor|dhjetor)/i},defaultMatchWidth:`wide`,parsePatterns:{narrow:[/^j/i,/^s/i,/^m/i,/^p/i,/^m/i,/^q/i,/^k/i,/^g/i,/^s/i,/^t/i,/^n/i,/^d/i],any:[/^ja/i,/^shk/i,/^mar/i,/^pri/i,/^maj/i,/^qer/i,/^kor/i,/^gu/i,/^sht/i,/^tet/i,/^n/i,/^d/i]},defaultParseWidth:`any`}),day:e({matchPatterns:{narrow:/^[dhmeps]/i,short:/^(di|hë|ma|më|en|pr|sh)/i,abbreviated:/^(die|hën|mar|mër|enj|pre|sht)/i,wide:/^(dielë|hënë|martë|mërkurë|enjte|premte|shtunë)/i},defaultMatchWidth:`wide`,parsePatterns:{narrow:[/^d/i,/^h/i,/^m/i,/^m/i,/^e/i,/^p/i,/^s/i],any:[/^d/i,/^h/i,/^ma/i,/^më/i,/^e/i,/^p/i,/^s/i]},defaultParseWidth:`any`}),dayPeriod:e({matchPatterns:{narrow:/^(p|m|me|në (mëngjes|mbasdite|mbrëmje|mesnatë))/i,any:/^([pm]\.?\s?d\.?|drek|në (mëngjes|mbasdite|mbrëmje|mesnatë))/i},defaultMatchWidth:`any`,parsePatterns:{any:{am:/^p/i,pm:/^m/i,midnight:/^me/i,noon:/^dr/i,morning:/mëngjes/i,afternoon:/mbasdite/i,evening:/mbrëmje/i,night:/natë/i}},defaultParseWidth:`any`})},options:{weekStartsOn:1,firstWeekContainsDate:1}};export{c as default,c as sq};
1
+ import{$r as e,Jr as t,Yr as n,Zr as r}from"./ui-components-D8wcRNrt.js";var i={lessThanXSeconds:{one:`më pak se një sekondë`,other:`më pak se {{count}} sekonda`},xSeconds:{one:`1 sekondë`,other:`{{count}} sekonda`},halfAMinute:`gjysëm minuti`,lessThanXMinutes:{one:`më pak se një minute`,other:`më pak se {{count}} minuta`},xMinutes:{one:`1 minutë`,other:`{{count}} minuta`},aboutXHours:{one:`rreth 1 orë`,other:`rreth {{count}} orë`},xHours:{one:`1 orë`,other:`{{count}} orë`},xDays:{one:`1 ditë`,other:`{{count}} ditë`},aboutXWeeks:{one:`rreth 1 javë`,other:`rreth {{count}} javë`},xWeeks:{one:`1 javë`,other:`{{count}} javë`},aboutXMonths:{one:`rreth 1 muaj`,other:`rreth {{count}} muaj`},xMonths:{one:`1 muaj`,other:`{{count}} muaj`},aboutXYears:{one:`rreth 1 vit`,other:`rreth {{count}} vite`},xYears:{one:`1 vit`,other:`{{count}} vite`},overXYears:{one:`mbi 1 vit`,other:`mbi {{count}} vite`},almostXYears:{one:`pothuajse 1 vit`,other:`pothuajse {{count}} vite`}},a=(e,t,n)=>{let r,a=i[e];return r=typeof a==`string`?a:t===1?a.one:a.other.replace(`{{count}}`,String(t)),n?.addSuffix?n.comparison&&n.comparison>0?`në `+r:r+` më parë`:r},o={date:e({formats:{full:`EEEE, MMMM do, y`,long:`MMMM do, y`,medium:`MMM d, y`,short:`MM/dd/yyyy`},defaultWidth:`full`}),time:e({formats:{full:`h:mm:ss a zzzz`,long:`h:mm:ss a z`,medium:`h:mm:ss a`,short:`h:mm a`},defaultWidth:`full`}),dateTime:e({formats:{full:`{{date}} 'në' {{time}}`,long:`{{date}} 'në' {{time}}`,medium:`{{date}}, {{time}}`,short:`{{date}}, {{time}}`},defaultWidth:`full`})},s={lastWeek:`'të' eeee 'e shkuar në' p`,yesterday:`'dje në' p`,today:`'sot në' p`,tomorrow:`'nesër në' p`,nextWeek:`eeee 'at' p`,other:`P`},c={code:`sq`,formatDistance:a,formatLong:o,formatRelative:(e,t,n,r)=>s[e],localize:{ordinalNumber:(e,t)=>{let n=Number(e);return t?.unit===`hour`?String(n):n===1?n+`-rë`:n===4?n+`t`:n+`-të`},era:r({values:{narrow:[`P`,`M`],abbreviated:[`PK`,`MK`],wide:[`Para Krishtit`,`Mbas Krishtit`]},defaultWidth:`wide`}),quarter:r({values:{narrow:[`1`,`2`,`3`,`4`],abbreviated:[`Q1`,`Q2`,`Q3`,`Q4`],wide:[`4-mujori I`,`4-mujori II`,`4-mujori III`,`4-mujori IV`]},defaultWidth:`wide`,argumentCallback:e=>e-1}),month:r({values:{narrow:[`J`,`S`,`M`,`P`,`M`,`Q`,`K`,`G`,`S`,`T`,`N`,`D`],abbreviated:[`Jan`,`Shk`,`Mar`,`Pri`,`Maj`,`Qer`,`Kor`,`Gus`,`Sht`,`Tet`,`Nën`,`Dhj`],wide:[`Janar`,`Shkurt`,`Mars`,`Prill`,`Maj`,`Qershor`,`Korrik`,`Gusht`,`Shtator`,`Tetor`,`Nëntor`,`Dhjetor`]},defaultWidth:`wide`}),day:r({values:{narrow:[`D`,`H`,`M`,`M`,`E`,`P`,`S`],short:[`Di`,`Hë`,`Ma`,`Më`,`En`,`Pr`,`Sh`],abbreviated:[`Die`,`Hën`,`Mar`,`Mër`,`Enj`,`Pre`,`Sht`],wide:[`Dielë`,`Hënë`,`Martë`,`Mërkurë`,`Enjte`,`Premte`,`Shtunë`]},defaultWidth:`wide`}),dayPeriod:r({values:{narrow:{am:`p`,pm:`m`,midnight:`m`,noon:`d`,morning:`mëngjes`,afternoon:`dite`,evening:`mbrëmje`,night:`natë`},abbreviated:{am:`PD`,pm:`MD`,midnight:`mesnëtë`,noon:`drek`,morning:`mëngjes`,afternoon:`mbasdite`,evening:`mbrëmje`,night:`natë`},wide:{am:`p.d.`,pm:`m.d.`,midnight:`mesnëtë`,noon:`drek`,morning:`mëngjes`,afternoon:`mbasdite`,evening:`mbrëmje`,night:`natë`}},defaultWidth:`wide`,formattingValues:{narrow:{am:`p`,pm:`m`,midnight:`m`,noon:`d`,morning:`në mëngjes`,afternoon:`në mbasdite`,evening:`në mbrëmje`,night:`në mesnatë`},abbreviated:{am:`PD`,pm:`MD`,midnight:`mesnatë`,noon:`drek`,morning:`në mëngjes`,afternoon:`në mbasdite`,evening:`në mbrëmje`,night:`në mesnatë`},wide:{am:`p.d.`,pm:`m.d.`,midnight:`mesnatë`,noon:`drek`,morning:`në mëngjes`,afternoon:`në mbasdite`,evening:`në mbrëmje`,night:`në mesnatë`}},defaultFormattingWidth:`wide`})},match:{ordinalNumber:t({matchPattern:/^(\d+)(-rë|-të|t|)?/i,parsePattern:/\d+/i,valueCallback:e=>parseInt(e,10)}),era:n({matchPatterns:{narrow:/^(p|m)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(para krishtit|mbas krishtit)/i},defaultMatchWidth:`wide`,parsePatterns:{any:[/^b/i,/^(p|m)/i]},defaultParseWidth:`any`}),quarter:n({matchPatterns:{narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234]-mujori (i{1,3}|iv)/i},defaultMatchWidth:`wide`,parsePatterns:{any:[/1/i,/2/i,/3/i,/4/i]},defaultParseWidth:`any`,valueCallback:e=>e+1}),month:n({matchPatterns:{narrow:/^[jsmpqkftnd]/i,abbreviated:/^(jan|shk|mar|pri|maj|qer|kor|gus|sht|tet|nën|dhj)/i,wide:/^(janar|shkurt|mars|prill|maj|qershor|korrik|gusht|shtator|tetor|nëntor|dhjetor)/i},defaultMatchWidth:`wide`,parsePatterns:{narrow:[/^j/i,/^s/i,/^m/i,/^p/i,/^m/i,/^q/i,/^k/i,/^g/i,/^s/i,/^t/i,/^n/i,/^d/i],any:[/^ja/i,/^shk/i,/^mar/i,/^pri/i,/^maj/i,/^qer/i,/^kor/i,/^gu/i,/^sht/i,/^tet/i,/^n/i,/^d/i]},defaultParseWidth:`any`}),day:n({matchPatterns:{narrow:/^[dhmeps]/i,short:/^(di|hë|ma|më|en|pr|sh)/i,abbreviated:/^(die|hën|mar|mër|enj|pre|sht)/i,wide:/^(dielë|hënë|martë|mërkurë|enjte|premte|shtunë)/i},defaultMatchWidth:`wide`,parsePatterns:{narrow:[/^d/i,/^h/i,/^m/i,/^m/i,/^e/i,/^p/i,/^s/i],any:[/^d/i,/^h/i,/^ma/i,/^më/i,/^e/i,/^p/i,/^s/i]},defaultParseWidth:`any`}),dayPeriod:n({matchPatterns:{narrow:/^(p|m|me|në (mëngjes|mbasdite|mbrëmje|mesnatë))/i,any:/^([pm]\.?\s?d\.?|drek|në (mëngjes|mbasdite|mbrëmje|mesnatë))/i},defaultMatchWidth:`any`,parsePatterns:{any:{am:/^p/i,pm:/^m/i,midnight:/^me/i,noon:/^dr/i,morning:/mëngjes/i,afternoon:/mbasdite/i,evening:/mbrëmje/i,night:/natë/i}},defaultParseWidth:`any`})},options:{weekStartsOn:1,firstWeekContainsDate:1}};export{c as default,c as sq};
@@ -1 +1 @@
1
- import{Jr as e,Qr as t,Xr as n,qr as r}from"./ui-components-D6cEVg0T.js";var i={lessThanXSeconds:{one:{standalone:`мање од 1 секунде`,withPrepositionAgo:`мање од 1 секунде`,withPrepositionIn:`мање од 1 секунду`},dual:`мање од {{count}} секунде`,other:`мање од {{count}} секунди`},xSeconds:{one:{standalone:`1 секунда`,withPrepositionAgo:`1 секунде`,withPrepositionIn:`1 секунду`},dual:`{{count}} секунде`,other:`{{count}} секунди`},halfAMinute:`пола минуте`,lessThanXMinutes:{one:{standalone:`мање од 1 минуте`,withPrepositionAgo:`мање од 1 минуте`,withPrepositionIn:`мање од 1 минуту`},dual:`мање од {{count}} минуте`,other:`мање од {{count}} минута`},xMinutes:{one:{standalone:`1 минута`,withPrepositionAgo:`1 минуте`,withPrepositionIn:`1 минуту`},dual:`{{count}} минуте`,other:`{{count}} минута`},aboutXHours:{one:{standalone:`око 1 сат`,withPrepositionAgo:`око 1 сат`,withPrepositionIn:`око 1 сат`},dual:`око {{count}} сата`,other:`око {{count}} сати`},xHours:{one:{standalone:`1 сат`,withPrepositionAgo:`1 сат`,withPrepositionIn:`1 сат`},dual:`{{count}} сата`,other:`{{count}} сати`},xDays:{one:{standalone:`1 дан`,withPrepositionAgo:`1 дан`,withPrepositionIn:`1 дан`},dual:`{{count}} дана`,other:`{{count}} дана`},aboutXWeeks:{one:{standalone:`око 1 недељу`,withPrepositionAgo:`око 1 недељу`,withPrepositionIn:`око 1 недељу`},dual:`око {{count}} недеље`,other:`око {{count}} недеље`},xWeeks:{one:{standalone:`1 недељу`,withPrepositionAgo:`1 недељу`,withPrepositionIn:`1 недељу`},dual:`{{count}} недеље`,other:`{{count}} недеље`},aboutXMonths:{one:{standalone:`око 1 месец`,withPrepositionAgo:`око 1 месец`,withPrepositionIn:`око 1 месец`},dual:`око {{count}} месеца`,other:`око {{count}} месеци`},xMonths:{one:{standalone:`1 месец`,withPrepositionAgo:`1 месец`,withPrepositionIn:`1 месец`},dual:`{{count}} месеца`,other:`{{count}} месеци`},aboutXYears:{one:{standalone:`око 1 годину`,withPrepositionAgo:`око 1 годину`,withPrepositionIn:`око 1 годину`},dual:`око {{count}} године`,other:`око {{count}} година`},xYears:{one:{standalone:`1 година`,withPrepositionAgo:`1 године`,withPrepositionIn:`1 годину`},dual:`{{count}} године`,other:`{{count}} година`},overXYears:{one:{standalone:`преко 1 годину`,withPrepositionAgo:`преко 1 годину`,withPrepositionIn:`преко 1 годину`},dual:`преко {{count}} године`,other:`преко {{count}} година`},almostXYears:{one:{standalone:`готово 1 годину`,withPrepositionAgo:`готово 1 годину`,withPrepositionIn:`готово 1 годину`},dual:`готово {{count}} године`,other:`готово {{count}} година`}},a=(e,t,n)=>{let r,a=i[e];return r=typeof a==`string`?a:t===1?n?.addSuffix?n.comparison&&n.comparison>0?a.one.withPrepositionIn:a.one.withPrepositionAgo:a.one.standalone:t%10>1&&t%10<5&&String(t).substr(-2,1)!==`1`?a.dual.replace(`{{count}}`,String(t)):a.other.replace(`{{count}}`,String(t)),n?.addSuffix?n.comparison&&n.comparison>0?`за `+r:`пре `+r:r},o={date:t({formats:{full:`EEEE, d. MMMM yyyy.`,long:`d. MMMM yyyy.`,medium:`d. MMM yy.`,short:`dd. MM. yy.`},defaultWidth:`full`}),time:t({formats:{full:`HH:mm:ss (zzzz)`,long:`HH:mm:ss z`,medium:`HH:mm:ss`,short:`HH:mm`},defaultWidth:`full`}),dateTime:t({formats:{full:`{{date}} 'у' {{time}}`,long:`{{date}} 'у' {{time}}`,medium:`{{date}} {{time}}`,short:`{{date}} {{time}}`},defaultWidth:`full`})},s={lastWeek:e=>{switch(e.getDay()){case 0:return`'прошле недеље у' p`;case 3:return`'прошле среде у' p`;case 6:return`'прошле суботе у' p`;default:return`'прошли' EEEE 'у' p`}},yesterday:`'јуче у' p`,today:`'данас у' p`,tomorrow:`'сутра у' p`,nextWeek:e=>{switch(e.getDay()){case 0:return`'следеће недеље у' p`;case 3:return`'следећу среду у' p`;case 6:return`'следећу суботу у' p`;default:return`'следећи' EEEE 'у' p`}},other:`P`},c={code:`sr`,formatDistance:a,formatLong:o,formatRelative:(e,t,n,r)=>{let i=s[e];return typeof i==`function`?i(t):i},localize:{ordinalNumber:(e,t)=>Number(e)+`.`,era:n({values:{narrow:[`пр.н.е.`,`АД`],abbreviated:[`пр. Хр.`,`по. Хр.`],wide:[`Пре Христа`,`После Христа`]},defaultWidth:`wide`}),quarter:n({values:{narrow:[`1.`,`2.`,`3.`,`4.`],abbreviated:[`1. кв.`,`2. кв.`,`3. кв.`,`4. кв.`],wide:[`1. квартал`,`2. квартал`,`3. квартал`,`4. квартал`]},defaultWidth:`wide`,argumentCallback:e=>e-1}),month:n({values:{narrow:[`1.`,`2.`,`3.`,`4.`,`5.`,`6.`,`7.`,`8.`,`9.`,`10.`,`11.`,`12.`],abbreviated:[`јан`,`феб`,`мар`,`апр`,`мај`,`јун`,`јул`,`авг`,`сеп`,`окт`,`нов`,`дец`],wide:[`јануар`,`фебруар`,`март`,`април`,`мај`,`јун`,`јул`,`август`,`септембар`,`октобар`,`новембар`,`децембар`]},defaultWidth:`wide`,formattingValues:{narrow:[`1.`,`2.`,`3.`,`4.`,`5.`,`6.`,`7.`,`8.`,`9.`,`10.`,`11.`,`12.`],abbreviated:[`јан`,`феб`,`мар`,`апр`,`мај`,`јун`,`јул`,`авг`,`сеп`,`окт`,`нов`,`дец`],wide:[`јануар`,`фебруар`,`март`,`април`,`мај`,`јун`,`јул`,`август`,`септембар`,`октобар`,`новембар`,`децембар`]},defaultFormattingWidth:`wide`}),day:n({values:{narrow:[`Н`,`П`,`У`,`С`,`Ч`,`П`,`С`],short:[`нед`,`пон`,`уто`,`сре`,`чет`,`пет`,`суб`],abbreviated:[`нед`,`пон`,`уто`,`сре`,`чет`,`пет`,`суб`],wide:[`недеља`,`понедељак`,`уторак`,`среда`,`четвртак`,`петак`,`субота`]},defaultWidth:`wide`}),dayPeriod:n({values:{narrow:{am:`AM`,pm:`PM`,midnight:`поноћ`,noon:`подне`,morning:`ујутру`,afternoon:`поподне`,evening:`увече`,night:`ноћу`},abbreviated:{am:`AM`,pm:`PM`,midnight:`поноћ`,noon:`подне`,morning:`ујутру`,afternoon:`поподне`,evening:`увече`,night:`ноћу`},wide:{am:`AM`,pm:`PM`,midnight:`поноћ`,noon:`подне`,morning:`ујутру`,afternoon:`после подне`,evening:`увече`,night:`ноћу`}},defaultWidth:`wide`,formattingValues:{narrow:{am:`АМ`,pm:`ПМ`,midnight:`поноћ`,noon:`подне`,morning:`ујутру`,afternoon:`поподне`,evening:`увече`,night:`ноћу`},abbreviated:{am:`АМ`,pm:`ПМ`,midnight:`поноћ`,noon:`подне`,morning:`ујутру`,afternoon:`поподне`,evening:`увече`,night:`ноћу`},wide:{am:`AM`,pm:`PM`,midnight:`поноћ`,noon:`подне`,morning:`ујутру`,afternoon:`после подне`,evening:`увече`,night:`ноћу`}},defaultFormattingWidth:`wide`})},match:{ordinalNumber:r({matchPattern:/^(\d+)\./i,parsePattern:/\d+/i,valueCallback:e=>parseInt(e,10)}),era:e({matchPatterns:{narrow:/^(пр\.н\.е\.|АД)/i,abbreviated:/^(пр\.\s?Хр\.|по\.\s?Хр\.)/i,wide:/^(Пре Христа|пре нове ере|После Христа|нова ера)/i},defaultMatchWidth:`wide`,parsePatterns:{any:[/^пр/i,/^(по|нова)/i]},defaultParseWidth:`any`}),quarter:e({matchPatterns:{narrow:/^[1234]/i,abbreviated:/^[1234]\.\s?кв\.?/i,wide:/^[1234]\. квартал/i},defaultMatchWidth:`wide`,parsePatterns:{any:[/1/i,/2/i,/3/i,/4/i]},defaultParseWidth:`any`,valueCallback:e=>e+1}),month:e({matchPatterns:{narrow:/^(10|11|12|[123456789])\./i,abbreviated:/^(јан|феб|мар|апр|мај|јун|јул|авг|сеп|окт|нов|дец)/i,wide:/^((јануар|јануара)|(фебруар|фебруара)|(март|марта)|(април|априла)|(мја|маја)|(јун|јуна)|(јул|јула)|(август|августа)|(септембар|септембра)|(октобар|октобра)|(новембар|новембра)|(децембар|децембра))/i},defaultMatchWidth:`wide`,parsePatterns:{narrow:[/^1/i,/^2/i,/^3/i,/^4/i,/^5/i,/^6/i,/^7/i,/^8/i,/^9/i,/^10/i,/^11/i,/^12/i],any:[/^ја/i,/^ф/i,/^мар/i,/^ап/i,/^мај/i,/^јун/i,/^јул/i,/^авг/i,/^с/i,/^о/i,/^н/i,/^д/i]},defaultParseWidth:`any`}),day:e({matchPatterns:{narrow:/^[пусчн]/i,short:/^(нед|пон|уто|сре|чет|пет|суб)/i,abbreviated:/^(нед|пон|уто|сре|чет|пет|суб)/i,wide:/^(недеља|понедељак|уторак|среда|четвртак|петак|субота)/i},defaultMatchWidth:`wide`,parsePatterns:{narrow:[/^п/i,/^у/i,/^с/i,/^ч/i,/^п/i,/^с/i,/^н/i],any:[/^нед/i,/^пон/i,/^уто/i,/^сре/i,/^чет/i,/^пет/i,/^суб/i]},defaultParseWidth:`any`}),dayPeriod:e({matchPatterns:{any:/^(ам|пм|поноћ|(по)?подне|увече|ноћу|после подне|ујутру)/i},defaultMatchWidth:`any`,parsePatterns:{any:{am:/^a/i,pm:/^p/i,midnight:/^поно/i,noon:/^под/i,morning:/ујутру/i,afternoon:/(после\s|по)+подне/i,evening:/(увече)/i,night:/(ноћу)/i}},defaultParseWidth:`any`})},options:{weekStartsOn:1,firstWeekContainsDate:1}};export{c as default,c as sr};
1
+ import{$r as e,Jr as t,Yr as n,Zr as r}from"./ui-components-D8wcRNrt.js";var i={lessThanXSeconds:{one:{standalone:`мање од 1 секунде`,withPrepositionAgo:`мање од 1 секунде`,withPrepositionIn:`мање од 1 секунду`},dual:`мање од {{count}} секунде`,other:`мање од {{count}} секунди`},xSeconds:{one:{standalone:`1 секунда`,withPrepositionAgo:`1 секунде`,withPrepositionIn:`1 секунду`},dual:`{{count}} секунде`,other:`{{count}} секунди`},halfAMinute:`пола минуте`,lessThanXMinutes:{one:{standalone:`мање од 1 минуте`,withPrepositionAgo:`мање од 1 минуте`,withPrepositionIn:`мање од 1 минуту`},dual:`мање од {{count}} минуте`,other:`мање од {{count}} минута`},xMinutes:{one:{standalone:`1 минута`,withPrepositionAgo:`1 минуте`,withPrepositionIn:`1 минуту`},dual:`{{count}} минуте`,other:`{{count}} минута`},aboutXHours:{one:{standalone:`око 1 сат`,withPrepositionAgo:`око 1 сат`,withPrepositionIn:`око 1 сат`},dual:`око {{count}} сата`,other:`око {{count}} сати`},xHours:{one:{standalone:`1 сат`,withPrepositionAgo:`1 сат`,withPrepositionIn:`1 сат`},dual:`{{count}} сата`,other:`{{count}} сати`},xDays:{one:{standalone:`1 дан`,withPrepositionAgo:`1 дан`,withPrepositionIn:`1 дан`},dual:`{{count}} дана`,other:`{{count}} дана`},aboutXWeeks:{one:{standalone:`око 1 недељу`,withPrepositionAgo:`око 1 недељу`,withPrepositionIn:`око 1 недељу`},dual:`око {{count}} недеље`,other:`око {{count}} недеље`},xWeeks:{one:{standalone:`1 недељу`,withPrepositionAgo:`1 недељу`,withPrepositionIn:`1 недељу`},dual:`{{count}} недеље`,other:`{{count}} недеље`},aboutXMonths:{one:{standalone:`око 1 месец`,withPrepositionAgo:`око 1 месец`,withPrepositionIn:`око 1 месец`},dual:`око {{count}} месеца`,other:`око {{count}} месеци`},xMonths:{one:{standalone:`1 месец`,withPrepositionAgo:`1 месец`,withPrepositionIn:`1 месец`},dual:`{{count}} месеца`,other:`{{count}} месеци`},aboutXYears:{one:{standalone:`око 1 годину`,withPrepositionAgo:`око 1 годину`,withPrepositionIn:`око 1 годину`},dual:`око {{count}} године`,other:`око {{count}} година`},xYears:{one:{standalone:`1 година`,withPrepositionAgo:`1 године`,withPrepositionIn:`1 годину`},dual:`{{count}} године`,other:`{{count}} година`},overXYears:{one:{standalone:`преко 1 годину`,withPrepositionAgo:`преко 1 годину`,withPrepositionIn:`преко 1 годину`},dual:`преко {{count}} године`,other:`преко {{count}} година`},almostXYears:{one:{standalone:`готово 1 годину`,withPrepositionAgo:`готово 1 годину`,withPrepositionIn:`готово 1 годину`},dual:`готово {{count}} године`,other:`готово {{count}} година`}},a=(e,t,n)=>{let r,a=i[e];return r=typeof a==`string`?a:t===1?n?.addSuffix?n.comparison&&n.comparison>0?a.one.withPrepositionIn:a.one.withPrepositionAgo:a.one.standalone:t%10>1&&t%10<5&&String(t).substr(-2,1)!==`1`?a.dual.replace(`{{count}}`,String(t)):a.other.replace(`{{count}}`,String(t)),n?.addSuffix?n.comparison&&n.comparison>0?`за `+r:`пре `+r:r},o={date:e({formats:{full:`EEEE, d. MMMM yyyy.`,long:`d. MMMM yyyy.`,medium:`d. MMM yy.`,short:`dd. MM. yy.`},defaultWidth:`full`}),time:e({formats:{full:`HH:mm:ss (zzzz)`,long:`HH:mm:ss z`,medium:`HH:mm:ss`,short:`HH:mm`},defaultWidth:`full`}),dateTime:e({formats:{full:`{{date}} 'у' {{time}}`,long:`{{date}} 'у' {{time}}`,medium:`{{date}} {{time}}`,short:`{{date}} {{time}}`},defaultWidth:`full`})},s={lastWeek:e=>{switch(e.getDay()){case 0:return`'прошле недеље у' p`;case 3:return`'прошле среде у' p`;case 6:return`'прошле суботе у' p`;default:return`'прошли' EEEE 'у' p`}},yesterday:`'јуче у' p`,today:`'данас у' p`,tomorrow:`'сутра у' p`,nextWeek:e=>{switch(e.getDay()){case 0:return`'следеће недеље у' p`;case 3:return`'следећу среду у' p`;case 6:return`'следећу суботу у' p`;default:return`'следећи' EEEE 'у' p`}},other:`P`},c={code:`sr`,formatDistance:a,formatLong:o,formatRelative:(e,t,n,r)=>{let i=s[e];return typeof i==`function`?i(t):i},localize:{ordinalNumber:(e,t)=>Number(e)+`.`,era:r({values:{narrow:[`пр.н.е.`,`АД`],abbreviated:[`пр. Хр.`,`по. Хр.`],wide:[`Пре Христа`,`После Христа`]},defaultWidth:`wide`}),quarter:r({values:{narrow:[`1.`,`2.`,`3.`,`4.`],abbreviated:[`1. кв.`,`2. кв.`,`3. кв.`,`4. кв.`],wide:[`1. квартал`,`2. квартал`,`3. квартал`,`4. квартал`]},defaultWidth:`wide`,argumentCallback:e=>e-1}),month:r({values:{narrow:[`1.`,`2.`,`3.`,`4.`,`5.`,`6.`,`7.`,`8.`,`9.`,`10.`,`11.`,`12.`],abbreviated:[`јан`,`феб`,`мар`,`апр`,`мај`,`јун`,`јул`,`авг`,`сеп`,`окт`,`нов`,`дец`],wide:[`јануар`,`фебруар`,`март`,`април`,`мај`,`јун`,`јул`,`август`,`септембар`,`октобар`,`новембар`,`децембар`]},defaultWidth:`wide`,formattingValues:{narrow:[`1.`,`2.`,`3.`,`4.`,`5.`,`6.`,`7.`,`8.`,`9.`,`10.`,`11.`,`12.`],abbreviated:[`јан`,`феб`,`мар`,`апр`,`мај`,`јун`,`јул`,`авг`,`сеп`,`окт`,`нов`,`дец`],wide:[`јануар`,`фебруар`,`март`,`април`,`мај`,`јун`,`јул`,`август`,`септембар`,`октобар`,`новембар`,`децембар`]},defaultFormattingWidth:`wide`}),day:r({values:{narrow:[`Н`,`П`,`У`,`С`,`Ч`,`П`,`С`],short:[`нед`,`пон`,`уто`,`сре`,`чет`,`пет`,`суб`],abbreviated:[`нед`,`пон`,`уто`,`сре`,`чет`,`пет`,`суб`],wide:[`недеља`,`понедељак`,`уторак`,`среда`,`четвртак`,`петак`,`субота`]},defaultWidth:`wide`}),dayPeriod:r({values:{narrow:{am:`AM`,pm:`PM`,midnight:`поноћ`,noon:`подне`,morning:`ујутру`,afternoon:`поподне`,evening:`увече`,night:`ноћу`},abbreviated:{am:`AM`,pm:`PM`,midnight:`поноћ`,noon:`подне`,morning:`ујутру`,afternoon:`поподне`,evening:`увече`,night:`ноћу`},wide:{am:`AM`,pm:`PM`,midnight:`поноћ`,noon:`подне`,morning:`ујутру`,afternoon:`после подне`,evening:`увече`,night:`ноћу`}},defaultWidth:`wide`,formattingValues:{narrow:{am:`АМ`,pm:`ПМ`,midnight:`поноћ`,noon:`подне`,morning:`ујутру`,afternoon:`поподне`,evening:`увече`,night:`ноћу`},abbreviated:{am:`АМ`,pm:`ПМ`,midnight:`поноћ`,noon:`подне`,morning:`ујутру`,afternoon:`поподне`,evening:`увече`,night:`ноћу`},wide:{am:`AM`,pm:`PM`,midnight:`поноћ`,noon:`подне`,morning:`ујутру`,afternoon:`после подне`,evening:`увече`,night:`ноћу`}},defaultFormattingWidth:`wide`})},match:{ordinalNumber:t({matchPattern:/^(\d+)\./i,parsePattern:/\d+/i,valueCallback:e=>parseInt(e,10)}),era:n({matchPatterns:{narrow:/^(пр\.н\.е\.|АД)/i,abbreviated:/^(пр\.\s?Хр\.|по\.\s?Хр\.)/i,wide:/^(Пре Христа|пре нове ере|После Христа|нова ера)/i},defaultMatchWidth:`wide`,parsePatterns:{any:[/^пр/i,/^(по|нова)/i]},defaultParseWidth:`any`}),quarter:n({matchPatterns:{narrow:/^[1234]/i,abbreviated:/^[1234]\.\s?кв\.?/i,wide:/^[1234]\. квартал/i},defaultMatchWidth:`wide`,parsePatterns:{any:[/1/i,/2/i,/3/i,/4/i]},defaultParseWidth:`any`,valueCallback:e=>e+1}),month:n({matchPatterns:{narrow:/^(10|11|12|[123456789])\./i,abbreviated:/^(јан|феб|мар|апр|мај|јун|јул|авг|сеп|окт|нов|дец)/i,wide:/^((јануар|јануара)|(фебруар|фебруара)|(март|марта)|(април|априла)|(мја|маја)|(јун|јуна)|(јул|јула)|(август|августа)|(септембар|септембра)|(октобар|октобра)|(новембар|новембра)|(децембар|децембра))/i},defaultMatchWidth:`wide`,parsePatterns:{narrow:[/^1/i,/^2/i,/^3/i,/^4/i,/^5/i,/^6/i,/^7/i,/^8/i,/^9/i,/^10/i,/^11/i,/^12/i],any:[/^ја/i,/^ф/i,/^мар/i,/^ап/i,/^мај/i,/^јун/i,/^јул/i,/^авг/i,/^с/i,/^о/i,/^н/i,/^д/i]},defaultParseWidth:`any`}),day:n({matchPatterns:{narrow:/^[пусчн]/i,short:/^(нед|пон|уто|сре|чет|пет|суб)/i,abbreviated:/^(нед|пон|уто|сре|чет|пет|суб)/i,wide:/^(недеља|понедељак|уторак|среда|четвртак|петак|субота)/i},defaultMatchWidth:`wide`,parsePatterns:{narrow:[/^п/i,/^у/i,/^с/i,/^ч/i,/^п/i,/^с/i,/^н/i],any:[/^нед/i,/^пон/i,/^уто/i,/^сре/i,/^чет/i,/^пет/i,/^суб/i]},defaultParseWidth:`any`}),dayPeriod:n({matchPatterns:{any:/^(ам|пм|поноћ|(по)?подне|увече|ноћу|после подне|ујутру)/i},defaultMatchWidth:`any`,parsePatterns:{any:{am:/^a/i,pm:/^p/i,midnight:/^поно/i,noon:/^под/i,morning:/ујутру/i,afternoon:/(после\s|по)+подне/i,evening:/(увече)/i,night:/(ноћу)/i}},defaultParseWidth:`any`})},options:{weekStartsOn:1,firstWeekContainsDate:1}};export{c as default,c as sr};
@@ -1 +1 @@
1
- import{Jr as e,Qr as t,Xr as n,qr as r}from"./ui-components-D6cEVg0T.js";var i={lessThanXSeconds:{one:{standalone:`manje od 1 sekunde`,withPrepositionAgo:`manje od 1 sekunde`,withPrepositionIn:`manje od 1 sekundu`},dual:`manje od {{count}} sekunde`,other:`manje od {{count}} sekundi`},xSeconds:{one:{standalone:`1 sekunda`,withPrepositionAgo:`1 sekunde`,withPrepositionIn:`1 sekundu`},dual:`{{count}} sekunde`,other:`{{count}} sekundi`},halfAMinute:`pola minute`,lessThanXMinutes:{one:{standalone:`manje od 1 minute`,withPrepositionAgo:`manje od 1 minute`,withPrepositionIn:`manje od 1 minutu`},dual:`manje od {{count}} minute`,other:`manje od {{count}} minuta`},xMinutes:{one:{standalone:`1 minuta`,withPrepositionAgo:`1 minute`,withPrepositionIn:`1 minutu`},dual:`{{count}} minute`,other:`{{count}} minuta`},aboutXHours:{one:{standalone:`oko 1 sat`,withPrepositionAgo:`oko 1 sat`,withPrepositionIn:`oko 1 sat`},dual:`oko {{count}} sata`,other:`oko {{count}} sati`},xHours:{one:{standalone:`1 sat`,withPrepositionAgo:`1 sat`,withPrepositionIn:`1 sat`},dual:`{{count}} sata`,other:`{{count}} sati`},xDays:{one:{standalone:`1 dan`,withPrepositionAgo:`1 dan`,withPrepositionIn:`1 dan`},dual:`{{count}} dana`,other:`{{count}} dana`},aboutXWeeks:{one:{standalone:`oko 1 nedelju`,withPrepositionAgo:`oko 1 nedelju`,withPrepositionIn:`oko 1 nedelju`},dual:`oko {{count}} nedelje`,other:`oko {{count}} nedelje`},xWeeks:{one:{standalone:`1 nedelju`,withPrepositionAgo:`1 nedelju`,withPrepositionIn:`1 nedelju`},dual:`{{count}} nedelje`,other:`{{count}} nedelje`},aboutXMonths:{one:{standalone:`oko 1 mesec`,withPrepositionAgo:`oko 1 mesec`,withPrepositionIn:`oko 1 mesec`},dual:`oko {{count}} meseca`,other:`oko {{count}} meseci`},xMonths:{one:{standalone:`1 mesec`,withPrepositionAgo:`1 mesec`,withPrepositionIn:`1 mesec`},dual:`{{count}} meseca`,other:`{{count}} meseci`},aboutXYears:{one:{standalone:`oko 1 godinu`,withPrepositionAgo:`oko 1 godinu`,withPrepositionIn:`oko 1 godinu`},dual:`oko {{count}} godine`,other:`oko {{count}} godina`},xYears:{one:{standalone:`1 godina`,withPrepositionAgo:`1 godine`,withPrepositionIn:`1 godinu`},dual:`{{count}} godine`,other:`{{count}} godina`},overXYears:{one:{standalone:`preko 1 godinu`,withPrepositionAgo:`preko 1 godinu`,withPrepositionIn:`preko 1 godinu`},dual:`preko {{count}} godine`,other:`preko {{count}} godina`},almostXYears:{one:{standalone:`gotovo 1 godinu`,withPrepositionAgo:`gotovo 1 godinu`,withPrepositionIn:`gotovo 1 godinu`},dual:`gotovo {{count}} godine`,other:`gotovo {{count}} godina`}},a=(e,t,n)=>{let r,a=i[e];return r=typeof a==`string`?a:t===1?n?.addSuffix?n.comparison&&n.comparison>0?a.one.withPrepositionIn:a.one.withPrepositionAgo:a.one.standalone:t%10>1&&t%10<5&&String(t).substr(-2,1)!==`1`?a.dual.replace(`{{count}}`,String(t)):a.other.replace(`{{count}}`,String(t)),n?.addSuffix?n.comparison&&n.comparison>0?`za `+r:`pre `+r:r},o={date:t({formats:{full:`EEEE, d. MMMM yyyy.`,long:`d. MMMM yyyy.`,medium:`d. MMM yy.`,short:`dd. MM. yy.`},defaultWidth:`full`}),time:t({formats:{full:`HH:mm:ss (zzzz)`,long:`HH:mm:ss z`,medium:`HH:mm:ss`,short:`HH:mm`},defaultWidth:`full`}),dateTime:t({formats:{full:`{{date}} 'u' {{time}}`,long:`{{date}} 'u' {{time}}`,medium:`{{date}} {{time}}`,short:`{{date}} {{time}}`},defaultWidth:`full`})},s={lastWeek:e=>{switch(e.getDay()){case 0:return`'prošle nedelje u' p`;case 3:return`'prošle srede u' p`;case 6:return`'prošle subote u' p`;default:return`'prošli' EEEE 'u' p`}},yesterday:`'juče u' p`,today:`'danas u' p`,tomorrow:`'sutra u' p`,nextWeek:e=>{switch(e.getDay()){case 0:return`'sledeće nedelje u' p`;case 3:return`'sledeću sredu u' p`;case 6:return`'sledeću subotu u' p`;default:return`'sledeći' EEEE 'u' p`}},other:`P`},c={code:`sr-Latn`,formatDistance:a,formatLong:o,formatRelative:(e,t,n,r)=>{let i=s[e];return typeof i==`function`?i(t):i},localize:{ordinalNumber:(e,t)=>Number(e)+`.`,era:n({values:{narrow:[`pr.n.e.`,`AD`],abbreviated:[`pr. Hr.`,`po. Hr.`],wide:[`Pre Hrista`,`Posle Hrista`]},defaultWidth:`wide`}),quarter:n({values:{narrow:[`1.`,`2.`,`3.`,`4.`],abbreviated:[`1. kv.`,`2. kv.`,`3. kv.`,`4. kv.`],wide:[`1. kvartal`,`2. kvartal`,`3. kvartal`,`4. kvartal`]},defaultWidth:`wide`,argumentCallback:e=>e-1}),month:n({values:{narrow:[`1.`,`2.`,`3.`,`4.`,`5.`,`6.`,`7.`,`8.`,`9.`,`10.`,`11.`,`12.`],abbreviated:[`jan`,`feb`,`mar`,`apr`,`maj`,`jun`,`jul`,`avg`,`sep`,`okt`,`nov`,`dec`],wide:[`januar`,`februar`,`mart`,`april`,`maj`,`jun`,`jul`,`avgust`,`septembar`,`oktobar`,`novembar`,`decembar`]},defaultWidth:`wide`,formattingValues:{narrow:[`1.`,`2.`,`3.`,`4.`,`5.`,`6.`,`7.`,`8.`,`9.`,`10.`,`11.`,`12.`],abbreviated:[`jan`,`feb`,`mar`,`apr`,`maj`,`jun`,`jul`,`avg`,`sep`,`okt`,`nov`,`dec`],wide:[`januar`,`februar`,`mart`,`april`,`maj`,`jun`,`jul`,`avgust`,`septembar`,`oktobar`,`novembar`,`decembar`]},defaultFormattingWidth:`wide`}),day:n({values:{narrow:[`N`,`P`,`U`,`S`,`Č`,`P`,`S`],short:[`ned`,`pon`,`uto`,`sre`,`čet`,`pet`,`sub`],abbreviated:[`ned`,`pon`,`uto`,`sre`,`čet`,`pet`,`sub`],wide:[`nedelja`,`ponedeljak`,`utorak`,`sreda`,`četvrtak`,`petak`,`subota`]},defaultWidth:`wide`}),dayPeriod:n({values:{narrow:{am:`AM`,pm:`PM`,midnight:`ponoć`,noon:`podne`,morning:`ujutru`,afternoon:`popodne`,evening:`uveče`,night:`noću`},abbreviated:{am:`AM`,pm:`PM`,midnight:`ponoć`,noon:`podne`,morning:`ujutru`,afternoon:`popodne`,evening:`uveče`,night:`noću`},wide:{am:`AM`,pm:`PM`,midnight:`ponoć`,noon:`podne`,morning:`ujutru`,afternoon:`posle podne`,evening:`uveče`,night:`noću`}},defaultWidth:`wide`,formattingValues:{narrow:{am:`AM`,pm:`PM`,midnight:`ponoć`,noon:`podne`,morning:`ujutru`,afternoon:`popodne`,evening:`uveče`,night:`noću`},abbreviated:{am:`AM`,pm:`PM`,midnight:`ponoć`,noon:`podne`,morning:`ujutru`,afternoon:`popodne`,evening:`uveče`,night:`noću`},wide:{am:`AM`,pm:`PM`,midnight:`ponoć`,noon:`podne`,morning:`ujutru`,afternoon:`posle podne`,evening:`uveče`,night:`noću`}},defaultFormattingWidth:`wide`})},match:{ordinalNumber:r({matchPattern:/^(\d+)\./i,parsePattern:/\d+/i,valueCallback:e=>parseInt(e,10)}),era:e({matchPatterns:{narrow:/^(pr\.n\.e\.|AD)/i,abbreviated:/^(pr\.\s?Hr\.|po\.\s?Hr\.)/i,wide:/^(Pre Hrista|pre nove ere|Posle Hrista|nova era)/i},defaultMatchWidth:`wide`,parsePatterns:{any:[/^pr/i,/^(po|nova)/i]},defaultParseWidth:`any`}),quarter:e({matchPatterns:{narrow:/^[1234]/i,abbreviated:/^[1234]\.\s?kv\.?/i,wide:/^[1234]\. kvartal/i},defaultMatchWidth:`wide`,parsePatterns:{any:[/1/i,/2/i,/3/i,/4/i]},defaultParseWidth:`any`,valueCallback:e=>e+1}),month:e({matchPatterns:{narrow:/^(10|11|12|[123456789])\./i,abbreviated:/^(jan|feb|mar|apr|maj|jun|jul|avg|sep|okt|nov|dec)/i,wide:/^((januar|januara)|(februar|februara)|(mart|marta)|(april|aprila)|(maj|maja)|(jun|juna)|(jul|jula)|(avgust|avgusta)|(septembar|septembra)|(oktobar|oktobra)|(novembar|novembra)|(decembar|decembra))/i},defaultMatchWidth:`wide`,parsePatterns:{narrow:[/^1/i,/^2/i,/^3/i,/^4/i,/^5/i,/^6/i,/^7/i,/^8/i,/^9/i,/^10/i,/^11/i,/^12/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^maj/i,/^jun/i,/^jul/i,/^avg/i,/^s/i,/^o/i,/^n/i,/^d/i]},defaultParseWidth:`any`}),day:e({matchPatterns:{narrow:/^[npusčc]/i,short:/^(ned|pon|uto|sre|(čet|cet)|pet|sub)/i,abbreviated:/^(ned|pon|uto|sre|(čet|cet)|pet|sub)/i,wide:/^(nedelja|ponedeljak|utorak|sreda|(četvrtak|cetvrtak)|petak|subota)/i},defaultMatchWidth:`wide`,parsePatterns:{narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},defaultParseWidth:`any`}),dayPeriod:e({matchPatterns:{any:/^(am|pm|ponoc|ponoć|(po)?podne|uvece|uveče|noću|posle podne|ujutru)/i},defaultMatchWidth:`any`,parsePatterns:{any:{am:/^a/i,pm:/^p/i,midnight:/^pono/i,noon:/^pod/i,morning:/jutro/i,afternoon:/(posle\s|po)+podne/i,evening:/(uvece|uveče)/i,night:/(nocu|noću)/i}},defaultParseWidth:`any`})},options:{weekStartsOn:1,firstWeekContainsDate:1}};export{c as default,c as srLatn};
1
+ import{$r as e,Jr as t,Yr as n,Zr as r}from"./ui-components-D8wcRNrt.js";var i={lessThanXSeconds:{one:{standalone:`manje od 1 sekunde`,withPrepositionAgo:`manje od 1 sekunde`,withPrepositionIn:`manje od 1 sekundu`},dual:`manje od {{count}} sekunde`,other:`manje od {{count}} sekundi`},xSeconds:{one:{standalone:`1 sekunda`,withPrepositionAgo:`1 sekunde`,withPrepositionIn:`1 sekundu`},dual:`{{count}} sekunde`,other:`{{count}} sekundi`},halfAMinute:`pola minute`,lessThanXMinutes:{one:{standalone:`manje od 1 minute`,withPrepositionAgo:`manje od 1 minute`,withPrepositionIn:`manje od 1 minutu`},dual:`manje od {{count}} minute`,other:`manje od {{count}} minuta`},xMinutes:{one:{standalone:`1 minuta`,withPrepositionAgo:`1 minute`,withPrepositionIn:`1 minutu`},dual:`{{count}} minute`,other:`{{count}} minuta`},aboutXHours:{one:{standalone:`oko 1 sat`,withPrepositionAgo:`oko 1 sat`,withPrepositionIn:`oko 1 sat`},dual:`oko {{count}} sata`,other:`oko {{count}} sati`},xHours:{one:{standalone:`1 sat`,withPrepositionAgo:`1 sat`,withPrepositionIn:`1 sat`},dual:`{{count}} sata`,other:`{{count}} sati`},xDays:{one:{standalone:`1 dan`,withPrepositionAgo:`1 dan`,withPrepositionIn:`1 dan`},dual:`{{count}} dana`,other:`{{count}} dana`},aboutXWeeks:{one:{standalone:`oko 1 nedelju`,withPrepositionAgo:`oko 1 nedelju`,withPrepositionIn:`oko 1 nedelju`},dual:`oko {{count}} nedelje`,other:`oko {{count}} nedelje`},xWeeks:{one:{standalone:`1 nedelju`,withPrepositionAgo:`1 nedelju`,withPrepositionIn:`1 nedelju`},dual:`{{count}} nedelje`,other:`{{count}} nedelje`},aboutXMonths:{one:{standalone:`oko 1 mesec`,withPrepositionAgo:`oko 1 mesec`,withPrepositionIn:`oko 1 mesec`},dual:`oko {{count}} meseca`,other:`oko {{count}} meseci`},xMonths:{one:{standalone:`1 mesec`,withPrepositionAgo:`1 mesec`,withPrepositionIn:`1 mesec`},dual:`{{count}} meseca`,other:`{{count}} meseci`},aboutXYears:{one:{standalone:`oko 1 godinu`,withPrepositionAgo:`oko 1 godinu`,withPrepositionIn:`oko 1 godinu`},dual:`oko {{count}} godine`,other:`oko {{count}} godina`},xYears:{one:{standalone:`1 godina`,withPrepositionAgo:`1 godine`,withPrepositionIn:`1 godinu`},dual:`{{count}} godine`,other:`{{count}} godina`},overXYears:{one:{standalone:`preko 1 godinu`,withPrepositionAgo:`preko 1 godinu`,withPrepositionIn:`preko 1 godinu`},dual:`preko {{count}} godine`,other:`preko {{count}} godina`},almostXYears:{one:{standalone:`gotovo 1 godinu`,withPrepositionAgo:`gotovo 1 godinu`,withPrepositionIn:`gotovo 1 godinu`},dual:`gotovo {{count}} godine`,other:`gotovo {{count}} godina`}},a=(e,t,n)=>{let r,a=i[e];return r=typeof a==`string`?a:t===1?n?.addSuffix?n.comparison&&n.comparison>0?a.one.withPrepositionIn:a.one.withPrepositionAgo:a.one.standalone:t%10>1&&t%10<5&&String(t).substr(-2,1)!==`1`?a.dual.replace(`{{count}}`,String(t)):a.other.replace(`{{count}}`,String(t)),n?.addSuffix?n.comparison&&n.comparison>0?`za `+r:`pre `+r:r},o={date:e({formats:{full:`EEEE, d. MMMM yyyy.`,long:`d. MMMM yyyy.`,medium:`d. MMM yy.`,short:`dd. MM. yy.`},defaultWidth:`full`}),time:e({formats:{full:`HH:mm:ss (zzzz)`,long:`HH:mm:ss z`,medium:`HH:mm:ss`,short:`HH:mm`},defaultWidth:`full`}),dateTime:e({formats:{full:`{{date}} 'u' {{time}}`,long:`{{date}} 'u' {{time}}`,medium:`{{date}} {{time}}`,short:`{{date}} {{time}}`},defaultWidth:`full`})},s={lastWeek:e=>{switch(e.getDay()){case 0:return`'prošle nedelje u' p`;case 3:return`'prošle srede u' p`;case 6:return`'prošle subote u' p`;default:return`'prošli' EEEE 'u' p`}},yesterday:`'juče u' p`,today:`'danas u' p`,tomorrow:`'sutra u' p`,nextWeek:e=>{switch(e.getDay()){case 0:return`'sledeće nedelje u' p`;case 3:return`'sledeću sredu u' p`;case 6:return`'sledeću subotu u' p`;default:return`'sledeći' EEEE 'u' p`}},other:`P`},c={code:`sr-Latn`,formatDistance:a,formatLong:o,formatRelative:(e,t,n,r)=>{let i=s[e];return typeof i==`function`?i(t):i},localize:{ordinalNumber:(e,t)=>Number(e)+`.`,era:r({values:{narrow:[`pr.n.e.`,`AD`],abbreviated:[`pr. Hr.`,`po. Hr.`],wide:[`Pre Hrista`,`Posle Hrista`]},defaultWidth:`wide`}),quarter:r({values:{narrow:[`1.`,`2.`,`3.`,`4.`],abbreviated:[`1. kv.`,`2. kv.`,`3. kv.`,`4. kv.`],wide:[`1. kvartal`,`2. kvartal`,`3. kvartal`,`4. kvartal`]},defaultWidth:`wide`,argumentCallback:e=>e-1}),month:r({values:{narrow:[`1.`,`2.`,`3.`,`4.`,`5.`,`6.`,`7.`,`8.`,`9.`,`10.`,`11.`,`12.`],abbreviated:[`jan`,`feb`,`mar`,`apr`,`maj`,`jun`,`jul`,`avg`,`sep`,`okt`,`nov`,`dec`],wide:[`januar`,`februar`,`mart`,`april`,`maj`,`jun`,`jul`,`avgust`,`septembar`,`oktobar`,`novembar`,`decembar`]},defaultWidth:`wide`,formattingValues:{narrow:[`1.`,`2.`,`3.`,`4.`,`5.`,`6.`,`7.`,`8.`,`9.`,`10.`,`11.`,`12.`],abbreviated:[`jan`,`feb`,`mar`,`apr`,`maj`,`jun`,`jul`,`avg`,`sep`,`okt`,`nov`,`dec`],wide:[`januar`,`februar`,`mart`,`april`,`maj`,`jun`,`jul`,`avgust`,`septembar`,`oktobar`,`novembar`,`decembar`]},defaultFormattingWidth:`wide`}),day:r({values:{narrow:[`N`,`P`,`U`,`S`,`Č`,`P`,`S`],short:[`ned`,`pon`,`uto`,`sre`,`čet`,`pet`,`sub`],abbreviated:[`ned`,`pon`,`uto`,`sre`,`čet`,`pet`,`sub`],wide:[`nedelja`,`ponedeljak`,`utorak`,`sreda`,`četvrtak`,`petak`,`subota`]},defaultWidth:`wide`}),dayPeriod:r({values:{narrow:{am:`AM`,pm:`PM`,midnight:`ponoć`,noon:`podne`,morning:`ujutru`,afternoon:`popodne`,evening:`uveče`,night:`noću`},abbreviated:{am:`AM`,pm:`PM`,midnight:`ponoć`,noon:`podne`,morning:`ujutru`,afternoon:`popodne`,evening:`uveče`,night:`noću`},wide:{am:`AM`,pm:`PM`,midnight:`ponoć`,noon:`podne`,morning:`ujutru`,afternoon:`posle podne`,evening:`uveče`,night:`noću`}},defaultWidth:`wide`,formattingValues:{narrow:{am:`AM`,pm:`PM`,midnight:`ponoć`,noon:`podne`,morning:`ujutru`,afternoon:`popodne`,evening:`uveče`,night:`noću`},abbreviated:{am:`AM`,pm:`PM`,midnight:`ponoć`,noon:`podne`,morning:`ujutru`,afternoon:`popodne`,evening:`uveče`,night:`noću`},wide:{am:`AM`,pm:`PM`,midnight:`ponoć`,noon:`podne`,morning:`ujutru`,afternoon:`posle podne`,evening:`uveče`,night:`noću`}},defaultFormattingWidth:`wide`})},match:{ordinalNumber:t({matchPattern:/^(\d+)\./i,parsePattern:/\d+/i,valueCallback:e=>parseInt(e,10)}),era:n({matchPatterns:{narrow:/^(pr\.n\.e\.|AD)/i,abbreviated:/^(pr\.\s?Hr\.|po\.\s?Hr\.)/i,wide:/^(Pre Hrista|pre nove ere|Posle Hrista|nova era)/i},defaultMatchWidth:`wide`,parsePatterns:{any:[/^pr/i,/^(po|nova)/i]},defaultParseWidth:`any`}),quarter:n({matchPatterns:{narrow:/^[1234]/i,abbreviated:/^[1234]\.\s?kv\.?/i,wide:/^[1234]\. kvartal/i},defaultMatchWidth:`wide`,parsePatterns:{any:[/1/i,/2/i,/3/i,/4/i]},defaultParseWidth:`any`,valueCallback:e=>e+1}),month:n({matchPatterns:{narrow:/^(10|11|12|[123456789])\./i,abbreviated:/^(jan|feb|mar|apr|maj|jun|jul|avg|sep|okt|nov|dec)/i,wide:/^((januar|januara)|(februar|februara)|(mart|marta)|(april|aprila)|(maj|maja)|(jun|juna)|(jul|jula)|(avgust|avgusta)|(septembar|septembra)|(oktobar|oktobra)|(novembar|novembra)|(decembar|decembra))/i},defaultMatchWidth:`wide`,parsePatterns:{narrow:[/^1/i,/^2/i,/^3/i,/^4/i,/^5/i,/^6/i,/^7/i,/^8/i,/^9/i,/^10/i,/^11/i,/^12/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^maj/i,/^jun/i,/^jul/i,/^avg/i,/^s/i,/^o/i,/^n/i,/^d/i]},defaultParseWidth:`any`}),day:n({matchPatterns:{narrow:/^[npusčc]/i,short:/^(ned|pon|uto|sre|(čet|cet)|pet|sub)/i,abbreviated:/^(ned|pon|uto|sre|(čet|cet)|pet|sub)/i,wide:/^(nedelja|ponedeljak|utorak|sreda|(četvrtak|cetvrtak)|petak|subota)/i},defaultMatchWidth:`wide`,parsePatterns:{narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},defaultParseWidth:`any`}),dayPeriod:n({matchPatterns:{any:/^(am|pm|ponoc|ponoć|(po)?podne|uvece|uveče|noću|posle podne|ujutru)/i},defaultMatchWidth:`any`,parsePatterns:{any:{am:/^a/i,pm:/^p/i,midnight:/^pono/i,noon:/^pod/i,morning:/jutro/i,afternoon:/(posle\s|po)+podne/i,evening:/(uvece|uveče)/i,night:/(nocu|noću)/i}},defaultParseWidth:`any`})},options:{weekStartsOn:1,firstWeekContainsDate:1}};export{c as default,c as srLatn};
@@ -0,0 +1,2 @@
1
+ import{o as e}from"./rolldown-runtime-C0FnF6B9.js";import{d as t,p as n,t as r,v as i}from"./vendor-react-BggL7APJ.js";import{cr as a,sr as o}from"./vendor-objectstack-C4eD5dbT.js";import{Jt as s}from"./ui-components-D8wcRNrt.js";import{G as c,Hi as l,Ji as u,Ki as d,Li as f,Qi as p,Qn as m,Ui as h,W as g,Wi as _,ji as v,t as y}from"./framework-CAuH4h0L.js";import{h as b,o as x,s as S}from"./i18n-runtime-CdWyaiOD.js";import{u as C}from"./data-adapter-BDsrq0TX.js";import{a as w,o as T,r as E}from"./vendor-ui-utils-DIUdEYii.js";import{t as D}from"./vendor-icon-arrow-left-DmGEbpkA.js";import{t as O}from"./vendor-icon-at-sign-B71HJHhC.js";import{t as k}from"./vendor-icon-calendar-BsoUBIef.js";import{t as A}from"./vendor-icon-chart-column-DicJIApF.js";import{t as j}from"./vendor-icon-chart-line-DOxarYni.js";import{t as M}from"./vendor-icon-chart-pie-OmZxepOF.js";import{t as N}from"./vendor-icon-check-vpu9Zukp.js";import{t as P}from"./vendor-icon-chevron-down-BEf_jTEE.js";import{t as F}from"./vendor-icon-chevron-left-KnDcuFH1.js";import{t as I}from"./vendor-icon-chevron-right-DbnKwHYQ.js";import{t as L}from"./vendor-icon-chevron-up-C-6o_0je.js";import{t as ee}from"./vendor-icon-clipboard-UqhWHclG.js";import{t as R}from"./vendor-icon-code-C7LFGCxG.js";import{t as z}from"./vendor-icon-columns-3-DsEBPpuZ.js";import{t as te}from"./vendor-icon-copy-B5M-KdZo.js";import{t as ne}from"./vendor-icon-database-C8JGjSkn.js";import{t as re}from"./vendor-icon-diamond-L7C1CJFo.js";import{t as ie}from"./vendor-icon-download-C3csYSaD.js";import{t as B}from"./vendor-icon-eye-off-Dy3GIcvl.js";import{t as ae}from"./vendor-icon-eye-C3HaEGOo.js";import{t as V}from"./vendor-icon-file-text-7BKAVNof.js";import{t as oe}from"./vendor-icon-folder-open-mGjBJ_Tq.js";import{t as se}from"./vendor-icon-git-branch-CpQpJlYB.js";import{t as ce}from"./vendor-icon-globe-BaOanPH5.js";import{t as le}from"./vendor-icon-grid-3x3-Dyc1xp4z.js";import{t as ue}from"./vendor-icon-grip-vertical-B01-ovq0.js";import{t as H}from"./vendor-icon-hash-Lkwzb5Ny.js";import{t as de}from"./vendor-icon-image-D2YAsa8l.js";import{t as U}from"./vendor-icon-layers-DXBEefR1.js";import{t as fe}from"./vendor-icon-link-2-EAo0juhN.js";import{t as pe}from"./vendor-icon-link-RPcdxfUF.js";import{t as me}from"./vendor-icon-list-ordered-DaaRBYov.js";import{t as he}from"./vendor-icon-lock-B_psRnly.js";import{t as ge}from"./vendor-icon-map-pin-BS-hHv53.js";import{t as _e}from"./vendor-icon-map-DsFP3Vmp.js";import{t as ve}from"./vendor-icon-maximize-2-C215UtMO.js";import{t as ye}from"./vendor-icon-minus-CMTDFpmk.js";import{t as be}from"./vendor-icon-palette-CazWMHVl.js";import{t as xe}from"./vendor-icon-panel-left-close-CrofkR7D.js";import{t as Se}from"./vendor-icon-panel-right-close-B1IgPiA5.js";import{t as Ce}from"./vendor-icon-panel-right-open-DRcsA0VE.js";import{t as we}from"./vendor-icon-panels-top-left-BR5oKE-H.js";import{t as Te}from"./vendor-icon-phone-H1S8HSi1.js";import{t as Ee}from"./vendor-icon-play-BfFoh-7G.js";import{t as De}from"./vendor-icon-plus-BlfcDDsa.js";import{t as Oe}from"./vendor-icon-redo-2-BJ-uEK0D.js";import{t as ke}from"./vendor-icon-rotate-ccw-lr5YKsxC.js";import{t as Ae}from"./vendor-icon-search-B2Uqtp_W.js";import{t as je}from"./vendor-icon-sliders-horizontal-BsnKXU0c.js";import{t as Me}from"./vendor-icon-square-D32ztiBM.js";import{t as Ne}from"./vendor-icon-star-DfusowFE.js";import{t as Pe}from"./vendor-icon-table-2-DMQ6UahM.js";import{t as Fe}from"./vendor-icon-toggle-left-DJMejsN6.js";import{t as W}from"./vendor-icon-trash-BLsWkwB9.js";import{t as Ie}from"./vendor-icon-trending-up-CBQiG1_M.js";import{t as Le}from"./vendor-icon-triangle-alert-D5n0T3q_.js";import{t as Re}from"./vendor-icon-type-DudTuHpS.js";import{t as ze}from"./vendor-icon-undo-2-C9MbW2Vb.js";import{t as Be}from"./vendor-icon-upload-BZ3rElxe.js";import{t as Ve}from"./vendor-icon-users-Db5uTXC8.js";import{t as He}from"./vendor-icon-x-CcLtgRNL.js";import{t as Ue}from"./vendor-icon-zoom-out-IlqZRNIF.js";import{t as We}from"./vendor-icon-zoom-in-ShI9ftXk.js";import{i as Ge,n as Ke}from"./plugin-form-UIRm-FpQ.js";import{o as qe}from"./ui-layout-BYO3rRIl.js";import{r as Je}from"./plugin-grid-Cp4RKtMJ.js";import{n as Ye}from"./types-zod-ChJ30y25.js";var G=e(i(),1);function Xe(e){return e||(typeof window<`u`&&window.sessionStorage?window.sessionStorage:null)}function Ze(e,t={}){let{maxHistory:n=50,persistKey:r,storage:i}=t,a=Xe(i),o=(()=>{if(!r||!a)return null;try{let e=a.getItem(r);if(!e)return null;let t=JSON.parse(e);if(t&&t.v===1&&Array.isArray(t.past)&&Array.isArray(t.future))return t}catch{}return null})(),[s,c]=(0,G.useState)(o?.current??e),l=(0,G.useRef)(o?.past??[]),u=(0,G.useRef)(o?.future??[]),[,d]=(0,G.useState)(0),f=(0,G.useCallback)(()=>d(e=>e+1),[]);(0,G.useEffect)(()=>{if(r&&a)try{let e={v:1,past:l.current,current:s,future:u.current};a.setItem(r,JSON.stringify(e))}catch{}},[s,r,a]);let p=(0,G.useCallback)(e=>{c(t=>(l.current=[...l.current.slice(-(n-1)),t],u.current=[],e)),f()},[n,f]),m=(0,G.useCallback)(()=>{l.current.length!==0&&(c(e=>{let t=[...l.current],n=t.pop();return l.current=t,u.current=[e,...u.current],n}),f())},[f]),h=(0,G.useCallback)(()=>{u.current.length!==0&&(c(e=>{let t=[...u.current],n=t.shift();return u.current=t,l.current=[...l.current,e],n}),f())},[f]),g=(0,G.useCallback)(e=>{l.current=[],u.current=[],c(e),f()},[f]),_=(0,G.useCallback)(()=>{if(r&&a)try{a.removeItem(r)}catch{}},[r,a]),v=(0,G.useCallback)(e=>{let t=l.current.length+1+u.current.length;e<0||e>=t||e!==l.current.length&&(c(t=>{let n=[...l.current,t,...u.current],r=n[e];return l.current=n.slice(0,e),u.current=n.slice(e+1),r}),f())},[f]);return{current:s,canUndo:l.current.length>0,canRedo:u.current.length>0,undoCount:l.current.length,redoCount:u.current.length,timeline:[...l.current,s,...u.current],currentIndex:l.current.length,push:p,undo:m,redo:h,reset:g,jumpTo:v,clearPersisted:_}}function K(){let[e,t]=(0,G.useState)(!1),[n,r]=(0,G.useState)(``),[i,a]=(0,G.useState)(``),o=(0,G.useRef)(null);return{isOpen:e,title:n,message:i,confirm:(0,G.useCallback)((e,n)=>(r(e),a(n),t(!0),new Promise(e=>{o.current=e})),[]),onConfirm:(0,G.useCallback)(()=>{t(!1),o.current?.(!0),o.current=null},[]),onCancel:(0,G.useCallback)(()=>{t(!1),o.current?.(!1),o.current=null},[])}}function Qe(){let[e,t]=(0,G.useState)(new Set);return{selectedIds:e,toggle:(0,G.useCallback)((e,n=!1)=>{t(t=>{let r=new Set(n?t:[]);return t.has(e)&&n?r.delete(e):r.add(e),r})},[]),selectOne:(0,G.useCallback)(e=>{t(new Set([e]))},[]),selectMany:(0,G.useCallback)(e=>{t(new Set(e))},[]),clearSelection:(0,G.useCallback)(()=>{t(new Set)},[]),isSelected:(0,G.useCallback)(t=>e.has(t),[e]),count:e.size}}function $e(){let[e,t]=(0,G.useState)(null);return{clipboard:e,copy:(0,G.useCallback)(e=>{t(structuredClone(e))},[]),paste:(0,G.useCallback)(()=>e?structuredClone(e):null,[e]),hasContent:e!==null}}function et(e={}){let{minZoom:t=.25,maxZoom:n=3,zoomStep:r=.1,initialZoom:i=1}=e,[a,o]=(0,G.useState)(i),[s,c]=(0,G.useState)({x:0,y:0}),l=(0,G.useRef)(!1),u=(0,G.useRef)({x:0,y:0}),d=(0,G.useCallback)(e=>Math.min(n,Math.max(t,+e.toFixed(2))),[t,n]);return{zoom:a,panOffset:s,zoomIn:(0,G.useCallback)(()=>o(e=>d(e+r)),[d,r]),zoomOut:(0,G.useCallback)(()=>o(e=>d(e-r)),[d,r]),resetZoom:(0,G.useCallback)(()=>{o(1),c({x:0,y:0})},[]),setZoom:(0,G.useCallback)(e=>o(d(e)),[d]),handleWheel:(0,G.useCallback)(e=>{if(e.ctrlKey||e.metaKey){e.preventDefault();let t=e.deltaY>0?-r:r;o(e=>d(e+t))}},[d,r]),startPan:(0,G.useCallback)(e=>{if(e.button===1||e.button===0&&e.altKey){e.preventDefault(),l.current=!0,u.current={x:e.clientX,y:e.clientY};let t=e=>{if(!l.current)return;let t=e.clientX-u.current.x,n=e.clientY-u.current.y;u.current={x:e.clientX,y:e.clientY},c(e=>({x:e.x+t,y:e.y+n}))},n=()=>{l.current=!1,document.removeEventListener(`mousemove`,t),document.removeEventListener(`mouseup`,n)};document.addEventListener(`mousemove`,t),document.addEventListener(`mouseup`,n)}},[]),transformStyle:{transform:`translate(${s.x}px, ${s.y}px) scale(${a})`,transformOrigin:`0 0`}}}var q=r();function tt(...e){return w(T(e))}function nt({isOpen:e,title:t,message:n,confirmLabel:r=`Delete`,cancelLabel:i=`Cancel`,destructive:a=!0,onConfirm:o,onCancel:s}){let c=(0,G.useRef)(null);return(0,G.useEffect)(()=>{let t=c.current;t&&(e&&!t.open?t.showModal():!e&&t.open&&t.close())},[e]),e?(0,q.jsx)(`dialog`,{ref:c,className:`fixed inset-0 z-50 m-auto rounded-lg border bg-background p-0 shadow-lg backdrop:bg-black/50`,onClose:s,"aria-labelledby":`confirm-title`,"aria-describedby":`confirm-message`,children:(0,q.jsxs)(`div`,{className:`w-80 p-6`,children:[(0,q.jsxs)(`div`,{className:`flex items-center gap-3 mb-4`,children:[a&&(0,q.jsx)(`div`,{className:`flex h-10 w-10 items-center justify-center rounded-full bg-destructive/10`,children:(0,q.jsx)(Le,{className:`h-5 w-5 text-destructive`})}),(0,q.jsx)(`h2`,{id:`confirm-title`,className:`text-lg font-semibold`,children:t})]}),(0,q.jsx)(`p`,{id:`confirm-message`,className:`text-sm text-muted-foreground mb-6`,children:n}),(0,q.jsxs)(`div`,{className:`flex justify-end gap-2`,children:[(0,q.jsx)(`button`,{type:`button`,onClick:s,className:`px-4 py-2 text-sm rounded-md border hover:bg-accent`,children:i}),(0,q.jsx)(`button`,{type:`button`,onClick:o,className:tt(`px-4 py-2 text-sm rounded-md font-medium`,a?`bg-destructive text-destructive-foreground hover:bg-destructive/90`:`bg-primary text-primary-foreground hover:bg-primary/90`),autoFocus:!0,children:r})]})]})}):null}function rt(...e){return w(T(e))}function it({title:e=`Properties`,fields:t,onChange:n,className:r}){let[i,a]=(0,G.useState)(new Set),o=(0,G.useCallback)(e=>{a(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},[]),s=t.reduce((e,t)=>{let n=t.group??`General`;return e[n]||(e[n]=[]),e[n].push(t),e},{});return(0,q.jsxs)(`div`,{className:rt(`flex flex-col`,r),role:`region`,"aria-label":e,children:[(0,q.jsx)(`div`,{className:`p-3 border-b font-medium text-sm`,children:e}),(0,q.jsxs)(`div`,{className:`flex-1 overflow-y-auto`,children:[Object.entries(s).map(([e,t])=>(0,q.jsxs)(`div`,{className:`border-b last:border-b-0`,children:[(0,q.jsxs)(`button`,{type:`button`,onClick:()=>o(e),className:`w-full flex items-center gap-1 px-3 py-2 text-xs font-medium text-muted-foreground hover:bg-accent/50`,children:[i.has(e)?(0,q.jsx)(I,{className:`h-3 w-3`}):(0,q.jsx)(P,{className:`h-3 w-3`}),e]}),!i.has(e)&&(0,q.jsx)(`div`,{className:`px-3 pb-2 space-y-2`,children:t.map(e=>(0,q.jsx)(at,{field:e,onChange:n},e.name))})]},e)),t.length===0&&(0,q.jsx)(`div`,{className:`p-3 text-xs text-muted-foreground text-center`,children:`Select an element to edit its properties`})]})]})}function at({field:e,onChange:t}){let n=n=>{t(e.name,n)};return(0,q.jsxs)(`div`,{className:`space-y-1`,children:[(0,q.jsx)(`label`,{className:`text-xs text-muted-foreground`,children:e.label}),e.type===`text`&&(0,q.jsx)(`input`,{type:`text`,value:String(e.value??``),onChange:e=>n(e.target.value),className:`w-full px-2 py-1 text-xs border rounded bg-background`}),e.type===`number`&&(0,q.jsx)(`input`,{type:`number`,value:Number(e.value??0),onChange:e=>n(Number(e.target.value)),className:`w-full px-2 py-1 text-xs border rounded bg-background`}),e.type===`boolean`&&(0,q.jsxs)(`label`,{className:`flex items-center gap-2`,children:[(0,q.jsx)(`input`,{type:`checkbox`,checked:!!e.value,onChange:e=>n(e.target.checked),className:`rounded`}),(0,q.jsx)(`span`,{className:`text-xs`,children:e.value?`Yes`:`No`})]}),e.type===`select`&&(0,q.jsx)(`select`,{value:String(e.value??``),onChange:e=>n(e.target.value),className:`w-full px-2 py-1 text-xs border rounded bg-background`,children:e.options?.map(e=>(0,q.jsx)(`option`,{value:e.value,children:e.label},e.value))}),e.type===`color`&&(0,q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,q.jsx)(`input`,{type:`color`,value:String(e.value??`#000000`),onChange:e=>n(e.target.value),className:`h-6 w-6 rounded border cursor-pointer`}),(0,q.jsx)(`span`,{className:`text-xs font-mono`,children:String(e.value??`#000000`)})]}),e.type===`textarea`&&(0,q.jsx)(`textarea`,{value:String(e.value??``),onChange:e=>n(e.target.value),className:`w-full px-2 py-1 text-xs border rounded bg-background resize-y`,rows:3}),e.description&&(0,q.jsx)(`p`,{className:`text-[0.65rem] text-muted-foreground/70`,children:e.description})]})}function ot(...e){return w(T(e))}function st({items:e,canvasWidth:t,canvasHeight:n,position:r=`bottom-right`,size:i=150,className:a}){let o=Math.min(i/t,i/n),s=t*o,c=n*o;return(0,q.jsx)(`div`,{className:ot(`absolute border rounded bg-background/90 shadow-sm overflow-hidden`,{"top-left":`top-2 left-2`,"top-right":`top-2 right-2`,"bottom-left":`bottom-2 left-2`,"bottom-right":`bottom-2 right-2`}[r],a),role:`img`,"aria-label":`Canvas minimap`,children:(0,q.jsxs)(`svg`,{width:s,height:c,viewBox:`0 0 ${t} ${n}`,children:[(0,q.jsx)(`rect`,{width:t,height:n,fill:`hsl(var(--muted))`,opacity:`0.3`}),e.map(e=>(0,q.jsx)(`rect`,{x:e.x,y:e.y,width:e.width,height:e.height,fill:e.selected?`hsl(var(--primary))`:e.color??`hsl(var(--foreground) / 0.3)`,rx:`2`},e.id))]})})}var ct=(0,G.createContext)(null);ct.displayName=`CollaborationContext`;function lt(){return(0,G.useContext)(ct)}function ut(e){return e?{"--designer-canvas-bg":e}:{}}function J(...e){return w(T(e))}function dt(e,t=0){return e.flatMap(e=>[{comp:e,depth:t},...dt(e.children??[],t+1)])}function ft(e,t){return e.map(e=>{let n=t(e);return n.children?{...n,children:ft(n.children,t)}:n})}function pt(e){return e.locked===!0||(e.children??[]).some(pt)}function mt(e,t){return e.filter(t).map(e=>e.children?{...e,children:mt(e.children,t)}:e)}function ht({canvas:e={width:1200,height:800,gridSize:8,showGrid:!0,snapToGrid:!0},components:t=[],palette:n=gt,showComponentTree:r=!0,undoRedo:i=!0,propertyEditor:a=!0,readOnly:o=!1,showMinimap:c=!1,onChange:l,className:u}){let d=Ze(t),f=d.current,p=(0,G.useCallback)(e=>{d.push(e),l?.(e)},[d,l]),m=et({initialZoom:e.zoom??1}),{zoom:h}=m,g=Qe(),_=(0,G.useMemo)(()=>{let e=Array.from(g.selectedIds);return e.length>0?e[0]:null},[g.selectedIds]),v=(0,G.useMemo)(()=>dt(f).find(e=>e.comp.id===_)?.comp,[f,_]),y=$e(),b=K(),x=lt(),S=(0,G.useCallback)(e=>{x&&x.sendOperation({...e,userId:x.currentUserId??``})},[x]),[C,w]=(0,G.useState)(!0),[T,E]=(0,G.useState)(!0),[D,O]=(0,G.useState)(c),k=(0,G.useRef)(null),A=(0,G.useRef)(null),j=(0,G.useCallback)(t=>!e.snapToGrid||!e.gridSize?t:Math.round(t/e.gridSize)*e.gridSize,[e.snapToGrid,e.gridSize]),M=(0,G.useCallback)((e,t)=>{if(o)return;let r=n.flatMap(e=>e.items).find(t=>t.type===e),i=r?.defaultSize,a={id:`comp-${Date.now()}`,type:e,label:t,position:{x:100,y:100,width:i?.width??200,height:i?.height??100},props:r?.defaultProps??{}},s=[...f,a];p(s),g.selectOne(a.id),S({type:`insert`,elementId:a.id,data:{component:a}})},[f,o,n,p,g,S]),N=(0,G.useCallback)(e=>{if(o)return;let t=dt(f).find(t=>t.comp.id===e)?.comp;if(!t||pt(t))return;let n=mt(f,t=>t.id!==e);p(n),g.isSelected(e)&&g.clearSelection(),S({type:`delete`,elementId:e,data:{}})},[f,o,p,g,S]),P=(0,G.useCallback)(async()=>{if(o||g.count===0)return;let e=new Set(dt(f).map(e=>e.comp).filter(e=>g.selectedIds.has(e.id)&&!pt(e)).map(e=>e.id));if(e.size===0||!await b.confirm(`Delete components`,`Are you sure you want to delete ${e.size} component${e.size>1?`s`:``}?`))return;let t=mt(f,t=>!e.has(t.id));p(t),g.clearSelection(),e.forEach(e=>{S({type:`delete`,elementId:e,data:{}})})},[o,g,b,f,p,S]),F=(0,G.useCallback)((e,t)=>{if(o||!_)return;let n=ft(f,n=>n.id===_?e===`label`?{...n,label:String(t)}:e===`locked`||e===`visible`?{...n,[e]:!!t}:e===`zIndex`?{...n,zIndex:Number(t)}:e===`x`?{...n,position:{...n.position,x:Number(t)}}:e===`y`?{...n,position:{...n.position,y:Number(t)}}:e===`width`?{...n,position:{...n.position,width:Number(t)}}:e===`height`?{...n,position:{...n.position,height:Number(t)}}:{...n,props:{...n.props,[e]:t}}:n);p(n),S({type:`update`,elementId:_,data:{[e]:t}})},[o,_,f,p,S]),I=(0,G.useCallback)(()=>{let e=g.selectedIds;if(e.size===0)return;let t=dt(f).map(e=>e.comp).filter(t=>e.has(t.id));y.copy(t)},[g,f,y]),L=(0,G.useCallback)(()=>{if(o)return;let e=y.paste();if(!e||e.length===0)return;let t=0,n=e.map(e=>({...e,id:`comp-${Date.now()}-${++t}-${Math.random().toString(36).slice(2,7)}`,position:{...e.position,x:e.position.x+20,y:e.position.y+20}})),r=[...f,...n];p(r),g.selectMany(n.map(e=>e.id)),n.forEach(e=>{S({type:`insert`,elementId:e.id,data:{component:e}})})},[o,y,f,p,g,S]),R=(0,G.useCallback)((e,t)=>{o||(k.current={id:t.id,startX:e.clientX,startY:e.clientY},e.dataTransfer.effectAllowed=`move`,e.dataTransfer.setData(`text/plain`,t.id))},[o]),z=(0,G.useCallback)(e=>{e.preventDefault(),e.dataTransfer.dropEffect=`move`},[]),ne=(0,G.useCallback)(e=>{e.preventDefault();let t=k.current;if(!t||o)return;let n=(e.clientX-t.startX)/h,r=(e.clientY-t.startY)/h,i=ft(f,e=>e.id===t.id?{...e,position:{...e.position,x:j(e.position.x+n),y:j(e.position.y+r)}}:e);p(i),S({type:`move`,elementId:t.id,data:{}}),k.current=null},[o,h,f,p,j,S]),re=(0,G.useMemo)(()=>v?[{name:`label`,label:`Label`,type:`text`,value:v.label??``,group:`General`},{name:`x`,label:`X`,type:`number`,value:v.position.x,group:`Position`},{name:`y`,label:`Y`,type:`number`,value:v.position.y,group:`Position`},{name:`width`,label:`Width`,type:`number`,value:v.position.width,group:`Size`},{name:`height`,label:`Height`,type:`number`,value:v.position.height,group:`Size`},{name:`visible`,label:`Visible`,type:`boolean`,value:v.visible!==!1,group:`Layer`},{name:`locked`,label:`Locked`,type:`boolean`,value:v.locked===!0,group:`Layer`},{name:`zIndex`,label:`Z-index`,type:`number`,value:v.zIndex??0,group:`Layer`}]:[],[v]),ie=(0,G.useMemo)(()=>f.map(e=>({id:e.id,x:e.position.x,y:e.position.y,width:typeof e.position.width==`number`?e.position.width:100,height:typeof e.position.height==`number`?e.position.height:50,selected:g.isSelected(e.id)})),[f,g]);(0,G.useEffect)(()=>{let e=A.current;if(!e)return;let t=e=>{let t=[`INPUT`,`TEXTAREA`,`SELECT`].includes(e.target.tagName),n=e.ctrlKey||e.metaKey;if((e.key===`Delete`||e.key===`Backspace`)&&g.count>0&&!t){e.preventDefault(),P();return}if(e.key===`Escape`){g.clearSelection();return}if(!t){if(n&&e.key===`z`&&!e.shiftKey&&i&&!o){e.preventDefault(),d.undo();return}if(n&&(e.key===`z`&&e.shiftKey||e.key===`y`)&&i&&!o){e.preventDefault(),d.redo();return}if(n&&e.key===`c`){e.preventDefault(),I();return}if(n&&e.key===`v`&&!o){e.preventDefault(),L();return}if(n&&e.key===`a`){e.preventDefault(),g.selectMany(f.map(e=>e.id));return}}};return e.addEventListener(`keydown`,t),()=>e.removeEventListener(`keydown`,t)},[g,P,i,o,d,I,L,f]);let V=e=>{let t=g.isSelected(e.id),n=e.visible===!1;return(0,q.jsxs)(`div`,{draggable:!o&&!e.locked,onDragStart:t=>{t.stopPropagation(),R(t,e)},className:J(`absolute border rounded select-none transition-shadow`,e.locked?`cursor-default`:`cursor-move`,t?`border-primary ring-2 ring-primary/20 shadow-md`:`border-border hover:border-primary/50`,n&&`opacity-40 border-dashed`),style:{left:e.position.x*h,top:e.position.y*h,width:typeof e.position.width==`number`?e.position.width*h:e.position.width,height:typeof e.position.height==`number`?e.position.height*h:e.position.height,zIndex:e.zIndex},"data-testid":`page-component-${e.id}`,onClick:t=>{t.stopPropagation(),g.toggle(e.id,t.shiftKey)},children:[(0,q.jsxs)(`div`,{className:`flex items-center gap-1 px-2 py-1 bg-muted/50 text-xs border-b`,children:[(0,q.jsx)(ue,{className:`h-3 w-3 text-muted-foreground`}),(0,q.jsx)(`span`,{className:`truncate`,children:e.label??e.type}),n&&(0,q.jsx)(B,{className:`h-3 w-3 shrink-0 text-muted-foreground`,"aria-label":`Hidden`}),e.locked&&(0,q.jsx)(he,{className:`h-3 w-3 shrink-0 text-muted-foreground`,"aria-label":`Locked`}),!o&&!pt(e)&&(0,q.jsx)(`button`,{type:`button`,onClick:t=>{t.stopPropagation(),N(e.id)},className:`ml-auto p-0.5 rounded hover:bg-destructive/10`,"aria-label":`Delete ${e.label??e.type}`,children:(0,q.jsx)(W,{className:`h-3 w-3 text-destructive`})})]}),(0,q.jsxs)(`div`,{className:`relative p-2 text-xs text-muted-foreground`,children:[e.type,e.children?.map(e=>V(e))]})]},e.id)};return(0,q.jsxs)(`div`,{ref:A,tabIndex:0,className:J(`flex h-full w-full border rounded-lg overflow-hidden bg-background`,u),children:[!o&&(0,q.jsx)(`div`,{className:J(`border-r bg-muted/30 flex flex-col transition-[width] duration-200`,C?`w-60`:`w-0 overflow-hidden`),role:`region`,"aria-label":`Component palette`,children:C&&(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`div`,{className:`p-3 border-b font-medium text-sm`,children:`Components`}),(0,q.jsx)(`div`,{className:`flex-1 overflow-y-auto p-2`,children:n.map(e=>{let t=s(e.icon);return(0,q.jsxs)(`div`,{className:`mb-3`,children:[(0,q.jsxs)(`div`,{className:`flex items-center gap-1.5 text-xs font-medium text-muted-foreground px-2 py-1 uppercase`,children:[t&&(0,q.jsx)(t,{className:`h-3 w-3`,"aria-hidden":`true`,"data-testid":`palette-category-icon-${e.name}`}),e.label]}),e.items.map(e=>{let t=s(e.icon)??De;return(0,q.jsxs)(`button`,{type:`button`,onClick:()=>M(e.type,e.label),className:`w-full flex items-center gap-2 px-2 py-1.5 text-sm rounded hover:bg-accent text-left`,"data-testid":`palette-item-${e.type}`,children:[(0,q.jsx)(t,{className:`h-3 w-3 shrink-0`,"aria-hidden":`true`}),(0,q.jsx)(`span`,{className:`truncate`,children:e.label}),e.preview&&(0,q.jsx)(`img`,{src:e.preview,alt:``,loading:`lazy`,className:`ml-auto h-6 w-10 shrink-0 rounded border object-cover`,"data-testid":`palette-item-preview-${e.type}`})]},e.type)})]},e.name)})})]})}),(0,q.jsxs)(`div`,{className:`flex-1 flex flex-col min-w-0`,children:[(0,q.jsxs)(`div`,{className:`flex items-center gap-2 p-2 border-b bg-muted/20`,role:`toolbar`,"aria-label":`Designer toolbar`,children:[!o&&(0,q.jsx)(`button`,{type:`button`,className:`p-1.5 rounded hover:bg-accent`,title:C?`Collapse palette`:`Expand palette`,"aria-label":C?`Collapse palette`:`Expand palette`,onClick:()=>w(e=>!e),children:(0,q.jsx)(xe,{className:J(`h-4 w-4`,!C&&`rotate-180`)})}),i&&!o&&(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`div`,{className:`w-px h-5 bg-border mx-1`}),(0,q.jsx)(`button`,{type:`button`,className:J(`p-1.5 rounded hover:bg-accent`,!d.canUndo&&`opacity-40 pointer-events-none`),title:`Undo (Ctrl+Z)`,"aria-label":`Undo`,disabled:!d.canUndo,onClick:()=>d.undo(),children:(0,q.jsx)(ze,{className:`h-4 w-4`})}),(0,q.jsx)(`button`,{type:`button`,className:J(`p-1.5 rounded hover:bg-accent`,!d.canRedo&&`opacity-40 pointer-events-none`),title:`Redo (Ctrl+Shift+Z)`,"aria-label":`Redo`,disabled:!d.canRedo,onClick:()=>d.redo(),children:(0,q.jsx)(Oe,{className:`h-4 w-4`})}),(0,q.jsx)(`div`,{className:`w-px h-5 bg-border mx-1`})]}),!o&&(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`button`,{type:`button`,className:J(`p-1.5 rounded hover:bg-accent`,g.count===0&&`opacity-40 pointer-events-none`),title:`Copy (Ctrl+C)`,"aria-label":`Copy`,disabled:g.count===0,onClick:I,children:(0,q.jsx)(te,{className:`h-4 w-4`})}),(0,q.jsx)(`button`,{type:`button`,className:J(`p-1.5 rounded hover:bg-accent`,!y.hasContent&&`opacity-40 pointer-events-none`),title:`Paste (Ctrl+V)`,"aria-label":`Paste`,disabled:!y.hasContent,onClick:L,children:(0,q.jsx)(ee,{className:`h-4 w-4`})}),(0,q.jsx)(`div`,{className:`w-px h-5 bg-border mx-1`})]}),!o&&(0,q.jsx)(`button`,{type:`button`,className:J(`p-1.5 rounded hover:bg-accent`,g.count===0&&`opacity-40 pointer-events-none`),title:`Delete selected`,"aria-label":`Delete selected`,disabled:g.count===0,onClick:P,children:(0,q.jsx)(W,{className:`h-4 w-4`})}),(0,q.jsx)(`button`,{type:`button`,className:`p-1.5 rounded hover:bg-accent`,title:`Preview`,"aria-label":`Preview`,children:(0,q.jsx)(ae,{className:`h-4 w-4`})}),(0,q.jsx)(`button`,{type:`button`,className:J(`p-1.5 rounded hover:bg-accent`,D&&`bg-accent`),title:`Toggle minimap`,"aria-label":`Toggle minimap`,onClick:()=>O(e=>!e),children:(0,q.jsx)(_e,{className:`h-4 w-4`})}),(0,q.jsx)(`div`,{className:`flex-1`}),(0,q.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,q.jsx)(`button`,{type:`button`,className:`p-1 rounded hover:bg-accent text-xs`,"aria-label":`Zoom out`,onClick:m.zoomOut,children:(0,q.jsx)(ye,{className:`h-3 w-3`})}),(0,q.jsxs)(`span`,{className:`text-xs text-muted-foreground w-10 text-center`,children:[Math.round(h*100),`%`]}),(0,q.jsx)(`button`,{type:`button`,className:`p-1 rounded hover:bg-accent text-xs`,"aria-label":`Zoom in`,onClick:m.zoomIn,children:(0,q.jsx)(De,{className:`h-3 w-3`})}),(0,q.jsx)(`button`,{type:`button`,className:`p-1 rounded hover:bg-accent text-xs`,"aria-label":`Reset zoom`,onClick:m.resetZoom,children:(0,q.jsx)(ve,{className:`h-3 w-3`})})]}),r&&(0,q.jsx)(`button`,{type:`button`,className:`p-1.5 rounded hover:bg-accent`,title:T?`Collapse panel`:`Expand panel`,"aria-label":T?`Collapse panel`:`Expand panel`,onClick:()=>E(e=>!e),children:(0,q.jsx)(Se,{className:J(`h-4 w-4`,!T&&`rotate-180`)})})]}),(0,q.jsx)(`div`,{className:`flex-1 overflow-auto bg-muted/10 p-4 relative`,role:`region`,"aria-label":`Design canvas`,onWheel:m.handleWheel,onMouseDown:m.startPan,onDragOver:z,onDrop:ne,children:(0,q.jsxs)(`div`,{className:J(`relative bg-background border rounded shadow-sm mx-auto`,e.backgroundColor&&`bg-[color:var(--designer-canvas-bg)]`),"data-testid":`page-canvas`,style:{...ut(e.backgroundColor),width:e.width*h,height:e.height*h,transform:`translate(${m.panOffset.x}px, ${m.panOffset.y}px)`,backgroundImage:e.showGrid?`radial-gradient(circle, hsl(var(--border)) 1px, transparent 1px)`:void 0,backgroundSize:e.showGrid&&e.gridSize?`${e.gridSize*h}px ${e.gridSize*h}px`:void 0},children:[f.map(e=>V(e)),D&&(0,q.jsx)(st,{items:ie,canvasWidth:e.width,canvasHeight:e.height})]})})]}),r&&(0,q.jsx)(`div`,{className:J(`border-l bg-muted/30 flex flex-col transition-[width] duration-200`,T?`w-60`:`w-0 overflow-hidden`),role:`region`,"aria-label":`Component tree`,children:T&&(0,q.jsxs)(q.Fragment,{children:[(0,q.jsxs)(`div`,{className:`p-3 border-b font-medium text-sm flex items-center gap-2`,children:[(0,q.jsx)(U,{className:`h-4 w-4`}),`Component Tree`]}),(0,q.jsx)(`div`,{className:`flex-1 overflow-y-auto p-2`,children:f.length===0?(0,q.jsx)(`div`,{className:`text-xs text-muted-foreground text-center py-4`,children:`No components added yet. Click a component in the palette to add it to the canvas.`}):dt(f).map(({comp:e,depth:t})=>(0,q.jsxs)(`button`,{type:`button`,onClick:t=>g.toggle(e.id,t.shiftKey),className:J(`w-full flex items-center gap-2 py-1.5 pr-2 pl-[calc(0.5rem+var(--tree-depth)*0.75rem)] text-sm rounded text-left`,g.isSelected(e.id)?`bg-accent`:`hover:bg-accent/50`,e.visible===!1&&`text-muted-foreground`),style:{"--tree-depth":t},"data-testid":`page-tree-item-${e.id}`,"data-depth":t,children:[(0,q.jsx)(`span`,{className:`truncate`,children:e.label??e.type}),e.visible===!1&&(0,q.jsx)(B,{className:`ml-auto h-3 w-3 shrink-0`,"aria-label":`Hidden`}),e.locked&&(0,q.jsx)(he,{className:J(`h-3 w-3 shrink-0`,e.visible!==!1&&`ml-auto`),"aria-label":`Locked`})]},e.id))}),a&&v?(0,q.jsx)(`div`,{className:`border-t`,children:(0,q.jsx)(it,{title:`Properties – ${v.label??v.type}`,fields:re,onChange:F})}):v&&(0,q.jsxs)(`div`,{className:`border-t p-3`,children:[(0,q.jsx)(`div`,{className:`text-xs font-medium mb-2`,children:`Properties`}),(0,q.jsxs)(`div`,{className:`text-xs text-muted-foreground space-y-1`,children:[(0,q.jsxs)(`div`,{children:[`Type: `,v.type]}),(0,q.jsxs)(`div`,{children:[`ID: `,v.id]}),(0,q.jsxs)(`div`,{children:[`Position: `,v.position.x,`,`,` `,v.position.y]}),(0,q.jsxs)(`div`,{children:[`Size: `,v.position.width,` ×`,` `,v.position.height]})]})]})]})}),(0,q.jsx)(nt,{isOpen:b.isOpen,title:b.title,message:b.message,onConfirm:b.onConfirm,onCancel:b.onCancel})]})}var gt=[{name:`layout`,label:`Layout`,items:[{type:`container`,label:`Container`,defaultSize:{width:400,height:300}},{type:`flex`,label:`Flex`,defaultSize:{width:400,height:200}},{type:`grid`,label:`Grid`,defaultSize:{width:400,height:300}},{type:`card`,label:`Card`,defaultSize:{width:300,height:200}},{type:`tabs`,label:`Tabs`,defaultSize:{width:400,height:300}}]},{name:`form`,label:`Form`,items:[{type:`input`,label:`Input`,defaultSize:{width:300,height:60}},{type:`textarea`,label:`Textarea`,defaultSize:{width:300,height:120}},{type:`select`,label:`Select`,defaultSize:{width:300,height:60}},{type:`checkbox`,label:`Checkbox`,defaultSize:{width:200,height:40}},{type:`button`,label:`Button`,defaultSize:{width:120,height:40}}]},{name:`data`,label:`Data`,items:[{type:`table`,label:`Table`,defaultSize:{width:600,height:400}},{type:`chart`,label:`Chart`,defaultSize:{width:400,height:300}},{type:`list`,label:`List`,defaultSize:{width:300,height:400}},{type:`statistic`,label:`Statistic`,defaultSize:{width:200,height:100}}]}];function _t(e,t={}){return Ze(e,t)}function vt(...e){return w(T(e))}var yt=[`text`,`number`,`boolean`,`date`,`datetime`,`uuid`,`email`,`url`,`phone`,`json`,`integer`,`float`,`decimal`,`currency`,`percent`,`textarea`,`select`,`multiselect`,`lookup`,`attachment`,`formula`,`autonumber`];function bt(e,t=4,n=280,r=250,i=50,a=50){return e.map((e,o)=>({...e,position:{x:i+o%t*n,y:a+Math.floor(o/t)*r}}))}var xt=240,St=2,Ct=36,wt=4,Tt=24,Et=40;function Dt(e,t){let n=e.fields.findIndex(e=>e.name===t);return n===-1?{y:e.position.y+St+Ct/2,found:!1}:{y:e.position.y+St+Ct+wt+n*Tt+Tt/2,found:!0}}function Ot(e,t,n){let r=Dt(e,n.sourceField),i=Dt(t,n.targetField),a=e.position.x,o=t.position.x;if(a+xt<=o||o+xt<=a){let e=a<o,t=e?a+xt:a,n=e?o:o+xt;return{d:`M ${t} ${r.y} L ${n} ${i.y}`,labelX:(t+n)/2,labelY:(r.y+i.y)/2,sourceFound:r.found,targetFound:i.found}}let s=a+xt,c=o+xt,l=Math.max(s,c)+Et;return{d:`M ${s} ${r.y} C ${l} ${r.y}, ${l} ${i.y}, ${c} ${i.y}`,labelX:l,labelY:(r.y+i.y)/2,sourceFound:r.found,targetFound:i.found}}function kt(e,t,n,r){let i=[`${e.label}.${n.sourceField} → ${t.label}.${n.targetField}`];n.deleteBehavior&&i.push(`on delete: ${n.deleteBehavior}`);let a=[];return r.sourceFound||a.push(`${e.label} has no field "${n.sourceField}"`),r.targetFound||a.push(`${t.label} has no field "${n.targetField}"`),a.length>0&&i.push(`${a.join(`; `)}, so the line meets its header`),i.join(` · `)}function At(e){try{return JSON.stringify(e)??String(e)}catch{return String(e)}}function jt(e){let t=[];return e.description&&t.push(e.description),e.defaultValue!==void 0&&t.push(`Default: ${At(e.defaultValue)}`),t.length>0?t.join(`
2
+ `):void 0}function Mt({entities:e=[],relationships:t=[],canvas:n={width:1200,height:800,showGrid:!0},showRelationshipLabels:r=!0,readOnly:i=!1,onEntitiesChange:a,onRelationshipsChange:o,className:s}){let c=(0,G.useRef)(null),l=_t({entities:e,relationships:t},{maxHistory:50}),{entities:u,relationships:d}=l.current,f=(0,G.useCallback)(e=>{l.push(e),a?.(e.entities),o?.(e.relationships)},[l,a,o]),p=K(),m=Qe(),h=m.count>0?Array.from(m.selectedIds)[0]:null,g=$e(),_=et({minZoom:.25,maxZoom:3,zoomStep:.1}),v=lt(),[y,b]=(0,G.useState)(!0),[x,S]=(0,G.useState)(!0),[C,w]=(0,G.useState)(null),[T,E]=(0,G.useState)(``),[D,O]=(0,G.useState)(null),[k,A]=(0,G.useState)(``),j=(0,G.useRef)(null),M=(0,G.useCallback)(()=>{if(i)return;let e=l.current,t={id:`entity-${Date.now()}`,name:`new_entity_${e.entities.length+1}`,label:`New Entity ${e.entities.length+1}`,fields:[{name:`id`,type:`uuid`,primaryKey:!0,required:!0},{name:`created_at`,type:`datetime`,required:!0},{name:`updated_at`,type:`datetime`,required:!0}],position:{x:50+e.entities.length%4*280,y:50+Math.floor(e.entities.length/4)*250}},n={entities:[...e.entities,t],relationships:e.relationships};f(n),m.selectOne(t.id),v?.sendOperation({type:`insert`,userId:v?.currentUserId??``,elementId:t.id,data:{name:t.name,label:t.label}})},[i,l,f,m,v]),N=(0,G.useCallback)(async e=>{if(i)return;let t=u.find(t=>t.id===e);if(!await p.confirm(`Delete Entity`,`Are you sure you want to delete "${t?.label??e}"? This action cannot be undone.`))return;let n=l.current,r={entities:n.entities.filter(t=>t.id!==e),relationships:n.relationships.filter(t=>t.sourceEntity!==e&&t.targetEntity!==e)};f(r),m.isSelected(e)&&m.clearSelection(),v?.sendOperation({type:`delete`,userId:v?.currentUserId??``,elementId:e,data:{}})},[i,u,p,l,f,m,v]),F=(0,G.useCallback)(async()=>{if(i||m.count===0)return;let e=Array.from(m.selectedIds);if(!await p.confirm(`Delete Entities`,`Are you sure you want to delete ${e.length} selected entity(s)? This action cannot be undone.`))return;let t=l.current,n=new Set(e),r={entities:t.entities.filter(e=>!n.has(e.id)),relationships:t.relationships.filter(e=>!n.has(e.sourceEntity)&&!n.has(e.targetEntity))};f(r),m.clearSelection()},[i,m,p,l,f]),L=(0,G.useCallback)(()=>{if(i)return;let e=l.current,t={entities:bt(e.entities),relationships:e.relationships};f(t)},[i,l,f]),R=(0,G.useCallback)(()=>{let e=u.filter(e=>m.isSelected(e.id));e.length>0&&g.copy(e)},[u,m,g]),z=(0,G.useCallback)(()=>{if(i)return;let e=g.paste();if(!e||e.length===0)return;let t=l.current,n=e.map((e,t)=>({...e,id:`entity-${Date.now()}-${t}`,name:`${e.name}_copy`,label:`${e.label} (Copy)`,position:{x:e.position.x+30,y:e.position.y+30}})),r={entities:[...t.entities,...n],relationships:t.relationships};f(r),m.selectMany(n.map(e=>e.id))},[i,g,l,f,m]),re=(0,G.useCallback)(e=>{if(i)return;let t=l.current,n={entities:t.entities.map(t=>{if(t.id!==e)return t;let n={name:`field_${t.fields.length+1}`,type:`text`,required:!1};return{...t,fields:[...t.fields,n]}}),relationships:t.relationships};f(n)},[i,l,f]),ie=(0,G.useCallback)((e,t,n)=>{i||(w({entityId:e,fieldIndex:t}),E(n))},[i]),B=(0,G.useCallback)(()=>{if(!C)return;let e=T.trim();if(e===``){w(null);return}let t=l.current,{entityId:n,fieldIndex:r}=C,i=t.entities.find(e=>e.id===n)?.fields[r]?.name,a={entities:t.entities.map(t=>{if(t.id!==n)return t;let i=t.fields.map((t,n)=>n===r?{...t,name:e}:t);return{...t,fields:i}}),relationships:i===void 0||i===e?t.relationships:t.relationships.map(t=>{let r=t.sourceEntity===n&&t.sourceField===i,a=t.targetEntity===n&&t.targetField===i;return!r&&!a?t:{...t,...r?{sourceField:e}:{},...a?{targetField:e}:{}}})};f(a),w(null)},[C,T,l,f]),ae=(0,G.useCallback)(()=>{w(null)},[]),V=(0,G.useCallback)((e,t)=>{i||(O(e),A(t))},[i]),oe=(0,G.useCallback)(()=>{if(!D)return;let e=k.trim();if(e===``){O(null);return}let t=l.current,n={entities:t.entities.map(t=>t.id===D?{...t,label:e}:t),relationships:t.relationships};f(n),O(null)},[D,k,l,f]),se=(0,G.useCallback)(()=>{O(null)},[]),ce=(0,G.useCallback)((e,t,n)=>{if(i)return;let r=l.current,a={entities:r.entities.map(r=>{if(r.id!==e)return r;let i=r.fields.map((e,r)=>r===t?{...e,type:n}:e);return{...r,fields:i}}),relationships:r.relationships};f(a)},[i,l,f]),ue=(0,G.useCallback)((e,t)=>{if(i||!u.find(e=>e.id===t))return;let n=e.target.getBoundingClientRect();j.current={entityId:t,offsetX:e.clientX-n.left,offsetY:e.clientY-n.top},e.dataTransfer.effectAllowed=`move`,e.dataTransfer.setData(`text/plain`,t)},[i,u]),H=(0,G.useCallback)(e=>{e.preventDefault(),e.dataTransfer.dropEffect=`move`},[]),de=(0,G.useCallback)(e=>{if(e.preventDefault(),!j.current)return;let t=e.currentTarget.getBoundingClientRect(),n=_.zoom,r=(e.clientX-t.left-_.panOffset.x)/n-j.current.offsetX,i=(e.clientY-t.top-_.panOffset.y)/n-j.current.offsetY,a=l.current,o={entities:a.entities.map(e=>e.id===j.current.entityId?{...e,position:{x:Math.max(0,Math.round(r)),y:Math.max(0,Math.round(i))}}:e),relationships:a.relationships};f(o),j.current=null},[_.zoom,_.panOffset,l,f]),U=h?u.find(e=>e.id===h):null,pe=U?[{name:`name`,label:`Name`,type:`text`,value:U.name,group:`General`},{name:`label`,label:`Label`,type:`text`,value:U.label,group:`General`},{name:`description`,label:`Description`,type:`textarea`,value:U.description??``,group:`General`},{name:`color`,label:`Color`,type:`color`,value:U.color??`#3b82f6`,group:`Appearance`},{name:`position.x`,label:`X Position`,type:`number`,value:U.position.x,group:`Position`},{name:`position.y`,label:`Y Position`,type:`number`,value:U.position.y,group:`Position`}]:[],me=(0,G.useCallback)((e,t)=>{if(!h)return;let n=l.current,r={entities:n.entities.map(n=>n.id===h?e===`position.x`?{...n,position:{...n.position,x:Number(t)}}:e===`position.y`?{...n,position:{...n.position,y:Number(t)}}:{...n,[e]:t}:n),relationships:n.relationships};f(r)},[h,l,f]);(0,G.useEffect)(()=>{let e=c.current;if(!e)return;let t=e=>{let t=e.target.tagName;if(t===`INPUT`||t===`TEXTAREA`||t===`SELECT`)return;let n=e.ctrlKey||e.metaKey;n&&e.key===`z`?(e.preventDefault(),l.undo()):n&&(e.key===`y`||e.shiftKey&&e.key===`Z`)?(e.preventDefault(),l.redo()):n&&e.key===`c`?(e.preventDefault(),R()):n&&e.key===`v`?(e.preventDefault(),z()):(e.key===`Delete`||e.key===`Backspace`)&&m.count>0?(e.preventDefault(),F()):e.key===`Escape`&&(m.clearSelection(),w(null),O(null))};return e.addEventListener(`keydown`,t),()=>e.removeEventListener(`keydown`,t)},[l,R,z,F,m]);let he=u.map(e=>({id:e.id,x:e.position.x,y:e.position.y,width:240,height:40+e.fields.length*24,color:e.color,selected:m.isSelected(e.id)}));return(0,q.jsxs)(`div`,{ref:c,tabIndex:0,className:vt(`flex h-full w-full border rounded-lg overflow-hidden bg-background`,s),children:[(0,q.jsxs)(`div`,{className:`flex flex-col flex-1 min-w-0`,children:[(0,q.jsxs)(`div`,{role:`toolbar`,"aria-label":`Designer toolbar`,className:`flex items-center gap-2 p-2 border-b bg-muted/20 flex-wrap`,children:[(0,q.jsx)(ne,{className:`h-4 w-4`}),(0,q.jsx)(`span`,{className:`font-medium text-sm`,children:`Data Model Designer`}),(0,q.jsxs)(`div`,{className:`flex items-center gap-1 ml-2 border-l pl-2`,children:[(0,q.jsx)(`button`,{type:`button`,onClick:()=>l.undo(),disabled:!l.canUndo,"aria-label":`Undo`,title:`Undo (Ctrl+Z)`,className:`p-1 rounded hover:bg-accent disabled:opacity-40`,children:(0,q.jsx)(ze,{className:`h-3.5 w-3.5`})}),(0,q.jsx)(`button`,{type:`button`,onClick:()=>l.redo(),disabled:!l.canRedo,"aria-label":`Redo`,title:`Redo (Ctrl+Y)`,className:`p-1 rounded hover:bg-accent disabled:opacity-40`,children:(0,q.jsx)(Oe,{className:`h-3.5 w-3.5`})})]}),(0,q.jsxs)(`div`,{className:`flex items-center gap-1 border-l pl-2`,children:[(0,q.jsx)(`button`,{type:`button`,onClick:_.zoomOut,"aria-label":`Zoom Out`,title:`Zoom Out`,className:`p-1 rounded hover:bg-accent`,children:(0,q.jsx)(Ue,{className:`h-3.5 w-3.5`})}),(0,q.jsxs)(`span`,{className:`text-xs tabular-nums w-10 text-center`,children:[Math.round(_.zoom*100),`%`]}),(0,q.jsx)(`button`,{type:`button`,onClick:_.zoomIn,"aria-label":`Zoom In`,title:`Zoom In`,className:`p-1 rounded hover:bg-accent`,children:(0,q.jsx)(We,{className:`h-3.5 w-3.5`})}),(0,q.jsx)(`button`,{type:`button`,onClick:_.resetZoom,"aria-label":`Reset Zoom`,title:`Reset Zoom`,className:`p-1 rounded hover:bg-accent`,children:(0,q.jsx)(ke,{className:`h-3 w-3`})})]}),!i&&(0,q.jsxs)(`div`,{className:`flex items-center gap-1 border-l pl-2`,children:[(0,q.jsx)(`button`,{type:`button`,onClick:R,disabled:m.count===0,"aria-label":`Copy`,title:`Copy (Ctrl+C)`,className:`p-1 rounded hover:bg-accent disabled:opacity-40`,children:(0,q.jsx)(te,{className:`h-3.5 w-3.5`})}),(0,q.jsx)(`button`,{type:`button`,onClick:z,disabled:!g.hasContent,"aria-label":`Paste`,title:`Paste (Ctrl+V)`,className:`p-1 rounded hover:bg-accent disabled:opacity-40`,children:(0,q.jsx)(ee,{className:`h-3.5 w-3.5`})})]}),!i&&(0,q.jsxs)(`button`,{type:`button`,onClick:L,"aria-label":`Auto Layout`,title:`Auto Layout`,className:`flex items-center gap-1 px-2 py-1 text-xs rounded border hover:bg-accent`,children:[(0,q.jsx)(le,{className:`h-3 w-3`}),` Auto Layout`]}),(0,q.jsx)(`div`,{className:`flex-1`}),v?.isConnected&&(0,q.jsxs)(`div`,{className:`flex items-center gap-1 text-xs text-muted-foreground`,role:`status`,"aria-label":`Collaboration active`,children:[(0,q.jsx)(Ve,{className:`h-3 w-3`}),(0,q.jsxs)(`span`,{children:[v.users.length,` user`,v.users.length===1?``:`s`]})]}),m.count>1&&(0,q.jsxs)(`span`,{className:`text-xs text-muted-foreground`,children:[m.count,` selected`]}),!i&&(0,q.jsxs)(q.Fragment,{children:[(0,q.jsxs)(`button`,{type:`button`,onClick:M,"aria-label":`Add Entity`,className:`flex items-center gap-1 px-2 py-1 text-xs rounded bg-primary text-primary-foreground hover:bg-primary/90`,children:[(0,q.jsx)(De,{className:`h-3 w-3`}),` Add Entity`]}),(0,q.jsxs)(`button`,{type:`button`,"aria-label":`Add Relationship`,title:`Add Relationship (coming soon)`,className:`flex items-center gap-1 px-2 py-1 text-xs rounded bg-secondary text-secondary-foreground hover:bg-secondary/80`,children:[(0,q.jsx)(fe,{className:`h-3 w-3`}),` Add Relationship`]})]})]}),(0,q.jsxs)(`div`,{role:`region`,"aria-label":`Canvas`,className:`flex-1 overflow-auto bg-muted/10 p-4 relative`,onWheel:_.handleWheel,onMouseDown:_.startPan,onDragOver:H,onDrop:de,children:[(0,q.jsxs)(`div`,{className:vt(`relative`,n.backgroundColor&&`bg-[color:var(--designer-canvas-bg)]`),"data-testid":`data-model-canvas`,style:{...ut(n.backgroundColor),width:n.width,minHeight:n.height,..._.transformStyle,backgroundImage:n.showGrid?`radial-gradient(circle, hsl(var(--border)) 1px, transparent 1px)`:void 0,backgroundSize:n.showGrid?`20px 20px`:void 0},children:[(0,q.jsx)(`svg`,{className:`absolute inset-0 pointer-events-none`,width:n.width,height:n.height,children:d.map(e=>{let t=u.find(t=>t.id===e.sourceEntity),n=u.find(t=>t.id===e.targetEntity);if(!t||!n)return null;let i=Ot(t,n,e);return(0,q.jsxs)(`g`,{className:`pointer-events-auto`,"data-testid":`relationship-${e.id}`,children:[(0,q.jsx)(`title`,{children:kt(t,n,e,i)}),(0,q.jsx)(`path`,{d:i.d,fill:`none`,stroke:`hsl(var(--primary))`,strokeWidth:`2`,strokeDasharray:e.type===`many-to-many`?`5,5`:void 0}),r&&e.label&&(0,q.jsx)(`text`,{x:i.labelX,y:i.labelY-8,textAnchor:`middle`,className:`text-xs fill-muted-foreground`,children:e.label}),r&&e.deleteBehavior&&(0,q.jsxs)(`text`,{x:i.labelX,y:i.labelY+14,textAnchor:`middle`,className:`text-[10px] fill-muted-foreground`,"data-testid":`relationship-delete-behavior-${e.id}`,children:[`on delete: `,e.deleteBehavior]})]},e.id)})}),u.length===0&&(0,q.jsx)(`div`,{className:`absolute inset-0 flex items-center justify-center text-muted-foreground text-sm`,children:`No entities in the model. Click 'Add Entity' to create your first entity.`}),u.map(e=>(0,q.jsxs)(`div`,{role:`group`,"aria-label":e.label,draggable:!i,onDragStart:t=>ue(t,e.id),className:vt(`absolute rounded-lg border-2 bg-background shadow-sm w-60 select-none cursor-grab active:cursor-grabbing`,m.isSelected(e.id)?`border-primary ring-2 ring-primary/20`:`border-border hover:border-primary/50`),style:{left:e.position.x,top:e.position.y},onClick:t=>m.toggle(e.id,t.shiftKey),children:[(0,q.jsxs)(`div`,{className:`flex h-9 items-center gap-2 px-3 rounded-t-lg font-medium text-sm`,style:{backgroundColor:e.color??`hsl(var(--primary) / 0.1)`},children:[(0,q.jsx)(ne,{className:`h-3.5 w-3.5`}),D===e.id?(0,q.jsx)(`input`,{type:`text`,value:k,onChange:e=>A(e.target.value),onBlur:oe,onKeyDown:e=>{e.key===`Enter`&&oe(),e.key===`Escape`&&se()},className:`text-sm font-medium px-1 py-0 border rounded bg-background w-32 focus:outline-none focus:ring-1 focus:ring-primary`,autoFocus:!0,onClick:e=>e.stopPropagation(),"data-testid":`entity-label-input-${e.id}`}):(0,q.jsx)(`span`,{className:`truncate cursor-text`,onDoubleClick:t=>{t.stopPropagation(),V(e.id,e.label)},title:`Double-click to edit label`,"data-testid":`entity-label-${e.id}`,children:e.label}),!i&&(0,q.jsx)(`button`,{type:`button`,onClick:t=>{t.stopPropagation(),N(e.id)},"aria-label":`Delete ${e.label}`,className:`ml-auto p-0.5 rounded hover:bg-destructive/20`,children:(0,q.jsx)(W,{className:`h-3 w-3 text-destructive`})})]}),(0,q.jsx)(`div`,{className:`px-3 py-1 divide-y`,children:e.fields.map((t,n)=>(0,q.jsxs)(`div`,{className:`flex h-6 items-center gap-2 text-xs`,title:jt(t),"data-testid":`field-row-${e.id}-${n}`,children:[C&&C.entityId===e.id&&C.fieldIndex===n?(0,q.jsx)(`input`,{type:`text`,value:T,onChange:e=>E(e.target.value),onBlur:B,onKeyDown:e=>{e.key===`Enter`&&B(),e.key===`Escape`&&ae()},className:`font-mono text-xs px-1 py-0 border rounded bg-background w-24 focus:outline-none focus:ring-1 focus:ring-primary`,autoFocus:!0,onClick:e=>e.stopPropagation()}):(0,q.jsxs)(`span`,{className:vt(`font-mono cursor-text shrink-0`,t.primaryKey&&`font-bold text-primary`),onClick:r=>{r.stopPropagation(),ie(e.id,n,t.name)},title:`Click to edit field name`,children:[t.primaryKey&&(0,q.jsx)(`span`,{className:`text-[0.65rem] font-semibold text-primary mr-0.5`,children:`PK`}),t.unique&&(0,q.jsx)(`span`,{className:`text-[0.65rem] font-semibold text-muted-foreground mr-0.5`,title:`Unique`,"data-testid":`field-unique-${e.id}-${n}`,children:`UQ`}),t.name]}),t.label&&(0,q.jsx)(`span`,{className:`truncate min-w-0 text-muted-foreground`,"data-testid":`field-label-${e.id}-${n}`,children:t.label}),i?(0,q.jsx)(`span`,{className:`text-muted-foreground ml-auto`,children:t.type}):(0,q.jsx)(`select`,{value:t.type,onChange:t=>{t.stopPropagation(),ce(e.id,n,t.target.value)},onClick:e=>e.stopPropagation(),className:`text-xs text-muted-foreground ml-auto bg-transparent border-none focus:ring-1 focus:ring-primary rounded cursor-pointer p-0`,"data-testid":`field-type-${e.id}-${n}`,children:yt.map(e=>(0,q.jsx)(`option`,{value:e,children:e},e))}),t.defaultValue!==void 0&&(0,q.jsxs)(`span`,{className:`truncate max-w-16 shrink-0 font-mono text-muted-foreground`,"data-testid":`field-default-${e.id}-${n}`,children:[`= `,At(t.defaultValue)]}),t.required&&(0,q.jsx)(`span`,{className:`text-destructive`,children:`*`})]},`${t.name}-${n}`))}),!i&&(0,q.jsx)(`div`,{className:`px-3 py-1 border-t`,children:(0,q.jsxs)(`button`,{type:`button`,onClick:t=>{t.stopPropagation(),re(e.id)},"aria-label":`Add field to ${e.label}`,className:`flex items-center gap-1 text-xs text-muted-foreground hover:text-foreground w-full py-0.5`,children:[(0,q.jsx)(De,{className:`h-3 w-3`}),` Add Field`]})})]},e.id))]}),x&&u.length>0&&(0,q.jsx)(st,{items:he,canvasWidth:n.width,canvasHeight:n.height,position:`bottom-right`,size:150})]})]}),(0,q.jsxs)(`div`,{className:`w-64 border-l flex flex-col bg-background shrink-0`,children:[(0,q.jsxs)(`div`,{className:`flex flex-col flex-1 min-h-0`,children:[(0,q.jsxs)(`button`,{type:`button`,onClick:()=>b(e=>!e),className:`flex items-center gap-1 px-3 py-2 text-xs font-medium text-muted-foreground hover:bg-accent/50 border-b`,"aria-expanded":y,"aria-controls":`property-editor-panel`,children:[y?(0,q.jsx)(P,{className:`h-3 w-3`}):(0,q.jsx)(I,{className:`h-3 w-3`}),`Properties`]}),y&&(0,q.jsx)(`div`,{id:`property-editor-panel`,className:`flex-1 overflow-y-auto`,children:(0,q.jsx)(it,{title:U?U.label:`Properties`,fields:pe,onChange:me})})]}),(0,q.jsx)(`div`,{className:`border-t`,children:(0,q.jsxs)(`button`,{type:`button`,onClick:()=>S(e=>!e),className:`flex items-center gap-1 px-3 py-2 text-xs font-medium text-muted-foreground hover:bg-accent/50 w-full`,"aria-expanded":x,children:[x?(0,q.jsx)(P,{className:`h-3 w-3`}):(0,q.jsx)(I,{className:`h-3 w-3`}),`Minimap`]})})]}),(0,q.jsx)(nt,{isOpen:p.isOpen,title:p.title,message:p.message,onConfirm:p.onConfirm,onCancel:p.onCancel,destructive:!0})]})}function Nt(...e){return w(T(e))}var Pt=120,Ft=50,It=24,Lt=80,Rt=[],zt=`properties.`;function Bt(e,t){let n=new Map(t.map(e=>[e.id,e])),r=0;return e.map(e=>{let t=e.nodeIds.map(e=>n.get(e)).filter(e=>e!==void 0);if(t.length===0){let t={lane:e,top:r,height:Lt,members:0};return r+=Lt,t}let i=Math.max(0,Math.min(...t.map(e=>e.position.y))-It),a=Math.max(...t.map(e=>e.position.y+Ft))+It;return r=Math.max(r,a),{lane:e,top:i,height:a-i,members:t.length}})}function Vt(e){return/^v/i.test(e)?e:`v${e}`}function Ht(e,t){let n={name:`${zt}${e}`,label:e,group:`Properties`};if(typeof t==`boolean`)return{...n,type:`boolean`,value:t};if(typeof t==`number`)return{...n,type:`number`,value:t};if(typeof t==`string`)return{...n,type:`text`,value:t};let r;try{r=JSON.stringify(t,null,2)??String(t)}catch{r=String(t)}return{...n,type:`textarea`,value:r,description:`JSON — an edit is kept once it parses`}}function Ut(e,t){if(typeof e==`string`||typeof e==`number`||typeof e==`boolean`)return{value:t};try{return{value:JSON.parse(String(t))}}catch{return}}function Wt(e,t){if(e.length===0)return e;let n=new Map,r=new Map;for(let t of e)n.set(t.id,0),r.set(t.id,[]);for(let e of t)n.set(e.target,(n.get(e.target)??0)+1),r.get(e.source)?.push(e.target);let i=[],a=new Set,o=e.filter(e=>(n.get(e.id)??0)===0).map(e=>e.id);for(o.length===0&&(o=[e[0].id]);o.length>0;){i.push(o);for(let e of o)a.add(e);let e=new Set;for(let t of o)for(let n of r.get(t)??[])a.has(n)||e.add(n);o=Array.from(e)}let s=e.filter(e=>!a.has(e.id)).map(e=>e.id);s.length>0&&i.push(s);let c=new Map;for(let e=0;e<i.length;e++){let t=i[e];for(let n=0;n<t.length;n++)c.set(t[n],{x:80+e*200,y:80+n*100})}return e.map(e=>({...e,position:c.get(e.id)??e.position}))}function Gt({processName:e=`New Process`,version:t,nodes:n=[],edges:r=[],lanes:i=Rt,canvas:a={width:1400,height:800,showGrid:!0},showMinimap:o=!0,showToolbar:s=!0,readOnly:c=!1,onNodesChange:l,onEdgesChange:u,className:d}){let f=Ze({nodes:n,edges:r},{maxHistory:50}),p=f.current.nodes,m=f.current.edges,h=(0,G.useCallback)((e,t)=>{f.push({nodes:e,edges:t}),l?.(e),u?.(t)},[f,l,u]),g=K(),_=Qe(),v=$e(),y=et({initialZoom:1}),b=lt(),[x,S]=(0,G.useState)(null),[C,w]=(0,G.useState)(!1),[T,E]=(0,G.useState)(null),[D,O]=(0,G.useState)(null),[k,A]=(0,G.useState)(!0),[j,M]=(0,G.useState)(null),[N,P]=(0,G.useState)({x:0,y:0}),F=(0,G.useRef)(null),I=(0,G.useRef)(l),L=(0,G.useRef)(u);I.current=l,L.current=u,(0,G.useEffect)(()=>{I.current?.(p),L.current?.(m)},[f.current]);let R=(0,G.useCallback)((e,t)=>{if(c)return;let n={id:`node-${Date.now()}`,type:e,label:t,position:{x:200+p.length*160,y:200}},r=[...p,n];h(r,m),S(n.id),_.selectOne(n.id),b?.sendOperation({type:`insert`,elementId:n.id,data:{label:t},userId:b.currentUserId??``})},[p,m,c,h,_,b]),z=(0,G.useCallback)(async e=>{if(c)return;let t=p.find(t=>t.id===e);if(!await g.confirm(`Delete Node`,`Are you sure you want to delete "${t?.label??e}"? This will also remove all connected edges.`))return;let n=p.filter(t=>t.id!==e),r=m.filter(t=>t.source!==e&&t.target!==e);h(n,r),x===e&&S(null),_.clearSelection(),b?.sendOperation({type:`delete`,elementId:e,data:{},userId:b.currentUserId??``})},[p,m,x,c,h,g,_,b]),ne=(0,G.useCallback)(async()=>{if(c||_.count===0||!await g.confirm(`Delete Selected Nodes`,`Are you sure you want to delete ${_.count} selected node(s) and their connected edges?`))return;let e=_.selectedIds,t=p.filter(t=>!e.has(t.id)),n=m.filter(t=>!e.has(t.source)&&!e.has(t.target));h(t,n),S(null),_.clearSelection()},[p,m,c,h,g,_]),ie=(0,G.useCallback)(()=>{let e=_.count>0?_.selectedIds:x?new Set([x]):new Set;if(e.size===0)return;let t=p.filter(t=>e.has(t.id));v.copy(t)},[p,x,_,v]),B=(0,G.useCallback)(()=>{if(c)return;let e=v.paste();if(!e||e.length===0)return;let t=e.map(e=>({...e,id:`node-${Date.now()}-${Math.random().toString(36).slice(2,7)}`,position:{x:e.position.x+40,y:e.position.y+40}})),n=[...p,...t];h(n,m),_.selectMany(t.map(e=>e.id)),S(t[0].id)},[c,p,m,v,h,_]),ae=(0,G.useCallback)(()=>{w(e=>!e||(E(null),!1))},[]),V=(0,G.useCallback)(e=>{if(!C)return!1;if(!T)return E(e),!0;if(T===e)return!0;let t={id:`edge-${Date.now()}`,source:T,target:e},n=[...m,t];return h(p,n),E(null),w(!1),b?.sendOperation({type:`insert`,elementId:t.id,data:{source:T,target:e},userId:b.currentUserId??``}),!0},[C,T,p,m,h,b]),oe=(0,G.useCallback)(()=>{if(c||p.length===0)return;let e=Wt(p,m);h(e,m)},[p,m,c,h]),ce=(0,G.useCallback)((e,t)=>{if(c||!p.find(e=>e.id===t))return;M(t);let n=e.target.getBoundingClientRect();P({x:e.clientX-n.left,y:e.clientY-n.top}),e.dataTransfer.effectAllowed=`move`,e.dataTransfer.setData(`text/plain`,t)},[c,p]),le=(0,G.useCallback)(e=>{if(e.preventDefault(),c||!j)return;let t=e.currentTarget.getBoundingClientRect(),n=y.zoom,r=(e.clientX-t.left-y.panOffset.x)/n-N.x,i=(e.clientY-t.top-y.panOffset.y)/n-N.y,a=Math.max(0,Math.round(r/20)*20),o=Math.max(0,Math.round(i/20)*20),s=p.map(e=>e.id===j?{...e,position:{x:a,y:o}}:e);h(s,m),M(null)},[c,j,N,p,m,y.zoom,y.panOffset,h]),ue=(0,G.useCallback)(e=>{e.preventDefault(),e.dataTransfer.dropEffect=`move`},[]),H=(0,G.useMemo)(()=>p.find(e=>e.id===x)??null,[p,x]),de=(0,G.useMemo)(()=>{if(!H)return[];let e=[{name:`label`,label:`Name`,type:`text`,value:H.label,group:`General`},{name:`type`,label:`Type`,type:`select`,value:H.type,options:[{label:`Start Event`,value:`start-event`},{label:`End Event`,value:`end-event`},{label:`User Task`,value:`user-task`},{label:`Service Task`,value:`service-task`},{label:`Script Task`,value:`script-task`},{label:`Exclusive Gateway`,value:`exclusive-gateway`},{label:`Parallel Gateway`,value:`parallel-gateway`},{label:`Inclusive Gateway`,value:`inclusive-gateway`}],group:`General`},{name:`description`,label:`Description`,type:`textarea`,value:H.description??``,group:`General`}],t=H.type===`user-task`;(t||H.assignee!==void 0)&&e.push({name:`assignee`,label:`Assignee`,type:`text`,value:H.assignee??``,group:`Task`}),(t||H.dueDate!==void 0)&&e.push({name:`dueDate`,label:`Due date`,type:`text`,value:H.dueDate??``,group:`Task`,description:`A date or duration expression`}),(H.type===`script-task`||H.script!==void 0)&&e.push({name:`script`,label:`Script`,type:`textarea`,value:H.script??``,group:`Task`});for(let[t,n]of Object.entries(H.properties??{}))e.push(Ht(t,n));return e},[H]),U=(0,G.useCallback)((e,t)=>{if(c||!x)return;let n=!0,r=p.map(r=>{if(r.id!==x)return r;if(e.startsWith(zt)){let i=e.slice(11),a=Ut(r.properties?.[i],t);return a?{...r,properties:{...r.properties,[i]:a.value}}:(n=!1,r)}return{...r,[e]:t}});n&&h(r,m)},[c,x,p,m,h]),fe=(0,G.useMemo)(()=>Bt(i,p),[i,p]),me=e=>{switch(e){case`start-event`:return`rounded-full bg-green-100 border-green-500 text-green-700`;case`end-event`:return`rounded-full bg-red-100 border-red-500 text-red-700`;case`exclusive-gateway`:case`parallel-gateway`:case`inclusive-gateway`:case`event-based-gateway`:return`rotate-45 bg-yellow-100 border-yellow-500 text-yellow-700`;case`user-task`:return`rounded bg-blue-100 border-blue-500 text-blue-700`;case`service-task`:case`script-task`:return`rounded bg-purple-100 border-purple-500 text-purple-700`;default:return`rounded bg-gray-100 border-gray-500 text-gray-700`}},he=(0,G.useMemo)(()=>p.map(e=>({id:e.id,x:e.position.x,y:e.position.y,width:Pt,height:Ft,selected:_.isSelected(e.id)||e.id===x})),[p,_,x]);(0,G.useEffect)(()=>{let e=F.current;if(!e)return;let t=e=>{let t=e.target?.tagName;if(t===`INPUT`||t===`TEXTAREA`||t===`SELECT`)return;let n=e.ctrlKey||e.metaKey;if(n&&e.key===`z`&&!e.shiftKey){e.preventDefault(),f.undo();return}if(n&&e.key===`y`||n&&e.key===`z`&&e.shiftKey){e.preventDefault(),f.redo();return}if(n&&e.key===`c`){e.preventDefault(),ie();return}if(n&&e.key===`v`){e.preventDefault(),B();return}if(e.key===`Delete`||e.key===`Backspace`){_.count>0?(e.preventDefault(),ne()):x&&(e.preventDefault(),z(x));return}if(e.key===`Escape`){C?(w(!1),E(null)):(S(null),_.clearSelection());return}};return e.addEventListener(`keydown`,t),()=>e.removeEventListener(`keydown`,t)},[x,C,_,f,ie,B,z,ne]);let ge=(0,G.useCallback)(e=>{e.target===e.currentTarget&&(S(null),_.clearSelection(),C&&(w(!1),E(null)))},[C,_]);return(0,q.jsxs)(`div`,{ref:F,tabIndex:0,className:Nt(`flex flex-col h-full w-full border rounded-lg overflow-hidden bg-background`,d),children:[(0,q.jsx)(nt,{isOpen:g.isOpen,title:g.title,message:g.message,onConfirm:g.onConfirm,onCancel:g.onCancel,destructive:!0}),s&&(0,q.jsxs)(`div`,{className:`flex items-center gap-2 p-2 border-b bg-muted/20`,role:`toolbar`,"aria-label":`Process toolbar`,children:[(0,q.jsx)(se,{className:`h-4 w-4`}),(0,q.jsx)(`span`,{className:`font-medium text-sm`,"aria-label":`Process name`,children:e}),t&&(0,q.jsx)(`span`,{className:`rounded border px-1.5 text-[10px] tabular-nums text-muted-foreground`,"aria-label":`Process version`,"data-testid":`process-version`,children:Vt(t)}),b?.isConnected&&(0,q.jsxs)(`div`,{className:`flex items-center gap-1 text-xs text-muted-foreground`,role:`status`,"aria-label":`Collaboration active`,children:[(0,q.jsx)(`span`,{className:`inline-block h-2 w-2 rounded-full bg-green-500`}),b.users.length,` user`,b.users.length===1?``:`s`]}),(0,q.jsx)(`div`,{className:`flex-1`}),!c&&(0,q.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,q.jsx)(`button`,{type:`button`,onClick:()=>f.undo(),disabled:!f.canUndo,className:`flex items-center gap-1 px-2 py-1 text-xs rounded hover:bg-accent disabled:opacity-40`,title:`Undo (Ctrl+Z)`,"aria-label":`Undo`,children:(0,q.jsx)(ze,{className:`h-3 w-3`})}),(0,q.jsx)(`button`,{type:`button`,onClick:()=>f.redo(),disabled:!f.canRedo,className:`flex items-center gap-1 px-2 py-1 text-xs rounded hover:bg-accent disabled:opacity-40`,title:`Redo (Ctrl+Y)`,"aria-label":`Redo`,children:(0,q.jsx)(Oe,{className:`h-3 w-3`})}),(0,q.jsx)(`div`,{className:`w-px h-4 bg-border mx-1`}),(0,q.jsx)(`button`,{type:`button`,onClick:ie,disabled:_.count===0&&!x,className:`flex items-center gap-1 px-2 py-1 text-xs rounded hover:bg-accent disabled:opacity-40`,title:`Copy (Ctrl+C)`,"aria-label":`Copy`,children:(0,q.jsx)(te,{className:`h-3 w-3`})}),(0,q.jsx)(`button`,{type:`button`,onClick:B,disabled:!v.hasContent,className:`flex items-center gap-1 px-2 py-1 text-xs rounded hover:bg-accent disabled:opacity-40`,title:`Paste (Ctrl+V)`,"aria-label":`Paste`,children:(0,q.jsx)(ee,{className:`h-3 w-3`})}),(0,q.jsx)(`div`,{className:`w-px h-4 bg-border mx-1`}),(0,q.jsxs)(`button`,{type:`button`,onClick:ae,className:Nt(`flex items-center gap-1 px-2 py-1 text-xs rounded hover:bg-accent`,C&&`bg-primary text-primary-foreground`),title:`Connect nodes`,"aria-label":`Connect nodes`,"aria-pressed":C,children:[(0,q.jsx)(pe,{className:`h-3 w-3`}),` Connect`]}),(0,q.jsxs)(`button`,{type:`button`,onClick:oe,className:`flex items-center gap-1 px-2 py-1 text-xs rounded hover:bg-accent`,title:`Auto layout`,"aria-label":`Auto layout`,children:[(0,q.jsx)(we,{className:`h-3 w-3`}),` Layout`]}),(0,q.jsx)(`div`,{className:`w-px h-4 bg-border mx-1`}),(0,q.jsx)(`button`,{type:`button`,onClick:y.zoomIn,className:`flex items-center gap-1 px-2 py-1 text-xs rounded hover:bg-accent`,title:`Zoom in`,"aria-label":`Zoom in`,children:(0,q.jsx)(We,{className:`h-3 w-3`})}),(0,q.jsxs)(`span`,{className:`text-xs tabular-nums min-w-[3ch] text-center`,"aria-label":`Zoom level`,children:[Math.round(y.zoom*100),`%`]}),(0,q.jsx)(`button`,{type:`button`,onClick:y.zoomOut,className:`flex items-center gap-1 px-2 py-1 text-xs rounded hover:bg-accent`,title:`Zoom out`,"aria-label":`Zoom out`,children:(0,q.jsx)(Ue,{className:`h-3 w-3`})}),(0,q.jsx)(`button`,{type:`button`,onClick:y.resetZoom,className:`flex items-center gap-1 px-2 py-1 text-xs rounded hover:bg-accent`,title:`Reset zoom`,"aria-label":`Reset zoom`,children:(0,q.jsx)(ke,{className:`h-3 w-3`})}),(0,q.jsx)(`div`,{className:`w-px h-4 bg-border mx-1`}),(0,q.jsxs)(`button`,{type:`button`,onClick:()=>R(`start-event`,`Start`),className:`flex items-center gap-1 px-2 py-1 text-xs rounded hover:bg-accent`,title:`Add Start Event`,"aria-label":`Add Start Event`,children:[(0,q.jsx)(Ee,{className:`h-3 w-3 text-green-600`}),` Start`]}),(0,q.jsxs)(`button`,{type:`button`,onClick:()=>R(`user-task`,`User Task`),className:`flex items-center gap-1 px-2 py-1 text-xs rounded hover:bg-accent`,title:`Add User Task`,"aria-label":`Add User Task`,children:[(0,q.jsx)(Me,{className:`h-3 w-3 text-blue-600`}),` Task`]}),(0,q.jsxs)(`button`,{type:`button`,onClick:()=>R(`exclusive-gateway`,`Decision`),className:`flex items-center gap-1 px-2 py-1 text-xs rounded hover:bg-accent`,title:`Add Gateway`,"aria-label":`Add Gateway`,children:[(0,q.jsx)(re,{className:`h-3 w-3 text-yellow-600`}),` Gateway`]}),(0,q.jsxs)(`button`,{type:`button`,onClick:()=>R(`end-event`,`End`),className:`flex items-center gap-1 px-2 py-1 text-xs rounded hover:bg-accent`,title:`Add End Event`,"aria-label":`Add End Event`,children:[(0,q.jsx)(Me,{className:`h-3 w-3 text-red-600`}),` End`]}),(0,q.jsx)(`div`,{className:`w-px h-4 bg-border mx-1`}),(0,q.jsx)(`button`,{type:`button`,onClick:()=>A(e=>!e),className:`flex items-center gap-1 px-2 py-1 text-xs rounded hover:bg-accent`,title:k?`Hide properties`:`Show properties`,"aria-label":k?`Hide property panel`:`Show property panel`,"aria-expanded":k,children:k?(0,q.jsx)(Se,{className:`h-3 w-3`}):(0,q.jsx)(Ce,{className:`h-3 w-3`})})]})]}),(0,q.jsxs)(`div`,{className:`flex flex-1 overflow-hidden`,children:[(0,q.jsx)(`div`,{className:`flex-1 overflow-auto bg-muted/10 p-4`,role:`region`,"aria-label":`Process canvas`,onWheel:y.handleWheel,onMouseDown:y.startPan,children:(0,q.jsxs)(`div`,{className:Nt(`relative`,a.backgroundColor&&`bg-[color:var(--designer-canvas-bg)]`),"data-testid":`process-canvas`,style:{...ut(a.backgroundColor),...y.transformStyle,width:a.width,minHeight:a.height,backgroundImage:a.showGrid?`radial-gradient(circle, hsl(var(--border)) 1px, transparent 1px)`:void 0,backgroundSize:a.showGrid?`20px 20px`:void 0},onClick:ge,onDrop:le,onDragOver:ue,children:[(0,q.jsxs)(`svg`,{className:`absolute inset-0 pointer-events-none`,width:a.width,height:a.height,children:[(0,q.jsx)(`defs`,{children:(0,q.jsx)(`marker`,{id:`arrowhead`,markerWidth:`10`,markerHeight:`7`,refX:`10`,refY:`3.5`,orient:`auto`,children:(0,q.jsx)(`polygon`,{points:`0 0, 10 3.5, 0 7`,fill:`hsl(var(--foreground))`})})}),fe.map(({lane:e,top:t,height:n,members:r})=>(0,q.jsxs)(`g`,{"data-testid":`process-lane-${e.id}`,children:[(0,q.jsx)(`title`,{children:`${e.label}${e.role?` (${e.role})`:``} · ${r} node${r===1?``:`s`}`}),(0,q.jsx)(`rect`,{x:0,y:t,width:a.width,height:n,className:`fill-muted/40 stroke-border`,strokeDasharray:`4,4`}),(0,q.jsxs)(`text`,{x:8,y:t+14,className:`text-[10px] font-medium fill-muted-foreground`,children:[e.label,e.role&&(0,q.jsx)(`tspan`,{className:`font-normal`,"data-testid":`process-lane-role-${e.id}`,children:` · ${e.role}`})]})]},e.id)),m.map(e=>{let t=p.find(t=>t.id===e.source),n=p.find(t=>t.id===e.target);if(!t||!n)return null;t.position.x+Pt/2;let r=t.position.y+Ft/2;n.position.x+Pt/2;let i=n.position.y+Ft/2,a=t.position.x+Pt,o=r,s=n.position.x,c=i,l=`M ${a} ${o} Q ${(a+s)/2} ${o}, ${(a+s)/2} ${(o+c)/2} T ${s} ${c}`;return(0,q.jsxs)(`g`,{"data-testid":`process-edge-${e.id}`,children:[(e.isDefault||e.condition)&&(0,q.jsx)(`title`,{children:[e.isDefault?`Default flow`:``,e.condition?`Condition: ${e.condition}`:``].filter(Boolean).join(` · `)}),(0,q.jsx)(`path`,{d:l,fill:`none`,stroke:`hsl(var(--foreground) / 0.5)`,strokeWidth:`2`,markerEnd:`url(#arrowhead)`}),e.isDefault&&(0,q.jsx)(`line`,{x1:a+8,y1:o+6,x2:a+16,y2:o-6,stroke:`hsl(var(--foreground) / 0.5)`,strokeWidth:`2`,"data-testid":`process-edge-default-${e.id}`}),e.label&&(0,q.jsx)(`text`,{x:(a+s)/2,y:(o+c)/2-8,textAnchor:`middle`,className:`text-[10px] fill-muted-foreground`,children:e.label}),e.condition&&(0,q.jsxs)(`text`,{x:(a+s)/2,y:(o+c)/2+14,textAnchor:`middle`,className:`text-[10px] font-mono fill-muted-foreground`,"data-testid":`process-edge-condition-${e.id}`,children:[`[`,e.condition,`]`]})]},e.id)})]}),p.length===0&&(0,q.jsx)(`div`,{className:`flex items-center justify-center h-full min-h-[200px] text-muted-foreground text-sm`,children:`No nodes in the process. Use the toolbar buttons to add start events, tasks, gateways, and end events.`}),p.map(e=>{let t=_.isSelected(e.id)||x===e.id,n=T===e.id,r=D===e.id,i=C||r;return(0,q.jsxs)(`div`,{className:`absolute select-none`,style:{left:e.position.x,top:e.position.y},role:`group`,"aria-label":e.label,draggable:!c&&!C,onDragStart:t=>ce(t,e.id),onMouseEnter:()=>O(e.id),onMouseLeave:()=>O(null),onClick:t=>{V(e.id)||(t.shiftKey?_.toggle(e.id,!0):(S(e.id),_.selectOne(e.id)))},children:[(0,q.jsx)(`div`,{className:Nt(`flex items-center justify-center border-2 min-w-[120px] min-h-[50px] px-3 py-2 transition-shadow`,me(e.type),t&&`ring-2 ring-primary shadow-md`,n&&`ring-2 ring-blue-400 shadow-lg`,C&&!n&&`cursor-crosshair`),children:(0,q.jsx)(`span`,{className:Nt(`text-xs font-medium`,(e.type===`exclusive-gateway`||e.type===`parallel-gateway`||e.type===`inclusive-gateway`||e.type===`event-based-gateway`)&&`-rotate-45`),children:e.label})}),i&&!c&&(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`div`,{className:`absolute w-3 h-3 rounded-full bg-blue-500 border-2 border-white shadow cursor-crosshair`,style:{left:-6,top:Ft/2-6},title:`Input port`,onClick:t=>{t.stopPropagation(),V(e.id)}}),(0,q.jsx)(`div`,{className:`absolute w-3 h-3 rounded-full bg-blue-500 border-2 border-white shadow cursor-crosshair`,style:{right:-6,top:Ft/2-6},title:`Output port`,onClick:t=>{t.stopPropagation(),C?V(e.id):(w(!0),E(e.id))}}),(0,q.jsx)(`div`,{className:`absolute w-3 h-3 rounded-full bg-blue-400 border-2 border-white shadow cursor-crosshair`,style:{left:Pt/2-6,top:-6},title:`Port`,onClick:t=>{t.stopPropagation(),V(e.id)}}),(0,q.jsx)(`div`,{className:`absolute w-3 h-3 rounded-full bg-blue-400 border-2 border-white shadow cursor-crosshair`,style:{left:Pt/2-6,bottom:-6},title:`Port`,onClick:t=>{t.stopPropagation(),V(e.id)}})]}),!c&&t&&!C&&(0,q.jsx)(`button`,{type:`button`,onClick:t=>{t.stopPropagation(),z(e.id)},className:`absolute -top-2 -right-2 p-0.5 rounded-full bg-destructive text-destructive-foreground shadow`,"aria-label":`Delete node`,children:(0,q.jsx)(W,{className:`h-3 w-3`})})]},e.id)}),o&&p.length>0&&(0,q.jsx)(st,{items:he,canvasWidth:a.width??1400,canvasHeight:a.height??800,position:`bottom-right`})]})}),k&&!c&&(0,q.jsx)(`div`,{className:`w-64 border-l bg-background overflow-y-auto shrink-0`,role:`complementary`,"aria-label":`Property panel`,children:(0,q.jsx)(it,{title:H?`Properties: ${H.label}`:`Properties`,fields:de,onChange:U})})]})]})}function Y(...e){return w(T(e))}var X={untitledReport:`Untitled Report`,reportCanvas:`Report canvas`,properties:`Properties`,propertiesPanel:`Properties panel`,designerToolbar:`Report designer toolbar`,selectElementPrompt:`Select an element to edit its properties`,addElementsPrompt:`Add elements using the buttons above`,addText:`Add Text`,addField:`Add Field`,addImage:`Add Image`,addChart:`Add Chart`,addTable:`Add Table`,undo:`Undo`,undoShortcut:`Undo (Ctrl+Z)`,redo:`Redo`,redoShortcut:`Redo (Ctrl+Shift+Z)`,copy:`Copy`,copyShortcut:`Copy (Ctrl+C)`,paste:`Paste`,pasteShortcut:`Paste (Ctrl+V)`,deleteSelected:`Delete selected`,deleteElement:`Delete element`,deleteElementsTitle:`Delete elements`,deleteElementMessage:e=>`Are you sure you want to delete ${e} element${e>1?`s`:``}?`,collapsePanel:`Collapse panel`,expandPanel:`Expand panel`,collaborationConnected:`Connected`,sectionHeader:`Report Header`,sectionPageHeader:`Page Header`,sectionGroupHeader:`Group Header`,sectionDetail:`Detail`,sectionGroupFooter:`Group Footer`,sectionPageFooter:`Page Footer`,sectionFooter:`Report Footer`,elementText:`Text`,elementImage:`🖼 Image`,elementChart:`📊 Chart`,elementTable:`📋 Table`,propLabel:`Label`,propX:`X`,propY:`Y`,propWidth:`Width`,propHeight:`Height`,propText:`Text`,propDataBinding:`Data binding`,groupBy:`by`,pageBreakBefore:`Page break before`,groupPosition:`Position`,groupSize:`Size`,groupContent:`Content`,groupGeneral:`General`},Kt={A4:{width:595,height:842},A3:{width:842,height:1191},Letter:{width:612,height:792},Legal:{width:612,height:1008},Tabloid:{width:792,height:1224}};function qt(e){if(!e)return{className:``,style:{}};let t=[],n={};return e.fontWeight===`bold`&&t.push(`font-bold`),e.fontWeight===`normal`&&t.push(`font-normal`),e.fontStyle===`italic`&&t.push(`italic`),e.fontStyle===`normal`&&t.push(`not-italic`),e.alignment===`left`&&t.push(`justify-start text-left`),e.alignment===`center`&&t.push(`justify-center text-center`),e.alignment===`right`&&t.push(`justify-end text-right`),e.verticalAlignment===`top`&&t.push(`items-start`),e.verticalAlignment===`middle`&&t.push(`items-center`),e.verticalAlignment===`bottom`&&t.push(`items-end`),e.color&&(t.push(`text-[color:var(--report-el-color)]`),n[`--report-el-color`]=e.color),e.backgroundColor&&(t.push(`bg-[color:var(--report-el-bg)]`),n[`--report-el-bg`]=e.backgroundColor),e.fontSize!==void 0&&(t.push(`text-[length:var(--report-el-font-size)]`),n[`--report-el-font-size`]=`${e.fontSize}px`),e.fontFamily&&(t.push(`font-[family-name:var(--report-el-font-family)]`),n[`--report-el-font-family`]=e.fontFamily),e.border&&(t.push(`[border:var(--report-el-border)]`),n[`--report-el-border`]=e.border),e.padding&&(t.push(`p-[var(--report-el-padding)]`),n[`--report-el-padding`]=e.padding),{className:t.join(` `),style:n}}function Jt(e){return[e?.numberFormat,e?.dateFormat].filter(Boolean).join(` · `)}var Yt=[{type:`header`,height:80,elements:[]},{type:`detail`,height:400,elements:[],repeat:!0},{type:`footer`,height:60,elements:[]}];function Xt({reportName:e=X.untitledReport,objectName:t,pageSize:n=`A4`,orientation:r=`portrait`,margins:i={top:40,right:40,bottom:40,left:40},sections:a=[],showToolbar:o=!0,showPropertyPanel:s=!0,readOnly:c=!1,onSectionsChange:l,className:u}){let d=Ze(a.length>0?a:Yt),f=d.current,p=(0,G.useCallback)(e=>{d.push(e),l?.(e)},[d,l]),m=Qe(),h=(0,G.useMemo)(()=>{let e=Array.from(m.selectedIds);return e.length>0?e[0]:null},[m.selectedIds]),g=$e(),_=K(),v=lt(),y=(0,G.useCallback)(e=>{v&&v.sendOperation({...e,userId:v.currentUserId??``})},[v]),[b,x]=(0,G.useState)(!0),S=(0,G.useRef)(null),C=(0,G.useRef)(null),w=Kt[n],T=r===`landscape`?w.height:w.width,E=r===`landscape`?w.width:w.height,D=e=>{switch(e){case`header`:return X.sectionHeader;case`page-header`:return X.sectionPageHeader;case`group-header`:return X.sectionGroupHeader;case`detail`:return X.sectionDetail;case`group-footer`:return X.sectionGroupFooter;case`page-footer`:return X.sectionPageFooter;case`footer`:return X.sectionFooter;default:return e}},O=(0,G.useMemo)(()=>h?f.flatMap(e=>e.elements).find(e=>e.id===h):null,[h,f]),k=(0,G.useCallback)((e,t)=>{if(c)return;let n={id:`elem-${Date.now()}`,type:t,position:{x:i.left,y:10,width:200,height:30},properties:t===`text`?{text:`New Text`}:{},...t===`field`?{dataBinding:`field_name`}:{}},r=f.map((t,r)=>r===e?{...t,elements:[...t.elements,n]}:t);p(r),m.selectOne(n.id),y({type:`insert`,elementId:n.id,data:{element:n}})},[f,i.left,c,p,m,y]),j=(0,G.useCallback)(e=>{if(c)return;let t=f.map(t=>({...t,elements:t.elements.filter(t=>t.id!==e)}));p(t),m.isSelected(e)&&m.clearSelection(),y({type:`delete`,elementId:e,data:{}})},[f,c,p,m,y]),M=(0,G.useCallback)(async()=>{if(c||m.count===0||!await _.confirm(X.deleteElementsTitle,X.deleteElementMessage(m.count)))return;let e=m.selectedIds,t=f.map(t=>({...t,elements:t.elements.filter(t=>!e.has(t.id))}));p(t),m.clearSelection(),e.forEach(e=>{y({type:`delete`,elementId:e,data:{}})})},[c,m,_,f,p,y]),N=(0,G.useCallback)((e,t)=>{if(c||!h)return;let n=f.map(n=>({...n,elements:n.elements.map(n=>{if(n.id!==h)return n;if(e===`x`)return{...n,position:{...n.position,x:Number(t)}};if(e===`y`)return{...n,position:{...n.position,y:Number(t)}};if(e===`width`)return{...n,position:{...n.position,width:Number(t)}};if(e===`height`)return{...n,position:{...n.position,height:Number(t)}};if(e===`dataBinding`){let e=String(t??``);if(e!==``)return{...n,dataBinding:e};let{dataBinding:r,...i}=n;return i}return{...n,properties:{...n.properties,[e]:t}}})}));p(n),y({type:`update`,elementId:h,data:{[e]:t}})},[c,h,f,p,y]),P=(0,G.useCallback)(()=>{let e=m.selectedIds;if(e.size===0)return;let t=f.flatMap(e=>e.elements).filter(t=>e.has(t.id));g.copy(t)},[m,f,g]),F=(0,G.useCallback)(()=>{if(c)return;let e=g.paste();if(!e||e.length===0)return;let t=0,n=e.map(e=>({...e,id:`elem-${Date.now()}-${++t}-${Math.random().toString(36).slice(2,7)}`,position:{...e.position,x:e.position.x+20,y:e.position.y+20}})),r=f.findIndex(e=>e.type===`detail`),i=r>=0?r:0,a=f.map((e,t)=>t===i?{...e,elements:[...e.elements,...n]}:e);p(a),m.selectMany(n.map(e=>e.id)),n.forEach(e=>{y({type:`insert`,elementId:e.id,data:{element:e}})})},[c,g,f,p,m,y]),I=(0,G.useCallback)((e,t,n)=>{c||(S.current={id:t.id,sectionIndex:n,startX:e.clientX,startY:e.clientY},e.dataTransfer.effectAllowed=`move`,e.dataTransfer.setData(`text/plain`,t.id))},[c]),L=(0,G.useCallback)(e=>{e.preventDefault(),e.dataTransfer.dropEffect=`move`},[]),R=(0,G.useCallback)((e,t)=>{e.preventDefault();let n=S.current;if(!n||c)return;let r=e.clientX-n.startX,i=e.clientY-n.startY;if(n.sectionIndex===t){let e=f.map((e,a)=>a===t?{...e,elements:e.elements.map(e=>e.id===n.id?{...e,position:{...e.position,x:Math.max(0,e.position.x+r),y:Math.max(0,(typeof e.position.y==`number`?e.position.y:0)+i)}}:e)}:e);p(e)}else{let e=null,i=f.map((t,i)=>{if(i!==n.sectionIndex)return t;let a=t.elements.find(e=>e.id===n.id);return a&&(e={...a,position:{...a.position,x:Math.max(0,a.position.x+r),y:10}}),{...t,elements:t.elements.filter(e=>e.id!==n.id)}});if(e){let n=i.map((n,r)=>r===t?{...n,elements:[...n.elements,e]}:n);p(n)}}y({type:`move`,elementId:n.id,data:{}}),S.current=null},[c,f,p,y]),z=(0,G.useMemo)(()=>{if(!O)return[];let e=[{name:`x`,label:X.propX,type:`number`,value:O.position.x,group:X.groupPosition},{name:`y`,label:X.propY,type:`number`,value:O.position.y,group:X.groupPosition},{name:`width`,label:X.propWidth,type:`number`,value:O.position.width,group:X.groupSize},{name:`height`,label:X.propHeight,type:`number`,value:O.position.height,group:X.groupSize}];return O.type===`text`&&e.push({name:`text`,label:X.propText,type:`text`,value:O.properties.text??``,group:X.groupContent}),e.push({name:`dataBinding`,label:X.propDataBinding,type:`text`,value:O.dataBinding??``,group:X.groupContent}),e},[O]);return(0,G.useEffect)(()=>{let e=C.current;if(!e)return;let t=e=>{let t=[`INPUT`,`TEXTAREA`,`SELECT`].includes(e.target.tagName),n=e.ctrlKey||e.metaKey;if((e.key===`Delete`||e.key===`Backspace`)&&m.count>0&&!t){e.preventDefault(),M();return}if(e.key===`Escape`){m.clearSelection();return}if(!t){if(n&&e.key===`z`&&!e.shiftKey&&!c){e.preventDefault(),d.undo();return}if(n&&(e.key===`z`&&e.shiftKey||e.key===`y`)&&!c){e.preventDefault(),d.redo();return}if(n&&e.key===`c`){e.preventDefault(),P();return}if(n&&e.key===`v`&&!c){e.preventDefault(),F();return}if(n&&e.key===`a`){e.preventDefault();let t=f.flatMap(e=>e.elements).map(e=>e.id);m.selectMany(t);return}}};return e.addEventListener(`keydown`,t),()=>e.removeEventListener(`keydown`,t)},[m,M,c,d,P,F,f]),(0,q.jsxs)(`div`,{ref:C,tabIndex:0,className:Y(`flex h-full w-full border rounded-lg overflow-hidden bg-background`,u),children:[(0,q.jsxs)(`div`,{className:`flex-1 flex flex-col min-w-0`,children:[o&&(0,q.jsxs)(`div`,{role:`toolbar`,"aria-label":X.designerToolbar,className:`flex items-center gap-2 p-2 border-b bg-muted/20`,children:[(0,q.jsx)(V,{className:`h-4 w-4`}),(0,q.jsx)(`span`,{className:`font-medium text-sm`,children:e}),t&&(0,q.jsxs)(`span`,{className:`text-xs text-muted-foreground`,children:[`(`,t,`)`]}),!c&&(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`div`,{className:`w-px h-5 bg-border mx-1`}),(0,q.jsx)(`button`,{type:`button`,className:Y(`p-1.5 rounded hover:bg-accent`,!d.canUndo&&`opacity-40 pointer-events-none`),title:X.undoShortcut,"aria-label":X.undo,disabled:!d.canUndo,onClick:()=>d.undo(),children:(0,q.jsx)(ze,{className:`h-4 w-4`})}),(0,q.jsx)(`button`,{type:`button`,className:Y(`p-1.5 rounded hover:bg-accent`,!d.canRedo&&`opacity-40 pointer-events-none`),title:X.redoShortcut,"aria-label":X.redo,disabled:!d.canRedo,onClick:()=>d.redo(),children:(0,q.jsx)(Oe,{className:`h-4 w-4`})}),(0,q.jsx)(`div`,{className:`w-px h-5 bg-border mx-1`})]}),!c&&(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`button`,{type:`button`,className:Y(`p-1.5 rounded hover:bg-accent`,m.count===0&&`opacity-40 pointer-events-none`),title:X.copyShortcut,"aria-label":X.copy,disabled:m.count===0,onClick:P,children:(0,q.jsx)(te,{className:`h-4 w-4`})}),(0,q.jsx)(`button`,{type:`button`,className:Y(`p-1.5 rounded hover:bg-accent`,!g.hasContent&&`opacity-40 pointer-events-none`),title:X.pasteShortcut,"aria-label":X.paste,disabled:!g.hasContent,onClick:F,children:(0,q.jsx)(ee,{className:`h-4 w-4`})}),(0,q.jsx)(`div`,{className:`w-px h-5 bg-border mx-1`})]}),!c&&(0,q.jsx)(`button`,{type:`button`,className:Y(`p-1.5 rounded hover:bg-accent`,m.count===0&&`opacity-40 pointer-events-none`),title:X.deleteSelected,"aria-label":X.deleteSelected,disabled:m.count===0,onClick:M,children:(0,q.jsx)(W,{className:`h-4 w-4`})}),(0,q.jsx)(`div`,{className:`flex-1`}),v?.isConnected&&(0,q.jsxs)(`span`,{className:`flex items-center gap-1 text-xs text-muted-foreground`,children:[(0,q.jsx)(`span`,{className:`inline-block h-2 w-2 rounded-full bg-green-500`}),X.collaborationConnected,v.users.length>1&&` (${v.users.length})`]}),(0,q.jsxs)(`span`,{className:`text-xs text-muted-foreground`,children:[n,` `,r]}),s&&(0,q.jsx)(`button`,{type:`button`,className:`p-1.5 rounded hover:bg-accent`,title:b?X.collapsePanel:X.expandPanel,"aria-label":b?X.collapsePanel:X.expandPanel,onClick:()=>x(e=>!e),children:(0,q.jsx)(Se,{className:Y(`h-4 w-4`,!b&&`rotate-180`)})})]}),(0,q.jsx)(`div`,{role:`region`,"aria-label":X.reportCanvas,className:`flex-1 overflow-auto bg-muted/10 p-4 flex justify-center`,children:(0,q.jsxs)(`div`,{className:`relative bg-white shadow-lg border`,style:{width:T,minHeight:E},children:[(0,q.jsx)(`div`,{"aria-hidden":`true`,"data-testid":`report-margin-guide`,className:`pointer-events-none absolute border border-dashed border-primary/30 top-[var(--report-margin-top)] right-[var(--report-margin-right)] bottom-[var(--report-margin-bottom)] left-[var(--report-margin-left)]`,style:{"--report-margin-top":`${i.top}px`,"--report-margin-right":`${i.right}px`,"--report-margin-bottom":`${i.bottom}px`,"--report-margin-left":`${i.left}px`}}),f.map((e,t)=>(0,q.jsxs)(`div`,{className:`relative border-b border-dashed border-gray-300`,style:{minHeight:e.height},onDragOver:L,onDrop:e=>R(e,t),children:[e.pageBreakBefore&&(0,q.jsx)(`div`,{role:`separator`,"aria-label":X.pageBreakBefore,title:X.pageBreakBefore,className:`pointer-events-none absolute inset-x-0 top-0 border-t-2 border-dashed border-primary`,"data-testid":`report-section-page-break-${t}`}),(0,q.jsxs)(`div`,{className:`absolute left-0 top-0 px-2 py-0.5 bg-muted text-xs text-muted-foreground border-r border-b rounded-br`,children:[D(e.type),e.groupField&&(0,q.jsx)(`span`,{"data-testid":`report-section-group-${t}`,children:` · ${X.groupBy} ${e.groupField}`}),e.repeat&&` ↻`]}),!c&&(0,q.jsxs)(`div`,{className:`absolute right-1 top-0 flex items-center gap-0.5`,children:[(0,q.jsx)(`button`,{type:`button`,onClick:()=>k(t,`text`),className:`p-0.5 rounded hover:bg-accent`,title:X.addText,"aria-label":X.addText,children:(0,q.jsx)(Re,{className:`h-3 w-3`})}),(0,q.jsx)(`button`,{type:`button`,onClick:()=>k(t,`field`),className:`p-0.5 rounded hover:bg-accent`,title:X.addField,"aria-label":X.addField,children:(0,q.jsx)(De,{className:`h-3 w-3`})}),(0,q.jsx)(`button`,{type:`button`,onClick:()=>k(t,`image`),className:`p-0.5 rounded hover:bg-accent`,title:X.addImage,"aria-label":X.addImage,children:(0,q.jsx)(de,{className:`h-3 w-3`})}),(0,q.jsx)(`button`,{type:`button`,onClick:()=>k(t,`chart`),className:`p-0.5 rounded hover:bg-accent`,title:X.addChart,"aria-label":X.addChart,children:(0,q.jsx)(A,{className:`h-3 w-3`})}),(0,q.jsx)(`button`,{type:`button`,onClick:()=>k(t,`table`),className:`p-0.5 rounded hover:bg-accent`,title:X.addTable,"aria-label":X.addTable,children:(0,q.jsx)(Pe,{className:`h-3 w-3`})})]}),(0,q.jsxs)(`div`,{className:`relative`,style:{minHeight:e.height,paddingTop:24},children:[e.elements.length===0&&(0,q.jsx)(`div`,{className:`text-xs text-muted-foreground text-center pt-4`,children:X.addElementsPrompt}),e.elements.map(e=>{let n=m.isSelected(e.id),r=qt(e.format),i=Jt(e.format);return(0,q.jsxs)(`div`,{draggable:!c,onDragStart:n=>I(n,e,t),className:Y(`absolute border rounded px-2 py-1 text-xs cursor-pointer`,n?`border-primary ring-1 ring-primary/30 bg-primary/5`:`border-dashed border-gray-400 hover:border-primary/50`),style:{left:e.position.x,top:(typeof e.position.y==`number`?e.position.y:0)+24,width:e.position.width,height:e.position.height},onClick:t=>m.toggle(e.id,t.shiftKey),children:[(0,q.jsxs)(`div`,{className:Y(`flex h-full w-full gap-1 text-muted-foreground`,r.className),style:r.style,"data-testid":`report-element-content-${e.id}`,children:[e.type===`text`&&(e.properties.text??X.elementText),e.type===`image`&&X.elementImage,e.type===`chart`&&X.elementChart,e.type===`table`&&X.elementTable,(e.type===`field`||e.dataBinding)&&(0,q.jsx)(`span`,{"data-testid":`report-element-binding-${e.id}`,children:`{${e.dataBinding??`field`}}`}),i&&(0,q.jsx)(`span`,{className:`opacity-70`,"data-testid":`report-element-format-${e.id}`,children:i})]}),!c&&n&&(0,q.jsx)(`button`,{type:`button`,onClick:t=>{t.stopPropagation(),j(e.id)},className:`absolute -top-2 -right-2 p-0.5 rounded-full bg-destructive text-destructive-foreground shadow`,"aria-label":X.deleteElement,children:(0,q.jsx)(W,{className:`h-2.5 w-2.5`})})]},e.id)})]})]},`${e.type}-${t}`))]})})]}),s&&(0,q.jsx)(`div`,{role:`region`,"aria-label":X.propertiesPanel,className:Y(`border-l bg-muted/30 flex flex-col transition-[width] duration-200`,b?`w-56`:`w-0 overflow-hidden`),children:b&&(h&&O?(0,q.jsx)(it,{title:`${X.properties} – ${O.type}`,fields:z,onChange:N}):(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`div`,{className:`p-3 border-b font-medium text-sm`,children:X.properties}),(0,q.jsx)(`div`,{className:`flex-1 overflow-y-auto p-3`,children:(0,q.jsx)(`div`,{className:`text-xs text-muted-foreground text-center py-4`,children:X.selectElementPrompt})})]}))}),(0,q.jsx)(nt,{isOpen:_.isOpen,title:_.title,message:_.message,onConfirm:_.onConfirm,onCancel:_.onCancel})]})}var Z=b({"appDesigner.basicInfo":`Basic Info`,"appDesigner.objects":`Objects`,"appDesigner.navigation":`Navigation`,"appDesigner.branding":`Branding`,"appDesigner.stepBasicDesc":`Name, title, and icon`,"appDesigner.stepObjectsDesc":`Select business objects`,"appDesigner.stepNavigationDesc":`Build navigation tree`,"appDesigner.stepBrandingDesc":`Logo, colors, and favicon`,"appDesigner.appName":`App Name`,"appDesigner.appTitle":`Title`,"appDesigner.appDescription":`Description`,"appDesigner.appIcon":`Icon`,"appDesigner.template":`Template`,"appDesigner.snakeCaseHint":`Must be snake_case (e.g. my_app)`,"appDesigner.searchObjects":`Search objects…`,"appDesigner.selectAll":`Select All`,"appDesigner.deselectAll":`Deselect All`,"appDesigner.noObjectsFound":`No objects found.`,"appDesigner.addGroup":`Add Group`,"appDesigner.addUrl":`Add URL`,"appDesigner.addSeparator":`Add Separator`,"appDesigner.noNavItemsHint":`No navigation items yet. Select objects in the previous step or add items manually.`,"appDesigner.separatorLabel":`— Separator —`,"appDesigner.newGroup":`New Group`,"appDesigner.newLink":`New Link`,"appDesigner.logoUrl":`Logo URL`,"appDesigner.primaryColor":`Primary Color`,"appDesigner.faviconUrl":`Favicon URL`,"appDesigner.preview":`Preview`,"common.cancel":`Cancel`,"common.back":`Back`,"common.next":`Next`,"common.close":`Close`,"appDesigner.complete":`Complete`,"appDesigner.saveDraft":`Save Draft`,"appDesigner.cancelConfirmTitle":`Discard changes?`,"appDesigner.cancelConfirmMessage":`You have unsaved changes. Are you sure you want to cancel?`,"appDesigner.confirmDiscard":`Discard`,"appDesigner.keepEditing":`Keep Editing`,"appDesigner.navNoItems":`No navigation items. Click buttons above to add items.`,"appDesigner.navNoPreviewItems":`No items`,"appDesigner.navLivePreview":`Live Preview`,"appDesigner.navCollapseGroup":`Collapse group`,"appDesigner.navExpandGroup":`Expand group`,"appDesigner.navAddChild":`Add child`,"appDesigner.navMoveUp":`Move up`,"appDesigner.navMoveDown":`Move down`,"appDesigner.navRemove":`Remove`,"appDesigner.navObjectPage":`Object Page`,"appDesigner.navDashboard":`Dashboard`,"appDesigner.navPage":`Page`,"appDesigner.navReport":`Report`,"appDesigner.navGroup":`Group`,"appDesigner.navUrl":`URL`,"appDesigner.navSeparator":`Separator`,"appDesigner.navTypeObject":`Object`,"appDesigner.navTypeDashboard":`Dashboard`,"appDesigner.navTypePage":`Page`,"appDesigner.navTypeReport":`Report`,"appDesigner.navTypeUrl":`URL`,"appDesigner.navTypeGroup":`Group`,"appDesigner.navTypeSeparator":`Separator`,"appDesigner.navTypeAction":`Action`,"appDesigner.navTypeComponent":`Component`,"appDesigner.navTypeDoc":`Doc`,"appDesigner.navEditIcon":`Edit icon`,"appDesigner.navToggleVisible":`Toggle visibility`,"appDesigner.navHidden":`Hidden`,"appDesigner.navExportSchema":`Export JSON`,"appDesigner.navImportSchema":`Import JSON`,"appDesigner.navExportSuccess":`Navigation schema exported`,"appDesigner.navImportSuccess":`Navigation schema imported`,"appDesigner.navImportError":`Invalid navigation JSON`,"appDesigner.navIconPlaceholder":`Icon name (e.g. Users)`,"appDesigner.dashboardEditor":`Dashboard Editor`,"appDesigner.noWidgets":`No widgets. Click a button above to add one.`,"appDesigner.widgetLayoutSize":`Layout Size`,"appDesigner.widgetWidth":`Width`,"appDesigner.widgetHeight":`Height`,"appDesigner.dashboardPreview":`Dashboard Preview`,"appDesigner.noWidgetsPreview":`No widgets to preview`,"appDesigner.widgetProperties":`Widget Properties`,"appDesigner.addWidget":`Add Widget`,"appDesigner.modeEdit":`Edit`,"appDesigner.pageCanvasEditor":`Page Canvas Editor`,"appDesigner.emptyPage":`Empty page. Click a button above to add a component.`,"appDesigner.pagePreview":`Page Preview`,"appDesigner.noComponentsPreview":`No components to preview`,"appDesigner.modePage":`Page`,"appDesigner.modeDashboard":`Dashboard`,"appDesigner.undo":`Undo`,"appDesigner.redo":`Redo`,"appDesigner.brandingEditor":`Branding Editor`,"appDesigner.brandingExport":`Export JSON`,"appDesigner.brandingImport":`Import JSON`,"appDesigner.brandingPreview":`Preview`,"appDesigner.brandingSampleButton":`Sample Button`,"appDesigner.brandingSampleText":`This is how your brand theme will look.`,"appDesigner.colorPalette":`Color Palette`,"appDesigner.fontFamily":`Font Family`,"appDesigner.fontDefault":`Default (System)`,"appDesigner.modeLight":`Light`,"appDesigner.modeDark":`Dark`,"appDesigner.mobilePreview":`Mobile Preview`,"appDesigner.objectManager.title":`Object Manager`,"appDesigner.objectManager.addObject":`New Object`,"appDesigner.objectManager.searchPlaceholder":`Search objects…`,"appDesigner.objectManager.noObjects":`No objects found.`,"appDesigner.objectManager.objectName":`API Name`,"appDesigner.objectManager.objectLabel":`Label`,"appDesigner.objectManager.pluralLabel":`Plural Label`,"appDesigner.objectManager.icon":`Icon`,"appDesigner.objectManager.selectIcon":`Select icon…`,"appDesigner.objectManager.group":`Group`,"appDesigner.objectManager.noGroup":`No Group`,"appDesigner.objectManager.sortOrder":`Sort Order`,"appDesigner.objectManager.relationships":`Relationships`,"appDesigner.objectManager.systemBadge":`System`,"appDesigner.objectManager.fieldCount":`{{count}} fields`,"appDesigner.objectManager.ungrouped":`Ungrouped`,"appDesigner.objectManager.deleteConfirmTitle":`Delete Object?`,"appDesigner.objectManager.deleteConfirmMessage":`This will permanently delete the object and all its fields. This action cannot be undone.`,"appDesigner.fieldDesigner.title":`Field Designer`,"appDesigner.fieldDesigner.addField":`New Field`,"appDesigner.fieldDesigner.searchPlaceholder":`Search fields…`,"appDesigner.fieldDesigner.allTypes":`All Types`,"appDesigner.fieldDesigner.noFields":`No fields found.`,"appDesigner.fieldDesigner.fieldName":`API Name`,"appDesigner.fieldDesigner.fieldLabel":`Label`,"appDesigner.fieldDesigner.fieldType":`Type`,"appDesigner.fieldDesigner.fieldGroup":`Group`,"appDesigner.fieldDesigner.description":`Description`,"appDesigner.fieldDesigner.required":`Required`,"appDesigner.fieldDesigner.unique":`Unique`,"appDesigner.fieldDesigner.readOnly":`Read Only`,"appDesigner.fieldDesigner.hidden":`Hidden`,"appDesigner.fieldDesigner.externalId":`External ID`,"appDesigner.fieldDesigner.trackHistory":`Track History`,"appDesigner.fieldDesigner.defaultValue":`Default Value`,"appDesigner.fieldDesigner.placeholder":`Placeholder`,"appDesigner.fieldDesigner.referenceTo":`Reference To`,"appDesigner.fieldDesigner.options":`Options`,"appDesigner.fieldDesigner.addOption":`Add Option`,"appDesigner.fieldDesigner.systemBadge":`System`,"appDesigner.fieldDesigner.ungrouped":`General`,"appDesigner.fieldDesigner.deleteConfirmTitle":`Delete Field?`,"appDesigner.fieldDesigner.deleteConfirmMessage":`This will permanently delete the field. Existing data in this field will be lost.`,"appDesigner.fieldDesigner.basicSection":`Basic`,"appDesigner.fieldDesigner.typeSpecificSection":`Type Settings`,"appDesigner.fieldDesigner.advancedSection":`Advanced`,"appDesigner.fieldDesigner.typeCategory.text":`Text`,"appDesigner.fieldDesigner.typeCategory.number":`Number`,"appDesigner.fieldDesigner.typeCategory.date":`Date & Time`,"appDesigner.fieldDesigner.typeCategory.choice":`Choice`,"appDesigner.fieldDesigner.typeCategory.relation":`Relation`,"appDesigner.fieldDesigner.typeCategory.advanced":`Advanced`,"common.edit":`Edit`,"common.delete":`Delete`},`appDesigner.basicInfo`);function Q(...e){return w(T(e))}var Zt={name:``,title:``,description:``,icon:``,template:``,objects:[],navigation:[],branding:{logo:``,primaryColor:`#3b82f6`,favicon:``}};function Qt(e){let t=e.pluralLabel?.trim().toLowerCase();if(!t)return;let n=e=>typeof e==`string`&&e.trim().toLowerCase()===t;return n(e.label)||n(e.name)?void 0:e.pluralLabel}function $t(e){return e.filter(e=>e.selected).map(e=>{let t=Qt(e);return{id:e.name,type:`object`,...t?{label:t}:{},icon:e.icon,objectName:e.name}})}function en(e){let t=new Set,n=e=>{for(let r of e)r.type===`object`&&r.objectName?t.add(r.objectName):r.type===`group`&&r.children&&n(r.children)};return n(e),t}function tn(e,t){let n=!1,r=[];for(let i of e){if(i.type===`object`&&i.objectName&&t.has(i.objectName)){n=!0;continue}if(i.type===`group`&&i.children){let e=tn(i.children,t);if(e!==i.children){n=!0,r.push({...i,children:e});continue}}r.push(i)}return n?r:e}function nn(e,t){let n=tn(e,new Set(t.filter(e=>!e.selected).map(e=>e.name))),r=en(n),i=$t(t.filter(e=>!r.has(e.name)));return i.length===0?n:[...n,...i]}var rn=0;function an(e){return rn+=1,`${e}_${Date.now()}_${rn}`}function on({steps:e,currentIndex:t,onStepClick:n}){return(0,q.jsx)(`nav`,{className:`flex items-center justify-center gap-0 px-4 py-6`,children:e.map((e,r)=>{let i=r<t,a=r===t;return(0,q.jsxs)(G.Fragment,{children:[r>0&&(0,q.jsx)(`div`,{className:Q(`h-0.5 w-12 sm:w-20`,i?`bg-blue-500`:`bg-gray-200`)}),(0,q.jsxs)(`button`,{type:`button`,"data-testid":`wizard-step-${e.id}`,onClick:()=>n(r),className:Q(`flex flex-col items-center gap-1 outline-none focus-visible:ring-2 focus-visible:ring-blue-400 rounded-lg px-2 py-1`,a&&`cursor-default`,!a&&`cursor-pointer`),children:[(0,q.jsx)(`div`,{className:Q(`flex h-8 w-8 items-center justify-center rounded-full text-sm font-semibold transition-colors`,i&&`bg-blue-500 text-white`,a&&`bg-blue-600 text-white ring-2 ring-blue-300`,!i&&!a&&`bg-gray-200 text-gray-500`),children:i?(0,q.jsx)(N,{className:`h-4 w-4`}):r+1}),(0,q.jsx)(`span`,{className:Q(`text-xs font-medium`,a?`text-blue-600`:`text-gray-500`),children:e.label})]})]},e.id)})})}function sn({draft:e,templates:t,readOnly:n,onChange:r,t:i}){let a=e.name.length>0&&!d(e.name);return(0,q.jsxs)(`div`,{"data-testid":`wizard-step-basic-content`,className:`mx-auto max-w-lg space-y-5`,children:[(0,q.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,q.jsxs)(`label`,{htmlFor:`app-name`,className:`block text-sm font-medium text-gray-700`,children:[i(`appDesigner.appName`),(0,q.jsx)(`span`,{className:`text-red-500`,"aria-hidden":`true`,"data-required-marker":`true`,children:` *`})]}),(0,q.jsx)(`input`,{id:`app-name`,"data-testid":`app-name-input`,"aria-required":`true`,type:`text`,value:e.name,onChange:e=>r({name:e.target.value}),placeholder:`my_app`,disabled:n,className:Q(`block w-full rounded-md border px-3 py-2 text-sm shadow-sm outline-none transition-colors`,`focus:border-blue-500 focus:ring-1 focus:ring-blue-500`,`disabled:cursor-not-allowed disabled:bg-gray-50`,a?`border-red-400`:`border-gray-300`)}),a&&(0,q.jsx)(`p`,{className:`text-xs text-red-500`,children:i(`appDesigner.snakeCaseHint`)})]}),(0,q.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,q.jsxs)(`label`,{htmlFor:`app-title`,className:`block text-sm font-medium text-gray-700`,children:[i(`appDesigner.appTitle`),(0,q.jsx)(`span`,{className:`text-red-500`,"aria-hidden":`true`,"data-required-marker":`true`,children:` *`})]}),(0,q.jsx)(`input`,{id:`app-title`,"data-testid":`app-title-input`,"aria-required":`true`,type:`text`,value:e.title,onChange:e=>r({title:e.target.value}),placeholder:`My Application`,disabled:n,className:`block w-full rounded-md border border-gray-300 px-3 py-2 text-sm shadow-sm outline-none transition-colors focus:border-blue-500 focus:ring-1 focus:ring-blue-500 disabled:cursor-not-allowed disabled:bg-gray-50`})]}),(0,q.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,q.jsx)(`label`,{htmlFor:`app-description`,className:`block text-sm font-medium text-gray-700`,children:i(`appDesigner.appDescription`)}),(0,q.jsx)(`textarea`,{id:`app-description`,"data-testid":`app-description-input`,value:e.description??``,onChange:e=>r({description:e.target.value}),rows:3,disabled:n,className:`block w-full rounded-md border border-gray-300 px-3 py-2 text-sm shadow-sm outline-none transition-colors focus:border-blue-500 focus:ring-1 focus:ring-blue-500 disabled:cursor-not-allowed disabled:bg-gray-50 resize-none`})]}),(0,q.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,q.jsx)(`label`,{htmlFor:`app-icon`,className:`block text-sm font-medium text-gray-700`,children:i(`appDesigner.appIcon`)}),(0,q.jsx)(`input`,{id:`app-icon`,type:`text`,value:e.icon??``,onChange:e=>r({icon:e.target.value}),placeholder:`LayoutDashboard`,disabled:n,className:`block w-full rounded-md border border-gray-300 px-3 py-2 text-sm shadow-sm outline-none transition-colors focus:border-blue-500 focus:ring-1 focus:ring-blue-500 disabled:cursor-not-allowed disabled:bg-gray-50`})]}),t.length>0&&(0,q.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,q.jsx)(`label`,{htmlFor:`app-template`,className:`block text-sm font-medium text-gray-700`,children:i(`appDesigner.template`)}),(0,q.jsxs)(`select`,{id:`app-template`,value:e.template??``,onChange:e=>r({template:e.target.value}),disabled:n,className:`block w-full rounded-md border border-gray-300 px-3 py-2 text-sm shadow-sm outline-none transition-colors focus:border-blue-500 focus:ring-1 focus:ring-blue-500 disabled:cursor-not-allowed disabled:bg-gray-50`,children:[(0,q.jsx)(`option`,{value:``,children:`None`}),t.map(e=>(0,q.jsx)(`option`,{value:e.id,children:e.label},e.id))]})]})]})}function cn({objects:e,readOnly:t,onToggle:n,onToggleAll:r,search:i,onSearchChange:a,t:o}){let s=(0,G.useMemo)(()=>{if(!i)return e;let t=i.toLowerCase();return e.filter(e=>e.name.toLowerCase().includes(t)||e.label.toLowerCase().includes(t))},[e,i]),c=e.length>0&&e.every(e=>e.selected);return e.every(e=>!e.selected),(0,q.jsxs)(`div`,{"data-testid":`wizard-step-objects-content`,className:`mx-auto max-w-2xl space-y-4`,children:[(0,q.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,q.jsxs)(`div`,{className:`relative flex-1`,children:[(0,q.jsx)(Ae,{className:`absolute left-2.5 top-2.5 h-4 w-4 text-gray-400`}),(0,q.jsx)(`input`,{"data-testid":`object-search`,type:`text`,value:i,onChange:e=>a(e.target.value),placeholder:o(`appDesigner.searchObjects`),className:`block w-full rounded-md border border-gray-300 py-2 pl-9 pr-3 text-sm shadow-sm outline-none transition-colors focus:border-blue-500 focus:ring-1 focus:ring-blue-500`})]}),(0,q.jsx)(`button`,{type:`button`,onClick:()=>r(!c),disabled:t,className:`rounded-md border border-gray-300 px-3 py-2 text-xs font-medium text-gray-600 transition-colors hover:bg-gray-50 disabled:cursor-not-allowed disabled:opacity-50`,children:o(c?`appDesigner.deselectAll`:`appDesigner.selectAll`)})]}),s.length===0?(0,q.jsx)(`p`,{className:`py-8 text-center text-sm text-gray-400`,children:o(`appDesigner.noObjectsFound`)}):(0,q.jsx)(`div`,{className:`grid grid-cols-2 gap-3 sm:grid-cols-3`,children:s.map(e=>(0,q.jsxs)(`button`,{type:`button`,"data-testid":`object-card-${e.name}`,disabled:t,onClick:()=>n(e.name),className:Q(`flex flex-col items-start gap-1 rounded-lg border-2 p-3 text-left transition-colors`,e.selected?`border-blue-500 bg-blue-50`:`border-gray-200 hover:border-gray-300`,t&&`pointer-events-none opacity-60`),children:[(0,q.jsxs)(`div`,{className:`flex w-full items-center justify-between`,children:[(0,q.jsx)(`span`,{className:`text-sm font-medium text-gray-800`,children:e.label}),(0,q.jsx)(`div`,{className:Q(`flex h-5 w-5 items-center justify-center rounded border transition-colors`,e.selected?`border-blue-500 bg-blue-500 text-white`:`border-gray-300`),children:e.selected&&(0,q.jsx)(N,{className:`h-3 w-3`})})]}),(0,q.jsx)(`span`,{className:`text-xs text-gray-500`,children:e.name}),e.icon&&(0,q.jsx)(`span`,{className:`text-xs text-gray-400`,children:e.icon})]},e.name))})]})}var ln={object:`bg-green-100 text-green-700`,group:`bg-purple-100 text-purple-700`,url:`bg-sky-100 text-sky-700`,separator:`bg-gray-100 text-gray-600`,dashboard:`bg-amber-100 text-amber-700`,page:`bg-teal-100 text-teal-700`,report:`bg-rose-100 text-rose-700`,action:`bg-orange-100 text-orange-700`};function un({items:e,objects:t,readOnly:n,onAdd:r,onRemove:i,onReorder:a,t:o}){let s=new Map(t.map(e=>[e.name,e.label])),c=e=>e.kind===`object`?s.get(e.objectName):void 0;return(0,q.jsxs)(`div`,{"data-testid":`wizard-step-navigation-content`,className:`mx-auto max-w-lg space-y-4`,children:[(0,q.jsxs)(`div`,{className:`flex gap-2`,children:[(0,q.jsxs)(`button`,{type:`button`,"data-testid":`add-group-btn`,onClick:()=>r(`group`),disabled:n,className:`inline-flex items-center gap-1.5 rounded-md border border-gray-300 px-3 py-1.5 text-xs font-medium text-gray-600 transition-colors hover:bg-gray-50 disabled:cursor-not-allowed disabled:opacity-50`,children:[(0,q.jsx)(oe,{className:`h-3.5 w-3.5`}),o(`appDesigner.addGroup`)]}),(0,q.jsxs)(`button`,{type:`button`,"data-testid":`add-url-btn`,onClick:()=>r(`url`),disabled:n,className:`inline-flex items-center gap-1.5 rounded-md border border-gray-300 px-3 py-1.5 text-xs font-medium text-gray-600 transition-colors hover:bg-gray-50 disabled:cursor-not-allowed disabled:opacity-50`,children:[(0,q.jsx)(pe,{className:`h-3.5 w-3.5`}),o(`appDesigner.addUrl`)]}),(0,q.jsxs)(`button`,{type:`button`,"data-testid":`add-separator-btn`,onClick:()=>r(`separator`),disabled:n,className:`inline-flex items-center gap-1.5 rounded-md border border-gray-300 px-3 py-1.5 text-xs font-medium text-gray-600 transition-colors hover:bg-gray-50 disabled:cursor-not-allowed disabled:opacity-50`,children:[(0,q.jsx)(ye,{className:`h-3.5 w-3.5`}),o(`appDesigner.addSeparator`)]})]}),e.length===0?(0,q.jsx)(`p`,{className:`py-8 text-center text-sm text-gray-400`,children:o(`appDesigner.noNavItemsHint`)}):(0,q.jsx)(`ul`,{className:`space-y-1.5`,children:e.map((t,r)=>(0,q.jsxs)(`li`,{"data-testid":`nav-item-${t.id}`,className:`flex items-center gap-2 rounded-md border border-gray-200 bg-white px-3 py-2`,children:[t.icon&&(0,q.jsx)(`span`,{className:`text-xs text-gray-400`,children:t.icon}),(0,q.jsx)(`span`,{className:`flex-1 truncate text-sm text-gray-800`,children:t.type===`separator`?o(`appDesigner.separatorLabel`):qe(t,void 0,c)}),(0,q.jsx)(`span`,{className:Q(`rounded-full px-2 py-0.5 text-[10px] font-medium`,ln[t.type]??`bg-gray-100 text-gray-600`),children:t.type}),(0,q.jsxs)(`div`,{className:`flex items-center gap-0.5`,children:[(0,q.jsx)(`button`,{type:`button`,onClick:()=>a(t.id,`up`),disabled:n||r===0,className:`rounded p-0.5 text-gray-400 transition-colors hover:text-gray-700 disabled:opacity-30`,"aria-label":`Move up`,children:(0,q.jsx)(L,{className:`h-3.5 w-3.5`})}),(0,q.jsx)(`button`,{type:`button`,onClick:()=>a(t.id,`down`),disabled:n||r===e.length-1,className:`rounded p-0.5 text-gray-400 transition-colors hover:text-gray-700 disabled:opacity-30`,"aria-label":`Move down`,children:(0,q.jsx)(P,{className:`h-3.5 w-3.5`})}),(0,q.jsx)(`button`,{type:`button`,onClick:()=>i(t.id),disabled:n,className:`rounded p-0.5 text-gray-400 transition-colors hover:text-red-500 disabled:opacity-30`,"aria-label":`Remove`,children:(0,q.jsx)(W,{className:`h-3.5 w-3.5`})})]})]},t.id))})]})}function dn({branding:e,title:t,readOnly:n,onChange:r,t:i}){return(0,q.jsxs)(`div`,{"data-testid":`wizard-step-branding-content`,className:`mx-auto max-w-lg space-y-5`,children:[(0,q.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,q.jsx)(`label`,{htmlFor:`branding-logo`,className:`block text-sm font-medium text-gray-700`,children:i(`appDesigner.logoUrl`)}),(0,q.jsxs)(`div`,{className:`relative`,children:[(0,q.jsx)(de,{className:`absolute left-2.5 top-2.5 h-4 w-4 text-gray-400`}),(0,q.jsx)(`input`,{id:`branding-logo`,"data-testid":`branding-logo-input`,type:`text`,value:e.logo??``,onChange:e=>r({logo:e.target.value}),placeholder:`https://example.com/logo.svg`,disabled:n,className:`block w-full rounded-md border border-gray-300 py-2 pl-9 pr-3 text-sm shadow-sm outline-none transition-colors focus:border-blue-500 focus:ring-1 focus:ring-blue-500 disabled:cursor-not-allowed disabled:bg-gray-50`})]})]}),(0,q.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,q.jsx)(`label`,{htmlFor:`branding-color`,className:`block text-sm font-medium text-gray-700`,children:i(`appDesigner.primaryColor`)}),(0,q.jsxs)(`div`,{className:`relative`,children:[(0,q.jsx)(be,{className:`absolute left-2.5 top-2.5 h-4 w-4 text-gray-400`}),(0,q.jsx)(`input`,{id:`branding-color`,"data-testid":`branding-color-input`,type:`text`,value:e.primaryColor??`#3b82f6`,onChange:e=>r({primaryColor:e.target.value}),placeholder:`#3b82f6`,disabled:n,className:`block w-full rounded-md border border-gray-300 py-2 pl-9 pr-3 text-sm shadow-sm outline-none transition-colors focus:border-blue-500 focus:ring-1 focus:ring-blue-500 disabled:cursor-not-allowed disabled:bg-gray-50`})]})]}),(0,q.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,q.jsx)(`label`,{htmlFor:`branding-favicon`,className:`block text-sm font-medium text-gray-700`,children:i(`appDesigner.faviconUrl`)}),(0,q.jsxs)(`div`,{className:`relative`,children:[(0,q.jsx)(ce,{className:`absolute left-2.5 top-2.5 h-4 w-4 text-gray-400`}),(0,q.jsx)(`input`,{id:`branding-favicon`,"data-testid":`branding-favicon-input`,type:`text`,value:e.favicon??``,onChange:e=>r({favicon:e.target.value}),placeholder:`https://example.com/favicon.ico`,disabled:n,className:`block w-full rounded-md border border-gray-300 py-2 pl-9 pr-3 text-sm shadow-sm outline-none transition-colors focus:border-blue-500 focus:ring-1 focus:ring-blue-500 disabled:cursor-not-allowed disabled:bg-gray-50`})]})]}),(0,q.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,q.jsx)(`span`,{className:`block text-sm font-medium text-gray-700`,children:i(`appDesigner.preview`)}),(0,q.jsxs)(`div`,{className:`rounded-lg border border-gray-200 bg-white p-4`,children:[(0,q.jsxs)(`div`,{className:`flex items-center gap-3`,children:[e.logo?(0,q.jsx)(`img`,{src:e.logo,alt:`App logo`,className:`h-8 w-8 rounded object-contain`}):(0,q.jsx)(`div`,{className:`flex h-8 w-8 items-center justify-center rounded bg-gray-100 text-xs text-gray-400`,children:`Logo`}),(0,q.jsx)(`span`,{className:`text-sm font-semibold text-gray-800`,children:t||i(`appDesigner.appTitle`)})]}),(0,q.jsxs)(`div`,{className:`mt-3 flex items-center gap-2`,children:[(0,q.jsx)(`div`,{className:`h-4 w-4 rounded-full border border-gray-200`,style:{backgroundColor:e.primaryColor||`#3b82f6`}}),(0,q.jsx)(`span`,{className:`text-xs text-gray-500`,children:e.primaryColor||`#3b82f6`})]}),e.favicon&&(0,q.jsxs)(`div`,{className:`mt-2 flex items-center gap-2`,children:[(0,q.jsx)(`img`,{src:e.favicon,alt:`Favicon`,className:`h-4 w-4 rounded object-contain`}),(0,q.jsx)(`span`,{className:`text-xs text-gray-500`,children:`Favicon`})]})]})]})]})}function fn({availableObjects:e=[],templates:t=[],initialDraft:n,onComplete:r,onCancel:i,onSaveDraft:a,readOnly:o=!1,className:s}){let{t:c}=Z(),l=K(),[u,f]=(0,G.useState)(0),[p,m]=(0,G.useState)(``),[h,g]=(0,G.useState)(()=>({...Zt,objects:e.map(e=>({...e})),...n})),_=(0,G.useMemo)(()=>[{id:`basic`,label:c(`appDesigner.basicInfo`),description:c(`appDesigner.stepBasicDesc`),icon:`Settings`},{id:`objects`,label:c(`appDesigner.objects`),description:c(`appDesigner.stepObjectsDesc`),icon:`Database`},{id:`navigation`,label:c(`appDesigner.navigation`),description:c(`appDesigner.stepNavigationDesc`),icon:`Menu`},{id:`branding`,label:c(`appDesigner.branding`),description:c(`appDesigner.stepBrandingDesc`),icon:`Palette`}],[c]),v=u===0,y=u===_.length-1,b=(0,G.useMemo)(()=>h.name.length>0&&d(h.name)&&h.title.trim().length>0,[h.name,h.title]),x=(0,G.useMemo)(()=>u!==0||b,[u,b]),S=(0,G.useCallback)(e=>{g(t=>({...t,...e}))},[]),C=(0,G.useCallback)(e=>{g(t=>({...t,branding:{...t.branding,...e}}))},[]),w=(0,G.useCallback)(e=>{g(t=>({...t,objects:t.objects.map(t=>t.name===e?{...t,selected:!t.selected}:t)}))},[]),T=(0,G.useCallback)(e=>{g(t=>({...t,objects:t.objects.map(t=>({...t,selected:e}))}))},[]),E=(0,G.useCallback)(e=>{let t=e===`separator`?{id:an(e),type:e}:e===`group`?{id:an(e),type:e,label:`New Group`,children:[]}:{id:an(e),type:e,label:`New Link`,url:``};g(e=>({...e,navigation:[...e.navigation,t]}))},[]),D=(0,G.useCallback)(e=>{g(t=>({...t,navigation:t.navigation.filter(t=>t.id!==e)}))},[]),O=(0,G.useCallback)((e,t)=>{g(n=>{let r=[...n.navigation],i=r.findIndex(t=>t.id===e);if(i<0)return n;let a=t===`up`?i-1:i+1;return a<0||a>=r.length?n:([r[i],r[a]]=[r[a],r[i]],{...n,navigation:r})})},[]),k=(0,G.useCallback)(()=>{y||(u===1&&g(e=>({...e,navigation:nn(e.navigation,e.objects)})),f(e=>e+1))},[u,y]),A=(0,G.useCallback)(()=>{v||f(e=>e-1)},[v]),j=(0,G.useCallback)(()=>{r?.(h)},[h,r]),M=(0,G.useCallback)(async()=>{(h.name.length>0||h.title.length>0)&&i?await l.confirm(c(`appDesigner.cancelConfirmTitle`),c(`appDesigner.cancelConfirmMessage`))&&i():i?.()},[h.name,h.title,i,l,c]),P=(0,G.useCallback)(()=>{a?.(h)},[h,a]),L=(0,G.useCallback)(e=>{e<=u?f(e):e===u+1&&x&&(u===1&&e===2&&g(e=>({...e,navigation:nn(e.navigation,e.objects)})),f(e))},[u,x]);return(0,q.jsxs)(`div`,{className:Q(`flex h-full flex-col rounded-xl border border-gray-200 bg-white shadow-sm`,s),children:[l.isOpen&&(0,q.jsx)(`div`,{"data-testid":`cancel-confirm-dialog`,className:`fixed inset-0 z-50 flex items-center justify-center bg-black/40`,role:`dialog`,"aria-modal":`true`,children:(0,q.jsxs)(`div`,{className:`mx-4 w-full max-w-sm rounded-lg bg-white p-6 shadow-xl`,children:[(0,q.jsxs)(`div`,{className:`flex items-start justify-between`,children:[(0,q.jsx)(`h3`,{className:`text-base font-semibold text-gray-900`,children:l.title}),(0,q.jsx)(`button`,{type:`button`,onClick:l.onCancel,className:`rounded p-1 text-gray-400 hover:text-gray-600`,"aria-label":c(`common.close`),children:(0,q.jsx)(He,{className:`h-4 w-4`})})]}),(0,q.jsx)(`p`,{className:`mt-2 text-sm text-gray-600`,children:l.message}),(0,q.jsxs)(`div`,{className:`mt-4 flex justify-end gap-2`,children:[(0,q.jsx)(`button`,{type:`button`,"data-testid":`cancel-confirm-keep`,onClick:l.onCancel,className:`rounded-md border border-gray-300 px-3 py-1.5 text-sm font-medium text-gray-700 transition-colors hover:bg-gray-50`,children:c(`appDesigner.keepEditing`)}),(0,q.jsx)(`button`,{type:`button`,"data-testid":`cancel-confirm-discard`,onClick:l.onConfirm,className:`rounded-md bg-red-600 px-3 py-1.5 text-sm font-medium text-white transition-colors hover:bg-red-700`,children:c(`appDesigner.confirmDiscard`)})]})]})}),(0,q.jsx)(`div`,{className:`border-b border-gray-100`,children:(0,q.jsx)(on,{steps:_,currentIndex:u,onStepClick:L})}),(0,q.jsxs)(`div`,{className:`flex-1 overflow-y-auto p-6`,children:[u===0&&(0,q.jsx)(sn,{draft:h,templates:t,readOnly:o,onChange:S,t:c}),u===1&&(0,q.jsx)(cn,{objects:h.objects,readOnly:o,onToggle:w,onToggleAll:T,search:p,onSearchChange:m,t:c}),u===2&&(0,q.jsx)(un,{items:h.navigation,objects:h.objects,readOnly:o,onAdd:E,onRemove:D,onReorder:O,t:c}),u===3&&(0,q.jsx)(dn,{branding:h.branding,title:h.title,readOnly:o,onChange:C,t:c})]}),(0,q.jsxs)(`div`,{className:`flex items-center justify-between border-t border-gray-100 px-6 py-4`,children:[(0,q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,q.jsx)(`button`,{type:`button`,"data-testid":`wizard-cancel`,onClick:M,disabled:o,className:`rounded-md px-4 py-2 text-sm font-medium text-gray-600 transition-colors hover:bg-gray-100 disabled:cursor-not-allowed disabled:opacity-50`,children:c(`common.cancel`)}),a&&(0,q.jsx)(`button`,{type:`button`,"data-testid":`wizard-save-draft`,onClick:P,disabled:o,className:`rounded-md border border-gray-300 px-4 py-2 text-sm font-medium text-gray-600 transition-colors hover:bg-gray-50 disabled:cursor-not-allowed disabled:opacity-50`,children:c(`appDesigner.saveDraft`)})]}),(0,q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[!v&&(0,q.jsxs)(`button`,{type:`button`,"data-testid":`wizard-back`,onClick:A,disabled:o,className:`inline-flex items-center gap-1 rounded-md border border-gray-300 px-4 py-2 text-sm font-medium text-gray-700 transition-colors hover:bg-gray-50 disabled:cursor-not-allowed disabled:opacity-50`,children:[(0,q.jsx)(F,{className:`h-4 w-4`}),c(`common.back`)]}),y?(0,q.jsxs)(`button`,{type:`button`,"data-testid":`wizard-complete`,onClick:j,disabled:o||!x,className:`inline-flex items-center gap-1 rounded-md bg-blue-600 px-4 py-2 text-sm font-medium text-white transition-colors hover:bg-blue-700 disabled:cursor-not-allowed disabled:opacity-50`,children:[(0,q.jsx)(N,{className:`h-4 w-4`}),c(`appDesigner.complete`)]}):(0,q.jsxs)(`button`,{type:`button`,"data-testid":`wizard-next`,onClick:k,disabled:o||!x,className:`inline-flex items-center gap-1 rounded-md bg-blue-600 px-4 py-2 text-sm font-medium text-white transition-colors hover:bg-blue-700 disabled:cursor-not-allowed disabled:opacity-50`,children:[c(`common.next`),(0,q.jsx)(I,{className:`h-4 w-4`})]})]})]})]})}function pn(...e){return w(T(e))}function mn(e){return f.includes(e.type)}var $=[{type:`metric`,label:`KPI Metric`,Icon:Ie},{type:`bar`,label:`Bar Chart`,Icon:A},{type:`line`,label:`Line Chart`,Icon:j},{type:`pie`,label:`Pie Chart`,Icon:M},{type:`table`,label:`Table`,Icon:Pe}],hn=0;function gn(){return hn+=1,`widget_${Date.now()}_${hn}`}function _n(e,t){return x(e,t)}function vn(e,t,n){return S(e,t,n)}function yn(e,t){let n=e=>Array.isArray(e)?e.filter(e=>typeof e==`string`):[],r=mn(e)?void 0:e,i=r?.dimensions,a={...typeof e.id==`string`?{id:e.id}:{},...t?{type:t}:{},values:n(r?.values),...Array.isArray(i)?{dimensions:n(i)}:{}},o=Ye.safeParse(a);if(!o.success)return o.error.issues.find(e=>e.code===`custom`&&e.path.length===1&&e.path[0]===`values`)?.message}function bn({widget:e,index:t,total:n,selected:r,readOnly:i,onSelect:a,onRemove:o,onMoveUp:s,onMoveDown:c}){let l=e.type||`metric`,u=$.find(e=>e.type===l)||$[0],{language:d}=Z(),f=_n(e.title,d);return(0,q.jsxs)(`div`,{"data-testid":`dashboard-widget-${e.id}`,onClick:a,className:pn(`group cursor-pointer rounded-lg border-2 p-3 transition-colors`,r?`border-blue-500 bg-blue-50`:`border-gray-200 hover:border-gray-300`),children:[(0,q.jsxs)(`div`,{className:`flex items-start justify-between`,children:[(0,q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,q.jsx)(ue,{className:`h-4 w-4 text-gray-300`}),(0,q.jsx)(u.Icon,{className:`h-4 w-4 text-gray-500`}),(0,q.jsx)(`span`,{className:`text-sm font-medium text-gray-800`,children:f||`Widget ${t+1}`})]}),!i&&(0,q.jsxs)(`div`,{className:`flex items-center gap-0.5 opacity-0 transition-opacity group-hover:opacity-100`,children:[(0,q.jsx)(`button`,{type:`button`,onClick:e=>{e.stopPropagation(),s()},disabled:t===0,className:`rounded p-0.5 text-gray-400 hover:text-gray-700 disabled:opacity-30`,"aria-label":`Move up`,children:(0,q.jsx)(L,{className:`h-3.5 w-3.5`})}),(0,q.jsx)(`button`,{type:`button`,onClick:e=>{e.stopPropagation(),c()},disabled:t===n-1,className:`rounded p-0.5 text-gray-400 hover:text-gray-700 disabled:opacity-30`,"aria-label":`Move down`,children:(0,q.jsx)(P,{className:`h-3.5 w-3.5`})}),(0,q.jsx)(`button`,{type:`button`,onClick:e=>{e.stopPropagation(),o()},className:`rounded p-0.5 text-gray-400 hover:text-red-500`,"aria-label":`Remove widget`,"data-testid":`dashboard-widget-remove-${e.id}`,children:(0,q.jsx)(W,{className:`h-3.5 w-3.5`})})]})]}),(0,q.jsx)(`div`,{className:`mt-1.5 flex items-center gap-2`,children:(0,q.jsx)(`span`,{className:`rounded-full bg-gray-100 px-2 py-0.5 text-[10px] font-medium text-gray-600`,children:u.label})})]})}function xn({widget:e,index:t,readOnly:n,onChange:r,onClose:i}){let{t:a,language:o}=Z(),s=h(t),c=l(e.layout,{},s),u=_n(e.title,o),d=e.type??`metric`,f=t=>yn(e,t)!==void 0,p=yn(e,e.type),m=mn(e)?void 0:e;return(0,q.jsxs)(`div`,{"data-testid":`widget-property-panel`,className:`shrink-0 space-y-4 rounded-lg border border-gray-200 bg-white p-4`,children:[(0,q.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,q.jsx)(`h4`,{className:`text-sm font-semibold text-gray-800`,children:a(`appDesigner.widgetProperties`)}),(0,q.jsx)(`button`,{type:`button`,onClick:i,className:`rounded p-0.5 text-gray-400 hover:text-gray-600`,"aria-label":`Close`,children:(0,q.jsx)(He,{className:`h-4 w-4`})})]}),(0,q.jsxs)(`div`,{className:`space-y-1`,children:[(0,q.jsx)(`label`,{htmlFor:`widget-title`,className:`text-xs font-medium text-gray-600`,children:`Title`}),(0,q.jsx)(`input`,{id:`widget-title`,"data-testid":`widget-prop-title`,type:`text`,value:u,onChange:t=>{r({title:vn(e.title,o,t.target.value)})},disabled:n,className:`block w-full rounded-md border border-gray-300 px-2.5 py-1.5 text-sm outline-none focus:border-blue-500 focus:ring-1 focus:ring-blue-500 disabled:bg-gray-50`})]}),(0,q.jsxs)(`div`,{className:`space-y-1`,children:[(0,q.jsx)(`label`,{htmlFor:`widget-type`,className:`text-xs font-medium text-gray-600`,children:`Type`}),(0,q.jsx)(`select`,{id:`widget-type`,"data-testid":`widget-prop-type`,value:e.type??`metric`,onChange:e=>{let t=$.find(t=>t.type===e.target.value);t&&(t.type===d||!f(t.type))&&r({type:t.type})},disabled:n,className:`block w-full rounded-md border border-gray-300 px-2.5 py-1.5 text-sm outline-none focus:border-blue-500 focus:ring-1 focus:ring-blue-500 disabled:bg-gray-50`,children:$.map(e=>(0,q.jsx)(`option`,{value:e.type,disabled:e.type!==d&&f(e.type),children:e.label},e.type))}),p&&(0,q.jsx)(`p`,{role:`alert`,"data-testid":`widget-prop-measure-refusal`,className:`break-words text-xs text-red-600`,children:p})]}),m&&(0,q.jsxs)(`div`,{className:`space-y-1`,children:[(0,q.jsx)(`label`,{htmlFor:`widget-color`,className:`text-xs font-medium text-gray-600`,children:`Color Variant`}),(0,q.jsxs)(`select`,{id:`widget-color`,"data-testid":`widget-prop-color`,value:m.colorVariant??`default`,onChange:e=>r({colorVariant:e.target.value}),disabled:n,className:`block w-full rounded-md border border-gray-300 px-2.5 py-1.5 text-sm outline-none focus:border-blue-500 focus:ring-1 focus:ring-blue-500 disabled:bg-gray-50`,children:[(0,q.jsx)(`option`,{value:`default`,children:`Default`}),(0,q.jsx)(`option`,{value:`blue`,children:`Blue`}),(0,q.jsx)(`option`,{value:`teal`,children:`Teal`}),(0,q.jsx)(`option`,{value:`orange`,children:`Orange`}),(0,q.jsx)(`option`,{value:`purple`,children:`Purple`}),(0,q.jsx)(`option`,{value:`success`,children:`Success`}),(0,q.jsx)(`option`,{value:`warning`,children:`Warning`}),(0,q.jsx)(`option`,{value:`danger`,children:`Danger`})]})]}),(0,q.jsxs)(`div`,{className:`space-y-1`,children:[(0,q.jsx)(`label`,{className:`text-xs font-medium text-gray-600`,children:a(`appDesigner.widgetLayoutSize`)}),(0,q.jsxs)(`div`,{className:`flex gap-2`,children:[(0,q.jsxs)(`div`,{className:`flex-1`,children:[(0,q.jsx)(`label`,{htmlFor:`widget-width`,className:`text-[10px] text-gray-400`,children:a(`appDesigner.widgetWidth`)}),(0,q.jsx)(`input`,{id:`widget-width`,"data-testid":`widget-prop-width`,type:`number`,min:1,value:c.w,onChange:t=>r({layout:l(e.layout,{w:Number(t.target.value)||1},s)}),disabled:n,className:`block w-full rounded-md border border-gray-300 px-2 py-1 text-sm outline-none focus:border-blue-500 focus:ring-1 focus:ring-blue-500 disabled:bg-gray-50`})]}),(0,q.jsxs)(`div`,{className:`flex-1`,children:[(0,q.jsx)(`label`,{htmlFor:`widget-height`,className:`text-[10px] text-gray-400`,children:a(`appDesigner.widgetHeight`)}),(0,q.jsx)(`input`,{id:`widget-height`,"data-testid":`widget-prop-height`,type:`number`,min:1,value:c.h,onChange:t=>r({layout:l(e.layout,{h:Number(t.target.value)||1},s)}),disabled:n,className:`block w-full rounded-md border border-gray-300 px-2 py-1 text-sm outline-none focus:border-blue-500 focus:ring-1 focus:ring-blue-500 disabled:bg-gray-50`})]})]})]})]})}function Sn({schema:e}){let{t,language:n}=Z(),r=e.widgets||[];return(0,q.jsxs)(`div`,{"data-testid":`dashboard-preview`,className:`rounded-lg border border-gray-200 bg-gray-50 p-4`,children:[(0,q.jsx)(`h4`,{className:`mb-3 text-sm font-semibold text-gray-700`,children:x(e.label,n)||t(`appDesigner.dashboardPreview`)}),r.length===0?(0,q.jsx)(`div`,{className:`text-xs text-gray-400`,children:t(`appDesigner.noWidgetsPreview`)}):(0,q.jsx)(`div`,{className:`grid gap-2`,style:{gridTemplateColumns:`repeat(${e.columns??2}, 1fr)`},children:r.map(e=>{let t=$.find(t=>t.type===(e.type||`metric`))||$[0];return(0,q.jsxs)(`div`,{className:`rounded-md border border-gray-200 bg-white p-2`,children:[(0,q.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,q.jsx)(t.Icon,{className:`h-3 w-3 text-gray-400`}),(0,q.jsx)(`span`,{className:`text-xs font-medium text-gray-600`,children:_n(e.title,n)||`Untitled`})]}),(0,q.jsx)(`div`,{className:`mt-1 text-[10px] text-gray-400`,children:t.label})]},e.id)})})]})}function Cn({schema:e,onChange:t,readOnly:n=!1,className:r,onExport:i,onImport:a,selectedWidgetId:o,onWidgetSelect:s}){let{t:c}=Z(),[l,u]=(0,G.useState)(null),[d,f]=(0,G.useState)(!1),p=(0,G.useRef)(null),m=(0,G.useRef)(null),h=o!==void 0,g=h?o:l,_=(0,G.useCallback)(e=>{s&&s(e),h||u(e)},[h,s,u]),{current:v,canUndo:y,canRedo:b,push:x,undo:S,redo:C}=Ze(e),w=(0,G.useCallback)(e=>{x(e),t(e)},[x,t]),T=v.widgets||[],E=T.findIndex(e=>e.id===g),D=E<0?void 0:T[E],O=(0,G.useCallback)(e=>{let t=gn(),n={id:t,title:``,type:e,layout:{x:0,y:T.length,w:v.columns??2,h:1}};w({...v,widgets:[...T,n]}),_(t)},[v,T,w,_]),k=(0,G.useCallback)(e=>{w({...v,widgets:T.filter(t=>t.id!==e)}),g===e&&_(null)},[v,T,g,w,_]),A=(0,G.useCallback)((e,t)=>{let n=T.findIndex(t=>t.id===e);if(n<0)return;let r=t===`up`?n-1:n+1;if(r<0||r>=T.length)return;let i=[...T];[i[n],i[r]]=[i[r],i[n]],w({...v,widgets:i})},[v,T,w]),j=(0,G.useCallback)(e=>{g&&w({...v,widgets:T.map(t=>t.id===g?{...t,...e}:t)})},[v,T,g,w]);(0,G.useEffect)(()=>{let e=p.current;if(!e)return;let t=e=>{if(!n){if((e.ctrlKey||e.metaKey)&&e.key===`z`&&!e.shiftKey){e.preventDefault(),S();return}if((e.ctrlKey||e.metaKey)&&(e.key===`y`||e.key===`z`&&e.shiftKey)){e.preventDefault(),C();return}if((e.key===`Delete`||e.key===`Backspace`)&&g){let t=e.target;if(t.tagName===`INPUT`||t.tagName===`SELECT`||t.tagName===`TEXTAREA`)return;e.preventDefault(),k(g)}}};return e.addEventListener(`keydown`,t),()=>e.removeEventListener(`keydown`,t)},[n,S,C,g,k]);let M=(0,G.useCallback)(()=>{i&&i(v)},[v,i]),N=(0,G.useCallback)(()=>{m.current?.click()},[]),P=(0,G.useCallback)(e=>{let t=e.target.files?.[0];if(!t)return;let n=new FileReader;n.onload=()=>{try{let e=JSON.parse(n.result);e&&e.type===`dashboard`&&(w(e),a?.(e))}catch{}},n.readAsText(t),e.target.value=``},[w,a]);return(0,q.jsxs)(`div`,{ref:p,tabIndex:0,"data-testid":`dashboard-editor`,className:pn(`flex flex-col gap-4 outline-none`,r),children:[(0,q.jsx)(`input`,{ref:m,type:`file`,accept:`.json`,className:`hidden`,"data-testid":`dashboard-import-input`,onChange:P}),D&&!d&&(0,q.jsx)(xn,{widget:D,index:E,readOnly:n,onChange:j,onClose:()=>_(null)}),(0,q.jsxs)(`div`,{className:`flex-1 space-y-4`,children:[(0,q.jsxs)(`div`,{className:`flex flex-col gap-2 sm:flex-row sm:items-center sm:justify-between`,children:[(0,q.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,q.jsxs)(`span`,{className:`text-sm font-medium text-gray-700`,children:[c(`appDesigner.addWidget`),`:`]}),$.map(({type:e,label:t,Icon:r})=>(0,q.jsxs)(`button`,{type:`button`,"data-testid":`dashboard-add-${e}`,onClick:()=>O(e),disabled:n||d,className:`inline-flex items-center gap-1.5 rounded-md border border-gray-200 px-2.5 py-1.5 text-xs font-medium text-gray-600 transition-colors hover:bg-gray-50 disabled:cursor-not-allowed disabled:opacity-50`,children:[(0,q.jsx)(r,{className:`h-3.5 w-3.5`}),t]},e))]}),(0,q.jsxs)(`div`,{className:`flex items-center gap-1`,children:[!n&&(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`button`,{type:`button`,"data-testid":`dashboard-undo`,onClick:S,disabled:!y,className:`rounded p-1.5 text-gray-400 hover:text-gray-700 disabled:opacity-30`,"aria-label":c(`appDesigner.undo`),children:(0,q.jsx)(ze,{className:`h-4 w-4`})}),(0,q.jsx)(`button`,{type:`button`,"data-testid":`dashboard-redo`,onClick:C,disabled:!b,className:`rounded p-1.5 text-gray-400 hover:text-gray-700 disabled:opacity-30`,"aria-label":c(`appDesigner.redo`),children:(0,q.jsx)(Oe,{className:`h-4 w-4`})})]}),(0,q.jsx)(`button`,{type:`button`,"data-testid":`dashboard-export`,onClick:M,className:`rounded p-1.5 text-gray-400 hover:text-gray-700`,"aria-label":c(`appDesigner.navExportSchema`),children:(0,q.jsx)(ie,{className:`h-4 w-4`})}),!n&&(0,q.jsx)(`button`,{type:`button`,"data-testid":`dashboard-import`,onClick:N,className:`rounded p-1.5 text-gray-400 hover:text-gray-700`,"aria-label":c(`appDesigner.navImportSchema`),children:(0,q.jsx)(Be,{className:`h-4 w-4`})}),(0,q.jsx)(`button`,{type:`button`,"data-testid":`dashboard-preview-toggle`,onClick:()=>f(e=>!e),className:pn(`rounded p-1.5 transition-colors`,d?`bg-blue-100 text-blue-600`:`text-gray-400 hover:text-gray-700`),"aria-label":c(d?`appDesigner.modeEdit`:`appDesigner.preview`),children:d?(0,q.jsx)(B,{className:`h-4 w-4`}):(0,q.jsx)(ae,{className:`h-4 w-4`})})]})]}),d?(0,q.jsx)(Sn,{schema:v}):T.length===0?(0,q.jsx)(`div`,{className:`flex h-48 items-center justify-center rounded-lg border-2 border-dashed border-gray-200 text-sm text-gray-400`,children:c(`appDesigner.noWidgets`)}):(0,q.jsx)(`div`,{className:`grid gap-3`,style:{gridTemplateColumns:`repeat(${v.columns??2}, 1fr)`},children:T.map((e,t)=>(0,q.jsx)(bn,{widget:e,index:t,total:T.length,selected:e.id===g,readOnly:n,onSelect:()=>_(e.id??null),onRemove:()=>k(e.id),onMoveUp:()=>A(e.id,`up`),onMoveDown:()=>A(e.id,`down`)},e.id))})]})]})}function wn(...e){return w(T(e))}var Tn=[`Custom Objects`,`System Objects`,`Integration`,`Analytics`],En=[`Box`,`Database`,`Users`,`FileText`,`Settings`,`ShoppingCart`,`Calendar`,`Mail`,`Briefcase`,`Building`,`Globe`,`Heart`,`Star`,`Tag`,`Bookmark`,`Folder`,`Archive`,`Package`,`Truck`,`CreditCard`];function Dn({objects:e,onObjectsChange:t,onSelectObject:n,showSystemObjects:r=!0,readOnly:i=!1,className:a}){let{t:o}=Z(),s=K(),[c,l]=(0,G.useState)(!1),[u,d]=(0,G.useState)(null),f=(0,G.useMemo)(()=>r?e:e.filter(e=>!e.isSystem),[e,r]),p=(0,G.useMemo)(()=>new m({items:f}),[f]),h=(0,G.useMemo)(()=>[{field:`name`,label:o(`appDesigner.objectManager.objectName`),width:160},{field:`label`,label:o(`appDesigner.objectManager.objectLabel`),width:160},{field:`group`,label:o(`appDesigner.objectManager.group`),width:130},{field:`fieldCount`,label:`Fields`,width:80}],[o]),g=(0,G.useMemo)(()=>({type:`object-grid`,objectName:`object_definition`,columns:h,searchableFields:[`name`,`label`,`description`],showSearch:!0,operations:i?void 0:{create:!0,update:!0,delete:!0}}),[h,i]),_=(0,G.useCallback)(t=>{let r=e.find(e=>e.name===t.name);r&&n?.(r)},[e,n]),v=(0,G.useCallback)(t=>{let n=e.find(e=>e.name===t.name);n&&(d(n),l(!0))},[e]),y=(0,G.useCallback)(t=>{let n=e.find(e=>e.name===t.name);return{delete:!!n&&!n.isSystem}},[e]),b=(0,G.useCallback)(async n=>{let r=e.find(e=>e.name===n.name);r&&!r.isSystem&&await s.confirm(o(`appDesigner.objectManager.deleteConfirmTitle`),o(`appDesigner.objectManager.deleteConfirmMessage`))&&t?.(e.filter(e=>e.id!==r.id))},[e,t,s,o]),x=(0,G.useCallback)(()=>{d(null),l(!0)},[]),S=(0,G.useCallback)(n=>{if(u){let r={...u,name:String(n.name||u.name),label:String(n.label||u.label),pluralLabel:n.pluralLabel?String(n.pluralLabel):void 0,description:n.description?String(n.description):void 0,icon:n.icon?String(n.icon):void 0,group:n.group?String(n.group):void 0,sortOrder:typeof n.sortOrder==`number`?n.sortOrder:void 0};t?.(e.map(e=>e.id===u.id?r:e))}else{let r={id:`obj_${Date.now()}`,name:String(n.name||`new_object_${e.length+1}`),label:String(n.label||`New Object ${e.length+1}`),pluralLabel:n.pluralLabel?String(n.pluralLabel):void 0,description:n.description?String(n.description):void 0,icon:n.icon?String(n.icon):void 0,group:n.group?String(n.group):void 0,sortOrder:typeof n.sortOrder==`number`?n.sortOrder:void 0,isSystem:!1,fieldCount:0};t?.([...e,r])}l(!1),d(null)},[u,e,t]),C=(0,G.useCallback)(e=>{e||(l(!1),d(null))},[]),w=(0,G.useMemo)(()=>({type:`object-form`,formType:`modal`,objectName:`object_definition`,mode:u?`edit`:`create`,title:u?`${o(`common.edit`)} — ${u.label}`:o(`appDesigner.objectManager.addObject`),open:c,onOpenChange:C,modalSize:`lg`,customFields:[{name:`name`,label:o(`appDesigner.objectManager.objectName`),type:`text`,required:!0,placeholder:`api_name`,disabled:i||(u?.isSystem??!1)},{name:`label`,label:o(`appDesigner.objectManager.objectLabel`),type:`text`,required:!0,placeholder:`Display Name`,disabled:i},{name:`pluralLabel`,label:o(`appDesigner.objectManager.pluralLabel`),type:`text`,placeholder:`Display Names`,disabled:i},{name:`description`,label:o(`appDesigner.appDescription`),type:`textarea`,disabled:i},{name:`icon`,label:o(`appDesigner.objectManager.icon`),type:`select`,options:En.map(e=>({label:e,value:e})),disabled:i},{name:`group`,label:o(`appDesigner.objectManager.group`),type:`select`,options:Tn.map(e=>({label:e,value:e})),disabled:i},{name:`sortOrder`,label:o(`appDesigner.objectManager.sortOrder`),type:`number`,disabled:i}],initialValues:u?{name:u.name,label:u.label,pluralLabel:u.pluralLabel||``,description:u.description||``,icon:u.icon||``,group:u.group||``,sortOrder:u.sortOrder??0}:{},onSuccess:S,onCancel:()=>C(!1),readOnly:i}),[u,c,C,S,i,o]);return(0,q.jsxs)(`div`,{"data-testid":`object-manager`,className:wn(`w-full space-y-3`,a),children:[(0,q.jsx)(`div`,{className:`flex items-center justify-between`,children:(0,q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,q.jsx)(ne,{className:`h-4 w-4 text-primary`}),(0,q.jsx)(`h2`,{className:`text-sm font-semibold`,children:o(`appDesigner.objectManager.title`)}),(0,q.jsx)(`span`,{className:`rounded-full bg-muted px-1.5 py-0.5 text-[10px] text-muted-foreground`,children:f.length})]})}),(0,q.jsx)(Je,{schema:g,dataSource:p,onRowClick:_,onEdit:i?void 0:v,onDelete:i?void 0:b,rowOperations:y,onAddRecord:i?void 0:x}),c&&(0,q.jsx)(Ke,{schema:w}),(0,q.jsx)(nt,{isOpen:s.isOpen,title:s.title,message:s.message,confirmLabel:o(`common.delete`),cancelLabel:o(`common.cancel`),onConfirm:s.onConfirm,onCancel:s.onCancel,destructive:!0})]})}function On(...e){return w(T(e))}var kn={text:{label:`Text`,Icon:Re},textarea:{label:`Text Area`,Icon:V},number:{label:`Number`,Icon:H},boolean:{label:`Checkbox`,Icon:Fe},date:{label:`Date`,Icon:k},datetime:{label:`Date/Time`,Icon:k},time:{label:`Time`,Icon:k},select:{label:`Picklist`,Icon:me},email:{label:`Email`,Icon:O},phone:{label:`Phone`,Icon:Te},url:{label:`URL`,Icon:ce},password:{label:`Password`,Icon:he},currency:{label:`Currency`,Icon:H},percent:{label:`Percent`,Icon:H},lookup:{label:`Lookup`,Icon:fe},formula:{label:`Formula`,Icon:R},autonumber:{label:`Auto Number`,Icon:H},file:{label:`File`,Icon:V},image:{label:`Image`,Icon:de},markdown:{label:`Markdown`,Icon:V},html:{label:`Rich Text`,Icon:V},color:{label:`Color`,Icon:be},code:{label:`Code`,Icon:R},location:{label:`Location`,Icon:ge},address:{label:`Address`,Icon:ge},rating:{label:`Rating`,Icon:Ne},slider:{label:`Slider`,Icon:je}},An={text:[`text`,`textarea`,`email`,`phone`,`url`,`password`,`markdown`,`html`],number:[`number`,`currency`,`percent`,`autonumber`,`rating`,`slider`],date:[`date`,`datetime`,`time`],choice:[`boolean`,`select`],relation:[`lookup`],advanced:[`formula`,`file`,`image`,`color`,`code`,`location`,`address`]},jn=[`text`,`number`,`date`,`choice`,`relation`,`advanced`];function Mn(e,t){return!C.includes(e)||e===t}function Nn({objectName:e,fields:t,onFieldsChange:n,readOnly:r=!1,className:i}){let{t:a}=Z(),o=K(),[s,c]=(0,G.useState)(!1),[l,u]=(0,G.useState)(null),[d,f]=(0,G.useState)(``),p=(0,G.useMemo)(()=>d?t.filter(e=>e.type===d):t,[t,d]),h=(0,G.useMemo)(()=>new m({items:p}),[p]),g=(0,G.useMemo)(()=>[{field:`name`,label:a(`appDesigner.fieldDesigner.fieldName`),width:140},{field:`label`,label:a(`appDesigner.fieldDesigner.fieldLabel`),width:160},{field:`type`,label:a(`appDesigner.fieldDesigner.fieldType`),width:100},{field:`required`,label:a(`appDesigner.fieldDesigner.required`),width:80},{field:`unique`,label:a(`appDesigner.fieldDesigner.unique`),width:80},{field:`group`,label:a(`appDesigner.fieldDesigner.fieldGroup`),width:120}],[a]),_=(0,G.useMemo)(()=>({type:`object-grid`,objectName:`field_definition`,columns:g,searchableFields:[`name`,`label`,`description`],showSearch:!0,operations:r?void 0:{create:!0,update:!0,delete:!0}}),[g,r]),v=(0,G.useCallback)(e=>{let n=t.find(t=>t.name===e.name);n&&(u(n),c(!0))},[t]),y=(0,G.useCallback)(e=>{let n=t.find(t=>t.name===e.name);return{delete:!!n&&!n.isSystem}},[t]),b=(0,G.useCallback)(async e=>{let r=t.find(t=>t.name===e.name);r&&!r.isSystem&&await o.confirm(a(`appDesigner.fieldDesigner.deleteConfirmTitle`),a(`appDesigner.fieldDesigner.deleteConfirmMessage`))&&n?.(t.filter(e=>e.id!==r.id))},[t,n,o,a]),x=(0,G.useCallback)(()=>{u(null),c(!0)},[]),S=(0,G.useCallback)(e=>{if(l){let r={...l,name:String(e.name||l.name),label:String(e.label||l.label),type:e.type||l.type,group:e.group?String(e.group):void 0,description:e.description?String(e.description):void 0,required:e.required===!0,unique:e.unique===!0,readonly:e.readonly===!0,hidden:e.hidden===!0,externalId:e.externalId===!0,trackHistory:e.trackHistory===!0,defaultValue:e.defaultValue?String(e.defaultValue):void 0,placeholder:e.placeholder?String(e.placeholder):void 0,referenceTo:e.referenceTo?String(e.referenceTo):void 0};n?.(t.map(e=>e.id===l.id?r:e))}else{let r={id:`fld_${Date.now()}`,name:String(e.name||`new_field_${t.length+1}`),label:String(e.label||`New Field ${t.length+1}`),type:e.type||`text`,group:e.group?String(e.group):void 0,description:e.description?String(e.description):void 0,required:e.required===!0,unique:e.unique===!0,readonly:e.readonly===!0,hidden:e.hidden===!0,externalId:e.externalId===!0,trackHistory:e.trackHistory===!0,defaultValue:e.defaultValue?String(e.defaultValue):void 0,placeholder:e.placeholder?String(e.placeholder):void 0,referenceTo:e.referenceTo?String(e.referenceTo):void 0,isSystem:!1};n?.([...t,r])}c(!1),u(null)},[l,t,n]),C=(0,G.useCallback)(e=>{e||(c(!1),u(null))},[]),w=(0,G.useMemo)(()=>jn.map(e=>({category:e,label:a(`appDesigner.fieldDesigner.typeCategory.${e}`),options:An[e].map(e=>({label:kn[e].label,value:e}))})),[a]),T=(0,G.useMemo)(()=>w.flatMap(e=>e.options).filter(e=>Mn(e.value,l?.type)),[w,l]),E=(0,G.useMemo)(()=>({type:`object-form`,formType:`drawer`,objectName:`field_definition`,mode:l?`edit`:`create`,title:l?`${a(`common.edit`)} — ${l.label}`:a(`appDesigner.fieldDesigner.addField`),open:s,onOpenChange:C,drawerSide:`right`,drawerWidth:`480px`,sections:[{name:`basic`,label:a(`appDesigner.fieldDesigner.basicSection`),fields:[{name:`name`,label:a(`appDesigner.fieldDesigner.fieldName`),type:`text`,required:!0,placeholder:`api_name`,disabled:r||(l?.isSystem??!1)},{name:`label`,label:a(`appDesigner.fieldDesigner.fieldLabel`),type:`text`,required:!0,placeholder:`Display Label`,disabled:r},{name:`type`,label:a(`appDesigner.fieldDesigner.fieldType`),type:`select`,required:!0,options:T,disabled:r||(l?.isSystem??!1)},{name:`required`,label:a(`appDesigner.fieldDesigner.required`),type:`boolean`,disabled:r},{name:`unique`,label:a(`appDesigner.fieldDesigner.unique`),type:`boolean`,disabled:r},{name:`description`,label:a(`appDesigner.fieldDesigner.description`),type:`textarea`,disabled:r}]},{name:`typeSpecific`,label:a(`appDesigner.fieldDesigner.typeSpecificSection`),fields:[{name:`referenceTo`,label:a(`appDesigner.fieldDesigner.referenceTo`),type:`text`,placeholder:`Referenced object`,disabled:r,visibleWhen:`record.type == 'lookup'`},{name:`defaultValue`,label:a(`appDesigner.fieldDesigner.defaultValue`),type:`text`,placeholder:`Default value`,disabled:r},{name:`placeholder`,label:a(`appDesigner.fieldDesigner.placeholder`),type:`text`,placeholder:`Placeholder text`,disabled:r},{name:`group`,label:a(`appDesigner.fieldDesigner.fieldGroup`),type:`text`,placeholder:`Field Group`,disabled:r}]},{name:`advanced`,label:a(`appDesigner.fieldDesigner.advancedSection`),collapsible:!0,collapsed:!0,fields:[{name:`externalId`,label:a(`appDesigner.fieldDesigner.externalId`),type:`boolean`,disabled:r},{name:`trackHistory`,label:a(`appDesigner.fieldDesigner.trackHistory`),type:`boolean`,disabled:r},{name:`readonly`,label:a(`appDesigner.fieldDesigner.readOnly`),type:`boolean`,disabled:r},{name:`hidden`,label:a(`appDesigner.fieldDesigner.hidden`),type:`boolean`,disabled:r}]}],initialValues:l?{name:l.name,label:l.label,type:l.type,group:l.group||``,description:l.description||``,required:l.required||!1,unique:l.unique||!1,readonly:l.readonly||!1,hidden:l.hidden||!1,externalId:l.externalId||!1,trackHistory:l.trackHistory||!1,defaultValue:l.defaultValue==null?``:String(l.defaultValue),placeholder:l.placeholder||``,referenceTo:l.referenceTo||``}:{type:`text`,required:!1,unique:!1},onSuccess:S,onCancel:()=>C(!1),readOnly:r}),[l,s,C,S,T,r,a]);return(0,q.jsxs)(`div`,{"data-testid":`field-designer`,className:On(`w-full space-y-3`,i),children:[(0,q.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,q.jsx)(z,{className:`h-4 w-4 text-primary`}),(0,q.jsx)(`h2`,{className:`text-sm font-semibold`,children:a(`appDesigner.fieldDesigner.title`)}),e&&(0,q.jsxs)(`span`,{className:`text-xs text-muted-foreground`,children:[`— `,e]}),(0,q.jsx)(`span`,{className:`rounded-full bg-muted px-1.5 py-0.5 text-[10px] text-muted-foreground`,children:p.length})]}),(0,q.jsxs)(`select`,{value:d,onChange:e=>f(e.target.value),"data-testid":`field-designer-type-filter`,className:`rounded-md border border-input bg-background px-2 py-1 text-xs outline-none transition-colors focus:border-primary focus:ring-1 focus:ring-primary`,children:[(0,q.jsx)(`option`,{value:``,children:a(`appDesigner.fieldDesigner.allTypes`)}),w.map(e=>(0,q.jsx)(`optgroup`,{label:e.label,children:e.options.map(e=>(0,q.jsx)(`option`,{value:e.value,children:e.label},e.value))},e.category))]})]}),(0,q.jsx)(Je,{schema:_,dataSource:h,onEdit:r?void 0:v,onDelete:r?void 0:b,rowOperations:y,onAddRecord:r?void 0:x}),s&&(0,q.jsx)(Ge,{schema:E}),(0,q.jsx)(nt,{isOpen:o.isOpen,title:o.title,message:o.message,confirmLabel:a(`common.delete`),cancelLabel:a(`common.cancel`),onConfirm:o.onConfirm,onCancel:o.onCancel,destructive:!0})]})}var Pn=`objectui-app-wizard-draft`;function Fn(){let e=t(),{appName:r}=n(),{objects:i,refresh:a}=c(),o=g(),s=(i||[]).map(e=>({name:e.name,label:e.label||e.name,pluralLabel:e.pluralLabel,icon:e.icon,selected:!1})),l=(0,G.useCallback)(()=>{try{let e=localStorage.getItem(Pn);if(e)return JSON.parse(e)}catch{}},[]),d=(0,G.useCallback)(async t=>{try{let n=u(t),r=o?.getClient();r&&await r.meta.saveItem(`app`,t.name,n),localStorage.removeItem(Pn),E.success(`Application "${t.title}" created successfully`),await a?.(),e(`/apps/${t.name}`)}catch(e){E.error(e?.message||`Failed to create application`)}},[e,a,o]),f=(0,G.useCallback)(()=>{e(r?`/apps/${r}`:`/`)},[e,r]),p=(0,G.useCallback)(e=>{try{localStorage.setItem(Pn,JSON.stringify(e)),E.info(`Draft saved`)}catch{}},[]);return(0,q.jsx)(`div`,{className:`mx-auto max-w-4xl py-8 px-4`,"data-testid":`create-app-page`,children:(0,q.jsx)(fn,{availableObjects:s,initialDraft:l(),onComplete:d,onCancel:f,onSaveDraft:p})})}var In;function Ln(){return In??=new Set(Object.keys(a.shape)),In}var Rn;function zn(){return Rn??=new Set(Object.keys(o.shape)),Rn}function Bn(e,t){return!e||typeof e!=`object`?{}:Object.fromEntries(Object.entries(e).filter(([e])=>t.has(e)))}function Vn(){let e=t(),{appName:r,editAppName:i}=n(),{apps:a,objects:o,refresh:s}=c(),l=g(),d=i||r,f=a.find(e=>e.name===d),p=en(f?.navigation||[]),m=(o||[]).map(e=>({name:e.name,label:e.label||e.name,pluralLabel:e.pluralLabel,icon:e.icon,selected:p.has(e.name)})),h=(0,G.useMemo)(()=>{if(f)return{name:f.name,title:f.label||``,description:f.description||``,icon:f.icon||``,navigation:f.navigation||[],branding:{logo:f.branding?.logo||``,primaryColor:f.branding?.primaryColor||`#3b82f6`,favicon:f.branding?.favicon||``}}},[f]),_=(0,G.useCallback)(async t=>{try{let n=u(t),r=Bn(f,Ln()),i={...Bn(f?.branding,zn()),...n.branding},a={...r,...n,branding:i},o=l?.getClient();o&&await o.meta.saveItem(`app`,t.name,a),E.success(`Application "${t.title}" updated successfully`),await s?.(),e(`/apps/${t.name}`)}catch(e){E.error(e?.message||`Failed to update application`)}},[e,s,l,f]),v=(0,G.useCallback)(()=>{e(r?`/apps/${r}`:`/`)},[e,r]),y=(0,G.useCallback)(e=>{try{localStorage.setItem(`objectui-edit-draft-${d}`,JSON.stringify(e)),E.info(`Draft saved`)}catch{}},[d]);return f?(0,q.jsx)(`div`,{className:`mx-auto max-w-4xl py-8 px-4`,"data-testid":`edit-app-page`,children:(0,q.jsx)(fn,{availableObjects:m,initialDraft:h,onComplete:_,onCancel:v,onSaveDraft:y})}):(0,q.jsx)(`div`,{className:`mx-auto max-w-4xl py-8 px-4 text-center`,"data-testid":`edit-app-not-found`,children:(0,q.jsxs)(`p`,{className:`text-muted-foreground`,children:[`Application "`,d,`" not found.`]})})}function Hn(){let e=t(),{dashboardName:r}=n(),i=g(),{dashboards:a,refresh:o}=c(),s=a?.find(e=>e.name===r),[l,u]=(0,G.useState)(()=>_(s)||{type:`dashboard`,name:r??``,label:r??``,columns:2,widgets:[]}),d=(0,G.useRef)(l);d.current=l;let f=(0,G.useCallback)(async e=>{try{if(i)return await i.update(`sys_dashboard`,r,e),o().catch(()=>{}),!0}catch{}return!1},[i,r,o]),p=(0,G.useCallback)(async e=>{let t=_(e);u(t),await f(t)},[f]);(0,G.useEffect)(()=>{let e=e=>{(e.ctrlKey||e.metaKey)&&e.key===`s`&&(e.preventDefault(),f(d.current).then(e=>{e&&E.success(`Dashboard saved`)}))};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[f]);let m=(0,G.useCallback)(e=>{let t=new Blob([JSON.stringify(e,null,2)],{type:`application/json`}),n=URL.createObjectURL(t),i=document.createElement(`a`);i.href=n,i.download=`${r||`dashboard`}.json`,i.click(),URL.revokeObjectURL(n),E.success(`Dashboard schema exported`)},[r]),h=(0,G.useCallback)(e=>{E.success(`Dashboard schema imported`),p(e)},[p]);return s?(0,q.jsxs)(`div`,{className:`h-full flex flex-col`,"data-testid":`dashboard-design-page`,children:[(0,q.jsxs)(`div`,{className:`flex items-center gap-3 border-b px-4 py-3 sm:px-6`,children:[(0,q.jsx)(`button`,{type:`button`,onClick:()=>e(-1),className:`rounded p-1.5 text-muted-foreground hover:text-foreground`,"aria-label":`Go back`,"data-testid":`dashboard-design-back`,children:(0,q.jsx)(D,{className:`h-4 w-4`})}),(0,q.jsxs)(`h1`,{className:`text-lg font-semibold tracking-tight truncate`,children:[`Edit Dashboard: `,s.label||r]})]}),(0,q.jsx)(`div`,{className:`flex-1 overflow-auto p-4 sm:p-6`,children:(0,q.jsx)(Cn,{schema:l,onChange:p,onExport:m,onImport:h})})]}):(0,q.jsxs)(`div`,{className:`h-full flex items-center justify-center text-muted-foreground`,children:[`Dashboard "`,r,`" not found`]})}new Set(v),y(`metadataFieldsPageCarryOver`),p.register(`page-designer`,ht,{namespace:`plugin-designer`,label:`Page Designer`,category:`Designer`,inputs:[{name:`canvas`,type:`object`},{name:`components`,type:`array`},{name:`palette`,type:`array`},{name:`propertyEditor`,type:`boolean`},{name:`showComponentTree`,type:`boolean`},{name:`undoRedo`,type:`boolean`},{name:`readOnly`,type:`boolean`}]}),p.register(`data-model-designer`,Mt,{namespace:`plugin-designer`,label:`Data Model Designer`,category:`Designer`,inputs:[{name:`entities`,type:`array`},{name:`relationships`,type:`array`},{name:`canvas`,type:`object`},{name:`showRelationshipLabels`,type:`boolean`},{name:`readOnly`,type:`boolean`}]}),p.register(`process-designer`,Gt,{namespace:`plugin-designer`,label:`Process Designer (BPMN)`,category:`Designer`,inputs:[{name:`processName`,type:`string`},{name:`version`,type:`string`},{name:`nodes`,type:`array`},{name:`edges`,type:`array`},{name:`lanes`,type:`array`},{name:`canvas`,type:`object`},{name:`showMinimap`,type:`boolean`},{name:`showToolbar`,type:`boolean`},{name:`readOnly`,type:`boolean`}]}),p.register(`report-designer`,Xt,{namespace:`plugin-designer`,label:`Report Designer`,category:`Designer`,inputs:[{name:`reportName`,type:`string`},{name:`objectName`,type:`string`},{name:`pageSize`,type:`enum`,enum:[`A4`,`A3`,`Letter`,`Legal`,`Tabloid`]},{name:`orientation`,type:`enum`,enum:[`portrait`,`landscape`]},{name:`margins`,type:`object`},{name:`sections`,type:`array`},{name:`showToolbar`,type:`boolean`},{name:`showPropertyPanel`,type:`boolean`},{name:`readOnly`,type:`boolean`}]}),p.register(`object-manager`,Dn,{namespace:`plugin-designer`,label:`Object Manager`,category:`Designer`,inputs:[{name:`objects`,type:`array`},{name:`showSystemObjects`,type:`boolean`},{name:`readOnly`,type:`boolean`}]}),p.register(`field-designer`,Nn,{namespace:`plugin-designer`,label:`Field Designer`,category:`Designer`,inputs:[{name:`objectName`,type:`string`},{name:`fields`,type:`array`},{name:`readOnly`,type:`boolean`}]});export{Fn as CreateAppPage,Hn as DashboardDesignPage,Vn as EditAppPage};
@@ -1,2 +1,2 @@
1
- import{o as e}from"./rolldown-runtime-C0FnF6B9.js";import{h as t,t as n,v as r}from"./vendor-react-BggL7APJ.js";import{On as i}from"./ui-components-D6cEVg0T.js";import{Yi as a}from"./framework-DFR4HNtj.js";var o=e(r(),1),s=n(),c=o.lazy(()=>t(()=>import(`./MonacoImpl-5T7fR78Y.js`),[],import.meta.url)),l=({schema:e,value:t,onChange:n})=>(0,s.jsx)(o.Suspense,{fallback:(0,s.jsx)(i,{className:`w-full h-[400px]`}),children:(0,s.jsx)(c,{value:t??e.value,language:e.language,theme:e.theme,height:e.height,onChange:n??e.onChange,readOnly:e.readOnly,className:e.className})});a.register(`code-editor`,l,{namespace:`plugin-editor`,label:`Code Editor`,category:`plugin`,inputs:[{name:`value`,type:`string`},{name:`language`,type:`enum`,enum:[`javascript`,`typescript`,`python`,`json`,`html`,`css`]},{name:`theme`,type:`enum`,enum:[`vs-dark`,`light`]},{name:`height`,type:`string`},{name:`readOnly`,type:`boolean`}],defaultProps:{value:`// Write your code here
1
+ import{o as e}from"./rolldown-runtime-C0FnF6B9.js";import{h as t,t as n,v as r}from"./vendor-react-BggL7APJ.js";import{kn as i}from"./ui-components-D8wcRNrt.js";import{Qi as a}from"./framework-CAuH4h0L.js";var o=e(r(),1),s=n(),c=o.lazy(()=>t(()=>import(`./MonacoImpl-5T7fR78Y.js`),[],import.meta.url)),l=({schema:e,value:t,onChange:n})=>(0,s.jsx)(o.Suspense,{fallback:(0,s.jsx)(i,{className:`w-full h-[400px]`}),children:(0,s.jsx)(c,{value:t??e.value,language:e.language,theme:e.theme,height:e.height,onChange:n??e.onChange,readOnly:e.readOnly,className:e.className})});a.register(`code-editor`,l,{namespace:`plugin-editor`,label:`Code Editor`,category:`plugin`,inputs:[{name:`value`,type:`string`},{name:`language`,type:`enum`,enum:[`javascript`,`typescript`,`python`,`json`,`html`,`css`]},{name:`theme`,type:`enum`,enum:[`vs-dark`,`light`]},{name:`height`,type:`string`},{name:`readOnly`,type:`boolean`}],defaultProps:{value:`// Write your code here
2
2
  console.log("Hello, World!");`,language:`javascript`,theme:`vs-dark`,height:`400px`,readOnly:!1}});export{l as CodeEditorRenderer};