Composants @framework/ui
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
| 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 | DataImportWizard, useDataImport |
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
Import de données
L'ancien composant DataImport est remplacé par DataImportWizard. Il reçoit l'état créé par le composable useDataImport.
<script setup>
import { ref } from "vue";
import { DataImportWizard, useDataImport } from "@framework/ui";
const importName = ref(null);
const dataImport = useDataImport(importName, { doctype: "Customer" });
</script>
<template>
<DataImportWizard :data-import="dataImport" />
</template>
Les anciennes propriétés label, description et socket n'existent plus. L'assistant utilise lui-même la connexion temps réel de l'application. Les anciens types DataImportRecord, DataImportProps, DataImportSocket et DataImports ont été retirés.
Le mappage des colonnes utilise le composant Combobox de frappe-ui. Les étapes de l'assistant utilisent le composant Link de @framework/ui.
Onboarding et aide
Le composable et l'état d'aide sont écrits 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 une 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 DataImportWizard (é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.