@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
@@ -0,0 +1,3 @@
1
+ import{Ba as e,Ca as t,Ia as n,Ma as r,Na as i,Oa as a,Ra as o,Sa as s,Ta as c,Va as l,_a as u,ga as d,ha as f,ja as p,ka as m,qa as ee,xa as h,za as g}from"./vendor-objectstack-C4eD5dbT.js";f();function _(e){return p({error:()=>e}).optional().describe(`[REMOVED] ${e}`)}function te(e,t){let n=Object.keys(t);if(n.length===0)throw Error("enumWithRetiredValues: no retired member declared — a retirement wrapper that can never fire is a declaration with no enforcement; call `z.enum()` directly instead.");let r=new Set(e),i=n.filter(e=>r.has(e));if(i.length>0)throw Error(`enumWithRetiredValues: ${i.map(e=>`'${e}'`).join(`, `)} declared retired but still listed in the enum \u2014 the enum accepts the value, so the prescription can never fire. Delete the member from \`values\`; the retirement is what removes it.`);let a=n.filter(e=>t[e]?.trim()===``||t[e]===void 0);if(a.length>0)throw Error(`enumWithRetiredValues: ${a.map(e=>`'${e}'`).join(`, `)} declared retired with an empty prescription \u2014 the prescription IS the migration doc for whoever hits it. State what replaced the member, the version that removed it, and the one-line fix.`);return u(e,{error:e=>typeof e.input==`string`&&Object.prototype.hasOwnProperty.call(t,e.input)?t[e.input]:void 0})}var ne=u([`none`,`no-overlay`,`no-delete`,`full`]),re=u([`artifact`,`package`,`env-forced`]),ie=u([`package`,`org`,`env-forced`]),ae={_lock:ne.optional().describe(`Item-level lock — controls overlay & delete (ADR-0010).`),_lockReason:o().max(500).optional().describe(`Human-readable reason shown when a write is refused by _lock.`),_lockSource:re.optional().describe(`Layer that set _lock (artifact | package | env-forced).`),_provenance:ie.optional().describe(`Origin of the item (package | org | env-forced).`),_packageId:o().optional().describe(`Owning package machine id.`),_packageVersion:o().optional().describe(`Owning package version.`),_lockDocsUrl:o().optional().describe(`Optional documentation link surfaced next to _lockReason.`)},oe=e=>e.toLowerCase().replace(/[_\-\s]/g,``),se=[[`start`,`end`],[`min`,`max`],[`input`,`output`],[`read`,`write`]];function v(e){return e.replace(/([a-z0-9])([A-Z])/g,`$1 $2`).replace(/([A-Z]+)([A-Z][a-z])/g,`$1 $2`).toLowerCase().split(/[^a-z0-9]+/).filter(Boolean)}function ce(e,t){if(e.length===0)return t.length;if(t.length===0)return e.length;let n=Array(t.length+1),r=Array(t.length+1);for(let e=0;e<=t.length;e++)n[e]=e;for(let i=1;i<=e.length;i++){r[0]=i;for(let a=1;a<=t.length;a++){let o=e[i-1]===t[a-1]?0:1;r[a]=Math.min(n[a]+1,r[a-1]+1,n[a-1]+o)}[n,r]=[r,n]}return n[t.length]}function le(e,t,n){let r=v(t);if(r.length<2)return;let i=new Set(v(e)),a=v(e).join(``);for(let e=0;e<r.length;e++){let o=se.find(t=>t[0]===r[e]||t[1]===r[e]);if(!o||i.has(o[0])||i.has(o[1]))continue;let s=r[e]===o[0]?o[1]:o[0],c=r.slice();c[e]=s;let l=c.join(``),u=n.find(e=>e!==t&&v(e).join(``)===l);if(u&&!(ce(a,r.filter((t,n)=>n!==e).join(``))>ce(a,r.join(``))))return{named:t,opposite:u,axis:o,poles:r[e]===o[0]?[t,u]:[u,t]}}}function ue(e,t){let[n,r]=t.poles;return`\`${e}\` does not say which end of the range it binds, and this surface declares both \`${n}\` and \`${r}\` \u2014 opposite ends of one axis. Write the one you mean: both parse, so guessing binds the wrong end silently.`}function de(e,t){let n=e.length,r=t.length;if(n===0)return r;if(r===0)return n;let i=Array(r+1),a=Array(r+1);for(let e=0;e<=r;e++)i[e]=e;for(let o=1;o<=n;o++){a[0]=o;for(let n=1;n<=r;n++){let r=e[o-1]===t[n-1]?0:1;a[n]=Math.min(i[n]+1,a[n-1]+1,i[n-1]+r)}[i,a]=[a,i]}return i[r]}var fe=e=>e.toLowerCase().replace(/[-\s]/g,`_`);function pe(e,t,n=3,r=3){let i=fe(e);return t.map(t=>({value:t,distance:de(i,fe(t)),cased:de(e,t)})).filter(t=>t.distance<=n&&t.value!==e).sort((e,t)=>e.distance-t.distance||e.cased-t.cased).slice(0,r).map(e=>e.value)}function me(e,t){return e.keys instanceof RegExp?t.search(e.keys)!==-1:e.keys.includes(t)}function he(e){let{surface:t,knownKeys:n,guidance:r={},guidanceSets:i=[],history:a}=e,o={};for(let[t,n]of Object.entries(e.aliases??{}))o[oe(t)]=n;return e=>{if(e.code!==`unrecognized_keys`)return;let s=e.keys??[],c=[],l=[],u=new Set;for(let e of s){let t=r[e];if(t){l.push(t);continue}let a=i.find(t=>me(t,e));if(a){u.has(a)||(u.add(a),l.push(a.prescription));continue}let s=Math.max(2,Math.floor(e.length/3)),d=o[oe(e)],f=d?void 0:pe(e,n,s,1)[0],p=f?le(e,f,n):void 0;if(p){l.push(ue(e,p));continue}let m=d??f;m&&m!==e&&c.push(`\`${e}\` \u2192 \`${m}\``)}let d=`Unrecognized key(s) on ${t}: ${s.map(e=>`\`${e}\``).join(`, `)}.`;return c.length&&(d+=` Did you mean ${c.join(`, `)}?`),l.length&&(d+=`
2
+ ${l.map(e=>` \u2022 ${e}`).join(`
3
+ `)}`),`${d} ${a}`}}function ge(e,t=0){if(t>6)return!1;let n=e._zod?.def;if(!n?.type)return!1;if(n.type===`never`)return!0;switch(n.type){case`optional`:case`nullable`:case`default`:case`prefault`:case`readonly`:case`nonoptional`:case`catch`:return ge(n.innerType,t+1);default:return!1}}function _e(){let e=_e;return e.list??=[]}function ve(e,t){let{surface:n,history:r,aliases:i,guidance:a,guidanceSets:o,extraKeys:s=[],retiredForms:c}=e,l,u=()=>l??=he({surface:n,knownKeys:[...Object.keys(t).filter(e=>!ge(t[e])),...s],history:r,aliases:i,guidance:a,guidanceSets:o}),d=e=>{if(c&&e.code===`invalid_type`){let t=typeof e.input==`string`?c[e.input]:void 0;if(t)return t}return u()(e)};return d.prime=()=>{u()},_e().push({options:e,shape:t}),d}function ye(e,t){let n=!1;for(let e of t.issues)e.code===`unrecognized_keys`&&(e.continue=!1,n=!0);if(n){let t=e._zod.def.error?.prime;typeof t==`function`&&t()}return t}function be(){let e=be;return e.ctor??=ee(`ZodClosedObject`,(e,t)=>{d.init(e,t);let n=e._zod.parse;e._zod.parse=(t,r)=>{let i=n(t,r);return i instanceof Promise?i.then(t=>ye(e,t)):ye(e,i)}})}function xe(e){return new(be())(e._zod.def)}function y(e,t){return xe(i(t,{error:ve(e,t)}).strict())}var b=y({surface:"the `protection` block of this metadata item",history:"This block has refused unknown keys since it was introduced, but through zod's own bare message: a one-keystroke `lockk` was echoed back and nothing else — no surface, no declared-key list, no rename — while every neighbouring block on the same item named all three. It is mounted on very nearly every authorable metadata type in the platform (objects, views, dashboards, datasets, reports, apps, flows, webhooks, permissions, positions, email templates, agents, tools, skills), so that bare message was what an author saw wherever a protection key was misspelled. The declared keys are `lock`, `reason` and `docsUrl`.",aliases:{description:`reason`,message:`reason`,explanation:`reason`,lockReason:`reason`,lockDocsUrl:`docsUrl`,docs:`docsUrl`,link:`docsUrl`,url:`docsUrl`,href:`docsUrl`,helpUrl:`docsUrl`,documentationUrl:`docsUrl`},guidance:{readonly:"`readonly` is a field/component-level boolean; this block expresses the same intent as a policy — write `lock: 'no-overlay'` (save blocked, delete still allowed) or `lock: 'full'` (both blocked).",readOnly:"`readOnly` is a field/component-level boolean; this block expresses the same intent as a policy — write `lock: 'no-overlay'` (save blocked, delete still allowed) or `lock: 'full'` (both blocked)."},guidanceSets:[{name:`PRIVATE_LOCK_ENVELOPE_KEYS`,keys:/^_lock/,examples:[`_lock`,`_lockReason`,`_lockDocsUrl`,`_lockSource`],prescription:"The `_lock*` keys are the runtime's PRIVATE envelope, stamped by the loader from this block — never authored. Write the public keys instead: `_lock` → `lock`, `_lockReason` → `reason`, `_lockDocsUrl` → `docsUrl`; `_lockSource` is derived and has no author-facing counterpart."}]},{lock:ne.describe(`Lock policy — none | no-overlay | no-delete | full.`),reason:o().min(1).max(500).describe(`User-visible reason shown when the lock blocks an action.`),docsUrl:o().url().optional().describe(`Optional URL the Studio banner links to for more context.`)});function x(e){if(typeof process<`u`&&{}.OS_EAGER_SCHEMAS===`1`)return e();let t,n=()=>(t===void 0&&(t=e()),t),r=function(){},i,a=e=>{let t=e._zod;if(!t||typeof t.processJSONSchema!=`function`)return t;let n=t.processJSONSchema;return Object.create(t,{processJSONSchema:{enumerable:!0,value:(t,r,i)=>{let a=t?.seen;if(a&&typeof a.get==`function`){let t=a.get(s);t!==void 0&&!a.has(e)&&a.set(e,t)}let c=n(t,r,i);return o(t?.metadataRegistry,e),c}}})},o=(e,t)=>{if(!e||typeof e.get!=`function`||typeof e.has!=`function`||typeof e.add!=`function`||e.has(s))return;let n=e.get(t);if(!n)return;let r={...n};delete r.id,Object.keys(r).length>0&&e.add(s,r)},s=new Proxy(r,{get(e,t){let r=n();if(t===`_zod`)return i??=a(r),i;let o=r[t];return typeof o==`function`?o.bind(r):o},set(e,t,r){let i=n();return i[t]=r,!0},has(e,t){return t in n()},ownKeys(){return Reflect.ownKeys(n())},getOwnPropertyDescriptor(e,t){return Reflect.getOwnPropertyDescriptor(n(),t)},getPrototypeOf(){return Reflect.getPrototypeOf(n())}});return s}var Se=[`properties`,`required`,`additionalProperties`,`patternProperties`,`propertyNames`,`minProperties`,`maxProperties`,`items`,`prefixItems`,`contains`,`minItems`,`maxItems`,`uniqueItems`,`minLength`,`maxLength`,`pattern`,`format`,`minimum`,`maximum`,`exclusiveMinimum`,`exclusiveMaximum`,`multipleOf`],Ce=[`properties`,`patternProperties`,`$defs`,`definitions`,`dependentSchemas`],we=[`items`,`additionalProperties`,`contains`,`propertyNames`,`not`,`if`,`then`,`else`,`unevaluatedProperties`,`unevaluatedItems`,`anyOf`,`oneOf`,`allOf`,`prefixItems`],Te={properties:`"object"`,required:`"object"`,additionalProperties:`"object"`,patternProperties:`"object"`,propertyNames:`"object"`,minProperties:`"object"`,maxProperties:`"object"`,items:`"array"`,prefixItems:`"array"`,contains:`"array"`,minItems:`"array"`,maxItems:`"array"`,uniqueItems:`"array"`,minLength:`"string"`,maxLength:`"string"`,pattern:`"string"`,format:`"string"`,minimum:`"number" or "integer"`,maximum:`"number" or "integer"`,exclusiveMinimum:`"number" or "integer"`,exclusiveMaximum:`"number" or "integer"`,multipleOf:`"number" or "integer"`};function Ee(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function De(e){let t=[],n=new Set,r=(e,i)=>{if(Ee(e)&&!n.has(e)){if(n.add(e),e.type===void 0){let n=Se.find(t=>t in e);n!==void 0&&t.push({path:i,keyword:n})}for(let t of Ce){let n=e[t];if(Ee(n))for(let[e,a]of Object.entries(n))r(a,[...i,t,e])}for(let t of we){let n=e[t];Array.isArray(n)?n.forEach((e,n)=>r(e,[...i,t,n])):r(n,[...i,t])}n.delete(e)}};return r(e,[]),t}function Oe(e,t){return t.reduce((e,t)=>typeof t==`number`?`${e}[${t}]`:`${e}.${t}`,e)}function ke(e,t){let{keyword:n}=t;return`${Oe(e,t.path)} uses "${n}" without a "type", which the AI runtime's schema reader does not check, so the runtime refuses this whole schema before it runs; declare its "type" \u2014 "${n}" applies to "type": ${Te[n]}`}function Ae(e){return n(o(),l()).superRefine((t,n)=>{for(let r of De(t))n.addIssue({code:`custom`,path:[...r.path],message:ke(e,r)})})}var S=`Until this shape was closed these were dropped silently — the agent still registered and still answered, minus whatever the key was meant to configure or constrain.`,je=x(()=>y({surface:`this model configuration`,history:S,aliases:{modelName:`model`,llm:`model`,deployment:`model`,engine:`model`,temp:`temperature`,maxOutputTokens:`maxTokens`,max_tokens:`maxTokens`,tokenLimit:`maxTokens`,top_p:`topP`,nucleus:`topP`}},{provider:u([`openai`,`azure_openai`,`anthropic`,`local`]).default(`openai`),model:o().describe(`Model name (e.g. gpt-4, claude-3-opus)`),temperature:r().min(0).max(2).default(.7),maxTokens:r().optional(),topP:r().optional()})),C="Structured output is JSON-only. At `agent.structuredOutput.format`, use `json_schema` with a JSON Schema in `schema`, or `json_object` — or delete the `structuredOutput` block if the agent needs no output contract; at `agent.structuredOutput.fallbackFormat`, name one of those two or delete the key. Run `os migrate meta --from 17` to list the mechanical edits for existing sources; apply them by hand.",Me={regex:"`regex` was removed from `StructuredOutputFormat` in @objectstack/spec 17.7.0 (ADR-0049 enforce-or-remove) — no key ever carried the pattern a `regex` answer would be checked against, and the cloud AI runtime refuses an agent that declares it before its first turn. "+C,grammar:"`grammar` was removed from `StructuredOutputFormat` in @objectstack/spec 17.7.0 (ADR-0049 enforce-or-remove) — no key ever carried the grammar a `grammar` answer would be checked against, and the cloud AI runtime refuses an agent that declares it before its first turn. "+C,xml:"`xml` was removed from `StructuredOutputFormat` in @objectstack/spec 17.7.0 (ADR-0049 enforce-or-remove) — the cloud AI runtime checks a final answer only as JSON, and refuses an agent that declares `xml` before its first turn. "+C},Ne="`coerce_types` was removed from `TransformPipelineStep` in @objectstack/spec 17.7.0 (ADR-0049 enforce-or-remove) — there is no coercion engine, and the cloud AI runtime refuses an agent whose `agent.structuredOutput.transformPipeline` lists it before its first turn. Delete the step and declare the exact types in `schema`, so the answer is validated as the model wrote it; `trim`, `parse_json` and `validate` are unchanged. Run `os migrate meta --from 17` to list the mechanical edits for existing sources; apply them by hand.",Pe=x(()=>te([`json_object`,`json_schema`],Me).describe(`Output format for structured agent responses (JSON only)`)),Fe=x(()=>te([`trim`,`parse_json`,`validate`],{coerce_types:Ne}).describe(`Post-processing step for structured output`)),Ie=x(()=>y({surface:`this structured-output configuration`,history:S,aliases:{type:`format`,outputFormat:`format`,jsonSchema:`schema`,responseSchema:`schema`,retries:`maxRetries`,maxAttempts:`maxRetries`,retryOnFailure:`retryOnValidationFailure`,retry:`retryOnValidationFailure`,fallback:`fallbackFormat`,pipeline:`transformPipeline`,transforms:`transformPipeline`,postProcess:`transformPipeline`}},{format:Pe.describe(`Expected output format`),schema:Ae(`structuredOutput.schema`).optional().describe(`JSON Schema definition for output. An untyped subschema that carries a type-scoped keyword (properties, items, pattern, minimum, …) is refused at its path, because the AI runtime's schema reader does not check it; declare its "type".`),strict:t().default(!1).describe(`Enforce exact schema compliance`),retryOnValidationFailure:t().default(!0).describe(`Retry generation when output fails validation`),maxRetries:r().int().min(0).default(3).describe(`Maximum retries on validation failure`),fallbackFormat:Pe.optional().describe(`Fallback format: once the primary format's retries are spent, the last answer is checked against this format instead`),transformPipeline:s(Fe).optional().describe(`Post-processing steps applied to output`)}).describe(`Structured output configuration for agent responses`)),Le="`agent.memory.longTerm.store` was removed in @objectstack/spec 17.7.0 (ADR-0049 enforce-or-remove) — the memory store is platform infrastructure, not agent metadata: the cloud AI runtime keeps long-term memory notes in its own database store, and refused the `vector` store (the old default) and `redis` before an agent's first turn. Delete the key; long-term memory is configured by `enabled`, `maxEntries` and `agent.memory.reflectionInterval`, and where the notes are kept is the platform's choice. Run `os migrate meta --from 17` to list the mechanical edits for existing sources; apply them by hand.",w="there is no storage-backend key on long-term memory — where the notes are kept is the platform's choice, not agent metadata (`agent.memory.longTerm.store` was removed in @objectstack/spec 17.7.0, ADR-0049 enforce-or-remove). Delete the key.",Re="`agent.memory.longTerm.maxEntries` is required when `agent.memory.longTerm.enabled` is true — it is how many distilled notes are kept for each user (the newest are recalled before the first round, and older ones are evicted), and the spec declares no default for it. Declare it as an integer of at least 1, or delete `longTerm` and `reflectionInterval` if the agent needs no long-term memory.",ze="`agent.memory.reflectionInterval` is required when `agent.memory.longTerm.enabled` is true — it is how many delivered interactions pass between reflections, and a reflection is what writes a note to long-term memory, so without it nothing is ever remembered; the spec declares no default for it. Declare it as an integer of at least 1, or delete `longTerm` if the agent needs no long-term memory.",Be="`agent.memory.reflectionInterval` requires `agent.memory.longTerm.enabled: true` — a reflection writes a note to long-term memory, and this agent has none enabled, so the interval would do nothing. Enable long-term memory (`longTerm: { enabled: true, maxEntries: N }`) or delete `reflectionInterval`.";function Ve(e,t){if(e.longTerm?.enabled===!0){e.longTerm?.maxEntries===void 0&&t.addIssue({code:`custom`,path:[`longTerm`,`maxEntries`],message:Re}),e.reflectionInterval===void 0&&t.addIssue({code:`custom`,path:[`reflectionInterval`],message:ze});return}e.reflectionInterval!==void 0&&t.addIssue({code:`custom`,path:[`reflectionInterval`],message:Be})}var He=x(()=>y({surface:`this agent`,history:S,aliases:{displayName:`label`,title:`label`,persona:`role`,systemRole:`role`,prompt:`instructions`,systemPrompt:`instructions`,primeDirectives:`instructions`,enabled:`active`,isActive:`active`,allowedUsers:`access`,users:`access`,audience:`access`,capabilities:`skills`,abilities:`skills`,icon:`avatar`,image:`avatar`,output:`structuredOutput`,responseFormat:`structuredOutput`,limits:`guardrails`,safety:`guardrails`},guidance:{visibility:"`visibility` was removed — it never hid anything. No runtime read it: the chat-access evaluator ignored it and the agent list route did not filter on it, so `private` listed the agent to everyone. Use `access` (who may chat) and/or `permissions` (required permission-set capabilities) — both ENFORCED at the chat route.",tenantId:"`tenantId` was removed — it never scoped anything. Tenancy comes from the request context (`resolveAuthzContext`), never from a field on the artifact, so this key did not restrict which tenant could reach the agent. Delete it; scope reachability with `access` / `permissions`.",temperature:"model settings live under `model` — write `model: { temperature: … }`",provider:"model settings live under `model` — write `model: { provider: … }`",maxTokens:"ambiguous at this level — per-request model output is `model.maxTokens`; a budget ceiling for the whole invocation is `guardrails.maxTokensPerInvocation`"}},{name:o().regex(/^[a-z_][a-z0-9_]*$/).describe(`Agent unique identifier`),label:o().describe(`Agent display name`),avatar:o().optional(),role:o().describe(`The persona/role (e.g. "Senior Support Engineer")`),instructions:o().describe(`System Prompt / Prime Directives`),model:je.optional(),lifecycle:_("`agent.lifecycle` was removed in @objectstack/spec 17.7.0 (ADR-0049 enforce-or-remove) — no runtime ever read it: no agent moved through a declared state and no transition was ever refused. Delete the key. A phase of a conversation is a skill with its own `instructions` and `tools`, selected by its `triggerConditions` (ADR-0064); multi-step process orchestration is a Flow (ADR-0019); a record's status transitions are a `state_machine` validation rule on the object (ADR-0020). Run `os migrate meta --from 17` to list the mechanical edits for existing sources; apply them by hand."),surface:u([`ask`,`build`]).default(`ask`).describe(`Product surface this agent binds ('ask' | 'build') — ADR-0063 §1`),skills:s(o().regex(/^[a-z_][a-z0-9_]*$/)).optional().describe(`Skill names to attach (Agent→Skill→Tool architecture)`),tools:_("`agent.tools` was removed in @objectstack/spec 17 — use `skills`. An agent reaches exactly the tools its surface-compatible skills declare (ADR-0064), so move each reference into a skill: a platform tool by its registered name, or `action_<name>` for one of your own AI-exposed Actions. This is NOT a rename — there is no key the value moves to: the migration DELETES the key and emits a notice naming each tool that was listed, and you re-declare each one in a skill by hand. ADR-0064 itself still reads `Proposed` and is cloud-owned — that scopes its RUNTIME half (tool resolution, which lives in cloud `service-ai`), not this rejection: the authoring invariant binds you here, and ADR-0109 (Accepted — implemented) is the in-repo record that carries it. Run `os migrate meta --from 16` to list the mechanical edits for existing sources; apply them by hand."),knowledge:_("`agent.knowledge` was removed in @objectstack/spec 17.0.0 (audit close-out) — declaring knowledge sources/indexes on an agent never scoped retrieval: the `search_knowledge` tool takes `sourceIds` from the LLM's tool-call arguments, not from the agent record. Delete the block. Restrict retrieval at the knowledge-service / source level (per-source permissions), and describe intended grounding in `instructions` so the model asks for the right sources. Run `os migrate meta --from 16` to list the mechanical edits for existing sources; apply them by hand."),active:t().default(!0),access:s(o()).optional().describe(`Who can chat with this agent`),permissions:s(o()).optional().describe(`Required permission-set capabilities`),planning:y({surface:`this planning configuration`,history:S,aliases:{maxSteps:`maxIterations`,maxLoops:`maxIterations`,iterations:`maxIterations`,maxTurns:`maxIterations`}},{maxIterations:r().int().min(1).max(100).default(10).describe(`Maximum planning loop iterations`)}).optional().describe(`Autonomous reasoning and planning configuration`),memory:y({surface:`this memory configuration`,history:S,aliases:{persistent:`longTerm`,persistence:`longTerm`,reflection:`reflectionInterval`,reflectEvery:`reflectionInterval`},guidance:{shortTerm:"`shortTerm` was removed (ADR-0013 D3) — it declared a working-memory window nothing in the runtime consumed. Cross-turn grounding comes from tools reading live state, and the context budget is governed by the per-request token guardrail, not by this block. Delete it."}},{longTerm:y({surface:`this long-term memory configuration`,history:S,aliases:{limit:`maxEntries`,maxItems:`maxEntries`,active:`enabled`},guidance:{backend:w,storage:w,provider:w}},{enabled:t().default(!1).describe(`Enable long-term memory. When true, maxEntries and memory.reflectionInterval are required`),store:_(Le),maxEntries:r().int().min(1).optional().describe(`How many distilled notes are kept per user: the newest N are recalled before the first round, and notes beyond N are evicted. Required when enabled is true`)}).optional().describe(`Long-term memory: distilled notes kept per user and agent and recalled before each conversation`),reflectionInterval:r().int().min(1).optional().describe(`Reflect every N delivered interactions: each reflection writes one distilled note to long-term memory. Required when longTerm.enabled is true, and refused without it`)}).superRefine(Ve).optional().describe(`Agent memory (long-term notes recalled before each conversation and written by periodic reflection), enforced by the cloud AI runtime; the open framework edition does not run agents.`),guardrails:y({surface:`these guardrails`,history:S,aliases:{maxTokens:`maxTokensPerInvocation`,tokenBudget:`maxTokensPerInvocation`,tokenLimit:`maxTokensPerInvocation`,timeout:`maxExecutionTimeSec`,maxExecutionTime:`maxExecutionTimeSec`,timeoutSec:`maxExecutionTimeSec`,blocked:`blockedTopics`,forbiddenTopics:`blockedTopics`,denyTopics:`blockedTopics`},guidance:{allowedTopics:"there is no allow-list — only `blockedTopics` (a deny-list). Steer permitted scope in `instructions`; restrict WHO can invoke the agent with `access` / `permissions`",maxCostUsd:"there is no cost ceiling here — budget by tokens with `maxTokensPerInvocation`",rateLimit:`per-caller rate limiting is not an agent field — it is enforced by the quota service`}},{maxTokensPerInvocation:r().int().min(1).optional().describe(`Token budget per single invocation`),maxExecutionTimeSec:r().int().min(1).optional().describe(`Max execution time in seconds`),blockedTopics:s(o()).optional().describe("Forbidden topics or action names: each entry is an exact, case-sensitive match on the tool name, on `action_` plus the action type, or on the tool category")}).optional().describe(`Safety guardrails for the agent (token budget, time limit, blocked topics), enforced per user turn by the cloud AI runtime; the open framework edition does not run agents.`),structuredOutput:Ie.optional().describe(`Structured output contract for the agent's final answer (JSON format, schema, retries, fallback format, transform steps), enforced on every final answer by the cloud AI runtime; the open framework edition does not run agents.`),protection:b.optional().describe(`Package author protection block — lock policy for this agent.`),...ae})),Ue=`[a-z][a-z0-9_]*`,We=RegExp(`^${Ue}(\\.${Ue})+$`),Ge=`^\\$`,Ke=new WeakMap;function T(e,t){return Ke.set(e,Object.freeze(t)),e}function qe(e){let t={pattern:`required-one-of`,keys:Object.freeze([...e])};return T(e=>t.keys.some(t=>e[t]!==void 0),t)}var E=T(e=>e.trim().length>0,{pattern:`non-blank-string`});function Je(e){let t={pattern:`banned-key-pattern`,keyPattern:e},n=new RegExp(t.keyPattern);return T(e=>!Object.keys(e).some(e=>n.test(e)),t)}var Ye=u([`cel`,`cron`,`template`]),Xe=i({rationale:o().optional(),generatedBy:o().optional()}),D=i({dialect:Ye,source:o().min(1).optional(),ast:l().optional(),meta:Xe.optional()}).refine(qe([`source`,`ast`]),{message:"Expression requires at least one of `source` or `ast`"}),O="An expression in an evaluated slot needs a non-blank `source`: the expression engine evaluates `source` (the canonical persisted form) and cannot evaluate `ast` alone, so an envelope carrying only `ast`, or a `source` that is blank after trimming, would validate and register and then fault at run time. Write `{ dialect: 'cel', source: '…' }`.",Ze=D.safeExtend({source:o({error:()=>O}).refine(E,{message:O})});e([o().min(1).transform(e=>({dialect:`cel`,source:e})),D]);function Qe(e){if(typeof e==`string`||e&&typeof e==`object`&&!Array.isArray(e)&&typeof e.source!=`string`)return O}e([o().refine(E,{message:O}).transform(e=>({dialect:`cel`,source:e})),Ze],{error:e=>Qe(e.input)});var $e={cron:"A cron-typed slot needs a non-blank cron expression: a bare string is shorthand for `{ dialect: 'cron', source }`, and a blank one would normalize to an envelope with nothing to schedule. Write `'0 9 * * 1-5'` or `{ dialect: 'cron', source: '0 9 * * 1-5' }`; no cron syntax is judged here — `croner` refuses an invalid pattern where a schedule is wired.",template:"A template-typed slot needs a non-blank template: a bare string is shorthand for `{ dialect: 'template', source }`, and a blank one would normalize to an envelope with nothing to interpolate. Write `'{{record.name}}'` or `{ dialect: 'template', source: '{{record.name}}' }`."},et={cron:"A cron-typed slot accepts a bare cron string or an envelope declaring `dialect: 'cron'` only: an envelope naming another dialect would validate and then have nothing to schedule. Write `'0 9 * * 1-5'` or `{ dialect: 'cron', source: '0 9 * * 1-5' }`.",template:"A template-typed slot accepts a bare template string or an envelope declaring `dialect: 'template'` only: an envelope naming another dialect would validate and then have nothing to interpolate. Write `'{{record.name}}'` or `{ dialect: 'template', source: '{{record.name}}' }`."};function tt(e){return o().refine(E,{message:$e[e]}).transform(t=>({dialect:e,source:t}))}function nt(e){return{error:t=>typeof t.input==`string`?$e[e]:et[e]}}e([tt(`cron`),D.safeExtend({dialect:m(`cron`)})],nt(`cron`)),e([tt(`template`),D.safeExtend({dialect:m(`template`)})],nt(`template`));var rt={surface:`this view/page schema`,history:`Before ADR-0089 D3a these were dropped silently, shipping inert metadata; a mis-layered or stale key is now a loud parse error.`,guidanceSets:[{name:`VISIBILITY_KEY_PATTERN`,keys:/vis|conceal|hidden|show.?when/i,examples:[`visibleWhenn`,`visibleIf`,`hiddenWhen`,`conceal`,`showWhen`],prescription:"If this is the conditional-visibility predicate, the canonical key is `visibleWhen` (ADR-0089) — `visibleOn` (view form) and `visibility` (page component) are still accepted as deprecated aliases."}]};({...rt}),[...rt.guidanceSets??[]];var it=/^[a-z_][a-z0-9_]*$/;[...Object.freeze([`created_at`,`created_by`,`updated_at`,`updated_by`])],o().regex(it,{message:`Field group key must be lowercase snake_case (e.g., "contact_info", "billing", "system")`});var k=100;``+k+k+k;var A=[`in`],j=[`nin`,`not_in`,`notin`],at=[`between`],ot={op:`$contains`,spellings:[`contains`]};function M(e){let t;try{t=JSON.stringify(e)??String(e)}catch{t=String(e)}return t.length>60?`${t.slice(0,59)}\u2026`:t}var st=`For "one of these values" use {"$in": [\u2026]} (authoring: ${A.join(`, `)}); for "the stored list holds a value" on a multi-value field, {"${ot.op}": "\u2026"} (authoring: ${ot.spellings.join(`, `)}), an $or of those for any-of. The filter was NOT applied, and an unapplied filter would have returned the UNFILTERED result set.`;function N(e,t){return I(t.op?F(t.op,t.field):`The implicit-equality comparand on field "${t.field}"`,e,t.path,st)}var ct=`For "none of these values" use {"$nin": [\u2026]} (authoring: ${j.join(`, `)}). The filter was NOT applied, and an unapplied filter would have returned the UNFILTERED result set.`;function P(e,t){return I(F(`$ne`,t.field),e,t.path,ct)}var lt=`Write ONE value. For "one of these values" use {"$in": [\u2026]} (authoring: ${A.join(`, `)}); for a range, {"$between": [min, max]} (authoring: ${at.join(`, `)}). The filter was NOT applied, and an unapplied filter would have returned the UNFILTERED result set.`;function ut(e,t,n){return I(F(e,n.field),t,n.path,lt)}function F(e,t){return`Operator "${e}"${t===void 0?``:` on field "${t}"`}`}function I(e,t,n,r){let i=n===void 0?``:` at ${n}`;return`${e} requires a single comparable value, but received an array (${M(t)})${i}. ${r}`}var L=new Set([`$eq`,`$ne`,`$gt`,`$gte`,`$lt`,`$lte`,`$contains`,`$notContains`,`$startsWith`,`$endsWith`,`$icontains`,`$like`,`$ilike`,`$null`,`$exists`,`$empty`]),dt=new Set([`$in`,`$nin`,`$between`]),R=new Map([[`$in`,A],[`$nin`,j],[`$between`,at]]),ft=new Map([[`$gt`,[`>`,`gt`,`greater_than`,`greaterthan`,`after`]],[`$gte`,[`>=`,`gte`,`greater_than_or_equal`,`greaterthanorequal`,`greaterorequal`]],[`$lt`,[`<`,`lt`,`less_than`,`lessthan`,`before`]],[`$lte`,[`<=`,`lte`,`less_than_or_equal`,`lessthanorequal`,`lessorequal`]]]),pt=new Map([[`$in`,`"=" ($eq)`],[`$nin`,`"!=" ($ne)`]]);function mt(e){return typeof e==`object`&&!!e&&!Array.isArray(e)&&!(e instanceof Date)}function ht(e){return!!e&&typeof e==`object`&&!Array.isArray(e)&&`$field`in e}function gt(e){return e===null?`null`:e===void 0?`undefined`:Array.isArray(e)?`array`:e instanceof Date?`Date`:typeof e}function z(e,t){let n=Error(`${t}`);return n.code=`INVALID_FILTER`,n.status=400,n}function _t(e,t,n,r,i){let a=R.get(t)??[],o=pt.get(t);return z(e,`Operator "${t}" on field "${n}" requires an ARRAY of values. Received ${gt(r)} (${M(r)}) at ${i}. "${t}" tests membership of a list \u2014 write ${M([r])} for a single value`+(o?`, or use ${o} to compare against it`:``)+`. Authoring spellings: ${a.join(`, `)}. The filter was NOT applied, and an unapplied filter would have returned the UNFILTERED result set.`)}function vt(e,t,n,r){return z(e,`Operator "$between" on field "${t}" requires a [min, max] value array. Received ${gt(n)} (${M(n)}) at ${r}. A range needs exactly two bounds, in order; the authoring spelling that lowers to "$between" is "between". The filter was NOT applied, and an unapplied filter would have returned the UNFILTERED result set.`)}function yt(e,t,n,r,i){return z(e,`Operator "${t}" on field "${n}" does not accept null as a list member (at ${i}[${r}]). No two backends agree on what it matches; state absence explicitly with the null predicate: {"$or": [{"${n}": {"$in": [\u2026]}}, {"${n}": {"$null": true}}]} is "one of [\u2026] OR has no value"; {"$null": false} is "has a value". Authoring spellings: ${(R.get(t)??[]).join(`, `)}. The filter was NOT applied, and an unapplied filter would have returned the UNFILTERED result set.`)}function bt(e,t,n,r,i){return z(e,`Operator "$between" on field "${t}" requires two non-null bounds. Received null at ${i}[${r}] of ${M(n)}. A half-open range is "$gte"/"$lte"; "in range OR has no value" is {"$or": [{"${t}": {"$between": [min, max]}}, {"${t}": {"$null": true}}]}. The authoring spelling that lowers to "$between" is "between". The filter was NOT applied, and an unapplied filter would have returned the UNFILTERED result set.`)}function xt(e,t,n,r,i){let a=R.get(`$between`)??[];return z(e,`Operator "$between" on field "${t}" requires two non-blank bounds. Received ${n===void 0?`undefined`:`an empty string`} at ${i}[${r}] (the ${r===0?`MIN`:`MAX`} bound). A blank endpoint is compared as a value, so the range stops bounding on that side. Write the bound you meant; for a genuinely one-sided range use {"$gte": min} / {"$lte": max}. Authoring spellings: ${a.join(`, `)}. The filter was NOT applied, and an unapplied filter would have returned the UNFILTERED result set.`)}function St(e,t,n,r){let i=R.get(`$between`)??[];return z(e,`Operator "$between" on field "${t}" does not accept a { "$field": \u2026 } reference as an endpoint (at ${r}[${n}], the ${n===0?`MIN`:`MAX`} bound). No evaluation path resolves one inside a list. Write a literal bound, or range column-to-column as two bounds: {"$gte": {"$field": "a"}, "$lte": {"$field": "b"}}. Authoring spellings: ${i.join(`, `)}. The filter was NOT applied, and an unapplied filter would have returned the UNFILTERED result set.`)}function Ct(e,t,n,r){return z(e,`Operator "${t}" on field "${n}" does not accept a null comparand (at ${r}). null is not ordered; the evaluation faces do not agree on what it matches. State absence with the null predicate: {"$eq": null} is "has no value", {"$ne": null} is "has a value". Authoring spellings: ${(ft.get(t)??[]).join(`, `)}. The filter was NOT applied, and an unapplied filter would have returned the UNFILTERED result set.`)}function wt(e,t,n,r,i){return z(e,N(n,i?{op:i,field:t,path:r}:{field:t,path:r}))}function Tt(e,t,n,r){return z(e,P(n,{field:t,path:r}))}function Et(e,t,n,r,i){return z(e,ut(t,r,{field:n,path:i}))}function B(e,t,n=`where`){if(mt(e))for(let[r,i]of Object.entries(e)){let e=`${n}.${r}`;if(r===`$and`||r===`$or`){Array.isArray(i)&&i.forEach((n,r)=>B(n,t,`${e}[${r}]`));continue}if(r===`$not`){B(i,t,e);continue}r.startsWith(`$`)||Dt(t,r,i,e)}}function Dt(e,t,n,r){if(Array.isArray(n))throw wt(e,t,n,r);if(!mt(n))return;let i=Object.keys(n);if(i.some(e=>e.startsWith(`$`)))for(let a of i){if(a===`$eq`){if(Array.isArray(n[a]))throw wt(e,t,n[a],`${r}.${a}`,`$eq`);continue}if(a===`$ne`){if(Array.isArray(n[a]))throw Tt(e,t,n[a],`${r}.${a}`);continue}if(L.has(a)&&Array.isArray(n[a]))throw Et(e,a,t,n[a],`${r}.${a}`);if(ft.has(a)){if(n[a]===null)throw Ct(e,a,t,`${r}.${a}`);continue}if(!R.has(a))continue;let i=n[a];if(a===`$between`){if(!Array.isArray(i)||i.length!==2)throw vt(e,t,i,`${r}.${a}`);let n=i.indexOf(null);if(n!==-1)throw bt(e,t,i,n,`${r}.${a}`);let o=i.findIndex(e=>e===``||e===void 0);if(o!==-1)throw xt(e,t,i[o],o,`${r}.${a}`);let s=i.findIndex(ht);if(s!==-1)throw St(e,t,s,`${r}.${a}`);continue}if(!Array.isArray(i))throw _t(e,a,t,i,`${r}.${a}`);let o=i.indexOf(null);if(o!==-1)throw yt(e,a,t,o,`${r}.${a}`)}}var V=`a string, number, bigint, boolean, null or Date`,Ot=2n**53n;function kt(e){if(e===null)return!0;switch(typeof e){case`string`:case`number`:case`bigint`:case`boolean`:return!0;default:return e instanceof Date}}function H(e){if(typeof e!=`object`||!e||Array.isArray(e))return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null}function At(e){return H(e)&&typeof e.$field==`string`}function jt(e){if(e===null)return`null`;if(e===void 0)return`undefined`;if(Array.isArray(e))return`an array`;let t=typeof e;if(t===`function`)return`a function`;if(t===`symbol`)return`a Symbol`;if(t!==`object`)return`a ${t}`;let n=e.constructor;return n?.name&&n.name!==`Object`?`a ${n.name} instance`:`a plain object`}function Mt(e){let t;try{t=typeof e==`bigint`?`${e}n`:typeof e==`symbol`||typeof e==`function`?String(e):JSON.stringify(e)??String(e)}catch{t=String(e)}return t.length>40?`${t.slice(0,39)}\u2026`:t}function U(e,t){let n=Error(`${t}`);return n.code=`INVALID_FILTER`,n.status=400,n}var W=`The filter was NOT applied, and an unapplied filter would have returned the UNFILTERED result set.`;function Nt(e,t){return U(e,`Filter comparand at ${t} is undefined. { key: undefined } cannot be told apart from an omitted key, yet the two mean OPPOSITE things (a predicate vs no constraint) \u2014 one backend even encoded it as MATCH EVERYTHING. Write the null predicate \u2014 {"$eq": null} / {"$ne": null} \u2014 or omit the key. A comparison value must be ${V}. ${W}`)}function Pt(e,t,n){return U(e,`Filter comparand at ${t} is ${jt(n)} (${Mt(n)}), which no driver can compare. A comparison value must be ${V}. Refusing rather than guessing: the backends disagreed on this input (crash / zero rows / silently edited query). ${W}`)}function Ft(e,t,n){return U(e,`Filter comparand at ${t} is the bigint ${Mt(n)}, whose magnitude exceeds 2^53 \u2014 it has no exact JS-number form, so a comparison built on it would silently answer the wrong rows on double-storing backends. Compare within \xB12^53, or store and compare the value as a string. A comparison value must be ${V}. ${W}`)}function G(e,t,n){return n===void 0?{kind:`refuse`,error:Nt(e,t)}:typeof n==`bigint`?n<=Ot&&n>=-Ot?{kind:`narrow`,value:Number(n)}:{kind:`refuse`,error:Ft(e,t,n)}:kt(n)||Array.isArray(n)||At(n)?{kind:`keep`}:{kind:`refuse`,error:Pt(e,t,n)}}function K(e,t,n=`where`){if(!H(e))return e;let r;for(let[i,a]of Object.entries(e)){let o=`${n}.${i}`,s=a;if(i===`$and`||i===`$or`){if(Array.isArray(a)){let e;a.forEach((n,r)=>{let i=K(n,t,`${o}[${r}]`);i!==n&&(e??=[...a],e[r]=i)}),e&&(s=e)}}else i===`$not`?s=K(a,t,o):i.startsWith(`$`)||(s=It(t,o,a));s!==a&&(r??={...e},r[i]=s)}return r??e}function It(e,t,n){if(H(n)){if(At(n)||!Object.keys(n).some(e=>e.startsWith(`$`)))return n;let r;for(let[i,a]of Object.entries(n)){let o=a;if(L.has(i))o=Lt(G(e,`${t}.${i}`,a),a);else if(dt.has(i)&&Array.isArray(a)){let n;a.forEach((r,o)=>{let s=G(e,`${t}.${i}[${o}]`,r);if(s.kind===`refuse`)throw s.error;s.kind===`narrow`&&(n??=[...a],n[o]=s.value)}),n&&(o=n)}o!==a&&(r??={...n},r[i]=o)}return r??n}return Lt(G(e,t,n),n)}function Lt(e,t){if(e.kind===`refuse`)throw e.error;return e.kind===`narrow`?e.value:t}function Rt(e){try{B(e)}catch(e){if(e.code===`INVALID_FILTER`)return e;throw e}}function zt(e){return!!e&&typeof e==`object`&&!Array.isArray(e)&&`$field`in e}function Bt(e){return e===null?`null`:e===void 0?`undefined`:Array.isArray(e)?`array`:e instanceof Date?`Date`:typeof e}function Vt(e,t,n){let r=e===`$in`?A:j,i=e===`$in`?`"=" ($eq)`:`"!=" ($ne)`;return`Operator "${e}" on field "${t}" requires an ARRAY of values. Received ${Bt(n)} (${M(n)}). "${e}" tests membership of a list \u2014 write ${M([n])} for a single value, or use ${i} to compare against it. Authoring spellings: ${r.join(`, `)}. The filter was NOT applied, and an unapplied filter would have returned the UNFILTERED result set.`}function Ht(e,t){return`Operator "$between" on field "${e}" requires a [min, max] value array. Received ${Bt(t)} (${M(t)}). A range needs exactly two bounds, in order; the authoring spelling that lowers to "$between" is "between". The filter was NOT applied, and an unapplied filter would have returned the UNFILTERED result set.`}var Ut=new Set([`$gt`,`$gte`,`$lt`,`$lte`]);function Wt(e,t,n,r){let i=e.shape[t]?.safeParse(n),a=r.join(`.`);return i?.error?.issues.find(e=>e.path.join(`.`)===a)?.message}function Gt(e,t,n,r,i){let a=t=>{let i=n===void 0?void 0:Wt(e,n,r,t);return i===void 0?void 0:{at:t,message:i}},o;if(n===void 0)o={at:[],message:N(r,{field:t})};else if(n===`$eq`)o={at:[],message:N(r,{op:n,field:t})};else if(n===`$ne`)o={at:[],message:P(r,{field:t})};else if(Array.isArray(r)&&L.has(n))o={at:[],message:ut(n,r,{field:t})};else if(r===null&&Ut.has(n))o=a([]);else if(n===`$in`||n===`$nin`)o=Array.isArray(r)?a([r.indexOf(null)]):{at:[],message:Vt(n,t,r)};else if(n===`$between`){if(!Array.isArray(r)||r.length!==2)o={at:[],message:Ht(t,r)};else{let e=r.indexOf(null),t=r.findIndex(e=>e===``||e===void 0),n=r.findIndex(zt),i=e===-1?t===-1?n:t:e;i!==-1&&(o=a([i]))}}return o??{at:[],message:i.message}}var Kt=new Set([`$null`,`$exists`,`$empty`]);function qt(e){return e===null?`null`:e===void 0?`undefined`:typeof e==`bigint`?`a bigint (${e}n)`:Array.isArray(e)?`an array (${M(e)})`:e instanceof Date?`a Date (${M(e)})`:zt(e)?`a field reference (${M(e)})`:`a ${typeof e} (${M(e)})`}function Jt(e,t,n){if(e===`$empty`)return`Operator "${e}" on field "${t}" requires a boolean comparand (true or false). Received ${qt(n)}. @objectstack/spec FieldOperatorsSchema declares ${e} as a boolean, and a non-boolean is refused rather than coerced, the rule $null and $exists follow on every query face. Write the boolean itself: "${e}": true matches rows whose "${t}" is empty, "${e}": false rows whose "${t}" is not empty. The filter was NOT applied.`;let[r,i]=e===`$null`?[`has no value`,`has a value`]:[`has a value`,`has no value`];return`Operator "${e}" on field "${t}" requires a boolean comparand (true or false). Received ${qt(n)}. @objectstack/spec FieldOperatorsSchema declares ${e} as a boolean, and a non-boolean is refused rather than coerced because the backends read one in OPPOSITE directions \u2014 one as IS NULL, another as IS NOT NULL. Write the boolean itself: "${e}": true matches rows whose "${t}" ${r}, "${e}": false rows whose "${t}" ${i}. The filter was NOT applied.`}function q(e){try{K(e)}catch(e){if(e.code===`INVALID_FILTER`)return e;throw e}}function Yt(e,t,n,r){if(q({[e]:r})===void 0)return;let i=n=>t===void 0?{[e]:n}:{[e]:{[t]:n}},a=q(i(n));if(a===void 0)return;let o=[],s=t===void 0?`where.${e}`:`where.${e}.${t}`;if(t!==void 0&&Array.isArray(n)){let e=n.findIndex(e=>q(i([e]))!==void 0);e!==-1&&(o=[e],s=`${s}[${e}]`)}let c=` at ${s} `,l=a.message.includes(c)?a.message.replace(c,` `):a.message;return{at:o,message:l}}function Xt(e,t,n,r,i,a,o=r===void 0?i:{[r]:i}){let s,c=Rt(r===void 0?{[n]:i}:{[n]:{[r]:i}});return c&&(s=Gt(a,n,r,i,c)),s??=Yt(n,r,i,o),s===void 0&&r!==void 0&&Kt.has(r)&&typeof i!=`boolean`&&(s={at:[],message:Jt(r,n,i)}),s!==void 0&&(e.addIssue({code:`custom`,path:[...t,...s.at],message:s.message}),!0)}var Zt=[`today`,`yesterday`,`this_week`,`last_week`,`this_month`,`last_month`,`this_quarter`,`last_quarter`,`this_year`,`last_year`,`last_7_days`,`last_30_days`,`last_90_days`];function Qt(e){return typeof e==`string`&&Zt.includes(e)}var $t={today:[`{today}`,`{today}`],yesterday:[`{yesterday}`,`{yesterday}`],this_week:[`{week_start}`,`{week_end}`],last_week:[`{last_week_start}`,`{last_week_end}`],this_month:[`{month_start}`,`{month_end}`],last_month:[`{last_month_start}`,`{last_month_end}`],this_quarter:[`{quarter_start}`,`{quarter_end}`],last_quarter:[`{last_quarter_start}`,`{last_quarter_end}`],this_year:[`{year_start}`,`{year_end}`],last_year:[`{last_year_start}`,`{last_year_end}`],last_7_days:[`{7_days_ago}`,null],last_30_days:[`{30_days_ago}`,null],last_90_days:[`{90_days_ago}`,null]};function en(e,t){let[n,r]=$t[e];return`"${e}" is a dashboard date-range PRESET name, not a filter value. It is only understood by the dashboard date-filter positions (dateRange.defaultRange, a date global filter's defaultValue), where the console lowers it to {date-macro} bounds before querying. As a bare "${t}" comparand nothing resolves it: a declared datetime/date field refuses the query at the engine (INVALID_FILTER / 400), and any other column compares the literal string. Write the date-macro window instead \u2014 e.g. ${r===null?`{ $gte: '${n}' }`:`{ $between: ['${n}', '${r}'] }`} \u2014 or an ISO date such as "2026-01-15". Refused at authoring time so the error surfaces where the filter is written.`}function tn(e){try{return JSON.stringify(e)??String(e)}catch{return String(e)}}function nn(e){return typeof e!=`string`||e===``}function rn(e,t,n){let r=`@objectstack/spec's FILTER_TEXT_CASES declares this shape refused (INVALID_FILTER); the declared comparand for '${t}' is a NON-EMPTY STRING`;return n===``?`filter comparand for field '${e}' on operator '${t}' is the EMPTY STRING. Every value contains the empty substring, so evaluating it is a predicate that constrains nothing. ${r}. Drop the condition instead of sending an empty comparand`:`filter comparand for field '${e}' on operator '${t}' is ${n===null?`null`:typeof n} (${tn(n)}), not a string. Coercing it would answer a query nobody wrote. ${r}. Write the comparand as a string`}function an(e){let t=`addDays is an integer literal of any sign (a negative value subtracts; whole days only, no other unit) or a nested { "$field": "numeric_column" } reference. A NULL offset column contributes zero days; a NULL referenced column makes the comparison false.`;if(typeof e==`number`)return`addDays must be a whole number of days, and ${String(e)} is not an integer. ${t}`;if(typeof e==`string`)return`addDays must be an integer or a { "$field" } reference, not the string ${JSON.stringify(e)}. ${t}`;if(typeof e==`object`&&e&&!Array.isArray(e)){let n=e.$field;return`addDays as an object must be a { "$field": "numeric_column" } reference, and ${n===void 0?`this object has no $field`:`its $field is ${typeof n==`string`?`a string`:`not a string (${JSON.stringify(n)})`}`}. ${t}`}return`addDays must be an integer or a { "$field" } reference. ${t}`}var on=i({$field:o().describe(`Numeric column whose value is the number of days to add`)}).describe(`A { $field } reference to the numeric column holding the day offset`),sn=x(()=>i({$field:o().describe(`Field Reference/Column Name`),addDays:e([r().int(),on],{error:e=>an(e.input)}).optional().describe(`Whole-day offset added to the referenced column before comparing: an integer literal of any sign (negative subtracts; whole days only), or a { $field } reference to a numeric column. A NULL offset column contributes zero days; a NULL referenced column makes the comparison false rather than NULL, so it stays false under $not. Compiles on SQL push-down between two temporal columns of the same class (date/date, datetime/datetime) and evaluates identically in memory.`)}));function cn(e){if(!e||typeof e!=`object`||Array.isArray(e)||typeof e.$field!=`string`)return;let t=sn.safeParse(e);return t.success?void 0:t.error.issues[0]?.message}var ln='Equal to — the DEFAULT operator: a bare value written against a field key is the same condition as this one. Lowered to `=` on the SQL family and to `$eq` on MongoDB. The comparand is a literal, or a { $field } reference to another column of the same table ($eq is one of the six scalar comparisons a reference may be the whole comparand of). `{ "$eq": null }` is the has-NO-value predicate — the same question `{ "$null": true }` asks, and it is about the VALUE, never about whether a key is present.',un='Not equal to. Lowered to `<>` / `!=` on the SQL family and to `$ne` on MongoDB. The comparand is a literal, or a { $field } reference to another column of the same table ($ne is one of the six scalar comparisons a reference may be the whole comparand of). `{ "$ne": null }` is the HAS-A-VALUE predicate — the same question `{ "$exists": true }` asks: it matches rows whose field holds a value, never rows that merely carry the key.',dn=()=>h().superRefine((e,t)=>{Array.isArray(e)&&t.addIssue({code:`custom`,message:N(e,{op:`$eq`})})}).optional().describe(ln),fn=()=>h().superRefine((e,t)=>{Array.isArray(e)&&t.addIssue({code:`custom`,message:P(e,{})})}).optional().describe(un),pn=`Comparand is a number, a Date, a string, or a { $field } reference (optionally carrying a whole-day addDays offset). STRING is the form the platform itself produces: the date-macro resolver returns only strings ("{current_year_start}" -> "2026-01-01"), and the guaranteed spellings are an ISO calendar day (YYYY-MM-DD), a UTC ISO-8601 instant, or a wall-clock time of day (HH:MM[:SS[.fff]]) for a Field.time column. Those are ASCII and fixed-width, so lexicographic order IS chronological order and every backend agrees; the driver reconciles the comparand with the column (a bare calendar day used as an upper bound becomes the half-open next-day boundary). Ordering NON-temporal text is permitted but NOT promised: the order is the backend collation's (byte-wise on SQLite, the database locale on Postgres, UTF-16 code units in the JS matchers), and those coincide only for ASCII. null is NOT a comparand: null is not ordered — state absence with the null predicate instead ($eq: null is "has no value", $ne: null is "has a value").`;function mn(e){return`null is not a valid ${e} comparand. null is not ordered, and the evaluation faces do not agree on what an ordering against it matches (driver-memory's query path reads a stored null as equal to it, so {"$gte": null} admits that row; driver-sql compares against SQL NULL and admits no row). State absence with the null predicate instead: {"$eq": null} is "has no value", {"$ne": null} is "has a value". Ruled 2026-09-01: a null ordering comparand is refused at the validation entrance.`}var J=(t,n)=>e([r(),c(),o(),sn],{error:e=>e.input===null?mn(t):cn(e.input)}).optional().describe(`${n}. ${pn}`);function hn(e){return!!e&&typeof e==`object`&&!Array.isArray(e)&&`$field`in e}function gn(e){return`A { "$field": \u2026 } reference is not a valid ${e}. No evaluation path resolves a field reference inside a list: the in-memory evaluator (matchesFilter) leaves the list unresolved and compares the raw reference OBJECT, so it silently matches nothing, and both SQL drivers refuse the position with INVALID_FILTER / 400. Write a literal value here, or move the reference to a scalar comparison operator ($eq/$ne/$gt/$gte/$lt/$lte), whose WHOLE comparand a { $field } reference may be. Ruled 2026-08-11: declared = enforced (ADR-0049).`}function _n(e){return`null is not a valid ${e}. No two backends agree on what a null in a list-comparand position matches (the SQL family answers a NULL under NOT IN unconditionally; the JS matchers split over the two readings of "no value"). State absence explicitly with the null predicate instead: {"$or": [{"$in": [\u2026]}, {"$null": true}]} is "one of [\u2026] OR has no value", and {"$null": false} is the has-a-value half. Ruled 2026-08-31: a null list member is refused at the validation entrance.`}var vn=e=>s(h()).superRefine((t,n)=>{t.forEach((t,r)=>{if(t===null){n.addIssue({code:`custom`,path:[r],message:_n(`${e} member at index ${r}`)});return}hn(t)&&n.addIssue({code:`custom`,path:[r],message:gn(`${e} member at index ${r}`)})})}),yn=`Membership list. Members are literal values of any type the column stores. A { $field } reference is NOT a member shape: no backend resolves one inside a list — put it in a scalar comparison ($eq/$ne/$gt/$gte/$lt/$lte) instead. null is NOT a member shape either: state absence explicitly with the null predicate — "one of […] OR has no value" is { "$or": [{ "$in": […] }, { "$null": true }] }.`,bn=`Closed interval [min, max]. Each endpoint is a number, a Date, or a string, and BOTH are required NON-BLANK: an empty string, null and undefined are refused, and the refusal names the blank side. A range bounded on ONE side only is not a $between at all — write the side you have as a scalar comparison ($gte for a lower bound, $lte for an upper one). A { $field } reference is NOT an endpoint shape: no backend resolves one inside a list — put it in a scalar comparison ($gt/$gte/$lt/$lte), which does compile to a column-to-column bound. STRING is the form the platform itself produces: the date-macro resolver walks INTO arrays, so { $between: ["{current_year_start}", "{current_year_end}"] } resolves to two strings. The guaranteed spellings are an ISO calendar day (YYYY-MM-DD), a UTC ISO-8601 instant, or a wall-clock time of day (HH:MM[:SS[.fff]]) for a Field.time column; those are ASCII and fixed-width, so lexicographic order IS chronological order and every backend agrees. The driver reconciles each endpoint with the column independently (a bare calendar day used as the MAX becomes the half-open next-day boundary). Ranging over NON-temporal text is permitted but NOT promised: the order is the backend collation's, and those coincide only for ASCII.`;function xn(e){return`A blank value is not a valid $between endpoint at index ${e} (the ${e===0?`MIN`:`MAX`} bound). A closed interval [min, max] requires BOTH endpoints present and non-empty: an empty string is not an interval endpoint at any backend \u2014 it is compared as a value, so the range stops bounding on that side while still reading as a complete range. Write the bound you meant; and if only ONE side is genuinely bounded, that is not a range at all \u2014 drop $between and write the side you have as a scalar comparison ({"$gte": min} for a lower bound, {"$lte": max} for an upper one). Ruled 2026-09-17: a blank $between bound is refused at the validation entrance.`}var Sn=t=>e([r(),c(),o()],{error:e=>e.input===null?_n(`$between endpoint at index ${t}`):e.input===void 0?xn(t):hn(e.input)?gn(`$between endpoint at index ${t}`):void 0}).superRefine((e,n)=>{e===``&&n.addIssue({code:`custom`,message:xn(t)})}),Cn=`Between (inclusive). ${bn}`,Y=`The comparand is matched LITERALLY: "%", "_" and regex metacharacters are ordinary characters, because this family escapes and anchors the comparand on the caller's behalf. To bind the wildcards yourself, write $like (case-exact) or $ilike (ASCII-folded).`,wn=`Contains substring, CASE-SENSITIVELY \u2014 "acme" does NOT match "ACME". Lowered to \`LIKE '%?%'\` (case-exact) on the SQL family, and answered case-exactly on every JS evaluation face the platform ships. ${Y} Case-INSENSITIVE containment is $icontains, which folds ASCII case only.`,Tn=`Does not contain substring, CASE-SENSITIVELY \u2014 the negation of $contains, on the same comparand contract. Lowered to \`NOT LIKE '%?%'\` (case-exact) on the SQL family. ${Y}`,En=`Starts with prefix, CASE-SENSITIVELY. Lowered to \`LIKE '?%'\` (case-exact) on the SQL family. ${Y}`,Dn=`Ends with suffix, CASE-SENSITIVELY. Lowered to \`LIKE '%?'\` (case-exact) on the SQL family. ${Y}`,On=`Contains substring, ignoring case — but ONLY ASCII case (A-Z against a-z). Every other character compares literally, so "café" does NOT match "CAFÉ" and "москва" does not match "МОСКВА". The domain is ASCII because that is the one fold all five backends can deliver: SQLite (and therefore turso and sqlite-wasm) folds ASCII only, so a Unicode promise here would be a guarantee three of the five could not keep. The comparand is matched LITERALLY — "%", "_" and regex metacharacters are ordinary characters, not wildcards. Case-SENSITIVE containment is $contains. Lowered on the SQL family (driver-sql, driver-sqlite-wasm, driver-turso on both transports) and on every JS evaluation face, so it is portable across every backend the platform ships.`,kn='Whole-string pattern match with CALLER-bound wildcards: "%" matches any sequence (including empty), "_" matches exactly one character, and a character is one Unicode code point — an emoji or any other character outside the Basic Multilingual Plane is ONE "_", never two, as SQL LIKE counts it. A backslash escapes the character after it ("\\%", "\\_", "\\\\") so it matches literally. The pattern must cover the WHOLE value — a pattern with no wildcards is an exact comparison, NOT a substring search; write $contains for containment. A pattern ending in a lone unpaired backslash, or holding the NUL character U+0000, is refused (INVALID_FILTER). Comparison is case-SENSITIVE, same contract as $contains (Q2 = A); $ilike is the case-insensitive twin. Answered by the SQL family (driver-sql, driver-sqlite-wasm, driver-turso on both transports), by driver-memory and by @objectstack/formula. driver-mongodb, objectql `having` and service-analytics REFUSE it in the INVALID_FILTER envelope rather than approximating it — see FILTER_OPERATORS for why it is staged out of that allowlist.',An=`Whole-string pattern match like $like — "%" / "_" wildcards bound by the caller, backslash escapes — but ignoring ASCII case (A-Z against a-z) and ONLY ASCII case: "café" does NOT match "CAFÉ", the same Q1 = A boundary $icontains declares, because SQLite's fold is ASCII-only and three of the five backends are SQLite underneath. Staged with $like — see FILTER_OPERATORS.`,jn="Is-null check. `true` matches rows where the field is null, `false` matches rows where it is not null. Lowered to `IS NULL` (true) / `IS NOT NULL` (false) on the SQL family and to `{ field: null }` (true) / `{ $ne: null }` (false) on MongoDB.",Mn="Has-a-value check — the exact inverse of `$null`. `true` matches rows where the field holds a value (`!= null`), `false` matches rows where it holds none. Portable across every backend the platform ships: lowered to `IS NOT NULL` (true) / `IS NULL` (false) on the SQL family and to `{ $ne: null }` (true) / `{ $eq: null }` (false) on MongoDB.",Nn="Is-empty check by the field's DECLARED type. `true` matches rows whose field is empty, `false` is its exact complement. What counts as empty: text-like types (text, textarea, email, url, phone, password, secret, markdown, html, richtext, code, color, signature, qrcode) = null or '' (the empty string); multi-value types (multiselect, checkboxes, tags, and select, radio, lookup, user, file or image with multiple: true) = null or [] (the empty list); every other type = null only. A face that holds no field declaration judges by the value: null, '' and [] are empty. A face that answers by the declared type refuses the operator on a column whose declaration it does not hold (the built-in id, for one) rather than guess a row; use $null there for \"has no value\". The view operators is_empty / is_not_empty lower to this operator.",X=x(()=>i({$eq:dn(),$ne:fn(),$gt:J(`$gt`,`Greater than`),$gte:J(`$gte`,`Greater than or equal to`),$lt:J(`$lt`,`Less than`),$lte:J(`$lte`,`Less than or equal to`),$in:vn(`$in`).optional().describe(yn),$nin:vn(`$nin`).optional().describe(yn),$between:g([Sn(0),Sn(1)]).optional().describe(Cn),$contains:o().optional().describe(wn),$notContains:o().optional().describe(Tn),$startsWith:o().optional().describe(En),$endsWith:o().optional().describe(Dn),$icontains:o().optional().describe(On),$like:o().optional().describe(kn),$ilike:o().optional().describe(An),$null:t().optional().describe(jn),$exists:t().optional().describe(Mn),$empty:t().optional().describe(Nn)})),Pn=new Set([`$gt`,`$gte`,`$lt`,`$lte`]),Fn=32,In=`$icontains`;function Ln(e){return typeof e==`object`&&!!e&&!Array.isArray(e)&&!(e instanceof Date)}function Rn(e){let t=Object.getPrototypeOf(e);return t!==Object.prototype&&t!==null}function zn(e,t,n=[],r=0){if(!(r>Fn)&&Ln(e)){for(let[i,a]of Object.entries(e))if(!i.startsWith(`$`)){if(!Ln(a)||Rn(a)){r===0&&Xt(t,[...n,i],i,void 0,a,X);continue}if(!Object.keys(a).some(e=>e.startsWith(`$`))){zn(a,t,[...n,i],r+1);continue}for(let[e,o]of Object.entries(a))if(!(r===0&&Xt(t,[...n,i,e],i,e,o,X,a))){if(e===In&&nn(o)){t.addIssue({code:`custom`,path:[...n,i,e],message:`The ${rn(i,e,o)}.`});continue}if(Pn.has(e)&&Qt(o)){t.addIssue({code:`custom`,path:[...n,i,e],message:en(o,e)});continue}e===`$between`&&Array.isArray(o)&&o.forEach((r,a)=>{Qt(r)&&t.addIssue({code:`custom`,path:[...n,i,e,a],message:en(r,`$between`)})})}}}}var Z=a(()=>n(o(),l()).and(i({$and:s(Z).optional(),$or:s(Z).optional(),$not:Z.optional()})).superRefine((e,t)=>zn(e,t))),Bn=[`$and`,`$or`,`$not`];function Vn(e,t){return`Not a valid ${e} \u2014 ${!t||typeof t!=`object`||Array.isArray(t)?`got ${Array.isArray(t)?`an array`:t===null?`null`:typeof t}`:`got an object with key(s) ${Object.keys(t).map(e=>JSON.stringify(e)).join(`, `)}`}. A ${e} is either a FIELD CONDITION ({ "field": { "$op": value } }, whose keys are field names and whose operator map must satisfy FieldOperatorsSchema \u2014 comparand shapes included), or a nested LOGICAL GROUP carrying only ${Bn.join(` / `)} and nothing else. Declared = enforced (ADR-0049).`}var Hn=()=>n(o(),X).refine(Je(Ge),{message:`A field condition's keys are field names, never $-prefixed operators.`,abort:!0}),Un=t=>e([Hn(),Wn],{error:e=>Vn(t,e.input)}),Wn=a(()=>xe(i({$and:s(Un(`$and member`)).optional(),$or:s(Un(`$or member`)).optional(),$not:Un(`$not operand`).optional()}).strict())),Gn=new Set(Object.keys({"=":`$eq`,"==":`$eq`,equals:`$eq`,eq:`$eq`,"!=":`$ne`,"<>":`$ne`,ne:`$ne`,neq:`$ne`,not_equals:`$ne`,notequals:`$ne`,">":`$gt`,gt:`$gt`,greater_than:`$gt`,greaterthan:`$gt`,">=":`$gte`,gte:`$gte`,greater_than_or_equal:`$gte`,greaterthanorequal:`$gte`,greaterorequal:`$gte`,"<":`$lt`,lt:`$lt`,less_than:`$lt`,lessthan:`$lt`,"<=":`$lte`,lte:`$lte`,less_than_or_equal:`$lte`,lessthanorequal:`$lte`,lessorequal:`$lte`,before:`$lt`,after:`$gt`,in:`$in`,nin:`$nin`,not_in:`$nin`,notin:`$nin`,contains:`$contains`,notcontains:`$notContains`,not_contains:`$notContains`,like:`$like`,ilike:`$ilike`,icontains:`$icontains`,startswith:`$startsWith`,starts_with:`$startsWith`,endswith:`$endsWith`,ends_with:`$endsWith`,between:`$between`,is_null:`$null`,is_not_null:`$null`,isnull:`$null`,isnotnull:`$null`,is_empty:`$empty`,is_not_empty:`$empty`,isempty:`$empty`,isnotempty:`$empty`})),Kn=[`and`,`or`],qn=o().min(1).refine(e=>!Kn.includes(e.toLowerCase()),{message:`'and' / 'or' in the first position open a logical group, so they cannot name a field. Write the comparison inside the group: ["and", ["field", "=", value]].`}),Jn=o().refine(e=>Gn.has(e.toLowerCase()),{error:e=>`Unknown filter operator '${String(e.input)}'. Recognised operators: ${[...Gn].sort().join(`, `)}.`}),Yn=o().refine(e=>Kn.includes(e.toLowerCase()),{message:`A logical group opens with 'and' or 'or'.`}),Xn=a(()=>e([g([qn,Jn,l()]),g([qn,Jn]),g([Yn,Xn],Xn),s(Xn).min(1)]).describe(`Input-only authoring sugar for a filter: [field, operator, value], ["and"|"or", ...conditions], or a bare list of those. Lowered to a FilterCondition at the single sink parseFilterAST (@objectstack/spec/data) the moment it arrives; it is never stored and never travels the wire as an array. A query "where" is a FilterCondition and does not accept this shape.`)),Zn=u(`text.textarea.email.url.phone.password.secret.markdown.html.richtext.number.currency.percent.date.datetime.time.boolean.toggle.select.multiselect.radio.checkboxes.lookup.master_detail.tree.user.image.file.avatar.video.audio.formula.summary.autonumber.composite.repeater.record.location.address.code.json.color.rating.slider.signature.qrcode.progress.tags.vector`.split(`.`));u([`GET`,`POST`,`PUT`,`DELETE`,`PATCH`,`HEAD`,`OPTIONS`]).describe("HTTP method — the full routing vocabulary (`api/*` endpoints, router and REST-server routes). The narrower `HttpMethodSubset` is what view data sources may request."),o().regex(We,`View item name must be a dotted snake_case qualified name, e.g. "crm_lead.pipeline".`).describe("Globally-unique view id, `<object>.<viewKey>`."),u([`package`,`shared`,`personal`]).describe(`View identity layer: package | shared | personal.`),u([`list`,`form`]).describe("Whether `config` is a ListView (list family) or a FormView."),i({order:s(o()).optional().describe(`Column order as field names, leftmost first (runtime-only state — written by the console grid, never authored).`),widths:n(o(),r()).optional().describe(`Column widths in pixels, keyed by field name (runtime-only state — written by the console grid, never authored).`)}).describe("Runtime-only personalization overlay key: the column layout (order/widths) the console grid persists through the `view` metadata API. NOT authorable — authoring doors reject it by name; do not write it in metadata source.");var Qn={permissions:'`tool.permissions` was removed in @objectstack/spec 17.0.0 (audit close-out) — it promised a capability gate on tool invocation that nothing ever enforced: the key is not part of AIToolDefinition and no execution path read it, so a tool "requiring" capabilities ran for everyone. Delete the key. To gate what a tool can DO, gate the underlying action (`action.requiredPermissions`, ADR-0066) or the object it touches (permission sets) — those are the checks the middleware actually runs.',active:'`tool.active` was removed in @objectstack/spec 17.0.0 (audit close-out) — `active: false` read as "withdrawn" but withdrew nothing: AIToolDefinition has no such field, ToolRegistry.getAll() returns everything, and the tool kept reaching the LLM tool set and `POST /ai/tools/:name/execute` kept running it (unlike agent.active / skill.active, which ARE enforced). Delete the key. To withdraw a tool, remove it from the skills/agents that reference it.',category:"`tool.category` was removed in @objectstack/spec 17.0.0 (audit close-out) — nothing groups, filters or routes tools by it; the only reader was a serializer pass-through. Delete the key. Organizational grouping belongs in the skill that carries the tool.",builtIn:"`tool.builtIn` was removed in @objectstack/spec 17.0.0 (audit close-out) — no runtime branches on it; it never affected registration, selection or execution. Delete the key.",requiresConfirmation:"`tool.requiresConfirmation` was removed from @objectstack/spec in the 16.x line (ADR-0033 §2) — it never had a consumer, and a SAFETY flag that is merely accepted is false compliance: authors set it on destructive tools believing the call would pause, and nothing ever did. No execution path read it — not the LLM tool set (a tool reaches the model as name/description/parameters only), not `ToolRegistry.execute`, not `POST /ai/tools/:name/execute`, and not the MCP bridge (which derives `destructiveHint` from a hardcoded name list). Delete the key. For a REAL gate on a destructive operation, put it behind an action and set `action.ai.requiresConfirmation: true` — the flag the platform's confirmation CONTRACT is written against (`AIActionConfirmation`, `@objectstack/spec/contracts`), and that contract is ENFORCED. An AI-facing call on an action declaring the flag must carry the confirmation member `confirm: true` on the request; without it the call is REFUSED with `ACTION_CONFIRMATION_REQUIRED` (428), the refusal naming the action and the exact member to set so the caller confirms and retries. A GATE, not a queue: nothing is parked, nothing is held for an operator to find later, and a refused call did not run — no record was read and none was written. Two BOUNDS to read before you rely on it. (1) The enforced set is the doors that enforce the author's `ai.exposed` opt-in — today the action door reached from the MCP `run_action` tool. REST `/actions` is NOT `ai.exposed`-gated and sits OUTSIDE this gate, so a human in front of that route is still yours to arrange. (2) Only the author's declared `ai.requiresConfirmation: true` refuses, and only the boolean `true` confirms: the wider listing heuristic that reports `requiresConfirmation` for a destructive-looking action ADVISES a client to ask and never refuses, and an explicit `false` never refuses. `confirm: true` is an unverifiable caller claim — the gate makes FORGETTING loud, it does not prove a human. For AI metadata mutations the ADR-0033 draft/publish workspace is the gate: nothing is live until a human publishes."},$n=`Until this shape was closed an undeclared key was dropped without a word — the tool still registered and still reached the LLM tool set, minus whatever the key was meant to do (the silent-strip class).`,er=x(()=>y({surface:`the tool definition`,history:$n,guidance:Qn},{name:o().regex(/^[a-z_][a-z0-9_]*$/).describe(`Tool unique identifier (snake_case)`),label:o().describe(`Tool display name`),description:o().describe(`Tool description for LLM function calling`),parameters:n(o(),l()).describe(`JSON Schema for tool parameters`),outputSchema:n(o(),l()).optional().describe("[EXPERIMENTAL — not enforced] JSON Schema for tool output; nothing reads it on a tool record — declare it as `ai.outputSchema` on the action, where the cloud AI runtime validates the action result against it."),objectName:o().regex(/^[a-z_][a-z0-9_]*$/).optional().describe(`Target object name (snake_case)`),protection:b.optional().describe(`Package author protection block — lock policy for this tool.`),...ae}).describe("AI tool definition. [READ-ONLY PROJECTION — not an execution entry point] Authoring a tool as metadata does NOT make it runnable: this schema has no `implementation`/`handler` field and no framework executor loads a metadata-authored tool. The runtime executes a separately-registered `AIToolDefinition` (cloud `@objectstack/service-ai`); tool metadata is a one-way projection for Studio/discovery. Do not expect a hand-authored tool to run in the open edition.")),tr=[`in`,`not_in`],nr=[`eq`,`neq`];function rr(e){return e===null?`null`:e===void 0?`no value`:Array.isArray(e)?`an array of ${e.length}`:`a ${typeof e}`}function ir(e){if(e===void 0)return`(omitted)`;let t;try{t=JSON.stringify(e)??String(e)}catch{t=String(e)}return t.length>40?`${t.slice(0,39)}\u2026`:t}function ar(e,t){let n=e.operator,r=e.value,i=typeof e.field==`string`?e.field:`<field>`,a=tr.includes(n),o=nr.includes(n);if(a){if(Array.isArray(r))return;t.addIssue({code:`custom`,path:[`value`],message:`Operator "${n}" on field "${i}" requires an ARRAY of values. Received ${rr(r)} (${ir(r)}). "${n}" tests membership of a list \u2014 write ${r===void 0?`["…"]`:ir([r])} for a single value, or use "${n===`in`?`eq`:`neq`}" to compare against it. An empty list [] is allowed and is a real predicate. The cloud agent runtime coerces the scalar today; the contract never declared that spelling.`});return}o&&Array.isArray(r)&&t.addIssue({code:`custom`,path:[`value`],message:`Operator "${n}" on field "${i}" requires a single STRING value. Received ${rr(r)} (${ir(r)}). "${n}" is an identity comparison, so an array can never match a context field and the condition would ${n===`eq`?`never`:`always`} fire \u2014 use "${n===`eq`?`in`:`not_in`}" to test membership of that list.`})}var or=x(()=>i({field:o().describe(`Context field to evaluate`).meta({title:`Context Field`}),operator:u([`eq`,`neq`,`in`,`not_in`,`contains`]).describe(`Comparison operator`).meta({title:`Operator`}),value:e([o(),s(o())]).describe(`Expected value or values`).meta({title:`Value`})}).superRefine(ar)),sr=x(()=>y({surface:`this skill`,history:`Until this shape was closed these were dropped silently — the item still registered, minus whatever the key was meant to configure.`,aliases:{prompt:`instructions`,content:`instructions`,body:`instructions`,tool:`tools`},guidance:{trigger:"`trigger` is not a skill key, and skills have never been activated by a phrase. Activation is `triggerConditions` (an AND of context field/operator/value) intersected with the agent's `skills[]` allowlist, plus explicit /skill-name pinning. If you meant a programmatic condition, write `triggerConditions: [{ field: …, operator: …, value: … }]`; if you meant natural-language intent for the LLM to route on, that belongs in `description` / `instructions`, which are the strings actually put in front of the model.",permissions:"`permissions` is not a skill key — skill invocation was never permission-gated, so this was stripped in silence and the author believed they had a gate. Gate at the AGENT instead, or on the underlying tools' actions."}},{name:o().regex(/^[a-z_][a-z0-9_]*$/).describe(`Skill unique identifier (snake_case)`),label:o().describe(`Skill display name`),description:o().optional().describe(`Skill description`),surface:u([`ask`,`build`,`both`]).default(`ask`).describe(`Agent surface this skill binds to ('ask' | 'build' | 'both') — ADR-0063 §3; read by the cloud agent runtime only`),instructions:o().optional().describe(`LLM instructions when skill is active — also served as an MCP prompt`),tools:s(o().regex(/^[a-z_][a-z0-9_]*\*?$/)).describe("Tool names belonging to this skill (supports trailing wildcard, e.g. `action_*`) — bound by the cloud agent runtime only"),triggerPhrases:_("`skill.triggerPhrases` was removed in @objectstack/spec 17.0.0 (audit close-out) — phrases were never matched against the user's message; skill activation is `triggerConditions` (AND of context field/operator/value) intersected with the agent's `skills[]`, plus explicit /skill-name pinning. Delete the key. Put routing intent in `triggerConditions`; describe intent in `description`/`instructions` for the LLM. Run `os migrate meta --from 16` to list the mechanical edits for existing sources; apply them by hand."),triggerConditions:s(or).optional().describe(`Programmatic activation conditions — evaluated by the cloud agent runtime only`),active:t().default(!0).describe(`Whether the skill is enabled`),protection:b.optional().describe(`Package author protection block — lock policy for this skill.`),...ae})),cr=/^[a-z_][a-z0-9_]*$/,Q=e=>o().regex(cr).describe(e),$=e=>o().regex(cr).nullable().describe(e),lr=i({object:Q(`The CHILD object whose records are aggregated (snake_case). It MUST have a lookup/master_detail field pointing back at this parent.`),function:u([`count`,`sum`,`avg`,`min`,`max`]).describe(`Aggregation: "数量/个数/计数" → count; "合计/总额/累计" → sum; "平均" → avg`),field:$(`Numeric field on the CHILD to aggregate; null (or "id") for count`),relationshipField:$(`Child FK field back to this parent, or null to auto-detect`),conditions:s(i({field:Q(`Field on the CHILD object`),op:u([`lt`,`lte`,`gt`,`gte`,`eq`,`ne`]).describe(`Comparison operator`),value:e([r(),o(),t()]).describe(`Comparison value — a select field's option VALUE, never its label`)})).nullable().describe(`CONDITIONAL roll-up: aggregate only child rows matching these (ANDed), or null to aggregate every child. REQUIRED whenever the field name carries a qualifier ("已完成任务数 / 已收货金额 / 待处理工单数", any 已X / 未X / <某状态>的 count-or-sum) — e.g. [{field:"status",op:"eq",value:"completed"}]. Without it the roll-up counts EVERYTHING and reports a plausible WRONG number.`)}),ur=i({name:Q(`Field machine name (snake_case)`),label:o().nullable().describe(`Human-readable field label, or null`),type:Zn.describe(`Field data type`),required:t().nullable().describe(`Whether the field is required, or null`),reference:$(`Target object for lookup/master_detail, or null`),options:s(i({label:o().describe(`What the user reads on the dropdown — free text in the user's own language (「1-49人」, 「已完成」).`),value:Q(`The STORED machine value: snake_case, and it may NEVER start with a digit — give it a word prefix instead (「1-49人」 → "size_1_49", 「2024年」 → "year_2024"). The label carries the human wording; this key only has to be a legal identifier.`)})).nullable().describe(`Choices for select-family fields, or null`),summaryOperations:lr.nullable().describe(`REQUIRED when type is "summary" (a roll-up of child records onto this parent: 任务总数 / 报名人数 / 合计金额 / 已完成任务数); null for every other field type. A "summary" field without it is runtime-dead — it reads 0/empty everywhere.`),expression:o().nullable().describe(`REQUIRED when type is "formula" — the CEL body the field computes, e.g. "record.quantity * record.unit_price", or "record.order_no + ' · ' + record.customer" for a composed record title; null for every other field type. A "formula" field without it is runtime-dead — it reads null everywhere, forever. This is the formula analogue of summaryOperations: name the type and you must supply the body.`)}),dr=i({name:Q(`Object machine name (snake_case)`),label:o().nullable().describe(`Human-readable singular label, or null`),description:o().nullable().describe(`What this object represents, or null`),fields:s(ur).describe(`Fields to create on the object`),sharingModel:u([`private`,`public_read`,`public_read_write`,`controlled_by_parent`]).nullable().describe(`Org-Wide Default record visibility (OWD) for INTERNAL users (ADR-0090), or null to accept the platform default (business object → public_read_write; master-detail child → controlled_by_parent). SET it when the user's description implies a visibility intent: personal/private data (HR, 绩效, salary, 个人隐私) → "private" (owner-only); "public_read" = everyone reads, owner writes; "public_read_write" = everyone reads+writes; "controlled_by_parent" ONLY for an object with a master_detail reference field. Null on privacy-sensitive data silently over-shares it.`),nameField:$(`The record title field — which field holds the human-readable name shown on cards, lookup chips, breadcrumbs and search (ADR-0079), or null to let the platform auto-pick a text field. Set it to the object's text label field (e.g. "product_name") — snake_case. For a numbered entity (invoice/ticket), set it to a formula field that composes number + name (e.g. "{order_no} · {customer}"). Declaring it is strongly preferred over null.`)}),fr=i({object:Q(`Object this view displays (snake_case)`),name:Q(`View machine name (snake_case)`),label:o().nullable().describe(`Human-readable view label, or null`),type:u([`list`,`form`,`kanban`,`calendar`,`gallery`,`gantt`]).nullable().describe(`View kind, or null for list. "gallery" = visual card/cover browse (画廊/相册/卡片墙/封面/海报, or an object with an image/avatar/file field); "gantt" = timeline/schedule (甘特图/时间线/排期, object with BOTH a start and an end date field); "kanban" = board grouped by a status/select field; "calendar" = single-date schedule; "form" = record editor.`),columns:s(o().regex(cr)).nullable().describe(`Field names shown as columns, or null. For a gallery, INCLUDE the image/avatar/file field (becomes the card cover); for a gantt, INCLUDE the start date column before the end date column.`),groupBy:$(`REQUIRED for kanban: the select/status field whose options become the board columns (e.g. "stage"). Optional for gantt (groups leaf tasks). Null for list/form/calendar/gallery.`)}),pr=i({name:Q(`Dashboard machine name (snake_case)`),label:o().nullable().describe(`Human-readable dashboard label, or null`),widgets:s(i({id:Q(`Widget id (snake_case)`),title:o().nullable().describe(`Widget title, or null`),object:$(`Source object, or null`),chart:u([`metric`,`bar`,`line`,`pie`,`table`]).nullable().describe(`Visualization, or null`),measure:$(`The field this widget aggregates (e.g. "amount", "probability"), or "count" to count records, or null to infer from the title. The aggregation (sum vs average) is chosen automatically from the field type — name the FIELD, not "total_amount". "total revenue" → "amount"; "average win rate" → "win_rate"; "number of deals" → "count".`),groupBy:$(`The field to break the widget down by — the category or time axis (e.g. "stage", "created_at"), or null for a single-number metric. A "by status" chart MUST set this to the status field; the title and this field MUST name the SAME field.`),condition:i({field:Q(`Field on the widget object to filter by (e.g. "stock_quantity", "status")`),op:u([`lt`,`lte`,`gt`,`gte`,`eq`,`ne`]).describe(`Comparison operator`),value:e([r(),o(),t()]).describe(`Comparison value (e.g. 10, "open")`)}).nullable().describe(`Restrict WHICH records the widget counts/aggregates when its title implies a threshold or status (e.g. "stock below 10" → {field:"stock_quantity",op:"lt",value:10}; "open tickets" → {field:"status",op:"eq",value:"open"}), or null when the widget covers every record. Without it a "低于10的预警" / "overdue" card wrongly counts ALL rows.`)})).nullable().describe(`Widgets to place on the dashboard, or null`)}),mr=i({type:u([`object`,`dashboard`]).describe(`What this nav entry opens`),target:Q(`Object or dashboard machine name to surface (snake_case)`),label:o().nullable().describe(`Nav entry label, or null. null ⇒ the entry inherits the CURRENT label of what it opens at render time (a renamed target shows its new name); a string ⇒ rendered verbatim, so never copy the target's label in as a default. Write a label ONLY when the entry must read differently from what it opens; otherwise null.`),icon:o().nullable().describe(`Lucide icon name, or null`),viewName:o().nullable().describe('For type:"object" only — the `views[].name` this entry opens (e.g. "ticket_status_board"), or null for the object\'s default list. SET it whenever this blueprint authors a kanban/calendar/gallery/gantt view the menu should reach: give the object ONE entry per view (a 「工单列表」 entry with viewName null plus a 「工单看板」 entry with viewName "ticket_status_board"). Null on every entry means they all open the SAME default list, and a label/icon saying otherwise is decoration.')}),hr=i({name:Q(`App machine name (snake_case)`),label:o().nullable().describe(`App display label, or null`),icon:o().nullable().describe(`Lucide icon for the App Launcher, or null`),nav:s(mr).nullable().describe(`Navigation entries; null to auto-surface every created object and dashboard`)});i({summary:o().describe(`One-line description of the proposed solution`),assumptions:s(o()).describe(`Design assumptions made from the underspecified goal`),questions:s(o()).nullable().describe(`At most 1-2 structure-deciding questions to confirm before building, or null`),objects:s(dr).describe(`Objects (tables) to create`),views:s(fr).nullable().describe(`Views to create, or null`),dashboards:s(pr).nullable().describe(`Dashboards to create, or null`),app:hr.nullable().describe(`The navigation shell (app) that surfaces the created objects/dashboards, or null`)});export{He as AgentSchema,sr as SkillSchema,er as ToolSchema};
@@ -0,0 +1 @@
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{f as a,v as o}from"./infrastructure-CSnL6ntj.js";import{Gr as s,Hr as c,Si as l,Vr as u,Wr as ee,bi as d,ii as f,kn as te}from"./ui-components-D8wcRNrt.js";import{Qi as p,hi as m}from"./framework-CAuH4h0L.js";import{t as h,w as g}from"./i18n-runtime-CdWyaiOD.js";import{r as _}from"./vendor-ui-utils-DIUdEYii.js";import{t as ne}from"./vendor-icon-circle-alert-D1XTr_X9.js";import{t as re}from"./vendor-icon-external-link-SBKz5x6R.js";import{t as v}from"./vendor-icon-lock-B_psRnly.js";import{t as y}from"./vendor-icon-refresh-ccw-QRCaXN-I.js";import{t as b}from"./vendor-icon-shield-question-mark-CmNmL1kO.js";import{t as ie}from"./vendor-icon-trash-BLsWkwB9.js";var x=e(i(),1),S=r();function C(e){if(typeof e!=`object`||!e)return null;let t=e.telemetry;if(typeof t!=`object`||!t)return null;let n=t.errorReporting;if(typeof n!=`object`||!n)return null;let r=n;if(typeof r.dsn!=`string`)return null;let i=r.dsn.trim();return i===``||w(i)?null:{dsn:i,sendDefaultPii:r.sendDefaultPii===!0,...typeof r.environment==`string`&&r.environment.trim()?{environment:r.environment.trim()}:{},tracesSampleRate:T(r.tracesSampleRate,E),replaysOnErrorSampleRate:T(r.replaysOnErrorSampleRate,D)}}function w(e){try{return new URL(e).password!==``}catch{return!1}}function T(e,t){return typeof e==`number`&&Number.isFinite(e)&&e>=0&&e<=1?e:t}var E=.1,D=0,O={cloudUrl:``,singleEnvironment:!1,defaultOrgId:null,defaultEnvironmentId:null,features:{installLocal:!1,marketplace:!0,aiStudio:!0,autoPublishAiBuilds:!0,customDomain:!1,sso:!1,scim:!1,storageUsage:!1},branding:{productName:`ObjectOS`,productShortName:`ObjectOS`,stage:`preview`,brandColor:`#4F46E5`,pwaThemeColor:`#4f46e5`},telemetry:{}},k=[`preview`,`beta`,`ga`];function A(e){return typeof e==`string`&&k.includes(e)}var j={...O};function ae(e){j={...j,...e,features:{...j.features,...e.features??{}},branding:{...j.branding,...e.branding??{}},telemetry:e.telemetry?{...e.telemetry}:j.telemetry}}async function M(e=``){let t=(e||``).replace(/\/+$/,``);try{let e=await m(`${t}/api/v1/runtime/config`,{credentials:`include`,headers:{Accept:`application/json`}});if(!e||typeof e!=`object`)return;ae({cloudUrl:typeof e.cloudUrl==`string`?e.cloudUrl.replace(/\/+$/,``):j.cloudUrl,singleEnvironment:!!e.singleEnvironment,defaultOrgId:e.defaultOrgId??j.defaultOrgId??null,defaultEnvironmentId:e.defaultEnvironmentId??j.defaultEnvironmentId??null,features:e.features?{installLocal:!!e.features.installLocal,marketplace:e.features.marketplace!==!1,aiStudio:e.features.aiStudio!==!1,autoPublishAiBuilds:e.features.autoPublishAiBuilds!==!1,customDomain:e.features.customDomain===!0,sso:e.features.sso===!0,scim:e.features.scim===!0,storageUsage:e.features.storageUsage===!0}:j.features,telemetry:(()=>{let t=C(e);return t?{errorReporting:t}:{}})(),branding:e.branding?{productName:typeof e.branding.productName==`string`&&e.branding.productName.trim()?e.branding.productName.trim():j.branding.productName,productShortName:typeof e.branding.productShortName==`string`&&e.branding.productShortName.trim()?e.branding.productShortName.trim():j.branding.productShortName,stage:A(e.branding.stage)?e.branding.stage:j.branding.stage,logoUrl:typeof e.branding.logoUrl==`string`&&e.branding.logoUrl.trim()?e.branding.logoUrl.trim():j.branding.logoUrl,faviconUrl:typeof e.branding.faviconUrl==`string`&&e.branding.faviconUrl.trim()?e.branding.faviconUrl.trim():j.branding.faviconUrl,brandColor:typeof e.branding.brandColor==`string`&&e.branding.brandColor.trim()?e.branding.brandColor.trim():j.branding.brandColor,pwaDescription:typeof e.branding.pwaDescription==`string`&&e.branding.pwaDescription.trim()?e.branding.pwaDescription.trim():j.branding.pwaDescription,pwaThemeColor:typeof e.branding.pwaThemeColor==`string`&&e.branding.pwaThemeColor.trim()?e.branding.pwaThemeColor.trim():j.branding.pwaThemeColor}:j.branding})}catch{}}function oe(){return j}function N(){return j.branding?.productName||`ObjectOS`}function se(){return j.branding?.productShortName||N()}function ce(){return j.branding?.stage??`preview`}function le(){return j.branding?.brandColor||`#4F46E5`}function ue(){return j.branding?.logoUrl}function de(){return j.branding?.faviconUrl}function fe(){return j.branding?.pwaDescription||`${N()} — runtime console`}function P(){return j.branding?.pwaThemeColor||le()}function F(){return j.cloudUrl??``}function I(){return j.features?.marketplace!==!1}function L(){return j.features?.aiStudio!==!1}function R(){return j.features?.storageUsage===!0}function z(){return j.telemetry?.errorReporting??null}var B=``.replace(/\/$/,``),V=`${B}/api/v1/marketplace`;function H(e){let t=o.get();return t?{...e,Authorization:`Bearer ${t}`}:e}function U(e,t){let n=e?.error?.code??e?.code??`HTTP_${t.status}`,r=e?.error?.message??e?.error??e?.message??t.statusText;return{code:String(n),message:typeof r==`string`?r:String(n)}}async function W(e,t){let n=await fetch(`${V}${e}`,{credentials:`omit`,headers:{Accept:`application/json`,...t?.headers||{}},...t}),r=null;try{r=await n.json()}catch{}if(!n.ok){let{code:e,message:t}=U(r,n),i=Error(typeof t==`string`?t:`${e}`);throw i.code=e,i.status=n.status,i}return r?.data??r}async function pe(e={}){let t=new URLSearchParams;e.q&&t.set(`q`,e.q),e.category&&t.set(`category`,e.category),e.limit!=null&&t.set(`limit`,String(e.limit)),e.offset!=null&&t.set(`offset`,String(e.offset));let n=t.toString();return W(`/packages${n?`?${n}`:``}`)}async function me(e){return W(`/packages/${encodeURIComponent(e)}`)}async function he(e){if(F()){let t=await fetch(`/api/v1/cloud-connection/install`,{method:`POST`,credentials:`include`,headers:H({Accept:`application/json`,"Content-Type":`application/json`}),body:JSON.stringify({package_id:e.packageId,seed_sample_data:!!e.seedSampleData})}),n=null;try{n=await t.json()}catch{}if(!t.ok||n?.success===!1){let{code:e,message:r}=U(n,t),i=Error(typeof r==`string`?r:`${e}`);throw i.code=e,i.status=t.status,i}return n?.data??n}let t=await fetch(`${B}/api/v1/actions/sys_package/install_package`,{method:`POST`,credentials:`include`,headers:{Accept:`application/json`,"Content-Type":`application/json`},body:JSON.stringify({recordId:e.packageId,params:{environment_id:e.environmentId,seed_sample_data:!!e.seedSampleData}})}),n=null;try{n=await t.json()}catch{}let r=n?.data,i=!!r&&typeof r==`object`&&r.success===!1;if(!t.ok||i){let e=U(n,t),a=n?.code??e.code,o=i?r.error??t.statusText:e.message,s=Error(typeof o==`string`?o:`${a}`);throw s.code=a,s.status=t.status,s}return n?.data??n}async function ge(){let e=F()||B,t=await fetch(`${e}/api/v1/data/sys_environment?limit=200`,{credentials:`include`,headers:{Accept:`application/json`}});if(!t.ok){let e=Error(`HTTP_${t.status}`);throw e.status=t.status,e}let n=await t.json().catch(()=>({})),r=n?.records??n?.data??n?.items??n??[];return Array.isArray(r)?r:[]}async function _e(){let e=F()||B,t=null;try{let n=await fetch(`${e}/api/v1/auth/get-session`,{credentials:`include`,headers:{Accept:`application/json`}});n.ok&&(t=(await n.json().catch(()=>({})))?.user?.id??null)}catch{}if(!t)return new Set;let n=`${e}/api/v1/data/sys_member?limit=200`,r;try{let e=await fetch(n,{credentials:`include`,headers:{Accept:`application/json`}});if(!e.ok)return new Set;r=await e.json().catch(()=>({}))}catch{return new Set}let i=r?.records??r?.data??r?.items??r??[];if(!Array.isArray(i))return new Set;let a=new Set;for(let e of i){if(String(e?.user_id??e?.userId??``)!==t)continue;let n=String(e?.role??``).toLowerCase(),r=e?.organization_id??e?.organizationId;r&&(n===`owner`||n===`admin`)&&a.add(String(r))}return a}function ve(){return F()}async function ye(e,t){if(!e)return null;if(F())try{let t=await fetch(`/api/v1/cloud-connection/installation?package_id=${encodeURIComponent(e)}`,{credentials:`include`,headers:H({Accept:`application/json`})});if(!t.ok)return null;let n=await t.json().catch(()=>({})),r=n?.data??n??{};return r.installed?{installationId:String(r.installationId??``),version:String(r.version??`installed`),withSampleData:r.withSampleData===!0}:null}catch{return null}if(!t)return null;let n=B;try{let r=await fetch(`${n}/api/v1/cloud/environments/${encodeURIComponent(t)}/installations/${encodeURIComponent(e)}`,{credentials:`include`,headers:{Accept:`application/json`}});if(!r.ok)return null;let i=await r.json().catch(()=>({})),a=i?.data??i??{};return a.installed?{installationId:String(a.installationId??``),version:String(a.version??`installed`),withSampleData:a.withSampleData===!0}:null}catch{return null}}async function be(e){if(!e)return{ok:!1,error:`installation id required`};let t=F()||B;try{let n=await fetch(`${t}/api/v1/cloud/installations/${encodeURIComponent(e)}/reseed-sample-data`,{method:`POST`,credentials:`include`,headers:{Accept:`application/json`,"Content-Type":`application/json`},body:`{}`}),r=await n.json().catch(()=>({}));if(!n.ok||r?.success===!1){let{code:e,message:t}=U(r,n);return{ok:!1,error:t,code:e}}return{ok:!0}}catch(e){return{ok:!1,error:e?.message||`Network error`}}}async function xe(e){if(!e)return{ok:!1,error:`installation id required`};let t=F()||B;try{let n=await fetch(`${t}/api/v1/cloud/installations/${encodeURIComponent(e)}/purge-sample-data`,{method:`POST`,credentials:`include`,headers:{Accept:`application/json`,"Content-Type":`application/json`},body:`{}`}),r=await n.json().catch(()=>({}));if(!n.ok||r?.success===!1){let{code:e,message:t}=U(r,n);return{ok:!1,error:t,code:e}}return{ok:!0,deleted:Number(r?.data?.deleted??0)}}catch(e){return{ok:!1,error:e?.message||`Network error`}}}async function Se(){try{let e=await fetch(`${B}/api/v1/cloud-connection/org-packages`,{credentials:`include`,headers:{Accept:`application/json`}});if(!e.ok)return{connected:!1,items:[]};let t=(await e.json().catch(()=>({})))?.data??{},n=Array.isArray(t.items)?t.items:[];return{connected:t.connected===!0,items:n}}catch{return{connected:!1,items:[]}}}async function Ce(e){let t=await fetch(`${V}/install-local`,{method:`POST`,credentials:`include`,headers:{Accept:`application/json`,"Content-Type":`application/json`},body:JSON.stringify({packageId:e.packageId,...e.versionId?{versionId:e.versionId}:{}})}),n=null;try{n=await t.json()}catch{}if(!t.ok){let{code:e,message:r}=U(n,t),i=Error(typeof r==`string`?r:`${e}`);throw i.code=e,i.status=t.status,i}return n?.data??n}async function G(){try{let e=await fetch(`${V}/install-local`,{credentials:`include`,headers:{Accept:`application/json`}});if(!e.ok)return[];let t=await e.json().catch(()=>({})),n=t?.data?.items??t?.items??[];return Array.isArray(n)?n:[]}catch{return[]}}async function K(){try{let e=await fetch(`${B}/api/v1/cloud-connection/installed`,{credentials:`include`,headers:{Accept:`application/json`}});if(!e.ok)return{connected:!1,items:[]};let t=(await e.json().catch(()=>({})))?.data??{},n=(Array.isArray(t.packages)?t.packages:[]).map(e=>{let t=String(e.packageId??e.package_id??``);return{packageId:t,versionId:String(e.package_version_id??``),manifestId:t,version:String(e.version??`installed`),installedAt:String(e.installed_at??e.installedAt??``),installedBy:e.installed_by??e.installedBy??null,withSampleData:e.with_sample_data===!0||e.withSampleData===!0}});return{connected:t.connected===!0,items:n}}catch{return{connected:!1,items:[]}}}async function q(e){let t=await fetch(`${V}/install-local/${encodeURIComponent(e)}`,{method:`DELETE`,credentials:`include`,headers:{Accept:`application/json`}});if(!t.ok){let e=await t.json().catch(()=>({}));throw Error(U(e,t).message)}}async function J(e,t){let n=await fetch(`${V}/install-local/${encodeURIComponent(e)}/${t===`reseed`?`reseed-sample-data`:`purge-sample-data`}`,{method:`POST`,credentials:`include`,headers:{Accept:`application/json`}}),r=await n.json().catch(()=>({}));if(!n.ok){let e=r?.error?.message??n.statusText,t=Error(typeof e==`string`?e:`HTTP_${n.status}`);throw t.code=r?.error?.code??`HTTP_${n.status}`,t}return r?.data??r}function we(e){return J(e,`reseed`)}function Te(e){return J(e,`purge`)}function Y(){let e=t(),{appName:r}=n(),{t:i}=g(),a=r?`/apps/${r}`:`/`;return(0,S.jsx)(`div`,{className:`container mx-auto max-w-2xl px-6 py-16`,children:(0,S.jsx)(u,{children:(0,S.jsxs)(c,{className:`flex flex-col items-center gap-4 py-12 text-center`,children:[(0,S.jsx)(`div`,{className:`rounded-full bg-muted p-3`,children:(0,S.jsx)(v,{className:`h-6 w-6 text-muted-foreground`})}),(0,S.jsxs)(`div`,{children:[(0,S.jsx)(`h2`,{className:`text-lg font-semibold`,children:i(`marketplace.accessDenied.title`)}),(0,S.jsx)(`p`,{className:`mt-1 text-sm text-muted-foreground`,children:i(`marketplace.accessDenied.description`)})]}),(0,S.jsx)(d,{variant:`outline`,onClick:()=>e(a),children:i(`marketplace.action.backHome`)})]})})})}var X=`${``.replace(/\/$/,``)}/api/v1/security/suggested-bindings`;function Z(e={}){let t={Accept:`application/json`,...e},n=o.get();return n?{...t,Authorization:`Bearer ${n}`}:t}async function Q(e){let t=null;try{t=await e.json()}catch{}if(!e.ok){let n=t?.error?.code??`HTTP_${e.status}`,r=t?.error?.message??t?.error??e.statusText,i=Error(typeof r==`string`?r:String(n));throw i.code=n,i.status=e.status,i}return t?.data??t}async function Ee(e={}){let t=new URLSearchParams;e.status&&t.set(`status`,e.status),e.packageId&&t.set(`packageId`,e.packageId);let n=t.toString(),r=await Q(await fetch(`${X}${n?`?${n}`:``}`,{credentials:`include`,headers:Z()}));return Array.isArray(r?.suggestions)?r.suggestions:[]}async function De(e){return(await Q(await fetch(`${X}/${encodeURIComponent(e)}/confirm`,{method:`POST`,credentials:`include`,headers:Z({"Content-Type":`application/json`})})))?.suggestion}async function Oe(e){return(await Q(await fetch(`${X}/${encodeURIComponent(e)}/dismiss`,{method:`POST`,credentials:`include`,headers:Z({"Content-Type":`application/json`})})))?.suggestion}function ke({packageId:e,strings:t,className:n,onResolved:r}){let[i,a]=(0,x.useState)([]),[o,s]=(0,x.useState)(null),c=(0,x.useCallback)(()=>{let t=!1;return Ee({status:`pending`,...e?{packageId:e}:{}}).then(e=>{t||a(e)}).catch(()=>{}),()=>{t=!0}},[e]);(0,x.useEffect)(()=>c(),[c]);let u=async(e,n)=>{s(e.id);try{let i=n===`confirm`?await De(e.id):await Oe(e.id);a(t=>t.filter(t=>t.id!==e.id)),_.success(n===`confirm`?t.confirmedToast(e):t.dismissedToast(e)),r?.(i??e)}catch(e){_.error(e?.message??String(e))}finally{s(null)}};return i.length===0?null:(0,S.jsx)(`div`,{"data-testid":`suggested-bindings-panel`,className:l(`rounded-lg border border-amber-300/60 dark:border-amber-700/50 bg-amber-50 dark:bg-amber-950/30 px-3 py-2 space-y-2`,n),children:i.map(e=>(0,S.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,S.jsx)(b,{className:`h-4 w-4 shrink-0 text-amber-600 dark:text-amber-400`}),(0,S.jsx)(`p`,{className:`flex-1 min-w-0 text-sm text-amber-900 dark:text-amber-200`,children:t.describe(e)}),(0,S.jsx)(d,{size:`sm`,disabled:o===e.id,onClick:()=>u(e,`confirm`),"data-testid":`suggested-binding-confirm-${e.permission_set_name}`,children:o===e.id?t.confirming:t.confirm}),(0,S.jsx)(d,{size:`sm`,variant:`ghost`,disabled:o===e.id,onClick:()=>u(e,`dismiss`),"data-testid":`suggested-binding-dismiss-${e.permission_set_name}`,children:t.dismiss})]},e.id))})}function $(){let e=t(),{appName:r}=n(),{isAdmin:i}=a(),{t:o}=g(),l=h(),p=r?`/apps/${r}`:``,[m,_]=(0,x.useState)([]),[v,b]=(0,x.useState)(`local`),[C,w]=(0,x.useState)(!0),[T,E]=(0,x.useState)(null),[D,O]=(0,x.useState)(null),k=async()=>{w(!0);try{let e=await K();e.connected?(b(`cloud`),_(e.items)):(b(`local`),_(await G()))}finally{w(!1)}};(0,x.useEffect)(()=>{k()},[]);let A=async e=>{if(confirm(o(`marketplace.uninstall.confirm`,{manifestId:e.manifestId,version:e.version}))){E(e.manifestId),O(null);try{await q(e.manifestId),O({ok:!0,message:o(`marketplace.uninstall.successInList`,{manifestId:e.manifestId})}),await k()}catch(e){O({ok:!1,message:e?.message??String(e)})}finally{E(null)}}};return i?(0,S.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,S.jsx)(`div`,{className:`flex justify-end`,children:(0,S.jsxs)(d,{variant:`outline`,size:`sm`,onClick:()=>void k(),disabled:C,children:[(0,S.jsx)(y,{className:`h-4 w-4 mr-1.5`,"aria-hidden":`true`}),o(`marketplace.refresh`)]})}),D&&(0,S.jsx)(`div`,{className:`rounded-md border p-3 text-sm ${D.ok?`border-green-500/30 bg-green-500/5 text-green-700 dark:text-green-400`:`border-destructive/30 bg-destructive/5 text-destructive`}`,children:(0,S.jsxs)(`div`,{className:`flex items-start gap-2`,children:[(0,S.jsx)(ne,{className:`h-4 w-4 mt-0.5 shrink-0`,"aria-hidden":`true`}),(0,S.jsx)(`div`,{children:D.message})]})}),C&&m.length===0?(0,S.jsx)(`div`,{className:`grid gap-3`,children:Array.from({length:3}).map((e,t)=>(0,S.jsx)(te,{className:`h-20 w-full`},t))}):m.length===0?(0,S.jsxs)(`div`,{className:`text-center py-12 text-sm text-muted-foreground border rounded-md`,children:[(0,S.jsx)(`p`,{children:o(`marketplace.installedEmpty`)}),(0,S.jsx)(d,{variant:`link`,className:`mt-2`,onClick:()=>e(`${p}/system/marketplace`),children:o(`marketplace.browseLink`)})]}):(0,S.jsx)(`div`,{className:`grid gap-3`,children:m.map(t=>(0,S.jsxs)(u,{children:[(0,S.jsxs)(ee,{className:`flex flex-row items-start justify-between gap-3 pb-2`,children:[(0,S.jsxs)(`div`,{className:`min-w-0`,children:[(0,S.jsxs)(s,{className:`text-base truncate flex items-center gap-2`,children:[t.manifestId,(0,S.jsx)(f,{variant:`outline`,children:o(`marketplace.versionBadge`,{version:t.version})})]}),(0,S.jsxs)(`div`,{className:`text-xs text-muted-foreground mt-1 flex flex-wrap gap-x-3 gap-y-1`,children:[(0,S.jsx)(`span`,{children:o(`marketplace.installedAt`,{when:new Date(t.installedAt).toLocaleString(l)})}),t.installedBy&&(0,S.jsx)(`span`,{children:o(`marketplace.installedBy`,{user:t.installedBy})}),(0,S.jsxs)(`span`,{children:[o(`marketplace.installedPackageId`),` `,(0,S.jsx)(`code`,{className:`font-mono`,children:t.packageId})]})]})]}),(0,S.jsxs)(`div`,{className:`flex items-center gap-2 shrink-0`,children:[(0,S.jsxs)(d,{variant:`ghost`,size:`sm`,onClick:()=>e(`${p}/system/marketplace/${t.packageId}`),children:[(0,S.jsx)(re,{className:`h-4 w-4 mr-1.5`,"aria-hidden":`true`}),o(`marketplace.action.details`)]}),v===`local`&&(0,S.jsxs)(d,{variant:`outline`,size:`sm`,onClick:()=>void A(t),disabled:T===t.manifestId,children:[(0,S.jsx)(ie,{className:`h-4 w-4 mr-1.5`,"aria-hidden":`true`}),T===t.manifestId?o(`marketplace.action.uninstalling`):o(`marketplace.action.uninstall`)]})]})]}),v===`local`&&(0,S.jsx)(c,{className:`pt-0 text-xs text-muted-foreground`,dangerouslySetInnerHTML:{__html:o(`marketplace.cachedAs`,{path:`.objectstack/installed-packages/${t.manifestId.replace(/[^a-zA-Z0-9._-]/g,`_`)}.json`})}})]},t.manifestId))}),(0,S.jsx)(`p`,{className:`text-xs text-muted-foreground border-t pt-4`,dangerouslySetInnerHTML:{__html:o(`marketplace.installedAdditiveNote`)}})]}):(0,S.jsx)(Y,{})}p.register(`marketplace:installed-list`,()=>(0,S.jsx)($,{}),{namespace:`app-shell`,label:`Installed Marketplace Packages`,category:`plugin`,inputs:[]});export{M as A,ue as C,fe as D,se as E,I as M,R as N,P as O,de as S,N as T,we as _,ye as a,z as b,he as c,K as d,G as f,xe as g,Te as h,ve as i,L as j,oe as k,ge as l,Se as m,ke as n,me as o,pe as p,Y as r,Ce as s,$ as t,_e as u,be as v,ce as w,F as x,q as y};
@@ -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:`أقل من ثانية`,two:`أقل من ثانيتين`,threeToTen:`أقل من {{count}} ثواني`,other:`أقل من {{count}} ثانية`},xSeconds:{one:`ثانية واحدة`,two:`ثانيتان`,threeToTen:`{{count}} ثواني`,other:`{{count}} ثانية`},halfAMinute:`نصف دقيقة`,lessThanXMinutes:{one:`أقل من دقيقة`,two:`أقل من دقيقتين`,threeToTen:`أقل من {{count}} دقائق`,other:`أقل من {{count}} دقيقة`},xMinutes:{one:`دقيقة واحدة`,two:`دقيقتان`,threeToTen:`{{count}} دقائق`,other:`{{count}} دقيقة`},aboutXHours:{one:`ساعة واحدة تقريباً`,two:`ساعتين تقريبا`,threeToTen:`{{count}} ساعات تقريباً`,other:`{{count}} ساعة تقريباً`},xHours:{one:`ساعة واحدة`,two:`ساعتان`,threeToTen:`{{count}} ساعات`,other:`{{count}} ساعة`},xDays:{one:`يوم واحد`,two:`يومان`,threeToTen:`{{count}} أيام`,other:`{{count}} يوم`},aboutXWeeks:{one:`أسبوع واحد تقريبا`,two:`أسبوعين تقريبا`,threeToTen:`{{count}} أسابيع تقريبا`,other:`{{count}} أسبوعا تقريبا`},xWeeks:{one:`أسبوع واحد`,two:`أسبوعان`,threeToTen:`{{count}} أسابيع`,other:`{{count}} أسبوعا`},aboutXMonths:{one:`شهر واحد تقريباً`,two:`شهرين تقريبا`,threeToTen:`{{count}} أشهر تقريبا`,other:`{{count}} شهرا تقريباً`},xMonths:{one:`شهر واحد`,two:`شهران`,threeToTen:`{{count}} أشهر`,other:`{{count}} شهرا`},aboutXYears:{one:`سنة واحدة تقريباً`,two:`سنتين تقريبا`,threeToTen:`{{count}} سنوات تقريباً`,other:`{{count}} سنة تقريباً`},xYears:{one:`سنة واحد`,two:`سنتان`,threeToTen:`{{count}} سنوات`,other:`{{count}} سنة`},overXYears:{one:`أكثر من سنة`,two:`أكثر من سنتين`,threeToTen:`أكثر من {{count}} سنوات`,other:`أكثر من {{count}} سنة`},almostXYears:{one:`ما يقارب سنة واحدة`,two:`ما يقارب سنتين`,threeToTen:`ما يقارب {{count}} سنوات`,other:`ما يقارب {{count}} سنة`}},a=(e,t,n)=>{let r=i[e],a;return a=typeof r==`string`?r:t===1?r.one:t===2?r.two:t<=10?r.threeToTen.replace(`{{count}}`,String(t)):r.other.replace(`{{count}}`,String(t)),n?.addSuffix?n.comparison&&n.comparison>0?`خلال `+a:`منذ `+a:a},o={date:t({formats:{full:`EEEE، do MMMM y`,long:`do MMMM y`,medium:`d MMM y`,short:`dd/MM/yyyy`},defaultWidth:`full`}),time:t({formats:{full:`HH:mm:ss`,long:`HH:mm:ss`,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:`eeee 'الماضي عند الساعة' p`,yesterday:`'الأمس عند الساعة' p`,today:`'اليوم عند الساعة' p`,tomorrow:`'غدا عند الساعة' p`,nextWeek:`eeee 'القادم عند الساعة' p`,other:`P`},c={code:`ar`,formatDistance:a,formatLong:o,formatRelative:e=>s[e],localize:{ordinalNumber:e=>String(e),era:n({values:{narrow:[`ق`,`ب`],abbreviated:[`ق.م.`,`ب.م.`],wide:[`قبل الميلاد`,`بعد الميلاد`]},defaultWidth:`wide`}),quarter:n({values:{narrow:[`1`,`2`,`3`,`4`],abbreviated:[`ر1`,`ر2`,`ر3`,`ر4`],wide:[`الربع الأول`,`الربع الثاني`,`الربع الثالث`,`الربع الرابع`]},defaultWidth:`wide`,argumentCallback:e=>e-1}),month:n({values:{narrow:[`ي`,`ف`,`م`,`أ`,`م`,`ي`,`ي`,`أ`,`س`,`أ`,`ن`,`د`],abbreviated:[`يناير`,`فبراير`,`مارس`,`أبريل`,`مايو`,`يونيو`,`يوليو`,`أغسطس`,`سبتمبر`,`أكتوبر`,`نوفمبر`,`ديسمبر`],wide:[`يناير`,`فبراير`,`مارس`,`أبريل`,`مايو`,`يونيو`,`يوليو`,`أغسطس`,`سبتمبر`,`أكتوبر`,`نوفمبر`,`ديسمبر`]},defaultWidth:`wide`}),day:n({values:{narrow:[`ح`,`ن`,`ث`,`ر`,`خ`,`ج`,`س`],short:[`أحد`,`اثنين`,`ثلاثاء`,`أربعاء`,`خميس`,`جمعة`,`سبت`],abbreviated:[`أحد`,`اثنين`,`ثلاثاء`,`أربعاء`,`خميس`,`جمعة`,`سبت`],wide:[`الأحد`,`الاثنين`,`الثلاثاء`,`الأربعاء`,`الخميس`,`الجمعة`,`السبت`]},defaultWidth:`wide`}),dayPeriod:n({values:{narrow:{am:`ص`,pm:`م`,morning:`الصباح`,noon:`الظهر`,afternoon:`بعد الظهر`,evening:`المساء`,night:`الليل`,midnight:`منتصف الليل`},abbreviated:{am:`ص`,pm:`م`,morning:`الصباح`,noon:`الظهر`,afternoon:`بعد الظهر`,evening:`المساء`,night:`الليل`,midnight:`منتصف الليل`},wide:{am:`ص`,pm:`م`,morning:`الصباح`,noon:`الظهر`,afternoon:`بعد الظهر`,evening:`المساء`,night:`الليل`,midnight:`منتصف الليل`}},defaultWidth:`wide`,formattingValues:{narrow:{am:`ص`,pm:`م`,morning:`في الصباح`,noon:`الظهر`,afternoon:`بعد الظهر`,evening:`في المساء`,night:`في الليل`,midnight:`منتصف الليل`},abbreviated:{am:`ص`,pm:`م`,morning:`في الصباح`,noon:`الظهر`,afternoon:`بعد الظهر`,evening:`في المساء`,night:`في الليل`,midnight:`منتصف الليل`},wide:{am:`ص`,pm:`م`,morning:`في الصباح`,noon:`الظهر`,afternoon:`بعد الظهر`,evening:`في المساء`,night:`في الليل`,midnight:`منتصف الليل`}},defaultFormattingWidth:`wide`})},match:{ordinalNumber:r({matchPattern:/^(\d+)(th|st|nd|rd)?/i,parsePattern:/\d+/i,valueCallback:e=>parseInt(e,10)}),era:e({matchPatterns:{narrow:/[قب]/,abbreviated:/[قب]\.م\./,wide:/(قبل|بعد) الميلاد/},defaultMatchWidth:`wide`,parsePatterns:{any:[/قبل/,/بعد/]},defaultParseWidth:`any`}),quarter:e({matchPatterns:{narrow:/^[1234]/i,abbreviated:/ر[1234]/,wide:/الربع (الأول|الثاني|الثالث|الرابع)/},defaultMatchWidth:`wide`,parsePatterns:{any:[/1/i,/2/i,/3/i,/4/i]},defaultParseWidth:`any`,valueCallback:e=>e+1}),month:e({matchPatterns:{narrow:/^[أيفمسند]/,abbreviated:/^(يناير|فبراير|مارس|أبريل|مايو|يونيو|يوليو|أغسطس|سبتمبر|أكتوبر|نوفمبر|ديسمبر)/,wide:/^(يناير|فبراير|مارس|أبريل|مايو|يونيو|يوليو|أغسطس|سبتمبر|أكتوبر|نوفمبر|ديسمبر)/},defaultMatchWidth:`wide`,parsePatterns:{narrow:[/^ي/i,/^ف/i,/^م/i,/^أ/i,/^م/i,/^ي/i,/^ي/i,/^أ/i,/^س/i,/^أ/i,/^ن/i,/^د/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],wide:[/^الأحد/i,/^الاثنين/i,/^الثلاثاء/i,/^الأربعاء/i,/^الخميس/i,/^الجمعة/i,/^السبت/i],any:[/^أح/i,/^اث/i,/^ث/i,/^أر/i,/^خ/i,/^ج/i,/^س/i]},defaultParseWidth:`any`}),dayPeriod:e({matchPatterns:{narrow:/^(ص|م|منتصف الليل|الظهر|بعد الظهر|في الصباح|في المساء|في الليل)/,any:/^(ص|م|منتصف الليل|الظهر|بعد الظهر|في الصباح|في المساء|في الليل)/},defaultMatchWidth:`any`,parsePatterns:{any:{am:/^ص/,pm:/^م/,midnight:/منتصف الليل/,noon:/الظهر/,afternoon:/بعد الظهر/,morning:/في الصباح/,evening:/في المساء/,night:/في الليل/}},defaultParseWidth:`any`})},options:{weekStartsOn:6,firstWeekContainsDate:1}};export{c as ar,c as default};
1
+ import{$r as e,Jr as t,Yr as n,Zr as r}from"./ui-components-D8wcRNrt.js";var i={lessThanXSeconds:{one:`أقل من ثانية`,two:`أقل من ثانيتين`,threeToTen:`أقل من {{count}} ثواني`,other:`أقل من {{count}} ثانية`},xSeconds:{one:`ثانية واحدة`,two:`ثانيتان`,threeToTen:`{{count}} ثواني`,other:`{{count}} ثانية`},halfAMinute:`نصف دقيقة`,lessThanXMinutes:{one:`أقل من دقيقة`,two:`أقل من دقيقتين`,threeToTen:`أقل من {{count}} دقائق`,other:`أقل من {{count}} دقيقة`},xMinutes:{one:`دقيقة واحدة`,two:`دقيقتان`,threeToTen:`{{count}} دقائق`,other:`{{count}} دقيقة`},aboutXHours:{one:`ساعة واحدة تقريباً`,two:`ساعتين تقريبا`,threeToTen:`{{count}} ساعات تقريباً`,other:`{{count}} ساعة تقريباً`},xHours:{one:`ساعة واحدة`,two:`ساعتان`,threeToTen:`{{count}} ساعات`,other:`{{count}} ساعة`},xDays:{one:`يوم واحد`,two:`يومان`,threeToTen:`{{count}} أيام`,other:`{{count}} يوم`},aboutXWeeks:{one:`أسبوع واحد تقريبا`,two:`أسبوعين تقريبا`,threeToTen:`{{count}} أسابيع تقريبا`,other:`{{count}} أسبوعا تقريبا`},xWeeks:{one:`أسبوع واحد`,two:`أسبوعان`,threeToTen:`{{count}} أسابيع`,other:`{{count}} أسبوعا`},aboutXMonths:{one:`شهر واحد تقريباً`,two:`شهرين تقريبا`,threeToTen:`{{count}} أشهر تقريبا`,other:`{{count}} شهرا تقريباً`},xMonths:{one:`شهر واحد`,two:`شهران`,threeToTen:`{{count}} أشهر`,other:`{{count}} شهرا`},aboutXYears:{one:`سنة واحدة تقريباً`,two:`سنتين تقريبا`,threeToTen:`{{count}} سنوات تقريباً`,other:`{{count}} سنة تقريباً`},xYears:{one:`سنة واحد`,two:`سنتان`,threeToTen:`{{count}} سنوات`,other:`{{count}} سنة`},overXYears:{one:`أكثر من سنة`,two:`أكثر من سنتين`,threeToTen:`أكثر من {{count}} سنوات`,other:`أكثر من {{count}} سنة`},almostXYears:{one:`ما يقارب سنة واحدة`,two:`ما يقارب سنتين`,threeToTen:`ما يقارب {{count}} سنوات`,other:`ما يقارب {{count}} سنة`}},a=(e,t,n)=>{let r=i[e],a;return a=typeof r==`string`?r:t===1?r.one:t===2?r.two:t<=10?r.threeToTen.replace(`{{count}}`,String(t)):r.other.replace(`{{count}}`,String(t)),n?.addSuffix?n.comparison&&n.comparison>0?`خلال `+a:`منذ `+a:a},o={date:e({formats:{full:`EEEE، do MMMM y`,long:`do MMMM y`,medium:`d MMM y`,short:`dd/MM/yyyy`},defaultWidth:`full`}),time:e({formats:{full:`HH:mm:ss`,long:`HH:mm:ss`,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:`eeee 'الماضي عند الساعة' p`,yesterday:`'الأمس عند الساعة' p`,today:`'اليوم عند الساعة' p`,tomorrow:`'غدا عند الساعة' p`,nextWeek:`eeee 'القادم عند الساعة' p`,other:`P`},c={code:`ar`,formatDistance:a,formatLong:o,formatRelative:e=>s[e],localize:{ordinalNumber:e=>String(e),era:r({values:{narrow:[`ق`,`ب`],abbreviated:[`ق.م.`,`ب.م.`],wide:[`قبل الميلاد`,`بعد الميلاد`]},defaultWidth:`wide`}),quarter:r({values:{narrow:[`1`,`2`,`3`,`4`],abbreviated:[`ر1`,`ر2`,`ر3`,`ر4`],wide:[`الربع الأول`,`الربع الثاني`,`الربع الثالث`,`الربع الرابع`]},defaultWidth:`wide`,argumentCallback:e=>e-1}),month:r({values:{narrow:[`ي`,`ف`,`م`,`أ`,`م`,`ي`,`ي`,`أ`,`س`,`أ`,`ن`,`د`],abbreviated:[`يناير`,`فبراير`,`مارس`,`أبريل`,`مايو`,`يونيو`,`يوليو`,`أغسطس`,`سبتمبر`,`أكتوبر`,`نوفمبر`,`ديسمبر`],wide:[`يناير`,`فبراير`,`مارس`,`أبريل`,`مايو`,`يونيو`,`يوليو`,`أغسطس`,`سبتمبر`,`أكتوبر`,`نوفمبر`,`ديسمبر`]},defaultWidth:`wide`}),day:r({values:{narrow:[`ح`,`ن`,`ث`,`ر`,`خ`,`ج`,`س`],short:[`أحد`,`اثنين`,`ثلاثاء`,`أربعاء`,`خميس`,`جمعة`,`سبت`],abbreviated:[`أحد`,`اثنين`,`ثلاثاء`,`أربعاء`,`خميس`,`جمعة`,`سبت`],wide:[`الأحد`,`الاثنين`,`الثلاثاء`,`الأربعاء`,`الخميس`,`الجمعة`,`السبت`]},defaultWidth:`wide`}),dayPeriod:r({values:{narrow:{am:`ص`,pm:`م`,morning:`الصباح`,noon:`الظهر`,afternoon:`بعد الظهر`,evening:`المساء`,night:`الليل`,midnight:`منتصف الليل`},abbreviated:{am:`ص`,pm:`م`,morning:`الصباح`,noon:`الظهر`,afternoon:`بعد الظهر`,evening:`المساء`,night:`الليل`,midnight:`منتصف الليل`},wide:{am:`ص`,pm:`م`,morning:`الصباح`,noon:`الظهر`,afternoon:`بعد الظهر`,evening:`المساء`,night:`الليل`,midnight:`منتصف الليل`}},defaultWidth:`wide`,formattingValues:{narrow:{am:`ص`,pm:`م`,morning:`في الصباح`,noon:`الظهر`,afternoon:`بعد الظهر`,evening:`في المساء`,night:`في الليل`,midnight:`منتصف الليل`},abbreviated:{am:`ص`,pm:`م`,morning:`في الصباح`,noon:`الظهر`,afternoon:`بعد الظهر`,evening:`في المساء`,night:`في الليل`,midnight:`منتصف الليل`},wide:{am:`ص`,pm:`م`,morning:`في الصباح`,noon:`الظهر`,afternoon:`بعد الظهر`,evening:`في المساء`,night:`في الليل`,midnight:`منتصف الليل`}},defaultFormattingWidth:`wide`})},match:{ordinalNumber:t({matchPattern:/^(\d+)(th|st|nd|rd)?/i,parsePattern:/\d+/i,valueCallback:e=>parseInt(e,10)}),era:n({matchPatterns:{narrow:/[قب]/,abbreviated:/[قب]\.م\./,wide:/(قبل|بعد) الميلاد/},defaultMatchWidth:`wide`,parsePatterns:{any:[/قبل/,/بعد/]},defaultParseWidth:`any`}),quarter:n({matchPatterns:{narrow:/^[1234]/i,abbreviated:/ر[1234]/,wide:/الربع (الأول|الثاني|الثالث|الرابع)/},defaultMatchWidth:`wide`,parsePatterns:{any:[/1/i,/2/i,/3/i,/4/i]},defaultParseWidth:`any`,valueCallback:e=>e+1}),month:n({matchPatterns:{narrow:/^[أيفمسند]/,abbreviated:/^(يناير|فبراير|مارس|أبريل|مايو|يونيو|يوليو|أغسطس|سبتمبر|أكتوبر|نوفمبر|ديسمبر)/,wide:/^(يناير|فبراير|مارس|أبريل|مايو|يونيو|يوليو|أغسطس|سبتمبر|أكتوبر|نوفمبر|ديسمبر)/},defaultMatchWidth:`wide`,parsePatterns:{narrow:[/^ي/i,/^ف/i,/^م/i,/^أ/i,/^م/i,/^ي/i,/^ي/i,/^أ/i,/^س/i,/^أ/i,/^ن/i,/^د/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],wide:[/^الأحد/i,/^الاثنين/i,/^الثلاثاء/i,/^الأربعاء/i,/^الخميس/i,/^الجمعة/i,/^السبت/i],any:[/^أح/i,/^اث/i,/^ث/i,/^أر/i,/^خ/i,/^ج/i,/^س/i]},defaultParseWidth:`any`}),dayPeriod:n({matchPatterns:{narrow:/^(ص|م|منتصف الليل|الظهر|بعد الظهر|في الصباح|في المساء|في الليل)/,any:/^(ص|م|منتصف الليل|الظهر|بعد الظهر|في الصباح|في المساء|في الليل)/},defaultMatchWidth:`any`,parsePatterns:{any:{am:/^ص/,pm:/^م/,midnight:/منتصف الليل/,noon:/الظهر/,afternoon:/بعد الظهر/,morning:/في الصباح/,evening:/في المساء/,night:/في الليل/}},defaultParseWidth:`any`})},options:{weekStartsOn:6,firstWeekContainsDate:1}};export{c as ar,c as default};
@@ -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:`أقل من ثانية واحدة`,two:`أقل من ثانتين`,threeToTen:`أقل من {{count}} ثواني`,other:`أقل من {{count}} ثانية`},xSeconds:{one:`ثانية واحدة`,two:`ثانتين`,threeToTen:`{{count}} ثواني`,other:`{{count}} ثانية`},halfAMinute:`نصف دقيقة`,lessThanXMinutes:{one:`أقل من دقيقة`,two:`أقل من دقيقتين`,threeToTen:`أقل من {{count}} دقائق`,other:`أقل من {{count}} دقيقة`},xMinutes:{one:`دقيقة واحدة`,two:`دقيقتين`,threeToTen:`{{count}} دقائق`,other:`{{count}} دقيقة`},aboutXHours:{one:`ساعة واحدة تقريباً`,two:`ساعتين تقريباً`,threeToTen:`{{count}} ساعات تقريباً`,other:`{{count}} ساعة تقريباً`},xHours:{one:`ساعة واحدة`,two:`ساعتين`,threeToTen:`{{count}} ساعات`,other:`{{count}} ساعة`},xDays:{one:`يوم واحد`,two:`يومين`,threeToTen:`{{count}} أيام`,other:`{{count}} يوم`},aboutXWeeks:{one:`أسبوع واحد تقريباً`,two:`أسبوعين تقريباً`,threeToTen:`{{count}} أسابيع تقريباً`,other:`{{count}} أسبوع تقريباً`},xWeeks:{one:`أسبوع واحد`,two:`أسبوعين`,threeToTen:`{{count}} أسابيع`,other:`{{count}} أسبوع`},aboutXMonths:{one:`شهر واحد تقريباً`,two:`شهرين تقريباً`,threeToTen:`{{count}} أشهر تقريباً`,other:`{{count}} شهر تقريباً`},xMonths:{one:`شهر واحد`,two:`شهرين`,threeToTen:`{{count}} أشهر`,other:`{{count}} شهر`},aboutXYears:{one:`عام واحد تقريباً`,two:`عامين تقريباً`,threeToTen:`{{count}} أعوام تقريباً`,other:`{{count}} عام تقريباً`},xYears:{one:`عام واحد`,two:`عامين`,threeToTen:`{{count}} أعوام`,other:`{{count}} عام`},overXYears:{one:`أكثر من عام`,two:`أكثر من عامين`,threeToTen:`أكثر من {{count}} أعوام`,other:`أكثر من {{count}} عام`},almostXYears:{one:`عام واحد تقريباً`,two:`عامين تقريباً`,threeToTen:`{{count}} أعوام تقريباً`,other:`{{count}} عام تقريباً`}},a=(e,t,n)=>{n||={};let r=i[e],a;return a=typeof r==`string`?r:t===1?r.one:t===2?r.two:t<=10?r.threeToTen.replace(`{{count}}`,String(t)):r.other.replace(`{{count}}`,String(t)),n.addSuffix?n.comparison&&n.comparison>0?`في خلال `+a:`منذ `+a:a},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}} 'عند' {{time}}`,long:`{{date}} 'عند' {{time}}`,medium:`{{date}}, {{time}}`,short:`{{date}}, {{time}}`},defaultWidth:`full`})},s={lastWeek:`'أخر' eeee 'عند' p`,yesterday:`'أمس عند' p`,today:`'اليوم عند' p`,tomorrow:`'غداً عند' p`,nextWeek:`eeee 'عند' p`,other:`P`},c={code:`ar-DZ`,formatDistance:a,formatLong:o,formatRelative:(e,t,n,r)=>s[e],localize:{ordinalNumber:e=>String(e),era:n({values:{narrow:[`ق`,`ب`],abbreviated:[`ق.م.`,`ب.م.`],wide:[`قبل الميلاد`,`بعد الميلاد`]},defaultWidth:`wide`}),quarter:n({values:{narrow:[`1`,`2`,`3`,`4`],abbreviated:[`ر1`,`ر2`,`ر3`,`ر4`],wide:[`الربع الأول`,`الربع الثاني`,`الربع الثالث`,`الربع الرابع`]},defaultWidth:`wide`,argumentCallback:e=>Number(e)-1}),month:n({values:{narrow:[`ج`,`ف`,`م`,`أ`,`م`,`ج`,`ج`,`أ`,`س`,`أ`,`ن`,`د`],abbreviated:[`جانـ`,`فيفـ`,`مارس`,`أفريل`,`مايـ`,`جوانـ`,`جويـ`,`أوت`,`سبتـ`,`أكتـ`,`نوفـ`,`ديسـ`],wide:[`جانفي`,`فيفري`,`مارس`,`أفريل`,`ماي`,`جوان`,`جويلية`,`أوت`,`سبتمبر`,`أكتوبر`,`نوفمبر`,`ديسمبر`]},defaultWidth:`wide`}),day:n({values:{narrow:[`ح`,`ن`,`ث`,`ر`,`خ`,`ج`,`س`],short:[`أحد`,`اثنين`,`ثلاثاء`,`أربعاء`,`خميس`,`جمعة`,`سبت`],abbreviated:[`أحد`,`اثنـ`,`ثلا`,`أربـ`,`خميـ`,`جمعة`,`سبت`],wide:[`الأحد`,`الاثنين`,`الثلاثاء`,`الأربعاء`,`الخميس`,`الجمعة`,`السبت`]},defaultWidth:`wide`}),dayPeriod:n({values:{narrow:{am:`ص`,pm:`م`,midnight:`ن`,noon:`ظ`,morning:`صباحاً`,afternoon:`بعد الظهر`,evening:`مساءاً`,night:`ليلاً`},abbreviated:{am:`ص`,pm:`م`,midnight:`نصف الليل`,noon:`ظهر`,morning:`صباحاً`,afternoon:`بعد الظهر`,evening:`مساءاً`,night:`ليلاً`},wide:{am:`ص`,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:`ص`,pm:`م`,midnight:`نصف الليل`,noon:`ظهر`,morning:`صباحاً`,afternoon:`بعد الظـهر`,evening:`في المساء`,night:`في الليل`}},defaultFormattingWidth:`wide`})},match:{ordinalNumber:r({matchPattern:/^(\d+)(th|st|nd|rd)?/i,parsePattern:/\d+/i,valueCallback:e=>parseInt(e,10)}),era:e({matchPatterns:{narrow:/^(ق|ب)/i,abbreviated:/^(ق\.?\s?م\.?|ق\.?\s?م\.?\s?|a\.?\s?d\.?|c\.?\s?)/i,wide:/^(قبل الميلاد|قبل الميلاد|بعد الميلاد|بعد الميلاد)/i},defaultMatchWidth:`wide`,parsePatterns:{any:[/^قبل/i,/^بعد/i]},defaultParseWidth:`any`}),quarter:e({matchPatterns:{narrow:/^[1234]/i,abbreviated:/^ر[1234]/i,wide:/^الربع [1234]/i},defaultMatchWidth:`wide`,parsePatterns:{any:[/1/i,/2/i,/3/i,/4/i]},defaultParseWidth:`any`,valueCallback:e=>Number(e)+1}),month:e({matchPatterns:{narrow:/^[جفمأسند]/i,abbreviated:/^(جان|فيف|مار|أفر|ماي|جوا|جوي|أوت|سبت|أكت|نوف|ديس)/i,wide:/^(جانفي|فيفري|مارس|أفريل|ماي|جوان|جويلية|أوت|سبتمبر|أكتوبر|نوفمبر|ديسمبر)/i},defaultMatchWidth:`wide`,parsePatterns:{narrow:[/^ج/i,/^ف/i,/^م/i,/^أ/i,/^م/i,/^ج/i,/^ج/i,/^أ/i,/^س/i,/^أ/i,/^ن/i,/^د/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],wide:[/^الأحد/i,/^الاثنين/i,/^الثلاثاء/i,/^الأربعاء/i,/^الخميس/i,/^الجمعة/i,/^السبت/i],any:[/^أح/i,/^اث/i,/^ث/i,/^أر/i,/^خ/i,/^ج/i,/^س/i]},defaultParseWidth:`any`}),dayPeriod:e({matchPatterns:{narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},defaultMatchWidth:`any`,parsePatterns:{any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},defaultParseWidth:`any`})},options:{weekStartsOn:0,firstWeekContainsDate:1}};export{c as arDZ,c as default};
1
+ import{$r as e,Jr as t,Yr as n,Zr as r}from"./ui-components-D8wcRNrt.js";var i={lessThanXSeconds:{one:`أقل من ثانية واحدة`,two:`أقل من ثانتين`,threeToTen:`أقل من {{count}} ثواني`,other:`أقل من {{count}} ثانية`},xSeconds:{one:`ثانية واحدة`,two:`ثانتين`,threeToTen:`{{count}} ثواني`,other:`{{count}} ثانية`},halfAMinute:`نصف دقيقة`,lessThanXMinutes:{one:`أقل من دقيقة`,two:`أقل من دقيقتين`,threeToTen:`أقل من {{count}} دقائق`,other:`أقل من {{count}} دقيقة`},xMinutes:{one:`دقيقة واحدة`,two:`دقيقتين`,threeToTen:`{{count}} دقائق`,other:`{{count}} دقيقة`},aboutXHours:{one:`ساعة واحدة تقريباً`,two:`ساعتين تقريباً`,threeToTen:`{{count}} ساعات تقريباً`,other:`{{count}} ساعة تقريباً`},xHours:{one:`ساعة واحدة`,two:`ساعتين`,threeToTen:`{{count}} ساعات`,other:`{{count}} ساعة`},xDays:{one:`يوم واحد`,two:`يومين`,threeToTen:`{{count}} أيام`,other:`{{count}} يوم`},aboutXWeeks:{one:`أسبوع واحد تقريباً`,two:`أسبوعين تقريباً`,threeToTen:`{{count}} أسابيع تقريباً`,other:`{{count}} أسبوع تقريباً`},xWeeks:{one:`أسبوع واحد`,two:`أسبوعين`,threeToTen:`{{count}} أسابيع`,other:`{{count}} أسبوع`},aboutXMonths:{one:`شهر واحد تقريباً`,two:`شهرين تقريباً`,threeToTen:`{{count}} أشهر تقريباً`,other:`{{count}} شهر تقريباً`},xMonths:{one:`شهر واحد`,two:`شهرين`,threeToTen:`{{count}} أشهر`,other:`{{count}} شهر`},aboutXYears:{one:`عام واحد تقريباً`,two:`عامين تقريباً`,threeToTen:`{{count}} أعوام تقريباً`,other:`{{count}} عام تقريباً`},xYears:{one:`عام واحد`,two:`عامين`,threeToTen:`{{count}} أعوام`,other:`{{count}} عام`},overXYears:{one:`أكثر من عام`,two:`أكثر من عامين`,threeToTen:`أكثر من {{count}} أعوام`,other:`أكثر من {{count}} عام`},almostXYears:{one:`عام واحد تقريباً`,two:`عامين تقريباً`,threeToTen:`{{count}} أعوام تقريباً`,other:`{{count}} عام تقريباً`}},a=(e,t,n)=>{n||={};let r=i[e],a;return a=typeof r==`string`?r:t===1?r.one:t===2?r.two:t<=10?r.threeToTen.replace(`{{count}}`,String(t)):r.other.replace(`{{count}}`,String(t)),n.addSuffix?n.comparison&&n.comparison>0?`في خلال `+a:`منذ `+a:a},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}} 'عند' {{time}}`,long:`{{date}} 'عند' {{time}}`,medium:`{{date}}, {{time}}`,short:`{{date}}, {{time}}`},defaultWidth:`full`})},s={lastWeek:`'أخر' eeee 'عند' p`,yesterday:`'أمس عند' p`,today:`'اليوم عند' p`,tomorrow:`'غداً عند' p`,nextWeek:`eeee 'عند' p`,other:`P`},c={code:`ar-DZ`,formatDistance:a,formatLong:o,formatRelative:(e,t,n,r)=>s[e],localize:{ordinalNumber:e=>String(e),era:r({values:{narrow:[`ق`,`ب`],abbreviated:[`ق.م.`,`ب.م.`],wide:[`قبل الميلاد`,`بعد الميلاد`]},defaultWidth:`wide`}),quarter:r({values:{narrow:[`1`,`2`,`3`,`4`],abbreviated:[`ر1`,`ر2`,`ر3`,`ر4`],wide:[`الربع الأول`,`الربع الثاني`,`الربع الثالث`,`الربع الرابع`]},defaultWidth:`wide`,argumentCallback:e=>Number(e)-1}),month:r({values:{narrow:[`ج`,`ف`,`م`,`أ`,`م`,`ج`,`ج`,`أ`,`س`,`أ`,`ن`,`د`],abbreviated:[`جانـ`,`فيفـ`,`مارس`,`أفريل`,`مايـ`,`جوانـ`,`جويـ`,`أوت`,`سبتـ`,`أكتـ`,`نوفـ`,`ديسـ`],wide:[`جانفي`,`فيفري`,`مارس`,`أفريل`,`ماي`,`جوان`,`جويلية`,`أوت`,`سبتمبر`,`أكتوبر`,`نوفمبر`,`ديسمبر`]},defaultWidth:`wide`}),day:r({values:{narrow:[`ح`,`ن`,`ث`,`ر`,`خ`,`ج`,`س`],short:[`أحد`,`اثنين`,`ثلاثاء`,`أربعاء`,`خميس`,`جمعة`,`سبت`],abbreviated:[`أحد`,`اثنـ`,`ثلا`,`أربـ`,`خميـ`,`جمعة`,`سبت`],wide:[`الأحد`,`الاثنين`,`الثلاثاء`,`الأربعاء`,`الخميس`,`الجمعة`,`السبت`]},defaultWidth:`wide`}),dayPeriod:r({values:{narrow:{am:`ص`,pm:`م`,midnight:`ن`,noon:`ظ`,morning:`صباحاً`,afternoon:`بعد الظهر`,evening:`مساءاً`,night:`ليلاً`},abbreviated:{am:`ص`,pm:`م`,midnight:`نصف الليل`,noon:`ظهر`,morning:`صباحاً`,afternoon:`بعد الظهر`,evening:`مساءاً`,night:`ليلاً`},wide:{am:`ص`,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:`ص`,pm:`م`,midnight:`نصف الليل`,noon:`ظهر`,morning:`صباحاً`,afternoon:`بعد الظـهر`,evening:`في المساء`,night:`في الليل`}},defaultFormattingWidth:`wide`})},match:{ordinalNumber:t({matchPattern:/^(\d+)(th|st|nd|rd)?/i,parsePattern:/\d+/i,valueCallback:e=>parseInt(e,10)}),era:n({matchPatterns:{narrow:/^(ق|ب)/i,abbreviated:/^(ق\.?\s?م\.?|ق\.?\s?م\.?\s?|a\.?\s?d\.?|c\.?\s?)/i,wide:/^(قبل الميلاد|قبل الميلاد|بعد الميلاد|بعد الميلاد)/i},defaultMatchWidth:`wide`,parsePatterns:{any:[/^قبل/i,/^بعد/i]},defaultParseWidth:`any`}),quarter:n({matchPatterns:{narrow:/^[1234]/i,abbreviated:/^ر[1234]/i,wide:/^الربع [1234]/i},defaultMatchWidth:`wide`,parsePatterns:{any:[/1/i,/2/i,/3/i,/4/i]},defaultParseWidth:`any`,valueCallback:e=>Number(e)+1}),month:n({matchPatterns:{narrow:/^[جفمأسند]/i,abbreviated:/^(جان|فيف|مار|أفر|ماي|جوا|جوي|أوت|سبت|أكت|نوف|ديس)/i,wide:/^(جانفي|فيفري|مارس|أفريل|ماي|جوان|جويلية|أوت|سبتمبر|أكتوبر|نوفمبر|ديسمبر)/i},defaultMatchWidth:`wide`,parsePatterns:{narrow:[/^ج/i,/^ف/i,/^م/i,/^أ/i,/^م/i,/^ج/i,/^ج/i,/^أ/i,/^س/i,/^أ/i,/^ن/i,/^د/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],wide:[/^الأحد/i,/^الاثنين/i,/^الثلاثاء/i,/^الأربعاء/i,/^الخميس/i,/^الجمعة/i,/^السبت/i],any:[/^أح/i,/^اث/i,/^ث/i,/^أر/i,/^خ/i,/^ج/i,/^س/i]},defaultParseWidth:`any`}),dayPeriod:n({matchPatterns:{narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},defaultMatchWidth:`any`,parsePatterns:{any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},defaultParseWidth:`any`})},options:{weekStartsOn:0,firstWeekContainsDate:1}};export{c as arDZ,c as default};
@@ -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:`أقل من ثانية`,two:`أقل من ثانيتين`,threeToTen:`أقل من {{count}} ثواني`,other:`أقل من {{count}} ثانية`},xSeconds:{one:`ثانية`,two:`ثانيتين`,threeToTen:`{{count}} ثواني`,other:`{{count}} ثانية`},halfAMinute:`نص دقيقة`,lessThanXMinutes:{one:`أقل من دقيقة`,two:`أقل من دقيقتين`,threeToTen:`أقل من {{count}} دقايق`,other:`أقل من {{count}} دقيقة`},xMinutes:{one:`دقيقة`,two:`دقيقتين`,threeToTen:`{{count}} دقايق`,other:`{{count}} دقيقة`},aboutXHours:{one:`حوالي ساعة`,two:`حوالي ساعتين`,threeToTen:`حوالي {{count}} ساعات`,other:`حوالي {{count}} ساعة`},xHours:{one:`ساعة`,two:`ساعتين`,threeToTen:`{{count}} ساعات`,other:`{{count}} ساعة`},xDays:{one:`يوم`,two:`يومين`,threeToTen:`{{count}} أيام`,other:`{{count}} يوم`},aboutXWeeks:{one:`حوالي أسبوع`,two:`حوالي أسبوعين`,threeToTen:`حوالي {{count}} أسابيع`,other:`حوالي {{count}} أسبوع`},xWeeks:{one:`أسبوع`,two:`أسبوعين`,threeToTen:`{{count}} أسابيع`,other:`{{count}} أسبوع`},aboutXMonths:{one:`حوالي شهر`,two:`حوالي شهرين`,threeToTen:`حوالي {{count}} أشهر`,other:`حوالي {{count}} شهر`},xMonths:{one:`شهر`,two:`شهرين`,threeToTen:`{{count}} أشهر`,other:`{{count}} شهر`},aboutXYears:{one:`حوالي سنة`,two:`حوالي سنتين`,threeToTen:`حوالي {{count}} سنين`,other:`حوالي {{count}} سنة`},xYears:{one:`عام`,two:`عامين`,threeToTen:`{{count}} أعوام`,other:`{{count}} عام`},overXYears:{one:`أكثر من سنة`,two:`أكثر من سنتين`,threeToTen:`أكثر من {{count}} سنين`,other:`أكثر من {{count}} سنة`},almostXYears:{one:`عام تقريبًا`,two:`عامين تقريبًا`,threeToTen:`{{count}} أعوام تقريبًا`,other:`{{count}} عام تقريبًا`}},a=(e,t,n)=>{let r,a=i[e];return r=typeof a==`string`?a:t===1?a.one:t===2?a.two:t<=10?a.threeToTen.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، do MMMM y`,long:`do MMMM y`,medium:`dd/MMM/y`,short:`d/MM/y`},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}} 'الساعة' {{time}}`,long:`{{date}} 'الساعة' {{time}}`,medium:`{{date}}, {{time}}`,short:`{{date}}, {{time}}`},defaultWidth:`full`})},s={lastWeek:`eeee 'اللي جاي الساعة' p`,yesterday:`'إمبارح الساعة' p`,today:`'النهاردة الساعة' p`,tomorrow:`'بكرة الساعة' p`,nextWeek:`eeee 'الساعة' p`,other:`P`},c={code:`ar-EG`,formatDistance:a,formatLong:o,formatRelative:(e,t,n,r)=>s[e],localize:{ordinalNumber:(e,t)=>String(e),era:n({values:{narrow:[`ق`,`ب`],abbreviated:[`ق.م`,`ب.م`],wide:[`قبل الميلاد`,`بعد الميلاد`]},defaultWidth:`wide`}),quarter:n({values:{narrow:[`1`,`2`,`3`,`4`],abbreviated:[`ر1`,`ر2`,`ر3`,`ر4`],wide:[`الربع الأول`,`الربع الثاني`,`الربع الثالث`,`الربع الرابع`]},defaultWidth:`wide`,argumentCallback:e=>e-1}),month:n({values:{narrow:[`ي`,`ف`,`م`,`أ`,`م`,`ي`,`ي`,`أ`,`س`,`أ`,`ن`,`د`],abbreviated:[`ينا`,`فبر`,`مارس`,`أبريل`,`مايو`,`يونـ`,`يولـ`,`أغسـ`,`سبتـ`,`أكتـ`,`نوفـ`,`ديسـ`],wide:[`يناير`,`فبراير`,`مارس`,`أبريل`,`مايو`,`يونيو`,`يوليو`,`أغسطس`,`سبتمبر`,`أكتوبر`,`نوفمبر`,`ديسمبر`]},defaultWidth:`wide`}),day:n({values:{narrow:[`ح`,`ن`,`ث`,`ر`,`خ`,`ج`,`س`],short:[`أحد`,`اثنين`,`ثلاثاء`,`أربعاء`,`خميس`,`جمعة`,`سبت`],abbreviated:[`أحد`,`اثنين`,`ثلاثاء`,`أربعاء`,`خميس`,`جمعة`,`سبت`],wide:[`الأحد`,`الاثنين`,`الثلاثاء`,`الأربعاء`,`الخميس`,`الجمعة`,`السبت`]},defaultWidth:`wide`}),dayPeriod:n({values:{narrow:{am:`ص`,pm:`م`,midnight:`ن`,noon:`ظ`,morning:`صباحاً`,afternoon:`بعد الظهر`,evening:`مساءً`,night:`ليلاً`},abbreviated:{am:`ص`,pm:`م`,midnight:`نصف الليل`,noon:`ظهراً`,morning:`صباحاً`,afternoon:`بعد الظهر`,evening:`مساءً`,night:`ليلاً`},wide:{am:`ص`,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:`ص`,pm:`م`,midnight:`نصف الليل`,morning:`في الصباح`,noon:`ظهراً`,afternoon:`بعد الظهر`,evening:`في المساء`,night:`في الليل`}},defaultFormattingWidth:`wide`})},match:{ordinalNumber:r({matchPattern:/^(\d+)/,parsePattern:/\d+/i,valueCallback:function(e){return parseInt(e,10)}}),era:e({matchPatterns:{narrow:/^(ق|ب)/g,abbreviated:/^(ق.م|ب.م)/g,wide:/^(قبل الميلاد|بعد الميلاد)/g},defaultMatchWidth:`wide`,parsePatterns:{any:[/^ق/g,/^ب/g]},defaultParseWidth:`any`}),quarter:e({matchPatterns:{narrow:/^[1234]/,abbreviated:/^ر[1234]/,wide:/^الربع (الأول|الثاني|الثالث|الرابع)/},defaultMatchWidth:`wide`,parsePatterns:{wide:[/الربع الأول/,/الربع الثاني/,/الربع الثالث/,/الربع الرابع/],any:[/1/,/2/,/3/,/4/]},defaultParseWidth:`any`,valueCallback:e=>e+1}),month:e({matchPatterns:{narrow:/^(ي|ف|م|أ|س|ن|د)/,abbreviated:/^(ينا|فبر|مارس|أبريل|مايو|يونـ|يولـ|أغسـ|سبتـ|أكتـ|نوفـ|ديسـ)/,wide:/^(يناير|فبراير|مارس|أبريل|مايو|يونيو|يوليو|أغسطس|سبتمبر|أكتوبر|نوفمبر|ديسمبر)/},defaultMatchWidth:`wide`,parsePatterns:{narrow:[/^ي/,/^ف/,/^م/,/^أ/,/^م/,/^ي/,/^ي/,/^أ/,/^س/,/^أ/,/^ن/,/^د/],any:[/^ينا/,/^فبر/,/^مارس/,/^أبريل/,/^مايو/,/^يون/,/^يول/,/^أغس/,/^سبت/,/^أكت/,/^نوف/,/^ديس/]},defaultParseWidth:`any`}),day:e({matchPatterns:{narrow:/^(ح|ن|ث|ر|خ|ج|س)/,short:/^(أحد|اثنين|ثلاثاء|أربعاء|خميس|جمعة|سبت)/,abbreviated:/^(أحد|اثنين|ثلاثاء|أربعاء|خميس|جمعة|سبت)/,wide:/^(الأحد|الاثنين|الثلاثاء|الأربعاء|الخميس|الجمعة|السبت)/},defaultMatchWidth:`wide`,parsePatterns:{narrow:[/^ح/,/^ن/,/^ث/,/^ر/,/^خ/,/^ج/,/^س/],any:[/أحد/,/اثنين/,/ثلاثاء/,/أربعاء/,/خميس/,/جمعة/,/سبت/]},defaultParseWidth:`any`}),dayPeriod:e({matchPatterns:{narrow:/^(ص|م|ن|ظ|في الصباح|بعد الظهر|في المساء|في الليل)/,abbreviated:/^(ص|م|نصف الليل|ظهراً|في الصباح|بعد الظهر|في المساء|في الليل)/,wide:/^(ص|م|نصف الليل|في الصباح|ظهراً|بعد الظهر|في المساء|في الليل)/,any:/^(ص|م|صباح|ظهر|مساء|ليل)/},defaultMatchWidth:`any`,parsePatterns:{any:{am:/^ص/,pm:/^م/,midnight:/^ن/,noon:/^ظ/,morning:/^ص/,afternoon:/^بعد/,evening:/^م/,night:/^ل/}},defaultParseWidth:`any`})},options:{weekStartsOn:0,firstWeekContainsDate:1}};export{c as arEG,c as default};
1
+ import{$r as e,Jr as t,Yr as n,Zr as r}from"./ui-components-D8wcRNrt.js";var i={lessThanXSeconds:{one:`أقل من ثانية`,two:`أقل من ثانيتين`,threeToTen:`أقل من {{count}} ثواني`,other:`أقل من {{count}} ثانية`},xSeconds:{one:`ثانية`,two:`ثانيتين`,threeToTen:`{{count}} ثواني`,other:`{{count}} ثانية`},halfAMinute:`نص دقيقة`,lessThanXMinutes:{one:`أقل من دقيقة`,two:`أقل من دقيقتين`,threeToTen:`أقل من {{count}} دقايق`,other:`أقل من {{count}} دقيقة`},xMinutes:{one:`دقيقة`,two:`دقيقتين`,threeToTen:`{{count}} دقايق`,other:`{{count}} دقيقة`},aboutXHours:{one:`حوالي ساعة`,two:`حوالي ساعتين`,threeToTen:`حوالي {{count}} ساعات`,other:`حوالي {{count}} ساعة`},xHours:{one:`ساعة`,two:`ساعتين`,threeToTen:`{{count}} ساعات`,other:`{{count}} ساعة`},xDays:{one:`يوم`,two:`يومين`,threeToTen:`{{count}} أيام`,other:`{{count}} يوم`},aboutXWeeks:{one:`حوالي أسبوع`,two:`حوالي أسبوعين`,threeToTen:`حوالي {{count}} أسابيع`,other:`حوالي {{count}} أسبوع`},xWeeks:{one:`أسبوع`,two:`أسبوعين`,threeToTen:`{{count}} أسابيع`,other:`{{count}} أسبوع`},aboutXMonths:{one:`حوالي شهر`,two:`حوالي شهرين`,threeToTen:`حوالي {{count}} أشهر`,other:`حوالي {{count}} شهر`},xMonths:{one:`شهر`,two:`شهرين`,threeToTen:`{{count}} أشهر`,other:`{{count}} شهر`},aboutXYears:{one:`حوالي سنة`,two:`حوالي سنتين`,threeToTen:`حوالي {{count}} سنين`,other:`حوالي {{count}} سنة`},xYears:{one:`عام`,two:`عامين`,threeToTen:`{{count}} أعوام`,other:`{{count}} عام`},overXYears:{one:`أكثر من سنة`,two:`أكثر من سنتين`,threeToTen:`أكثر من {{count}} سنين`,other:`أكثر من {{count}} سنة`},almostXYears:{one:`عام تقريبًا`,two:`عامين تقريبًا`,threeToTen:`{{count}} أعوام تقريبًا`,other:`{{count}} عام تقريبًا`}},a=(e,t,n)=>{let r,a=i[e];return r=typeof a==`string`?a:t===1?a.one:t===2?a.two:t<=10?a.threeToTen.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، do MMMM y`,long:`do MMMM y`,medium:`dd/MMM/y`,short:`d/MM/y`},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}} 'الساعة' {{time}}`,long:`{{date}} 'الساعة' {{time}}`,medium:`{{date}}, {{time}}`,short:`{{date}}, {{time}}`},defaultWidth:`full`})},s={lastWeek:`eeee 'اللي جاي الساعة' p`,yesterday:`'إمبارح الساعة' p`,today:`'النهاردة الساعة' p`,tomorrow:`'بكرة الساعة' p`,nextWeek:`eeee 'الساعة' p`,other:`P`},c={code:`ar-EG`,formatDistance:a,formatLong:o,formatRelative:(e,t,n,r)=>s[e],localize:{ordinalNumber:(e,t)=>String(e),era:r({values:{narrow:[`ق`,`ب`],abbreviated:[`ق.م`,`ب.م`],wide:[`قبل الميلاد`,`بعد الميلاد`]},defaultWidth:`wide`}),quarter:r({values:{narrow:[`1`,`2`,`3`,`4`],abbreviated:[`ر1`,`ر2`,`ر3`,`ر4`],wide:[`الربع الأول`,`الربع الثاني`,`الربع الثالث`,`الربع الرابع`]},defaultWidth:`wide`,argumentCallback:e=>e-1}),month:r({values:{narrow:[`ي`,`ف`,`م`,`أ`,`م`,`ي`,`ي`,`أ`,`س`,`أ`,`ن`,`د`],abbreviated:[`ينا`,`فبر`,`مارس`,`أبريل`,`مايو`,`يونـ`,`يولـ`,`أغسـ`,`سبتـ`,`أكتـ`,`نوفـ`,`ديسـ`],wide:[`يناير`,`فبراير`,`مارس`,`أبريل`,`مايو`,`يونيو`,`يوليو`,`أغسطس`,`سبتمبر`,`أكتوبر`,`نوفمبر`,`ديسمبر`]},defaultWidth:`wide`}),day:r({values:{narrow:[`ح`,`ن`,`ث`,`ر`,`خ`,`ج`,`س`],short:[`أحد`,`اثنين`,`ثلاثاء`,`أربعاء`,`خميس`,`جمعة`,`سبت`],abbreviated:[`أحد`,`اثنين`,`ثلاثاء`,`أربعاء`,`خميس`,`جمعة`,`سبت`],wide:[`الأحد`,`الاثنين`,`الثلاثاء`,`الأربعاء`,`الخميس`,`الجمعة`,`السبت`]},defaultWidth:`wide`}),dayPeriod:r({values:{narrow:{am:`ص`,pm:`م`,midnight:`ن`,noon:`ظ`,morning:`صباحاً`,afternoon:`بعد الظهر`,evening:`مساءً`,night:`ليلاً`},abbreviated:{am:`ص`,pm:`م`,midnight:`نصف الليل`,noon:`ظهراً`,morning:`صباحاً`,afternoon:`بعد الظهر`,evening:`مساءً`,night:`ليلاً`},wide:{am:`ص`,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:`ص`,pm:`م`,midnight:`نصف الليل`,morning:`في الصباح`,noon:`ظهراً`,afternoon:`بعد الظهر`,evening:`في المساء`,night:`في الليل`}},defaultFormattingWidth:`wide`})},match:{ordinalNumber:t({matchPattern:/^(\d+)/,parsePattern:/\d+/i,valueCallback:function(e){return parseInt(e,10)}}),era:n({matchPatterns:{narrow:/^(ق|ب)/g,abbreviated:/^(ق.م|ب.م)/g,wide:/^(قبل الميلاد|بعد الميلاد)/g},defaultMatchWidth:`wide`,parsePatterns:{any:[/^ق/g,/^ب/g]},defaultParseWidth:`any`}),quarter:n({matchPatterns:{narrow:/^[1234]/,abbreviated:/^ر[1234]/,wide:/^الربع (الأول|الثاني|الثالث|الرابع)/},defaultMatchWidth:`wide`,parsePatterns:{wide:[/الربع الأول/,/الربع الثاني/,/الربع الثالث/,/الربع الرابع/],any:[/1/,/2/,/3/,/4/]},defaultParseWidth:`any`,valueCallback:e=>e+1}),month:n({matchPatterns:{narrow:/^(ي|ف|م|أ|س|ن|د)/,abbreviated:/^(ينا|فبر|مارس|أبريل|مايو|يونـ|يولـ|أغسـ|سبتـ|أكتـ|نوفـ|ديسـ)/,wide:/^(يناير|فبراير|مارس|أبريل|مايو|يونيو|يوليو|أغسطس|سبتمبر|أكتوبر|نوفمبر|ديسمبر)/},defaultMatchWidth:`wide`,parsePatterns:{narrow:[/^ي/,/^ف/,/^م/,/^أ/,/^م/,/^ي/,/^ي/,/^أ/,/^س/,/^أ/,/^ن/,/^د/],any:[/^ينا/,/^فبر/,/^مارس/,/^أبريل/,/^مايو/,/^يون/,/^يول/,/^أغس/,/^سبت/,/^أكت/,/^نوف/,/^ديس/]},defaultParseWidth:`any`}),day:n({matchPatterns:{narrow:/^(ح|ن|ث|ر|خ|ج|س)/,short:/^(أحد|اثنين|ثلاثاء|أربعاء|خميس|جمعة|سبت)/,abbreviated:/^(أحد|اثنين|ثلاثاء|أربعاء|خميس|جمعة|سبت)/,wide:/^(الأحد|الاثنين|الثلاثاء|الأربعاء|الخميس|الجمعة|السبت)/},defaultMatchWidth:`wide`,parsePatterns:{narrow:[/^ح/,/^ن/,/^ث/,/^ر/,/^خ/,/^ج/,/^س/],any:[/أحد/,/اثنين/,/ثلاثاء/,/أربعاء/,/خميس/,/جمعة/,/سبت/]},defaultParseWidth:`any`}),dayPeriod:n({matchPatterns:{narrow:/^(ص|م|ن|ظ|في الصباح|بعد الظهر|في المساء|في الليل)/,abbreviated:/^(ص|م|نصف الليل|ظهراً|في الصباح|بعد الظهر|في المساء|في الليل)/,wide:/^(ص|م|نصف الليل|في الصباح|ظهراً|بعد الظهر|في المساء|في الليل)/,any:/^(ص|م|صباح|ظهر|مساء|ليل)/},defaultMatchWidth:`any`,parsePatterns:{any:{am:/^ص/,pm:/^م/,midnight:/^ن/,noon:/^ظ/,morning:/^ص/,afternoon:/^بعد/,evening:/^م/,night:/^ل/}},defaultParseWidth:`any`})},options:{weekStartsOn:0,firstWeekContainsDate:1}};export{c as arEG,c as default};
@@ -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:`أقل من ثانية واحدة`,two:`أقل من ثانتين`,threeToTen:`أقل من {{count}} ثواني`,other:`أقل من {{count}} ثانية`},xSeconds:{one:`ثانية واحدة`,two:`ثانتين`,threeToTen:`{{count}} ثواني`,other:`{{count}} ثانية`},halfAMinute:`نصف دقيقة`,lessThanXMinutes:{one:`أقل من دقيقة`,two:`أقل من دقيقتين`,threeToTen:`أقل من {{count}} دقائق`,other:`أقل من {{count}} دقيقة`},xMinutes:{one:`دقيقة واحدة`,two:`دقيقتين`,threeToTen:`{{count}} دقائق`,other:`{{count}} دقيقة`},aboutXHours:{one:`ساعة واحدة تقريباً`,two:`ساعتين تقريباً`,threeToTen:`{{count}} ساعات تقريباً`,other:`{{count}} ساعة تقريباً`},xHours:{one:`ساعة واحدة`,two:`ساعتين`,threeToTen:`{{count}} ساعات`,other:`{{count}} ساعة`},xDays:{one:`يوم واحد`,two:`يومين`,threeToTen:`{{count}} أيام`,other:`{{count}} يوم`},aboutXWeeks:{one:`أسبوع واحد تقريباً`,two:`أسبوعين تقريباً`,threeToTen:`{{count}} أسابيع تقريباً`,other:`{{count}} أسبوع تقريباً`},xWeeks:{one:`أسبوع واحد`,two:`أسبوعين`,threeToTen:`{{count}} أسابيع`,other:`{{count}} أسبوع`},aboutXMonths:{one:`شهر واحد تقريباً`,two:`شهرين تقريباً`,threeToTen:`{{count}} أشهر تقريباً`,other:`{{count}} شهر تقريباً`},xMonths:{one:`شهر واحد`,two:`شهرين`,threeToTen:`{{count}} أشهر`,other:`{{count}} شهر`},aboutXYears:{one:`عام واحد تقريباً`,two:`عامين تقريباً`,threeToTen:`{{count}} أعوام تقريباً`,other:`{{count}} عام تقريباً`},xYears:{one:`عام واحد`,two:`عامين`,threeToTen:`{{count}} أعوام`,other:`{{count}} عام`},overXYears:{one:`أكثر من عام`,two:`أكثر من عامين`,threeToTen:`أكثر من {{count}} أعوام`,other:`أكثر من {{count}} عام`},almostXYears:{one:`عام واحد تقريباً`,two:`عامين تقريباً`,threeToTen:`{{count}} أعوام تقريباً`,other:`{{count}} عام تقريباً`}},a=(e,t,n)=>{n||={};let r=i[e],a;return a=typeof r==`string`?r:t===1?r.one:t===2?r.two:t<=10?r.threeToTen.replace(`{{count}}`,String(t)):r.other.replace(`{{count}}`,String(t)),n.addSuffix?n.comparison&&n.comparison>0?`في خلال `+a:`منذ `+a:a},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}} 'عند' {{time}}`,long:`{{date}} 'عند' {{time}}`,medium:`{{date}}, {{time}}`,short:`{{date}}, {{time}}`},defaultWidth:`full`})},s={lastWeek:`'أخر' eeee 'عند' p`,yesterday:`'أمس عند' p`,today:`'اليوم عند' p`,tomorrow:`'غداً عند' p`,nextWeek:`eeee 'عند' p`,other:`P`},c={code:`ar-MA`,formatDistance:a,formatLong:o,formatRelative:(e,t,n,r)=>s[e],localize:{ordinalNumber:e=>String(e),era:n({values:{narrow:[`ق`,`ب`],abbreviated:[`ق.م.`,`ب.م.`],wide:[`قبل الميلاد`,`بعد الميلاد`]},defaultWidth:`wide`}),quarter:n({values:{narrow:[`1`,`2`,`3`,`4`],abbreviated:[`ر1`,`ر2`,`ر3`,`ر4`],wide:[`الربع الأول`,`الربع الثاني`,`الربع الثالث`,`الربع الرابع`]},defaultWidth:`wide`,argumentCallback:e=>Number(e)-1}),month:n({values:{narrow:[`ي`,`ف`,`م`,`أ`,`م`,`ي`,`ي`,`غ`,`ش`,`أ`,`ن`,`د`],abbreviated:[`ينا`,`فبر`,`مارس`,`أبريل`,`ماي`,`يونـ`,`يولـ`,`غشت`,`شتنـ`,`أكتـ`,`نونـ`,`دجنـ`],wide:[`يناير`,`فبراير`,`مارس`,`أبريل`,`ماي`,`يونيو`,`يوليوز`,`غشت`,`شتنبر`,`أكتوبر`,`نونبر`,`دجنبر`]},defaultWidth:`wide`}),day:n({values:{narrow:[`ح`,`ن`,`ث`,`ر`,`خ`,`ج`,`س`],short:[`أحد`,`اثنين`,`ثلاثاء`,`أربعاء`,`خميس`,`جمعة`,`سبت`],abbreviated:[`أحد`,`اثنـ`,`ثلا`,`أربـ`,`خميـ`,`جمعة`,`سبت`],wide:[`الأحد`,`الإثنين`,`الثلاثاء`,`الأربعاء`,`الخميس`,`الجمعة`,`السبت`]},defaultWidth:`wide`}),dayPeriod:n({values:{narrow:{am:`ص`,pm:`م`,midnight:`ن`,noon:`ظ`,morning:`صباحاً`,afternoon:`بعد الظهر`,evening:`مساءاً`,night:`ليلاً`},abbreviated:{am:`ص`,pm:`م`,midnight:`نصف الليل`,noon:`ظهر`,morning:`صباحاً`,afternoon:`بعد الظهر`,evening:`مساءاً`,night:`ليلاً`},wide:{am:`ص`,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:`ص`,pm:`م`,midnight:`نصف الليل`,noon:`ظهر`,morning:`صباحاً`,afternoon:`بعد الظـهر`,evening:`في المساء`,night:`في الليل`}},defaultFormattingWidth:`wide`})},match:{ordinalNumber:r({matchPattern:/^(\d+)(th|st|nd|rd)?/i,parsePattern:/\d+/i,valueCallback:e=>parseInt(e,10)}),era:e({matchPatterns:{narrow:/^(ق|ب)/i,abbreviated:/^(ق\.?\s?م\.?|ق\.?\s?م\.?\s?|a\.?\s?d\.?|c\.?\s?)/i,wide:/^(قبل الميلاد|قبل الميلاد|بعد الميلاد|بعد الميلاد)/i},defaultMatchWidth:`wide`,parsePatterns:{any:[/^قبل/i,/^بعد/i]},defaultParseWidth:`any`}),quarter:e({matchPatterns:{narrow:/^[1234]/i,abbreviated:/^ر[1234]/i,wide:/^الربع [1234]/i},defaultMatchWidth:`wide`,parsePatterns:{any:[/1/i,/2/i,/3/i,/4/i]},defaultParseWidth:`any`,valueCallback:e=>Number(e)+1}),month:e({matchPatterns:{narrow:/^[يفمأمسند]/i,abbreviated:/^(ين|ف|مار|أب|ماي|يون|يول|غش|شت|أك|ن|د)/i,wide:/^(ين|ف|مار|أب|ماي|يون|يول|غش|شت|أك|ن|د)/i},defaultMatchWidth:`wide`,parsePatterns:{narrow:[/^ي/i,/^ف/i,/^م/i,/^أ/i,/^م/i,/^ي/i,/^ي/i,/^غ/i,/^ش/i,/^أ/i,/^ن/i,/^د/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],wide:[/^الأحد/i,/^الإثنين/i,/^الثلاثاء/i,/^الأربعاء/i,/^الخميس/i,/^الجمعة/i,/^السبت/i],any:[/^أح/i,/^إث/i,/^ث/i,/^أر/i,/^خ/i,/^ج/i,/^س/i]},defaultParseWidth:`any`}),dayPeriod:e({matchPatterns:{narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},defaultMatchWidth:`any`,parsePatterns:{any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},defaultParseWidth:`any`})},options:{weekStartsOn:1,firstWeekContainsDate:1}};export{c as arMA,c as default};
1
+ import{$r as e,Jr as t,Yr as n,Zr as r}from"./ui-components-D8wcRNrt.js";var i={lessThanXSeconds:{one:`أقل من ثانية واحدة`,two:`أقل من ثانتين`,threeToTen:`أقل من {{count}} ثواني`,other:`أقل من {{count}} ثانية`},xSeconds:{one:`ثانية واحدة`,two:`ثانتين`,threeToTen:`{{count}} ثواني`,other:`{{count}} ثانية`},halfAMinute:`نصف دقيقة`,lessThanXMinutes:{one:`أقل من دقيقة`,two:`أقل من دقيقتين`,threeToTen:`أقل من {{count}} دقائق`,other:`أقل من {{count}} دقيقة`},xMinutes:{one:`دقيقة واحدة`,two:`دقيقتين`,threeToTen:`{{count}} دقائق`,other:`{{count}} دقيقة`},aboutXHours:{one:`ساعة واحدة تقريباً`,two:`ساعتين تقريباً`,threeToTen:`{{count}} ساعات تقريباً`,other:`{{count}} ساعة تقريباً`},xHours:{one:`ساعة واحدة`,two:`ساعتين`,threeToTen:`{{count}} ساعات`,other:`{{count}} ساعة`},xDays:{one:`يوم واحد`,two:`يومين`,threeToTen:`{{count}} أيام`,other:`{{count}} يوم`},aboutXWeeks:{one:`أسبوع واحد تقريباً`,two:`أسبوعين تقريباً`,threeToTen:`{{count}} أسابيع تقريباً`,other:`{{count}} أسبوع تقريباً`},xWeeks:{one:`أسبوع واحد`,two:`أسبوعين`,threeToTen:`{{count}} أسابيع`,other:`{{count}} أسبوع`},aboutXMonths:{one:`شهر واحد تقريباً`,two:`شهرين تقريباً`,threeToTen:`{{count}} أشهر تقريباً`,other:`{{count}} شهر تقريباً`},xMonths:{one:`شهر واحد`,two:`شهرين`,threeToTen:`{{count}} أشهر`,other:`{{count}} شهر`},aboutXYears:{one:`عام واحد تقريباً`,two:`عامين تقريباً`,threeToTen:`{{count}} أعوام تقريباً`,other:`{{count}} عام تقريباً`},xYears:{one:`عام واحد`,two:`عامين`,threeToTen:`{{count}} أعوام`,other:`{{count}} عام`},overXYears:{one:`أكثر من عام`,two:`أكثر من عامين`,threeToTen:`أكثر من {{count}} أعوام`,other:`أكثر من {{count}} عام`},almostXYears:{one:`عام واحد تقريباً`,two:`عامين تقريباً`,threeToTen:`{{count}} أعوام تقريباً`,other:`{{count}} عام تقريباً`}},a=(e,t,n)=>{n||={};let r=i[e],a;return a=typeof r==`string`?r:t===1?r.one:t===2?r.two:t<=10?r.threeToTen.replace(`{{count}}`,String(t)):r.other.replace(`{{count}}`,String(t)),n.addSuffix?n.comparison&&n.comparison>0?`في خلال `+a:`منذ `+a:a},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}} 'عند' {{time}}`,long:`{{date}} 'عند' {{time}}`,medium:`{{date}}, {{time}}`,short:`{{date}}, {{time}}`},defaultWidth:`full`})},s={lastWeek:`'أخر' eeee 'عند' p`,yesterday:`'أمس عند' p`,today:`'اليوم عند' p`,tomorrow:`'غداً عند' p`,nextWeek:`eeee 'عند' p`,other:`P`},c={code:`ar-MA`,formatDistance:a,formatLong:o,formatRelative:(e,t,n,r)=>s[e],localize:{ordinalNumber:e=>String(e),era:r({values:{narrow:[`ق`,`ب`],abbreviated:[`ق.م.`,`ب.م.`],wide:[`قبل الميلاد`,`بعد الميلاد`]},defaultWidth:`wide`}),quarter:r({values:{narrow:[`1`,`2`,`3`,`4`],abbreviated:[`ر1`,`ر2`,`ر3`,`ر4`],wide:[`الربع الأول`,`الربع الثاني`,`الربع الثالث`,`الربع الرابع`]},defaultWidth:`wide`,argumentCallback:e=>Number(e)-1}),month:r({values:{narrow:[`ي`,`ف`,`م`,`أ`,`م`,`ي`,`ي`,`غ`,`ش`,`أ`,`ن`,`د`],abbreviated:[`ينا`,`فبر`,`مارس`,`أبريل`,`ماي`,`يونـ`,`يولـ`,`غشت`,`شتنـ`,`أكتـ`,`نونـ`,`دجنـ`],wide:[`يناير`,`فبراير`,`مارس`,`أبريل`,`ماي`,`يونيو`,`يوليوز`,`غشت`,`شتنبر`,`أكتوبر`,`نونبر`,`دجنبر`]},defaultWidth:`wide`}),day:r({values:{narrow:[`ح`,`ن`,`ث`,`ر`,`خ`,`ج`,`س`],short:[`أحد`,`اثنين`,`ثلاثاء`,`أربعاء`,`خميس`,`جمعة`,`سبت`],abbreviated:[`أحد`,`اثنـ`,`ثلا`,`أربـ`,`خميـ`,`جمعة`,`سبت`],wide:[`الأحد`,`الإثنين`,`الثلاثاء`,`الأربعاء`,`الخميس`,`الجمعة`,`السبت`]},defaultWidth:`wide`}),dayPeriod:r({values:{narrow:{am:`ص`,pm:`م`,midnight:`ن`,noon:`ظ`,morning:`صباحاً`,afternoon:`بعد الظهر`,evening:`مساءاً`,night:`ليلاً`},abbreviated:{am:`ص`,pm:`م`,midnight:`نصف الليل`,noon:`ظهر`,morning:`صباحاً`,afternoon:`بعد الظهر`,evening:`مساءاً`,night:`ليلاً`},wide:{am:`ص`,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:`ص`,pm:`م`,midnight:`نصف الليل`,noon:`ظهر`,morning:`صباحاً`,afternoon:`بعد الظـهر`,evening:`في المساء`,night:`في الليل`}},defaultFormattingWidth:`wide`})},match:{ordinalNumber:t({matchPattern:/^(\d+)(th|st|nd|rd)?/i,parsePattern:/\d+/i,valueCallback:e=>parseInt(e,10)}),era:n({matchPatterns:{narrow:/^(ق|ب)/i,abbreviated:/^(ق\.?\s?م\.?|ق\.?\s?م\.?\s?|a\.?\s?d\.?|c\.?\s?)/i,wide:/^(قبل الميلاد|قبل الميلاد|بعد الميلاد|بعد الميلاد)/i},defaultMatchWidth:`wide`,parsePatterns:{any:[/^قبل/i,/^بعد/i]},defaultParseWidth:`any`}),quarter:n({matchPatterns:{narrow:/^[1234]/i,abbreviated:/^ر[1234]/i,wide:/^الربع [1234]/i},defaultMatchWidth:`wide`,parsePatterns:{any:[/1/i,/2/i,/3/i,/4/i]},defaultParseWidth:`any`,valueCallback:e=>Number(e)+1}),month:n({matchPatterns:{narrow:/^[يفمأمسند]/i,abbreviated:/^(ين|ف|مار|أب|ماي|يون|يول|غش|شت|أك|ن|د)/i,wide:/^(ين|ف|مار|أب|ماي|يون|يول|غش|شت|أك|ن|د)/i},defaultMatchWidth:`wide`,parsePatterns:{narrow:[/^ي/i,/^ف/i,/^م/i,/^أ/i,/^م/i,/^ي/i,/^ي/i,/^غ/i,/^ش/i,/^أ/i,/^ن/i,/^د/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],wide:[/^الأحد/i,/^الإثنين/i,/^الثلاثاء/i,/^الأربعاء/i,/^الخميس/i,/^الجمعة/i,/^السبت/i],any:[/^أح/i,/^إث/i,/^ث/i,/^أر/i,/^خ/i,/^ج/i,/^س/i]},defaultParseWidth:`any`}),dayPeriod:n({matchPatterns:{narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},defaultMatchWidth:`any`,parsePatterns:{any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},defaultParseWidth:`any`})},options:{weekStartsOn:1,firstWeekContainsDate:1}};export{c as arMA,c as default};
@@ -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:`أقل من ثانية واحدة`,two:`أقل من ثانتين`,threeToTen:`أقل من {{count}} ثواني`,other:`أقل من {{count}} ثانية`},xSeconds:{one:`ثانية واحدة`,two:`ثانتين`,threeToTen:`{{count}} ثواني`,other:`{{count}} ثانية`},halfAMinute:`نصف دقيقة`,lessThanXMinutes:{one:`أقل من دقيقة`,two:`أقل من دقيقتين`,threeToTen:`أقل من {{count}} دقائق`,other:`أقل من {{count}} دقيقة`},xMinutes:{one:`دقيقة واحدة`,two:`دقيقتين`,threeToTen:`{{count}} دقائق`,other:`{{count}} دقيقة`},aboutXHours:{one:`ساعة واحدة تقريباً`,two:`ساعتين تقريباً`,threeToTen:`{{count}} ساعات تقريباً`,other:`{{count}} ساعة تقريباً`},xHours:{one:`ساعة واحدة`,two:`ساعتين`,threeToTen:`{{count}} ساعات`,other:`{{count}} ساعة`},xDays:{one:`يوم واحد`,two:`يومين`,threeToTen:`{{count}} أيام`,other:`{{count}} يوم`},aboutXWeeks:{one:`أسبوع واحد تقريباً`,two:`أسبوعين تقريباً`,threeToTen:`{{count}} أسابيع تقريباً`,other:`{{count}} أسبوع تقريباً`},xWeeks:{one:`أسبوع واحد`,two:`أسبوعين`,threeToTen:`{{count}} أسابيع`,other:`{{count}} أسبوع`},aboutXMonths:{one:`شهر واحد تقريباً`,two:`شهرين تقريباً`,threeToTen:`{{count}} أشهر تقريباً`,other:`{{count}} شهر تقريباً`},xMonths:{one:`شهر واحد`,two:`شهرين`,threeToTen:`{{count}} أشهر`,other:`{{count}} شهر`},aboutXYears:{one:`عام واحد تقريباً`,two:`عامين تقريباً`,threeToTen:`{{count}} أعوام تقريباً`,other:`{{count}} عام تقريباً`},xYears:{one:`عام واحد`,two:`عامين`,threeToTen:`{{count}} أعوام`,other:`{{count}} عام`},overXYears:{one:`أكثر من عام`,two:`أكثر من عامين`,threeToTen:`أكثر من {{count}} أعوام`,other:`أكثر من {{count}} عام`},almostXYears:{one:`عام واحد تقريباً`,two:`عامين تقريباً`,threeToTen:`{{count}} أعوام تقريباً`,other:`{{count}} عام تقريباً`}},a=(e,t,n)=>{let r,a=i[e];return r=typeof a==`string`?a:t===1?a.one:t===2?a.two:t<=10?a.threeToTen.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, 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}} 'عند' {{time}}`,long:`{{date}} 'عند' {{time}}`,medium:`{{date}}, {{time}}`,short:`{{date}}, {{time}}`},defaultWidth:`full`})},s={lastWeek:`'أخر' eeee 'عند' p`,yesterday:`'أمس عند' p`,today:`'اليوم عند' p`,tomorrow:`'غداً عند' p`,nextWeek:`eeee 'عند' p`,other:`P`},c={code:`ar-SA`,formatDistance:a,formatLong:o,formatRelative:(e,t,n,r)=>s[e],localize:{ordinalNumber:e=>String(e),era:n({values:{narrow:[`ق`,`ب`],abbreviated:[`ق.م.`,`ب.م.`],wide:[`قبل الميلاد`,`بعد الميلاد`]},defaultWidth:`wide`}),quarter:n({values:{narrow:[`1`,`2`,`3`,`4`],abbreviated:[`ر1`,`ر2`,`ر3`,`ر4`],wide:[`الربع الأول`,`الربع الثاني`,`الربع الثالث`,`الربع الرابع`]},defaultWidth:`wide`,argumentCallback:e=>e-1}),month:n({values:{narrow:[`ي`,`ف`,`م`,`أ`,`م`,`ي`,`ي`,`أ`,`س`,`أ`,`ن`,`د`],abbreviated:[`ينا`,`فبر`,`مارس`,`أبريل`,`مايو`,`يونـ`,`يولـ`,`أغسـ`,`سبتـ`,`أكتـ`,`نوفـ`,`ديسـ`],wide:[`يناير`,`فبراير`,`مارس`,`أبريل`,`مايو`,`يونيو`,`يوليو`,`أغسطس`,`سبتمبر`,`أكتوبر`,`نوفمبر`,`ديسمبر`]},defaultWidth:`wide`}),day:n({values:{narrow:[`ح`,`ن`,`ث`,`ر`,`خ`,`ج`,`س`],short:[`أحد`,`اثنين`,`ثلاثاء`,`أربعاء`,`خميس`,`جمعة`,`سبت`],abbreviated:[`أحد`,`اثنـ`,`ثلا`,`أربـ`,`خميـ`,`جمعة`,`سبت`],wide:[`الأحد`,`الاثنين`,`الثلاثاء`,`الأربعاء`,`الخميس`,`الجمعة`,`السبت`]},defaultWidth:`wide`}),dayPeriod:n({values:{narrow:{am:`ص`,pm:`م`,midnight:`ن`,noon:`ظ`,morning:`صباحاً`,afternoon:`بعد الظهر`,evening:`مساءاً`,night:`ليلاً`},abbreviated:{am:`ص`,pm:`م`,midnight:`نصف الليل`,noon:`ظهر`,morning:`صباحاً`,afternoon:`بعد الظهر`,evening:`مساءاً`,night:`ليلاً`},wide:{am:`ص`,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:`ص`,pm:`م`,midnight:`نصف الليل`,noon:`ظهر`,morning:`صباحاً`,afternoon:`بعد الظـهر`,evening:`في المساء`,night:`في الليل`}},defaultFormattingWidth:`wide`})},match:{ordinalNumber:r({matchPattern:/^(\d+)(th|st|nd|rd)?/i,parsePattern:/\d+/i,valueCallback:e=>parseInt(e,10)}),era:e({matchPatterns:{narrow:/^(ق|ب)/i,abbreviated:/^(ق\.?\s?م\.?|ق\.?\s?م\.?\s?|a\.?\s?d\.?|c\.?\s?)/i,wide:/^(قبل الميلاد|قبل الميلاد|بعد الميلاد|بعد الميلاد)/i},defaultMatchWidth:`wide`,parsePatterns:{any:[/^قبل/i,/^بعد/i]},defaultParseWidth:`any`}),quarter:e({matchPatterns:{narrow:/^[1234]/i,abbreviated:/^ر[1234]/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:/^[يفمأمسند]/i,abbreviated:/^(ين|ف|مار|أب|ماي|يون|يول|أغ|س|أك|ن|د)/i,wide:/^(ين|ف|مار|أب|ماي|يون|يول|أغ|س|أك|ن|د)/i},defaultMatchWidth:`wide`,parsePatterns:{narrow:[/^ي/i,/^ف/i,/^م/i,/^أ/i,/^م/i,/^ي/i,/^ي/i,/^أ/i,/^س/i,/^أ/i,/^ن/i,/^د/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],wide:[/^الأحد/i,/^الاثنين/i,/^الثلاثاء/i,/^الأربعاء/i,/^الخميس/i,/^الجمعة/i,/^السبت/i],any:[/^أح/i,/^اث/i,/^ث/i,/^أر/i,/^خ/i,/^ج/i,/^س/i]},defaultParseWidth:`any`}),dayPeriod:e({matchPatterns:{narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},defaultMatchWidth:`any`,parsePatterns:{any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},defaultParseWidth:`any`})},options:{weekStartsOn:0,firstWeekContainsDate:1}};export{c as arSA,c as default};
1
+ import{$r as e,Jr as t,Yr as n,Zr as r}from"./ui-components-D8wcRNrt.js";var i={lessThanXSeconds:{one:`أقل من ثانية واحدة`,two:`أقل من ثانتين`,threeToTen:`أقل من {{count}} ثواني`,other:`أقل من {{count}} ثانية`},xSeconds:{one:`ثانية واحدة`,two:`ثانتين`,threeToTen:`{{count}} ثواني`,other:`{{count}} ثانية`},halfAMinute:`نصف دقيقة`,lessThanXMinutes:{one:`أقل من دقيقة`,two:`أقل من دقيقتين`,threeToTen:`أقل من {{count}} دقائق`,other:`أقل من {{count}} دقيقة`},xMinutes:{one:`دقيقة واحدة`,two:`دقيقتين`,threeToTen:`{{count}} دقائق`,other:`{{count}} دقيقة`},aboutXHours:{one:`ساعة واحدة تقريباً`,two:`ساعتين تقريباً`,threeToTen:`{{count}} ساعات تقريباً`,other:`{{count}} ساعة تقريباً`},xHours:{one:`ساعة واحدة`,two:`ساعتين`,threeToTen:`{{count}} ساعات`,other:`{{count}} ساعة`},xDays:{one:`يوم واحد`,two:`يومين`,threeToTen:`{{count}} أيام`,other:`{{count}} يوم`},aboutXWeeks:{one:`أسبوع واحد تقريباً`,two:`أسبوعين تقريباً`,threeToTen:`{{count}} أسابيع تقريباً`,other:`{{count}} أسبوع تقريباً`},xWeeks:{one:`أسبوع واحد`,two:`أسبوعين`,threeToTen:`{{count}} أسابيع`,other:`{{count}} أسبوع`},aboutXMonths:{one:`شهر واحد تقريباً`,two:`شهرين تقريباً`,threeToTen:`{{count}} أشهر تقريباً`,other:`{{count}} شهر تقريباً`},xMonths:{one:`شهر واحد`,two:`شهرين`,threeToTen:`{{count}} أشهر`,other:`{{count}} شهر`},aboutXYears:{one:`عام واحد تقريباً`,two:`عامين تقريباً`,threeToTen:`{{count}} أعوام تقريباً`,other:`{{count}} عام تقريباً`},xYears:{one:`عام واحد`,two:`عامين`,threeToTen:`{{count}} أعوام`,other:`{{count}} عام`},overXYears:{one:`أكثر من عام`,two:`أكثر من عامين`,threeToTen:`أكثر من {{count}} أعوام`,other:`أكثر من {{count}} عام`},almostXYears:{one:`عام واحد تقريباً`,two:`عامين تقريباً`,threeToTen:`{{count}} أعوام تقريباً`,other:`{{count}} عام تقريباً`}},a=(e,t,n)=>{let r,a=i[e];return r=typeof a==`string`?a:t===1?a.one:t===2?a.two:t<=10?a.threeToTen.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, 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}} 'عند' {{time}}`,long:`{{date}} 'عند' {{time}}`,medium:`{{date}}, {{time}}`,short:`{{date}}, {{time}}`},defaultWidth:`full`})},s={lastWeek:`'أخر' eeee 'عند' p`,yesterday:`'أمس عند' p`,today:`'اليوم عند' p`,tomorrow:`'غداً عند' p`,nextWeek:`eeee 'عند' p`,other:`P`},c={code:`ar-SA`,formatDistance:a,formatLong:o,formatRelative:(e,t,n,r)=>s[e],localize:{ordinalNumber:e=>String(e),era:r({values:{narrow:[`ق`,`ب`],abbreviated:[`ق.م.`,`ب.م.`],wide:[`قبل الميلاد`,`بعد الميلاد`]},defaultWidth:`wide`}),quarter:r({values:{narrow:[`1`,`2`,`3`,`4`],abbreviated:[`ر1`,`ر2`,`ر3`,`ر4`],wide:[`الربع الأول`,`الربع الثاني`,`الربع الثالث`,`الربع الرابع`]},defaultWidth:`wide`,argumentCallback:e=>e-1}),month:r({values:{narrow:[`ي`,`ف`,`م`,`أ`,`م`,`ي`,`ي`,`أ`,`س`,`أ`,`ن`,`د`],abbreviated:[`ينا`,`فبر`,`مارس`,`أبريل`,`مايو`,`يونـ`,`يولـ`,`أغسـ`,`سبتـ`,`أكتـ`,`نوفـ`,`ديسـ`],wide:[`يناير`,`فبراير`,`مارس`,`أبريل`,`مايو`,`يونيو`,`يوليو`,`أغسطس`,`سبتمبر`,`أكتوبر`,`نوفمبر`,`ديسمبر`]},defaultWidth:`wide`}),day:r({values:{narrow:[`ح`,`ن`,`ث`,`ر`,`خ`,`ج`,`س`],short:[`أحد`,`اثنين`,`ثلاثاء`,`أربعاء`,`خميس`,`جمعة`,`سبت`],abbreviated:[`أحد`,`اثنـ`,`ثلا`,`أربـ`,`خميـ`,`جمعة`,`سبت`],wide:[`الأحد`,`الاثنين`,`الثلاثاء`,`الأربعاء`,`الخميس`,`الجمعة`,`السبت`]},defaultWidth:`wide`}),dayPeriod:r({values:{narrow:{am:`ص`,pm:`م`,midnight:`ن`,noon:`ظ`,morning:`صباحاً`,afternoon:`بعد الظهر`,evening:`مساءاً`,night:`ليلاً`},abbreviated:{am:`ص`,pm:`م`,midnight:`نصف الليل`,noon:`ظهر`,morning:`صباحاً`,afternoon:`بعد الظهر`,evening:`مساءاً`,night:`ليلاً`},wide:{am:`ص`,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:`ص`,pm:`م`,midnight:`نصف الليل`,noon:`ظهر`,morning:`صباحاً`,afternoon:`بعد الظـهر`,evening:`في المساء`,night:`في الليل`}},defaultFormattingWidth:`wide`})},match:{ordinalNumber:t({matchPattern:/^(\d+)(th|st|nd|rd)?/i,parsePattern:/\d+/i,valueCallback:e=>parseInt(e,10)}),era:n({matchPatterns:{narrow:/^(ق|ب)/i,abbreviated:/^(ق\.?\s?م\.?|ق\.?\s?م\.?\s?|a\.?\s?d\.?|c\.?\s?)/i,wide:/^(قبل الميلاد|قبل الميلاد|بعد الميلاد|بعد الميلاد)/i},defaultMatchWidth:`wide`,parsePatterns:{any:[/^قبل/i,/^بعد/i]},defaultParseWidth:`any`}),quarter:n({matchPatterns:{narrow:/^[1234]/i,abbreviated:/^ر[1234]/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:/^[يفمأمسند]/i,abbreviated:/^(ين|ف|مار|أب|ماي|يون|يول|أغ|س|أك|ن|د)/i,wide:/^(ين|ف|مار|أب|ماي|يون|يول|أغ|س|أك|ن|د)/i},defaultMatchWidth:`wide`,parsePatterns:{narrow:[/^ي/i,/^ف/i,/^م/i,/^أ/i,/^م/i,/^ي/i,/^ي/i,/^أ/i,/^س/i,/^أ/i,/^ن/i,/^د/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],wide:[/^الأحد/i,/^الاثنين/i,/^الثلاثاء/i,/^الأربعاء/i,/^الخميس/i,/^الجمعة/i,/^السبت/i],any:[/^أح/i,/^اث/i,/^ث/i,/^أر/i,/^خ/i,/^ج/i,/^س/i]},defaultParseWidth:`any`}),dayPeriod:n({matchPatterns:{narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},defaultMatchWidth:`any`,parsePatterns:{any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},defaultParseWidth:`any`})},options:{weekStartsOn:0,firstWeekContainsDate:1}};export{c as arSA,c as default};
@@ -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:`أقل من ثانية`,two:`أقل من زوز ثواني`,threeToTen:`أقل من {{count}} ثواني`,other:`أقل من {{count}} ثانية`},xSeconds:{one:`ثانية`,two:`زوز ثواني`,threeToTen:`{{count}} ثواني`,other:`{{count}} ثانية`},halfAMinute:`نص دقيقة`,lessThanXMinutes:{one:`أقل من دقيقة`,two:`أقل من دقيقتين`,threeToTen:`أقل من {{count}} دقايق`,other:`أقل من {{count}} دقيقة`},xMinutes:{one:`دقيقة`,two:`دقيقتين`,threeToTen:`{{count}} دقايق`,other:`{{count}} دقيقة`},aboutXHours:{one:`ساعة تقريب`,two:`ساعتين تقريب`,threeToTen:`{{count}} سوايع تقريب`,other:`{{count}} ساعة تقريب`},xHours:{one:`ساعة`,two:`ساعتين`,threeToTen:`{{count}} سوايع`,other:`{{count}} ساعة`},xDays:{one:`نهار`,two:`نهارين`,threeToTen:`{{count}} أيام`,other:`{{count}} يوم`},aboutXWeeks:{one:`جمعة تقريب`,two:`جمعتين تقريب`,threeToTen:`{{count}} جماع تقريب`,other:`{{count}} جمعة تقريب`},xWeeks:{one:`جمعة`,two:`جمعتين`,threeToTen:`{{count}} جماع`,other:`{{count}} جمعة`},aboutXMonths:{one:`شهر تقريب`,two:`شهرين تقريب`,threeToTen:`{{count}} أشهرة تقريب`,other:`{{count}} شهر تقريب`},xMonths:{one:`شهر`,two:`شهرين`,threeToTen:`{{count}} أشهرة`,other:`{{count}} شهر`},aboutXYears:{one:`عام تقريب`,two:`عامين تقريب`,threeToTen:`{{count}} أعوام تقريب`,other:`{{count}} عام تقريب`},xYears:{one:`عام`,two:`عامين`,threeToTen:`{{count}} أعوام`,other:`{{count}} عام`},overXYears:{one:`أكثر من عام`,two:`أكثر من عامين`,threeToTen:`أكثر من {{count}} أعوام`,other:`أكثر من {{count}} عام`},almostXYears:{one:`عام تقريب`,two:`عامين تقريب`,threeToTen:`{{count}} أعوام تقريب`,other:`{{count}} عام تقريب`}},a=(e,t,n)=>{let r=i[e],a;return a=typeof r==`string`?r:t===1?r.one:t===2?r.two:t<=10?r.threeToTen.replace(`{{count}}`,String(t)):r.other.replace(`{{count}}`,String(t)),n?.addSuffix?n.comparison&&n.comparison>0?`في `+a:`عندو `+a:a},o={date:t({formats:{full:`EEEE، do MMMM y`,long:`do MMMM y`,medium:`d MMM y`,short:`dd/MM/yyyy`},defaultWidth:`full`}),time:t({formats:{full:`HH:mm:ss`,long:`HH:mm:ss`,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:`eeee 'إلي فات مع' p`,yesterday:`'البارح مع' p`,today:`'اليوم مع' p`,tomorrow:`'غدوة مع' p`,nextWeek:`eeee 'الجمعة الجاية مع' p 'نهار'`,other:`P`},c={code:`ar-TN`,formatDistance:a,formatLong:o,formatRelative:e=>s[e],localize:{ordinalNumber:e=>String(e),era:n({values:{narrow:[`ق`,`ب`],abbreviated:[`ق.م.`,`ب.م.`],wide:[`قبل الميلاد`,`بعد الميلاد`]},defaultWidth:`wide`}),quarter:n({values:{narrow:[`1`,`2`,`3`,`4`],abbreviated:[`ر1`,`ر2`,`ر3`,`ر4`],wide:[`الربع الأول`,`الربع الثاني`,`الربع الثالث`,`الربع الرابع`]},defaultWidth:`wide`,argumentCallback:e=>e-1}),month:n({values:{narrow:[`د`,`ن`,`أ`,`س`,`أ`,`ج`,`ج`,`م`,`أ`,`م`,`ف`,`ج`],abbreviated:[`جانفي`,`فيفري`,`مارس`,`أفريل`,`ماي`,`جوان`,`جويلية`,`أوت`,`سبتمبر`,`أكتوبر`,`نوفمبر`,`ديسمبر`],wide:[`جانفي`,`فيفري`,`مارس`,`أفريل`,`ماي`,`جوان`,`جويلية`,`أوت`,`سبتمبر`,`أكتوبر`,`نوفمبر`,`ديسمبر`]},defaultWidth:`wide`}),day:n({values:{narrow:[`ح`,`ن`,`ث`,`ر`,`خ`,`ج`,`س`],short:[`أحد`,`اثنين`,`ثلاثاء`,`أربعاء`,`خميس`,`جمعة`,`سبت`],abbreviated:[`أحد`,`اثنين`,`ثلاثاء`,`أربعاء`,`خميس`,`جمعة`,`سبت`],wide:[`الأحد`,`الاثنين`,`الثلاثاء`,`الأربعاء`,`الخميس`,`الجمعة`,`السبت`]},defaultWidth:`wide`}),dayPeriod:n({values:{narrow:{am:`ص`,pm:`ع`,morning:`الصباح`,noon:`القايلة`,afternoon:`بعد القايلة`,evening:`العشية`,night:`الليل`,midnight:`نص الليل`},abbreviated:{am:`ص`,pm:`ع`,morning:`الصباح`,noon:`القايلة`,afternoon:`بعد القايلة`,evening:`العشية`,night:`الليل`,midnight:`نص الليل`},wide:{am:`ص`,pm:`ع`,morning:`الصباح`,noon:`القايلة`,afternoon:`بعد القايلة`,evening:`العشية`,night:`الليل`,midnight:`نص الليل`}},defaultWidth:`wide`,formattingValues:{narrow:{am:`ص`,pm:`ع`,morning:`في الصباح`,noon:`في القايلة`,afternoon:`بعد القايلة`,evening:`في العشية`,night:`في الليل`,midnight:`نص الليل`},abbreviated:{am:`ص`,pm:`ع`,morning:`في الصباح`,noon:`في القايلة`,afternoon:`بعد القايلة`,evening:`في العشية`,night:`في الليل`,midnight:`نص الليل`},wide:{am:`ص`,pm:`ع`,morning:`في الصباح`,noon:`في القايلة`,afternoon:`بعد القايلة`,evening:`في العشية`,night:`في الليل`,midnight:`نص الليل`}},defaultFormattingWidth:`wide`})},match:{ordinalNumber:r({matchPattern:/^(\d+)(th|st|nd|rd)?/i,parsePattern:/\d+/i,valueCallback:e=>parseInt(e,10)}),era:e({matchPatterns:{narrow:/[قب]/,abbreviated:/[قب]\.م\./,wide:/(قبل|بعد) الميلاد/},defaultMatchWidth:`wide`,parsePatterns:{any:[/قبل/,/بعد/]},defaultParseWidth:`any`}),quarter:e({matchPatterns:{narrow:/^[1234]/i,abbreviated:/ر[1234]/,wide:/الربع (الأول|الثاني|الثالث|الرابع)/},defaultMatchWidth:`wide`,parsePatterns:{any:[/1/i,/2/i,/3/i,/4/i]},defaultParseWidth:`any`,valueCallback:e=>e+1}),month:e({matchPatterns:{narrow:/^[جفمأسند]/,abbreviated:/^(جانفي|فيفري|مارس|أفريل|ماي|جوان|جويلية|أوت|سبتمبر|أكتوبر|نوفمبر|ديسمبر)/,wide:/^(جانفي|فيفري|مارس|أفريل|ماي|جوان|جويلية|أوت|سبتمبر|أكتوبر|نوفمبر|ديسمبر)/},defaultMatchWidth:`wide`,parsePatterns:{narrow:[/^ج/i,/^ف/i,/^م/i,/^أ/i,/^م/i,/^ج/i,/^ج/i,/^أ/i,/^س/i,/^أ/i,/^ن/i,/^د/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],wide:[/^الأحد/i,/^الاثنين/i,/^الثلاثاء/i,/^الأربعاء/i,/^الخميس/i,/^الجمعة/i,/^السبت/i],any:[/^أح/i,/^اث/i,/^ث/i,/^أر/i,/^خ/i,/^ج/i,/^س/i]},defaultParseWidth:`any`}),dayPeriod:e({matchPatterns:{narrow:/^(ص|ع|ن ل|ل|(في|مع) (صباح|قايلة|عشية|ليل))/,any:/^([صع]|نص الليل|قايلة|(في|مع) (صباح|قايلة|عشية|ليل))/},defaultMatchWidth:`any`,parsePatterns:{any:{am:/^ص/,pm:/^ع/,midnight:/نص الليل/,noon:/قايلة/,afternoon:/بعد القايلة/,morning:/صباح/,evening:/عشية/,night:/ليل/}},defaultParseWidth:`any`})},options:{weekStartsOn:1,firstWeekContainsDate:1}};export{c as arTN,c as default};
1
+ import{$r as e,Jr as t,Yr as n,Zr as r}from"./ui-components-D8wcRNrt.js";var i={lessThanXSeconds:{one:`أقل من ثانية`,two:`أقل من زوز ثواني`,threeToTen:`أقل من {{count}} ثواني`,other:`أقل من {{count}} ثانية`},xSeconds:{one:`ثانية`,two:`زوز ثواني`,threeToTen:`{{count}} ثواني`,other:`{{count}} ثانية`},halfAMinute:`نص دقيقة`,lessThanXMinutes:{one:`أقل من دقيقة`,two:`أقل من دقيقتين`,threeToTen:`أقل من {{count}} دقايق`,other:`أقل من {{count}} دقيقة`},xMinutes:{one:`دقيقة`,two:`دقيقتين`,threeToTen:`{{count}} دقايق`,other:`{{count}} دقيقة`},aboutXHours:{one:`ساعة تقريب`,two:`ساعتين تقريب`,threeToTen:`{{count}} سوايع تقريب`,other:`{{count}} ساعة تقريب`},xHours:{one:`ساعة`,two:`ساعتين`,threeToTen:`{{count}} سوايع`,other:`{{count}} ساعة`},xDays:{one:`نهار`,two:`نهارين`,threeToTen:`{{count}} أيام`,other:`{{count}} يوم`},aboutXWeeks:{one:`جمعة تقريب`,two:`جمعتين تقريب`,threeToTen:`{{count}} جماع تقريب`,other:`{{count}} جمعة تقريب`},xWeeks:{one:`جمعة`,two:`جمعتين`,threeToTen:`{{count}} جماع`,other:`{{count}} جمعة`},aboutXMonths:{one:`شهر تقريب`,two:`شهرين تقريب`,threeToTen:`{{count}} أشهرة تقريب`,other:`{{count}} شهر تقريب`},xMonths:{one:`شهر`,two:`شهرين`,threeToTen:`{{count}} أشهرة`,other:`{{count}} شهر`},aboutXYears:{one:`عام تقريب`,two:`عامين تقريب`,threeToTen:`{{count}} أعوام تقريب`,other:`{{count}} عام تقريب`},xYears:{one:`عام`,two:`عامين`,threeToTen:`{{count}} أعوام`,other:`{{count}} عام`},overXYears:{one:`أكثر من عام`,two:`أكثر من عامين`,threeToTen:`أكثر من {{count}} أعوام`,other:`أكثر من {{count}} عام`},almostXYears:{one:`عام تقريب`,two:`عامين تقريب`,threeToTen:`{{count}} أعوام تقريب`,other:`{{count}} عام تقريب`}},a=(e,t,n)=>{let r=i[e],a;return a=typeof r==`string`?r:t===1?r.one:t===2?r.two:t<=10?r.threeToTen.replace(`{{count}}`,String(t)):r.other.replace(`{{count}}`,String(t)),n?.addSuffix?n.comparison&&n.comparison>0?`في `+a:`عندو `+a:a},o={date:e({formats:{full:`EEEE، do MMMM y`,long:`do MMMM y`,medium:`d MMM y`,short:`dd/MM/yyyy`},defaultWidth:`full`}),time:e({formats:{full:`HH:mm:ss`,long:`HH:mm:ss`,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:`eeee 'إلي فات مع' p`,yesterday:`'البارح مع' p`,today:`'اليوم مع' p`,tomorrow:`'غدوة مع' p`,nextWeek:`eeee 'الجمعة الجاية مع' p 'نهار'`,other:`P`},c={code:`ar-TN`,formatDistance:a,formatLong:o,formatRelative:e=>s[e],localize:{ordinalNumber:e=>String(e),era:r({values:{narrow:[`ق`,`ب`],abbreviated:[`ق.م.`,`ب.م.`],wide:[`قبل الميلاد`,`بعد الميلاد`]},defaultWidth:`wide`}),quarter:r({values:{narrow:[`1`,`2`,`3`,`4`],abbreviated:[`ر1`,`ر2`,`ر3`,`ر4`],wide:[`الربع الأول`,`الربع الثاني`,`الربع الثالث`,`الربع الرابع`]},defaultWidth:`wide`,argumentCallback:e=>e-1}),month:r({values:{narrow:[`د`,`ن`,`أ`,`س`,`أ`,`ج`,`ج`,`م`,`أ`,`م`,`ف`,`ج`],abbreviated:[`جانفي`,`فيفري`,`مارس`,`أفريل`,`ماي`,`جوان`,`جويلية`,`أوت`,`سبتمبر`,`أكتوبر`,`نوفمبر`,`ديسمبر`],wide:[`جانفي`,`فيفري`,`مارس`,`أفريل`,`ماي`,`جوان`,`جويلية`,`أوت`,`سبتمبر`,`أكتوبر`,`نوفمبر`,`ديسمبر`]},defaultWidth:`wide`}),day:r({values:{narrow:[`ح`,`ن`,`ث`,`ر`,`خ`,`ج`,`س`],short:[`أحد`,`اثنين`,`ثلاثاء`,`أربعاء`,`خميس`,`جمعة`,`سبت`],abbreviated:[`أحد`,`اثنين`,`ثلاثاء`,`أربعاء`,`خميس`,`جمعة`,`سبت`],wide:[`الأحد`,`الاثنين`,`الثلاثاء`,`الأربعاء`,`الخميس`,`الجمعة`,`السبت`]},defaultWidth:`wide`}),dayPeriod:r({values:{narrow:{am:`ص`,pm:`ع`,morning:`الصباح`,noon:`القايلة`,afternoon:`بعد القايلة`,evening:`العشية`,night:`الليل`,midnight:`نص الليل`},abbreviated:{am:`ص`,pm:`ع`,morning:`الصباح`,noon:`القايلة`,afternoon:`بعد القايلة`,evening:`العشية`,night:`الليل`,midnight:`نص الليل`},wide:{am:`ص`,pm:`ع`,morning:`الصباح`,noon:`القايلة`,afternoon:`بعد القايلة`,evening:`العشية`,night:`الليل`,midnight:`نص الليل`}},defaultWidth:`wide`,formattingValues:{narrow:{am:`ص`,pm:`ع`,morning:`في الصباح`,noon:`في القايلة`,afternoon:`بعد القايلة`,evening:`في العشية`,night:`في الليل`,midnight:`نص الليل`},abbreviated:{am:`ص`,pm:`ع`,morning:`في الصباح`,noon:`في القايلة`,afternoon:`بعد القايلة`,evening:`في العشية`,night:`في الليل`,midnight:`نص الليل`},wide:{am:`ص`,pm:`ع`,morning:`في الصباح`,noon:`في القايلة`,afternoon:`بعد القايلة`,evening:`في العشية`,night:`في الليل`,midnight:`نص الليل`}},defaultFormattingWidth:`wide`})},match:{ordinalNumber:t({matchPattern:/^(\d+)(th|st|nd|rd)?/i,parsePattern:/\d+/i,valueCallback:e=>parseInt(e,10)}),era:n({matchPatterns:{narrow:/[قب]/,abbreviated:/[قب]\.م\./,wide:/(قبل|بعد) الميلاد/},defaultMatchWidth:`wide`,parsePatterns:{any:[/قبل/,/بعد/]},defaultParseWidth:`any`}),quarter:n({matchPatterns:{narrow:/^[1234]/i,abbreviated:/ر[1234]/,wide:/الربع (الأول|الثاني|الثالث|الرابع)/},defaultMatchWidth:`wide`,parsePatterns:{any:[/1/i,/2/i,/3/i,/4/i]},defaultParseWidth:`any`,valueCallback:e=>e+1}),month:n({matchPatterns:{narrow:/^[جفمأسند]/,abbreviated:/^(جانفي|فيفري|مارس|أفريل|ماي|جوان|جويلية|أوت|سبتمبر|أكتوبر|نوفمبر|ديسمبر)/,wide:/^(جانفي|فيفري|مارس|أفريل|ماي|جوان|جويلية|أوت|سبتمبر|أكتوبر|نوفمبر|ديسمبر)/},defaultMatchWidth:`wide`,parsePatterns:{narrow:[/^ج/i,/^ف/i,/^م/i,/^أ/i,/^م/i,/^ج/i,/^ج/i,/^أ/i,/^س/i,/^أ/i,/^ن/i,/^د/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],wide:[/^الأحد/i,/^الاثنين/i,/^الثلاثاء/i,/^الأربعاء/i,/^الخميس/i,/^الجمعة/i,/^السبت/i],any:[/^أح/i,/^اث/i,/^ث/i,/^أر/i,/^خ/i,/^ج/i,/^س/i]},defaultParseWidth:`any`}),dayPeriod:n({matchPatterns:{narrow:/^(ص|ع|ن ل|ل|(في|مع) (صباح|قايلة|عشية|ليل))/,any:/^([صع]|نص الليل|قايلة|(في|مع) (صباح|قايلة|عشية|ليل))/},defaultMatchWidth:`any`,parsePatterns:{any:{am:/^ص/,pm:/^ع/,midnight:/نص الليل/,noon:/قايلة/,afternoon:/بعد القايلة/,morning:/صباح/,evening:/عشية/,night:/ليل/}},defaultParseWidth:`any`})},options:{weekStartsOn:1,firstWeekContainsDate:1}};export{c as arTN,c as default};
@@ -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:`bir saniyədən az`,other:`{{count}} bir saniyədən az`},xSeconds:{one:`1 saniyə`,other:`{{count}} saniyə`},halfAMinute:`yarım dəqiqə`,lessThanXMinutes:{one:`bir dəqiqədən az`,other:`{{count}} bir dəqiqədən az`},xMinutes:{one:`bir dəqiqə`,other:`{{count}} dəqiqə`},aboutXHours:{one:`təxminən 1 saat`,other:`təxminən {{count}} saat`},xHours:{one:`1 saat`,other:`{{count}} saat`},xDays:{one:`1 gün`,other:`{{count}} gün`},aboutXWeeks:{one:`təxminən 1 həftə`,other:`təxminən {{count}} həftə`},xWeeks:{one:`1 həftə`,other:`{{count}} həftə`},aboutXMonths:{one:`təxminən 1 ay`,other:`təxminən {{count}} ay`},xMonths:{one:`1 ay`,other:`{{count}} ay`},aboutXYears:{one:`təxminən 1 il`,other:`təxminən {{count}} il`},xYears:{one:`1 il`,other:`{{count}} il`},overXYears:{one:`1 ildən çox`,other:`{{count}} ildən çox`},almostXYears:{one:`demək olar ki 1 il`,other:`demək olar ki {{count}} il`}},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?r+` sonra`:r+` əvvəl`:r},o={date:t({formats:{full:`EEEE, do MMMM y 'il'`,long:`do MMMM y 'il'`,medium:`d MMM y 'il'`,short:`dd.MM.yyyy`},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}} - 'də'`,long:`{{date}} {{time}} - 'də'`,medium:`{{date}}, {{time}}`,short:`{{date}}, {{time}}`},defaultWidth:`full`})},s={lastWeek:`'sonuncu' eeee p -'də'`,yesterday:`'dünən' p -'də'`,today:`'bugün' p -'də'`,tomorrow:`'sabah' p -'də'`,nextWeek:`eeee p -'də'`,other:`P`},c=(e,t,n,r)=>s[e],l={narrow:[`e.ə`,`b.e`],abbreviated:[`e.ə`,`b.e`],wide:[`eramızdan əvvəl`,`bizim era`]},u={narrow:[`1`,`2`,`3`,`4`],abbreviated:[`K1`,`K2`,`K3`,`K4`],wide:[`1ci kvartal`,`2ci kvartal`,`3cü kvartal`,`4cü kvartal`]},d={narrow:[`Y`,`F`,`M`,`A`,`M`,`İ`,`İ`,`A`,`S`,`O`,`N`,`D`],abbreviated:[`Yan`,`Fev`,`Mar`,`Apr`,`May`,`İyun`,`İyul`,`Avq`,`Sen`,`Okt`,`Noy`,`Dek`],wide:[`Yanvar`,`Fevral`,`Mart`,`Aprel`,`May`,`İyun`,`İyul`,`Avqust`,`Sentyabr`,`Oktyabr`,`Noyabr`,`Dekabr`]},f={narrow:[`B.`,`B.e`,`Ç.a`,`Ç.`,`C.a`,`C.`,`Ş.`],short:[`B.`,`B.e`,`Ç.a`,`Ç.`,`C.a`,`C.`,`Ş.`],abbreviated:[`Baz`,`Baz.e`,`Çər.a`,`Çər`,`Cüm.a`,`Cüm`,`Şə`],wide:[`Bazar`,`Bazar ertəsi`,`Çərşənbə axşamı`,`Çərşənbə`,`Cümə axşamı`,`Cümə`,`Şənbə`]},p={narrow:{am:`am`,pm:`pm`,midnight:`gecəyarı`,noon:`gün`,morning:`səhər`,afternoon:`gündüz`,evening:`axşam`,night:`gecə`},abbreviated:{am:`AM`,pm:`PM`,midnight:`gecəyarı`,noon:`gün`,morning:`səhər`,afternoon:`gündüz`,evening:`axşam`,night:`gecə`},wide:{am:`a.m.`,pm:`p.m.`,midnight:`gecəyarı`,noon:`gün`,morning:`səhər`,afternoon:`gündüz`,evening:`axşam`,night:`gecə`}},m={narrow:{am:`a`,pm:`p`,midnight:`gecəyarı`,noon:`gün`,morning:`səhər`,afternoon:`gündüz`,evening:`axşam`,night:`gecə`},abbreviated:{am:`AM`,pm:`PM`,midnight:`gecəyarı`,noon:`gün`,morning:`səhər`,afternoon:`gündüz`,evening:`axşam`,night:`gecə`},wide:{am:`a.m.`,pm:`p.m.`,midnight:`gecəyarı`,noon:`gün`,morning:`səhər`,afternoon:`gündüz`,evening:`axşam`,night:`gecə`}},h={1:`-inci`,5:`-inci`,8:`-inci`,70:`-inci`,80:`-inci`,2:`-nci`,7:`-nci`,20:`-nci`,50:`-nci`,3:`-üncü`,4:`-üncü`,100:`-üncü`,6:`-ncı`,9:`-uncu`,10:`-uncu`,30:`-uncu`,60:`-ıncı`,90:`-ıncı`},g=e=>{if(e===0)return e+`-ıncı`;let t=e%10,n=e%100-t,r=e>=100?100:null;return h[t]?h[t]:h[n]?h[n]:r===null?``:h[r]},_={code:`az`,formatDistance:a,formatLong:o,formatRelative:c,localize:{ordinalNumber:(e,t)=>{let n=Number(e);return n+g(n)},era:n({values:l,defaultWidth:`wide`}),quarter:n({values:u,defaultWidth:`wide`,argumentCallback:e=>e-1}),month:n({values:d,defaultWidth:`wide`}),day:n({values:f,defaultWidth:`wide`}),dayPeriod:n({values:p,defaultWidth:`wide`,formattingValues:m,defaultFormattingWidth:`wide`})},match:{ordinalNumber:r({matchPattern:/^(\d+)(-?(ci|inci|nci|uncu|üncü|ncı))?/i,parsePattern:/\d+/i,valueCallback:e=>parseInt(e,10)}),era:e({matchPatterns:{narrow:/^(b|a)$/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)$/i,wide:/^(bizim eradan əvvəl|bizim era)$/i},defaultMatchWidth:`wide`,parsePatterns:{any:[/^b$/i,/^(a|c)$/i]},defaultParseWidth:`any`}),quarter:e({matchPatterns:{narrow:/^[1234]$/i,abbreviated:/^K[1234]$/i,wide:/^[1234](ci)? kvartal$/i},defaultMatchWidth:`wide`,parsePatterns:{any:[/1/i,/2/i,/3/i,/4/i]},defaultParseWidth:`any`,valueCallback:e=>e+1}),month:e({matchPatterns:{narrow:/^[(?-i)yfmaisond]$/i,abbreviated:/^(Yan|Fev|Mar|Apr|May|İyun|İyul|Avq|Sen|Okt|Noy|Dek)$/i,wide:/^(Yanvar|Fevral|Mart|Aprel|May|İyun|İyul|Avgust|Sentyabr|Oktyabr|Noyabr|Dekabr)$/i},defaultMatchWidth:`wide`,parsePatterns:{narrow:[/^[(?-i)y]$/i,/^[(?-i)f]$/i,/^[(?-i)m]$/i,/^[(?-i)a]$/i,/^[(?-i)m]$/i,/^[(?-i)i]$/i,/^[(?-i)i]$/i,/^[(?-i)a]$/i,/^[(?-i)s]$/i,/^[(?-i)o]$/i,/^[(?-i)n]$/i,/^[(?-i)d]$/i],abbreviated:[/^Yan$/i,/^Fev$/i,/^Mar$/i,/^Apr$/i,/^May$/i,/^İyun$/i,/^İyul$/i,/^Avg$/i,/^Sen$/i,/^Okt$/i,/^Noy$/i,/^Dek$/i],wide:[/^Yanvar$/i,/^Fevral$/i,/^Mart$/i,/^Aprel$/i,/^May$/i,/^İyun$/i,/^İyul$/i,/^Avgust$/i,/^Sentyabr$/i,/^Oktyabr$/i,/^Noyabr$/i,/^Dekabr$/i]},defaultParseWidth:`narrow`}),day:e({matchPatterns:{narrow:/^(B\.|B\.e|Ç\.a|Ç\.|C\.a|C\.|Ş\.)$/i,short:/^(B\.|B\.e|Ç\.a|Ç\.|C\.a|C\.|Ş\.)$/i,abbreviated:/^(Baz\.e|Çər|Çər\.a|Cüm|Cüm\.a|Şə)$/i,wide:/^(Bazar|Bazar ertəsi|Çərşənbə axşamı|Çərşənbə|Cümə axşamı|Cümə|Şənbə)$/i},defaultMatchWidth:`wide`,parsePatterns:{narrow:[/^B\.$/i,/^B\.e$/i,/^Ç\.a$/i,/^Ç\.$/i,/^C\.a$/i,/^C\.$/i,/^Ş\.$/i],abbreviated:[/^Baz$/i,/^Baz\.e$/i,/^Çər\.a$/i,/^Çər$/i,/^Cüm\.a$/i,/^Cüm$/i,/^Şə$/i],wide:[/^Bazar$/i,/^Bazar ertəsi$/i,/^Çərşənbə axşamı$/i,/^Çərşənbə$/i,/^Cümə axşamı$/i,/^Cümə$/i,/^Şənbə$/i],any:[/^B\.$/i,/^B\.e$/i,/^Ç\.a$/i,/^Ç\.$/i,/^C\.a$/i,/^C\.$/i,/^Ş\.$/i]},defaultParseWidth:`any`}),dayPeriod:e({matchPatterns:{narrow:/^(a|p|gecəyarı|gün|səhər|gündüz|axşam|gecə)$/i,any:/^(am|pm|a\.m\.|p\.m\.|AM|PM|gecəyarı|gün|səhər|gündüz|axşam|gecə)$/i},defaultMatchWidth:`any`,parsePatterns:{any:{am:/^a$/i,pm:/^p$/i,midnight:/^gecəyarı$/i,noon:/^gün$/i,morning:/səhər$/i,afternoon:/gündüz$/i,evening:/axşam$/i,night:/gecə$/i}},defaultParseWidth:`any`})},options:{weekStartsOn:1,firstWeekContainsDate:1}};export{_ as az,_ as default};
1
+ import{$r as e,Jr as t,Yr as n,Zr as r}from"./ui-components-D8wcRNrt.js";var i={lessThanXSeconds:{one:`bir saniyədən az`,other:`{{count}} bir saniyədən az`},xSeconds:{one:`1 saniyə`,other:`{{count}} saniyə`},halfAMinute:`yarım dəqiqə`,lessThanXMinutes:{one:`bir dəqiqədən az`,other:`{{count}} bir dəqiqədən az`},xMinutes:{one:`bir dəqiqə`,other:`{{count}} dəqiqə`},aboutXHours:{one:`təxminən 1 saat`,other:`təxminən {{count}} saat`},xHours:{one:`1 saat`,other:`{{count}} saat`},xDays:{one:`1 gün`,other:`{{count}} gün`},aboutXWeeks:{one:`təxminən 1 həftə`,other:`təxminən {{count}} həftə`},xWeeks:{one:`1 həftə`,other:`{{count}} həftə`},aboutXMonths:{one:`təxminən 1 ay`,other:`təxminən {{count}} ay`},xMonths:{one:`1 ay`,other:`{{count}} ay`},aboutXYears:{one:`təxminən 1 il`,other:`təxminən {{count}} il`},xYears:{one:`1 il`,other:`{{count}} il`},overXYears:{one:`1 ildən çox`,other:`{{count}} ildən çox`},almostXYears:{one:`demək olar ki 1 il`,other:`demək olar ki {{count}} il`}},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?r+` sonra`:r+` əvvəl`:r},o={date:e({formats:{full:`EEEE, do MMMM y 'il'`,long:`do MMMM y 'il'`,medium:`d MMM y 'il'`,short:`dd.MM.yyyy`},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}} - 'də'`,long:`{{date}} {{time}} - 'də'`,medium:`{{date}}, {{time}}`,short:`{{date}}, {{time}}`},defaultWidth:`full`})},s={lastWeek:`'sonuncu' eeee p -'də'`,yesterday:`'dünən' p -'də'`,today:`'bugün' p -'də'`,tomorrow:`'sabah' p -'də'`,nextWeek:`eeee p -'də'`,other:`P`},c=(e,t,n,r)=>s[e],l={narrow:[`e.ə`,`b.e`],abbreviated:[`e.ə`,`b.e`],wide:[`eramızdan əvvəl`,`bizim era`]},u={narrow:[`1`,`2`,`3`,`4`],abbreviated:[`K1`,`K2`,`K3`,`K4`],wide:[`1ci kvartal`,`2ci kvartal`,`3cü kvartal`,`4cü kvartal`]},d={narrow:[`Y`,`F`,`M`,`A`,`M`,`İ`,`İ`,`A`,`S`,`O`,`N`,`D`],abbreviated:[`Yan`,`Fev`,`Mar`,`Apr`,`May`,`İyun`,`İyul`,`Avq`,`Sen`,`Okt`,`Noy`,`Dek`],wide:[`Yanvar`,`Fevral`,`Mart`,`Aprel`,`May`,`İyun`,`İyul`,`Avqust`,`Sentyabr`,`Oktyabr`,`Noyabr`,`Dekabr`]},f={narrow:[`B.`,`B.e`,`Ç.a`,`Ç.`,`C.a`,`C.`,`Ş.`],short:[`B.`,`B.e`,`Ç.a`,`Ç.`,`C.a`,`C.`,`Ş.`],abbreviated:[`Baz`,`Baz.e`,`Çər.a`,`Çər`,`Cüm.a`,`Cüm`,`Şə`],wide:[`Bazar`,`Bazar ertəsi`,`Çərşənbə axşamı`,`Çərşənbə`,`Cümə axşamı`,`Cümə`,`Şənbə`]},p={narrow:{am:`am`,pm:`pm`,midnight:`gecəyarı`,noon:`gün`,morning:`səhər`,afternoon:`gündüz`,evening:`axşam`,night:`gecə`},abbreviated:{am:`AM`,pm:`PM`,midnight:`gecəyarı`,noon:`gün`,morning:`səhər`,afternoon:`gündüz`,evening:`axşam`,night:`gecə`},wide:{am:`a.m.`,pm:`p.m.`,midnight:`gecəyarı`,noon:`gün`,morning:`səhər`,afternoon:`gündüz`,evening:`axşam`,night:`gecə`}},m={narrow:{am:`a`,pm:`p`,midnight:`gecəyarı`,noon:`gün`,morning:`səhər`,afternoon:`gündüz`,evening:`axşam`,night:`gecə`},abbreviated:{am:`AM`,pm:`PM`,midnight:`gecəyarı`,noon:`gün`,morning:`səhər`,afternoon:`gündüz`,evening:`axşam`,night:`gecə`},wide:{am:`a.m.`,pm:`p.m.`,midnight:`gecəyarı`,noon:`gün`,morning:`səhər`,afternoon:`gündüz`,evening:`axşam`,night:`gecə`}},h={1:`-inci`,5:`-inci`,8:`-inci`,70:`-inci`,80:`-inci`,2:`-nci`,7:`-nci`,20:`-nci`,50:`-nci`,3:`-üncü`,4:`-üncü`,100:`-üncü`,6:`-ncı`,9:`-uncu`,10:`-uncu`,30:`-uncu`,60:`-ıncı`,90:`-ıncı`},g=e=>{if(e===0)return e+`-ıncı`;let t=e%10,n=e%100-t,r=e>=100?100:null;return h[t]?h[t]:h[n]?h[n]:r===null?``:h[r]},_={code:`az`,formatDistance:a,formatLong:o,formatRelative:c,localize:{ordinalNumber:(e,t)=>{let n=Number(e);return n+g(n)},era:r({values:l,defaultWidth:`wide`}),quarter:r({values:u,defaultWidth:`wide`,argumentCallback:e=>e-1}),month:r({values:d,defaultWidth:`wide`}),day:r({values:f,defaultWidth:`wide`}),dayPeriod:r({values:p,defaultWidth:`wide`,formattingValues:m,defaultFormattingWidth:`wide`})},match:{ordinalNumber:t({matchPattern:/^(\d+)(-?(ci|inci|nci|uncu|üncü|ncı))?/i,parsePattern:/\d+/i,valueCallback:e=>parseInt(e,10)}),era:n({matchPatterns:{narrow:/^(b|a)$/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)$/i,wide:/^(bizim eradan əvvəl|bizim era)$/i},defaultMatchWidth:`wide`,parsePatterns:{any:[/^b$/i,/^(a|c)$/i]},defaultParseWidth:`any`}),quarter:n({matchPatterns:{narrow:/^[1234]$/i,abbreviated:/^K[1234]$/i,wide:/^[1234](ci)? kvartal$/i},defaultMatchWidth:`wide`,parsePatterns:{any:[/1/i,/2/i,/3/i,/4/i]},defaultParseWidth:`any`,valueCallback:e=>e+1}),month:n({matchPatterns:{narrow:/^[(?-i)yfmaisond]$/i,abbreviated:/^(Yan|Fev|Mar|Apr|May|İyun|İyul|Avq|Sen|Okt|Noy|Dek)$/i,wide:/^(Yanvar|Fevral|Mart|Aprel|May|İyun|İyul|Avgust|Sentyabr|Oktyabr|Noyabr|Dekabr)$/i},defaultMatchWidth:`wide`,parsePatterns:{narrow:[/^[(?-i)y]$/i,/^[(?-i)f]$/i,/^[(?-i)m]$/i,/^[(?-i)a]$/i,/^[(?-i)m]$/i,/^[(?-i)i]$/i,/^[(?-i)i]$/i,/^[(?-i)a]$/i,/^[(?-i)s]$/i,/^[(?-i)o]$/i,/^[(?-i)n]$/i,/^[(?-i)d]$/i],abbreviated:[/^Yan$/i,/^Fev$/i,/^Mar$/i,/^Apr$/i,/^May$/i,/^İyun$/i,/^İyul$/i,/^Avg$/i,/^Sen$/i,/^Okt$/i,/^Noy$/i,/^Dek$/i],wide:[/^Yanvar$/i,/^Fevral$/i,/^Mart$/i,/^Aprel$/i,/^May$/i,/^İyun$/i,/^İyul$/i,/^Avgust$/i,/^Sentyabr$/i,/^Oktyabr$/i,/^Noyabr$/i,/^Dekabr$/i]},defaultParseWidth:`narrow`}),day:n({matchPatterns:{narrow:/^(B\.|B\.e|Ç\.a|Ç\.|C\.a|C\.|Ş\.)$/i,short:/^(B\.|B\.e|Ç\.a|Ç\.|C\.a|C\.|Ş\.)$/i,abbreviated:/^(Baz\.e|Çər|Çər\.a|Cüm|Cüm\.a|Şə)$/i,wide:/^(Bazar|Bazar ertəsi|Çərşənbə axşamı|Çərşənbə|Cümə axşamı|Cümə|Şənbə)$/i},defaultMatchWidth:`wide`,parsePatterns:{narrow:[/^B\.$/i,/^B\.e$/i,/^Ç\.a$/i,/^Ç\.$/i,/^C\.a$/i,/^C\.$/i,/^Ş\.$/i],abbreviated:[/^Baz$/i,/^Baz\.e$/i,/^Çər\.a$/i,/^Çər$/i,/^Cüm\.a$/i,/^Cüm$/i,/^Şə$/i],wide:[/^Bazar$/i,/^Bazar ertəsi$/i,/^Çərşənbə axşamı$/i,/^Çərşənbə$/i,/^Cümə axşamı$/i,/^Cümə$/i,/^Şənbə$/i],any:[/^B\.$/i,/^B\.e$/i,/^Ç\.a$/i,/^Ç\.$/i,/^C\.a$/i,/^C\.$/i,/^Ş\.$/i]},defaultParseWidth:`any`}),dayPeriod:n({matchPatterns:{narrow:/^(a|p|gecəyarı|gün|səhər|gündüz|axşam|gecə)$/i,any:/^(am|pm|a\.m\.|p\.m\.|AM|PM|gecəyarı|gün|səhər|gündüz|axşam|gecə)$/i},defaultMatchWidth:`any`,parsePatterns:{any:{am:/^a$/i,pm:/^p$/i,midnight:/^gecəyarı$/i,noon:/^gün$/i,morning:/səhər$/i,afternoon:/gündüz$/i,evening:/axşam$/i,night:/gecə$/i}},defaultParseWidth:`any`})},options:{weekStartsOn:1,firstWeekContainsDate:1}};export{_ as az,_ as default};