@framework/uiLe 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.
| Groupe | Composants et fonctions |
|---|---|
| Télémétrie | telemetryPlugin, useTelemetry, TelemetryPluginOptions |
| Onboarding et aide | useOnboarding, OnboardingStep, GettingStartedBanner, IntermediateStepModal, HelpModal, showHelpModal, minimize |
| Facturation | TrialBanner, SignupBanner |
| Import de données | DataImport |
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.
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.
Le composant Popover avec trigger="hover" et l'ancien slot #target a été remplacé par HoverCard.
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.
:::
La liste des imports utilise désormais le composant Link enriché de @framework/ui à la place de celui de frappe-ui.
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.
@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.
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.