@antelopejs/dms-saas 0.2.0 → 0.2.1

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 (177) hide show
  1. package/README.md +257 -10
  2. package/dist/billing-state/index.d.ts +1 -0
  3. package/dist/billing-state/index.js +1 -0
  4. package/dist/billing-state/index.js.map +1 -1
  5. package/dist/billing-state/past-due-banner.d.ts +4 -0
  6. package/dist/billing-state/past-due-banner.js +25 -0
  7. package/dist/billing-state/past-due-banner.js.map +1 -0
  8. package/dist/config/runtime.d.ts +6 -1
  9. package/dist/config/runtime.js +50 -1
  10. package/dist/config/runtime.js.map +1 -1
  11. package/dist/crons/recompute-billing-state.js +4 -1
  12. package/dist/crons/recompute-billing-state.js.map +1 -1
  13. package/dist/data-api/platformOwner/index.d.ts +1 -0
  14. package/dist/data-api/platformOwner/index.js +1 -0
  15. package/dist/data-api/platformOwner/index.js.map +1 -1
  16. package/dist/data-api/platformOwner/invitations.d.ts +22 -0
  17. package/dist/data-api/platformOwner/invitations.js +121 -0
  18. package/dist/data-api/platformOwner/invitations.js.map +1 -0
  19. package/dist/data-api/platformOwner/workspaces.d.ts +3 -0
  20. package/dist/data-api/platformOwner/workspaces.js +64 -12
  21. package/dist/data-api/platformOwner/workspaces.js.map +1 -1
  22. package/dist/data-api/tenant/tenant-invoices.js +2 -10
  23. package/dist/data-api/tenant/tenant-invoices.js.map +1 -1
  24. package/dist/hooks/register.js +2 -1
  25. package/dist/hooks/register.js.map +1 -1
  26. package/dist/implementations/dms-saas/billing.d.ts +2 -1
  27. package/dist/implementations/dms-saas/billing.js +6 -0
  28. package/dist/implementations/dms-saas/billing.js.map +1 -1
  29. package/dist/index.js +5 -0
  30. package/dist/index.js.map +1 -1
  31. package/dist/invoice-line-items/injection.d.ts +10 -0
  32. package/dist/invoice-line-items/injection.js +7 -3
  33. package/dist/invoice-line-items/injection.js.map +1 -1
  34. package/dist/operator-actions/index.d.ts +1 -0
  35. package/dist/operator-actions/index.js +1 -0
  36. package/dist/operator-actions/index.js.map +1 -1
  37. package/dist/operator-actions/invitation-commands.d.ts +12 -0
  38. package/dist/operator-actions/invitation-commands.js +46 -0
  39. package/dist/operator-actions/invitation-commands.js.map +1 -0
  40. package/dist/operator-actions/types.d.ts +1 -1
  41. package/dist/pages/platform/dashboard.js +2 -4
  42. package/dist/pages/platform/dashboard.js.map +1 -1
  43. package/dist/pages/platform/workspaces/detail.js +40 -1
  44. package/dist/pages/platform/workspaces/detail.js.map +1 -1
  45. package/dist/pages/platform/workspaces/index.d.ts +2 -8
  46. package/dist/pages/platform/workspaces/index.js +27 -111
  47. package/dist/pages/platform/workspaces/index.js.map +1 -1
  48. package/dist/pages/public/legal/privacy-policy.js +2 -1
  49. package/dist/pages/public/legal/privacy-policy.js.map +1 -1
  50. package/dist/pages/public/legal/terms-and-conditions.js +2 -1
  51. package/dist/pages/public/legal/terms-and-conditions.js.map +1 -1
  52. package/dist/pages/public/legal/terms-of-use.js +2 -1
  53. package/dist/pages/public/legal/terms-of-use.js.map +1 -1
  54. package/dist/plans/index.d.ts +1 -0
  55. package/dist/plans/index.js +1 -0
  56. package/dist/plans/index.js.map +1 -1
  57. package/dist/plans/platform-support.d.ts +2 -0
  58. package/dist/plans/platform-support.js +19 -0
  59. package/dist/plans/platform-support.js.map +1 -0
  60. package/dist/plans/seat-capacity.d.ts +9 -2
  61. package/dist/plans/seat-capacity.js +59 -12
  62. package/dist/plans/seat-capacity.js.map +1 -1
  63. package/dist/plans/seat-hooks.js +34 -13
  64. package/dist/plans/seat-hooks.js.map +1 -1
  65. package/dist/routes/platformOwner/dashboard.d.ts +8 -6
  66. package/dist/routes/platformOwner/dashboard.js +31 -17
  67. package/dist/routes/platformOwner/dashboard.js.map +1 -1
  68. package/dist/routes/platformOwner/index.d.ts +1 -0
  69. package/dist/routes/platformOwner/index.js +1 -0
  70. package/dist/routes/platformOwner/index.js.map +1 -1
  71. package/dist/routes/platformOwner/workspace-invitations.d.ts +13 -0
  72. package/dist/routes/platformOwner/workspace-invitations.js +73 -0
  73. package/dist/routes/platformOwner/workspace-invitations.js.map +1 -0
  74. package/dist/routes/public/register.d.ts +7 -3
  75. package/dist/routes/public/register.js +42 -27
  76. package/dist/routes/public/register.js.map +1 -1
  77. package/dist/routes/tenant/tenant-billing.d.ts +7 -11
  78. package/dist/routes/tenant/tenant-billing.js +34 -26
  79. package/dist/routes/tenant/tenant-billing.js.map +1 -1
  80. package/dist/routes/tenant/tenant-plan.d.ts +1 -0
  81. package/dist/routes/tenant/tenant-plan.js +27 -2
  82. package/dist/routes/tenant/tenant-plan.js.map +1 -1
  83. package/dist/routes/tenant/tenant-seats.d.ts +2 -4
  84. package/dist/routes/tenant/tenant-seats.js.map +1 -1
  85. package/dist/routes/tenant/workspaces.d.ts +2 -0
  86. package/dist/routes/tenant/workspaces.js +10 -4
  87. package/dist/routes/tenant/workspaces.js.map +1 -1
  88. package/dist/stripe/upcoming-invoice.d.ts +21 -0
  89. package/dist/stripe/upcoming-invoice.js +42 -0
  90. package/dist/stripe/upcoming-invoice.js.map +1 -0
  91. package/dist/stripe/webhook-dispatch.js +2 -0
  92. package/dist/stripe/webhook-dispatch.js.map +1 -1
  93. package/dist/types/config.d.ts +9 -0
  94. package/dist/types/config.js +7 -0
  95. package/dist/types/config.js.map +1 -1
  96. package/dist/upcoming-invoice/db/preview-cache.model.d.ts +38 -0
  97. package/dist/upcoming-invoice/db/preview-cache.model.js +57 -0
  98. package/dist/upcoming-invoice/db/preview-cache.model.js.map +1 -0
  99. package/dist/upcoming-invoice/db/preview-cache.table.d.ts +10 -0
  100. package/dist/upcoming-invoice/db/preview-cache.table.js +42 -0
  101. package/dist/upcoming-invoice/db/preview-cache.table.js.map +1 -0
  102. package/dist/upcoming-invoice/eligibility.d.ts +17 -0
  103. package/dist/upcoming-invoice/eligibility.js +52 -0
  104. package/dist/upcoming-invoice/eligibility.js.map +1 -0
  105. package/dist/upcoming-invoice/invalidation.d.ts +2 -0
  106. package/dist/upcoming-invoice/invalidation.js +39 -0
  107. package/dist/upcoming-invoice/invalidation.js.map +1 -0
  108. package/dist/upcoming-invoice/mapping.d.ts +8 -0
  109. package/dist/upcoming-invoice/mapping.js +82 -0
  110. package/dist/upcoming-invoice/mapping.js.map +1 -0
  111. package/dist/upcoming-invoice/outcomes.d.ts +13 -0
  112. package/dist/upcoming-invoice/outcomes.js +15 -0
  113. package/dist/upcoming-invoice/outcomes.js.map +1 -0
  114. package/dist/upcoming-invoice/preview.d.ts +3 -0
  115. package/dist/upcoming-invoice/preview.js +80 -0
  116. package/dist/upcoming-invoice/preview.js.map +1 -0
  117. package/dist/upcoming-invoice/pricing.d.ts +3 -0
  118. package/dist/upcoming-invoice/pricing.js +84 -0
  119. package/dist/upcoming-invoice/pricing.js.map +1 -0
  120. package/dist/upcoming-invoice/usage.d.ts +14 -0
  121. package/dist/upcoming-invoice/usage.js +53 -0
  122. package/dist/upcoming-invoice/usage.js.map +1 -0
  123. package/dist/workspaces/billing-identity.d.ts +19 -0
  124. package/dist/workspaces/billing-identity.js +51 -0
  125. package/dist/workspaces/billing-identity.js.map +1 -0
  126. package/dist/workspaces/default-plan.d.ts +5 -0
  127. package/dist/workspaces/default-plan.js +109 -0
  128. package/dist/workspaces/default-plan.js.map +1 -0
  129. package/dist/workspaces/index.d.ts +2 -0
  130. package/dist/workspaces/index.js +2 -0
  131. package/dist/workspaces/index.js.map +1 -1
  132. package/dist/workspaces/invitations.d.ts +26 -0
  133. package/dist/workspaces/invitations.js +112 -0
  134. package/dist/workspaces/invitations.js.map +1 -0
  135. package/dist/workspaces/provisioning.d.ts +3 -3
  136. package/dist/workspaces/provisioning.js +39 -11
  137. package/dist/workspaces/provisioning.js.map +1 -1
  138. package/frontend-vue/app/components/BillingIdentityFields.vue +179 -0
  139. package/frontend-vue/app/components/PastDueBanner.vue +81 -0
  140. package/frontend-vue/app/components/PaymentMethodCard.vue +94 -38
  141. package/frontend-vue/app/components/PlanComparisonModal.vue +62 -26
  142. package/frontend-vue/app/components/PlanUpgradeModal.vue +181 -0
  143. package/frontend-vue/app/components/PlatformNotes.vue +4 -0
  144. package/frontend-vue/app/components/RefundButton.vue +10 -1
  145. package/frontend-vue/app/components/Register.vue +49 -92
  146. package/frontend-vue/app/components/SeatQuotaBanner.vue +28 -0
  147. package/frontend-vue/app/components/TenantBillingForm.vue +52 -128
  148. package/frontend-vue/app/components/TenantPlanCard.vue +68 -10
  149. package/frontend-vue/app/components/UserSummaryCard.vue +12 -10
  150. package/frontend-vue/app/components/WorkspaceAdminCreateModal.vue +202 -0
  151. package/frontend-vue/app/components/WorkspaceCreateModal.vue +46 -9
  152. package/frontend-vue/app/components/WorkspaceInvitationLink.vue +106 -0
  153. package/frontend-vue/app/components/WorkspaceSummaryCard.vue +39 -15
  154. package/frontend-vue/app/components/WorkspaceSuspended.vue +3 -5
  155. package/frontend-vue/app/components/WorkspaceSwitcherWidget.vue +8 -5
  156. package/frontend-vue/app/composables/useBillingCountries.ts +25 -5
  157. package/frontend-vue/app/composables/useBillingIdentity.ts +141 -0
  158. package/frontend-vue/app/composables/useInvitationLink.ts +69 -0
  159. package/frontend-vue/app/composables/usePastDueBannerAction.ts +20 -0
  160. package/frontend-vue/app/composables/usePlanComparison.ts +15 -0
  161. package/frontend-vue/app/composables/usePlanFeatureFormat.ts +312 -20
  162. package/frontend-vue/app/composables/usePlanFeatureLabel.ts +24 -0
  163. package/frontend-vue/app/composables/useSaasRegistration.ts +110 -223
  164. package/frontend-vue/app/composables/useSeatQuota.ts +8 -0
  165. package/frontend-vue/app/composables/useStripePaymentElement.ts +3 -3
  166. package/frontend-vue/app/composables/useWorkspaceAccessCache.ts +29 -2
  167. package/frontend-vue/app/composables/useWorkspaceFinalization.ts +7 -32
  168. package/frontend-vue/app/custom-pages/auth/no-workspace.vue +49 -194
  169. package/frontend-vue/app/plugins/auth-links.ts +0 -4
  170. package/frontend-vue/app/types/runtime-config.ts +13 -0
  171. package/frontend-vue/dms.frontend.ts +10 -4
  172. package/frontend-vue/i18n/locales/saas-en-GB.json +161 -36
  173. package/frontend-vue/i18n/locales/saas-fr-FR.json +162 -37
  174. package/frontend-vue/package.json +0 -1
  175. package/frontend-vue/pnpm-lock.yaml +1 -125
  176. package/package.json +5 -5
  177. package/frontend-vue/app/middleware/workspace-suspended.global.ts +0 -59
@@ -43,7 +43,8 @@
43
43
  "no_stripe_price": "Le plan n'a pas de tarif Stripe",
44
44
  "seat_limit_reached": "La limite de membres du plan est atteinte",
45
45
  "no_pending_change": "Aucun changement de plan programmé à annuler",
46
- "unpaid_invoice_blocks_downgrade": "Une facture est impayée. Réglez-la avant de passer à un plan moins cher."
46
+ "unpaid_invoice_blocks_downgrade": "Une facture est impayée. Réglez-la avant de passer à un plan moins cher.",
47
+ "no_free_plan": "Aucun plan gratuit n'est disponible pour l'inscription pour le moment."
47
48
  },
48
49
  "workspace": {
49
50
  "not_found": "Espace introuvable",
@@ -96,7 +97,8 @@
96
97
  "billing": {
97
98
  "country_required": "Le pays de facturation est requis",
98
99
  "info_not_found": "Informations de facturation introuvables",
99
- "invalid_return_url": "URL de retour invalide"
100
+ "invalid_return_url": "URL de retour invalide",
101
+ "identity_incomplete": "Des champs de facturation obligatoires sont manquants ou invalides."
100
102
  },
101
103
  "migration": {
102
104
  "already_pending": "Une migration est déjà en attente pour ce plan"
@@ -164,7 +166,14 @@
164
166
  "registration": {
165
167
  "extras_invalid": "Les champs d'inscription supplémentaires ne sont pas dans un format accepté",
166
168
  "extras_too_large": "Les champs d'inscription supplémentaires sont trop volumineux",
167
- "extras_too_complex": "Les champs d'inscription supplémentaires comportent trop d'entrées"
169
+ "extras_too_complex": "Les champs d'inscription supplémentaires comportent trop d'entrées",
170
+ "payment_method_required": "Un moyen de paiement est requis pour s'inscrire.",
171
+ "payment_method_disabled": "Ce déploiement ne demande pas de carte à l'inscription.",
172
+ "password_policy": "Le mot de passe doit comporter au moins 8 caractères, dont une majuscule, un chiffre et l'un de {'@'}$!%*?&, sans autre caractère spécial."
173
+ },
174
+ "invitations": {
175
+ "not_found": "Cette invitation n'existe plus.",
176
+ "email_not_sent": "L'invitation a été renouvelée mais l'e-mail n'a pas pu être envoyé. Copiez le lien d'invitation et envoyez-le vous-même."
168
177
  }
169
178
  },
170
179
  "dashboard": {
@@ -194,14 +203,12 @@
194
203
  },
195
204
  "register": {
196
205
  "title": "Inscription",
197
- "page_description": "Créer un compte, choisir un plan et provisionner votre premier workspace.",
198
- "submit": "S'inscrire et payer",
199
- "choose_plan": "Choisir un plan",
206
+ "page_description": "Créer un compte et ouvrir votre premier workspace sur le plan gratuit.",
207
+ "submit": "Créer mon compte",
200
208
  "field": {
201
209
  "email": "Email",
202
210
  "password": "Mot de passe",
203
211
  "full_name": "Nom complet",
204
- "workspace_name": "Nom du workspace",
205
212
  "company_name": "Raison sociale",
206
213
  "vat_number": "Numéro de TVA",
207
214
  "country": "Pays",
@@ -217,31 +224,25 @@
217
224
  "business": "Professionnel"
218
225
  },
219
226
  "error": {
220
- "no_plan": "Veuillez sélectionner un plan",
221
227
  "no_payment": "Méthode de paiement requise",
222
- "no_country": "Veuillez sélectionner votre pays de facturation",
223
228
  "legal_required": "Vous devez accepter les conditions générales et la politique de confidentialité",
224
229
  "failed": "Échec de l'inscription",
225
230
  "load": "Impossible de charger les options d'inscription"
226
231
  },
227
232
  "legal_acceptance": "J'accepte les {terms_and_conditions} et la {privacy_policy}",
228
- "price": "{price}/{interval}",
229
- "interval": {
230
- "month": "mois",
231
- "year": "an"
232
- }
233
+ "hint": {
234
+ "card": "Enregistrée en toute sécurité via Stripe. Aucun débit sur le plan gratuit."
235
+ },
236
+ "skip_payment_method": "Ajouter une carte plus tard",
237
+ "default_workspace_name": "Workspace de {name}"
233
238
  },
234
239
  "no_workspace": {
235
240
  "title": "Configurez votre premier workspace",
236
- "subtitle": "Vous êtes connecté, mais vous n'appartenez encore à aucun workspace. Choisissez un plan et créez-en un pour commencer.",
241
+ "subtitle": "Vous êtes connecté, mais vous n'appartenez encore à aucun workspace. Créez-en un sur le plan gratuit pour commencer — vous pourrez le renommer et changer de plan plus tard.",
237
242
  "logout": "Se déconnecter",
238
- "submit": "Créer le workspace et payer",
243
+ "submit": "Créer le workspace",
239
244
  "submitting": "Création de votre workspace…",
240
245
  "section": {
241
- "details": "Détails du workspace",
242
- "details_hint": "C'est le nom de l'espace de travail que verra votre équipe.",
243
- "plan": "Choisir un plan",
244
- "plan_hint": "Vous pourrez en changer plus tard depuis les paramètres de facturation.",
245
246
  "payment": "Méthode de paiement",
246
247
  "payment_hint": "Stockée en toute sécurité via Stripe."
247
248
  },
@@ -251,7 +252,7 @@
251
252
  }
252
253
  },
253
254
  "oauth_registration": {
254
- "entry_note": "S'inscrire via un fournisseur demande quand même un plan et une carte à l'étape suivante.",
255
+ "entry_note": "S'inscrire via un fournisseur vous demande quand même d'accepter les conditions à l'étape suivante.",
255
256
  "identity": {
256
257
  "provider": "Connecté avec {provider} en tant que {email}",
257
258
  "password": "Connecté en tant que {email}",
@@ -445,7 +446,9 @@
445
446
  "name": "Le nom est obligatoire.",
446
447
  "plan": "Le plan est obligatoire.",
447
448
  "owner_email": "L'email du propriétaire est obligatoire.",
448
- "free_until_past": "La date d'expiration doit être dans le futur."
449
+ "free_until_past": "La date d'expiration doit être dans le futur.",
450
+ "load": "Impossible de charger les plans.",
451
+ "failed": "Impossible de créer l'espace de travail."
449
452
  },
450
453
  "field": {
451
454
  "name": "Nom du workspace",
@@ -454,8 +457,6 @@
454
457
  "owner_email": "Email du propriétaire",
455
458
  "owner_email_description": "Si l'email correspond à un utilisateur existant, il est ajouté comme propriétaire. Sinon, une invitation lui est envoyée.",
456
459
  "name_description": "Nom interne du workspace (peut être renommé plus tard).",
457
- "free_workspace": "Workspace gratuit",
458
- "free_workspace_description": "Pas de facturation Stripe. Décocher pour ouvrir une session Stripe Checkout que le propriétaire devra valider.",
459
460
  "free_until": "Gratuit jusqu'au",
460
461
  "free_until_description": "Optionnel. Date à laquelle l'offre gratuite expire. Laisser vide pour une durée indéfinie. Après cette date, le workspace passe en past_due et l'accès est bloqué jusqu'à la sélection d'un plan payant."
461
462
  },
@@ -463,6 +464,11 @@
463
464
  "name": "Acme Corp",
464
465
  "plan": "Sélectionner un plan",
465
466
  "owner_email": "proprietaire{'@'}example.com"
467
+ },
468
+ "submit": "Créer l'espace de travail",
469
+ "email_failed": {
470
+ "title": "Espace de travail créé, mais l'e-mail d'invitation n'a pas pu être envoyé",
471
+ "description": "Le propriétaire n'a pas été prévenu. Copiez le lien d'invitation et envoyez-le-lui vous-même."
466
472
  }
467
473
  }
468
474
  },
@@ -517,7 +523,8 @@
517
523
  "company_name": "Raison sociale",
518
524
  "customer_type": "Type de client",
519
525
  "vat_number": "Numéro de TVA",
520
- "owner": "Propriétaire"
526
+ "owner": "Propriétaire",
527
+ "owner_status": "Statut du propriétaire"
521
528
  },
522
529
  "status": {
523
530
  "active": "Actif",
@@ -548,10 +555,18 @@
548
555
  "cancelled": "Annulé",
549
556
  "pending_payment": "Paiement en attente"
550
557
  },
558
+ "owner_status": {
559
+ "joined": "A rejoint",
560
+ "invitation_pending": "Invitation en attente",
561
+ "invitation_expired": "Invitation expirée",
562
+ "none": "Aucun propriétaire"
563
+ },
551
564
  "summary": {
552
565
  "title": "Résumé workspace",
553
- "members": "{count} membre(s)",
554
- "per_month": "/mois"
566
+ "members": "{count} membre | {count} membres",
567
+ "platform_support": "{count} support plateforme | {count} supports plateforme",
568
+ "per_month": "/mois",
569
+ "pending_invitations": "{count} invitation en attente | {count} invitations en attente"
555
570
  },
556
571
  "tabs": {
557
572
  "invoices": "Factures",
@@ -588,7 +603,39 @@
588
603
  "load": "Impossible de charger les options de création.",
589
604
  "failed": "Impossible de créer le workspace.",
590
605
  "card": "Impossible d'initialiser le paiement par carte."
591
- }
606
+ },
607
+ "no_plans": "Aucun plan n'est disponible pour le moment. Contactez le support pour créer un workspace."
608
+ }
609
+ },
610
+ "invitations": {
611
+ "caption": "Invitations en attente",
612
+ "column": {
613
+ "status": "Statut",
614
+ "sent_at": "Envoyée",
615
+ "expires_at": "Expire"
616
+ },
617
+ "status": {
618
+ "pending": "En attente",
619
+ "expired": "Expirée"
620
+ },
621
+ "action": {
622
+ "resend": "Renvoyer",
623
+ "resend_success": "Invitation renvoyée.",
624
+ "resend_confirm_title": "Renvoyer cette invitation ?",
625
+ "resend_confirm_description": "Un nouveau lien valable 7 jours est envoyé par e-mail à l'invité. L'ancien lien cesse de fonctionner.",
626
+ "copy_link": "Copier le lien d'invitation"
627
+ },
628
+ "link": {
629
+ "title": "Lien d'invitation",
630
+ "description": "Envoyez ce lien à l'invité pour qu'il crée son compte et rejoigne l'espace de travail.",
631
+ "label": "Lien d'inscription",
632
+ "expires": "Valable jusqu'au {date}.",
633
+ "copy": "Copier",
634
+ "copied": "Lien d'invitation copié.",
635
+ "copy_failed": "Impossible de copier le lien. Copiez-le manuellement :",
636
+ "error": "Impossible de récupérer le lien d'invitation.",
637
+ "warning": "Toute personne disposant de ce lien peut rejoindre l'espace de travail à la place de l'invité. Ne le partagez qu'avec lui.",
638
+ "close": "Fermer"
592
639
  }
593
640
  }
594
641
  },
@@ -662,7 +709,9 @@
662
709
  "subtotal": "Total HT",
663
710
  "tax": "TVA",
664
711
  "total": "Total TTC",
665
- "lines": "Lignes"
712
+ "lines": "Lignes",
713
+ "total_excl_tax": "Total HT",
714
+ "total_incl_tax": "Total TTC"
666
715
  },
667
716
  "actions": {
668
717
  "download_pdf": "Télécharger PDF",
@@ -911,7 +960,12 @@
911
960
  "limit_reached_owner": "La limite de sièges de votre plan est atteinte. Passez à un plan supérieur pour ajouter des membres.",
912
961
  "limit_reached_member": "La limite de sièges de votre plan est atteinte. Demandez à un propriétaire du workspace de changer de plan.",
913
962
  "upgrade": "Changer de plan",
914
- "load_failed": "Impossible de charger l'utilisation des sièges"
963
+ "load_failed": "Impossible de charger l'utilisation des sièges",
964
+ "platform_support": {
965
+ "title": "Support de la plateforme",
966
+ "badge": "Support plateforme",
967
+ "description": "Ces membres de l'équipe de la plateforme ont accès à ce workspace pour vous accompagner. Ils apparaissent sans rôle dans la liste des membres et n'occupent aucun siège."
968
+ }
915
969
  },
916
970
  "free_access": {
917
971
  "banner_title": "Accès offert",
@@ -952,7 +1006,15 @@
952
1006
  "suspend_warning": "Sans régularisation, le workspace est suspendu le {date} — données et volumes préservés.",
953
1007
  "suspended_summary": "La facture {invoice} de {amount} reste impayée. Le règlement rétablit l'accès immédiatement.",
954
1008
  "settle": "Régler sur Stripe",
955
- "load_failed": "Impossible de vérifier l'état de facturation de ce workspace."
1009
+ "load_failed": "Impossible de vérifier l'état de facturation de ce workspace.",
1010
+ "banner": {
1011
+ "generic": "Paiement échoué — ce workspace a une facture impayée. Le propriétaire du workspace doit la régler pour éviter la suspension.",
1012
+ "generic_owner": "Paiement échoué — ce workspace a une facture impayée. Réglez-la depuis la page de facturation pour éviter la suspension.",
1013
+ "open_billing": "Ouvrir la facturation",
1014
+ "summary": "Paiement échoué — la facture {invoice} de {amount} est impayée.",
1015
+ "with_deadline": "Paiement échoué — la facture {invoice} de {amount} est impayée. Régularisez avant le {date} pour éviter la suspension.",
1016
+ "settle": "Régulariser"
1017
+ }
956
1018
  },
957
1019
  "payment_method": {
958
1020
  "title": "Moyen de paiement",
@@ -962,8 +1024,15 @@
962
1024
  "declined": "refusée",
963
1025
  "default": "par défaut",
964
1026
  "expires": "exp. {date}",
965
- "none": "Aucune carte enregistrée.",
966
- "portal_hint": "Changement de carte, reçus, historique : tout se passe dans le portail Stripe ; la carte n'est jamais stockée chez nous."
1027
+ "none": "Pas encore de carte — elle vous sera demandée au passage à un plan payant.",
1028
+ "none_with_portal": "Aucune carte enregistrée — ajoutez-en une depuis le portail Stripe ci-dessous.",
1029
+ "portal_hint": "Changement de carte, reçus, historique : tout se passe dans le portail Stripe ; la carte n'est jamais stockée chez nous.",
1030
+ "verified": "vérifiée",
1031
+ "never_charged": "jamais débitée",
1032
+ "add": "Passer à un plan payant",
1033
+ "owner_only": "Le moyen de paiement est géré par le propriétaire du workspace.",
1034
+ "update_note": "Le dernier prélèvement sur cette carte a été refusé : mettez-la à jour dans le portail Stripe, puis réglez la facture impayée.",
1035
+ "free_note": "Vérifiée — jamais débitée tant que le workspace reste sur un plan gratuit."
967
1036
  },
968
1037
  "billing_email": {
969
1038
  "label": "E-mail de facturation",
@@ -973,16 +1042,61 @@
973
1042
  "verified": "vérifiée (VIES)",
974
1043
  "pending": "vérification en cours",
975
1044
  "unverified": "non vérifiée"
1045
+ },
1046
+ "identity": {
1047
+ "to_complete": "à compléter",
1048
+ "incomplete_toast": "Complétez les champs signalés.",
1049
+ "optional": "facultatif",
1050
+ "country_placeholder": "Choisir un pays",
1051
+ "customer_type_hint": {
1052
+ "business": "Facture au nom d'une société, avec son n° de TVA.",
1053
+ "individual": "Facture à votre nom."
1054
+ },
1055
+ "errors": {
1056
+ "customerType": "Choisissez un type de client.",
1057
+ "companyName": "La raison sociale est obligatoire.",
1058
+ "country": "Choisissez le pays de facturation.",
1059
+ "line1": "L'adresse est obligatoire.",
1060
+ "postalCode": "Le code postal est obligatoire.",
1061
+ "city": "La ville est obligatoire.",
1062
+ "billingEmail": "Saisissez une adresse e-mail valide."
1063
+ }
976
1064
  }
977
1065
  },
978
1066
  "plan": {
979
1067
  "current": "Plan actuel",
980
- "none": "Aucun plan",
981
1068
  "change": "Changer de plan",
982
1069
  "go_paid": "Passer en payant",
983
1070
  "blocked_hint": "Le changement de plan redevient possible une fois la facture réglée.",
1071
+ "blocked_hint_inactive": "Le changement de plan redevient possible une fois l’espace de travail réactivé.",
984
1072
  "next_renewal": "Prochain renouvellement le {date}.",
985
1073
  "unlimited": "illimité",
1074
+ "units": {
1075
+ "byte": {
1076
+ "quantity": "{value} octet | {value} octets",
1077
+ "price": "{price} / octet"
1078
+ },
1079
+ "kilobyte": {
1080
+ "quantity": "{value} Ko",
1081
+ "price": "{price} / Ko"
1082
+ },
1083
+ "megabyte": {
1084
+ "quantity": "{value} Mo",
1085
+ "price": "{price} / Mo"
1086
+ },
1087
+ "gigabyte": {
1088
+ "quantity": "{value} Go",
1089
+ "price": "{price} / Go"
1090
+ },
1091
+ "terabyte": {
1092
+ "quantity": "{value} To",
1093
+ "price": "{price} / To"
1094
+ },
1095
+ "minute": {
1096
+ "quantity": "{value} minute | {value} minutes",
1097
+ "price": "{price} / minute"
1098
+ }
1099
+ },
986
1100
  "pending_downgrade": "Downgrade vers {plan} au prochain cycle",
987
1101
  "pending_downgrade_on": "Downgrade vers {plan} le {date}",
988
1102
  "cancel_downgrade": "Annuler le downgrade",
@@ -996,14 +1110,25 @@
996
1110
  },
997
1111
  "comparison": {
998
1112
  "title": "Changer de plan",
999
- "subtitle": "Actuellement en {plan}. Les upgrades s'appliquent immédiatement au prorata ; les downgrades prennent effet au prochain cycle.",
1000
- "subtitle_no_plan": "Les upgrades s'appliquent immédiatement au prorata ; les downgrades prennent effet au prochain cycle.",
1113
+ "subtitle": "Espace de travail {workspace} — plan actuel : {plan}. Le passage à un plan supérieur s'applique immédiatement, au prorata ; le passage à un plan inférieur prend effet au prochain cycle de facturation.",
1114
+ "subtitle_no_plan": "Le passage à un plan supérieur s'applique immédiatement, au prorata ; le passage à un plan inférieur prend effet au prochain cycle de facturation.",
1001
1115
  "current": "actuel",
1002
1116
  "scheduled": "programmé",
1003
1117
  "choose": "Choisir",
1004
1118
  "show_detail": "Voir tout le détail",
1005
1119
  "hide_detail": "Masquer le détail",
1006
- "footer": "Le prix du plan est un crédit d'usage prépayé aux tarifs publics, déduit de votre consommation à la minute. Il n'est pas reportable. Au-delà, le même tarif s'applique : jamais de cliff."
1120
+ "close": "Fermer"
1121
+ },
1122
+ "upgrade": {
1123
+ "title": "Passer en {plan}",
1124
+ "description": "Confirmez l'identité facturée, puis saisissez votre carte sur la page de paiement sécurisée de Stripe.",
1125
+ "subscription": "Abonnement {plan}",
1126
+ "due_today": "Prélevé aujourd'hui",
1127
+ "excl_tax": "{amount} HT",
1128
+ "tax_note": "TVA calculée selon le pays de facturation ci-dessous.",
1129
+ "card_title": "Carte bancaire",
1130
+ "card_note": "L'étape suivante ouvre la page de paiement sécurisée de Stripe, où la carte est saisie et débitée. Elle n'est jamais stockée chez nous.",
1131
+ "confirm": "Continuer vers le paiement"
1007
1132
  }
1008
1133
  },
1009
1134
  "data_export": {
@@ -12,7 +12,6 @@
12
12
  },
13
13
  "dependencies": {
14
14
  "@stripe/stripe-js": "^4.10.0",
15
- "@vueuse/core": "^13.0.0",
16
15
  "vue": "^3.5.18"
17
16
  },
18
17
  "devDependencies": {
@@ -11,9 +11,6 @@ importers:
11
11
  '@stripe/stripe-js':
12
12
  specifier: ^4.10.0
13
13
  version: 4.10.0
14
- '@vueuse/core':
15
- specifier: ^13.0.0
16
- version: 13.9.0(vue@3.5.34(typescript@5.9.3))
17
14
  vue:
18
15
  specifier: ^3.5.18
19
16
  version: 3.5.34(typescript@5.9.3)
@@ -915,32 +912,16 @@ packages:
915
912
  eslint: ^8.57.0 || ^9.0.0 || ^10.0.0
916
913
  typescript: '>=4.8.4 <6.1.0'
917
914
 
918
- '@typescript-eslint/project-service@8.59.2':
919
- resolution: {integrity: sha512-+2hqvEkeyf/0FBor67duF0Ll7Ot8jyKzDQOSrxazF/danillRq2DwR9dLptsXpoZQqxE1UisSmoZewrlPas9Vw==}
920
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
921
- peerDependencies:
922
- typescript: '>=4.8.4 <6.1.0'
923
-
924
915
  '@typescript-eslint/project-service@8.70.0':
925
916
  resolution: {integrity: sha512-hFHbTNqhU9G+2eKFXCBVb1tjFT/LceiJ4+HfLO4pTpDI0KHi6iajpcFFkaSQ9gXmCh7n82A0PthaayEdN6mspQ==}
926
917
  engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
927
918
  peerDependencies:
928
919
  typescript: '>=4.8.4 <6.1.0'
929
920
 
930
- '@typescript-eslint/scope-manager@8.59.2':
931
- resolution: {integrity: sha512-JzfyEpEtOU89CcFSwyNS3mu4MLvLSXqnmX05+aKBDM+TdR5jzcGOEBwxwGNxrEQ7p/z6kK2WyioCGBf2zZBnvg==}
932
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
933
-
934
921
  '@typescript-eslint/scope-manager@8.70.0':
935
922
  resolution: {integrity: sha512-8nP3Kwh5hlgZ4FicGvmznAmJe8UL4sdU8tLukrPaMuQmDuk4Y8xYfzu/aYZW4xT2JCgc7H/TpDI5cGlxcWJSqQ==}
936
923
  engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
937
924
 
938
- '@typescript-eslint/tsconfig-utils@8.59.2':
939
- resolution: {integrity: sha512-BKK4alN7oi4C/zv4VqHQ+uRU+lTa6JGIZ7s1juw7b3RHo9OfKB+bKX3u0iVZetdsUCBBkSbdWbarJbmN0fTeSw==}
940
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
941
- peerDependencies:
942
- typescript: '>=4.8.4 <6.1.0'
943
-
944
925
  '@typescript-eslint/tsconfig-utils@8.70.0':
945
926
  resolution: {integrity: sha512-adnkeeNq9Sq1sUf4+FRVc0KdgYghzsgFpZSQVZVvY0LCuUuN0FnQgyGzCJeC4fW1cdXseBAjU2EOqUIjbNcZUw==}
946
927
  engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
@@ -954,33 +935,16 @@ packages:
954
935
  eslint: ^8.57.0 || ^9.0.0 || ^10.0.0
955
936
  typescript: '>=4.8.4 <6.1.0'
956
937
 
957
- '@typescript-eslint/types@8.59.2':
958
- resolution: {integrity: sha512-e82GVOE8Ps3E++Egvb6Y3Dw0S10u8NkQ9KXmtRhCWJJ8kDhOJTvtMAWnFL16kB1583goCWXsr0NieKCZMs2/0Q==}
959
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
960
-
961
938
  '@typescript-eslint/types@8.70.0':
962
939
  resolution: {integrity: sha512-asTOIYhDg4zdzOScCyaytrsV3cR6B4ecPQlXw/dJIm7J/MZTtCtfVII9JD8Geh4jTCrK/Xe6cg5UevoleMcoJQ==}
963
940
  engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
964
941
 
965
- '@typescript-eslint/typescript-estree@8.59.2':
966
- resolution: {integrity: sha512-o0XPGNwcWw+FIwStOWn+BwBuEmL6QXP0rsvAFg7ET1dey1Nr6Wb1ac8p5HEsK0ygO/6mUxlk+YWQD9xcb/nnXg==}
967
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
968
- peerDependencies:
969
- typescript: '>=4.8.4 <6.1.0'
970
-
971
942
  '@typescript-eslint/typescript-estree@8.70.0':
972
943
  resolution: {integrity: sha512-d9NmHMPEKQ7QCLLm1jI3zmoQBwT5KwFYjXBJ9ymZfKCUU+5rmTRykKAFvH5Qn/ZCds3CEAFS9OC9M/jkl0X2bA==}
973
944
  engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
974
945
  peerDependencies:
975
946
  typescript: '>=4.8.4 <6.1.0'
976
947
 
977
- '@typescript-eslint/utils@8.59.2':
978
- resolution: {integrity: sha512-Juw3EinkXqjaffxz6roowvV7GZT/kET5vSKKZT6upl5TXdWkLkYmNPXwDDL2Vkt2DPn0nODIS4egC/0AGxKo/Q==}
979
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
980
- peerDependencies:
981
- eslint: ^8.57.0 || ^9.0.0 || ^10.0.0
982
- typescript: '>=4.8.4 <6.1.0'
983
-
984
948
  '@typescript-eslint/utils@8.70.0':
985
949
  resolution: {integrity: sha512-oZmtKJz/4fufZ2p3+Cn3ijEojcdfR+1zYDH2xKYrEly0dR/Q/1xUPRCOlKGxod78nWlU2UnDe09GZ3TaknBFGA==}
986
950
  engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
@@ -988,10 +952,6 @@ packages:
988
952
  eslint: ^8.57.0 || ^9.0.0 || ^10.0.0
989
953
  typescript: '>=4.8.4 <6.1.0'
990
954
 
991
- '@typescript-eslint/visitor-keys@8.59.2':
992
- resolution: {integrity: sha512-NwjLUnGy8/Zfx23fl50tRC8rYaYnM52xNRYFAXvmiil9yh1+K6aRVQMnzW6gQB/1DLgWt977lYQn7C+wtgXZiA==}
993
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
994
-
995
955
  '@typescript-eslint/visitor-keys@8.70.0':
996
956
  resolution: {integrity: sha512-BoC8PiO4Hkdo0TVJh9Ntxr5MxPDI7/oFsrygN5ADelFSeXG/qgNuucIGA+L5Z6JpPTE/uRfcTWtscjbUaufepQ==}
997
957
  engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
@@ -1051,11 +1011,6 @@ packages:
1051
1011
  '@vueuse/core@10.11.1':
1052
1012
  resolution: {integrity: sha512-guoy26JQktXPcz+0n3GukWIy/JDNKti9v6VEMu6kV2sYBsWuGiTU8OWdg+ADfUbHg3/3DlqySDe7JmdHrktiww==}
1053
1013
 
1054
- '@vueuse/core@13.9.0':
1055
- resolution: {integrity: sha512-ts3regBQyURfCE2BcytLqzm8+MmLlo5Ln/KLoxDVcsZ2gzIwVNnQpQOL/UKV8alUqjSZOlpFZcRNsLRqj+OzyA==}
1056
- peerDependencies:
1057
- vue: ^3.5.0
1058
-
1059
1014
  '@vueuse/core@14.3.0':
1060
1015
  resolution: {integrity: sha512-aHfz47g0ZhMtTVHmIzMVpJy8ePhhOy68GY5bv110+5DVtZ+W7BsOx+m61UNQqfrWyPztIHIanWa3E2tib3NFIw==}
1061
1016
  peerDependencies:
@@ -1106,20 +1061,12 @@ packages:
1106
1061
  '@vueuse/metadata@10.11.1':
1107
1062
  resolution: {integrity: sha512-IGa5FXd003Ug1qAZmyE8wF3sJ81xGLSqTqtQ6jaVfkeZ4i5kS2mwQF61yhVqojRnenVew5PldLyRgvdl4YYuSw==}
1108
1063
 
1109
- '@vueuse/metadata@13.9.0':
1110
- resolution: {integrity: sha512-1AFRvuiGphfF7yWixZa0KwjYH8ulyjDCC0aFgrGRz8+P4kvDFSdXLVfTk5xAN9wEuD1J6z4/myMoYbnHoX07zg==}
1111
-
1112
1064
  '@vueuse/metadata@14.3.0':
1113
1065
  resolution: {integrity: sha512-BwxmbAzwAVF50+MW57GXOUEV61nFBGnlBvrTqj49PqWJu3uw7hdu72ztXeZ33RdZtDY6kO+bfCAE1PCn88Tktw==}
1114
1066
 
1115
1067
  '@vueuse/shared@10.11.1':
1116
1068
  resolution: {integrity: sha512-LHpC8711VFZlDaYUXEBbFBCQ7GS3dVU9mjOhhMhXP6txTV4EhYQg/KGnQuvt/sPAtoUKq7VVUnL6mVtFoL42sA==}
1117
1069
 
1118
- '@vueuse/shared@13.9.0':
1119
- resolution: {integrity: sha512-e89uuTLMh0U5cZ9iDpEI2senqPGfbPRTHM/0AaQkcxnpqjkZqDYP8rpfm7edOz8s+pOCOROEy1PIveSW8+fL5g==}
1120
- peerDependencies:
1121
- vue: ^3.5.0
1122
-
1123
1070
  '@vueuse/shared@14.3.0':
1124
1071
  resolution: {integrity: sha512-bZpge9eSXwa4ToSiqJ7j6KRwhAsneMFoSz3LMWKQDkqimm3D/tbFlrklrs/IOqC8tEcYmXQZJ6N0UrjhBirVCg==}
1125
1072
  peerDependencies:
@@ -3042,7 +2989,7 @@ snapshots:
3042
2989
 
3043
2990
  '@stylistic/eslint-plugin@4.4.1(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3)':
3044
2991
  dependencies:
3045
- '@typescript-eslint/utils': 8.59.2(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3)
2992
+ '@typescript-eslint/utils': 8.70.0(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3)
3046
2993
  eslint: 9.39.4(jiti@2.7.0)
3047
2994
  eslint-visitor-keys: 4.2.1
3048
2995
  espree: 10.4.0
@@ -3416,16 +3363,6 @@ snapshots:
3416
3363
  transitivePeerDependencies:
3417
3364
  - supports-color
3418
3365
 
3419
- '@typescript-eslint/project-service@8.59.2(typescript@5.9.3)':
3420
- dependencies:
3421
- '@typescript-eslint/tsconfig-utils': 8.59.2(typescript@5.9.3)
3422
- '@typescript-eslint/types': 8.59.2
3423
- debug: 4.4.3
3424
- typescript: 5.9.3
3425
- transitivePeerDependencies:
3426
- - supports-color
3427
- optional: true
3428
-
3429
3366
  '@typescript-eslint/project-service@8.70.0(typescript@5.9.3)':
3430
3367
  dependencies:
3431
3368
  '@typescript-eslint/tsconfig-utils': 8.70.0(typescript@5.9.3)
@@ -3435,22 +3372,11 @@ snapshots:
3435
3372
  transitivePeerDependencies:
3436
3373
  - supports-color
3437
3374
 
3438
- '@typescript-eslint/scope-manager@8.59.2':
3439
- dependencies:
3440
- '@typescript-eslint/types': 8.59.2
3441
- '@typescript-eslint/visitor-keys': 8.59.2
3442
- optional: true
3443
-
3444
3375
  '@typescript-eslint/scope-manager@8.70.0':
3445
3376
  dependencies:
3446
3377
  '@typescript-eslint/types': 8.70.0
3447
3378
  '@typescript-eslint/visitor-keys': 8.70.0
3448
3379
 
3449
- '@typescript-eslint/tsconfig-utils@8.59.2(typescript@5.9.3)':
3450
- dependencies:
3451
- typescript: 5.9.3
3452
- optional: true
3453
-
3454
3380
  '@typescript-eslint/tsconfig-utils@8.70.0(typescript@5.9.3)':
3455
3381
  dependencies:
3456
3382
  typescript: 5.9.3
@@ -3467,27 +3393,8 @@ snapshots:
3467
3393
  transitivePeerDependencies:
3468
3394
  - supports-color
3469
3395
 
3470
- '@typescript-eslint/types@8.59.2':
3471
- optional: true
3472
-
3473
3396
  '@typescript-eslint/types@8.70.0': {}
3474
3397
 
3475
- '@typescript-eslint/typescript-estree@8.59.2(typescript@5.9.3)':
3476
- dependencies:
3477
- '@typescript-eslint/project-service': 8.59.2(typescript@5.9.3)
3478
- '@typescript-eslint/tsconfig-utils': 8.59.2(typescript@5.9.3)
3479
- '@typescript-eslint/types': 8.59.2
3480
- '@typescript-eslint/visitor-keys': 8.59.2
3481
- debug: 4.4.3
3482
- minimatch: 10.2.5
3483
- semver: 7.8.0
3484
- tinyglobby: 0.2.16
3485
- ts-api-utils: 2.5.0(typescript@5.9.3)
3486
- typescript: 5.9.3
3487
- transitivePeerDependencies:
3488
- - supports-color
3489
- optional: true
3490
-
3491
3398
  '@typescript-eslint/typescript-estree@8.70.0(typescript@5.9.3)':
3492
3399
  dependencies:
3493
3400
  '@typescript-eslint/project-service': 8.70.0(typescript@5.9.3)
@@ -3503,18 +3410,6 @@ snapshots:
3503
3410
  transitivePeerDependencies:
3504
3411
  - supports-color
3505
3412
 
3506
- '@typescript-eslint/utils@8.59.2(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3)':
3507
- dependencies:
3508
- '@eslint-community/eslint-utils': 4.9.1(eslint@9.39.4(jiti@2.7.0))
3509
- '@typescript-eslint/scope-manager': 8.59.2
3510
- '@typescript-eslint/types': 8.59.2
3511
- '@typescript-eslint/typescript-estree': 8.59.2(typescript@5.9.3)
3512
- eslint: 9.39.4(jiti@2.7.0)
3513
- typescript: 5.9.3
3514
- transitivePeerDependencies:
3515
- - supports-color
3516
- optional: true
3517
-
3518
3413
  '@typescript-eslint/utils@8.70.0(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3)':
3519
3414
  dependencies:
3520
3415
  '@eslint-community/eslint-utils': 4.9.1(eslint@9.39.4(jiti@2.7.0))
@@ -3526,12 +3421,6 @@ snapshots:
3526
3421
  transitivePeerDependencies:
3527
3422
  - supports-color
3528
3423
 
3529
- '@typescript-eslint/visitor-keys@8.59.2':
3530
- dependencies:
3531
- '@typescript-eslint/types': 8.59.2
3532
- eslint-visitor-keys: 5.0.1
3533
- optional: true
3534
-
3535
3424
  '@typescript-eslint/visitor-keys@8.70.0':
3536
3425
  dependencies:
3537
3426
  '@typescript-eslint/types': 8.70.0
@@ -3634,13 +3523,6 @@ snapshots:
3634
3523
  - '@vue/composition-api'
3635
3524
  - vue
3636
3525
 
3637
- '@vueuse/core@13.9.0(vue@3.5.34(typescript@5.9.3))':
3638
- dependencies:
3639
- '@types/web-bluetooth': 0.0.21
3640
- '@vueuse/metadata': 13.9.0
3641
- '@vueuse/shared': 13.9.0(vue@3.5.34(typescript@5.9.3))
3642
- vue: 3.5.34(typescript@5.9.3)
3643
-
3644
3526
  '@vueuse/core@14.3.0(vue@3.5.34(typescript@5.9.3))':
3645
3527
  dependencies:
3646
3528
  '@types/web-bluetooth': 0.0.21
@@ -3658,8 +3540,6 @@ snapshots:
3658
3540
 
3659
3541
  '@vueuse/metadata@10.11.1': {}
3660
3542
 
3661
- '@vueuse/metadata@13.9.0': {}
3662
-
3663
3543
  '@vueuse/metadata@14.3.0': {}
3664
3544
 
3665
3545
  '@vueuse/shared@10.11.1(vue@3.5.34(typescript@5.9.3))':
@@ -3669,10 +3549,6 @@ snapshots:
3669
3549
  - '@vue/composition-api'
3670
3550
  - vue
3671
3551
 
3672
- '@vueuse/shared@13.9.0(vue@3.5.34(typescript@5.9.3))':
3673
- dependencies:
3674
- vue: 3.5.34(typescript@5.9.3)
3675
-
3676
3552
  '@vueuse/shared@14.3.0(vue@3.5.34(typescript@5.9.3))':
3677
3553
  dependencies:
3678
3554
  vue: 3.5.34(typescript@5.9.3)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@antelopejs/dms-saas",
3
- "version": "0.2.0",
3
+ "version": "0.2.1",
4
4
  "license": "Apache-2.0",
5
5
  "repository": {
6
6
  "type": "git",
@@ -35,8 +35,8 @@
35
35
  "@antelopejs/interface-data-api": ">=0.1.9 <1.0.0",
36
36
  "@antelopejs/interface-database": ">=0.1.7 <1.0.0",
37
37
  "@antelopejs/interface-database-decorators": ">=0.1.6 <1.0.0",
38
- "@antelopejs/interface-dms": ">=0.2.0 <1.0.0",
39
- "@antelopejs/interface-dms-saas": ">=0.1.0 <1.0.0",
38
+ "@antelopejs/interface-dms": ">=0.2.6 <1.0.0",
39
+ "@antelopejs/interface-dms-saas": ">=0.1.2 <1.0.0",
40
40
  "@antelopejs/interface-file-storage": ">=0.1.3 <1.0.0",
41
41
  "node-cron": "^4.2.1",
42
42
  "stripe": "^17.5.0",
@@ -44,8 +44,8 @@
44
44
  },
45
45
  "devDependencies": {
46
46
  "@antelopejs/core": "1.9.1",
47
- "@antelopejs/dms": ">=0.4.0 <1.0.0",
48
- "@antelopejs/dms-frontend": "0.2.6",
47
+ "@antelopejs/dms": ">=0.4.7 <1.0.0",
48
+ "@antelopejs/dms-frontend": "0.3.2",
49
49
  "@antelopejs/file-storage-local": "0.1.5",
50
50
  "@antelopejs/mongodb": "1.3.1",
51
51
  "@antelopejs/tooling-configs": ">=0.0.6 <1.0.0",