@abraca/nuxt 2.14.0 → 2.16.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.
- package/dist/module.json +1 -1
- package/dist/runtime/assets/editor.css +3 -1
- package/dist/runtime/components/ACodeEditor.vue +16 -2
- package/dist/runtime/components/ANodePanel.vue +7 -5
- package/dist/runtime/components/aware/ASlider.d.vue.ts +1 -1
- package/dist/runtime/components/aware/ASlider.vue.d.ts +1 -1
- package/dist/runtime/components/docs/ADocsSearchButton.d.vue.ts +1 -1
- package/dist/runtime/components/docs/ADocsSearchButton.vue.d.ts +1 -1
- package/dist/runtime/components/editor/AColorPalettePopover.vue +97 -5
- package/dist/runtime/components/editor/AIconPickerPopover.vue +81 -3
- package/dist/runtime/components/editor/AMetaNumberStepper.d.vue.ts +40 -0
- package/dist/runtime/components/editor/AMetaNumberStepper.vue +214 -0
- package/dist/runtime/components/editor/AMetaNumberStepper.vue.d.ts +40 -0
- package/dist/runtime/components/registry/APluginBrowser.vue +18 -2
- package/dist/runtime/components/renderers/ACalendarRenderer.vue +7 -1
- package/dist/runtime/components/renderers/calendar/ACalendarToolbar.d.vue.ts +2 -2
- package/dist/runtime/components/renderers/calendar/ACalendarToolbar.vue.d.ts +2 -2
- package/dist/runtime/components/renderers/media/MediaTransportBar.d.vue.ts +2 -2
- package/dist/runtime/components/renderers/media/MediaTransportBar.vue.d.ts +2 -2
- package/dist/runtime/components/settings/APluginInstallDialog.d.vue.ts +39 -0
- package/dist/runtime/components/settings/APluginInstallDialog.vue +254 -0
- package/dist/runtime/components/settings/APluginInstallDialog.vue.d.ts +39 -0
- package/dist/runtime/components/settings/APluginsTabInstalled.d.vue.ts +7 -0
- package/dist/runtime/components/settings/APluginsTabInstalled.vue +413 -0
- package/dist/runtime/components/settings/APluginsTabInstalled.vue.d.ts +7 -0
- package/dist/runtime/components/settings/APluginsTabPending.d.vue.ts +24 -0
- package/dist/runtime/components/settings/APluginsTabPending.vue +248 -0
- package/dist/runtime/components/settings/APluginsTabPending.vue.d.ts +24 -0
- package/dist/runtime/components/settings/ASettingsPluginsPanel.d.vue.ts +14 -1
- package/dist/runtime/components/settings/ASettingsPluginsPanel.vue +34 -80
- package/dist/runtime/components/settings/ASettingsPluginsPanel.vue.d.ts +14 -1
- package/dist/runtime/composables/useDeclinedSpacePlugins.d.ts +7 -0
- package/dist/runtime/composables/useDeclinedSpacePlugins.js +24 -0
- package/dist/runtime/composables/useLoadTimePending.d.ts +29 -0
- package/dist/runtime/composables/useLoadTimePending.js +37 -0
- package/dist/runtime/composables/usePluginCatalog.d.ts +5 -1
- package/dist/runtime/composables/usePluginCatalog.js +34 -0
- package/dist/runtime/composables/useTouchDrag.d.ts +21 -4
- package/dist/runtime/composables/useTouchDrag.js +30 -0
- package/dist/runtime/composables/useUploadedPluginStore.d.ts +43 -0
- package/dist/runtime/composables/useUploadedPluginStore.js +66 -0
- package/dist/runtime/extensions/views/MetaFieldView.vue +17 -28
- package/dist/runtime/plugin-abracadabra.client.js +48 -1
- package/package.json +1 -1
|
@@ -220,11 +220,58 @@ export default defineNuxtPlugin({
|
|
|
220
220
|
const storedExternal = JSON.parse(
|
|
221
221
|
localStorage.getItem(STORAGE_KEY_EXTERNAL_PLUGINS) ?? "[]"
|
|
222
222
|
);
|
|
223
|
+
const [
|
|
224
|
+
{ _resolveIdbPluginUrl },
|
|
225
|
+
{ _enqueueLoadTimePending, _clearLoadTimePending }
|
|
226
|
+
] = await Promise.all([
|
|
227
|
+
import("./composables/useUploadedPluginStore.js"),
|
|
228
|
+
import("./composables/useLoadTimePending.js")
|
|
229
|
+
]);
|
|
230
|
+
async function refetchManifest(url) {
|
|
231
|
+
try {
|
|
232
|
+
const manifestUrl = url.replace(/\/[^/]+$/, (m2) => `${m2.replace(/\.[^.]+$/, "")}.manifest.json`);
|
|
233
|
+
const res = await fetch(manifestUrl, { cache: "no-store" });
|
|
234
|
+
if (!res.ok) return null;
|
|
235
|
+
const m = await res.json();
|
|
236
|
+
if (typeof m.version !== "string") return null;
|
|
237
|
+
return { version: m.version, required: m.capabilities?.required ?? [] };
|
|
238
|
+
} catch {
|
|
239
|
+
return null;
|
|
240
|
+
}
|
|
241
|
+
}
|
|
223
242
|
for (const entry of storedExternal.filter((p) => p.enabled)) {
|
|
224
243
|
try {
|
|
244
|
+
const origin = entry.origin ?? "url";
|
|
245
|
+
if (origin !== "registry" && origin !== "upload" && !entry.url.startsWith("idb-plugin:")) {
|
|
246
|
+
const observed = await refetchManifest(entry.url);
|
|
247
|
+
if (observed) {
|
|
248
|
+
const acked = new Set(entry.acknowledgedCapabilities ?? []);
|
|
249
|
+
const grew = observed.required.filter((c) => !acked.has(c));
|
|
250
|
+
const versionChanged = entry.acknowledgedVersion !== observed.version;
|
|
251
|
+
const neverAcked = !entry.trustAcknowledgedAt;
|
|
252
|
+
if (neverAcked || versionChanged || grew.length > 0) {
|
|
253
|
+
_enqueueLoadTimePending({
|
|
254
|
+
url: entry.url,
|
|
255
|
+
id: entry.id ?? entry.name ?? entry.url,
|
|
256
|
+
observedVersion: observed.version,
|
|
257
|
+
observedRequired: observed.required,
|
|
258
|
+
reason: neverAcked ? "never-acknowledged" : grew.length > 0 ? "capabilities-grew" : "version-changed",
|
|
259
|
+
queuedAt: Date.now()
|
|
260
|
+
});
|
|
261
|
+
continue;
|
|
262
|
+
}
|
|
263
|
+
_clearLoadTimePending(entry.url);
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
let importUrl = entry.url;
|
|
267
|
+
if (importUrl.startsWith("idb-plugin:")) {
|
|
268
|
+
const resolved = await _resolveIdbPluginUrl(importUrl);
|
|
269
|
+
if (!resolved) throw new Error("Uploaded plugin bundle missing from storage \u2014 was it cleared?");
|
|
270
|
+
importUrl = resolved;
|
|
271
|
+
}
|
|
225
272
|
const mod = await import(
|
|
226
273
|
/* @vite-ignore */
|
|
227
|
-
|
|
274
|
+
importUrl
|
|
228
275
|
);
|
|
229
276
|
const plugin = mod.default ?? mod;
|
|
230
277
|
if (plugin?.name) {
|