Développement

Composants @framework/ui

Composants techniques migrés depuis frappe-ui vers le paquet @framework/ui (télémétrie, onboarding, import de données, bannières d'essai et d'inscription)

Composants @framework/ui

Le paquet @framework/ui regroupe des composants Vue qui dépendent de la connaissance de Dokos (doctypes, endpoints, onboarding, facturation). Ces composants ont été migrés depuis frappe-ui afin de séparer la bibliothèque de composants « purs » (frappe-ui) des composants spécifiques au framework.

Composants concernés

GroupeComposants et fonctions
TélémétrietelemetryPlugin, useTelemetry, TelemetryPluginOptions
Onboarding et aideuseOnboarding, OnboardingStep, GettingStartedBanner, IntermediateStepModal, HelpModal, showHelpModal, minimize
FacturationTrialBanner, SignupBanner
Import de donnéesDataImport

Changement d'import

Tous ces composants sont exportés depuis la racine du paquet. Il suffit de remplacer le chemin d'import :

-import { useTelemetry, TrialBanner } from 'frappe-ui/frappe'
+import { useTelemetry, TrialBanner } from '@framework/ui'

Aucun sous-chemin supplémentaire n'a été introduit.

Modifications techniques

Mappage de colonnes (DataImport)

Le composant Autocomplete a été remplacé par Combobox. L'état du mappage conserve désormais le nom du champ cible (fieldname) au lieu de son libellé, car Combobox lit le libellé depuis les options.

Journal d'import (DataImport)

Le composant Popover avec trigger="hover" et l'ancien slot #target a été remplacé par HoverCard.

Rafraîchissement en temps réel (DataImport)

L'écran d'aperçu n'appelle plus initSocket, qui ouvrait une seconde connexion socket par page. L'hôte doit désormais passer sa propre socket via la prop socket, de la même manière que useNotifications.

:::warning Passage de la socket Les applications qui utilisent l'import de données doivent passer leur socket existante via la prop socket. Sans cela, l'écran d'aperçu fonctionne mais ne se rafraîchit pas pendant l'exécution d'un import. :::

Lien (DataImport)

La liste des imports utilise désormais le composant Link enriché de @framework/ui à la place de celui de frappe-ui.

Onboarding et aide

Les composable et état d'aide étaient en .js et sont désormais en TypeScript. useOnboarding est typé depuis le source plutôt que via un fichier .d.ts écrit à la main.

Dépendance @vueuse/core

@vueuse/core est désormais déclaré comme dépendance paire (peer dependency), car le composable d'onboarding utilise useStorage. Cela évite qu'une application se retrouve avec deux copies des refs.

Composants internes non exportés

Les écrans internes de DataImport (étapes), OnboardingSteps et HelpCenter ont été migrés en tant que fichiers internes. Ils ne sont jamais importés directement par une application et ne figurent pas dans le barrel racine.