@entifix/next-shell 0.4.2 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (120) hide show
  1. package/dist/index.d.ts +1 -1
  2. package/dist/index.js +1 -1
  3. package/dist/index.js.map +1 -1
  4. package/dist/lib/back-office/group-by-screen-type.d.ts +2 -2
  5. package/dist/lib/back-office/group-by-screen-type.js +2 -2
  6. package/dist/lib/back-office/group-by-screen-type.js.map +1 -1
  7. package/dist/lib/back-office/nav.d.ts +1 -2
  8. package/dist/lib/back-office/nav.d.ts.map +1 -1
  9. package/dist/lib/back-office/nav.js.map +1 -1
  10. package/dist/lib/back-office/sidebar-nav.d.ts +2 -2
  11. package/dist/lib/back-office/sidebar-nav.js +2 -2
  12. package/dist/lib/back-office/sidebar-nav.js.map +1 -1
  13. package/dist/lib/command-palette/command-palette-host.js +1 -1
  14. package/dist/lib/command-palette/command-palette-host.js.map +1 -1
  15. package/dist/lib/command-palette/use-command-recency.d.ts +1 -1
  16. package/dist/lib/command-palette/use-command-recency.js +1 -1
  17. package/dist/lib/command-palette/use-command-recency.js.map +1 -1
  18. package/dist/lib/command-palette/use-nav-source.d.ts +4 -3
  19. package/dist/lib/command-palette/use-nav-source.d.ts.map +1 -1
  20. package/dist/lib/command-palette/use-nav-source.js +4 -3
  21. package/dist/lib/command-palette/use-nav-source.js.map +1 -1
  22. package/dist/lib/command-palette/use-records-source.d.ts +1 -1
  23. package/dist/lib/command-palette/use-records-source.js +2 -2
  24. package/dist/lib/command-palette/use-records-source.js.map +1 -1
  25. package/dist/lib/command-palette/use-tabs-source.d.ts +1 -1
  26. package/dist/lib/command-palette/use-tabs-source.js +1 -1
  27. package/dist/lib/command-palette/use-tabs-source.js.map +1 -1
  28. package/dist/lib/command-palette/use-use-cases-source.js +2 -2
  29. package/dist/lib/command-palette/use-use-cases-source.js.map +1 -1
  30. package/dist/lib/config/config-route.d.ts +6 -19
  31. package/dist/lib/config/config-route.d.ts.map +1 -1
  32. package/dist/lib/config/config-route.js +6 -23
  33. package/dist/lib/config/config-route.js.map +1 -1
  34. package/dist/lib/config/configuration-source.d.ts +18 -0
  35. package/dist/lib/config/configuration-source.d.ts.map +1 -0
  36. package/dist/lib/config/configuration-source.js +15 -0
  37. package/dist/lib/config/configuration-source.js.map +1 -0
  38. package/dist/lib/config/service-proxy-route.d.ts +11 -2
  39. package/dist/lib/config/service-proxy-route.d.ts.map +1 -1
  40. package/dist/lib/config/service-proxy-route.js +27 -4
  41. package/dist/lib/config/service-proxy-route.js.map +1 -1
  42. package/dist/lib/crud/entity-crud-form.js +3 -3
  43. package/dist/lib/crud/entity-crud-form.js.map +1 -1
  44. package/dist/lib/crud/hand-off-write.d.ts +1 -1
  45. package/dist/lib/crud/hand-off-write.js +1 -1
  46. package/dist/lib/crud/hand-off-write.js.map +1 -1
  47. package/dist/lib/crud/make-entity-crud.d.ts +7 -9
  48. package/dist/lib/crud/make-entity-crud.d.ts.map +1 -1
  49. package/dist/lib/crud/make-entity-crud.js +15 -18
  50. package/dist/lib/crud/make-entity-crud.js.map +1 -1
  51. package/dist/lib/crud/make-entity-crud.types.d.ts +9 -12
  52. package/dist/lib/crud/make-entity-crud.types.d.ts.map +1 -1
  53. package/dist/lib/crud/make-entity-crud.types.js.map +1 -1
  54. package/dist/lib/crud/pending-notice.d.ts +2 -2
  55. package/dist/lib/crud/pending-notice.js +2 -2
  56. package/dist/lib/crud/pending-notice.js.map +1 -1
  57. package/dist/lib/crud/use-entity-affordances.d.ts +1 -1
  58. package/dist/lib/crud/use-entity-affordances.js +1 -1
  59. package/dist/lib/crud/use-entity-affordances.js.map +1 -1
  60. package/dist/lib/crud/use-entity-bulk.d.ts +2 -2
  61. package/dist/lib/crud/use-entity-bulk.js +2 -2
  62. package/dist/lib/crud/use-entity-bulk.js.map +1 -1
  63. package/dist/lib/health/health-routes.d.ts +3 -4
  64. package/dist/lib/health/health-routes.d.ts.map +1 -1
  65. package/dist/lib/health/health-routes.js +7 -9
  66. package/dist/lib/health/health-routes.js.map +1 -1
  67. package/dist/lib/i18n/catalog/en.d.ts.map +1 -1
  68. package/dist/lib/i18n/catalog/en.js +1 -264
  69. package/dist/lib/i18n/catalog/en.js.map +1 -1
  70. package/dist/lib/i18n/catalog/es.d.ts +2 -290
  71. package/dist/lib/i18n/catalog/es.d.ts.map +1 -1
  72. package/dist/lib/i18n/catalog/es.js +2 -296
  73. package/dist/lib/i18n/catalog/es.js.map +1 -1
  74. package/dist/lib/i18n/catalog/index.d.ts +0 -508
  75. package/dist/lib/i18n/catalog/index.d.ts.map +1 -1
  76. package/dist/lib/i18n/spec-catalog.js +4 -4
  77. package/dist/lib/i18n/spec-catalog.js.map +1 -1
  78. package/dist/lib/search/record-search-route.d.ts +1 -1
  79. package/dist/lib/search/record-search-route.js +1 -1
  80. package/dist/lib/search/record-search-route.js.map +1 -1
  81. package/dist/lib/search/record-search-source.d.ts +1 -2
  82. package/dist/lib/search/record-search-source.d.ts.map +1 -1
  83. package/dist/lib/search/record-search-source.js.map +1 -1
  84. package/dist/lib/search/record-search.types.d.ts +1 -1
  85. package/dist/lib/search/record-search.types.js +1 -1
  86. package/dist/lib/search/record-search.types.js.map +1 -1
  87. package/dist/lib/session/account-links.js +1 -1
  88. package/dist/lib/session/account-links.js.map +1 -1
  89. package/dist/lib/session/session-keepalive.d.ts +2 -4
  90. package/dist/lib/session/session-keepalive.d.ts.map +1 -1
  91. package/dist/lib/session/session-keepalive.js +2 -4
  92. package/dist/lib/session/session-keepalive.js.map +1 -1
  93. package/dist/lib/session/use-session-refresh.js +1 -1
  94. package/dist/lib/session/use-session-refresh.js.map +1 -1
  95. package/dist/lib/wizard/wizard-tab-kind.d.ts +1 -2
  96. package/dist/lib/wizard/wizard-tab-kind.d.ts.map +1 -1
  97. package/dist/lib/wizard/wizard-tab-kind.js +1 -2
  98. package/dist/lib/wizard/wizard-tab-kind.js.map +1 -1
  99. package/dist/lib/workspace/drafts-state.d.ts.map +1 -1
  100. package/dist/lib/workspace/drafts-state.js +3 -2
  101. package/dist/lib/workspace/drafts-state.js.map +1 -1
  102. package/dist/lib/workspace/entity-tab-kind.d.ts +1 -2
  103. package/dist/lib/workspace/entity-tab-kind.d.ts.map +1 -1
  104. package/dist/lib/workspace/entity-tab-kind.js +1 -2
  105. package/dist/lib/workspace/entity-tab-kind.js.map +1 -1
  106. package/dist/lib/workspace/pending-state.d.ts +5 -4
  107. package/dist/lib/workspace/pending-state.d.ts.map +1 -1
  108. package/dist/lib/workspace/pending-state.js +1 -1
  109. package/dist/lib/workspace/pending-state.js.map +1 -1
  110. package/dist/lib/workspace/tabs-state.js +1 -1
  111. package/dist/lib/workspace/tabs-state.js.map +1 -1
  112. package/dist/server.d.ts +1 -1
  113. package/dist/server.d.ts.map +1 -1
  114. package/dist/server.js +2 -2
  115. package/dist/server.js.map +1 -1
  116. package/package.json +9 -9
  117. package/dist/lib/config/service-token.d.ts +0 -5
  118. package/dist/lib/config/service-token.d.ts.map +0 -1
  119. package/dist/lib/config/service-token.js +0 -18
  120. package/dist/lib/config/service-token.js.map +0 -1
@@ -1,210 +1,4 @@
1
1
  /** Copy owned by the Next shells — back-office chrome and the tab workspace. */ export const shell = {
2
- /**
3
- * The identity surface — user administration and the signed-in
4
- * account. The screens live in `@r10c/shells-next-auth` so a second
5
- * host can mount them, and copy follows the code: an `app:` key is
6
- * lint-restricted to `apps/`, so a shell binding one fails the build.
7
- * What stays in `app:auth` is the sign-in page itself, which is the
8
- * host's own front door rather than the domain's surface.
9
- */ auth: {
10
- nav: {
11
- identity: 'Identidad',
12
- users: 'Usuarios',
13
- accountSection: 'Cuenta'
14
- },
15
- account: {
16
- overline: 'Cuenta',
17
- title: 'Mi cuenta',
18
- subtitle: 'Tu identidad y tu acceso a la flota r10c.',
19
- menu: 'Cuenta',
20
- identifiers: 'Identificadores',
21
- noIdentifiers: 'Sin identificadores registrados.',
22
- userId: 'ID de usuario',
23
- subject: 'Sujeto',
24
- session: 'Sesión',
25
- roles: 'Roles',
26
- none: 'Ninguno',
27
- failed: 'No pudimos cargar tu cuenta.'
28
- },
29
- sessions: {
30
- overline: 'Seguridad',
31
- title: 'Sesiones activas',
32
- subtitle: 'Dónde has iniciado sesión. Cierra las que no reconozcas.',
33
- current: 'Este dispositivo',
34
- unknownDevice: 'Dispositivo desconocido',
35
- startedAt: 'Iniciada',
36
- expiresAt: 'Expira',
37
- lastIp: 'IP',
38
- revoke: 'Cerrar',
39
- revoking: 'Cerrando…',
40
- revokeOthers: 'Cerrar las demás',
41
- empty: 'No hay otras sesiones activas.',
42
- failed: 'No pudimos cargar tus sesiones.',
43
- loading: 'Cargando sesiones…'
44
- },
45
- security: {
46
- overline: 'Seguridad',
47
- title: 'Contraseña y acceso',
48
- subtitle: 'Tu contraseña, tu segundo factor y tus cuentas vinculadas viven en r10c Identity.',
49
- explain: 'r10c no guarda tu contraseña. Adminístrala, junto con la verificación en dos pasos y tus accesos sociales, en el proveedor de identidad.',
50
- manage: 'Administrar en r10c Identity'
51
- },
52
- fields: {
53
- displayName: 'Nombre visible',
54
- email: 'Correo',
55
- username: 'Usuario',
56
- role: 'Rol'
57
- },
58
- submit: {
59
- wait: 'Espera…',
60
- creating: 'Creando…',
61
- createUser: 'Crear usuario'
62
- },
63
- users: {
64
- title: 'Usuarios',
65
- newTitle: 'Nuevo usuario',
66
- fallbackName: 'Usuario',
67
- sessionsTitle: 'Sesiones de este usuario',
68
- sessionsEmpty: 'Este usuario no tiene sesiones activas.',
69
- sessionsFailed: 'No pudimos cargar las sesiones de este usuario.',
70
- kick: 'Cerrar todas sus sesiones',
71
- kicking: 'Cerrando…'
72
- }
73
- },
74
- /**
75
- * System management — the operator surface. Lives in the framework shell so
76
- * a dedicated management app can mount the same screens later, which is why the
77
- * copy is here rather than in an app catalog.
78
- */ /**
79
- * La superficie de existencias — las primeras pantallas de Operaciones del
80
- * back office.
81
- *
82
- * El *nombre del nivel* ("Operaciones") sale de `nav.screenType.operation`;
83
- * esto nombra el grupo dentro de él.
84
- */ stock: {
85
- nav: {
86
- stock: 'Existencias',
87
- items: 'Existencias en almacén',
88
- movements: 'Libro de movimientos',
89
- reservations: 'Reservas'
90
- }
91
- },
92
- order: {
93
- nav: {
94
- orders: 'Pedidos'
95
- }
96
- },
97
- settlement: {
98
- nav: {
99
- // El mismo nombre de grupo en las dos gradas: un acuerdo se redacta
100
- // (Definiciones) y el resto lo produce un proceso (Operaciones). El
101
- // encabezado de cada grada sale de `nav.screenType`.
102
- settlement: 'Liquidaciones',
103
- agreements: 'Acuerdos',
104
- entries: 'Apuntes de comisión',
105
- runs: 'Liquidaciones',
106
- payouts: 'Pagos a vendedores'
107
- },
108
- agreement: {
109
- channelRatesHint: 'Déjalo en blanco para cobrar la comisión por defecto en ese canal. Un 0 significa que no se cobra nada.',
110
- channelRateDefault: 'Por defecto',
111
- noChannelRates: 'Sin tarifas por canal'
112
- }
113
- },
114
- sales: {
115
- nav: {
116
- sales: 'Ventas',
117
- channels: 'Canales de venta',
118
- guided: 'Ventas',
119
- counterSale: 'Vender en mostrador'
120
- },
121
- counterSale: {
122
- title: 'Venta en mostrador',
123
- steps: {
124
- channel: 'Canal',
125
- lines: 'Productos',
126
- payment: 'Cobro',
127
- summary: 'Resumen'
128
- },
129
- channelHint: 'Elige el canal por el que se hace esta venta.',
130
- linesHint: 'Agrega los productos publicados que estás vendiendo.',
131
- addLine: 'Agregar producto',
132
- removeLine: 'Quitar',
133
- quantity: 'Cantidad',
134
- offering: 'Producto',
135
- total: 'Total',
136
- paymentMethod: 'Forma de pago',
137
- charge: 'Cobrar',
138
- sold: 'Venta registrada',
139
- soldDetail: 'La existencia ya se descontó y el pedido quedó registrado.',
140
- newSale: 'Nueva venta',
141
- emptyLines: 'Agrega al menos un producto para cobrar.'
142
- }
143
- },
144
- marketplaceAdmin: {
145
- nav: {
146
- // Moved out of the `app:` catalog with the nav table itself: this copy
147
- // belongs to the shell that owns the screens, so a second host mounting
148
- // it does not re-translate them.
149
- catalog: 'Catálogo',
150
- products: 'Productos',
151
- brands: 'Marcas',
152
- categories: 'Categorías',
153
- offerings: 'Ofertas comerciales',
154
- offeringPrices: 'Precios de oferta',
155
- // La sección Asistentes. El *nombre del nivel* ("Asistentes") sale de
156
- // `nav.screenType.wizard`; esto nombra el grupo dentro de él.
157
- guided: 'Catálogo'
158
- },
159
- /**
160
- * El asistente de alta de producto. Los nombres de los pasos son de este
161
- * dominio, no del control — por eso viven acá y no en `controls`.
162
- */ wizard: {
163
- productSetup: {
164
- title: 'Nuevo producto',
165
- launch: 'Nuevo producto guiado',
166
- steps: {
167
- start: 'Origen',
168
- source: 'Producto base',
169
- identity: 'Identificación',
170
- classification: 'Clasificación',
171
- summary: 'Resumen'
172
- },
173
- start: {
174
- question: '¿Cómo querés empezar?',
175
- blank: 'Desde cero',
176
- blankHint: 'Cargar los datos a mano.',
177
- duplicate: 'Duplicar uno existente',
178
- duplicateHint: 'Partir de un producto ya cargado. El código no se copia: identifica al original.'
179
- },
180
- source: {
181
- prompt: 'Elegí el producto del que querés partir.',
182
- chosen: 'Producto base: {{name}}',
183
- required: 'Elegí un producto para continuar.'
184
- },
185
- summary: {
186
- prompt: 'Revisá lo cargado antes de crearlo.',
187
- origin: 'Origen',
188
- originBlank: 'Desde cero',
189
- originDuplicate: 'Duplicado de {{name}}',
190
- empty: 'Sin definir'
191
- },
192
- recap: 'Ya habías respondido:'
193
- }
194
- }
195
- },
196
- systemManagement: {
197
- nav: {
198
- section: 'Sistema',
199
- configuration: 'Configuración'
200
- },
201
- configuration: {
202
- title: 'Configuración de la plataforma',
203
- description: 'Parámetros que cada servicio resuelve al arrancar. Editar un valor afecta al servicio en su próximo arranque.',
204
- secretPlaceholder: '•••••• (sin cambios)',
205
- secretHint: 'Dejar en blanco mantiene el valor guardado. Escribir uno nuevo lo reemplaza.'
206
- }
207
- },
208
2
  nav: {
209
3
  primary: 'Principal',
210
4
  openInWorkspace: 'Abrir {{label}} en el espacio de trabajo',
@@ -212,7 +6,7 @@
212
6
  openInNewTab: 'Abrir {{label}} en una pestaña nueva',
213
7
  openInNewTabShort: 'Abrir en una pestaña nueva',
214
8
  /**
215
- * The screen taxonomy (ADR 0033) — the sidebar's top tier, above the
9
+ * The screen taxonomy — the sidebar's top tier, above the
216
10
  * domain. `Definiciones` rather than `Maestros` because the ERP term needs
217
11
  * the ERP background to parse, and rather than `Catálogos` or `Referencias`
218
12
  * because both already mean something else here: the product catalog, and a
@@ -225,7 +19,7 @@
225
19
  }
226
20
  },
227
21
  /**
228
- * La paleta de comandos (ADR 0044). Vive en `shell:` y no en `controls:`
22
+ * La paleta de comandos. Vive en `shell:` y no en `controls:`
229
23
  * porque el control es agnóstico —recibe copia ya resuelta— y quien la
230
24
  * arma es el back office.
231
25
  */ commandPalette: {
@@ -313,94 +107,6 @@
313
107
  savePending_other: 'Guardando {{count}} registros…',
314
108
  saveFailed: 'No se pudo guardar el registro.',
315
109
  saveFailedDismiss: 'Descartar'
316
- },
317
- /**
318
- * The storefront. Its pages live in `shells-next-marketplace`, so its copy
319
- * lives here and not in an app catalog — `app:` is reserved for `apps/`.
320
- */ storefront: {
321
- nav: {
322
- catalog: 'Catálogo'
323
- },
324
- home: {
325
- overline: 'Tienda',
326
- heading: 'Marketplace r10c',
327
- lead: 'Objetos para la casa, elegidos de a poco.',
328
- featured: 'Destacados'
329
- },
330
- category: {
331
- overline: 'Categoría',
332
- empty: 'No hay productos en esta categoría todavía.',
333
- sort: 'Ordenar',
334
- sortByName: 'Nombre',
335
- sortByCode: 'Referencia',
336
- results: '{{count}} productos',
337
- previous: 'Anterior',
338
- next: 'Siguiente',
339
- pageOf: 'Página {{page}} de {{pages}}'
340
- },
341
- product: {
342
- addToCart: 'Añadir al carrito',
343
- view: 'Ver producto',
344
- brand: 'Marca',
345
- category: 'Categoría',
346
- reference: 'Referencia',
347
- related: 'También te puede interesar',
348
- /**
349
- * `availableHint` es una **pista**, y el nombre lo dice: el catálogo
350
- * publicado es consistente en diferido a propósito y la verdad es la
351
- * reserva del checkout (ADR 0009). Por eso la copia no promete
352
- * existencias concretas.
353
- */ available: 'Disponible',
354
- unavailable: 'Sin existencias'
355
- },
356
- search: {
357
- heading: 'Buscar',
358
- label: 'Buscar productos',
359
- placeholder: 'Lámpara, taza, manta…',
360
- submit: 'Buscar',
361
- resultsFor: 'Resultados para «{{term}}»',
362
- empty: 'No encontramos nada para «{{term}}».',
363
- prompt: 'Escribe algo para empezar a buscar.'
364
- },
365
- cart: {
366
- heading: 'Carrito',
367
- empty: 'Tu carrito está vacío.',
368
- remove: 'Quitar',
369
- units: 'Cant. {{count}}',
370
- total: 'Artículos en total',
371
- keepShopping: 'Seguir comprando',
372
- checkout: 'Finalizar compra'
373
- },
374
- checkout: {
375
- placed: 'Tu pedido quedó registrado. Ya se notificó al vendedor.',
376
- unavailable: 'Uno de estos productos ya no está disponible en la cantidad que pediste. No se cobró nada y se liberaron todas las reservas.',
377
- empty: 'Ninguno de estos productos sigue a la venta.',
378
- failed: 'No se pudo completar la compra. Inténtalo de nuevo.'
379
- },
380
- order: {
381
- heading: '¡Gracias por tu compra!',
382
- placed: 'Tu pedido quedó registrado y el vendedor ya fue notificado.',
383
- reference: 'Número de pedido',
384
- units: 'Cant. {{count}}',
385
- total: 'Total',
386
- tooManyLines: 'Este pedido tiene {{count}} artículos, demasiados para mostrarlos aquí. El número de pedido de arriba los identifica a todos.',
387
- keepShopping: 'Seguir comprando',
388
- expiredHeading: 'No hay ningún pedido que mostrar',
389
- expired: 'El comprobante de tu última compra ya no está disponible en este navegador. Si acabas de comprar, revisa el correo de confirmación.',
390
- // El plazo se nombra en vez de dejar que el botón deje de funcionar solo:
391
- // el comprobante lleva la fecha que el servidor selló, y las dos
392
- // concuerdan porque `RECEIPT_TTL_SECONDS` y el ajuste del servicio son un
393
- // solo número (ADR 0058 §5).
394
- cancel: 'Cancelar pedido',
395
- cancelWindow: 'Puedes cancelar este pedido hasta las {{time}}.',
396
- cancelPending: 'Cancelando…',
397
- cancelledHeading: 'Pedido cancelado',
398
- cancelled: 'Cancelamos tu pedido y el reembolso ya va en camino. Puede tardar unos días en aparecer en tu estado de cuenta.',
399
- cancelFailed: 'No se pudo cancelar el pedido. Puede que el plazo haya terminado o que ya vaya en camino.'
400
- },
401
- footer: {
402
- note: 'Catálogo de demostración. Ningún pedido es real.'
403
- }
404
110
  }
405
111
  };
406
112
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/lib/i18n/catalog/es.ts"],"sourcesContent":["/** Copy owned by the Next shells — back-office chrome and the tab workspace. */\nexport const shell = {\n /**\n * The identity surface — user administration and the signed-in\n * account. The screens live in `@r10c/shells-next-auth` so a second\n * host can mount them, and copy follows the code: an `app:` key is\n * lint-restricted to `apps/`, so a shell binding one fails the build.\n * What stays in `app:auth` is the sign-in page itself, which is the\n * host's own front door rather than the domain's surface.\n */\n auth: {\n nav: {\n identity: 'Identidad',\n users: 'Usuarios',\n accountSection: 'Cuenta',\n },\n account: {\n overline: 'Cuenta',\n title: 'Mi cuenta',\n subtitle: 'Tu identidad y tu acceso a la flota r10c.',\n menu: 'Cuenta',\n identifiers: 'Identificadores',\n noIdentifiers: 'Sin identificadores registrados.',\n userId: 'ID de usuario',\n subject: 'Sujeto',\n session: 'Sesión',\n roles: 'Roles',\n none: 'Ninguno',\n failed: 'No pudimos cargar tu cuenta.',\n },\n sessions: {\n overline: 'Seguridad',\n title: 'Sesiones activas',\n subtitle: 'Dónde has iniciado sesión. Cierra las que no reconozcas.',\n current: 'Este dispositivo',\n unknownDevice: 'Dispositivo desconocido',\n startedAt: 'Iniciada',\n expiresAt: 'Expira',\n lastIp: 'IP',\n revoke: 'Cerrar',\n revoking: 'Cerrando…',\n revokeOthers: 'Cerrar las demás',\n empty: 'No hay otras sesiones activas.',\n failed: 'No pudimos cargar tus sesiones.',\n loading: 'Cargando sesiones…',\n },\n security: {\n overline: 'Seguridad',\n title: 'Contraseña y acceso',\n subtitle:\n 'Tu contraseña, tu segundo factor y tus cuentas vinculadas viven en r10c Identity.',\n explain:\n 'r10c no guarda tu contraseña. Adminístrala, junto con la verificación en dos pasos y tus accesos sociales, en el proveedor de identidad.',\n manage: 'Administrar en r10c Identity',\n },\n fields: {\n displayName: 'Nombre visible',\n email: 'Correo',\n username: 'Usuario',\n role: 'Rol',\n },\n submit: {\n wait: 'Espera…',\n creating: 'Creando…',\n createUser: 'Crear usuario',\n },\n users: {\n title: 'Usuarios',\n newTitle: 'Nuevo usuario',\n fallbackName: 'Usuario',\n sessionsTitle: 'Sesiones de este usuario',\n sessionsEmpty: 'Este usuario no tiene sesiones activas.',\n sessionsFailed: 'No pudimos cargar las sesiones de este usuario.',\n kick: 'Cerrar todas sus sesiones',\n kicking: 'Cerrando…',\n },\n },\n /**\n * System management — the operator surface. Lives in the framework shell so\n * a dedicated management app can mount the same screens later, which is why the\n * copy is here rather than in an app catalog.\n */\n /**\n * La superficie de existencias — las primeras pantallas de Operaciones del\n * back office.\n *\n * El *nombre del nivel* (\"Operaciones\") sale de `nav.screenType.operation`;\n * esto nombra el grupo dentro de él.\n */\n stock: {\n nav: {\n stock: 'Existencias',\n items: 'Existencias en almacén',\n movements: 'Libro de movimientos',\n reservations: 'Reservas',\n },\n },\n order: {\n nav: {\n orders: 'Pedidos',\n },\n },\n settlement: {\n nav: {\n // El mismo nombre de grupo en las dos gradas: un acuerdo se redacta\n // (Definiciones) y el resto lo produce un proceso (Operaciones). El\n // encabezado de cada grada sale de `nav.screenType`.\n settlement: 'Liquidaciones',\n agreements: 'Acuerdos',\n entries: 'Apuntes de comisión',\n runs: 'Liquidaciones',\n payouts: 'Pagos a vendedores',\n },\n agreement: {\n channelRatesHint:\n 'Déjalo en blanco para cobrar la comisión por defecto en ese canal. Un 0 significa que no se cobra nada.',\n channelRateDefault: 'Por defecto',\n noChannelRates: 'Sin tarifas por canal',\n },\n },\n sales: {\n nav: {\n sales: 'Ventas',\n channels: 'Canales de venta',\n guided: 'Ventas',\n counterSale: 'Vender en mostrador',\n },\n counterSale: {\n title: 'Venta en mostrador',\n steps: {\n channel: 'Canal',\n lines: 'Productos',\n payment: 'Cobro',\n summary: 'Resumen',\n },\n channelHint: 'Elige el canal por el que se hace esta venta.',\n linesHint: 'Agrega los productos publicados que estás vendiendo.',\n addLine: 'Agregar producto',\n removeLine: 'Quitar',\n quantity: 'Cantidad',\n offering: 'Producto',\n total: 'Total',\n paymentMethod: 'Forma de pago',\n charge: 'Cobrar',\n sold: 'Venta registrada',\n soldDetail: 'La existencia ya se descontó y el pedido quedó registrado.',\n newSale: 'Nueva venta',\n emptyLines: 'Agrega al menos un producto para cobrar.',\n },\n },\n marketplaceAdmin: {\n nav: {\n // Moved out of the `app:` catalog with the nav table itself: this copy\n // belongs to the shell that owns the screens, so a second host mounting\n // it does not re-translate them.\n catalog: 'Catálogo',\n products: 'Productos',\n brands: 'Marcas',\n categories: 'Categorías',\n offerings: 'Ofertas comerciales',\n offeringPrices: 'Precios de oferta',\n // La sección Asistentes. El *nombre del nivel* (\"Asistentes\") sale de\n // `nav.screenType.wizard`; esto nombra el grupo dentro de él.\n guided: 'Catálogo',\n },\n /**\n * El asistente de alta de producto. Los nombres de los pasos son de este\n * dominio, no del control — por eso viven acá y no en `controls`.\n */\n wizard: {\n productSetup: {\n title: 'Nuevo producto',\n launch: 'Nuevo producto guiado',\n steps: {\n start: 'Origen',\n source: 'Producto base',\n identity: 'Identificación',\n classification: 'Clasificación',\n summary: 'Resumen',\n },\n start: {\n question: '¿Cómo querés empezar?',\n blank: 'Desde cero',\n blankHint: 'Cargar los datos a mano.',\n duplicate: 'Duplicar uno existente',\n duplicateHint:\n 'Partir de un producto ya cargado. El código no se copia: identifica al original.',\n },\n source: {\n prompt: 'Elegí el producto del que querés partir.',\n chosen: 'Producto base: {{name}}',\n required: 'Elegí un producto para continuar.',\n },\n summary: {\n prompt: 'Revisá lo cargado antes de crearlo.',\n origin: 'Origen',\n originBlank: 'Desde cero',\n originDuplicate: 'Duplicado de {{name}}',\n empty: 'Sin definir',\n },\n recap: 'Ya habías respondido:',\n },\n },\n },\n systemManagement: {\n nav: {\n section: 'Sistema',\n configuration: 'Configuración',\n },\n configuration: {\n title: 'Configuración de la plataforma',\n description:\n 'Parámetros que cada servicio resuelve al arrancar. Editar un valor afecta al servicio en su próximo arranque.',\n secretPlaceholder: '•••••• (sin cambios)',\n secretHint:\n 'Dejar en blanco mantiene el valor guardado. Escribir uno nuevo lo reemplaza.',\n },\n },\n nav: {\n primary: 'Principal',\n openInWorkspace: 'Abrir {{label}} en el espacio de trabajo',\n openInWorkspaceShort: 'Abrir en el espacio de trabajo',\n openInNewTab: 'Abrir {{label}} en una pestaña nueva',\n openInNewTabShort: 'Abrir en una pestaña nueva',\n /**\n * The screen taxonomy (ADR 0033) — the sidebar's top tier, above the\n * domain. `Definiciones` rather than `Maestros` because the ERP term needs\n * the ERP background to parse, and rather than `Catálogos` or `Referencias`\n * because both already mean something else here: the product catalog, and a\n * product's code in `storefront.category.sortByCode`.\n */\n screenType: {\n master: 'Definiciones',\n operation: 'Operaciones',\n wizard: 'Asistentes',\n report: 'Consultas',\n },\n },\n /**\n * La paleta de comandos (ADR 0044). Vive en `shell:` y no en `controls:`\n * porque el control es agnóstico —recibe copia ya resuelta— y quien la\n * arma es el back office.\n */\n commandPalette: {\n /** El disparador visible, que existe justo porque un atajo puede fallar. */\n open: 'Buscar o ejecutar',\n /** El nombre accesible del diálogo y de su campo. */\n title: 'Buscar o ejecutar',\n placeholder: 'Busca un registro, una pantalla o un comando…',\n newPlaceholder: '¿Qué quieres crear?',\n newLabel: 'Nuevo…',\n /** El nombre de la página apilada, y también el del control para volver. */\n newTitle: 'Nuevo',\n back: 'Volver',\n empty: 'Sin resultados',\n loading: 'Buscando…',\n more_one: '{{count}} más',\n more_other: '{{count}} más',\n /** Escribe al menos dos caracteres — el suelo que impone `/api/search`. */\n typeMore: 'Escribe al menos {{count}} caracteres para buscar registros.',\n groups: {\n actions: 'Acciones',\n commands: 'Comandos',\n navigation: 'Navegación',\n tabs: 'Pestañas abiertas',\n records: 'Registros',\n },\n /**\n * Dos redacciones para dos cosas distintas: «no es tuyo» es el estado\n * **normal** de un operador sin organización, y pintarlo como avería en\n * cada tecleo enseña a ignorar el aviso que sí importa.\n */\n unavailableScope: 'No disponible aquí: {{reason}}',\n unavailableReach: 'No pudimos consultar este origen: {{reason}}',\n /** Sufijo del comando que abre un destino como pestaña del espacio. */\n openInWorkspaceHint: 'Pestaña',\n },\n sidebar: {\n expand: 'Expandir barra lateral',\n collapse: 'Contraer barra lateral',\n openMenu: 'Abrir el menú',\n closeMenu: 'Cerrar el menú',\n // The drawer is a dialog, so it needs a name of its own — the landmark\n // inside it is the nav, and a dialog with no accessible name is announced\n // as just \"dialog\".\n menu: 'Menú de navegación',\n expandGroup: 'Desplegar {{group}}',\n collapseGroup: 'Plegar {{group}}',\n },\n /**\n * The session strip, rendered by `SessionKeepalive` only inside the final\n * window before the absolute ceiling. One key, because the strip says one\n * thing: nothing here counts down, since a number that moves invites a person\n * to watch it rather than to save their work.\n */\n session: {\n expiringSoon:\n 'Tu sesión está por expirar. Guarda tu trabajo e inicia sesión de nuevo para continuar.',\n },\n breadcrumbs: {\n home: 'Inicio',\n // The `/new` segment, which every domain's create route shares. It was\n // an auth-specific string until one host started serving two domains,\n // at which point a catalog page's breadcrumb read \"New user\".\n new: 'Nuevo',\n },\n /**\n * The account surface. The auth shell owns the screens, but `ACCOUNT_DESTINATIONS`\n * — the one list every app builds its menu from — lives in the shell, so the\n * shell owns their names too and resolves them itself.\n */\n account: {\n profile: 'Perfil',\n security: 'Seguridad',\n sessions: 'Sesiones',\n signOut: 'Cerrar sesión',\n },\n workspace: {\n copyLink: 'Copiar enlace',\n empty:\n 'No hay pestañas abiertas. Elige un catálogo en la barra lateral para empezar.',\n unsupported: 'Esta pestaña no se puede abrir aquí.',\n // The confirmation that guards closing a dirty tab. The title carries the\n // question, so the message states the consequence rather than repeating it\n // — it was phrased as a question while `window.confirm` rendered it, which\n // had nowhere to put a title.\n discardTitle: 'Descartar cambios',\n discard:\n 'Esta pestaña tiene cambios sin guardar. Si la cierras, se perderán.',\n discardConfirm: 'Descartar',\n // What became of a write the server has not finished. `count` is the\n // number in flight; a failure names no reason here, because the only one a\n // transaction carries is a server exception string in whatever language it\n // was written in — that is rendered beside this, unlocalized and marked so.\n pendingLabel: 'Estado de los guardados',\n savePending_one: 'Guardando 1 registro…',\n savePending_other: 'Guardando {{count}} registros…',\n saveFailed: 'No se pudo guardar el registro.',\n saveFailedDismiss: 'Descartar',\n },\n /**\n * The storefront. Its pages live in `shells-next-marketplace`, so its copy\n * lives here and not in an app catalog — `app:` is reserved for `apps/`.\n */\n storefront: {\n nav: {\n catalog: 'Catálogo',\n },\n home: {\n overline: 'Tienda',\n heading: 'Marketplace r10c',\n lead: 'Objetos para la casa, elegidos de a poco.',\n featured: 'Destacados',\n },\n category: {\n overline: 'Categoría',\n empty: 'No hay productos en esta categoría todavía.',\n sort: 'Ordenar',\n sortByName: 'Nombre',\n sortByCode: 'Referencia',\n results: '{{count}} productos',\n previous: 'Anterior',\n next: 'Siguiente',\n pageOf: 'Página {{page}} de {{pages}}',\n },\n product: {\n addToCart: 'Añadir al carrito',\n view: 'Ver producto',\n brand: 'Marca',\n category: 'Categoría',\n reference: 'Referencia',\n related: 'También te puede interesar',\n /**\n * `availableHint` es una **pista**, y el nombre lo dice: el catálogo\n * publicado es consistente en diferido a propósito y la verdad es la\n * reserva del checkout (ADR 0009). Por eso la copia no promete\n * existencias concretas.\n */\n available: 'Disponible',\n unavailable: 'Sin existencias',\n },\n search: {\n heading: 'Buscar',\n label: 'Buscar productos',\n placeholder: 'Lámpara, taza, manta…',\n submit: 'Buscar',\n resultsFor: 'Resultados para «{{term}}»',\n empty: 'No encontramos nada para «{{term}}».',\n prompt: 'Escribe algo para empezar a buscar.',\n },\n cart: {\n heading: 'Carrito',\n empty: 'Tu carrito está vacío.',\n remove: 'Quitar',\n units: 'Cant. {{count}}',\n total: 'Artículos en total',\n keepShopping: 'Seguir comprando',\n checkout: 'Finalizar compra',\n },\n checkout: {\n placed: 'Tu pedido quedó registrado. Ya se notificó al vendedor.',\n unavailable:\n 'Uno de estos productos ya no está disponible en la cantidad que pediste. No se cobró nada y se liberaron todas las reservas.',\n empty: 'Ninguno de estos productos sigue a la venta.',\n failed: 'No se pudo completar la compra. Inténtalo de nuevo.',\n },\n order: {\n heading: '¡Gracias por tu compra!',\n placed: 'Tu pedido quedó registrado y el vendedor ya fue notificado.',\n reference: 'Número de pedido',\n units: 'Cant. {{count}}',\n total: 'Total',\n tooManyLines:\n 'Este pedido tiene {{count}} artículos, demasiados para mostrarlos aquí. El número de pedido de arriba los identifica a todos.',\n keepShopping: 'Seguir comprando',\n expiredHeading: 'No hay ningún pedido que mostrar',\n expired:\n 'El comprobante de tu última compra ya no está disponible en este navegador. Si acabas de comprar, revisa el correo de confirmación.',\n // El plazo se nombra en vez de dejar que el botón deje de funcionar solo:\n // el comprobante lleva la fecha que el servidor selló, y las dos\n // concuerdan porque `RECEIPT_TTL_SECONDS` y el ajuste del servicio son un\n // solo número (ADR 0058 §5).\n cancel: 'Cancelar pedido',\n cancelWindow: 'Puedes cancelar este pedido hasta las {{time}}.',\n cancelPending: 'Cancelando…',\n cancelledHeading: 'Pedido cancelado',\n cancelled:\n 'Cancelamos tu pedido y el reembolso ya va en camino. Puede tardar unos días en aparecer en tu estado de cuenta.',\n cancelFailed:\n 'No se pudo cancelar el pedido. Puede que el plazo haya terminado o que ya vaya en camino.',\n },\n footer: {\n note: 'Catálogo de demostración. Ningún pedido es real.',\n },\n },\n};\n"],"names":["shell","auth","nav","identity","users","accountSection","account","overline","title","subtitle","menu","identifiers","noIdentifiers","userId","subject","session","roles","none","failed","sessions","current","unknownDevice","startedAt","expiresAt","lastIp","revoke","revoking","revokeOthers","empty","loading","security","explain","manage","fields","displayName","email","username","role","submit","wait","creating","createUser","newTitle","fallbackName","sessionsTitle","sessionsEmpty","sessionsFailed","kick","kicking","stock","items","movements","reservations","order","orders","settlement","agreements","entries","runs","payouts","agreement","channelRatesHint","channelRateDefault","noChannelRates","sales","channels","guided","counterSale","steps","channel","lines","payment","summary","channelHint","linesHint","addLine","removeLine","quantity","offering","total","paymentMethod","charge","sold","soldDetail","newSale","emptyLines","marketplaceAdmin","catalog","products","brands","categories","offerings","offeringPrices","wizard","productSetup","launch","start","source","classification","question","blank","blankHint","duplicate","duplicateHint","prompt","chosen","required","origin","originBlank","originDuplicate","recap","systemManagement","section","configuration","description","secretPlaceholder","secretHint","primary","openInWorkspace","openInWorkspaceShort","openInNewTab","openInNewTabShort","screenType","master","operation","report","commandPalette","open","placeholder","newPlaceholder","newLabel","back","more_one","more_other","typeMore","groups","actions","commands","navigation","tabs","records","unavailableScope","unavailableReach","openInWorkspaceHint","sidebar","expand","collapse","openMenu","closeMenu","expandGroup","collapseGroup","expiringSoon","breadcrumbs","home","new","profile","signOut","workspace","copyLink","unsupported","discardTitle","discard","discardConfirm","pendingLabel","savePending_one","savePending_other","saveFailed","saveFailedDismiss","storefront","heading","lead","featured","category","sort","sortByName","sortByCode","results","previous","next","pageOf","product","addToCart","view","brand","reference","related","available","unavailable","search","label","resultsFor","cart","remove","units","keepShopping","checkout","placed","tooManyLines","expiredHeading","expired","cancel","cancelWindow","cancelPending","cancelledHeading","cancelled","cancelFailed","footer","note"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../src/lib/i18n/catalog/es.ts"],"sourcesContent":["/** Copy owned by the Next shells — back-office chrome and the tab workspace. */\nexport const shell = {\n nav: {\n primary: 'Principal',\n openInWorkspace: 'Abrir {{label}} en el espacio de trabajo',\n openInWorkspaceShort: 'Abrir en el espacio de trabajo',\n openInNewTab: 'Abrir {{label}} en una pestaña nueva',\n openInNewTabShort: 'Abrir en una pestaña nueva',\n /**\n * The screen taxonomy — the sidebar's top tier, above the\n * domain. `Definiciones` rather than `Maestros` because the ERP term needs\n * the ERP background to parse, and rather than `Catálogos` or `Referencias`\n * because both already mean something else here: the product catalog, and a\n * product's code in `storefront.category.sortByCode`.\n */\n screenType: {\n master: 'Definiciones',\n operation: 'Operaciones',\n wizard: 'Asistentes',\n report: 'Consultas',\n },\n },\n /**\n * La paleta de comandos. Vive en `shell:` y no en `controls:`\n * porque el control es agnóstico —recibe copia ya resuelta— y quien la\n * arma es el back office.\n */\n commandPalette: {\n /** El disparador visible, que existe justo porque un atajo puede fallar. */\n open: 'Buscar o ejecutar',\n /** El nombre accesible del diálogo y de su campo. */\n title: 'Buscar o ejecutar',\n placeholder: 'Busca un registro, una pantalla o un comando…',\n newPlaceholder: '¿Qué quieres crear?',\n newLabel: 'Nuevo…',\n /** El nombre de la página apilada, y también el del control para volver. */\n newTitle: 'Nuevo',\n back: 'Volver',\n empty: 'Sin resultados',\n loading: 'Buscando…',\n more_one: '{{count}} más',\n more_other: '{{count}} más',\n /** Escribe al menos dos caracteres — el suelo que impone `/api/search`. */\n typeMore: 'Escribe al menos {{count}} caracteres para buscar registros.',\n groups: {\n actions: 'Acciones',\n commands: 'Comandos',\n navigation: 'Navegación',\n tabs: 'Pestañas abiertas',\n records: 'Registros',\n },\n /**\n * Dos redacciones para dos cosas distintas: «no es tuyo» es el estado\n * **normal** de un operador sin organización, y pintarlo como avería en\n * cada tecleo enseña a ignorar el aviso que sí importa.\n */\n unavailableScope: 'No disponible aquí: {{reason}}',\n unavailableReach: 'No pudimos consultar este origen: {{reason}}',\n /** Sufijo del comando que abre un destino como pestaña del espacio. */\n openInWorkspaceHint: 'Pestaña',\n },\n sidebar: {\n expand: 'Expandir barra lateral',\n collapse: 'Contraer barra lateral',\n openMenu: 'Abrir el menú',\n closeMenu: 'Cerrar el menú',\n // The drawer is a dialog, so it needs a name of its own — the landmark\n // inside it is the nav, and a dialog with no accessible name is announced\n // as just \"dialog\".\n menu: 'Menú de navegación',\n expandGroup: 'Desplegar {{group}}',\n collapseGroup: 'Plegar {{group}}',\n },\n /**\n * The session strip, rendered by `SessionKeepalive` only inside the final\n * window before the absolute ceiling. One key, because the strip says one\n * thing: nothing here counts down, since a number that moves invites a person\n * to watch it rather than to save their work.\n */\n session: {\n expiringSoon:\n 'Tu sesión está por expirar. Guarda tu trabajo e inicia sesión de nuevo para continuar.',\n },\n breadcrumbs: {\n home: 'Inicio',\n // The `/new` segment, which every domain's create route shares. It was\n // an auth-specific string until one host started serving two domains,\n // at which point a catalog page's breadcrumb read \"New user\".\n new: 'Nuevo',\n },\n /**\n * The account surface. The auth shell owns the screens, but `ACCOUNT_DESTINATIONS`\n * — the one list every app builds its menu from — lives in the shell, so the\n * shell owns their names too and resolves them itself.\n */\n account: {\n profile: 'Perfil',\n security: 'Seguridad',\n sessions: 'Sesiones',\n signOut: 'Cerrar sesión',\n },\n workspace: {\n copyLink: 'Copiar enlace',\n empty:\n 'No hay pestañas abiertas. Elige un catálogo en la barra lateral para empezar.',\n unsupported: 'Esta pestaña no se puede abrir aquí.',\n // The confirmation that guards closing a dirty tab. The title carries the\n // question, so the message states the consequence rather than repeating it\n // — it was phrased as a question while `window.confirm` rendered it, which\n // had nowhere to put a title.\n discardTitle: 'Descartar cambios',\n discard:\n 'Esta pestaña tiene cambios sin guardar. Si la cierras, se perderán.',\n discardConfirm: 'Descartar',\n // What became of a write the server has not finished. `count` is the\n // number in flight; a failure names no reason here, because the only one a\n // transaction carries is a server exception string in whatever language it\n // was written in — that is rendered beside this, unlocalized and marked so.\n pendingLabel: 'Estado de los guardados',\n savePending_one: 'Guardando 1 registro…',\n savePending_other: 'Guardando {{count}} registros…',\n saveFailed: 'No se pudo guardar el registro.',\n saveFailedDismiss: 'Descartar',\n },\n /**\n * The storefront. Its pages live in `shells-next-marketplace`, so its copy\n * lives here and not in an app catalog — `app:` is reserved for `apps/`.\n */\n};\n"],"names":["shell","nav","primary","openInWorkspace","openInWorkspaceShort","openInNewTab","openInNewTabShort","screenType","master","operation","wizard","report","commandPalette","open","title","placeholder","newPlaceholder","newLabel","newTitle","back","empty","loading","more_one","more_other","typeMore","groups","actions","commands","navigation","tabs","records","unavailableScope","unavailableReach","openInWorkspaceHint","sidebar","expand","collapse","openMenu","closeMenu","menu","expandGroup","collapseGroup","session","expiringSoon","breadcrumbs","home","new","account","profile","security","sessions","signOut","workspace","copyLink","unsupported","discardTitle","discard","discardConfirm","pendingLabel","savePending_one","savePending_other","saveFailed","saveFailedDismiss"],"mappings":"AAAA,8EAA8E,GAC9E,OAAO,MAAMA,QAAQ;IACnBC,KAAK;QACHC,SAAS;QACTC,iBAAiB;QACjBC,sBAAsB;QACtBC,cAAc;QACdC,mBAAmB;QACnB;;;;;;KAMC,GACDC,YAAY;YACVC,QAAQ;YACRC,WAAW;YACXC,QAAQ;YACRC,QAAQ;QACV;IACF;IACA;;;;GAIC,GACDC,gBAAgB;QACd,0EAA0E,GAC1EC,MAAM;QACN,mDAAmD,GACnDC,OAAO;QACPC,aAAa;QACbC,gBAAgB;QAChBC,UAAU;QACV,0EAA0E,GAC1EC,UAAU;QACVC,MAAM;QACNC,OAAO;QACPC,SAAS;QACTC,UAAU;QACVC,YAAY;QACZ,yEAAyE,GACzEC,UAAU;QACVC,QAAQ;YACNC,SAAS;YACTC,UAAU;YACVC,YAAY;YACZC,MAAM;YACNC,SAAS;QACX;QACA;;;;KAIC,GACDC,kBAAkB;QAClBC,kBAAkB;QAClB,qEAAqE,GACrEC,qBAAqB;IACvB;IACAC,SAAS;QACPC,QAAQ;QACRC,UAAU;QACVC,UAAU;QACVC,WAAW;QACX,uEAAuE;QACvE,0EAA0E;QAC1E,oBAAoB;QACpBC,MAAM;QACNC,aAAa;QACbC,eAAe;IACjB;IACA;;;;;GAKC,GACDC,SAAS;QACPC,cACE;IACJ;IACAC,aAAa;QACXC,MAAM;QACN,uEAAuE;QACvE,sEAAsE;QACtE,8DAA8D;QAC9DC,KAAK;IACP;IACA;;;;GAIC,GACDC,SAAS;QACPC,SAAS;QACTC,UAAU;QACVC,UAAU;QACVC,SAAS;IACX;IACAC,WAAW;QACTC,UAAU;QACVjC,OACE;QACFkC,aAAa;QACb,0EAA0E;QAC1E,2EAA2E;QAC3E,2EAA2E;QAC3E,8BAA8B;QAC9BC,cAAc;QACdC,SACE;QACFC,gBAAgB;QAChB,qEAAqE;QACrE,2EAA2E;QAC3E,2EAA2E;QAC3E,4EAA4E;QAC5EC,cAAc;QACdC,iBAAiB;QACjBC,mBAAmB;QACnBC,YAAY;QACZC,mBAAmB;IACrB;AAKF,EAAE"}