@maudecode/kanvil 0.2.1 → 0.3.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.
- package/apps/server/.env.example +19 -0
- package/apps/server/dist/auth-JcS53IcO.mjs +12424 -0
- package/apps/server/dist/{config-CbNqtJEj.mjs → config-D3cAABi7.mjs} +27 -2
- package/apps/server/dist/index.mjs +2500 -294
- package/apps/server/dist/migrate.mjs +1 -1
- package/apps/server/dist/recover.mjs +4 -4
- package/apps/server/drizzle/0014_inbox_dismissal.sql +1 -0
- package/apps/server/drizzle/0015_notification_categories.sql +14 -0
- package/apps/server/drizzle/0016_ticket_resources.sql +19 -0
- package/apps/server/drizzle/0017_project_backgrounds.sql +3 -0
- package/apps/server/drizzle/0018_delivery_outbox.sql +65 -0
- package/apps/server/drizzle/0019_retire_push_deliveries.sql +1 -0
- package/apps/server/drizzle/0020_calendar_feeds.sql +16 -0
- package/apps/server/drizzle/0021_staged_uploads.sql +14 -0
- package/apps/server/drizzle/0022_manual_order.sql +6 -0
- package/apps/server/drizzle/0023_workspace_invitations.sql +22 -0
- package/apps/server/drizzle/0024_workflow_states.sql +39 -0
- package/apps/server/drizzle/0025_workspace_labels.sql +10 -0
- package/apps/server/drizzle/0026_public_read.sql +1 -0
- package/apps/server/drizzle/0027_custom_fields.sql +16 -0
- package/apps/server/drizzle/0028_project_lifecycle.sql +11 -0
- package/apps/server/drizzle/0029_ticket_relocation.sql +16 -0
- package/apps/server/drizzle/0030_repository_connections.sql +39 -0
- package/apps/server/drizzle/0031_repository_providers.sql +3 -0
- package/apps/server/drizzle/0032_workspace_ownership.sql +11 -0
- package/apps/server/drizzle/0033_import_runs.sql +38 -0
- package/apps/server/drizzle/0034_issue_sync.sql +38 -0
- package/apps/server/drizzle/0035_account_deletion.sql +9 -0
- package/apps/server/drizzle/0036_workspace_roles.sql +16 -0
- package/apps/server/drizzle/0037_email_code_owner.sql +14 -0
- package/apps/server/drizzle/meta/0014_snapshot.json +4246 -0
- package/apps/server/drizzle/meta/0015_snapshot.json +4297 -0
- package/apps/server/drizzle/meta/0016_snapshot.json +4443 -0
- package/apps/server/drizzle/meta/0017_snapshot.json +4468 -0
- package/apps/server/drizzle/meta/0018_snapshot.json +4948 -0
- package/apps/server/drizzle/meta/0019_snapshot.json +4826 -0
- package/apps/server/drizzle/meta/0020_snapshot.json +4947 -0
- package/apps/server/drizzle/meta/0021_snapshot.json +5059 -0
- package/apps/server/drizzle/meta/0022_snapshot.json +5094 -0
- package/apps/server/drizzle/meta/0023_snapshot.json +5267 -0
- package/apps/server/drizzle/meta/0024_snapshot.json +5405 -0
- package/apps/server/drizzle/meta/0025_snapshot.json +5474 -0
- package/apps/server/drizzle/meta/0026_snapshot.json +5481 -0
- package/apps/server/drizzle/meta/0027_snapshot.json +5605 -0
- package/apps/server/drizzle/meta/0028_snapshot.json +5699 -0
- package/apps/server/drizzle/meta/0029_snapshot.json +5809 -0
- package/apps/server/drizzle/meta/0030_snapshot.json +6066 -0
- package/apps/server/drizzle/meta/0031_snapshot.json +6074 -0
- package/apps/server/drizzle/meta/0032_snapshot.json +6100 -0
- package/apps/server/drizzle/meta/0033_snapshot.json +6406 -0
- package/apps/server/drizzle/meta/0034_snapshot.json +6698 -0
- package/apps/server/drizzle/meta/0035_snapshot.json +6704 -0
- package/apps/server/drizzle/meta/0036_snapshot.json +6825 -0
- package/apps/server/drizzle/meta/0037_snapshot.json +6825 -0
- package/apps/server/drizzle/meta/_journal.json +168 -0
- package/apps/web/dist/assets/CompositeItem-BbuEp99X.js +1 -0
- package/apps/web/dist/assets/Trans-DJGH63s1.js +1 -0
- package/apps/web/dist/assets/abnfDiagram-WEYOIA3C-DTOx8N4B.js +1 -0
- package/apps/web/dist/assets/admin-settings-CJG9PMKR.js +1 -0
- package/apps/web/dist/assets/arc-Y1ARJVZ4.js +1 -0
- package/apps/web/dist/assets/architecture-WOLXFQ4H-DlC3p5z3.js +1 -0
- package/apps/web/dist/assets/architectureDiagram-ZHVYKT53-DooN3Z58.js +36 -0
- package/apps/web/dist/assets/archive-restore-B6_SsOIP.js +1 -0
- package/apps/web/dist/assets/array-BifhSqXX.js +1 -0
- package/apps/web/dist/assets/az-AZ-BtrlbgjS.js +1 -0
- package/apps/web/dist/assets/az-D-kj4lmf.js +1 -0
- package/apps/web/dist/assets/az-DqY__MpS.js +1 -0
- package/apps/web/dist/assets/blockDiagram-RJAE7QA3-CD5AgY4U.js +140 -0
- package/apps/web/dist/assets/c4Diagram-XDPPPE54-CTDOcLuN.js +38 -0
- package/apps/web/dist/assets/channel-BhHvU4I-.js +1 -0
- package/apps/web/dist/assets/chunk-2E7WHVMD-D9qnBqTV.js +88 -0
- package/apps/web/dist/assets/chunk-2Q5K7J3B-C1jixKkw.js +1 -0
- package/apps/web/dist/assets/chunk-4EMNKR2T-Kz5JiJ85.js +1 -0
- package/apps/web/dist/assets/chunk-55XCU76K-DnKiFpYM.js +1 -0
- package/apps/web/dist/assets/chunk-5VM5RSS4-ZNzvKenW.js +15 -0
- package/apps/web/dist/assets/chunk-7S6XSTFO-CpdNd6Ke.js +2 -0
- package/apps/web/dist/assets/chunk-AQDTSKZB-CpyuSWt8.js +72 -0
- package/apps/web/dist/assets/chunk-DSNLSHJZ-DTC3y9rb.js +129 -0
- package/apps/web/dist/assets/chunk-DUW6YSOI-Dgx8z5s3.js +1 -0
- package/apps/web/dist/assets/chunk-HAGFOTED-Bv8PrMYK.js +62 -0
- package/apps/web/dist/assets/chunk-HNE4Q36P-CDDJ_yRa.js +1 -0
- package/apps/web/dist/assets/chunk-J5ZVWO5B-oDCd-gWO.js +1 -0
- package/apps/web/dist/assets/chunk-JWPE2WC7-DVXcaiue.js +1 -0
- package/apps/web/dist/assets/chunk-NGNAAXSQ-C2Wy9Xmz.js +136 -0
- package/apps/web/dist/assets/chunk-NQOKRVIF-lNtnsWHS.js +213 -0
- package/apps/web/dist/assets/chunk-UHW7PFBP-D79ptlTN.js +1 -0
- package/apps/web/dist/assets/chunk-VQ5W62QI-B8hWFCiM.js +1 -0
- package/apps/web/dist/assets/chunk-WQQL4CDK-DAGuWzS3.js +10 -0
- package/apps/web/dist/assets/chunk-XXDRQBXY-CnbRkih_.js +1 -0
- package/apps/web/dist/assets/chunk-Y2CYZVJY-DsF7k-Jl.js +1 -0
- package/apps/web/dist/assets/chunk-YZO67HFG-C0ptzlKO.js +1 -0
- package/apps/web/dist/assets/chunk-ZAUX2LTX-ah8U5xoJ.js +1 -0
- package/apps/web/dist/assets/chunk-ZCHMQSOR-DYqATOIZ.js +2 -0
- package/apps/web/dist/assets/classDiagram-v2-4MYWR3UA-DYytA-ua.js +217 -0
- package/apps/web/dist/assets/core-jXc03Sty.js +1 -0
- package/apps/web/dist/assets/corner-left-up-DA7MG5uX.js +1 -0
- package/apps/web/dist/assets/cose-bilkent-JH36ORCC-lWVj4msc.js +1 -0
- package/apps/web/dist/assets/cynefin-EF2NZ3EQ-Xy6e6m1E.js +1 -0
- package/apps/web/dist/assets/cynefinDiagram-WF24UDRP-BYarZJSm.js +62 -0
- package/apps/web/dist/assets/cytoscape.esm-BegBNzOV.js +321 -0
- package/apps/web/dist/assets/dagre-NK4GIZVX-WLvvUY1o.js +4 -0
- package/apps/web/dist/assets/de-DAv77-wP.js +1 -0
- package/apps/web/dist/assets/de-DE-Bu_Ko2QA.js +1 -0
- package/apps/web/dist/assets/de-UHreLwyV.js +1 -0
- package/apps/web/dist/assets/default-D5TdIZQS.js +56 -0
- package/apps/web/dist/assets/defaultLocale-BFoDCU3G.js +1 -0
- package/apps/web/dist/assets/delivery-settings-BE5MW8U0.js +1 -0
- package/apps/web/dist/assets/diagram-CBK3MWTC-D6PtxkLg.js +24 -0
- package/apps/web/dist/assets/diagram-I5XIIV2D-DTOKQwIY.js +24 -0
- package/apps/web/dist/assets/diagram-ODIL2UCW-BmERt0Xu.js +30 -0
- package/apps/web/dist/assets/diagram-PFBEJUXE-WDUe08eD.js +3 -0
- package/apps/web/dist/assets/diagram-RJA3I4VV-B2K-NLGG.js +41 -0
- package/apps/web/dist/assets/diagram-TYUNFSNR-BLf7PpV7.js +200 -0
- package/apps/web/dist/assets/dist-CumnGVmJ.js +1 -0
- package/apps/web/dist/assets/ebnfDiagram-V4P3TTPT-DwBUQs9p.js +1 -0
- package/apps/web/dist/assets/el-D2ypddWn.js +1 -0
- package/apps/web/dist/assets/el-EJnrsyVr.js +1 -0
- package/apps/web/dist/assets/el-GR-CpKEps47.js +1 -0
- package/apps/web/dist/assets/elk-QONTBCTQ-AuT8PinL.js +27 -0
- package/apps/web/dist/assets/ellipsis-D6154JKs.js +1 -0
- package/apps/web/dist/assets/en-EnSRisMz.js +1 -0
- package/apps/web/dist/assets/en-US-DKYSujv3.js +1 -0
- package/apps/web/dist/assets/erDiagram-KYQIGQAA-h--u4Eo6.js +99 -0
- package/apps/web/dist/assets/es-B_49BMhR.js +1 -0
- package/apps/web/dist/assets/es-D2ScuV-5.js +1 -0
- package/apps/web/dist/assets/es-ES-DVkfi7H-.js +1 -0
- package/apps/web/dist/assets/eventmodeling-K75KTNOO-CW4hDt1j.js +1 -0
- package/apps/web/dist/assets/flowDiagram-IUGLLWBU-BGUscnNP.js +1 -0
- package/apps/web/dist/assets/forms-BcD6Wwyv.js +1 -0
- package/apps/web/dist/assets/fr-B-WmPGZD.js +1 -0
- package/apps/web/dist/assets/fr-C_VpS8u6.js +1 -0
- package/apps/web/dist/assets/fr-FR-DkHaEHqi.js +1 -0
- package/apps/web/dist/assets/ganttDiagram-R7GPNTJY-CB3lsQvj.js +292 -0
- package/apps/web/dist/assets/gitGraph-VSP46ZUC-Hu-kvdCR.js +1 -0
- package/apps/web/dist/assets/gitGraphDiagram-PDYL7XHY-DCuY3C1Q.js +106 -0
- package/apps/web/dist/assets/graphlib-DS17s2tU.js +1 -0
- package/apps/web/dist/assets/hi-CW4rdp_m.js +1 -0
- package/apps/web/dist/assets/hi-DvoDcUpL.js +1 -0
- package/apps/web/dist/assets/hi-IN-CbUDNSTK.js +1 -0
- package/apps/web/dist/assets/highlight-CMydIf9M.js +5 -0
- package/apps/web/dist/assets/id-CPASBZ2r.js +1 -0
- package/apps/web/dist/assets/id-CvL3yBVr.js +1 -0
- package/apps/web/dist/assets/id-ID-DLTkxt2j.js +1 -0
- package/apps/web/dist/assets/index-DoqlyejP.js +17 -0
- package/apps/web/dist/assets/index-DyQNFS69.css +2 -0
- package/apps/web/dist/assets/info-OHQRW6UA-Cc8VwTsk.js +1 -0
- package/apps/web/dist/assets/infoDiagram-MVDRKAX5-KIMOx55J.js +2 -0
- package/apps/web/dist/assets/init-C-OQMol4.js +1 -0
- package/apps/web/dist/assets/invitations-BmpelTJu.js +1 -0
- package/apps/web/dist/assets/isSameWeek-2ftYGvBT.js +1 -0
- package/apps/web/dist/assets/ishikawaDiagram-HPEHV2GE-CAou726L.js +70 -0
- package/apps/web/dist/assets/it-Cd7u97Jd.js +1 -0
- package/apps/web/dist/assets/it-DOLotXOj.js +1 -0
- package/apps/web/dist/assets/it-IT-CIzq0YwC.js +1 -0
- package/apps/web/dist/assets/item-Cq_ZbivE.js +1 -0
- package/apps/web/dist/assets/ja-B1iJt9qB.js +1 -0
- package/apps/web/dist/assets/ja-JP-CIE4-D-v.js +1 -0
- package/apps/web/dist/assets/ja-LkOrjegp.js +1 -0
- package/apps/web/dist/assets/journeyDiagram-BOSHW7O7-YbJuPYDH.js +139 -0
- package/apps/web/dist/assets/kanban-definition-FNSA4HC5-nuRnm9y8.js +89 -0
- package/apps/web/dist/assets/katex-B_JcIwqj.js +257 -0
- package/apps/web/dist/assets/ko-DPpXw683.js +1 -0
- package/apps/web/dist/assets/ko-KR-DYP5Zae6.js +1 -0
- package/apps/web/dist/assets/ko-fmUq1-8W.js +1 -0
- package/apps/web/dist/assets/label-settings-B3LsJxhk.js +1 -0
- package/apps/web/dist/assets/line-WsxZYwZr.js +1 -0
- package/apps/web/dist/assets/linear-C9iwaMOi.js +1 -0
- package/apps/web/dist/assets/lucide-DIlszs-T.js +1 -0
- package/apps/web/dist/assets/markdown-blocks-Bw26pRKB.js +2 -0
- package/apps/web/dist/assets/member-directory-CHKUw0u4.js +1 -0
- package/apps/web/dist/assets/mermaid-parser.core-B5c-1CnP.js +7 -0
- package/apps/web/dist/assets/mermaid.core-vGVkgzA3.js +44 -0
- package/apps/web/dist/assets/mindmap-definition-6OY57UG3-uooJyUak.js +98 -0
- package/apps/web/dist/assets/mk-CkaQRpqe.js +1 -0
- package/apps/web/dist/assets/mk-LWVrR-T-.js +1 -0
- package/apps/web/dist/assets/mk-MK-CpOo5Bd8.js +1 -0
- package/apps/web/dist/assets/nl-DiEjqOA8.js +1 -0
- package/apps/web/dist/assets/nl-NL-Mu8G8RON.js +1 -0
- package/apps/web/dist/assets/nl-ro6hbqo5.js +1 -0
- package/apps/web/dist/assets/ordinal-BDEzSJ7C.js +1 -0
- package/apps/web/dist/assets/packet-JDAUHWVQ-WJpqlH1d.js +1 -0
- package/apps/web/dist/assets/path-fybaL0A-.js +1 -0
- package/apps/web/dist/assets/pegDiagram-ECIUJNBX-CUvajD93.js +1 -0
- package/apps/web/dist/assets/pie-XZMESJXO-DvandPby.js +1 -0
- package/apps/web/dist/assets/pieDiagram-GNMPY74T-CqxeyIaP.js +39 -0
- package/apps/web/dist/assets/pl-Bx_fYLKY.js +1 -0
- package/apps/web/dist/assets/pl-CauoMfkf.js +1 -0
- package/apps/web/dist/assets/pl-PL-DGuxe2Aq.js +1 -0
- package/apps/web/dist/assets/preload-helper-BLdHbfdN.js +1 -0
- package/apps/web/dist/assets/project-lifecycle-Ba7iRF3u.js +1 -0
- package/apps/web/dist/assets/project-settings-CtOWgEam.js +1 -0
- package/apps/web/dist/assets/pt-BR-BpOhwoDW.js +1 -0
- package/apps/web/dist/assets/pt-BR-D-a7F5zJ.js +1 -0
- package/apps/web/dist/assets/pt-BR-DwkMPgq1.js +1 -0
- package/apps/web/dist/assets/public-project-CHRjhFIn.js +1 -0
- package/apps/web/dist/assets/quadrantDiagram-D57K4MC3-DFjNmaZc.js +7 -0
- package/apps/web/dist/assets/radar-ABXABTNO-CJhZF9j2.js +1 -0
- package/apps/web/dist/assets/railroad-I3PHUGI6-DZC10oBD.js +1 -0
- package/apps/web/dist/assets/railroad-abnf-LNEFI6M7-BUJF2n6u.js +1 -0
- package/apps/web/dist/assets/railroad-ebnf-DWYD2UWJ-CG7oB02K.js +1 -0
- package/apps/web/dist/assets/railroad-peg-JR7BVNR7-DBCZuZJY.js +1 -0
- package/apps/web/dist/assets/railroadDiagram-Y72NRBL7-CvN3poBq.js +1 -0
- package/apps/web/dist/assets/requirementDiagram-EQYSW5RA-BEItNirc.js +84 -0
- package/apps/web/dist/assets/rolldown-runtime-COiEfhsA.js +1 -0
- package/apps/web/dist/assets/rotate-ccw-Bm0ESNH_.js +1 -0
- package/apps/web/dist/assets/rough.esm-Dy-Kn_BL.js +1 -0
- package/apps/web/dist/assets/ru-D-WIMI5_.js +1 -0
- package/apps/web/dist/assets/ru-DOaRp00B.js +1 -0
- package/apps/web/dist/assets/ru-RU-DrXnqZbV.js +1 -0
- package/apps/web/dist/assets/sankeyDiagram-SY24JHO5-DluLIjax.js +40 -0
- package/apps/web/dist/assets/search-D94SZwrC.js +85 -0
- package/apps/web/dist/assets/send-D9TETK3s.js +1 -0
- package/apps/web/dist/assets/sequenceDiagram-BLEHNHQU-ZcwnsNxK.js +169 -0
- package/apps/web/dist/assets/settings-Dd9EVxua.js +1 -0
- package/apps/web/dist/assets/sizeCapture-INFHLROL-3uHXrFqA.js +1 -0
- package/apps/web/dist/assets/sliders-horizontal-CiZZFL1o.js +1 -0
- package/apps/web/dist/assets/src-BWF7jMDv.js +1 -0
- package/apps/web/dist/assets/stateDiagram-v2-A6IESKWZ-DD6vH3rM.js +291 -0
- package/apps/web/dist/assets/swimlanes-B3ENRKFQ-pX_qyO4X.js +1 -0
- package/apps/web/dist/assets/swimlanesDiagram-AYQRV4AK-CeVsLUsg.js +8 -0
- package/apps/web/dist/assets/switch-B_u8n1o6.js +1 -0
- package/apps/web/dist/assets/table-DcCLC7fi.js +1 -0
- package/apps/web/dist/assets/ticket-detail-C9egaVSf.js +2 -0
- package/apps/web/dist/assets/ticket-editor-UlSZgpWF.js +2 -0
- package/apps/web/dist/assets/ticket-list-controls-BidzkMOD.js +1 -0
- package/apps/web/dist/assets/ticket-list-vNBO8mkk.js +5 -0
- package/apps/web/dist/assets/timeline-definition-JXYKGLGB-DLBjAxKq.js +120 -0
- package/apps/web/dist/assets/toDate-B3HYxwtT.js +1 -0
- package/apps/web/dist/assets/tr-BZEJyY-F.js +1 -0
- package/apps/web/dist/assets/tr-DeYojjLx.js +1 -0
- package/apps/web/dist/assets/tr-TR-B92YeFW5.js +1 -0
- package/apps/web/dist/assets/treeView-D4JQ5SDB-DsJ44q_q.js +1 -0
- package/apps/web/dist/assets/treemap-SAJKECNS-BmXoBpVL.js +1 -0
- package/apps/web/dist/assets/uk-DACrfgCP.js +1 -0
- package/apps/web/dist/assets/uk-UA-DmcDs-MU.js +1 -0
- package/apps/web/dist/assets/uk-f8X5q5C_.js +1 -0
- package/apps/web/dist/assets/upload-CGpna3R2.js +1 -0
- package/apps/web/dist/assets/useQueries-BihXYrAP.js +1 -0
- package/apps/web/dist/assets/usecaseDiagram-WPOLBNNX-eU2tr2si.js +328 -0
- package/apps/web/dist/assets/vennDiagram-Q3Y3IDCW-CoVTWGNg.js +34 -0
- package/apps/web/dist/assets/vi-CSGaJFlR.js +1 -0
- package/apps/web/dist/assets/vi-CkqUo4w_.js +1 -0
- package/apps/web/dist/assets/vi-VN-DM5JYNuP.js +1 -0
- package/apps/web/dist/assets/visual-editor-B6HiiLMg.js +208 -0
- package/apps/web/dist/assets/wardley-7MLQ67FV-C6mVVk98.js +1 -0
- package/apps/web/dist/assets/wardleyDiagram-IVAIDKWA-m3CeJc7a.js +78 -0
- package/apps/web/dist/assets/workspace-settings-CSvVqaL6.js +1 -0
- package/apps/web/dist/assets/xychartDiagram-4URNHDU4-Dw6fLaip.js +7 -0
- package/apps/web/dist/assets/zh-CN-BdRcimyZ.js +1 -0
- package/apps/web/dist/assets/zh-CN-CC7ghLLr.js +1 -0
- package/apps/web/dist/assets/zh-CN-CiUOkQXe.js +1 -0
- package/apps/web/dist/assets/zh-TW-BH1L9tOt.js +1 -0
- package/apps/web/dist/assets/zh-TW-BlIRMi1C.js +1 -0
- package/apps/web/dist/assets/zh-TW-Co4UBSfi.js +1 -0
- package/apps/web/dist/index.html +14 -8
- package/compose.yml +12 -0
- package/docs/api.md +285 -10
- package/docs/infrastructure.md +2 -2
- package/docs/localization.md +25 -0
- package/docs/plan.md +28 -10
- package/docs/self-hosting.md +44 -5
- package/docs/themes.md +1 -1
- package/docs/verification.md +1 -1
- package/docs/workspaces.md +18 -2
- package/package.json +12 -8
- package/apps/server/dist/auth-I1XEr0d4.mjs +0 -2931
- package/apps/web/dist/assets/CompositeItem-BWPJ5Mol.js +0 -1
- package/apps/web/dist/assets/admin-settings-DZqkC6ju.js +0 -1
- package/apps/web/dist/assets/date-picker-6H_iwP6t.js +0 -1
- package/apps/web/dist/assets/ellipsis-BT172Uvu.js +0 -1
- package/apps/web/dist/assets/forms-B4Vg3CPz.js +0 -92
- package/apps/web/dist/assets/image-edit-trigger-DGmVtWLC.js +0 -1
- package/apps/web/dist/assets/index-C_a21taR.js +0 -50
- package/apps/web/dist/assets/index-DM-D_3Sv.css +0 -2
- package/apps/web/dist/assets/kbd-tTQGZxaK.js +0 -1
- package/apps/web/dist/assets/link-DoIP9KJ6.js +0 -2
- package/apps/web/dist/assets/list-order-Bzsrihyr.js +0 -1
- package/apps/web/dist/assets/lucide-U995NW8E.js +0 -1
- package/apps/web/dist/assets/member-directory-BiCE8DRq.js +0 -1
- package/apps/web/dist/assets/popover-BhzZ0U1d.js +0 -1
- package/apps/web/dist/assets/project-label-provider-9L7Uts3_.js +0 -1
- package/apps/web/dist/assets/project-settings-Q7Q9Reec.js +0 -1
- package/apps/web/dist/assets/rotate-ccw-sjyLwLLy.js +0 -1
- package/apps/web/dist/assets/settings-B6qD6q1J.js +0 -1
- package/apps/web/dist/assets/settings-layout-B-AwUIMu.js +0 -1
- package/apps/web/dist/assets/switch-D0nFHj6l.js +0 -1
- package/apps/web/dist/assets/table-CYZiwo9g.js +0 -1
- package/apps/web/dist/assets/ticket-detail-B-3vbHSB.js +0 -2
- package/apps/web/dist/assets/ticket-editor-C3d8TZIT.js +0 -1
- package/apps/web/dist/assets/ticket-list-LtGGOnwN.js +0 -5
- package/apps/web/dist/assets/ticket-tags-2rdmkcJV.js +0 -1
- package/apps/web/dist/assets/upload-DXPRzAaa.js +0 -1
- package/apps/web/dist/assets/useNavigate-DFohfUD3.js +0 -1
- package/apps/web/dist/assets/workspace-settings-D3tCm1vH.js +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{Ga as e}from"./search-D94SZwrC.js";var t={name:`ellipsis`,size:24,node:[[`circle`,{cx:`12`,cy:`12`,r:`1`,key:`41hilf`}],[`circle`,{cx:`19`,cy:`12`,r:`1`,key:`1wjl8i`}],[`circle`,{cx:`5`,cy:`12`,r:`1`,key:`1pcz8c`}]],aliases:[`more-horizontal`]};t.node;var n=e(t);export{n as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{n as e}from"./rolldown-runtime-COiEfhsA.js";import{$ as t,H as n,N as r}from"./core-jXc03Sty.js";var i=e({default:()=>o}),a=()=>{let e={string:{unit:`characters`,verb:`to have`},file:{unit:`bytes`,verb:`to have`},array:{unit:`items`,verb:`to have`},set:{unit:`items`,verb:`to have`},map:{unit:`entries`,verb:`to have`}};function i(t){return e[t]??null}let a={regex:`input`,email:`email address`,url:`URL`,emoji:`emoji`,uuid:`UUID`,uuidv4:`UUIDv4`,uuidv6:`UUIDv6`,nanoid:`nanoid`,guid:`GUID`,cuid:`cuid`,cuid2:`cuid2`,ulid:`ULID`,xid:`XID`,ksuid:`KSUID`,datetime:`ISO datetime`,date:`ISO date`,time:`ISO time`,duration:`ISO duration`,ipv4:`IPv4 address`,ipv6:`IPv6 address`,mac:`MAC address`,cidrv4:`IPv4 range`,cidrv6:`IPv6 range`,base64:`base64-encoded string`,base64url:`base64url-encoded string`,json_string:`JSON string`,e164:`E.164 number`,currency_code:`currency code`,credit_card:`credit card number`,iban:`IBAN`,jwt:`JWT`,template_literal:`input`},o={nan:`NaN`};function s(e,t){return e===`number`&&typeof t==`number`&&!Number.isFinite(t)?String(t):o[e]??e}return e=>{switch(e.code){case`invalid_type`:return`Invalid input: expected ${s(e.expected)}, received ${s(n(e.input),e.input)}`;case`invalid_value`:return e.values.length===1?`Invalid input: expected ${t(e.values[0])}`:`Invalid option: expected one of ${r(e.values,`|`)}`;case`too_big`:{let t=e.exact?`exactly `:e.inclusive?`<=`:`<`,n=i(e.origin);return n?`Too big: expected ${e.origin??`value`} to have ${t}${e.maximum.toString()} ${n.unit??`elements`}`:`Too big: expected ${e.origin??`value`} to be ${t}${e.maximum.toString()}`}case`too_small`:{let t=e.exact?`exactly `:e.inclusive?`>=`:`>`,n=i(e.origin);return n?`Too small: expected ${e.origin} to have ${t}${e.minimum.toString()} ${n.unit}`:`Too small: expected ${e.origin} to be ${t}${e.minimum.toString()}`}case`invalid_format`:{let t=e;return t.format===`starts_with`?`Invalid string: must start with "${t.prefix}"`:t.format===`ends_with`?`Invalid string: must end with "${t.suffix}"`:t.format===`includes`?`Invalid string: must include "${t.includes}"`:t.format===`regex`?`Invalid string: must match pattern ${t.pattern}`:`Invalid ${a[t.format]??e.format}`}case`not_multiple_of`:return`Invalid number: must be a multiple of ${e.divisor}`;case`unrecognized_keys`:return`Unrecognized key${e.keys.length>1?`s`:``}: ${r(e.keys,`, `)}`;case`invalid_key`:return`Invalid key in ${e.origin}`;case`invalid_union`:return e.options&&Array.isArray(e.options)&&e.options.length>0?`Invalid discriminator value. Expected ${e.options.map(e=>`'${e}'`).join(` | `)}`:e.inclusive===!1?`Invalid input: more than one option matched`:`Invalid input`;case`invalid_element`:return`Invalid value in ${e.origin}`;default:return`Invalid input`}}};function o(){return{localeError:a()}}export{i as n,o as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{n as e}from"./rolldown-runtime-COiEfhsA.js";import{n as t,o as n,r,t as i}from"./toDate-B3HYxwtT.js";var a={};function o(){return a}function s(e,t){let n=o(),r=t?.weekStartsOn??t?.locale?.options?.weekStartsOn??n.weekStartsOn??n.locale?.options?.weekStartsOn??0,a=i(e,t?.in),s=a.getDay(),c=(s<r?7:0)+s-r;return a.setDate(a.getDate()-c),a.setHours(0,0,0,0),a}function c(e,t){return s(e,{...t,weekStartsOn:1})}function l(e,n){let r=i(e,n?.in),a=r.getFullYear(),o=t(r,0);o.setFullYear(a+1,0,4),o.setHours(0,0,0,0);let s=c(o),l=t(r,0);l.setFullYear(a,0,4),l.setHours(0,0,0,0);let u=c(l);return r.getTime()>=s.getTime()?a+1:r.getTime()>=u.getTime()?a:a-1}function u(e){let t=i(e),n=new Date(Date.UTC(t.getFullYear(),t.getMonth(),t.getDate(),t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds()));return n.setUTCFullYear(t.getFullYear()),+e-n}function d(e,...n){let r=t.bind(null,e||n.find(e=>typeof e==`object`));return n.map(r)}function f(e,t){let n=i(e,t?.in);return n.setHours(0,0,0,0),n}function p(e,t,n){let[i,a]=d(n?.in,e,t),o=f(i),s=f(a),c=+o-u(o),l=+s-u(s);return Math.round((c-l)/r)}function m(e,n){let r=l(e,n),i=t(n?.in||e,0);return i.setFullYear(r,0,4),i.setHours(0,0,0,0),c(i)}function h(e){return e instanceof Date||typeof e==`object`&&Object.prototype.toString.call(e)===`[object Date]`}function g(e){return!(!h(e)&&typeof e!=`number`||isNaN(+i(e)))}function _(e,t){let n=i(e,t?.in);return n.setFullYear(n.getFullYear(),0,1),n.setHours(0,0,0,0),n}var ee={lessThanXSeconds:{one:`less than a second`,other:`less than {{count}} seconds`},xSeconds:{one:`1 second`,other:`{{count}} seconds`},halfAMinute:`half a minute`,lessThanXMinutes:{one:`less than a minute`,other:`less than {{count}} minutes`},xMinutes:{one:`1 minute`,other:`{{count}} minutes`},aboutXHours:{one:`about 1 hour`,other:`about {{count}} hours`},xHours:{one:`1 hour`,other:`{{count}} hours`},xDays:{one:`1 day`,other:`{{count}} days`},aboutXWeeks:{one:`about 1 week`,other:`about {{count}} weeks`},xWeeks:{one:`1 week`,other:`{{count}} weeks`},aboutXMonths:{one:`about 1 month`,other:`about {{count}} months`},xMonths:{one:`1 month`,other:`{{count}} months`},aboutXYears:{one:`about 1 year`,other:`about {{count}} years`},xYears:{one:`1 year`,other:`{{count}} years`},overXYears:{one:`over 1 year`,other:`over {{count}} years`},almostXYears:{one:`almost 1 year`,other:`almost {{count}} years`}},v=(e,t,n)=>{let r,i=ee[e];return r=typeof i==`string`?i:t===1?i.one:i.other.replace(`{{count}}`,t.toString()),n?.addSuffix?n.comparison&&n.comparison>0?`in `+r:r+` ago`:r};function y(e){return(t={})=>{let n=t.width?String(t.width):e.defaultWidth;return e.formats[n]||e.formats[e.defaultWidth]}}var b={date:y({formats:{full:`EEEE, MMMM do, y`,long:`MMMM do, y`,medium:`MMM d, y`,short:`MM/dd/yyyy`},defaultWidth:`full`}),time:y({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:y({formats:{full:`{{date}} 'at' {{time}}`,long:`{{date}} 'at' {{time}}`,medium:`{{date}}, {{time}}`,short:`{{date}}, {{time}}`},defaultWidth:`full`})},x={lastWeek:`'last' eeee 'at' p`,yesterday:`'yesterday at' p`,today:`'today at' p`,tomorrow:`'tomorrow at' p`,nextWeek:`eeee 'at' p`,other:`P`},S=(e,t,n,r)=>x[e];function C(e){return(t,n)=>{let r=n?.context?String(n.context):`standalone`,i;if(r===`formatting`&&e.formattingValues){let t=e.defaultFormattingWidth||e.defaultWidth,r=n?.width?String(n.width):t;i=e.formattingValues[r]||e.formattingValues[t]}else{let t=e.defaultWidth,r=n?.width?String(n.width):e.defaultWidth;i=e.values[r]||e.values[t]}let a=e.argumentCallback?e.argumentCallback(t):t;return i[a]}}var te={ordinalNumber:(e,t)=>{let n=Number(e),r=n%100;if(r>20||r<10)switch(r%10){case 1:return n+`st`;case 2:return n+`nd`;case 3:return n+`rd`}return n+`th`},era:C({values:{narrow:[`B`,`A`],abbreviated:[`BC`,`AD`],wide:[`Before Christ`,`Anno Domini`]},defaultWidth:`wide`}),quarter:C({values:{narrow:[`1`,`2`,`3`,`4`],abbreviated:[`Q1`,`Q2`,`Q3`,`Q4`],wide:[`1st quarter`,`2nd quarter`,`3rd quarter`,`4th quarter`]},defaultWidth:`wide`,argumentCallback:e=>e-1}),month:C({values:{narrow:[`J`,`F`,`M`,`A`,`M`,`J`,`J`,`A`,`S`,`O`,`N`,`D`],abbreviated:[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`],wide:[`January`,`February`,`March`,`April`,`May`,`June`,`July`,`August`,`September`,`October`,`November`,`December`]},defaultWidth:`wide`}),day:C({values:{narrow:[`S`,`M`,`T`,`W`,`T`,`F`,`S`],short:[`Su`,`Mo`,`Tu`,`We`,`Th`,`Fr`,`Sa`],abbreviated:[`Sun`,`Mon`,`Tue`,`Wed`,`Thu`,`Fri`,`Sat`],wide:[`Sunday`,`Monday`,`Tuesday`,`Wednesday`,`Thursday`,`Friday`,`Saturday`]},defaultWidth:`wide`}),dayPeriod:C({values:{narrow:{am:`a`,pm:`p`,midnight:`mi`,noon:`n`,morning:`morning`,afternoon:`afternoon`,evening:`evening`,night:`night`},abbreviated:{am:`AM`,pm:`PM`,midnight:`midnight`,noon:`noon`,morning:`morning`,afternoon:`afternoon`,evening:`evening`,night:`night`},wide:{am:`a.m.`,pm:`p.m.`,midnight:`midnight`,noon:`noon`,morning:`morning`,afternoon:`afternoon`,evening:`evening`,night:`night`}},defaultWidth:`wide`,formattingValues:{narrow:{am:`a`,pm:`p`,midnight:`mi`,noon:`n`,morning:`in the morning`,afternoon:`in the afternoon`,evening:`in the evening`,night:`at night`},abbreviated:{am:`AM`,pm:`PM`,midnight:`midnight`,noon:`noon`,morning:`in the morning`,afternoon:`in the afternoon`,evening:`in the evening`,night:`at night`},wide:{am:`a.m.`,pm:`p.m.`,midnight:`midnight`,noon:`noon`,morning:`in the morning`,afternoon:`in the afternoon`,evening:`in the evening`,night:`at night`}},defaultFormattingWidth:`wide`})};function w(e){return(t,n={})=>{let r=n.width,i=r&&e.matchPatterns[r]||e.matchPatterns[e.defaultMatchWidth],a=t.match(i);if(!a)return null;let o=a[0],s=r&&e.parsePatterns[r]||e.parsePatterns[e.defaultParseWidth],c=Array.isArray(s)?E(s,e=>e.test(o)):T(s,e=>e.test(o)),l;l=e.valueCallback?e.valueCallback(c):c,l=n.valueCallback?n.valueCallback(l):l;let u=t.slice(o.length);return{value:l,rest:u}}}function T(e,t){for(let n in e)if(Object.prototype.hasOwnProperty.call(e,n)&&t(e[n]))return n}function E(e,t){for(let n=0;n<e.length;n++)if(t(e[n]))return n}function D(e){return(t,n={})=>{let r=t.match(e.matchPattern);if(!r)return null;let i=r[0],a=t.match(e.parsePattern);if(!a)return null;let o=e.valueCallback?e.valueCallback(a[0]):a[0];o=n.valueCallback?n.valueCallback(o):o;let s=t.slice(i.length);return{value:o,rest:s}}}var O={code:`en-US`,formatDistance:v,formatLong:b,formatRelative:S,localize:te,match:{ordinalNumber:D({matchPattern:/^(\d+)(th|st|nd|rd)?/i,parsePattern:/\d+/i,valueCallback:e=>parseInt(e,10)}),era:w({matchPatterns:{narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},defaultMatchWidth:`wide`,parsePatterns:{any:[/^b/i,/^(a|c)/i]},defaultParseWidth:`any`}),quarter:w({matchPatterns:{narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},defaultMatchWidth:`wide`,parsePatterns:{any:[/1/i,/2/i,/3/i,/4/i]},defaultParseWidth:`any`,valueCallback:e=>e+1}),month:w({matchPatterns:{narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},defaultMatchWidth:`wide`,parsePatterns:{narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},defaultParseWidth:`any`}),day:w({matchPatterns:{narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},defaultMatchWidth:`wide`,parsePatterns:{narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},defaultParseWidth:`any`}),dayPeriod:w({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}};function k(e,t){let n=i(e,t?.in);return p(n,_(n))+1}function A(e,t){let r=i(e,t?.in),a=+c(r)-m(r);return Math.round(a/n)+1}function j(e,n){let r=i(e,n?.in),a=r.getFullYear(),c=o(),l=n?.firstWeekContainsDate??n?.locale?.options?.firstWeekContainsDate??c.firstWeekContainsDate??c.locale?.options?.firstWeekContainsDate??1,u=t(n?.in||e,0);u.setFullYear(a+1,0,l),u.setHours(0,0,0,0);let d=s(u,n),f=t(n?.in||e,0);f.setFullYear(a,0,l),f.setHours(0,0,0,0);let p=s(f,n);return+r>=+d?a+1:+r>=+p?a:a-1}function M(e,n){let r=o(),i=n?.firstWeekContainsDate??n?.locale?.options?.firstWeekContainsDate??r.firstWeekContainsDate??r.locale?.options?.firstWeekContainsDate??1,a=j(e,n),c=t(n?.in||e,0);return c.setFullYear(a,0,i),c.setHours(0,0,0,0),s(c,n)}function N(e,t){let r=i(e,t?.in),a=+s(r,t)-M(r,t);return Math.round(a/n)+1}function P(e,t){return(e<0?`-`:``)+Math.abs(e).toString().padStart(t,`0`)}var F={y(e,t){let n=e.getFullYear(),r=n>0?n:1-n;return P(t===`yy`?r%100:r,t.length)},M(e,t){let n=e.getMonth();return t===`M`?String(n+1):P(n+1,2)},d(e,t){return P(e.getDate(),t.length)},a(e,t){let n=e.getHours()/12>=1?`pm`:`am`;switch(t){case`a`:case`aa`:return n.toUpperCase();case`aaa`:return n;case`aaaaa`:return n[0];default:return n===`am`?`a.m.`:`p.m.`}},h(e,t){return P(e.getHours()%12||12,t.length)},H(e,t){return P(e.getHours(),t.length)},m(e,t){return P(e.getMinutes(),t.length)},s(e,t){return P(e.getSeconds(),t.length)},S(e,t){let n=t.length,r=e.getMilliseconds();return P(Math.trunc(r*10**(n-3)),t.length)}},I={am:`am`,pm:`pm`,midnight:`midnight`,noon:`noon`,morning:`morning`,afternoon:`afternoon`,evening:`evening`,night:`night`},L={G:function(e,t,n){let r=+(e.getFullYear()>0);switch(t){case`G`:case`GG`:case`GGG`:return n.era(r,{width:`abbreviated`});case`GGGGG`:return n.era(r,{width:`narrow`});default:return n.era(r,{width:`wide`})}},y:function(e,t,n){if(t===`yo`){let t=e.getFullYear(),r=t>0?t:1-t;return n.ordinalNumber(r,{unit:`year`})}return F.y(e,t)},Y:function(e,t,n,r){let i=j(e,r),a=i>0?i:1-i;return t===`YY`?P(a%100,2):t===`Yo`?n.ordinalNumber(a,{unit:`year`}):P(a,t.length)},R:function(e,t){return P(l(e),t.length)},u:function(e,t){return P(e.getFullYear(),t.length)},Q:function(e,t,n){let r=Math.ceil((e.getMonth()+1)/3);switch(t){case`Q`:return String(r);case`QQ`:return P(r,2);case`Qo`:return n.ordinalNumber(r,{unit:`quarter`});case`QQQ`:return n.quarter(r,{width:`abbreviated`,context:`formatting`});case`QQQQQ`:return n.quarter(r,{width:`narrow`,context:`formatting`});default:return n.quarter(r,{width:`wide`,context:`formatting`})}},q:function(e,t,n){let r=Math.ceil((e.getMonth()+1)/3);switch(t){case`q`:return String(r);case`qq`:return P(r,2);case`qo`:return n.ordinalNumber(r,{unit:`quarter`});case`qqq`:return n.quarter(r,{width:`abbreviated`,context:`standalone`});case`qqqqq`:return n.quarter(r,{width:`narrow`,context:`standalone`});default:return n.quarter(r,{width:`wide`,context:`standalone`})}},M:function(e,t,n){let r=e.getMonth();switch(t){case`M`:case`MM`:return F.M(e,t);case`Mo`:return n.ordinalNumber(r+1,{unit:`month`});case`MMM`:return n.month(r,{width:`abbreviated`,context:`formatting`});case`MMMMM`:return n.month(r,{width:`narrow`,context:`formatting`});default:return n.month(r,{width:`wide`,context:`formatting`})}},L:function(e,t,n){let r=e.getMonth();switch(t){case`L`:return String(r+1);case`LL`:return P(r+1,2);case`Lo`:return n.ordinalNumber(r+1,{unit:`month`});case`LLL`:return n.month(r,{width:`abbreviated`,context:`standalone`});case`LLLLL`:return n.month(r,{width:`narrow`,context:`standalone`});default:return n.month(r,{width:`wide`,context:`standalone`})}},w:function(e,t,n,r){let i=N(e,r);return t===`wo`?n.ordinalNumber(i,{unit:`week`}):P(i,t.length)},I:function(e,t,n){let r=A(e);return t===`Io`?n.ordinalNumber(r,{unit:`week`}):P(r,t.length)},d:function(e,t,n){return t===`do`?n.ordinalNumber(e.getDate(),{unit:`date`}):F.d(e,t)},D:function(e,t,n){let r=k(e);return t===`Do`?n.ordinalNumber(r,{unit:`dayOfYear`}):P(r,t.length)},E:function(e,t,n){let r=e.getDay();switch(t){case`E`:case`EE`:case`EEE`:return n.day(r,{width:`abbreviated`,context:`formatting`});case`EEEEE`:return n.day(r,{width:`narrow`,context:`formatting`});case`EEEEEE`:return n.day(r,{width:`short`,context:`formatting`});default:return n.day(r,{width:`wide`,context:`formatting`})}},e:function(e,t,n,r){let i=e.getDay(),a=(i-r.weekStartsOn+8)%7||7;switch(t){case`e`:return String(a);case`ee`:return P(a,2);case`eo`:return n.ordinalNumber(a,{unit:`day`});case`eee`:return n.day(i,{width:`abbreviated`,context:`formatting`});case`eeeee`:return n.day(i,{width:`narrow`,context:`formatting`});case`eeeeee`:return n.day(i,{width:`short`,context:`formatting`});default:return n.day(i,{width:`wide`,context:`formatting`})}},c:function(e,t,n,r){let i=e.getDay(),a=(i-r.weekStartsOn+8)%7||7;switch(t){case`c`:return String(a);case`cc`:return P(a,t.length);case`co`:return n.ordinalNumber(a,{unit:`day`});case`ccc`:return n.day(i,{width:`abbreviated`,context:`standalone`});case`ccccc`:return n.day(i,{width:`narrow`,context:`standalone`});case`cccccc`:return n.day(i,{width:`short`,context:`standalone`});default:return n.day(i,{width:`wide`,context:`standalone`})}},i:function(e,t,n){let r=e.getDay(),i=r===0?7:r;switch(t){case`i`:return String(i);case`ii`:return P(i,t.length);case`io`:return n.ordinalNumber(i,{unit:`day`});case`iii`:return n.day(r,{width:`abbreviated`,context:`formatting`});case`iiiii`:return n.day(r,{width:`narrow`,context:`formatting`});case`iiiiii`:return n.day(r,{width:`short`,context:`formatting`});default:return n.day(r,{width:`wide`,context:`formatting`})}},a:function(e,t,n){let r=e.getHours()/12>=1?`pm`:`am`;switch(t){case`a`:case`aa`:return n.dayPeriod(r,{width:`abbreviated`,context:`formatting`});case`aaa`:return n.dayPeriod(r,{width:`abbreviated`,context:`formatting`}).toLowerCase();case`aaaaa`:return n.dayPeriod(r,{width:`narrow`,context:`formatting`});default:return n.dayPeriod(r,{width:`wide`,context:`formatting`})}},b:function(e,t,n){let r=e.getHours(),i;switch(i=r===12?I.noon:r===0?I.midnight:r/12>=1?`pm`:`am`,t){case`b`:case`bb`:return n.dayPeriod(i,{width:`abbreviated`,context:`formatting`});case`bbb`:return n.dayPeriod(i,{width:`abbreviated`,context:`formatting`}).toLowerCase();case`bbbbb`:return n.dayPeriod(i,{width:`narrow`,context:`formatting`});default:return n.dayPeriod(i,{width:`wide`,context:`formatting`})}},B:function(e,t,n){let r=e.getHours(),i;switch(i=r>=17?I.evening:r>=12?I.afternoon:r>=4?I.morning:I.night,t){case`B`:case`BB`:case`BBB`:return n.dayPeriod(i,{width:`abbreviated`,context:`formatting`});case`BBBBB`:return n.dayPeriod(i,{width:`narrow`,context:`formatting`});default:return n.dayPeriod(i,{width:`wide`,context:`formatting`})}},h:function(e,t,n){if(t===`ho`){let t=e.getHours()%12;return t===0&&(t=12),n.ordinalNumber(t,{unit:`hour`})}return F.h(e,t)},H:function(e,t,n){return t===`Ho`?n.ordinalNumber(e.getHours(),{unit:`hour`}):F.H(e,t)},K:function(e,t,n){let r=e.getHours()%12;return t===`Ko`?n.ordinalNumber(r,{unit:`hour`}):P(r,t.length)},k:function(e,t,n){let r=e.getHours();return r===0&&(r=24),t===`ko`?n.ordinalNumber(r,{unit:`hour`}):P(r,t.length)},m:function(e,t,n){return t===`mo`?n.ordinalNumber(e.getMinutes(),{unit:`minute`}):F.m(e,t)},s:function(e,t,n){return t===`so`?n.ordinalNumber(e.getSeconds(),{unit:`second`}):F.s(e,t)},S:function(e,t){return F.S(e,t)},X:function(e,t,n){let r=e.getTimezoneOffset();if(r===0)return`Z`;switch(t){case`X`:return z(r);case`XXXX`:case`XX`:return B(r);default:return B(r,`:`)}},x:function(e,t,n){let r=e.getTimezoneOffset();switch(t){case`x`:return z(r);case`xxxx`:case`xx`:return B(r);default:return B(r,`:`)}},O:function(e,t,n){let r=e.getTimezoneOffset();switch(t){case`O`:case`OO`:case`OOO`:return`GMT`+R(r,`:`);default:return`GMT`+B(r,`:`)}},z:function(e,t,n){let r=e.getTimezoneOffset();switch(t){case`z`:case`zz`:case`zzz`:return`GMT`+R(r,`:`);default:return`GMT`+B(r,`:`)}},t:function(e,t,n){return P(Math.trunc(e/1e3),t.length)},T:function(e,t,n){return P(+e,t.length)}};function R(e,t=``){let n=e>0?`-`:`+`,r=Math.abs(e),i=Math.trunc(r/60),a=r%60;return a===0?n+String(i):n+String(i)+t+P(a,2)}function z(e,t){return e%60==0?(e>0?`-`:`+`)+P(Math.abs(e)/60,2):B(e,t)}function B(e,t=``){let n=e>0?`-`:`+`,r=Math.abs(e),i=P(Math.trunc(r/60),2),a=P(r%60,2);return n+i+t+a}var V=(e,t)=>{switch(e){case`P`:return t.date({width:`short`});case`PP`:return t.date({width:`medium`});case`PPP`:return t.date({width:`long`});default:return t.date({width:`full`})}},H=(e,t)=>{switch(e){case`p`:return t.time({width:`short`});case`pp`:return t.time({width:`medium`});case`ppp`:return t.time({width:`long`});default:return t.time({width:`full`})}},U={p:H,P:(e,t)=>{let n=e.match(/(P+)(p+)?/)||[],r=n[1],i=n[2];if(!i)return V(e,t);let a;switch(r){case`P`:a=t.dateTime({width:`short`});break;case`PP`:a=t.dateTime({width:`medium`});break;case`PPP`:a=t.dateTime({width:`long`});break;default:a=t.dateTime({width:`full`})}return a.replace(`{{date}}`,V(r,t)).replace(`{{time}}`,H(i,t))}},W=/^D+$/,G=/^Y+$/,K=[`D`,`DD`,`YY`,`YYYY`];function q(e){return W.test(e)}function J(e){return G.test(e)}function Y(e,t,n){let r=X(e,t,n);if(console.warn(r),K.includes(e))throw RangeError(r)}function X(e,t,n){let r=e[0]===`Y`?`years`:`days of the month`;return`Use \`${e.toLowerCase()}\` instead of \`${e}\` (in \`${t}\`) for formatting ${r} to the input \`${n}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`}var Z=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,ne=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,re=/^'([^]*?)'?$/,ie=/''/g,ae=/[a-zA-Z]/;function Q(e,t,n){let r=o(),a=n?.locale??r.locale??O,s=n?.firstWeekContainsDate??n?.locale?.options?.firstWeekContainsDate??r.firstWeekContainsDate??r.locale?.options?.firstWeekContainsDate??1,c=n?.weekStartsOn??n?.locale?.options?.weekStartsOn??r.weekStartsOn??r.locale?.options?.weekStartsOn??0,l=i(e,n?.in);if(!g(l))throw RangeError(`Invalid time value`);let u=t.match(ne).map(e=>{let t=e[0];if(t===`p`||t===`P`){let n=U[t];return n(e,a.formatLong)}return e}).join(``).match(Z).map(e=>{if(e===`''`)return{isToken:!1,value:`'`};let t=e[0];if(t===`'`)return{isToken:!1,value:oe(e)};if(L[t])return{isToken:!0,value:e};if(t.match(ae))throw RangeError("Format string contains an unescaped latin alphabet character `"+t+"`");return{isToken:!1,value:e}});a.localize.preprocessor&&(u=a.localize.preprocessor(l,u));let d={firstWeekContainsDate:s,weekStartsOn:c,locale:a};return u.map(r=>{if(!r.isToken)return r.value;let i=r.value;(!n?.useAdditionalWeekYearTokens&&J(i)||!n?.useAdditionalDayOfYearTokens&&q(i))&&Y(i,t,String(e));let o=L[i[0]];return o(l,i,a.localize,d)}).join(``)}function oe(e){let t=e.match(re);return t?t[1].replace(ie,`'`):e}var se=e({enUS:()=>$}),$={...O,labels:{labelDayButton:(e,t,n,r)=>{let i;i=r&&typeof r.format==`function`?r.format.bind(r):(e,t)=>Q(e,t,{locale:O,...n});let a=i(e,`PPPP`);return t.today&&(a=`Today, ${a}`),t.selected&&(a=`${a}, selected`),a},labelMonthDropdown:`Choose the Month`,labelNext:`Go to the Next Month`,labelPrevious:`Go to the Previous Month`,labelWeekNumber:e=>`Week ${e}`,labelYearDropdown:`Choose the Year`,labelGrid:(e,t,n)=>{let r;return r=n&&typeof n.format==`function`?n.format.bind(n):(e,n)=>Q(e,n,{locale:O,...t}),r(e,`LLLL yyyy`)},labelGridcell:(e,t,n,r)=>{let i;i=r&&typeof r.format==`function`?r.format.bind(r):(e,t)=>Q(e,t,{locale:O,...n});let a=i(e,`PPPP`);return t?.today&&(a=`Today, ${a}`),a},labelNav:`Navigation bar`,labelWeekNumberHeader:`Week Number`,labelWeekday:(e,t,n)=>{let r;return r=n&&typeof n.format==`function`?n.format.bind(n):(e,n)=>Q(e,n,{locale:O,...t}),r(e,`cccc`)}}};export{s as _,A as a,C as c,g as d,h as f,c as g,d as h,N as i,y as l,f as m,se as n,D as o,p,Q as r,w as s,$ as t,_ as u,o as v};
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import{n as e,t}from"./chunk-Y2CYZVJY-DsF7k-Jl.js";import{m as n,p as r}from"./src-BWF7jMDv.js";import{C as i,H as a,U as o,_ as s,a as c,at as l,b as u,q as d,s as f,v as p}from"./chunk-DSNLSHJZ-DTC3y9rb.js";import{t as m}from"./channel-BhHvU4I-.js";import{_ as h,c as g}from"./chunk-7S6XSTFO-CpdNd6Ke.js";import"./chunk-YZO67HFG-C0ptzlKO.js";import"./chunk-AQDTSKZB-CpyuSWt8.js";import"./chunk-UHW7PFBP-D79ptlTN.js";import{a as _,i as v,o as y,r as b,t as x}from"./chunk-J5ZVWO5B-oDCd-gWO.js";import"./chunk-HAGFOTED-Bv8PrMYK.js";import"./chunk-ZAUX2LTX-ah8U5xoJ.js";import"./chunk-WQQL4CDK-DAGuWzS3.js";import{t as S}from"./chunk-XXDRQBXY-CnbRkih_.js";import{t as C}from"./chunk-VQ5W62QI-B8hWFCiM.js";import"./chunk-HNE4Q36P-CDDJ_yRa.js";import{i as w,r as T}from"./mermaid.core-vGVkgzA3.js";var E=(function(){var t=e(function(e,t,n,r){for(n||={},r=e.length;r--;n[e[r]]=t);return n},`o`),n=[6,9,21,23,25,27,34,37,38,39,40,41,43,46,47,51,53,54,55],r=[2,2],i=[1,7],a=[1,9],o=[1,10],s=[1,11],c=[1,12],l=[1,30],u=[1,23],d=[1,24],f=[1,25],p=[1,26],m=[1,27],h=[1,19],g=[1,28],_=[1,29],v=[1,20],y=[1,18],b=[1,21],x=[1,22],S=[2,6],C=[6,9,21,23,25,27,33,34,37,38,39,40,41,43,46,47,51,53,54,55],w=[1,36],T=[1,37],E=[1,38],D=[1,39],O=[1,40],k=[6,9,12,14,16,19,20,21,23,25,27,33,34,37,38,39,40,41,43,46,47,50,51,53,54,55,69,70,71,72,73],A=[1,46],j=[1,47],M=[1,57],N=[43,51,53,54,55,74,75],P=[1,70],F=[1,68],I=[1,65],L=[1,69],R=[1,71],z=[6,9,12,16,21,23,25,27,33,34,37,38,39,40,41,43,44,45,46,47,51,52,53,54,55,69,70,71,72,73],B=[1,78],V=[1,77],H=[1,76],U=[69,70,71,72,73],W=[1,91],G=[6,9,45,50],K=[6,9,12,44,45,50,51,52],q=[1,101],J=[1,100],Y=[1,99],X=[18,61],ee=[1,110],te=[1,109],ne=[20,43,51,53,54,55],Z=[18,61,64,66],Q={trace:e(function(){},`trace`),yy:{},symbols_:{error:2,start:3,ER_DIAGRAM:4,document:5,EOF:6,line:7,statement:8,NEWLINE:9,entityName:10,relSpec:11,COLON:12,role:13,STYLE_SEPARATOR:14,idList:15,BLOCK_START:16,attributes:17,BLOCK_STOP:18,SQS:19,SQE:20,title:21,title_value:22,acc_title:23,acc_title_value:24,acc_descr:25,acc_descr_value:26,acc_descr_multiline_value:27,direction:28,classDefStatement:29,classStatement:30,styleStatement:31,subgraphHeader:32,END:33,SUBGRAPH:34,separator:35,subgraphTitle:36,direction_tb:37,direction_bt:38,direction_rl:39,direction_lr:40,CLASSDEF:41,stylesOpt:42,UNICODE_TEXT:43,STYLE_TEXT:44,COMMA:45,CLASS:46,STYLE:47,style:48,styleComponent:49,SEMI:50,NUM:51,BRKT:52,ENTITY_NAME:53,DECIMAL_NUM:54,ENTITY_ONE:55,attribute:56,attributeType:57,attributeName:58,attributeKeyTypeList:59,attributeComment:60,ATTRIBUTE_WORD:61,"?":62,attributeKeyType:63,",":64,ATTRIBUTE_KEY:65,COMMENT:66,cardinality:67,relType:68,ZERO_OR_ONE:69,ZERO_OR_MORE:70,ONE_OR_MORE:71,ONLY_ONE:72,MD_PARENT:73,NON_IDENTIFYING:74,IDENTIFYING:75,WORD:76,$accept:0,$end:1},terminals_:{2:`error`,4:`ER_DIAGRAM`,6:`EOF`,9:`NEWLINE`,12:`COLON`,14:`STYLE_SEPARATOR`,16:`BLOCK_START`,18:`BLOCK_STOP`,19:`SQS`,20:`SQE`,21:`title`,22:`title_value`,23:`acc_title`,24:`acc_title_value`,25:`acc_descr`,26:`acc_descr_value`,27:`acc_descr_multiline_value`,33:`END`,34:`SUBGRAPH`,37:`direction_tb`,38:`direction_bt`,39:`direction_rl`,40:`direction_lr`,41:`CLASSDEF`,43:`UNICODE_TEXT`,44:`STYLE_TEXT`,45:`COMMA`,46:`CLASS`,47:`STYLE`,50:`SEMI`,51:`NUM`,52:`BRKT`,53:`ENTITY_NAME`,54:`DECIMAL_NUM`,55:`ENTITY_ONE`,61:`ATTRIBUTE_WORD`,62:`?`,64:`,`,65:`ATTRIBUTE_KEY`,66:`COMMENT`,69:`ZERO_OR_ONE`,70:`ZERO_OR_MORE`,71:`ONE_OR_MORE`,72:`ONLY_ONE`,73:`MD_PARENT`,74:`NON_IDENTIFYING`,75:`IDENTIFYING`,76:`WORD`},productions_:[0,[3,3],[5,0],[5,2],[7,1],[7,1],[7,1],[8,5],[8,9],[8,7],[8,7],[8,4],[8,6],[8,3],[8,5],[8,1],[8,3],[8,7],[8,9],[8,6],[8,8],[8,4],[8,6],[8,2],[8,2],[8,2],[8,1],[8,1],[8,1],[8,1],[8,1],[8,3],[32,3],[32,6],[36,1],[36,2],[28,1],[28,1],[28,1],[28,1],[29,4],[15,1],[15,1],[15,3],[15,3],[30,3],[31,4],[42,1],[42,3],[48,1],[48,2],[35,1],[35,1],[35,1],[49,1],[49,1],[49,1],[49,1],[10,1],[10,1],[10,1],[10,1],[10,1],[17,1],[17,2],[56,2],[56,3],[56,3],[56,4],[57,1],[57,2],[58,1],[59,1],[59,3],[63,1],[60,1],[11,3],[67,1],[67,1],[67,1],[67,1],[67,1],[68,1],[68,1],[13,1],[13,1],[13,1]],performAction:e(function(e,t,n,r,i,a,o){var s=a.length-1;switch(i){case 1:break;case 2:this.$=[];break;case 3:this.$=a[s-1].concat(a[s]);break;case 4:this.$=a[s];break;case 5:case 6:this.$=[];break;case 7:r.addEntity(a[s-4]),r.addEntity(a[s-2]),r.addRelationship(a[s-4],a[s],a[s-2],a[s-3]),this.$=[a[s-4],a[s-2]];break;case 8:r.addEntity(a[s-8]),r.addEntity(a[s-4]),r.addRelationship(a[s-8],a[s],a[s-4],a[s-5]),r.setClass([a[s-8]],a[s-6]),r.setClass([a[s-4]],a[s-2]),this.$=[a[s-8],a[s-4]];break;case 9:r.addEntity(a[s-6]),r.addEntity(a[s-2]),r.addRelationship(a[s-6],a[s],a[s-2],a[s-3]),r.setClass([a[s-6]],a[s-4]),this.$=[a[s-6],a[s-2]];break;case 10:r.addEntity(a[s-6]),r.addEntity(a[s-4]),r.addRelationship(a[s-6],a[s],a[s-4],a[s-5]),r.setClass([a[s-4]],a[s-2]),this.$=[a[s-6],a[s-4]];break;case 11:r.addEntity(a[s-3]),r.addAttributes(a[s-3],a[s-1]),this.$=[a[s-3]];break;case 12:r.addEntity(a[s-5]),r.addAttributes(a[s-5],a[s-1]),r.setClass([a[s-5]],a[s-3]),this.$=[a[s-5]];break;case 13:r.addEntity(a[s-2]),this.$=[a[s-2]];break;case 14:r.addEntity(a[s-4]),r.setClass([a[s-4]],a[s-2]),this.$=[a[s-4]];break;case 15:r.addEntity(a[s]),this.$=[a[s]];break;case 16:r.addEntity(a[s-2]),r.setClass([a[s-2]],a[s]),this.$=[a[s-2]];break;case 17:r.addEntity(a[s-6],a[s-4]),r.addAttributes(a[s-6],a[s-1]),this.$=[a[s-6]];break;case 18:r.addEntity(a[s-8],a[s-6]),r.addAttributes(a[s-8],a[s-1]),r.setClass([a[s-8]],a[s-3]),this.$=[a[s-8]];break;case 19:r.addEntity(a[s-5],a[s-3]),this.$=[a[s-5]];break;case 20:r.addEntity(a[s-7],a[s-5]),r.setClass([a[s-7]],a[s-2]),this.$=[a[s-7]];break;case 21:r.addEntity(a[s-3],a[s-1]);break;case 22:r.addEntity(a[s-5],a[s-3]),r.setClass([a[s-5]],a[s]);break;case 23:case 24:this.$=a[s].trim(),r.setAccTitle(this.$);break;case 25:case 26:this.$=a[s].trim(),r.setAccDescription(this.$);break;case 27:r.subgraphDepth?this.$=a[s]:(r.setDirection(a[s].value),this.$=[]);break;case 31:r.subgraphDepth=(r.subgraphDepth||1)-1,this.$=r.addSubGraph({text:a[s-2].id},a[s-1],{text:a[s-2].text});break;case 32:r.subgraphDepth=(r.subgraphDepth||0)+1,this.$={id:a[s-1],text:a[s-1]};break;case 33:r.subgraphDepth=(r.subgraphDepth||0)+1,this.$={id:a[s-4],text:a[s-2]};break;case 34:case 59:case 60:case 61:case 62:case 86:this.$=a[s];break;case 35:this.$=a[s-1]+` `+a[s];break;case 36:this.$={stmt:`dir`,value:`TB`};break;case 37:this.$={stmt:`dir`,value:`BT`};break;case 38:this.$={stmt:`dir`,value:`RL`};break;case 39:this.$={stmt:`dir`,value:`LR`};break;case 40:this.$=a[s-3],r.addClass(a[s-2],a[s-1]);break;case 41:case 42:case 63:case 72:this.$=[a[s]];break;case 43:case 44:this.$=a[s-2].concat([a[s]]);break;case 45:this.$=a[s-2],r.setClass(a[s-1],a[s]);break;case 46:this.$=a[s-3],r.addCssStyles(a[s-2],a[s-1]);break;case 47:this.$=[a[s]];break;case 48:a[s-2].push(a[s]),this.$=a[s-2];break;case 50:this.$=a[s-1]+a[s];break;case 58:case 84:case 85:this.$=a[s].replace(/"/g,``);break;case 64:a[s].push(a[s-1]),this.$=a[s];break;case 65:this.$={type:a[s-1],name:a[s]};break;case 66:this.$={type:a[s-2],name:a[s-1],keys:a[s]};break;case 67:this.$={type:a[s-2],name:a[s-1],comment:a[s]};break;case 68:this.$={type:a[s-3],name:a[s-2],keys:a[s-1],comment:a[s]};break;case 69:case 71:case 74:this.$=a[s];break;case 70:this.$=a[s-1]+a[s];break;case 73:a[s-2].push(a[s]),this.$=a[s-2];break;case 75:this.$=a[s].replace(/"/g,``);break;case 76:this.$={cardA:a[s],relType:a[s-1],cardB:a[s-2]};break;case 77:this.$=r.Cardinality.ZERO_OR_ONE;break;case 78:this.$=r.Cardinality.ZERO_OR_MORE;break;case 79:this.$=r.Cardinality.ONE_OR_MORE;break;case 80:this.$=r.Cardinality.ONLY_ONE;break;case 81:this.$=r.Cardinality.MD_PARENT;break;case 82:this.$=r.Identification.NON_IDENTIFYING;break;case 83:this.$=r.Identification.IDENTIFYING}},`anonymous`),table:[{3:1,4:[1,2]},{1:[3]},t(n,r,{5:3}),{6:[1,4],7:5,8:6,9:i,10:8,21:a,23:o,25:s,27:c,28:13,29:14,30:15,31:16,32:17,34:l,37:u,38:d,39:f,40:p,41:m,43:h,46:g,47:_,51:v,53:y,54:b,55:x},t(n,S,{1:[2,1]}),t(C,[2,3]),t(C,[2,4]),t(C,[2,5]),t(C,[2,15],{11:31,67:35,14:[1,32],16:[1,33],19:[1,34],69:w,70:T,71:E,72:D,73:O}),{22:[1,41]},{24:[1,42]},{26:[1,43]},t(C,[2,26]),t(C,[2,27]),t(C,[2,28]),t(C,[2,29]),t(C,[2,30]),t(C,r,{5:44}),t(k,[2,58]),t(k,[2,59]),t(k,[2,60]),t(k,[2,61]),t(k,[2,62]),t(C,[2,36]),t(C,[2,37]),t(C,[2,38]),t(C,[2,39]),{15:45,43:A,44:j},{15:48,43:A,44:j},{15:49,43:A,44:j},{10:50,43:h,51:v,53:y,54:b,55:x},{10:51,43:h,51:v,53:y,54:b,55:x},{15:52,43:A,44:j},{17:53,18:[1,54],56:55,57:56,61:M},{10:58,43:h,51:v,53:y,54:b,55:x},{68:59,74:[1,60],75:[1,61]},t(N,[2,77]),t(N,[2,78]),t(N,[2,79]),t(N,[2,80]),t(N,[2,81]),t(C,[2,23]),t(C,[2,24]),t(C,[2,25]),{6:[1,63],7:5,8:6,9:i,10:8,21:a,23:o,25:s,27:c,28:13,29:14,30:15,31:16,32:17,33:[1,62],34:l,37:u,38:d,39:f,40:p,41:m,43:h,46:g,47:_,51:v,53:y,54:b,55:x},{12:P,42:64,44:F,45:I,48:66,49:67,51:L,52:R},t(z,[2,41]),t(z,[2,42]),{15:72,43:A,44:j,45:I},{12:P,42:73,44:F,45:I,48:66,49:67,51:L,52:R},{6:B,9:V,19:[1,75],35:74,50:H},{12:[1,79],14:[1,80]},t(C,[2,16],{67:35,11:81,16:[1,82],45:I,69:w,70:T,71:E,72:D,73:O}),{18:[1,83]},t(C,[2,13]),{17:84,18:[2,63],56:55,57:56,61:M},{58:85,61:[1,86]},{61:[2,69],62:[1,87]},{20:[1,88]},{67:89,69:w,70:T,71:E,72:D,73:O},t(U,[2,82]),t(U,[2,83]),t(C,[2,31]),t(C,S),{6:B,9:V,35:90,45:W,50:H},{43:[1,92],44:[1,93]},t(G,[2,47],{49:94,12:P,44:F,51:L,52:R}),t(K,[2,49]),t(K,[2,54]),t(K,[2,55]),t(K,[2,56]),t(K,[2,57]),t(C,[2,45],{45:I}),{6:B,9:V,35:95,45:W,50:H},t(C,[2,32]),{10:97,36:96,43:h,51:v,53:y,54:b,55:x},t(C,[2,51]),t(C,[2,52]),t(C,[2,53]),{13:98,43:q,53:J,76:Y},{15:102,43:A,44:j},{10:103,43:h,51:v,53:y,54:b,55:x},{17:104,18:[1,105],56:55,57:56,61:M},t(C,[2,11]),{18:[2,64]},t(X,[2,65],{59:106,60:107,63:108,65:ee,66:te}),t([18,61,65,66],[2,71]),{61:[2,70]},t(C,[2,21],{14:[1,112],16:[1,111]}),t([43,51,53,54,55],[2,76]),t(C,[2,40]),{12:P,44:F,48:113,49:67,51:L,52:R},t(z,[2,43]),t(z,[2,44]),t(K,[2,50]),t(C,[2,46]),{10:115,20:[1,114],43:h,51:v,53:y,54:b,55:x},t(ne,[2,34]),t(C,[2,7]),t(C,[2,84]),t(C,[2,85]),t(C,[2,86]),{12:[1,116],45:I},{12:[1,118],14:[1,117]},{18:[1,119]},t(C,[2,14]),t(X,[2,66],{60:120,64:[1,121],66:te}),t(X,[2,67]),t(Z,[2,72]),t(X,[2,75]),t(Z,[2,74]),{17:122,18:[1,123],56:55,57:56,61:M},{15:124,43:A,44:j},t(G,[2,48],{49:94,12:P,44:F,51:L,52:R}),{6:B,9:V,35:125,50:H},t(ne,[2,35]),{13:126,43:q,53:J,76:Y},{15:127,43:A,44:j},{13:128,43:q,53:J,76:Y},t(C,[2,12]),t(X,[2,68]),{63:129,65:ee},{18:[1,130]},t(C,[2,19]),t(C,[2,22],{16:[1,131],45:I}),t(C,[2,33]),t(C,[2,10]),{12:[1,132],45:I},t(C,[2,9]),t(Z,[2,73]),t(C,[2,17]),{17:133,18:[1,134],56:55,57:56,61:M},{13:135,43:q,53:J,76:Y},{18:[1,136]},t(C,[2,20]),t(C,[2,8]),t(C,[2,18])],defaultActions:{84:[2,64],87:[2,70]},parseError:e(function(e,t){if(t.recoverable)this.trace(e);else{var n=Error(e);throw n.hash=t,n}},`parseError`),parse:e(function(t){var n=this,r=[0],i=[],a=[null],o=[],s=this.table,c=``,l=0,u=0,d=0,f=2,p=1,m=o.slice.call(arguments,1),h=Object.create(this.lexer),g={yy:{}};for(var _ in this.yy)Object.prototype.hasOwnProperty.call(this.yy,_)&&(g.yy[_]=this.yy[_]);h.setInput(t,g.yy),g.yy.lexer=h,g.yy.parser=this,h.yylloc===void 0&&(h.yylloc={});var v=h.yylloc;o.push(v);var y=h.options&&h.options.ranges;this.parseError=typeof g.yy.parseError==`function`?g.yy.parseError:Object.getPrototypeOf(this).parseError;function b(e){r.length-=2*e,a.length-=e,o.length-=e}e(b,`popStack`);function x(){var e=i.pop()||h.lex()||p;return typeof e!=`number`&&(e instanceof Array&&(i=e,e=i.pop()),e=n.symbols_[e]||e),e}e(x,`lex`);for(var S,C,w,T,E,D={},O,k,A,j;;){if(w=r[r.length-1],this.defaultActions[w]?T=this.defaultActions[w]:(S??=x(),T=s[w]&&s[w][S]),T===void 0||!T.length||!T[0]){var M=``;for(O in j=[],s[w])this.terminals_[O]&&O>f&&j.push(`'`+this.terminals_[O]+`'`);M=h.showPosition?`Parse error on line `+(l+1)+`:
|
|
2
|
+
`+h.showPosition()+`
|
|
3
|
+
Expecting `+j.join(`, `)+`, got '`+(this.terminals_[S]||S)+`'`:`Parse error on line `+(l+1)+`: Unexpected `+(S==p?`end of input`:`'`+(this.terminals_[S]||S)+`'`),this.parseError(M,{text:h.match,token:this.terminals_[S]||S,line:h.yylineno,loc:v,expected:j})}if(T[0]instanceof Array&&T.length>1)throw Error(`Parse Error: multiple actions possible at state: `+w+`, token: `+S);switch(T[0]){case 1:r.push(S),a.push(h.yytext),o.push(h.yylloc),r.push(T[1]),S=null,C?(S=C,C=null):(u=h.yyleng,c=h.yytext,l=h.yylineno,v=h.yylloc,d>0&&d--);break;case 2:if(k=this.productions_[T[1]][1],D.$=a[a.length-k],D._$={first_line:o[o.length-(k||1)].first_line,last_line:o[o.length-1].last_line,first_column:o[o.length-(k||1)].first_column,last_column:o[o.length-1].last_column},y&&(D._$.range=[o[o.length-(k||1)].range[0],o[o.length-1].range[1]]),E=this.performAction.apply(D,[c,u,l,g.yy,T[1],a,o].concat(m)),E!==void 0)return E;k&&(r=r.slice(0,-1*k*2),a=a.slice(0,-1*k),o=o.slice(0,-1*k)),r.push(this.productions_[T[1]][0]),a.push(D.$),o.push(D._$),A=s[r[r.length-2]][r[r.length-1]],r.push(A);break;case 3:return!0}}return!0},`parse`)};Q.lexer=(function(){return{EOF:1,parseError:e(function(e,t){if(this.yy.parser)this.yy.parser.parseError(e,t);else throw Error(e)},`parseError`),setInput:e(function(e,t){return this.yy=t||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match=``,this.conditionStack=[`INITIAL`],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},`setInput`),input:e(function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},`input`),unput:e(function(e){var t=e.length,n=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var r=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===r.length?this.yylloc.first_column:0)+r[r.length-n.length].length-n[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},`unput`),more:e(function(){return this._more=!0,this},`more`),reject:e(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError(`Lexical error on line `+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
|
|
4
|
+
`+this.showPosition(),{text:``,token:null,line:this.yylineno});return this},`reject`),less:e(function(e){this.unput(this.match.slice(e))},`less`),pastInput:e(function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?`...`:``)+e.substr(-20).replace(/\n/g,``)},`pastInput`),upcomingInput:e(function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?`...`:``)).replace(/\n/g,``)},`upcomingInput`),showPosition:e(function(){var e=this.pastInput(),t=Array(e.length+1).join(`-`);return e+this.upcomingInput()+`
|
|
5
|
+
`+t+`^`},`showPosition`),test_match:e(function(e,t){var n,r,i;if(this.options.backtrack_lexer&&(i={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(i.yylloc.range=this.yylloc.range.slice(0))),r=e[0].match(/(?:\r\n?|\n).*/g),r&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(e[0].length),this.matched+=e[0],n=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},`test_match`),next:e(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,n,r;this._more||(this.yytext=``,this.match=``);for(var i=this._currentRules(),a=0;a<i.length;a++)if(n=this._input.match(this.rules[i[a]]),n&&(!t||n[0].length>t[0].length)){if(t=n,r=a,this.options.backtrack_lexer){if(e=this.test_match(n,i[a]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[r]),e!==!1&&e):this._input===``?this.EOF:this.parseError(`Lexical error on line `+(this.yylineno+1)+`. Unrecognized text.
|
|
6
|
+
`+this.showPosition(),{text:``,token:null,line:this.yylineno})},`next`),lex:e(function(){return this.next()||this.lex()},`lex`),begin:e(function(e){this.conditionStack.push(e)},`begin`),popState:e(function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},`popState`),_currentRules:e(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},`_currentRules`),topState:e(function(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:`INITIAL`},`topState`),pushState:e(function(e){this.begin(e)},`pushState`),stateStackSize:e(function(){return this.conditionStack.length},`stateStackSize`),options:{"case-insensitive":!0},performAction:e(function(e,t,n,r){switch(n){case 0:return this.begin(`acc_title`),23;case 1:return this.popState(),`acc_title_value`;case 2:return this.begin(`acc_descr`),25;case 3:return this.popState(),`acc_descr_value`;case 4:this.begin(`acc_descr_multiline`);break;case 5:this.popState();break;case 6:return`acc_descr_multiline_value`;case 7:return 37;case 8:return 38;case 9:return 39;case 10:return 40;case 11:break;case 12:return 9;case 13:return 53;case 14:return 76;case 15:return 4;case 16:return this.begin(`block`),16;case 17:return 52;case 18:return 52;case 19:return 45;case 20:return 14;case 21:return 12;case 22:break;case 23:return 65;case 24:return 61;case 25:return 61;case 26:this.begin(`block_bq`);break;case 27:return 61;case 28:this.popState();break;case 29:return 66;case 30:break;case 31:return this.popState(),18;case 32:return t.yytext[0];case 33:return 19;case 34:return 20;case 35:return this.begin(`style`),47;case 36:return this.popState(),9;case 37:break;case 38:return 12;case 39:return 45;case 40:return 52;case 41:return this.begin(`style`),41;case 42:return 46;case 43:return 34;case 44:return 33;case 45:return 69;case 46:return 71;case 47:return 71;case 48:return 71;case 49:return 69;case 50:return 69;case 51:return 70;case 52:return 70;case 53:return 70;case 54:return 70;case 55:return 70;case 56:return 71;case 57:return 70;case 58:return 71;case 59:return 72;case 60:return 72;case 61:return 54;case 62:return 72;case 63:return 72;case 64:return 72;case 65:return 55;case 66:return 51;case 67:return 72;case 68:return 69;case 69:return 70;case 70:return 71;case 71:return 73;case 72:return 74;case 73:return 75;case 74:return 75;case 75:return 74;case 76:return 74;case 77:return 74;case 78:return 44;case 79:return 50;case 80:return 43;case 81:return t.yytext[0];case 82:return 6}},`anonymous`),rules:[/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:[ \t\r]+)/i,/^(?:[\n]+)/i,/^(?:"[^"%\r\n\v\b\\]+")/i,/^(?:"[^"]*")/i,/^(?:erDiagram\b)/i,/^(?:\{)/i,/^(?:#)/i,/^(?:#)/i,/^(?:,)/i,/^(?::::)/i,/^(?::)/i,/^(?:\s+)/i,/^(?:\b((?:PK)|(?:FK)|(?:UK))\b)/i,/^(?:([^\s]*)[~].*[~]([^\s]*))/i,/^(?:([\*A-Za-z_\u00C0-\uFFFF][A-Za-z0-9\-\_\[\]\(\)\.,\u00C0-\uFFFF\*]*))/i,/^(?:[`])/i,/^(?:[^`]+)/i,/^(?:[`])/i,/^(?:"[^"]*")/i,/^(?:[\n]+)/i,/^(?:\})/i,/^(?:.)/i,/^(?:\[)/i,/^(?:\])/i,/^(?:style\b)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?::)/i,/^(?:,)/i,/^(?:#)/i,/^(?:classDef\b)/i,/^(?:class\b)/i,/^(?:subgraph\b)/i,/^(?:end\b\s*)/i,/^(?:one or zero\b)/i,/^(?:one or more\b)/i,/^(?:one or many\b)/i,/^(?:1\+)/i,/^(?:\|o\b)/i,/^(?:zero or one\b)/i,/^(?:zero or more\b)/i,/^(?:zero or many\b)/i,/^(?:0\+)/i,/^(?:\}o\b)/i,/^(?:many\(0\))/i,/^(?:many\(1\))/i,/^(?:many\b)/i,/^(?:\}\|)/i,/^(?:one\b)/i,/^(?:only one\b)/i,/^(?:[0-9]+\.[0-9]+)/i,/^(?:1(?=\s+[A-Za-z_"']))/i,/^(?:1(?=\s+[0-9]))/i,/^(?:1(?=(--|\.\.|\.-|-\.)))/i,/^(?:1\b)/i,/^(?:[0-9]+)/i,/^(?:\|\|)/i,/^(?:o\|)/i,/^(?:o\{)/i,/^(?:\|\{)/i,/^(?:u(?=[\.\-\|]))/i,/^(?:\.\.)/i,/^(?:--)/i,/^(?:to\b)/i,/^(?:optionally to\b)/i,/^(?:\.-)/i,/^(?:-\.)/i,/^(?:([^\x00-\x7F]|\w|-|\*)+)/i,/^(?:;)/i,/^(?:([^\x00-\x7F]|\w|-|\*|\.)+)/i,/^(?:.)/i,/^(?:$)/i],conditions:{style:{rules:[36,37,38,39,40,78,79],inclusive:!1},acc_descr_multiline:{rules:[5,6],inclusive:!1},acc_descr:{rules:[3],inclusive:!1},acc_title:{rules:[1],inclusive:!1},block_bq:{rules:[27,28],inclusive:!1},block:{rules:[22,23,24,25,26,29,30,31,32],inclusive:!1},INITIAL:{rules:[0,2,4,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,33,34,35,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,80,81,82],inclusive:!0}}}})();function $(){this.yy={}}return e($,`Parser`),$.prototype=Q,Q.Parser=$,new $})();E.parser=E;var D=E,O=class{constructor(){this.entities=new Map,this.relationships=[],this.classes=new Map,this.subgraphDepth=0,this.subGraphs=[],this.subGraphLookup=new Map,this.subCount=0,this.direction=`TB`,this.Cardinality={ZERO_OR_ONE:`ZERO_OR_ONE`,ZERO_OR_MORE:`ZERO_OR_MORE`,ONE_OR_MORE:`ONE_OR_MORE`,ONLY_ONE:`ONLY_ONE`,MD_PARENT:`MD_PARENT`},this.Identification={NON_IDENTIFYING:`NON_IDENTIFYING`,IDENTIFYING:`IDENTIFYING`},this.setAccTitle=o,this.getAccTitle=p,this.setAccDescription=a,this.getAccDescription=s,this.setDiagramTitle=d,this.getDiagramTitle=i,this.getConfig=e(()=>u().er,`getConfig`),this.clear(),this.addEntity=this.addEntity.bind(this),this.addAttributes=this.addAttributes.bind(this),this.addRelationship=this.addRelationship.bind(this),this.setDirection=this.setDirection.bind(this),this.addCssStyles=this.addCssStyles.bind(this),this.addClass=this.addClass.bind(this),this.setClass=this.setClass.bind(this),this.setAccTitle=this.setAccTitle.bind(this),this.setAccDescription=this.setAccDescription.bind(this),this.addSubGraph=this.addSubGraph.bind(this)}static{e(this,`ErDB`)}addEntity(e,t=``){return this.entities.has(e)?!this.entities.get(e)?.alias&&t&&(this.entities.get(e).alias=t,n.info(`Add alias '${t}' to entity '${e}'`)):(this.entities.set(e,{id:`entity-${e}-${this.entities.size}`,label:e,attributes:[],alias:t,shape:`erBox`,look:u().look??`default`,cssClasses:`default`,cssStyles:[],labelType:`markdown`}),n.info(`Added new entity :`,e)),this.entities.get(e)}getEntity(e){return this.entities.get(e)}getEntities(){return this.entities}getClasses(){return this.classes}addAttributes(e,t){let r=this.addEntity(e),i;for(i=t.length-1;i>=0;i--)t[i].keys||(t[i].keys=[]),t[i].comment||(t[i].comment=``),r.attributes.push(t[i]),n.debug(`Added attribute `,t[i].name)}addRelationship(e,t,r,i){let a;if(this.subGraphLookup.has(e))a=e;else{let t=this.addEntity(e);if(!t)return;a=t.id}let o;if(this.subGraphLookup.has(r))o=r;else{let e=this.addEntity(r);if(!e)return;o=e.id}let s={entityA:a,roleA:t,entityB:o,relSpec:i};this.relationships.push(s),n.debug(`Added new relationship :`,s)}getRelationships(){return this.relationships}getDirection(){return this.direction}setDirection(e){this.direction=e}getCompiledStyles(e){let t=[];for(let n of e){let e=this.classes.get(n);e?.styles&&(t=[...t,...e.styles??[]].map(e=>e.trim())),e?.textStyles&&(t=[...t,...e.textStyles??[]].map(e=>e.trim()))}return t}addCssStyles(e,t){for(let n of e){let e=this.entities.get(n),r=this.subGraphLookup.get(n);if(t){if(e)for(let n of t)e.cssStyles.push(n);if(r){r.cssStyles||=[];for(let e of t)r.cssStyles.push(e)}}}}addClass(e,t){e.forEach(e=>{let n=this.classes.get(e);n===void 0&&(n={id:e,styles:[],textStyles:[]},this.classes.set(e,n)),t&&t.forEach(function(e){if(/color/.exec(e)){let t=e.replace(`fill`,`bgFill`);n.textStyles.push(t)}n.styles.push(e)})})}addSubGraph(t,r,i){let a=t.text.trim(),o=i.text,s=e(e=>{let t=new Set,n;return{nodeList:e.filter(e=>{if(e?.stmt)return e.stmt===`dir`&&(n=e.value),!1;if(typeof e!=`string`)return!1;let r=e.trim();return!r||t.has(r)?!1:(t.add(r),!0)}),dir:n}},`uniq`)(r.flat()),c=s.nodeList,l=s.dir;a??=`subGraph`+this.subCount,o||=``,o=this.sanitizeText(o),this.subCount+=1;let u={id:a,nodes:c,title:o.trim(),classes:[],cssStyles:[],dir:l,labelType:this.sanitizeNodeLabelType(i?.type)};return n.info(`Adding`,u.id,u.nodes,u.dir),u.nodes=this.makeUniq(u,this.subGraphs).nodes,this.subGraphs.push(u),this.subGraphLookup.set(a,u),a}getSubGraphs(){return this.subGraphs}setClass(e,t){for(let n of e){let e=this.entities.get(n);if(e)for(let n of t)e.cssClasses+=` `+n;let r=this.subGraphLookup.get(n);if(r)for(let e of t)r.classes.push(e)}}subgraphNodeCache(e){let t=new Set;for(let n of e)for(let e of n.nodes)t.add(e);return t}makeUniq(e,t){let r=this.subgraphNodeCache(t),i=[];return e.nodes.forEach((t,a)=>{r.has(t)?n.warn(`Entity '${t}' already belongs to another subgraph and will be ignored`):i.push(e.nodes[a])}),{nodes:i}}sanitizeText(e){return f.sanitizeText(e,u())}sanitizeNodeLabelType(e){switch(e){case`markdown`:case`string`:case`text`:return e;default:return`markdown`}}clear(){this.entities=new Map,this.classes=new Map,this.relationships=[],this.subGraphs=[],this.subGraphLookup=new Map,this.subCount=0,this.subgraphDepth=0,c()}getData(){let e=[],t=[],n=u(),r=this.getSubGraphs(),i=new Map,a=new Map;for(let e=r.length-1;e>=0;e--){let t=r[e];t.nodes.length>0&&a.set(t.id,!0);for(let e of t.nodes)i.set(e,t.id)}for(let t=r.length-1;t>=0;t--){let a=r[t];e.push({id:a.id,label:a.title,labelStyle:``,labelType:a.labelType,parentId:i.get(a.id),padding:8,cssCompiledStyles:this.getCompiledStyles(a.classes),cssStyles:a.cssStyles,cssClasses:a.classes.join(` `),shape:`rect`,dir:a.dir,isGroup:!0,look:n.look})}let o=new Set(r.map(e=>e.id)),s=0;for(let t of this.entities.keys()){if(o.has(t))continue;let n=this.entities.get(t);n&&(n.cssCompiledStyles=this.getCompiledStyles(n.cssClasses.split(` `)),n.colorIndex=s++,e.push({...n,parentId:i.get(t),isGroup:!1}))}let c=0;for(let e of this.relationships){let r={id:g(e.entityA,e.entityB,{prefix:`id`,counter:c++}),type:`normal`,curve:`basis`,start:e.entityA,end:e.entityB,label:e.roleA,labelpos:`c`,thickness:`normal`,classes:`relationshipLine`,arrowTypeStart:e.relSpec.cardB.toLowerCase(),arrowTypeEnd:e.relSpec.cardA.toLowerCase(),pattern:e.relSpec.relType==`IDENTIFYING`?`solid`:`dashed`,look:n.look,labelType:`markdown`};t.push(r)}return{nodes:e,edges:t,other:{},config:n,direction:this.direction}}},k={};t(k,{draw:()=>A});var A=e(async function(e,t,i,a){n.info(`REF0:`),n.info(`Drawing er diagram (unified)`,t);let{securityLevel:o,er:s,layout:c}=u(),l=a.db.getData(),d=S(t,o);l.type=a.type,l.layoutAlgorithm=T(c),l.config.flowchart.nodeSpacing=s?.nodeSpacing||140,l.config.flowchart.rankSpacing=s?.rankSpacing||80,l.direction=a.db.getDirection();let{config:f}=l,{look:p}=f;l.markers=p===`neo`?[`only_one_neo`,`zero_or_one_neo`,`one_or_more_neo`,`zero_or_more_neo`]:[`only_one`,`zero_or_one`,`one_or_more`,`zero_or_more`],l.diagramId=t,await w(l,d);let m=d.selectAll(`[id*="-background"]`);Array.from(m).length>0&&m.each(function(){let e=r(this),t=e.attr(`id`).replace(`-background`,``),n=d.select(`#${CSS.escape(t)}`);if(!n.empty()){let t=n.attr(`transform`);e.attr(`transform`,t)}}),h.insertTitle(d,`erDiagramTitleText`,s?.titleTopMargin??25,a.db.getDiagramTitle()),C(d,8,`erDiagram`,s?.useMaxWidth??!0)},`draw`),j=e((e,t)=>{let n=m,r=n(e,`r`),i=n(e,`g`),a=n(e,`b`);return l(r,i,a,t)},`fade`),M=e(e=>{let{theme:t,bkgColorArray:n,borderColorArray:r}=e;if(!v(t,r))return``;let i=y(e.look),a=b(n),o=``;for(let e=0;e<_(r);e++){let t=r[e],s=a?`fill: ${n[e%n.length]};`:``;o+=`
|
|
7
|
+
|
|
8
|
+
[data-look="${i}"][data-color-id="color-${e}"].node path {
|
|
9
|
+
stroke: ${t};
|
|
10
|
+
${s}
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
[data-look="${i}"][data-color-id="color-${e}"].node rect {
|
|
14
|
+
stroke: ${t};
|
|
15
|
+
${s}
|
|
16
|
+
}
|
|
17
|
+
`}return o},`genColor`),N={parser:D,get db(){return new O},renderer:k,styles:e(e=>{let{look:t,theme:n,erEdgeLabelBackground:r,strokeWidth:i}=e;return`
|
|
18
|
+
${M(e)}
|
|
19
|
+
.entityBox {
|
|
20
|
+
fill: ${e.mainBkg};
|
|
21
|
+
stroke: ${e.nodeBorder};
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
.relationshipLabelBox {
|
|
25
|
+
fill: ${e.tertiaryColor};
|
|
26
|
+
opacity: 0.7;
|
|
27
|
+
background-color: ${e.tertiaryColor};
|
|
28
|
+
rect {
|
|
29
|
+
opacity: 0.5;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
.labelBkg {
|
|
34
|
+
background-color: ${x.has(n)&&r?r:j(e.tertiaryColor,.5)};
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
.edgeLabel {
|
|
38
|
+
background-color: ${x.has(n)&&r?r:e.edgeLabelBackground};
|
|
39
|
+
}
|
|
40
|
+
.edgeLabel .label rect {
|
|
41
|
+
fill: ${x.has(n)&&r?r:e.edgeLabelBackground};
|
|
42
|
+
}
|
|
43
|
+
.edgeLabel .label text {
|
|
44
|
+
fill: ${e.textColor};
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
.edgeLabel .label {
|
|
48
|
+
fill: ${e.nodeBorder};
|
|
49
|
+
font-size: 14px;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
.label {
|
|
53
|
+
font-family: ${e.fontFamily};
|
|
54
|
+
color: ${e.nodeTextColor||e.textColor};
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
.edge-pattern-dashed {
|
|
58
|
+
stroke-dasharray: 8,8;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
.node rect,
|
|
62
|
+
.node circle,
|
|
63
|
+
.node ellipse,
|
|
64
|
+
.node polygon
|
|
65
|
+
{
|
|
66
|
+
fill: ${e.mainBkg};
|
|
67
|
+
stroke: ${e.nodeBorder};
|
|
68
|
+
stroke-width: ${t===`neo`?i:`1px`};
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
.relationshipLine {
|
|
72
|
+
stroke: ${e.lineColor};
|
|
73
|
+
stroke-width: ${t===`neo`?i:`1px`};
|
|
74
|
+
fill: none;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
.marker {
|
|
78
|
+
fill: none !important;
|
|
79
|
+
stroke: ${e.lineColor} !important;
|
|
80
|
+
stroke-width: 1;
|
|
81
|
+
}
|
|
82
|
+
[data-look=neo].labelBkg {
|
|
83
|
+
background-color: ${j(e.tertiaryColor,.5)};
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
.cluster rect {
|
|
87
|
+
fill: ${e.clusterBkg??e.mainBkg};
|
|
88
|
+
stroke: ${e.clusterBorder??e.nodeBorder};
|
|
89
|
+
stroke-width: 1px;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
.cluster text {
|
|
93
|
+
fill: ${e.titleColor??e.textColor};
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
.cluster-label text {
|
|
97
|
+
fill: ${e.titleColor??e.textColor};
|
|
98
|
+
}
|
|
99
|
+
`},`getStyles`)};export{N as diagram};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{$ as e,H as t,N as n}from"./core-jXc03Sty.js";var r=()=>{let r={string:{unit:`caracteres`,verb:`tener`},file:{unit:`bytes`,verb:`tener`},array:{unit:`elementos`,verb:`tener`},set:{unit:`elementos`,verb:`tener`}};function i(e){return r[e]??null}let a={regex:`entrada`,email:`dirección de correo electrónico`,url:`URL`,emoji:`emoji`,uuid:`UUID`,uuidv4:`UUIDv4`,uuidv6:`UUIDv6`,nanoid:`nanoid`,guid:`GUID`,cuid:`cuid`,cuid2:`cuid2`,ulid:`ULID`,xid:`XID`,ksuid:`KSUID`,datetime:`fecha y hora ISO`,date:`fecha ISO`,time:`hora ISO`,duration:`duración ISO`,ipv4:`dirección IPv4`,ipv6:`dirección IPv6`,mac:`dirección MAC`,cidrv4:`rango IPv4`,cidrv6:`rango IPv6`,base64:`cadena codificada en base64`,base64url:`URL codificada en base64`,json_string:`cadena JSON`,e164:`número E.164`,credit_card:`número de tarjeta de crédito`,currency_code:`código de moneda`,iban:`IBAN`,jwt:`JWT`,template_literal:`entrada`},o={nan:`NaN`,string:`texto`,number:`número`,boolean:`booleano`,array:`arreglo`,object:`objeto`,set:`conjunto`,file:`archivo`,date:`fecha`,bigint:`número grande`,symbol:`símbolo`,undefined:`indefinido`,null:`nulo`,function:`función`,map:`mapa`,record:`registro`,tuple:`tupla`,enum:`enumeración`,union:`unión`,literal:`literal`,promise:`promesa`,void:`vacío`,never:`nunca`,unknown:`desconocido`,any:`cualquiera`};return r=>{switch(r.code){case`invalid_type`:{let e=o[r.expected]??r.expected,n=t(r.input),i=o[n]??n;return/^[A-Z]/.test(r.expected)?`Entrada inválida: se esperaba instanceof ${r.expected}, recibido ${i}`:`Entrada inválida: se esperaba ${e}, recibido ${i}`}case`invalid_value`:return r.values.length===1?`Entrada inválida: se esperaba ${e(r.values[0])}`:`Opción inválida: se esperaba una de ${n(r.values,`|`)}`;case`too_big`:{let e=r.inclusive?`<=`:`<`,t=i(r.origin),n=o[r.origin]??r.origin;return t?`Demasiado grande: se esperaba que ${n??`valor`} tuviera ${e}${r.maximum.toString()} ${t.unit??`elementos`}`:`Demasiado grande: se esperaba que ${n??`valor`} fuera ${e}${r.maximum.toString()}`}case`too_small`:{let e=r.inclusive?`>=`:`>`,t=i(r.origin),n=o[r.origin]??r.origin;return t?`Demasiado pequeño: se esperaba que ${n} tuviera ${e}${r.minimum.toString()} ${t.unit}`:`Demasiado pequeño: se esperaba que ${n} fuera ${e}${r.minimum.toString()}`}case`invalid_format`:{let e=r;return e.format===`starts_with`?`Cadena inválida: debe comenzar con "${e.prefix}"`:e.format===`ends_with`?`Cadena inválida: debe terminar en "${e.suffix}"`:e.format===`includes`?`Cadena inválida: debe incluir "${e.includes}"`:e.format===`regex`?`Cadena inválida: debe coincidir con el patrón ${e.pattern}`:`Inválido ${a[e.format]??r.format}`}case`not_multiple_of`:return`Número inválido: debe ser múltiplo de ${r.divisor}`;case`unrecognized_keys`:return`Llave${r.keys.length>1?`s`:``} desconocida${r.keys.length>1?`s`:``}: ${n(r.keys,`, `)}`;case`invalid_key`:return`Llave inválida en ${o[r.origin]??r.origin}`;case`invalid_union`:return`Entrada inválida`;case`invalid_element`:return`Valor inválido en ${o[r.origin]??r.origin}`;default:return`Entrada inválida`}}};function i(){return{localeError:r()}}export{i as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{c as e,l as t,o as n,s as r}from"./en-US-DKYSujv3.js";import{Et as i}from"./index-DoqlyejP.js";var a={lessThanXSeconds:{one:`menos de un segundo`,other:`menos de {{count}} segundos`},xSeconds:{one:`1 segundo`,other:`{{count}} segundos`},halfAMinute:`medio minuto`,lessThanXMinutes:{one:`menos de un minuto`,other:`menos de {{count}} minutos`},xMinutes:{one:`1 minuto`,other:`{{count}} minutos`},aboutXHours:{one:`alrededor de 1 hora`,other:`alrededor de {{count}} horas`},xHours:{one:`1 hora`,other:`{{count}} horas`},xDays:{one:`1 día`,other:`{{count}} días`},aboutXWeeks:{one:`alrededor de 1 semana`,other:`alrededor de {{count}} semanas`},xWeeks:{one:`1 semana`,other:`{{count}} semanas`},aboutXMonths:{one:`alrededor de 1 mes`,other:`alrededor de {{count}} meses`},xMonths:{one:`1 mes`,other:`{{count}} meses`},aboutXYears:{one:`alrededor de 1 año`,other:`alrededor de {{count}} años`},xYears:{one:`1 año`,other:`{{count}} años`},overXYears:{one:`más de 1 año`,other:`más de {{count}} años`},almostXYears:{one:`casi 1 año`,other:`casi {{count}} años`}},o=(e,t,n)=>{let r,i=a[e];return r=typeof i==`string`?i:t===1?i.one:i.other.replace(`{{count}}`,t.toString()),n?.addSuffix?n.comparison&&n.comparison>0?`en `+r:`hace `+r:r},s={date:t({formats:{full:`EEEE, d 'de' MMMM 'de' y`,long:`d 'de' MMMM 'de' y`,medium:`d MMM y`,short:`dd/MM/y`},defaultWidth:`full`}),time:t({formats:{full:`HH:mm:ss zzzz`,long:`HH:mm:ss z`,medium:`HH:mm:ss`,short:`HH:mm`},defaultWidth:`full`}),dateTime:t({formats:{full:`{{date}} 'a las' {{time}}`,long:`{{date}} 'a las' {{time}}`,medium:`{{date}}, {{time}}`,short:`{{date}}, {{time}}`},defaultWidth:`full`})},c={lastWeek:`'el' eeee 'pasado a la' p`,yesterday:`'ayer a la' p`,today:`'hoy a la' p`,tomorrow:`'mañana a la' p`,nextWeek:`eeee 'a la' p`,other:`P`},l={lastWeek:`'el' eeee 'pasado a las' p`,yesterday:`'ayer a las' p`,today:`'hoy a las' p`,tomorrow:`'mañana a las' p`,nextWeek:`eeee 'a las' p`,other:`P`},u={code:`es`,formatDistance:o,formatLong:s,formatRelative:(e,t,n,r)=>t.getHours()===1?c[e]:l[e],localize:{ordinalNumber:(e,t)=>Number(e)+`º`,era:e({values:{narrow:[`AC`,`DC`],abbreviated:[`AC`,`DC`],wide:[`antes de cristo`,`después de cristo`]},defaultWidth:`wide`}),quarter:e({values:{narrow:[`1`,`2`,`3`,`4`],abbreviated:[`T1`,`T2`,`T3`,`T4`],wide:[`1º trimestre`,`2º trimestre`,`3º trimestre`,`4º trimestre`]},defaultWidth:`wide`,argumentCallback:e=>Number(e)-1}),month:e({values:{narrow:[`e`,`f`,`m`,`a`,`m`,`j`,`j`,`a`,`s`,`o`,`n`,`d`],abbreviated:[`ene`,`feb`,`mar`,`abr`,`may`,`jun`,`jul`,`ago`,`sep`,`oct`,`nov`,`dic`],wide:[`enero`,`febrero`,`marzo`,`abril`,`mayo`,`junio`,`julio`,`agosto`,`septiembre`,`octubre`,`noviembre`,`diciembre`]},defaultWidth:`wide`}),day:e({values:{narrow:[`d`,`l`,`m`,`m`,`j`,`v`,`s`],short:[`do`,`lu`,`ma`,`mi`,`ju`,`vi`,`sá`],abbreviated:[`dom`,`lun`,`mar`,`mié`,`jue`,`vie`,`sáb`],wide:[`domingo`,`lunes`,`martes`,`miércoles`,`jueves`,`viernes`,`sábado`]},defaultWidth:`wide`}),dayPeriod:e({values:{narrow:{am:`a`,pm:`p`,midnight:`mn`,noon:`md`,morning:`mañana`,afternoon:`tarde`,evening:`tarde`,night:`noche`},abbreviated:{am:`AM`,pm:`PM`,midnight:`medianoche`,noon:`mediodia`,morning:`mañana`,afternoon:`tarde`,evening:`tarde`,night:`noche`},wide:{am:`a.m.`,pm:`p.m.`,midnight:`medianoche`,noon:`mediodia`,morning:`mañana`,afternoon:`tarde`,evening:`tarde`,night:`noche`}},defaultWidth:`wide`,formattingValues:{narrow:{am:`a`,pm:`p`,midnight:`mn`,noon:`md`,morning:`de la mañana`,afternoon:`de la tarde`,evening:`de la tarde`,night:`de la noche`},abbreviated:{am:`AM`,pm:`PM`,midnight:`medianoche`,noon:`mediodia`,morning:`de la mañana`,afternoon:`de la tarde`,evening:`de la tarde`,night:`de la noche`},wide:{am:`a.m.`,pm:`p.m.`,midnight:`medianoche`,noon:`mediodia`,morning:`de la mañana`,afternoon:`de la tarde`,evening:`de la tarde`,night:`de la noche`}},defaultFormattingWidth:`wide`})},match:{ordinalNumber:n({matchPattern:/^(\d+)(º)?/i,parsePattern:/\d+/i,valueCallback:function(e){return parseInt(e,10)}}),era:r({matchPatterns:{narrow:/^(ac|dc|a|d)/i,abbreviated:/^(a\.?\s?c\.?|a\.?\s?e\.?\s?c\.?|d\.?\s?c\.?|e\.?\s?c\.?)/i,wide:/^(antes de cristo|antes de la era com[uú]n|despu[eé]s de cristo|era com[uú]n)/i},defaultMatchWidth:`wide`,parsePatterns:{any:[/^ac/i,/^dc/i],wide:[/^(antes de cristo|antes de la era com[uú]n)/i,/^(despu[eé]s de cristo|era com[uú]n)/i]},defaultParseWidth:`any`}),quarter:r({matchPatterns:{narrow:/^[1234]/i,abbreviated:/^T[1234]/i,wide:/^[1234](º)? trimestre/i},defaultMatchWidth:`wide`,parsePatterns:{any:[/1/i,/2/i,/3/i,/4/i]},defaultParseWidth:`any`,valueCallback:e=>e+1}),month:r({matchPatterns:{narrow:/^[efmajsond]/i,abbreviated:/^(ene|feb|mar|abr|may|jun|jul|ago|sep|oct|nov|dic)/i,wide:/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i},defaultMatchWidth:`wide`,parsePatterns:{narrow:[/^e/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^en/i,/^feb/i,/^mar/i,/^abr/i,/^may/i,/^jun/i,/^jul/i,/^ago/i,/^sep/i,/^oct/i,/^nov/i,/^dic/i]},defaultParseWidth:`any`}),day:r({matchPatterns:{narrow:/^[dlmjvs]/i,short:/^(do|lu|ma|mi|ju|vi|s[áa])/i,abbreviated:/^(dom|lun|mar|mi[ée]|jue|vie|s[áa]b)/i,wide:/^(domingo|lunes|martes|mi[ée]rcoles|jueves|viernes|s[áa]bado)/i},defaultMatchWidth:`wide`,parsePatterns:{narrow:[/^d/i,/^l/i,/^m/i,/^m/i,/^j/i,/^v/i,/^s/i],any:[/^do/i,/^lu/i,/^ma/i,/^mi/i,/^ju/i,/^vi/i,/^sa/i]},defaultParseWidth:`any`}),dayPeriod:r({matchPatterns:{narrow:/^(a|p|mn|md|(de la|a las) (mañana|tarde|noche))/i,any:/^([ap]\.?\s?m\.?|medianoche|mediodia|(de la|a las) (mañana|tarde|noche))/i},defaultMatchWidth:`any`,parsePatterns:{any:{am:/^a/i,pm:/^p/i,midnight:/^mn/i,noon:/^md/i,morning:/mañana/i,afternoon:/tarde/i,evening:/tarde/i,night:/noche/i}},defaultParseWidth:`any`})},options:{weekStartsOn:1,firstWeekContainsDate:1},labels:{labelDayButton:(e,t,n,r)=>{let a=(r??new i(n)).format(e,`PPPP`);return t.today&&(a=`Hoy, ${a}`),t.selected&&(a=`${a}, seleccionado`),a},labelMonthDropdown:`Elegir el mes`,labelNext:`Ir al mes siguiente`,labelPrevious:`Ir al mes anterior`,labelWeekNumber:e=>`Semana ${e}`,labelYearDropdown:`Elegir el año`,labelGrid:(e,t,n)=>(n??new i(t)).formatMonthYear(e),labelGridcell:(e,t,n,r)=>{let a=(r??new i(n)).format(e,`PPPP`);return t?.today&&(a=`Hoy, ${a}`),a},labelNav:`Barra de navegación`,labelWeekNumberHeader:`Número de semana`,labelWeekday:(e,t,n)=>(n??new i(t)).format(e,`cccc`)}};export{u as es};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e={common:{status:{backlog:`Backlog`,todo:`Por hacer`,in_progress:`En curso`,in_review:`En revisión`,done:`Hecho`,cancelled:`Cancelado`},priority:{urgent:`Urgente`,high:`Alta`,medium:`Media`,low:`Baja`,none:`Sin prioridad`},kind:{feature:`Funcionalidad`,bug:`Error`,chore:`Mantenimiento`,research:`Investigación`,documentation:`Documentación`},difficulty:{low:`Baja`,med:`Media`,high:`Alta`,none:`Sin dificultad`},role:{reader:`Solo lectura`,writer:`Puede editar`,admin:`Administrador`},permission:{ticket:{write:{label:`Editar tickets`,description:`Crear, editar, mover, reservar y comentar tickets; crear proyectos`},delete:{label:`Eliminar tickets`,description:`Eliminar tickets de forma permanente`}},project:{manage:{label:`Gestionar proyectos`,description:`Detalles, flujo de trabajo, etiquetas, campos, integraciones y ciclo de vida del proyecto`}},member:{manage:{label:`Gestionar miembros`,description:`Añadir, cambiar y quitar miembros`}},invitation:{manage:{label:`Gestionar invitaciones`,description:`Invitar a personas por correo electrónico`}},sharing:{manage:{label:`Gestionar el uso compartido`,description:`Enlaces públicos de solo lectura y feeds de calendario`}},workspace:{manage:{label:`Gestionar el espacio de trabajo`,description:`Detalles del espacio de trabajo, etiquetas compartidas y roles`}}},customFieldType:{text:`Texto`,number:`Número`,date:`Fecha`,checkbox:`Casilla`,select:`Selección`,multiselect:`Selección múltiple`},customField:{removedOption:`Opción eliminada`,checked:`Sí`},filterField:{status:`Estado`,priority:`Prioridad`,kind:`Tipo`,difficulty:`Dificultad`,label:`Etiqueta`,assigneeId:`Responsable`,customField:`Campo`},sort:{priority:`Prioridad`,updated:`Actualizados recientemente`,created:`Creados recientemente`,title:`Título`,labels:`Etiquetas`,due:`Fecha límite`,start:`Fecha de inicio`,number:`Número de ticket`,status:`Estado`,difficulty:`Dificultad`,kind:`Tipo`,assignee:`Responsable`,manual:`Manual`},due:{overdue:`Vencidos`,today:`Vencen hoy`,week:`Vencen esta semana`,scheduled:`Con fecha límite`,none:`Sin fecha límite`},relation:{blocks:{outgoing:`Bloquea`,incoming:`Está bloqueado por`},related:{outgoing:`Relacionado con`,incoming:`Relacionado con`},duplicate:{outgoing:`Duplica`,incoming:`Está duplicado por`},causes:{outgoing:`Causa`,incoming:`Está causado por`},clones:{outgoing:`Clona`,incoming:`Está clonado por`},implements:{outgoing:`Implementa`,incoming:`Está implementado por`},reviews:{outgoing:`Revisa`,incoming:`Está revisado por`}},remoteKind:{branch:`Rama`,pull_request:`Pull request`,issue:`Incidencia`},notificationCategory:{assignment:`Asignaciones`,status:`Cambios de estado`,comment:`Comentarios`,mention:`Menciones`,update:`Otras actualizaciones`,due_soon:`Vencen pronto`,overdue:`Vencidos`},destinationEvent:{created:`Tickets nuevos`},deliveryKind:{email:`Correo electrónico`,webhook:`Webhook`},change:{pull_request:{name:`Pull request`,opened:`Pull request abierta`,draft:`Pull request en borrador`,merged:`Pull request fusionada`,closed:`Pull request cerrada sin fusionar`},merge_request:{name:`Merge request`,opened:`Merge request abierta`,draft:`Merge request en borrador`,merged:`Merge request fusionada`,closed:`Merge request cerrada sin fusionar`},branchCreated:`Rama creada`},issueLinkState:{active:`Sincronizando`,paused:`En pausa`,review:`Requiere revisión`,creating:`Creando incidencia`,unknown:`Creación sin confirmar`},importStatus:{previewed:`Listo para importar`,running:`Importando`,completed:`Importado`,failed:`Error`,cancelled:`Cancelado`},importProvider:{linear:{project:`Equipo`,setup:`Cree una clave de API personal en Settings › Security & access de Linear; basta con acceso de lectura.`},jira:{project:`Proyecto`,setup:`Jira Cloud inicia sesión con el correo electrónico de su cuenta y un token de API de id.atlassian.com; Data Center y Server usan un token de acceso personal. Basta con acceso de exploración al proyecto.`},trello:{project:`Tablero`,setup:`Use la clave de API de un Power-Up que administre en trello.com/power-ups/admin y un token generado para él; basta con acceso de lectura.`},plane:{project:`Proyecto`,setup:`Cree un token de acceso personal en Profile settings › Personal access tokens de Plane. La dirección de la API de Plane Cloud es https://api.plane.so; la clave de URL del espacio de trabajo es la primera parte de su dirección web.`},planka:{project:`Tablero`,setup:`Inicie sesión con una cuenta de PLANKA que pueda abrir el tablero; la sesión que abre Kanvil termina cuando acaba la lectura. Los administradores de PLANKA 2 pueden emitir claves de API en su lugar.`},kaneo:{project:`Proyecto`,setup:`Cree una clave de API en Settings › Account › Developer de Kaneo.`}},plankaSignIn:{password:`Usuario y contraseña`,api_key:`Clave de API`},jiraEdition:{cloud:`Cloud`,data_center:`Data Center o Server`},event:{label:{created:`Etiqueta creada`,updated:`Etiqueta actualizada`,deleted:`Etiqueta eliminada`},workflow:{created:`Estado del flujo añadido`,updated:`Estado del flujo cambiado`,deleted:`Estado del flujo eliminado`},custom_field:{created:`Campo creado`,updated:`Campo actualizado`,deleted:`Campo eliminado`},ticket:{created:`Ticket creado`,updated:`Ticket actualizado`,deleted:`Ticket eliminado`,moved:`Movido desde otro proyecto`,moved_away:`Movido a otro proyecto`,due_soon:`Vence pronto`,overdue:`Vencido`,claimed:`Trabajo reservado`},claim:{renewed:`Reserva renovada`,released:`Reserva liberada`,recovered:`Reserva recuperada`},comment:{created:`Comentario añadido`,updated:`Comentario editado`,deleted:`Comentario eliminado`},relation:{added:`Relación añadida`,removed:`Relación eliminada`},attachment:{created:`Archivo adjuntado`,deleted:`Archivo eliminado`},evidence:{added:`Evidencia adjuntada`},resource:{added:`Enlace añadido`,updated:`Enlace editado`,removed:`Enlace eliminado`},calendar_feed:{created:`Feed de calendario creado`,revoked:`Feed de calendario revocado`},project:{created:`Proyecto creado`,updated:`Proyecto actualizado`,archived:`Proyecto archivado`,restored:`Proyecto restaurado`,transferred:`Proyecto movido a otro espacio de trabajo`,deleted:`Proyecto eliminado`},membership:{updated:`Acceso al proyecto cambiado`},workspace:{owner_changed:`Propietario del espacio de trabajo cambiado`},role:{created:`Rol creado`,updated:`Rol cambiado`,deleted:`Rol eliminado`},invitation:{updated:`Invitación cambiada`},destination:{created:`Destino añadido`,updated:`Destino cambiado`,deleted:`Destino eliminado`},repository:{connected:`Repositorio conectado`,updated:`Conexión del repositorio cambiada`,disconnected:`Repositorio desconectado`,received:`Webhook del repositorio recibido`},issue_link:{updated:`Sincronización de incidencias cambiada`}},error:{network:`No se pudo conectar con Kanvil. Compruebe la conexión y vuelva a intentarlo.`,fallback:`No se pudo completar la solicitud`,input:`Entrada`,code:{unauthorized:`Inicie sesión para continuar.`,session_required:`Use una cuenta con sesión iniciada para esta acción.`,account_disabled:`Esta cuenta está desactivada.`,forbidden:`No tiene permiso para hacer esto.`,insufficient_scope:`Esta credencial no permite esta acción.`,workspace_scope_required:`Use una cuenta con acceso al espacio de trabajo para esta acción.`,invalid_origin:`Este origen no está permitido.`,not_found:`Este elemento no existe o no tiene acceso a él.`,version_conflict:`Esto ha cambiado desde que se cargó. Recargue y vuelva a intentarlo.`,claim_conflict:`Otro ejecutor tiene reservado este ticket.`,idempotency_conflict:`Esta solicitud ya se usó para otro cambio.`,project_archived:`Restaure el proyecto archivado antes de cambiarlo.`,rate_limited:`Demasiados cambios en poco tiempo. Espere y vuelva a intentarlo.`,snapshot_required:`El feed en directo se ha quedado atrás. Recargue para continuar.`,request_failed:`No se pudo completar la solicitud`}},action:{add:`Añadir`,apply:`Aplicar`,back:`Atrás`,cancel:`Cancelar`,clear:`Borrar`,close:`Cerrar`,confirm:`Confirmar`,continue:`Continuar`,copy:`Copiar`,create:`Crear`,delete:`Eliminar`,done:`Hecho`,edit:`Editar`,open:`Abrir`,remove:`Quitar`,rename:`Cambiar nombre`,reset:`Restablecer`,retry:`Reintentar`,save:`Guardar`,search:`Buscar`},state:{copied:`Copiado`,loading:`Cargando…`,saved:`Guardado`,saving:`Guardando…`,none:`Ninguno`,unassigned:`Sin asignar`},evidenceKind:{pull_request:`Pull request`,test:`Prueba`,review:`Revisión`,deployment:`Despliegue`,device:`Dispositivo`,other:`Otro`},evidenceOutcome:{reported:`Informado`,pending:`Pendiente`,passed:`Superado`,failed:`Fallido`},readinessReason:{project_archived:`El proyecto está archivado`,not_open:`El ticket debe estar en un estado Por hacer y sin archivar`,not_enabled:`El trabajo de agentes no está habilitado`,missing_description:`Añada una descripción`,missing_acceptance_criteria:`Añada criterios de aceptación`,missing_difficulty:`Elija una dificultad`,duplicate:`Este ticket está marcado como duplicado`,claim_recovery_required:`Confirme que el ejecutor anterior se detuvo antes de recuperar la propiedad`,claimed:`Reservado por {{worker}}`,dependency:`{{key}} no está terminado`},person:{deleted:`Cuenta eliminada`,former:`Antiguo miembro`},signIn:{codeTitle:`Iniciar sesión con un código`,resetTitle:`Restablecer contraseña`,codeSent:`Si {{email}} tiene una cuenta, se le ha enviado un código. Caduca en 10 minutos.`,code:`Código`,newPassword:`Nueva contraseña`,sendCode:`Enviar un código por correo electrónico`,back:`Volver al inicio de sesión`,resend:`Reenviar código`,resent:`Código reenviado`,emailCode:`Enviar un código de inicio de sesión por correo electrónico`,forgot:`¿Ha olvidado su contraseña?`,resetDone:`Contraseña restablecida. Inicie sesión con la nueva contraseña.`,resetDoneTitle:`Contraseña restablecida`,resetDoneBody:`Inicie sesión con la nueva contraseña.`,invalidCode:`El código es incorrecto, ya se ha usado o ha caducado. Reenvíelo para obtener uno válido.`,localPassword:`Contraseña local`},language:{label:`Idioma`,system:`Predeterminado del sistema`}},shell:{ui:{showValue:`Mostrar {{label, lowercase}}`,hideValue:`Ocultar {{label, lowercase}}`,previousPage:`Página anterior de {{noun}}`,nextPage:`Página siguiente de {{noun}}`,pageRange:`{{from}}–{{to}} de {{total}}`,priority:`Prioridad {{label, lowercase}}`,working:`Procesando…`,searchPlaceholder:`Buscar…`,clearValue:`Borrar {{label, lowercase}}`,copyValue:`Copiar {{label, lowercase}}`,copied:`{{value}} copiado`},documentTitle:`{{name}} · Kanvil`,openKanvil:`Abrir Kanvil`,page:{home:`Inicio`,myWork:`Mi trabajo`,inbox:`Bandeja de entrada`,search:`Buscar`,settings:`Configuración`,planning:`Planificación`,ticket:`Ticket`,tickets:`Tickets`,projects:`Proyectos`},connection:{restored:`Conexión restablecida`,lost:`Conexión perdida`,reconnecting:`Reconectando…`,reload:`Recargar`,signIn:`Inicie sesión para reconectar`},app:{skipToContent:`Saltar al contenido`,assigned:`Asignados a usted`,openCount_one:`{{count, number}} abierto`,openCount_many:`{{count, number}} abiertos`,openCount_other:`{{count, number}} abiertos`,noAssigned:`No tiene tickets abiertos asignados`,allInMyWork_one:`{{count, number}} en Mi trabajo`,allInMyWork_many:`Los {{count, number}} en Mi trabajo`,allInMyWork_other:`Los {{count, number}} en Mi trabajo`,openMyWork:`Abrir Mi trabajo`,recentActivity:`Actividad reciente`,noActivity:`Aún no hay actividad`,searchProjects:`Buscar proyectos`,projectCount_one:`{{count, number}} proyecto`,projectCount_many:`{{count, number}} proyectos`,projectCount_other:`{{count, number}} proyectos`,noMatchingProjects:`No hay proyectos que coincidan`,clearSearch:`Borrar búsqueda`,noWorkspaces:`Aún no hay espacios de trabajo`,noActiveProjects:`No hay proyectos activos`,noProjects:`Aún no hay proyectos`,archivedProjects:`Proyectos archivados`,archived:`Archivado`,noOpenTickets:`No hay tickets abiertos`,overdueCount_one:`{{count, number}} vencido`,overdueCount_many:`{{count, number}} vencidos`,overdueCount_other:`{{count, number}} vencidos`,percentDone:`{{percent}} hecho`,nextDue:`próximo vencimiento <time/>`,projectSettingsFor:`Configuración del proyecto {{name}}`,pageNotFound:`Página no encontrada`,openHome:`Abrir inicio`,tryAgain:`Volver a intentarlo`,adminRequired:`Se requiere acceso de administrador de la instancia`,projectNotFound:`Proyecto no encontrado`,noWorkspaceSelected:`No hay ningún espacio de trabajo seleccionado`},auth:{signIn:`Iniciar sesión`,createOwner:`Cree su cuenta de propietario`,ownerHint:`La primera cuenta administra esta instancia.`,invitedHint:`Inicie sesión con la dirección de correo electrónico invitada para aceptar la invitación.`,signInWith:`Iniciar sesión con {{provider}}`,useEmail:`Usar correo electrónico y contraseña`,or:`o`,name:`Nombre`,setupToken:`Token de configuración`,setupTokenHint:`Use KANVIL_SETUP_TOKEN de la configuración de su instancia.`,email:`Correo electrónico`,password:`Contraseña`,signingIn:`Iniciando sesión…`,createAccount:`Crear cuenta`,consent:{expired:`La solicitud de autorización ha caducado. Vuelva a conectar el cliente.`,title:`Autorizar {{client}}`,titleUnnamed:`Autorizar cliente`,subtitle:`Este cliente solicita acceso como su cuenta. Los permisos del proyecto siguen aplicándose.`,deny:`Denegar`,allow:`Permitir acceso`},invitation:{unavailable:`Invitación no disponible`,join:`Unirse a {{workspace}}`,invited:`Invitado`,from:`De`,access:`Acceso`,removedProjects:`Proyectos eliminados`,wholeWorkspace:`Todo el espacio de trabajo`,expires:`Caduca`,expired:`Esta invitación ha caducado. Pida una nueva a un administrador del espacio de trabajo.`,revoked:`Esta invitación se ha revocado. Pida una nueva a un administrador del espacio de trabajo.`,accepted:`Esta invitación ya se aceptó. Pida una nueva a un administrador del espacio de trabajo.`,wrongAccount:`Ha iniciado sesión como <account>{{current}}</account>. Inicie sesión como {{invited}} para aceptar.`,signOut:`Cerrar sesión`,joined:`Se ha unido a {{workspace}}`,accept:`Aceptar invitación`},callback:{cancelled:`Se canceló el inicio de sesión. Vuelva a intentarlo cuando esté listo.`,linkedElsewhere:`Esta identidad ya está vinculada a otra cuenta de Kanvil. Use otra identidad o póngase en contacto con su administrador.`,notLinked:`Esta identidad no está vinculada a ninguna cuenta de Kanvil. Inicie sesión con su cuenta local y vincúlela en Configuración.`,expired:`La solicitud de inicio de sesión ha caducado o no se pudo verificar. Vuelva a intentarlo desde esta pantalla.`,emailMismatch:`No se pudo vincular el correo electrónico del proveedor de identidad. Póngase en contacto con su administrador.`,failed:`No se pudo completar el inicio de sesión. Vuelva a intentarlo o póngase en contacto con su administrador.`}},you:`Usted`,inbox:{markAllRead:`Marcar todo como leído`,clearRead:`Borrar leídas`,cleared_one:`Se borró {{count, number}} notificación leída`,cleared_many:`Se borraron {{count, number}} notificaciones leídas`,cleared_other:`Se borraron {{count, number}} notificaciones leídas`,unread:`No leídas`,mentions:`Menciones`,all:`Todas las notificaciones`,noUnread:`No hay notificaciones sin leer`,noMentions:`No hay menciones`,noNotifications:`No hay notificaciones`,markUnread:`Marcar como no leída`,markRead:`Marcar como leída`,dismiss:`Descartar`},search:{field:`Buscar en el espacio de trabajo`,placeholder:`Buscar tickets, proyectos, comentarios, actividad…`,tab:{all:`Todo`,project:`Proyectos`,ticket:`Tickets`,comment:`Comentarios`,activity:`Actividad`},indexing:`La búsqueda externa se está poniendo al día, así que las coincidencias de tickets provienen de PostgreSQL.`,empty:`Buscar tickets, proyectos, comentarios y actividad`,noResults:`No hay resultados para «{{query}}»`,results:`Resultados de la búsqueda`,pages:`Páginas de resultados`,previous:`Anterior`,next:`Siguiente`,type:{project:`Proyecto`,ticket:`Ticket`,comment:`Comentario`,activity:`Actividad`}},column:{key:`Ticket`,labels:`Etiquetas`,scopes:`Ámbitos`,status:`Estado`,priority:`Prioridad`,difficulty:`Dificultad`,kind:`Tipo`,assigneeId:`Responsable`,startAt:`Inicio`,dueAt:`Vence`,createdAt:`Creado`,updatedAt:`Actualizado`},public:{notShared:`Este proyecto no está compartido`,notSharedHint:`El enlace se desactivó o nunca existió. Los miembros pueden iniciar sesión para leerlo.`,noTickets:`No hay tickets`,ticketUnavailable:`Ticket no disponible`,backToTickets:`Volver a los tickets`,description:`Descripción`,noDescription:`_Sin descripción_`,acceptanceCriteria:`Criterios de aceptación`,noAcceptanceCriteria:`_Sin criterios de aceptación_`,ticketProperties:`Propiedades del ticket`,properties:`Propiedades`,status:`Estado`,priority:`Prioridad`,kind:`Tipo`,difficulty:`Dificultad`,startDate:`Fecha de inicio`,dueDate:`Fecha límite`,labels:`Etiquetas`,scopes:`Ámbitos`,created:`Creado`,updated:`Actualizado`,relationships:`Relaciones`,parent:`Padre`,child:`Hijo`},sidebar:{workspace:`Espacio de trabajo`,unread_one:`{{count, number}} sin leer`,unread_many:`{{count, number}} sin leer`,unread_other:`{{count, number}} sin leer`,userSettings:`Configuración de usuario`,administration:`Administración`,signOut:`Cerrar sesión`,projectSettings:`Configuración del proyecto`},workspace:{new:`Nuevo espacio de trabajo`,name:`Nombre del espacio de trabajo`,key:`Clave del espacio de trabajo`,create:`Crear espacio de trabajo`,workspaces:`Espacios de trabajo`,switch:`Cambiar de espacio de trabajo`,settings:`Configuración del espacio de trabajo`},palette:{open:`Ir a…`,title:`Ir a`,description:`Buscar un proyecto, ticket, página o acción`,placeholder:`Buscar tickets, proyectos, páginas, acciones…`,searching:`Buscando…`,noResults:`No hay resultados`,jumpTo:`Saltar a`,openKey:`Abrir {{key}} en {{project}}`,resultsIn:`Resultados en {{workspace}}`,results:`Resultados`,seeAll_one:`Ver {{count, number}} resultado`,seeAll_many:`Ver los {{count, number}} resultados`,seeAll_other:`Ver los {{count, number}} resultados`,actions:`Acciones`,pages:`Páginas`,newTicketIn:`Nuevo ticket en {{project}}`,myTicketsIn:`Mis tickets en {{project}}`,lightMode:`Cambiar al modo claro`,darkMode:`Cambiar al modo oscuro`,keywords:{jump:`{{query}} saltar ir abrir`,allResults:`todos los resultados {{query}}`,newTicket:`nuevo ticket crear`,myTickets:`mis tickets asignados a mí`,lightMode:`cambiar modo claro tema apariencia`,darkMode:`cambiar modo oscuro tema apariencia`,help:`atajos de teclado ayuda`,home:`inicio resumen todos los proyectos`,myWork:`mi trabajo tickets asignados`,search:`buscar comentarios actividad proyectos tickets`,inbox:`bandeja de entrada notificaciones`,settings:`configuración ajustes {{scope}} {{label}}`}},actionCategory:{general:`General`,ticketList:`Lista de tickets`,inbox:`Bandeja de entrada`,ticket:`Ticket`,search:`Búsqueda`,markdown:`Markdown`},action:{palette:`Ir a cualquier sitio`,help:`Atajos de teclado`,sidebar:`Mostrar u ocultar la barra lateral`,newTicket:`Nuevo ticket`,search:`Buscar tickets`,highlight:`Resaltar el ticket siguiente o anterior`,open:`Abrir el ticket resaltado`,preview:`Previsualizar el ticket resaltado junto a la lista`,select:`Seleccionar el ticket resaltado`,properties:`Definir el estado, la prioridad o el responsable del ticket resaltado`,inboxHighlight:`Resaltar la notificación siguiente o anterior`,inboxOpen:`Leer el ticket de la notificación resaltada junto a la Bandeja de entrada`,inboxRead:`Marcar la notificación resaltada como leída o no leída`,inboxDismiss:`Descartar la notificación resaltada`,step:`Abrir el ticket siguiente o anterior`,edit:`Editar ticket`,save:`Guardar un ticket o comentario`,results:`Recorrer los resultados de búsqueda`,insertBlock:`Insertar una tabla, un diagrama, un archivo u otro bloque en el editor visual`},move:{top:{label:`Mover el ticket resaltado al principio`,menu:`Mover al principio`},up:{label:`Subir el ticket resaltado`,menu:`Subir`},down:{label:`Bajar el ticket resaltado`,menu:`Bajar`},bottom:{label:`Mover el ticket resaltado al final`,menu:`Mover al final`},previous:{label:`Mover el ticket resaltado al estado anterior`,menu:`Mover al estado anterior`},next:{label:`Mover el ticket resaltado al estado siguiente`,menu:`Mover al estado siguiente`}},copy:{link:{label:`Copiar enlace`,copied:`Enlace del ticket`},keyAndTitle:{label:`Copiar clave y título`,copied:`Ticket`},title:{label:`Copiar título`,copied:`Título`},markdown:{label:`Copiar como Markdown`,copied:`Markdown`},branch:{label:`Copiar nombre de rama`,copied:`Nombre de rama`}},settingsNav:{account:`Cuenta`,settings:`Configuración`,workspace:`Espacio de trabajo`,workspaceSettings:`Configuración del espacio de trabajo`,projects:`Proyectos`,projectSettings:`Configuración del proyecto`,administration:`Administración`,section:{profile:`Perfil y seguridad`,appearance:`Apariencia`,preferences:`Preferencias`,credentials:`Claves de API`,notifications:`Notificaciones`,general:`General`,members:`Miembros`,roles:`Roles`,labels:`Etiquetas`,workflow:`Flujo de trabajo`,fields:`Campos`,integrations:`Integraciones`,calendar:`Feeds de calendario`,storage:`Almacenamiento de archivos`,search:`Búsqueda`,events:`Entrega de eventos`,users:`Usuarios`,workspaces:`Espacios de trabajo`,authentication:`Autenticación`}},browser:{copyFailed:`No se pudo copiar. Seleccione el texto y cópielo manualmente.`,readFailed:`No se pudo leer el archivo`,encodeFailed:`No se pudo codificar el archivo`,imageTooBig:`Elija una imagen de menos de 10 MB.`,cannotResize:`Este navegador no puede redimensionar la imagen.`,prepareFailed:`No se pudo preparar la imagen.`,stillTooLarge:`La imagen sigue siendo demasiado grande tras redimensionarla. Elija una imagen más sencilla.`},primitive:{close:`Cerrar`,more:`Más`,breadcrumb:`ruta de navegación`,sidebar:`Barra lateral`,sidebarDescription:`Muestra la barra lateral móvil.`,toggleSidebar:`Mostrar u ocultar la barra lateral`,resizeSidebar:`Redimensionar la barra lateral`,expandSidebar:`Expandir la barra lateral`,commandTitle:`Paleta de comandos`,commandDescription:`Buscar un comando para ejecutar…`}},ticket:{list:{selectSection:`Seleccionar tickets de {{section}}`,expandSection:`Expandir tickets de {{section}}`,collapseSection:`Contraer tickets de {{section}}`,sectionTickets:`Tickets de {{section}}`,later:`Más adelante`,selectAll:`Seleccionar todos los tickets mostrados`,selectTicket:`Seleccionar {{key}}`,title:`Título`,all:`Todos`,planned:`Planificados`,archived:`Archivados`,allTickets:`Todos los tickets`,customView:`Vista personalizada`,sectionCount:`{{n, number}} {{section}}`,planning:`Planificación de {{project}}`,collection:`{{source}} ({{sections}})`,moved:`{{key}} movido`,movedTo:`{{key}} movido a {{status}}`,movedAbove:`{{key}} movido encima de {{neighbor}}`,movedBelow:`{{key}} movido debajo de {{neighbor}}`,movedToAbove:`{{key}} movido a {{status}} encima de {{neighbor}}`,movedToBelow:`{{key}} movido a {{status}} debajo de {{neighbor}}`,emptyFiltered:`No hay tickets que coincidan`,emptyPlanning:`No hay nada planificado ni archivado`,emptyProject:`Aún no hay tickets`,emptyWork:`No tiene tickets abiertos asignados`,createFirst:`Crear el primer ticket`,activeWork:`Trabajo activo`,views:`Vistas de tickets`,saveCurrentView:`Guardar la vista actual`,deleteView:`Eliminar la vista {{name}}`,deleteViewConfirm:`¿Quitar {{name}} de las vistas guardadas? Los tickets no cambian.`,planningLink:`Planificación`,newTicketShortcut:`Nuevo ticket ({{shortcut}})`,saveView:`Guardar vista`,viewSaved:`Vista guardada`,viewName:`Nombre de la vista`,retry:`Volver a cargar los tickets`,board:`Tablero de tickets`,tickets:`Tickets`,resizeColumn:`Redimensionar la columna {{column}}`,count_one:`{{count, number}} ticket`,count_many:`{{count, number}} tickets`,count_other:`{{count, number}} tickets`,scheduledCount_one:`{{count, number}} ticket programado`,scheduledCount_many:`{{count, number}} tickets programados`,scheduledCount_other:`{{count, number}} tickets programados`},move:{destination:`Destino`,projectPlaceholder:`Mover al proyecto…`,blockers:`Resolver antes de mover`,submit:`Mover ticket`,pending:`Moviendo…`},picker:{placeholder:`Elegir un ticket`,loading:`Cargando ticket…`,searchLabel:`Buscar {{label, lowercase}}`,searchPlaceholder:`Buscar por título o clave…`,noParent:`Sin padre`,searching:`Buscando…`,empty:`No se encontraron tickets`},property:{status:`Estado`,priority:`Prioridad`,kind:`Tipo`,difficulty:`Dificultad`,assignee:`Responsable`,you:`{{name}} (usted)`,assignTo:`Asignar a…`,set:`Definir {{label, lowercase}}…`,search:`Buscar {{label, lowercase}}`,noMatches:`No hay coincidencias`},field:{mixed:`Varios`,unchecked:`No`,noValue:`Sin valor`},project:{label:`Proyecto`,placeholder:`Crear en el proyecto…`,search:`Buscar proyectos`},tags:{labels:`Etiquetas`,scopes:`Ámbitos`,summary:`{{label}}: {{tags}}`,edit:`Editar {{label, lowercase}}`,editValues:`Editar {{label, lowercase}}: {{tags}}`,editMixed:`Editar {{label, lowercase}}: varios`,mixed:`{{label}} diferentes`,none:`Sin {{label, lowercase}}`,mixedNote:`Los tickets seleccionados tienen {{label, lowercase}} diferentes.`,clear:`Borrar {{label, lowercase}}`,replace:`Reemplazar {{label, lowercase}}`},tagInput:{remove:`Quitar {{tag}} de {{label, lowercase}}`,addAnother:`Añadir otro…`,add:`Añadir {{label, lowercase}}…`,choose:`Elegir {{label, lowercase}}`,chooseLabels:`Elegir etiquetas`,searchPlaceholder:`Buscar etiquetas…`,searchLabel:`Buscar etiquetas del proyecto`,empty:`No hay etiquetas que coincidan`},link:{previewUnavailable:`Vista previa no disponible`},userPicker:{label:`Cuenta`,placeholder:`Elegir una cuenta`,searchPlaceholder:`Buscar nombre o correo electrónico…`,searchLabel:`Buscar cuentas`,useEmail:`Usar {{email}}`,emptyAnyAccount:`Busque un miembro o introduzca el correo electrónico de una cuenta existente.`,empty:`No hay miembros que coincidan`},date:{placeholder:`Elegir una fecha`,clear:`Borrar {{label, lowercase}}`,start:`Fecha de inicio`,startShort:`Inicio`,noStart:`Sin fecha de inicio`,due:`Fecha límite`,dueShort:`Vence`,noDue:`Sin fecha límite`},filter:{me:`Yo`,searchTickets:`Buscar tickets`,searchTicketsPlaceholder:`Buscar tickets…`,filters:`Filtros`,filtersActive:`Filtros ({{active, number}})`,due:`Vencimiento`,anyDue:`Cualquier fecha límite`,archived:`Archivados`,hideArchived:`Ocultar archivados`,includeArchived:`Incluir archivados`,archivedOnly:`Solo archivados`,includingArchived:`Incluidos los archivados`,reset:`Restablecer filtros`,clear:`Borrar filtros`,active:`Filtros de tickets activos`,searchChip:`Búsqueda: {{query}}`,chipAny:`{{field}}:`,chipNone:`{{field}} no es:`,notValues:`No {{values}}`,match:`Coincidencia de {{label, lowercase}}`,is:`Es`,isNot:`No es`,searchPlaceholder:`{{search}}…`,anyValue:{status:`Todos los estados`,priority:`Todas las prioridades`,kind:`Todos los tipos`,difficulty:`Todas las dificultades`,label:`Todas las etiquetas`,assigneeId:`Cualquiera`,customField:`Cualquier valor de campo`},searchValues:{status:`Buscar estados`,priority:`Buscar prioridades`,kind:`Buscar tipos`,difficulty:`Buscar dificultades`,label:`Buscar etiquetas`,assigneeId:`Buscar personas`,customField:`Buscar campos`}},display:{title:`Visualización`,orderBy:`Ordenar por`,direction:`Dirección`,ascending:`Ascendente`,descending:`Descendente`,reset:`Restablecer visualización`,groupBy:`Agrupar por`,dueDate:`Fecha límite`,layout:`Diseño`,list:`Lista`,board:`Tablero`,backgrounds:`Fondos de proyecto`,show:`Mostrar`,hide:`Ocultar`,rowSpacing:`Espaciado de filas`,compact:`Compacto`,comfortable:`Cómodo`,labelDisplay:`Visualización de etiquetas`,compactPreview:`Vista previa compacta`,allLabels:`Todas las etiquetas`,properties:`Propiedades`},selection:{region:`Tickets seleccionados`,clear:`Borrar selección`,selected_one:`{{count, number}} seleccionado`,selected_many:`{{count, number}} seleccionados`,selected_other:`{{count, number}} seleccionados`,selectedOf_one:`{{count, number}} de {{total}}<wide> seleccionado</wide>`,selectedOf_many:`{{count, number}} de {{total}}<wide> seleccionados</wide>`,selectedOf_other:`{{count, number}} de {{total}}<wide> seleccionados</wide>`,applied_one:`{{label}} aplicado a {{count, number}} ticket`,applied_many:`{{label}} aplicado a {{count, number}} tickets`,applied_other:`{{label}} aplicado a {{count, number}} tickets`,partlyApplied_one:`Aplicado a {{done, number}} de {{count, number}} ticket`,partlyApplied_many:`Aplicado a {{done, number}} de {{count, number}} tickets`,partlyApplied_other:`Aplicado a {{done, number}} de {{count, number}} tickets`,mixedDue:`Fechas límite diferentes`,fields:`Campos`,more:`Más acciones`,moveTo:`Mover a {{status}}`,restoreChange:`Restaurar`,restore:`Restaurar seleccionados`,archive:`Archivar seleccionados`,delete:`Eliminar seleccionados`,deleteLimit:`Eliminar hasta {{limit, number}} a la vez`,archiveConfirm_one:`¿Archivar {{count, number}} ticket de {{collection}}?`,archiveConfirm_many:`¿Archivar {{count, number}} tickets de {{collection}}?`,archiveConfirm_other:`¿Archivar {{count, number}} tickets de {{collection}}?`,deleteConfirm_one:`¿Eliminar de forma permanente {{count, number}} ticket de {{collection}}, con sus comentarios, relaciones y adjuntos? Los hijos fuera de la selección pierden su padre.`,deleteConfirm_many:`¿Eliminar de forma permanente {{count, number}} tickets de {{collection}}, con sus comentarios, relaciones y adjuntos? Los hijos fuera de la selección pierden su padre.`,deleteConfirm_other:`¿Eliminar de forma permanente {{count, number}} tickets de {{collection}}, con sus comentarios, relaciones y adjuntos? Los hijos fuera de la selección pierden su padre.`,deleted_one:`Se eliminó {{count, number}} ticket`,deleted_many:`Se eliminaron {{count, number}} tickets`,deleted_other:`Se eliminaron {{count, number}} tickets`},menu:{copied:`{{label}} copiado`,open:`Abrir ticket`,preview:`Vista previa`,newTab:`Abrir en una pestaña nueva`,edit:`Editar ticket`,editTitle:`Editar {{key}}`,duplicate:`Duplicar ticket`,created:`{{key}} creado`,move:`Mover`,moveToProject:`Mover al proyecto…`,moveTitle:`Mover {{key}}`,moved:`Movido a {{key}}`,follow:`Seguir ticket`,unfollow:`Dejar de seguir ticket`,archive:`Archivar ticket`,unarchive:`Desarchivar ticket`,delete:`Eliminar ticket`,deleteConfirm:`¿Eliminar de forma permanente {{key}}, sus comentarios, relaciones y adjuntos?`,openProject:`Abrir proyecto`,projectLink:`Enlace del proyecto`,copyLink:`Copiar enlace`,newTicket:`Nuevo ticket`,projectSettings:`Configuración del proyecto`,manageAccount:`Gestionar cuenta`,email:`Correo electrónico`,copyEmail:`Copiar correo electrónico`},schedule:{range:`{{from}} – {{to}}`,calendar:`Calendario`,timeline:`Cronograma`,today:`Hoy`,previousMonth:`Mes anterior`,nextMonth:`Mes siguiente`,previousWeeks:`Dos semanas anteriores`,nextWeeks:`Dos semanas siguientes`,emptyWeeks:`No hay nada programado en estas semanas`,monthTickets:`Tickets de {{title}}`,showDay_one:`Mostrar {{count, number}} ticket del {{day}}`,showDay_many:`Mostrar los {{count, number}} tickets del {{day}}`,showDay_other:`Mostrar los {{count, number}} tickets del {{day}}`,more_one:`{{count, number}} más`,more_many:`{{count, number}} más`,more_other:`{{count, number}} más`,ticketColumn:`Ticket`,scheduledTickets:`Tickets programados`},copy:{description:`Descripción`,acceptanceCriteria:`Criterios de aceptación`}},detail:{field:{title:`Título`,description:`Descripción`,acceptanceCriteria:`Criterios de aceptación`,parent:`Padre`,parentTicket:`Ticket padre`,labels:`Etiquetas`,scopes:`Ámbitos`,holdReason:`Motivo de espera`,url:`URL`},page:{preview:`Vista previa del ticket`,unavailable:`Ticket no disponible`,noProject:`El enlace no indica el proyecto del ticket.`,gone:`Este ticket se ha eliminado o ya no tiene acceso a él.`,closePreview:`Cerrar vista previa`,openFullPage:`Abrir en página completa`,backToTickets:`Volver a los tickets`,tickets:`Tickets`,previousTicket:`Ticket anterior`,previousTicketShortcut:`Ticket anterior (K)`,nextTicket:`Ticket siguiente`,nextTicketShortcut:`Ticket siguiente (J)`,position:`{{position, number}} / {{total, number}}`,subscribe:`Suscribirse`,unsubscribe:`Cancelar suscripción`,subscribed:`Suscrito a las actualizaciones`,unsubscribed:`Suscripción cancelada`,archive:`Archivar ticket`,unarchive:`Desarchivar ticket`,archivedToast:`Ticket archivado`,unarchivedToast:`Ticket desarchivado`,archived:`Archivado`,edit:`Editar ticket`,editShortcut:`Editar ticket (E)`,editTitle:`Editar {{key}}`,actions:`Acciones del ticket`,copyKey:`Copiar clave del ticket`,keyCopied:`{{key}} copiado`,noDescription:`_Sin descripción_`,noAcceptanceCriteria:`_Sin criterios de aceptación_`,coordination:`Coordinación del ticket`,properties:`Propiedades`,created:`Creado`,updated:`Actualizado`},section:{discussion:`Conversación`,evidence:`Evidencias`,activity:`Actividad`},readiness:{heading:`Preparación para agentes`,ready:`Listo para reservar`,notReady:`No está listo para reservar`,hold:`En espera: {{reason}}`,claimedUntil:`Reservado por <strong>{{worker}}</strong> hasta el {{date}}.`},claim:{release:`Liberar mi reserva`,releaseDescription:`¿Liberar la propiedad cuando su ejecutor haya dejado de escribir?`,recover:`Recuperar reserva caducada`,recoverHelp:`La recuperación requiere acceso de administrador del proyecto y una reserva caducada. Detenga primero el ejecutor.`,reason:`Motivo de la recuperación`,confirmed:`He confirmado que el ejecutor se ha detenido`,submit:`Recuperar la propiedad`},editor:{storageUnavailable:`Este navegador no puede guardar su borrador. Mantenga el editor abierto hasta guardar.`,saved:`{{key}} guardado`,created:`{{key}} creado`,properties:`Propiedades del ticket`,readyForAgents:`Listo para agentes`,readyForAgentsHelp:`Los agentes pueden reservar este ticket cuando los requisitos, los bloqueos y la propiedad lo permitan`,agents:`Agentes`,notReady:`No listo`,moreProperties:`Más propiedades`,holdPlaceholder:`¿Por qué debe esperar el trabajo?`,claimsNote:`Las reservas siguen dependiendo de los requisitos, los bloqueos y la propiedad actual.`,restoreSize:`Restaurar el tamaño del editor`,expand:`Expandir el editor`,staleTitle:`Este ticket ha cambiado.`,staleDescription:`Su borrador sigue usando la versión {{version}}; para guardar se requerirá la versión actual.`,discardAndReload:`Descartar borrador y recargar`,titlePlaceholder:`Título del ticket`,descriptionPlaceholder:`Añada contexto, requisitos o pasos para reproducirlo…`,criteriaPlaceholder:`- [ ] ¿Qué demostrará que está completo?`,removeCriteria:`Quitar criterios de aceptación`,addCriteria:`Añadir criterios de aceptación`,savedLocally:`Borrador guardado en este dispositivo`,notSavedLocally:`No se pudo guardar el borrador`,discardDraft:`Descartar borrador`,createMore:`Crear más`,save:`Guardar ticket`,create:`Crear ticket`},resource:{removeConfirm:`¿Quitar {{name}}?`,uploading:`Subiendo…`},attachment:{heading:`Adjuntos`,tooLarge:`Elija archivos de 10 MB como máximo cada uno.`,attached_one:`Archivo adjuntado`,attached_many:`{{count, number}} archivos adjuntados`,attached_other:`{{count, number}} archivos adjuntados`,attach:`Adjuntar archivo`,emptyWritable:`No hay adjuntos. Suelte archivos aquí.`,empty:`No hay adjuntos`,remove:`Quitar adjunto`,fileInput:`Archivo (hasta 10 MB)`},evidence:{description:`Enlaces y resultados informados por las personas e integraciones que trabajan en este ticket.`,add:`Añadir evidencia`,empty:`No hay evidencias adjuntas`,added:`Evidencia añadida`,kindLabel:`Tipo`,outcomeLabel:`Resultado informado`,commit:`Commit (hash completo)`,note:`Nota`},link:{heading:`Enlaces`,add:`Añadir enlace`,edit:`Editar enlace`,save:`Guardar enlace`,remove:`Quitar enlace`,empty:`No hay enlaces`,stateUnknown:`Estado desconocido`,remote:`{{kind}} · {{state}}`,remoteState:{open:`Abierto`,closed:`Cerrado`,merged:`Fusionado`,draft:`Borrador`,active:`Activo`,deleted:`Eliminado`}},activity:{previous:`Actividad anterior`,next:`Actividad siguiente`},relations:{heading:`Relaciones`,add:`Añadir relación`,linkExisting:`Vincular un ticket existente`,newChild:`Nuevo ticket hijo`,newChildTitle:`Nuevo hijo de {{key}}`,children:`Tickets hijos <count>{{done, number}}/{{total, number}}</count>`,previousChildren:`Hijos anteriores`,nextChildren:`Hijos siguientes`,empty:`No hay relaciones`,type:`Relación`,ticket:`Ticket`,statusOf:`Estado de {{key}}`,assigneeOf:`Responsable de {{key}}`,remove:{blocks:`Quitar relación de bloqueo`,related:`Quitar relación de relacionado`,duplicate:`Quitar relación de duplicado`,causes:`Quitar relación de causa`,clones:`Quitar relación de clon`,implements:`Quitar relación de implementación`,reviews:`Quitar relación de revisión`}},discussion:{empty:`Aún no hay comentarios`,previous:`Comentarios anteriores`,next:`Comentarios siguientes`,comment:`Comentar`,placeholder:`Escriba un comentario…`,posting:`Publicando…`,edited:`Editado`,edit:`Editar comentario`,delete:`Eliminar comentario`,deleteConfirm:`¿Eliminar este comentario de forma permanente?`},markdown:{format:{heading:`Encabezado`,bold:`Negrita`,italic:`Cursiva`,link:`Enlace`,linkHelp:`Enlazar el texto seleccionado`,bullets:`Lista con viñetas`,numbers:`Lista numerada`,tasks:`Lista de comprobación`,code:`Bloque de código`},formatting:`Formato de {{label, lowercase}}`,editor:`Editor de {{label, lowercase}}`,insertFile:`Insertar archivo`,insertFileInto:`Insertar archivo en {{label, lowercase}}`,write:`Escribir`,visual:`Visual`,preview:`Vista previa`,unsupported:`Este texto usa Markdown que el editor visual no puede conservar, como HTML o notas al pie.`,nothingToPreview:`No hay nada que previsualizar`,mention:`Mencionar a un miembro`,insertBlock:`Insertar bloque`,block:{quote:`Cita`,table:`Tabla`,diagram:`Diagrama`,divider:`Separador`,file:`Archivo`},table:{addRow:`Añadir fila`,addColumn:`Añadir columna`,deleteRow:`Eliminar fila`,deleteColumn:`Eliminar columna`,deleteTable:`Eliminar tabla`},linkAddress:`Dirección del enlace`,diagram:`Diagrama`,diagramFailed:`No se pudo dibujar este diagrama: {{error}}`,diagramSource:`Código del diagrama`}},settings:{account:{title:`Configuración`,security:`Inicio de sesión y seguridad`,localPassword:`Contraseña local`,localPasswordDescription:`Al cambiar la contraseña se cierran sus demás sesiones.`,changePassword:`Cambiar contraseña`,oidcLinked:`Use este proveedor de identidad para iniciar sesión en la misma cuenta.`,oidcUnlinked:`Vincule su cuenta antes de iniciar sesión con este proveedor.`,linked:`Vinculado`,link:`Vincular {{name}}`,currentPassword:`Contraseña actual`,newPassword:`Nueva contraseña`,confirmPassword:`Confirmar nueva contraseña`,passwordMismatch:`Las nuevas contraseñas no coinciden.`,passwordUpdated:`Contraseña actualizada. Se cerraron las demás sesiones.`},preferences:{behavior:`Comportamiento`,languageDescription:`Se aplica en este navegador, incluida la página de inicio de sesión.`,weekStart:`La semana empieza el`,weekStartDescription:`Se aplica a todos los selectores de fecha.`,weekStartLanguage:`Según el idioma`,sidebar:`Barra lateral al abrir`,sidebarDescription:`Se aplica la próxima vez que se abra Kanvil.`,sidebarLast:`Como se dejó`,sidebarExpanded:`Expandida`,sidebarCollapsed:`Contraída`,ticketLists:`Listas de tickets`,reset:`Restablecer preferencias`,resetDescription:`Restablece estas opciones a sus valores predeterminados en este navegador.`,resetDone:`Preferencias restablecidas`},notifications:{title:`Notificaciones`,inbox:`Bandeja de entrada`,inboxDescription:`Las actualizaciones de los tickets que sigue aparecen en Kanvil.`,inboxSwitch:`Actualizaciones de tickets suscritos en la Bandeja de entrada`,push:`Notificaciones push`,pushDescription:`Enviar actualizaciones a los dispositivos registrados.`,pushUnavailable:`La entrega push no está habilitada en esta instancia.`,pushSwitch:`Notificaciones push en los dispositivos registrados`,categories:`Categorías`,categorySwitch:`Notificaciones de {{label, lowercase}}`,reminder:`Recordatorio de vencimiento`,reminderDescription:`Cuánto tiempo antes de la fecha límite de un ticket seguido.`,reminderUnit:`Unidad del recordatorio`,reminderAmount:`Cantidad del recordatorio`,unit:{minutes:`Minutos`,hours:`Horas`,days:`Días`,weeks:`Semanas`}},layout:{nav:`Configuración`,section:`Sección de configuración`,nested:`{{parent}} · {{child}}`,name:`Nombre`,description:`Descripción`,descriptionPlaceholder:`Añadir una descripción`,noDescription:`Sin descripción`,stale:`Esto ha cambiado en otro lugar. Cancele y vuelva a empezar.`},profile:{title:`Perfil`,displayName:`Nombre visible`,edit:`Editar perfil`,changePhoto:`Cambiar foto`,removePhoto:`Quitar foto`,photoFile:`Archivo de foto de perfil`,photoUpdated:`Foto actualizada`,photoRemoved:`Foto quitada`,saved:`Perfil guardado`},credentials:{title:`Claves de API`,description:`Conecte scripts, integraciones y agentes con un acceso que puede revocar.`,create:`Crear clave de API`,creating:`Creando…`,created:`Clave de API creada`,name:`Nombre`,access:`Acceso`,projects:`Proyectos`,expires:`Caduca`,actions:`Acciones`,unavailableProject:`Proyecto no disponible`,untitled:`Clave sin nombre`,expired:`Caducada`,disabled:`Desactivada`,custom:`Personalizado`,noProjects:`Sin acceso a proyectos`,never:`Nunca`,revoke:`Revocar clave de API`,revokeNamed:`¿Revocar {{name}}? Las conexiones que la usan perderán el acceso de inmediato.`,revokeUnnamed:`¿Revocar esta clave de API? Las conexiones que la usan perderán el acceso de inmediato.`,empty:`No hay claves de API`,emptyDescription:`Cree una clave cuando un script, una integración o un agente necesite acceder a sus proyectos.`,copyNow:`Copie esta clave ahora. No podrá volver a verla.`,newKey:`Nueva clave de API`,copy:`Copiar clave de API`,noProjectTitle:`Elija primero un proyecto`,noProjectDescription:`Las claves de API necesitan acceso a al menos un proyecto.`,goToProjects:`Ir a proyectos`,keyName:`Nombre de la clave`,keyNamePlaceholder:`p. ej., Automatización de versiones`,projectAccess:`Acceso a proyectos`,findProject:`Buscar proyecto`,projectDescription:`{{key}} · {{workspace}}`,workspace:`Espacio de trabajo`,noMatches:`No hay proyectos que coincidan`,roleLimit:`Su rol actual en el proyecto sigue limitando lo que puede hacer esta clave.`,accessLevel:`Nivel de acceso`,preset:{read:`Solo lectura`,write:`Lectura y escritura`,automation:`Lectura, escritura y reserva de trabajo`,custom:`Permisos personalizados`},permission:{read:{name:`Leer tickets`,description:`Ver proyectos, tickets, comentarios y adjuntos.`},write:{name:`Editar tickets`,description:`Crear y actualizar tickets, comentarios y adjuntos.`},claim:{name:`Reservar trabajo`,description:`Reservar, renovar y liberar la propiedad de tickets.`},admin:{name:`Gestionar proyectos`,description:`Cambiar la configuración y los miembros del proyecto donde su rol lo permita.`}},expiry:{7:`7 días`,30:`30 días`,90:`90 días`,365:`1 año`,custom:`Fecha personalizada`,never:`Sin caducidad`},expiresOn:`Caduca el`,neverDescription:`La clave funciona hasta que la elimine.`},calendarFeeds:{title:`Feeds de calendario`,new:`Nuevo feed de calendario`,created:`Feed de calendario creado`,create:`Crear feed`,adminOnly:`Los administradores del proyecto comparten y revocan los feeds de calendario.`,labels:`Etiquetas`,everyLabel:`Todas las etiquetas`,stopped:`· Detenido: su creador ya no tiene acceso`,revoke:`Revocar {{name}}`,revokeDescription:`Los calendarios suscritos a {{name}} dejan de actualizarse de inmediato. Los tickets no cambian.`,revoked:`Feed de calendario revocado`,empty:`No hay feeds de calendario`,copyNow:`Copie ahora este enlace en una aplicación de calendario. Solo se muestra una vez, y cualquiera que lo tenga puede leer los tickets compartidos.`,link:`Enlace del feed`,name:`Nombre del feed`,onlyLabels:`Solo tickets con estas etiquetas`,explanation:`El feed muestra los tickets abiertos y sin archivar con fecha de inicio o fecha límite como eventos de todo el día en {{zone}}. Cualquiera que tenga el enlace ve sus claves, títulos, estados, prioridades y fechas.`},project:{title:`Configuración del proyecto`,edit:`Editar proyecto`,copyPrefix:`Copiar prefijo de tickets`,saved:`Proyecto guardado`,noOpenTickets:`No hay tickets abiertos`,openTickets_one:`{{count, number}} ticket abierto`,openTickets_many:`{{count, number}} tickets abiertos`,openTickets_other:`{{count, number}} tickets abiertos`,overdueTickets_one:`· {{count, number}} vencido`,overdueTickets_many:`· {{count, number}} vencidos`,overdueTickets_other:`· {{count, number}} vencidos`,created:`· Creado <time/>`,access:`Acceso al proyecto`,accessWorkspace:`Los miembros del espacio de trabajo heredan el acceso de su rol en el espacio de trabajo.`,accessPrivate:`Solo los miembros que añada y los administradores del espacio de trabajo pueden ver este proyecto.`,accessUpdated:`Acceso al proyecto actualizado`,visibility:{workspace:`Todos los miembros del espacio de trabajo`,private:`Solo los miembros del proyecto`},workspace:`Espacio de trabajo`,workspaceSettings:`Configuración del espacio de trabajo`,prefix:`Prefijo de tickets`,prefixDescription:`Los prefijos anteriores y las claves de tickets siguen funcionando tras un cambio.`,changePrefix:`Cambiar prefijo`,changePrefixTitle:`Cambiar el prefijo de tickets`,changePrefixDescription:`Todos los tickets de {{name}} adoptan el nuevo prefijo y conservan su número.`,changing:`Cambiando…`,prefixChanged:`Los tickets usan ahora {{key}}`,publicLink:`Enlace público`,publicDisclosure:`Cualquiera que tenga el enlace puede leer el título, la descripción, los criterios de aceptación, el estado, la prioridad, el tipo, la dificultad, las etiquetas, los ámbitos, las fechas y los enlaces a otros tickets de este proyecto de cada ticket sin archivar. Las personas, los comentarios, la actividad, los adjuntos, las evidencias y las reservas siguen siendo privados.`,publicOn:`Enlace público activado`,publicOff:`Enlace público desactivado`,off:`Desactivado`,copyPublicLink:`Copiar enlace público`,openPublic:`Abrir vista pública`,stopSharing:`Dejar de compartir`,share:`Compartir públicamente`,background:`Fondo`,backgroundDescription:`Se muestra detrás de la lista y el tablero de tickets de este proyecto.`,backgroundUpdated:`Fondo actualizado`,backgroundRemoved:`Fondo quitado`,currentBackground:`Fondo actual`,uploading:`Subiendo…`,replace:`Reemplazar`,upload:`Subir imagen`,backgroundFile:`Archivo de fondo del proyecto`},tickets_one:`{{count, number}} ticket`,tickets_many:`{{count, number}} tickets`,tickets_other:`{{count, number}} tickets`,moveUp:`Subir {{name}}`,moveDown:`Bajar {{name}}`,workflow:{title:`Flujo de trabajo`,new:`Nuevo estado`,edit:`Editar estado`,editNamed:`Editar el estado {{name}}`,deleteNamed:`Eliminar el estado {{name}}`,onlyState:`{{name}} es el único estado de la categoría {{category}}`,saved:`Estado guardado`,name:`Nombre del estado`,category:`Categoría`,color:`Color del estado`,categoryChange:`El estado de sus tickets cambia a {{status}}.`,save:`Guardar estado`,delete:`Eliminar estado`,deleteTitle:`Eliminar {{name}}`,deleted:`Estado eliminado`,reassign_one:`Mover {{count, number}} ticket a`,reassign_many:`Mover {{count, number}} tickets a`,reassign_other:`Mover {{count, number}} tickets a`},labels:{title:`Etiquetas`,search:`Buscar etiquetas`,new:`Nueva etiqueta`,edit:`Editar etiqueta`,workspace:`Espacio de trabajo`,editNamed:`Editar la etiqueta {{name}}`,deleteNamed:`Eliminar la etiqueta {{name}}`,deleteUsed_one:`¿Quitar {{name}} de {{count, number}} ticket, incluidos los archivados? Las vistas guardadas que usan esta etiqueta perderán su filtro de etiqueta.`,deleteUsed_many:`¿Quitar {{name}} de {{count, number}} tickets, incluidos los archivados? Las vistas guardadas que usan esta etiqueta perderán su filtro de etiqueta.`,deleteUsed_other:`¿Quitar {{name}} de {{count, number}} tickets, incluidos los archivados? Las vistas guardadas que usan esta etiqueta perderán su filtro de etiqueta.`,deleteUsedShared_one:`¿Quitar {{name}} de {{count, number}} ticket en todos los proyectos, incluidos los archivados? Las vistas guardadas que usan esta etiqueta perderán su filtro de etiqueta.`,deleteUsedShared_many:`¿Quitar {{name}} de {{count, number}} tickets en todos los proyectos, incluidos los archivados? Las vistas guardadas que usan esta etiqueta perderán su filtro de etiqueta.`,deleteUsedShared_other:`¿Quitar {{name}} de {{count, number}} tickets en todos los proyectos, incluidos los archivados? Las vistas guardadas que usan esta etiqueta perderán su filtro de etiqueta.`,deleteUnused:`¿Eliminar la etiqueta sin usar {{name}}? Las vistas guardadas que la usan perderán su filtro de etiqueta.`,deleted:`Etiqueta eliminada`,noMatches:`No hay etiquetas que coincidan`,empty:`Aún no hay etiquetas`,saved:`Etiqueta guardada`,name:`Nombre de la etiqueta`,color:`Color de la etiqueta`,rename:`Al cambiar el nombre se actualiza esta etiqueta en los tickets y en las vistas guardadas.`,renameShared:`Al cambiar el nombre se actualiza esta etiqueta en los tickets y en las vistas guardadas de todos los proyectos.`,adopt:`Adoptar las etiquetas del proyecto`,adoptDescription:`Definida en {{projects}}. Sus tickets conservan la etiqueta y adoptan este color.`,save:`Guardar etiqueta`},fields:{title:`Campos`,new:`Nuevo campo`,edit:`Editar campo`,editNamed:`Editar el campo {{name}}`,deleteNamed:`Eliminar el campo {{name}}`,deleteUsed_one:`¿Eliminar {{name}} y quitar sus valores de {{count, number}} ticket, incluidos los archivados? Las vistas guardadas pierden sus filtros sobre él.`,deleteUsed_many:`¿Eliminar {{name}} y quitar sus valores de {{count, number}} tickets, incluidos los archivados? Las vistas guardadas pierden sus filtros sobre él.`,deleteUsed_other:`¿Eliminar {{name}} y quitar sus valores de {{count, number}} tickets, incluidos los archivados? Las vistas guardadas pierden sus filtros sobre él.`,deleteUnused:`¿Eliminar el campo sin usar {{name}}? Las vistas guardadas pierden sus filtros sobre él.`,deleted:`Campo eliminado`,empty:`Aún no hay campos`,saved:`Campo guardado`,required:`Obligatorio`,requiredDescription:`Los tickets nuevos necesitan un valor.`,defaultValue:`Predeterminado: {{value}}`,default:`Predeterminado`,name:`Nombre del campo`,type:`Tipo`,options:`Opciones`,option:`Opción {{number}}`,optionInline:`opción {{number}}`,optionColor:`Color de {{name}}`,removeOption:`Quitar {{name}}`,addOption:`Añadir opción`,reassign:`Tickets con {{name}}`,clearValue:`Borrar el valor`,moveTo:`Mover a {{name}}`,save:`Guardar campo`},lifecycle:{archivedToast:`Proyecto archivado`,restoredToast:`Proyecto restaurado`,archivedNotice:`Archivado <time/> · solo lectura`,restore:`Restaurar`,archive:`Archivar`,archivedDescription:`Archivado <time/>. Sus tickets son de solo lectura y no aparecen en listas, búsqueda, Mi trabajo, feeds de calendario ni colas de agentes.`,archiveDescription:`Oculta el proyecto de listas, búsqueda, Mi trabajo, feeds de calendario y colas de agentes, y deja sus tickets en solo lectura. Se conserva el historial.`,archiveProject:`Archivar proyecto`,archiveConfirm:`{{name}} sale de las listas de proyectos y las colas de agentes hasta que se restaure. Antes hay que liberar los tickets reservados.`,blocker:`{{message}}: {{tickets}}`,row:{tickets:`Tickets`,losesAccess:`Pierde el acceso`,gainsAccess:`Obtiene acceso`,labelsCopied:`Etiquetas copiadas`,labelsMerged:`Etiquetas fusionadas`,followsRemoved:`Seguimientos eliminados`,invitations:`Invitaciones`,comments:`Comentarios`,files:`Archivos`,kept:`Se conserva`,projects:`Proyectos`,members:`Miembros`,sharedLabels:`Etiquetas compartidas`,signIn:`Inicio de sesión`,sessions:`Sesiones`,credentials:`Credenciales`,devices:`Dispositivos`,access:`Acceso`,claims:`Reservas`,imports:`Importaciones`,profile:`Perfil`},transferTickets_one:`{{count, number}}, con su clave y sus enlaces`,transferTickets_many:`{{count, number}}, con sus claves y enlaces`,transferTickets_other:`{{count, number}}, con sus claves y enlaces`,noOne:`Nadie`,transferInvitations_one:`{{count, number}} invitación pendiente deja de incluir el proyecto`,transferInvitations_many:`{{count, number}} invitaciones pendientes dejan de incluir el proyecto`,transferInvitations_other:`{{count, number}} invitaciones pendientes dejan de incluir el proyecto`,files_one:`{{count, number}} · {{size}}`,files_many:`{{count, number}} · {{size}}`,files_other:`{{count, number}} · {{size}}`,keptProject_one:`{{count, number}} entrada de actividad y el prefijo {{key}}`,keptProject_many:`{{count, number}} entradas de actividad y el prefijo {{key}}`,keptProject_other:`{{count, number}} entradas de actividad y el prefijo {{key}}`,keptWorkspace_one:`{{count, number}} entrada de actividad y la clave de URL {{slug}}`,keptWorkspace_many:`{{count, number}} entradas de actividad y la clave de URL {{slug}}`,keptWorkspace_other:`{{count, number}} entradas de actividad y la clave de URL {{slug}}`,archivedProject:`archivado`,membersLoseAccess_one:`{{count, number}} pierde el acceso; su cuenta se conserva`,membersLoseAccess_many:`{{count, number}} pierden el acceso; sus cuentas se conservan`,membersLoseAccess_other:`{{count, number}} pierden el acceso; sus cuentas se conservan`,pendingInvitations_one:`{{count, number}} pendiente`,pendingInvitations_many:`{{count, number}} pendientes`,pendingInvitations_other:`{{count, number}} pendientes`,move:`Mover`,moveTitle:`Mover {{name}}`,moved:`Movido a {{name}}`,movedUnnamed:`Movido al espacio de trabajo`,destination:`Espacio de trabajo de destino`,moveProject:`Mover proyecto`,moving:`Moviendo…`,export:`Exportar`,exportDescription:`Los tickets con su flujo de trabajo, campos, etiquetas, relaciones, comentarios, evidencias y enlaces como JSON versionado. Los adjuntos y el historial de actividad se quedan aquí.`,exporting:`Exportando…`,exportJson:`Exportar JSON`,delete:`Eliminar`,deleteTitle:`Eliminar {{name}}`,deleted:`{{name}} eliminado`,typeToConfirm:`Escriba {{value}} para confirmar`,deleting:`Eliminando…`,deleteProject:`Eliminar proyecto`,deleteProjectDescription:`Elimina de forma permanente los tickets, comentarios y archivos. El historial de actividad se conserva y {{key}} no se vuelve a usar nunca.`,signInAgain:`Volver a iniciar sesión`,deleteWorkspace:`Eliminar espacio de trabajo`,deleteWorkspaceDescription:`Elimina de forma permanente todos los proyectos del espacio de trabajo con sus tickets, comentarios y archivos, y quita a sus miembros. Las cuentas y el historial de actividad se conservan.`,noSignInMethods:`No hay métodos de inicio de sesión vinculados`,sessions_one:`{{count, number}} sesión cerrada`,sessions_many:`{{count, number}} sesiones cerradas`,sessions_other:`{{count, number}} sesiones cerradas`,credentials_one:`{{count, number}} clave de API o conexión de aplicación revocada`,credentials_many:`{{count, number}} claves de API o conexiones de aplicación revocadas`,credentials_other:`{{count, number}} claves de API o conexiones de aplicación revocadas`,devices_one:`{{count, number}} dispositivo o canal de notificación eliminado`,devices_many:`{{count, number}} dispositivos o canales de notificación eliminados`,devices_other:`{{count, number}} dispositivos o canales de notificación eliminados`,workspaceCount_one:`{{count, number}} espacio de trabajo`,workspaceCount_many:`{{count, number}} espacios de trabajo`,workspaceCount_other:`{{count, number}} espacios de trabajo`,directProjectCount_one:`{{count, number}} proyecto directo`,directProjectCount_many:`{{count, number}} proyectos directos`,directProjectCount_other:`{{count, number}} proyectos directos`,accessWorkspaces:`Sale de {{workspaces}}`,accessBoth:`Sale de {{workspaces}} y {{projects}}`,claims_one:`{{count, number}} reserva liberada`,claims_many:`{{count, number}} reservas liberadas`,claims_other:`{{count, number}} reservas liberadas`,imports_one:`{{count, number}} importación cancelada`,imports_many:`{{count, number}} importaciones canceladas`,imports_other:`{{count, number}} importaciones canceladas`,profileErased:`Nombre, correo electrónico y foto borrados`,commentCount_one:`{{count, number}} comentario`,commentCount_many:`{{count, number}} comentarios`,commentCount_other:`{{count, number}} comentarios`,activityCount_one:`{{count, number}} entrada de actividad`,activityCount_many:`{{count, number}} entradas de actividad`,activityCount_other:`{{count, number}} entradas de actividad`,keptAccount:`{{tickets}}, {{comments}} y {{events}} mostrados como {{name}}`,deleteAccount:`Eliminar cuenta`,deleteOwnAccount:`Elimina de forma permanente su inicio de sesión, sesiones, claves, dispositivos, membresías y datos personales. Los tickets, comentarios y actividad se conservan y se muestran como {{name}}.`,deleteOtherAccount:`Elimina de forma permanente el inicio de sesión, las sesiones, las claves, los dispositivos, las membresías y los datos personales de esta cuenta. Los tickets, comentarios y actividad se conservan y se muestran como {{name}}.`},icon:{change:`Cambiar icono`,title:`Icono del proyecto`,library:`Biblioteca de iconos`,upload:`Subir imagen`,search:`Buscar iconos`,searchPlaceholder:`Buscar iconos…`,color:`Color del icono`,choose:`Elegir {{name}}`,noMatches:`No hay iconos que coincidan`,showMore:`Mostrar más iconos`,uploading:`Subiendo…`,chooseImage:`Elegir imagen`,formats:`PNG, JPEG o WebP · hasta 10 MB`,file:`Archivo del icono del proyecto`,reset:`Restablecer icono`},createProject:{title:`Nuevo proyecto`,inWorkspace:`En {{name}}`,everyoneLabel:`Todos los miembros de este espacio de trabajo`,name:`Nombre del proyecto`,namePlaceholder:`Aplicación móvil`,create:`Crear proyecto`},workspace:{title:`Configuración del espacio de trabajo`,owner:`Propietario`,noOwner:`Sin propietario. Un administrador de la instancia puede asignar uno.`,transfer:`Transferir la propiedad`,transferring:`Transfiriendo…`,transferred:`{{name}} es ahora propietario de {{workspace}}`,newOwner:`Nuevo propietario`,noEligible:`La propiedad pasa a un administrador activo del espacio de trabajo. Primero haga administrador a otro miembro.`,chosenCan:`{{name}} podrá entonces transferir o eliminar el espacio de trabajo.`,newOwnerCan:`El nuevo propietario podrá transferir o eliminar el espacio de trabajo.`,ownerStays:`{{name}} sigue siendo administrador.`,unavailable:`Espacio de trabajo no disponible`,backToProjects:`Volver a los proyectos`,name:`Nombre del espacio de trabajo`,edit:`Editar espacio de trabajo`,copyKey:`Copiar clave del espacio de trabajo`,saved:`Espacio de trabajo guardado`,projects:`Proyectos`,projectCount_one:`{{count, number}} proyecto al que tiene acceso en este espacio de trabajo.`,projectCount_many:`{{count, number}} proyectos a los que tiene acceso en este espacio de trabajo.`,projectCount_other:`{{count, number}} proyectos a los que tiene acceso en este espacio de trabajo.`,viewProjects:`Ver proyectos`,members:`Miembros`,membersDescription:`Los roles del espacio de trabajo se aplican a los proyectos que usan el acceso del espacio de trabajo.`,manageMembers:`Gestionar miembros`},members:{title:`Miembros`,customRole:`Rol personalizado`,search:`Buscar miembros`,searchPlaceholder:`Nombre o correo electrónico…`,add:`Añadir miembro`,added:`Miembro añadido`,workspaceAccess:`Acceso del espacio de trabajo`,owner:`Propietario`,roleFor:`Rol de {{name}}`,useWorkspaceAccess:`Usar el acceso del espacio de trabajo`,remove:`Quitar miembro`,removeFromWorkspace:`¿Quitar a {{name}} de este espacio de trabajo y de todos sus proyectos?`,restoreAccess:`¿Restaurar el acceso {{role}} del espacio de trabajo para {{name}}?`,removeFromProject:`¿Quitar el acceso de {{name}} al proyecto?`,noMatches:`No hay miembros que coincidan`,empty:`No hay miembros`,projectRole:`Rol en el proyecto`,workspaceRole:`Rol en el espacio de trabajo`},invitations:{title:`Invitaciones`,invite:`Invitar por correo electrónico`,removedProjects:`Proyectos eliminados`,wholeWorkspace:`Todo el espacio de trabajo`,selectedProjects:`Proyectos seleccionados`,expired:`Caducada`,expires:`Caduca <time/>`,resend:`Reenviar la invitación a {{email}}`,revoke:`Revocar invitación`,revokeDescription:`El enlace enviado a {{email}} dejará de funcionar.`,revoked:`Invitación revocada`,empty:`No hay invitaciones pendientes`,email:`Correo electrónico`,role:`Rol`,access:`Acceso`,projects:`Proyectos`,noProjects:`Este espacio de trabajo no tiene proyectos.`,linkExpires:`El enlace caduca`,inDays_one:`En {{count, number}} día`,inDays_many:`En {{count, number}} días`,inDays_other:`En {{count, number}} días`,submit:`Invitar`,link:`Enlace de invitación`,copyLink:`Copiar enlace de invitación`,emailed:`Enviado a {{email}}. El enlace funciona una sola vez, para esa dirección.`,notEmailed:`El correo electrónico no está configurado en esta instancia. Envíe este enlace a {{email}}; funciona una sola vez, para esa dirección.`,notEmailedUnknown:`El correo electrónico no está configurado en esta instancia. Envíe este enlace al destinatario; funciona una sola vez, para esa dirección.`},workspaces:{title:`Espacios de trabajo`,search:`Buscar espacios de trabajo`,searchPlaceholder:`Nombre o clave de URL…`,noMatches:`No hay espacios de trabajo que coincidan`,empty:`No hay espacios de trabajo`,workspace:`Espacio de trabajo`,administrators:`Administradores`,members:`Miembros`,projects:`Proyectos`,created:`Creado`,actions:`Acciones`,noAdministrator:`Sin administrador`,manage:`Gestionar {{name}}`,pagerNoun:`espacios de trabajo`,private:`Privado`,noProjects:`Sin proyectos`},roles:{title:`Roles`,new:`Nuevo rol`,edit:`Editar rol`,builtIn:`Integrado`,readOnly:`Ninguna acción aparte de leer`,memberships_one:`{{count, number}} membresía`,memberships_many:`{{count, number}} membresías`,memberships_other:`{{count, number}} membresías`,editNamed:`Editar el rol {{name}}`,deleteNamed:`Eliminar el rol {{name}}`,deleteUnused:`¿Eliminar el rol sin usar {{name}}?`,deleted:`Rol eliminado`,empty:`No hay roles`,saved:`Rol guardado`,name:`Nombre del rol`,actions:`Acciones`,everyoneReads:`Todos los miembros pueden leer los proyectos a los que llegan.`,changesApply_one:`Los cambios se aplican de inmediato a la {{count, number}} membresía con este rol.`,changesApply_many:`Los cambios se aplican de inmediato a las {{count, number}} membresías con este rol.`,changesApply_other:`Los cambios se aplican de inmediato a las {{count, number}} membresías con este rol.`,save:`Guardar rol`,delete:`Eliminar rol`,reassignDescription_one:`{{count, number}} membresía tiene {{name}}. Elija el rol al que se moverá.`,reassignDescription_many:`{{count, number}} membresías tienen {{name}}. Elija el rol al que se moverán.`,reassignDescription_other:`{{count, number}} membresías tienen {{name}}. Elija el rol al que se moverán.`,moveTo:`Mover a los miembros a`},theme:{mode:{light:`Claro`,dark:`Oscuro`,system:`Sistema`},aligned:`Alineado`,hexColor:`Use un color hexadecimal de seis dígitos`,contrast:{light:`Aumente el contraste del texto del tema claro a al menos 4.5:1.`,dark:`Aumente el contraste del texto del tema oscuro a al menos 4.5:1.`},fileTooLarge:`Los archivos de tema deben ocupar menos de 100 KB.`,tooMany:`Mantenga 50 temas personalizados como máximo.`},appearance:{colorScheme:`Esquema de color`,theme:`Tema`,themes:`Temas`,colorTheme:`Tema de color`,search:`Buscar temas`,searchPlaceholder:`Buscar temas…`,create:`Crear tema`,add:`Añadir tema`,importFile:`Importar archivo de tema`,useMode:{light:`Usar el modo claro de {{name}}`,dark:`Usar el modo oscuro de {{name}}`},modeOnly:{light:`Usar solo para el modo claro`,dark:`Usar solo para el modo oscuro`},copyName:`Copia de {{name}}`,duplicate:`Duplicar {{name}}`,edit:`Editar {{name}}`,export:`Exportar {{name}}`,delete:`Eliminar {{name}}`,deleteDescription:`¿Quitar {{name}} de este navegador? Las apariencias clara u oscura que lo usan volverán a su tema base.`,noMatches:`No hay temas que coincidan`,customTheme:`Tema personalizado`,name:`Nombre del tema`,paletteColor:`{{color}} ({{mode, lowercase}})`,color:{background:`Fondo`,foreground:`Texto`,sidebar:`Barra lateral`,primary:`Acento`,primaryForeground:`Texto de acento`},save:`Guardar tema`},color:{swatch:`{{label}}: {{color}}`,removeCustom:`Quitar {{hex}} de los colores personalizados`,custom:`Color personalizado`,default:`predeterminado`,red:`rojo`,orange:`naranja`,amber:`ámbar`,yellow:`amarillo`,lime:`lima`,green:`verde`,emerald:`esmeralda`,teal:`verde azulado`,cyan:`cian`,sky:`celeste`,blue:`azul`,indigo:`índigo`,violet:`violeta`,purple:`morado`,fuchsia:`fucsia`,pink:`rosa`,rose:`rosa palo`,gray:`gris`}},admin:{instance:{title:`Administración`,heading:`Instancia`,edit:`Editar instancia`,name:`Nombre`,description:`Descripción`,noDescription:`Sin descripción`,version:`Versión de la aplicación`,publicUrl:`URL pública`,provider:{local:`Almacenamiento local en PostgreSQL`,s3:`Almacenamiento de objetos compatible con S3`,postgres:`PostgreSQL integrado`,elasticsearch:`Búsqueda compatible con Elasticsearch`},section:{storage:`Almacenamiento de archivos`,search:`Búsqueda de tickets`,events:`Entrega de eventos`},viewConfiguration:`Ver configuración`,configure:{storage:`Configurar almacenamiento`,search:`Configurar búsqueda`,events:`Configurar entrega de eventos`},providerTitle:`Proveedor`,deploymentManaged:`Gestionado por el despliegue`,instanceManaged:`Gestionado por la instancia`,transfers:`Transferencias`,indexStatus:`Estado del índice`,connection:`Conexión`,transfersS3:`Los archivos pasan al almacenamiento de objetos después de guardarse localmente.`,transfersLocal:`Los archivos nuevos se almacenan en PostgreSQL.`,searchBuiltIn:`La búsqueda se ejecuta directamente en PostgreSQL.`,searchIndexed:`Los cambios de tickets se indexan en segundo plano.`,eventsConnection:`Las notificaciones activan a los consumidores; PostgreSQL conserva el historial de reproducción.`,builtIn:`Integrado`,connected:`Conectado`,upToDate:`Al día`,status:{ready:`listo`,transferring:`transfiriendo`,indexing:`indexando`,connecting:`conectando`,unavailable:`no disponible`},pendingTransfers:`Transferencias pendientes`,pendingRemain:`Estos archivos siguen disponibles desde PostgreSQL hasta que termine la transferencia.`,noPending:`No hay archivos pendientes de transferencia.`,bucket:`Bucket`,storageEndpoint:`Endpoint de almacenamiento`,backup:`Copia de seguridad`,backupBuckets:`Haga copia de seguridad de PostgreSQL y de cada bucket de almacenamiento de objetos referenciado.`,backupDatabase:`Los bytes de los archivos se incluyen en la copia de seguridad de PostgreSQL.`,fallback:`Alternativa`,fallbackDescription:`La búsqueda de PostgreSQL está disponible mientras un índice externo está atrasado o sin conexión.`,searchEndpoint:`Endpoint de búsqueda`,index:`Índice`,delivery:`Entrega`,deliveryDescription:`Los eventos duraderos y su reproducción permanecen en PostgreSQL. Un broker opcional distribuye las activaciones.`,brokerEndpoint:`Endpoint del broker`,exchange:`Exchange`},configure:{storageTitle:`Configurar almacenamiento de archivos`,searchTitle:`Configurar búsqueda de tickets`,eventsTitle:`Configurar entrega de eventos`,saved:`Configuración de la instancia guardada`,instanceName:`Nombre de la instancia`,instanceDescription:`Descripción de la instancia`,publicUrlSource:`La URL pública la define KANVIL_URL en su despliegue.`,storageIntro:`Los adjuntos y las fotos de perfil usan este proveedor. Los archivos existentes conservan su ubicación de almacenamiento original.`,storageProvider:`Proveedor de almacenamiento`,localDescription:`Los bytes de los archivos se almacenan en la base de datos local y se incluyen en las copias de seguridad de PostgreSQL.`,s3Endpoint:`Endpoint de S3`,s3EndpointHint:`Deje el endpoint vacío para Amazon S3.`,region:`Región`,prefix:`Prefijo de las claves de objeto`,accessKeyId:`ID de clave de acceso`,secretAccessKey:`Clave de acceso secreta`,savedSecret:`Guardado. Déjelo vacío para conservarlo.`,deploymentCredentials:`Credenciales del despliegue si se omiten`,pathStyle:`Usar URL de bucket con estilo de ruta`,storageVerified:`Conexión de almacenamiento verificada`,testStorage:`Probar la conexión de almacenamiento`,filesWaiting_one:`{{count, number}} archivo pendiente de transferencia. Los archivos pendientes siguen pudiéndose leer desde PostgreSQL.`,filesWaiting_many:`{{count, number}} archivos pendientes de transferencia. Los archivos pendientes siguen pudiéndose leer desde PostgreSQL.`,filesWaiting_other:`{{count, number}} archivos pendientes de transferencia. Los archivos pendientes siguen pudiéndose leer desde PostgreSQL.`,transfersComplete:`Se completaron todas las transferencias de archivos.`,storageDeployment:`El almacenamiento se configura con KANVIL_STORAGE_PROVIDER y las variables de despliegue S3_*.`,locations:`Ubicaciones de almacenamiento existentes`,locationFiles_one:`{{count, number}} archivo`,locationFiles_many:`{{count, number}} archivos`,locationFiles_other:`{{count, number}} archivos`,cleanUp:`Limpiar archivos sin usar`,cleanUpConfirm:`¿Quitar los archivos sin referencias y las subidas fallidas de más de un día? Se conservan los archivos adjuntos a tickets o perfiles.`,cleanUpNote:`La limpieza también se ejecuta automáticamente. Los objetos de S3 requieren una copia de seguridad del bucket además de la de la base de datos.`,searchProvider:`Proveedor de búsqueda`,searchBuiltIn:`Búsqueda integrada de PostgreSQL`,indexName:`Nombre del índice de Kanvil`,searchAuthentication:`Autenticación de búsqueda`,noAuthentication:`Sin autenticación`,apiKey:`Clave de API`,basic:`Usuario y contraseña`,searchApiKey:`Clave de API de búsqueda`,optional:`Opcional`,searchUsername:`Usuario de búsqueda`,searchPassword:`Contraseña de búsqueda`,searchVerified:`Conexión de búsqueda verificada`,testSearch:`Probar la conexión de búsqueda`,rebuildQueued:`Reconstrucción de la búsqueda en cola`,rebuild:`Reconstruir índice`,searchNote:`PostgreSQL sigue siendo la referencia para permisos y filtros. La búsqueda recurre a PostgreSQL mientras un índice externo se pone al día o no está disponible.`,brokerProvider:`Proveedor de entrega de eventos`,brokerBuiltIn:`Notificaciones integradas de PostgreSQL`,rabbitUrl:`URL de conexión de RabbitMQ`,savedBrokerEndpoint:`Endpoint del broker guardado`,rabbitExchange:`Exchange de RabbitMQ`,brokerVerified:`Entrega de RabbitMQ verificada`,testBroker:`Probar la conexión del broker`,brokerNote:`RabbitMQ distribuye las activaciones de eventos confirmados a las instancias de Kanvil y activa los procesos en segundo plano. PostgreSQL conserva los eventos duraderos y el trabajo pendiente, y entrega las activaciones cuando el broker no está disponible.`,brokerDeployment:`La entrega de eventos se configura con KANVIL_BROKER_PROVIDER y las variables de despliegue RABBITMQ_*.`,save:`Guardar la configuración de la instancia`},authentication:{title:`Autenticación`,saved:`Autenticación guardada`,emailPassword:`Inicio de sesión con correo electrónico y contraseña`,emailPasswordDescription:`Incluye códigos de inicio de sesión por correo electrónico y restablecimiento de contraseña.`,ssoProvision:`Crear usuarios automáticamente desde SSO`,ssoProvisionDescription:`Los nuevos usuarios de SSO no tienen acceso a espacios de trabajo ni proyectos hasta que se les invite.`,registration:`Registro público por correo electrónico`,registrationClosed:`Cerrado`,identityProvider:`Proveedor de identidad`,notConfigured:`Sin configurar`,linkedProviders:`Proveedores de cuentas vinculadas`,linkedProvidersDescription:`Solo inician sesión en cuentas que los han vinculado; nunca crean cuentas.`,save:`Guardar autenticación`,discoveryUrl:`URL de descubrimiento de OIDC`,clientId:`ID de cliente de OIDC`,oidcSetup:`Configure OIDC_DISCOVERY_URL, OIDC_CLIENT_ID, OIDC_CLIENT_SECRET y OIDC_NAME, o un par CLIENT_ID y CLIENT_SECRET de GITHUB_, GOOGLE_ o DISCORD_, en su despliegue y reinicie Kanvil. Los secretos del proveedor nunca se devuelven al navegador.`,consumers:`Interfaces para consumidores`,mcpEndpoint:`Endpoint de MCP`,eventFeed:`Feed de eventos en tiempo real`,openApi:`Especificación OpenAPI`},users:{title:`Usuarios`,search:`Buscar usuarios`,searchPlaceholder:`Nombre o correo electrónico…`,new:`Nuevo usuario`,roleFilter:`Filtro de rol en la instancia`,allRoles:`Todos los roles`,administrators:`Administradores`,users:`Usuarios`,statusFilter:`Filtro de estado de la cuenta`,allAccounts:`Todas las cuentas`,active:`Activa`,disabled:`Desactivada`,noMatches:`No hay usuarios que coincidan`,empty:`No hay usuarios`,user:`Usuario`,role:`Rol`,status:`Estado`,joined:`Alta`,actions:`Acciones`,administrator:`Administrador`,manage:`Gestionar {{name}}`,pagerNoun:`usuarios`,create:`Crear cuenta`,creating:`Creando…`,created:`{{email}} creado`,name:`Nombre`,email:`Correo electrónico`,initialPassword:`Contraseña inicial`,instanceRole:`Rol en la instancia`},account:{details:`Detalles de la cuenta`,joined:`Alta el {{date}}`,edit:`Editar cuenta`,instanceRole:`Rol en la instancia`,adminDescription:`Puede administrar todos los espacios de trabajo, cuentas y ajustes del despliegue.`,userDescription:`Los roles de espacio de trabajo y de proyecto determinan el acceso.`,changeRole:`Cambiar rol`,changeRoleTitle:`Cambiar el rol en la instancia`,signInMethods:`Métodos de inicio de sesión`,setPassword:`Definir contraseña local`,activeSessions:`Sesiones activas`,sessions_one:`{{count, number}} sesión`,sessions_many:`{{count, number}} sesiones`,sessions_other:`{{count, number}} sesiones`,revokeSessions:`Revocar sesiones`,revokeConfirm:`¿Cerrar la sesión de {{name}} en todos los dispositivos? Las claves de API siguen activas.`,sessionsRevoked:`Sesiones revocadas`,access:`Acceso a la cuenta`,accessDisabled:`El inicio de sesión y el acceso a la API están desactivados.`,accessPreserved:`Desactivar una cuenta conserva los tickets y el historial de actividad.`,enable:`Activar cuenta`,disable:`Desactivar cuenta`,enableConfirm:`¿Restaurar el inicio de sesión de {{name}}?`,disableConfirm:`¿Desactivar el inicio de sesión y el acceso a la API de {{name}} y revocar sus sesiones?`,enabled:`Cuenta activada`,disabledToast:`Cuenta desactivada`,updateFailed:`No se pudo actualizar la cuenta`,workspaces:`Espacios de trabajo`,addToWorkspace:`Añadir a un espacio de trabajo`,noWorkspaces:`Sin pertenencia a espacios de trabajo`,projectAccess:`Acceso directo a proyectos`,updated:`Cuenta actualizada`,roleUpdated:`Rol en la instancia actualizado`,workspaceAdded:`Acceso al espacio de trabajo añadido`,passwordMismatch:`Las nuevas contraseñas no coinciden.`,passwordSet:`Contraseña local definida y sesiones revocadas`,name:`Nombre`,email:`Correo electrónico`,user:`Usuario`,administrator:`Administrador`,adminsNote:`Los administradores pueden gestionar todos los espacios de trabajo, usuarios y ajustes de la instancia.`,workspace:`Espacio de trabajo`,workspaceRole:`Rol en el espacio de trabajo`,newPassword:`Nueva contraseña`,confirmPassword:`Confirmar nueva contraseña`,passwordNote:`Esto define una contraseña local y cierra la sesión del usuario en todos los dispositivos.`,save:`Guardar cambios`},delivery:{field:{address:`Dirección de correo electrónico`,server:`Servidor`,topic:`Tema`,accessToken:`Token de acceso`,applicationToken:`Token de aplicación`,endpointUrl:`URL del endpoint`,signingSecret:`Secreto de firma`,incomingWebhookUrl:`URL del webhook entrante`,webhookUrl:`URL del webhook`,channel:`Canal`,botToken:`Token del bot`,chatId:`ID del chat`,chatIdPlaceholder:`-1001234567890 o @canal`,topicId:`ID del tema`,optional:`{{label}} (opcional)`,removeSaved:`Quitar {{label, lowercase}} guardado`,savedSecret:`Guardado · déjelo en blanco para conservarlo`},failure:{blockedAddress:`Esta dirección no está permitida`,redirectBlocked:`El endpoint redirigió`,dnsError:`Host no encontrado`,networkError:`No se pudo conectar`,timeout:`Tiempo de espera agotado`,invalidEndpoint:`Endpoint no válido`,emailUnavailable:`El correo electrónico no está configurado en este servidor`,smtpError:`Servidor de correo no disponible`,accessRevoked:`El administrador que lo conectó perdió el acceso; vuelva a conectarlo`,repositoryMismatch:`Una entrega procedía de otro repositorio`,http:`Rechazado con HTTP {{status}}`,smtp:`El servidor de correo respondió {{code}}`},health:{delivery:{done:`Entregado <time/>`,pending:`Enviando…`,none:`Aún no se ha enviado nada`,failed:`{{reason}}`},access:{done:`Acceso comprobado <time/>`,pending:`Comprobando el acceso…`,none:`Acceso sin comprobar`,failed:`Comprobación de acceso: {{reason}}`},retrying:`reintentando`},paused:`En pausa`,failing:`Con errores`,sendTest:`Enviar prueba a {{name}}`,testQueued:`Prueba en cola`,resume:`Reanudar {{name}}`,pause:`Pausar {{name}}`,edit:`Editar {{name}}`,disconnect:`Desconectar {{name}}`,disconnected:`{{name}} desconectado`,name:`Nombre`,type:`Tipo`,channels:`Canales`,addChannel:`Añadir canal`,noChannels:`No hay canales`,editChannel:`Editar canal`,channelSaved:`Canal guardado`,channelRemoval:`¿Desconectar {{name}}? Se descartan su configuración y las notificaciones en cola.`,sendFrom:`Enviar notificaciones de`,routeOff:`Nada`,routeAll:`Todos los proyectos`,routeSelected:`Proyectos seleccionados`,saveChannel:`Guardar canal`,adminsOnly:`Los administradores del proyecto gestionan las integraciones`,destinations:`Destinos`,addDestination:`Añadir destino`,noDestinations:`No hay destinos`,editDestination:`Editar destino`,destinationSaved:`Destino guardado`,destinationRemoval:`¿Desconectar {{name}}? Se descartan su configuración y los mensajes en cola.`,send:`Enviar`,saveDestination:`Guardar destino`},repository:{setup:{github:`El token necesita acceso de lectura al repositorio y acceso de escritura a incidencias y pull requests para comentar o sincronizar incidencias. Añada un webhook de GitHub con la URL copiada de la fila de este repositorio, el tipo de contenido application/json, este secreto y los eventos Branch or tag creation, Branch or tag deletion, Issues, Issue comments y Pull requests.`,gitea:`El token necesita el ámbito read:repository, y write:issue para comentar o sincronizar incidencias. Añada un webhook de Gitea con la URL copiada de la fila de este repositorio, el tipo de contenido application/json, este secreto y los eventos Create, Delete, Issues, Issue Label, Issue Comment y Pull Request.`,gitlab:`El token necesita el ámbito read_api, y api para comentar o sincronizar incidencias. Añada un webhook de GitLab con la URL copiada de la fila de este repositorio, este token secreto y los eventos Push, Issues, Comments y Merge request.`},noWebhook:`No se ha recibido ningún webhook`,webhookReceived:`Webhook recibido <time/>`,saved:`Repositorio guardado`,title:`Repositorios`,connect:`Conectar repositorio`,empty:`No hay repositorios`,checkAccess:`Comprobar el acceso a {{repository}}`,accessQueued:`Comprobación de acceso en cola`,copyWebhook:`Copiar la URL del webhook de {{repository}}`,issueSync:`Sincronización de incidencias de {{repository}}`,removal:`¿Desconectar {{repository}}? Su webhook deja de funcionar de inmediato. Los enlaces que añadió se quedan en sus tickets.`,edit:`Editar repositorio`,host:`Host`,serverUrl:`URL del servidor`,serverUrlOptional:`URL del servidor (opcional)`,repository:`Repositorio de {{host}}`,nestedPlaceholder:`grupo/proyecto`,placeholder:`propietario/repositorio`,accessToken:`Token de acceso`,webhookSecret:`Secreto del webhook`,savedSecret:`Guardado · déjelo en blanco para conservarlo`,commentOnLink:{pull_request:`Comentar en las incidencias y pull requests recién vinculadas`,merge_request:`Comentar en las incidencias y merge requests recién vinculadas`},moveTickets:`Mover los tickets vinculados`,noMove:`No mover`,save:`Guardar repositorio`},issueSync:{reason:{labels:`Sus etiquetas de sincronización cambiaron`,conflict:`Cambiado en ambos lados`,changedWhilePaused:`La incidencia cambió mientras el repositorio estaba en pausa`,unverified:`La respuesta del host no confirmó el cambio`,claimConflict:`El ticket está reservado`,invalidContent:`La incidencia es más larga de lo que permite un ticket`},issuesSyncing_one:`{{count, number}} incidencia sincronizándose`,issuesSyncing_many:`{{count, number}} incidencias sincronizándose`,issuesSyncing_other:`{{count, number}} incidencias sincronizándose`,linksStopped_one:`{{count, number}} vínculo detenido`,linksStopped_many:`{{count, number}} vínculos detenidos`,linksStopped_other:`{{count, number}} vínculos detenidos`,match:`Coincidencia`,matchAny:`Cualquiera de estas etiquetas`,matchAll:`Todas estas etiquetas`,preview:{matching:`Siguen sincronizándose`,export:`Incidencias nuevas que se crearán`,pause:`Vínculos que se pausarán`,review:`Vínculos que revisar`},applied:`Sincronización de incidencias aplicada`,title:`Sincronización de incidencias · {{repository}}`,outbound:`De Kanvil a {{host}}`,exportTickets:`Exportar tickets como incidencias`,exportDescription:`Los tickets abiertos obtienen una incidencia nueva; el título, la descripción, el estado y los comentarios nuevos se mantienen sincronizados.`,ticketLabels:`Solo tickets con estas etiquetas`,everyTicket:`Todos los tickets abiertos`,inbound:`De {{host}} a Kanvil`,importIssues:`Importar incidencias como tickets`,importDescription:`Las incidencias abiertas se importan la próxima vez que {{host}} las informe.`,issueLabels:`Solo incidencias con estas etiquetas`,everyIssue:`Todas las incidencias abiertas`,previewLabel:`Vista previa`,previewAction:`Previsualizar`,stopped:`Vínculos detenidos · {{repository}}`,review:`Revisar`,linkRemoved:`Vínculo eliminado`,resumed:`Sincronización reanudada`,open:`Abierta`,closed:`Cerrada`,reviewTitle:`Revisar {{key}}`,mayExist:`Puede que {{host}} ya tenga esta incidencia; compruébelo antes de volver a crearla.`,comparison:`Comparación`,field:{title:`título`,description:`descripción`,state:`estado`},notReported:`No informado`,unlink:`Desvincular`,keepHost:`Conservar {{host}}`,keepKanvil:`Conservar Kanvil`,createAgain:`Volver a crear la incidencia`,unlinkTicket:`Desvincular {{key}}`,unlinkConfirm:`¿Dejar de sincronizar {{key}}? Se conservan tanto el ticket como la incidencia.`},import:{count:{tickets:`Tickets`,workflow:`Estados del flujo`,fields:`Campos personalizados`,labels:`Etiquetas`,relations:`Relaciones`,comments:`Comentarios`,evidence:`Evidencias`,links:`Enlaces`},notExport:`Este archivo no es una exportación de tickets de Kanvil.`,progress_one:`{{status}} · {{done, number}} de {{count, number}} registro`,progress_many:`{{status}} · {{done, number}} de {{count, number}} registros`,progress_other:`{{status}} · {{done, number}} de {{count, number}} registros`,progressFailed_one:`{{status}} · {{done, number}} de {{count, number}} registro · {{failed, number}} con errores`,progressFailed_many:`{{status}} · {{done, number}} de {{count, number}} registros · {{failed, number}} con errores`,progressFailed_other:`{{status}} · {{done, number}} de {{count, number}} registros · {{failed, number}} con errores`,title:`Importar`,description:`Crea un proyecto a partir de una exportación de tickets de Kanvil o de otro sistema de seguimiento: Linear, Jira, Trello, Plane, PLANKA o Kaneo.`,action:`Importar proyecto`,detailsOf:`Detalles de {{name}}`,details:`Detalles`,exportFile:`Archivo de exportación de Kanvil`,source:`Origen`,file:`Archivo de exportación`,jiraEdition:`Edición de Jira`,siteUrl:`URL del sitio`,accountEmail:`Correo electrónico de la cuenta`,apiKey:`Clave de API`,apiToken:`Token de API`,personalToken:`Token de acceso personal`,token:`Token`,apiUrl:`URL de la API`,workspaceSlug:`Clave de URL del espacio de trabajo`,signInWith:`Iniciar sesión con`,username:`Usuario o correo electrónico`,password:`Contraseña`,checkConnection:`Compruebe los datos de conexión`,noProjects:`Estas credenciales no pueden leer ningún elemento de tipo {{label, lowercase}}.`,includeComments:`Incluir comentarios`,projectName:`Nombre del proyecto`,start:`Importar`,connect:`Conectar`,preview:`Vista previa`,starting:`Iniciando…`,connecting:`Conectando…`,checking:`Comprobando…`,matched:`Personas emparejadas`,unmatched:`Personas sin emparejar`,previewLabel:`Vista previa de la importación`,errorPrefix:`Error: `,notePrefix:`Nota: `,progressLabel:`Progreso de la importación`,notImported:`Registros no importados`,stop:`Detener importación`,openProject:`Abrir proyecto`}},native:{labelValue:`{{label}}: {{value}}`,ui:{dismiss:`Descartar`,loading:`Cargando`},server:{url:`URL del servidor`,connect:`Conectar`,change:`Cambiar de servidor`,invalidOrigin:`Use el origen HTTP o HTTPS de su servidor de Kanvil, sin ruta ni credenciales.`,httpsRequired:`Use HTTPS para conectarse a su servidor de Kanvil.`},login:{setupTitle:`Cree su cuenta de propietario`,signIn:`Iniciar sesión`,signingIn:`Iniciando sesión…`,createAccount:`Crear cuenta`,signInWith:`Iniciar sesión con {{provider}}`,name:`Nombre`,setupToken:`Token de configuración`,email:`Correo electrónico`,password:`Contraseña`},connection:{connecting:`conectando`,connected:`● En directo`,offline:`Sin conexión · datos en caché`,closed:`cerrada`,signedOut:`Inicie sesión para reconectar`},screen:{projects:`Proyectos`,inbox:`Bandeja de entrada`,settings:`Configuración`,tickets:`Tickets`,ticket:`Ticket`,newTicket:`Nuevo ticket`,editTicket:`Editar ticket`},projects:{empty:`Aún no hay proyectos`,new:`Nuevo proyecto`,name:`Nombre del proyecto`,prefix:`Prefijo de tickets`,description:`Descripción`,create:`Crear proyecto`},tickets:{search:`Buscar tickets`,searchPlaceholder:`Título, descripción o clave`,allStatuses:`Todos los estados`,empty:`No hay tickets que coincidan`,count:`{{shown}} de {{total}}`},ticket:{priority:`Prioridad {{priority, lowercase}}`,noDifficulty:`Dificultad sin especificar`,version:`v{{version}}`,starts:`Empieza el {{date}}`,due:`Vence el {{date}}`},editor:{stale:`Este ticket ha cambiado. Su borrador guardado sigue usando la versión {{version}}.`,discardDraft:`Descartar borrador y recargar`,title:`Título`,noDifficulty:`Sin especificar`,labels:`Etiquetas (separadas por comas)`,scopes:`Ámbitos (separados por comas)`,editMarkdown:`Editar Markdown`,previewMarkdown:`Previsualizar Markdown`,description:`Descripción (Markdown)`,acceptanceCriteria:`Criterios de aceptación (Markdown)`,parent:`ID del ticket padre`,automationReady:`Listo para agentes cuando los requisitos y dependencias lo permitan`,holdReason:`Motivo de espera`,draftSaved:`Borrador guardado en este dispositivo`,save:`Guardar ticket`},detail:{archived:`Archivado`,subscribe:`Suscribirse`,unsubscribe:`Cancelar suscripción`,share:`Compartir`,description:`Descripción`,noDescription:`_Sin descripción_`,acceptanceCriteria:`Criterios de aceptación`,noAcceptanceCriteria:`_Sin criterios de aceptación_`,fields:`Campos`,archive:{action:`Archivar ticket`,title:`¿Archivar el ticket?`,message:`¿Quitar este ticket de las listas activas y de la disponibilidad para agentes?`},unarchive:{action:`Desarchivar ticket`,title:`¿Desarchivar el ticket?`,message:`¿Devolver este ticket a las listas activas?`}},readiness:{title:`Preparación para agentes`,ready:`Listo para reservar`,notReady:`No está listo para reservar`,hold:`En espera: {{reason}}`,claimed:`Reservado por {{worker}} hasta {{time}}.`,release:{action:`Liberar mi reserva`,title:`¿Liberar la reserva?`,message:`Detenga su ejecutor antes de liberar la propiedad.`,confirm:`Liberar`},recover:{action:`Recuperar reserva caducada`,explanation:`Solo un administrador del proyecto puede recuperar una reserva caducada. Confirme primero que el ejecutor se ha detenido.`,reason:`Motivo de la recuperación`,confirm:`Ejecutor detenido · recuperar`}},relations:{title:`Relaciones`,parent:`Padre · {{key}} · {{title}}`,openParent:`Abrir el ticket padre`,children:`Tickets hijos`,previousChildren:`Hijos anteriores`,nextChildren:`Hijos siguientes`,remove:`Quitar relación`,removeTitle:`¿Quitar la relación?`,add:`Añadir relación`,find:`Buscar ticket`,type:`Relación`,ticket:`Ticket`,choose:`Elegir un ticket`},discussion:{title:`Conversación`,previous:`Comentarios anteriores`,next:`Comentarios siguientes`,field:`Comentario (Markdown)`,submit:`Comentar`,you:`Usted`,edit:`Editar comentario`,editField:`Comentario`,delete:`Eliminar comentario`,deleteTitle:`¿Eliminar el comentario?`,deleteMessage:`¿Quitar este comentario de forma permanente?`,save:`Guardar comentario`},attachments:{title:`Adjuntos`,item:`{{name}} · {{size}} kB`,remove:`Quitar {{name}}`,removeTitle:`¿Quitar el adjunto?`,working:`Procesando…`,add:`Añadir adjunto`,tooLarge:`Elija un archivo de 10 MB como máximo.`,sharingUnavailable:`No se pueden compartir archivos en este dispositivo.`},evidence:{title:`Evidencias`,explanation:`Los resultados los informan las cuentas que los envían.`,add:`Añadir evidencia`,name:`Título`,url:`URL`,outcome:`Resultado informado`,commit:`Commit (hash completo)`,note:`Nota`,save:`Guardar evidencia`},activity:{title:`Actividad`,previous:`Actividad anterior`,next:`Actividad siguiente`},inbox:{markAllRead:`Marcar todo como leído`,empty:`No hay notificaciones`},notifications:{title:`Notificaciones`,inApp:`Actualizaciones de tickets suscritos en la Bandeja de entrada`,push:`Notificaciones push`,enableDevice:`Activar push en este dispositivo`,disableDevice:`Desactivar push en este dispositivo`,unconfigured:`Esta compilación necesita un ID de proyecto de Expo y la configuración de firma para push.`,noProjectId:`Esta compilación necesita un ID de proyecto de Expo para las notificaciones push.`,permissionDenied:`Permita las notificaciones en los ajustes del dispositivo para activar push.`,channel:`Actualizaciones de tickets`},settings:{password:{title:`Contraseña local`,current:`Contraseña actual`,new:`Nueva contraseña`,change:`Cambiar contraseña`,updated:`Contraseña actualizada; se revocaron las demás sesiones`},oidc:{linked:`Cuenta vinculada`,explanation:`Vincule esta cuenta antes de iniciar sesión con este proveedor.`,link:`Vincular {{provider}}`},signOut:{action:`Cerrar sesión`,title:`¿Cerrar sesión?`,message:`Los tickets en caché y los borradores de esta cuenta se eliminarán de este dispositivo.`},changeServer:{title:`¿Cambiar de servidor?`,message:`¿Cerrar sesión y borrar la caché local y los borradores de esta cuenta?`}}}};export{e as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./chunk-NGNAAXSQ-C2Wy9Xmz.js";export{O as createEventModelingServices}from"./mermaid-parser.core-B5c-1CnP.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./src-BWF7jMDv.js";import"./chunk-DSNLSHJZ-DTC3y9rb.js";import"./chunk-7S6XSTFO-CpdNd6Ke.js";import"./chunk-YZO67HFG-C0ptzlKO.js";import"./chunk-AQDTSKZB-CpyuSWt8.js";import"./chunk-UHW7PFBP-D79ptlTN.js";import"./chunk-HAGFOTED-Bv8PrMYK.js";import"./chunk-ZAUX2LTX-ah8U5xoJ.js";import"./chunk-WQQL4CDK-DAGuWzS3.js";import"./chunk-55XCU76K-DnKiFpYM.js";import"./chunk-XXDRQBXY-CnbRkih_.js";import"./chunk-VQ5W62QI-B8hWFCiM.js";import"./chunk-HNE4Q36P-CDDJ_yRa.js";export{n as diagram}from"./chunk-NQOKRVIF-lNtnsWHS.js";import"./mermaid.core-vGVkgzA3.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{i as e}from"./rolldown-runtime-COiEfhsA.js";import{Mn as t}from"./default-D5TdIZQS.js";import{Ca as n,It as r,vi as i}from"./search-D94SZwrC.js";var a=e(t(),1);function o(e={}){let{highlightItemOnHover:t,highlightedIndex:o,onHighlightedIndexChange:s}=i(),{ref:c,index:l}=r(e),u=o===l,d=a.useRef(null),f=n(c,d);return{compositeProps:{tabIndex:u?0:-1,onFocus(){s(l)},onMouseMove(){let e=d.current;if(!t||!e)return;let n=e.hasAttribute(`disabled`)||e.ariaDisabled===`true`;!u&&!n&&e.focus()}},compositeRef:f,index:l}}function s(e,t){let n=e.get(t);return typeof n==`string`?n:``}function c(e){e.key!==`Enter`||!e.ctrlKey&&!e.metaKey||e.nativeEvent.isComposing||e.defaultPrevented||(e.preventDefault(),l(e.currentTarget))}function l(e){e&&!e.querySelector(`button[type="submit"]:disabled`)&&e.requestSubmit()}export{o as i,l as n,c as r,s as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{$ as e,H as t,N as n}from"./core-jXc03Sty.js";var r=()=>{let r={string:{unit:`caractères`,verb:`avoir`},file:{unit:`octets`,verb:`avoir`},array:{unit:`éléments`,verb:`avoir`},set:{unit:`éléments`,verb:`avoir`}};function i(e){return r[e]??null}let a={regex:`expression régulière`,email:`adresse e-mail`,url:`URL`,emoji:`emoji`,uuid:`UUID`,uuidv4:`UUIDv4`,uuidv6:`UUIDv6`,nanoid:`nanoid`,guid:`GUID`,cuid:`cuid`,cuid2:`cuid2`,ulid:`ULID`,xid:`XID`,ksuid:`KSUID`,datetime:`date et heure ISO`,date:`date ISO`,time:`heure ISO`,duration:`durée ISO`,ipv4:`adresse IPv4`,ipv6:`adresse IPv6`,mac:`adresse MAC`,cidrv4:`plage IPv4`,cidrv6:`plage IPv6`,base64:`chaîne de caractères encodée en base64`,base64url:`chaîne de caractères encodée en base64url`,json_string:`chaîne de caractères JSON`,e164:`numéro au format E.164`,credit_card:`numéro de carte de crédit`,currency_code:`code de devise`,iban:`IBAN`,jwt:`JWT`,template_literal:`entrée`},o={string:`chaîne de caractères`,number:`nombre`,int:`entier`,boolean:`booléen`,bigint:`grand entier`,symbol:`symbole`,undefined:`indéfini`,null:`null`,never:`jamais`,void:`vide`,date:`date`,array:`tableau`,object:`objet`,tuple:`tuple`,record:`record`,map:`map`,set:`ensemble`,file:`fichier`,nonoptional:`non optionnel`,nan:`NaN`,function:`fonction`};return r=>{switch(r.code){case`invalid_type`:{let e=o[r.expected]??r.expected,n=t(r.input),i=o[n]??n;return/^[A-Z]/.test(r.expected)?`Entrée invalide : instance de ${r.expected} attendu, ${i} reçu`:`Entrée invalide : ${e} attendu, ${i} reçu`}case`invalid_value`:return r.values.length===1?`Entrée invalide : ${e(r.values[0])} attendu`:`Option invalide : une valeur parmi ${n(r.values,`|`)} attendue`;case`too_big`:{let e=r.inclusive?`<=`:`<`,t=i(r.origin);return t?`Trop grand : ${o[r.origin]??`valeur`} doit ${t.verb} ${e}${r.maximum.toString()} ${t.unit??`élément(s)`}`:`Trop grand : ${o[r.origin]??`valeur`} doit être ${e}${r.maximum.toString()}`}case`too_small`:{let e=r.inclusive?`>=`:`>`,t=i(r.origin);return t?`Trop petit : ${o[r.origin]??`valeur`} doit ${t.verb} ${e}${r.minimum.toString()} ${t.unit}`:`Trop petit : ${o[r.origin]??`valeur`} doit être ${e}${r.minimum.toString()}`}case`invalid_format`:{let e=r;return e.format===`starts_with`?`Chaîne de caractères invalide : doit commencer par "${e.prefix}"`:e.format===`ends_with`?`Chaîne de caractères invalide : doit se terminer par "${e.suffix}"`:e.format===`includes`?`Chaîne de caractères invalide : doit inclure "${e.includes}"`:e.format===`regex`?`Chaîne de caractères invalide : doit correspondre au motif ${e.pattern}`:`${a[e.format]??r.format} invalide`}case`not_multiple_of`:return`Nombre invalide : doit être un multiple de ${r.divisor}`;case`unrecognized_keys`:return`Clé${r.keys.length>1?`s`:``} non reconnue${r.keys.length>1?`s`:``} : ${n(r.keys,`, `)}`;case`invalid_key`:return`Clé invalide dans ${r.origin}`;case`invalid_union`:return`Entrée invalide`;case`invalid_element`:return`Valeur invalide dans ${r.origin}`;default:return`Entrée invalide`}}};function i(){return{localeError:r()}}export{i as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{c as e,l as t,o as n,s as r}from"./en-US-DKYSujv3.js";import{Et as i}from"./index-DoqlyejP.js";var a={lessThanXSeconds:{one:`moins d’une seconde`,other:`moins de {{count}} secondes`},xSeconds:{one:`1 seconde`,other:`{{count}} secondes`},halfAMinute:`30 secondes`,lessThanXMinutes:{one:`moins d’une minute`,other:`moins de {{count}} minutes`},xMinutes:{one:`1 minute`,other:`{{count}} minutes`},aboutXHours:{one:`environ 1 heure`,other:`environ {{count}} heures`},xHours:{one:`1 heure`,other:`{{count}} heures`},xDays:{one:`1 jour`,other:`{{count}} jours`},aboutXWeeks:{one:`environ 1 semaine`,other:`environ {{count}} semaines`},xWeeks:{one:`1 semaine`,other:`{{count}} semaines`},aboutXMonths:{one:`environ 1 mois`,other:`environ {{count}} mois`},xMonths:{one:`1 mois`,other:`{{count}} mois`},aboutXYears:{one:`environ 1 an`,other:`environ {{count}} ans`},xYears:{one:`1 an`,other:`{{count}} ans`},overXYears:{one:`plus d’un an`,other:`plus de {{count}} ans`},almostXYears:{one:`presqu’un an`,other:`presque {{count}} ans`}},o=(e,t,n)=>{let r,i=a[e];return r=typeof i==`string`?i:t===1?i.one:i.other.replace(`{{count}}`,String(t)),n?.addSuffix?n.comparison&&n.comparison>0?`dans `+r:`il y a `+r:r},s={date:t({formats:{full:`EEEE d MMMM y`,long:`d MMMM y`,medium:`d MMM y`,short:`dd/MM/y`},defaultWidth:`full`}),time:t({formats:{full:`HH:mm:ss zzzz`,long:`HH:mm:ss z`,medium:`HH:mm:ss`,short:`HH:mm`},defaultWidth:`full`}),dateTime:t({formats:{full:`{{date}} 'à' {{time}}`,long:`{{date}} 'à' {{time}}`,medium:`{{date}}, {{time}}`,short:`{{date}}, {{time}}`},defaultWidth:`full`})},c={lastWeek:`eeee 'dernier à' p`,yesterday:`'hier à' p`,today:`'aujourd’hui à' p`,tomorrow:`'demain à' p'`,nextWeek:`eeee 'prochain à' p`,other:`P`},l=(e,t,n,r)=>c[e],u={narrow:[`av. J.-C`,`ap. J.-C`],abbreviated:[`av. J.-C`,`ap. J.-C`],wide:[`avant Jésus-Christ`,`après Jésus-Christ`]},d={narrow:[`T1`,`T2`,`T3`,`T4`],abbreviated:[`1er trim.`,`2ème trim.`,`3ème trim.`,`4ème trim.`],wide:[`1er trimestre`,`2ème trimestre`,`3ème trimestre`,`4ème trimestre`]},f={narrow:[`J`,`F`,`M`,`A`,`M`,`J`,`J`,`A`,`S`,`O`,`N`,`D`],abbreviated:[`janv.`,`févr.`,`mars`,`avr.`,`mai`,`juin`,`juil.`,`août`,`sept.`,`oct.`,`nov.`,`déc.`],wide:[`janvier`,`février`,`mars`,`avril`,`mai`,`juin`,`juillet`,`août`,`septembre`,`octobre`,`novembre`,`décembre`]},p={narrow:[`D`,`L`,`M`,`M`,`J`,`V`,`S`],short:[`di`,`lu`,`ma`,`me`,`je`,`ve`,`sa`],abbreviated:[`dim.`,`lun.`,`mar.`,`mer.`,`jeu.`,`ven.`,`sam.`],wide:[`dimanche`,`lundi`,`mardi`,`mercredi`,`jeudi`,`vendredi`,`samedi`]},m={narrow:{am:`AM`,pm:`PM`,midnight:`minuit`,noon:`midi`,morning:`mat.`,afternoon:`ap.m.`,evening:`soir`,night:`mat.`},abbreviated:{am:`AM`,pm:`PM`,midnight:`minuit`,noon:`midi`,morning:`matin`,afternoon:`après-midi`,evening:`soir`,night:`matin`},wide:{am:`AM`,pm:`PM`,midnight:`minuit`,noon:`midi`,morning:`du matin`,afternoon:`de l’après-midi`,evening:`du soir`,night:`du matin`}},h=(e,t)=>{let n=Number(e),r=t?.unit;if(n===0)return`0`;let i=[`year`,`week`,`hour`,`minute`,`second`],a;return a=n===1?r&&i.includes(r)?`ère`:`er`:`ème`,n+a},g=[`MMM`,`MMMM`],_={code:`fr`,formatDistance:o,formatLong:s,formatRelative:l,localize:{preprocessor:(e,t)=>e.getDate()===1||!t.some(e=>e.isToken&&g.includes(e.value))?t:t.map(e=>e.isToken&&e.value===`do`?{isToken:!0,value:`d`}:e),ordinalNumber:h,era:e({values:u,defaultWidth:`wide`}),quarter:e({values:d,defaultWidth:`wide`,argumentCallback:e=>e-1}),month:e({values:f,defaultWidth:`wide`}),day:e({values:p,defaultWidth:`wide`}),dayPeriod:e({values:m,defaultWidth:`wide`})},match:{ordinalNumber:n({matchPattern:/^(\d+)(ième|ère|ème|er|e)?/i,parsePattern:/\d+/i,valueCallback:e=>parseInt(e)}),era:r({matchPatterns:{narrow:/^(av\.J\.C|ap\.J\.C|ap\.J\.-C)/i,abbreviated:/^(av\.J\.-C|av\.J-C|apr\.J\.-C|apr\.J-C|ap\.J-C)/i,wide:/^(avant Jésus-Christ|après Jésus-Christ)/i},defaultMatchWidth:`wide`,parsePatterns:{any:[/^av/i,/^ap/i]},defaultParseWidth:`any`}),quarter:r({matchPatterns:{narrow:/^T?[1234]/i,abbreviated:/^[1234](er|ème|e)? trim\.?/i,wide:/^[1234](er|ème|e)? trimestre/i},defaultMatchWidth:`wide`,parsePatterns:{any:[/1/i,/2/i,/3/i,/4/i]},defaultParseWidth:`any`,valueCallback:e=>e+1}),month:r({matchPatterns:{narrow:/^[jfmasond]/i,abbreviated:/^(janv|févr|mars|avr|mai|juin|juill|juil|août|sept|oct|nov|déc)\.?/i,wide:/^(janvier|février|mars|avril|mai|juin|juillet|août|septembre|octobre|novembre|décembre)/i},defaultMatchWidth:`wide`,parsePatterns:{narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^av/i,/^ma/i,/^juin/i,/^juil/i,/^ao/i,/^s/i,/^o/i,/^n/i,/^d/i]},defaultParseWidth:`any`}),day:r({matchPatterns:{narrow:/^[lmjvsd]/i,short:/^(di|lu|ma|me|je|ve|sa)/i,abbreviated:/^(dim|lun|mar|mer|jeu|ven|sam)\.?/i,wide:/^(dimanche|lundi|mardi|mercredi|jeudi|vendredi|samedi)/i},defaultMatchWidth:`wide`,parsePatterns:{narrow:[/^d/i,/^l/i,/^m/i,/^m/i,/^j/i,/^v/i,/^s/i],any:[/^di/i,/^lu/i,/^ma/i,/^me/i,/^je/i,/^ve/i,/^sa/i]},defaultParseWidth:`any`}),dayPeriod:r({matchPatterns:{narrow:/^(a|p|minuit|midi|mat\.?|ap\.?m\.?|soir|nuit)/i,any:/^([ap]\.?\s?m\.?|du matin|de l'après[-\s]midi|du soir|de la nuit)/i},defaultMatchWidth:`any`,parsePatterns:{any:{am:/^a/i,pm:/^p/i,midnight:/^min/i,noon:/^mid/i,morning:/mat/i,afternoon:/ap/i,evening:/soir/i,night:/nuit/i}},defaultParseWidth:`any`})},options:{weekStartsOn:1,firstWeekContainsDate:4},labels:{labelDayButton:(e,t,n,r)=>{let a=(r??new i(n)).format(e,`PPPP`);return t.today&&(a=`Aujourd'hui, ${a}`),t.selected&&(a=`${a}, sélectionné`),a},labelMonthDropdown:`Choisir le mois`,labelNext:`Aller au mois suivant`,labelPrevious:`Aller au mois précédent`,labelWeekNumber:e=>`Semaine ${e}`,labelYearDropdown:`Choisir l'année`,labelGrid:(e,t,n)=>(n??new i(t)).formatMonthYear(e),labelGridcell:(e,t,n,r)=>{let a=(r??new i(n)).format(e,`PPPP`);return t?.today&&(a=`Aujourd'hui, ${a}`),a},labelNav:`Barre de navigation`,labelWeekNumberHeader:`Numéro de semaine`,labelWeekday:(e,t,n)=>(n??new i(t)).format(e,`cccc`)}};export{_ as fr};
|