@pure-ds/core 0.6.10 → 0.7.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.
- package/.github/copilot-instructions.md +6 -1
- package/custom-elements.json +803 -16
- package/dist/types/pds.d.ts +1 -0
- package/dist/types/public/assets/js/pds-ask.d.ts +2 -0
- package/dist/types/public/assets/js/pds-ask.d.ts.map +1 -0
- package/dist/types/public/assets/js/pds-auto-definer.d.ts +14 -0
- package/dist/types/public/assets/js/pds-auto-definer.d.ts.map +1 -0
- package/dist/types/public/assets/js/pds-autocomplete.d.ts +79 -0
- package/dist/types/public/assets/js/pds-autocomplete.d.ts.map +1 -0
- package/dist/types/public/assets/js/pds-enhancers.d.ts +7 -0
- package/dist/types/public/assets/js/pds-enhancers.d.ts.map +1 -0
- package/dist/types/public/assets/js/pds-manager.d.ts +98 -1
- package/dist/types/public/assets/js/pds-manager.d.ts.map +1 -1
- package/dist/types/public/assets/js/pds-toast.d.ts +8 -0
- package/dist/types/public/assets/js/pds-toast.d.ts.map +1 -0
- package/dist/types/public/assets/js/pds.d.ts.map +1 -1
- package/dist/types/public/assets/pds/components/pds-drawer.d.ts +1 -143
- package/dist/types/public/assets/pds/components/pds-drawer.d.ts.map +1 -1
- package/dist/types/public/assets/pds/components/pds-form.d.ts.map +1 -1
- package/dist/types/public/assets/pds/components/pds-icon.d.ts.map +1 -1
- package/dist/types/public/assets/pds/components/pds-live-converter.d.ts +8 -0
- package/dist/types/public/assets/pds/components/pds-live-converter.d.ts.map +1 -0
- package/dist/types/public/assets/pds/components/pds-live-importer.d.ts +2 -0
- package/dist/types/public/assets/pds/components/pds-live-importer.d.ts.map +1 -0
- package/dist/types/public/assets/pds/components/pds-live-template-canvas.d.ts +2 -0
- package/dist/types/public/assets/pds/components/pds-live-template-canvas.d.ts.map +1 -0
- package/dist/types/public/assets/pds/components/pds-omnibox.d.ts.map +1 -1
- package/dist/types/public/assets/pds/components/pds-richtext.d.ts.map +1 -1
- package/dist/types/public/assets/pds/components/pds-scrollrow.d.ts +1 -63
- package/dist/types/public/assets/pds/components/pds-scrollrow.d.ts.map +1 -1
- package/dist/types/public/assets/pds/components/pds-splitpanel.d.ts +1 -89
- package/dist/types/public/assets/pds/components/pds-splitpanel.d.ts.map +1 -1
- package/dist/types/public/assets/pds/components/pds-theme.d.ts +1 -22
- package/dist/types/public/assets/pds/components/pds-theme.d.ts.map +1 -1
- package/dist/types/public/assets/pds/components/pds-toaster.d.ts +1 -1
- package/dist/types/public/assets/pds/components/pds-toaster.d.ts.map +1 -1
- package/dist/types/public/assets/pds/components/pds-treeview.d.ts +37 -0
- package/dist/types/public/assets/pds/components/pds-treeview.d.ts.map +1 -0
- package/dist/types/public/assets/pds/components/pds-upload.d.ts.map +1 -1
- package/dist/types/src/js/common/ask.d.ts.map +1 -1
- package/dist/types/src/js/common/toast.d.ts +8 -0
- package/dist/types/src/js/common/toast.d.ts.map +1 -1
- package/dist/types/src/js/pds-ask.d.ts +2 -0
- package/dist/types/src/js/pds-ask.d.ts.map +1 -0
- package/dist/types/src/js/pds-auto-definer.d.ts +2 -0
- package/dist/types/src/js/pds-auto-definer.d.ts.map +1 -0
- package/dist/types/src/js/pds-autocomplete.d.ts +2 -0
- package/dist/types/src/js/pds-autocomplete.d.ts.map +1 -0
- package/dist/types/src/js/pds-core/pds-enhancers.d.ts.map +1 -1
- package/dist/types/src/js/pds-core/pds-generator.d.ts.map +1 -1
- package/dist/types/src/js/pds-core/pds-live.d.ts +2 -1
- package/dist/types/src/js/pds-core/pds-live.d.ts.map +1 -1
- package/dist/types/src/js/pds-core/pds-start-helpers.d.ts.map +1 -1
- package/dist/types/src/js/pds-enhancers.d.ts +2 -0
- package/dist/types/src/js/pds-enhancers.d.ts.map +1 -0
- package/dist/types/src/js/pds-live-manager/conversion-service.d.ts +66 -0
- package/dist/types/src/js/pds-live-manager/conversion-service.d.ts.map +1 -0
- package/dist/types/src/js/pds-live-manager/import-contract.d.ts +15 -0
- package/dist/types/src/js/pds-live-manager/import-contract.d.ts.map +1 -0
- package/dist/types/src/js/pds-live-manager/import-history-service.d.ts +32 -0
- package/dist/types/src/js/pds-live-manager/import-history-service.d.ts.map +1 -0
- package/dist/types/src/js/pds-live-manager/import-service.d.ts +21 -0
- package/dist/types/src/js/pds-live-manager/import-service.d.ts.map +1 -0
- package/dist/types/src/js/pds-live-manager/template-service.d.ts +17 -0
- package/dist/types/src/js/pds-live-manager/template-service.d.ts.map +1 -0
- package/dist/types/src/js/pds-manager.d.ts +4 -0
- package/dist/types/src/js/pds-toast.d.ts +2 -0
- package/dist/types/src/js/pds-toast.d.ts.map +1 -0
- package/dist/types/src/js/pds.d.ts.map +1 -1
- package/package.json +11 -5
- package/packages/pds-cli/README.md +60 -0
- package/packages/pds-cli/bin/pds-import.js +176 -0
- package/packages/pds-cli/bin/pds-static.js +27 -1
- package/packages/pds-cli/bin/postinstall.mjs +17 -8
- package/packages/pds-cli/bin/templates/bootstrap/pds.config.js +1 -5
- package/packages/pds-cli/bin/templates/bootstrap/public/index.html +2 -1
- package/packages/pds-cli/bin/templates/starter-templates.js +1 -3
- package/public/assets/js/app.js +9 -163
- package/public/assets/js/pds-ask.js +25 -0
- package/public/assets/js/pds-auto-definer.js +1 -0
- package/public/assets/js/pds-autocomplete.js +7 -0
- package/public/assets/js/pds-enhancers.js +1 -0
- package/public/assets/js/pds-manager.js +370 -267
- package/public/assets/js/pds-toast.js +1 -0
- package/public/assets/js/pds.js +2 -32
- package/public/assets/pds/components/pds-calendar.js +2 -2
- package/public/assets/pds/components/pds-drawer.js +1 -1
- package/public/assets/pds/components/pds-form.js +7 -6
- package/public/assets/pds/components/pds-icon.js +12 -9
- package/public/assets/pds/components/pds-live-converter.js +47 -0
- package/public/assets/pds/components/pds-live-edit.js +758 -44
- package/public/assets/pds/components/pds-live-importer.js +773 -0
- package/public/assets/pds/components/pds-live-template-canvas.js +172 -0
- package/public/assets/pds/components/pds-omnibox.js +147 -3
- package/public/assets/pds/components/pds-richtext.js +2 -0
- package/public/assets/pds/components/pds-scrollrow.js +61 -2
- package/public/assets/pds/components/pds-splitpanel.js +3 -1
- package/public/assets/pds/components/pds-theme.js +2 -0
- package/public/assets/pds/components/pds-toaster.js +52 -5
- package/public/assets/pds/components/pds-treeview.js +974 -0
- package/public/assets/pds/components/pds-upload.js +2 -0
- package/public/assets/pds/core/pds-ask.js +25 -0
- package/public/assets/pds/core/pds-auto-definer.js +1 -0
- package/public/assets/pds/core/pds-autocomplete.js +7 -0
- package/public/assets/pds/core/pds-enhancers.js +1 -0
- package/public/assets/pds/core/pds-manager.js +3646 -0
- package/public/assets/pds/core/pds-toast.js +1 -0
- package/public/assets/pds/core.js +2 -0
- package/public/assets/pds/custom-elements.json +803 -16
- package/public/assets/pds/pds-css-complete.json +7 -2
- package/public/assets/pds/templates/commerce-scroll-explorer.html +115 -0
- package/public/assets/pds/templates/content-brand-showcase.html +110 -0
- package/public/assets/pds/templates/feedback-ops-dashboard.html +91 -0
- package/public/assets/pds/templates/release-readiness-radar.html +69 -0
- package/public/assets/pds/templates/support-command-center.html +92 -0
- package/public/assets/pds/templates/templates.json +53 -0
- package/public/assets/pds/templates/workspace-settings-lab.html +131 -0
- package/public/assets/pds/vscode-custom-data.json +54 -4
- package/readme.md +38 -1
- package/src/js/pds-core/pds-config.js +9 -9
- package/src/js/pds-core/pds-enhancers.js +146 -0
- package/src/js/pds-core/pds-generator.js +170 -29
- package/src/js/pds-core/pds-live.js +456 -13
- package/src/js/pds-core/pds-start-helpers.js +5 -1
- package/src/js/pds-live-manager/conversion-service.js +3135 -0
- package/src/js/pds-live-manager/import-contract.js +57 -0
- package/src/js/pds-live-manager/import-history-service.js +145 -0
- package/src/js/pds-live-manager/import-service.js +255 -0
- package/src/js/pds-live-manager/tailwind-conversion-rules.json +383 -0
- package/src/js/pds-live-manager/template-service.js +170 -0
- package/src/js/pds.d.ts +1 -0
- package/src/js/pds.js +192 -12
package/src/js/pds.js
CHANGED
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
/// <reference path="./pds.d.ts" />
|
|
2
2
|
|
|
3
|
-
import { AutoComplete } from "pure-web/ac";
|
|
4
|
-
|
|
5
3
|
/**
|
|
6
4
|
* Public PDS runtime object exported to consumers.
|
|
7
5
|
*
|
|
@@ -53,10 +51,7 @@ import {
|
|
|
53
51
|
} from "./pds-core/pds-runtime.js";
|
|
54
52
|
import { registry } from "./pds-core/pds-registry.js";
|
|
55
53
|
import { enums } from "./pds-core/pds-enums.js";
|
|
56
|
-
import { ask } from "./common/ask.js";
|
|
57
|
-
import { toast } from "./common/toast.js";
|
|
58
54
|
import * as common from "./common/common.js";
|
|
59
|
-
import { defaultPDSEnhancers } from "./pds-core/pds-enhancers.js";
|
|
60
55
|
import { resolvePublicAssetURL } from "./pds-core/pds-paths.js";
|
|
61
56
|
import {
|
|
62
57
|
ensureAbsoluteAssetURL,
|
|
@@ -71,6 +66,125 @@ import {
|
|
|
71
66
|
resolveThemePreference,
|
|
72
67
|
} from "./pds-core/pds-theme-utils.js";
|
|
73
68
|
|
|
69
|
+
let __autoCompletePromise = null;
|
|
70
|
+
let __askPromise = null;
|
|
71
|
+
let __toastPromise = null;
|
|
72
|
+
let __defaultEnhancersPromise = null;
|
|
73
|
+
|
|
74
|
+
function __resolveExternalRuntimeModuleURL(filename, overrideURL) {
|
|
75
|
+
if (overrideURL && typeof overrideURL === "string") {
|
|
76
|
+
return overrideURL;
|
|
77
|
+
}
|
|
78
|
+
const assetRootURL = resolveRuntimeAssetRoot(PDS.currentConfig || {}, {
|
|
79
|
+
resolvePublicAssetURL,
|
|
80
|
+
});
|
|
81
|
+
return `${assetRootURL}core/${filename}`;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
async function __loadDefaultEnhancers() {
|
|
85
|
+
if (Array.isArray(PDS.defaultEnhancers) && PDS.defaultEnhancers.length > 0) {
|
|
86
|
+
return PDS.defaultEnhancers;
|
|
87
|
+
}
|
|
88
|
+
if (!__defaultEnhancersPromise) {
|
|
89
|
+
const enhancersModuleURL = __resolveExternalRuntimeModuleURL(
|
|
90
|
+
"pds-enhancers.js",
|
|
91
|
+
PDS.currentConfig?.enhancersURL
|
|
92
|
+
);
|
|
93
|
+
__defaultEnhancersPromise = import(enhancersModuleURL)
|
|
94
|
+
.then((mod) => {
|
|
95
|
+
const enhancers = Array.isArray(mod?.defaultPDSEnhancers)
|
|
96
|
+
? mod.defaultPDSEnhancers
|
|
97
|
+
: [];
|
|
98
|
+
PDS.defaultEnhancers = enhancers;
|
|
99
|
+
return enhancers;
|
|
100
|
+
})
|
|
101
|
+
.catch((error) => {
|
|
102
|
+
__defaultEnhancersPromise = null;
|
|
103
|
+
throw error;
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
return __defaultEnhancersPromise;
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
async function __loadAsk() {
|
|
110
|
+
if (typeof PDS.ask === "function" && PDS.ask !== __lazyAsk) {
|
|
111
|
+
return PDS.ask;
|
|
112
|
+
}
|
|
113
|
+
if (!__askPromise) {
|
|
114
|
+
const askModuleURL = __resolveExternalRuntimeModuleURL(
|
|
115
|
+
"pds-ask.js",
|
|
116
|
+
PDS.currentConfig?.askURL
|
|
117
|
+
);
|
|
118
|
+
__askPromise = import(askModuleURL)
|
|
119
|
+
.then((mod) => {
|
|
120
|
+
const impl = mod?.ask;
|
|
121
|
+
if (typeof impl !== "function") {
|
|
122
|
+
throw new Error("Failed to load ask helper");
|
|
123
|
+
}
|
|
124
|
+
PDS.ask = impl;
|
|
125
|
+
return impl;
|
|
126
|
+
})
|
|
127
|
+
.catch((error) => {
|
|
128
|
+
__askPromise = null;
|
|
129
|
+
throw error;
|
|
130
|
+
});
|
|
131
|
+
}
|
|
132
|
+
return __askPromise;
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
async function __loadToast() {
|
|
136
|
+
if (typeof PDS.toast === "function" && PDS.toast !== __lazyToast) {
|
|
137
|
+
return PDS.toast;
|
|
138
|
+
}
|
|
139
|
+
if (!__toastPromise) {
|
|
140
|
+
const toastModuleURL = __resolveExternalRuntimeModuleURL(
|
|
141
|
+
"pds-toast.js",
|
|
142
|
+
PDS.currentConfig?.toastURL
|
|
143
|
+
);
|
|
144
|
+
__toastPromise = import(toastModuleURL)
|
|
145
|
+
.then((mod) => {
|
|
146
|
+
const impl = mod?.toast;
|
|
147
|
+
if (typeof impl !== "function") {
|
|
148
|
+
throw new Error("Failed to load toast helper");
|
|
149
|
+
}
|
|
150
|
+
PDS.toast = impl;
|
|
151
|
+
return impl;
|
|
152
|
+
})
|
|
153
|
+
.catch((error) => {
|
|
154
|
+
__toastPromise = null;
|
|
155
|
+
throw error;
|
|
156
|
+
});
|
|
157
|
+
}
|
|
158
|
+
return __toastPromise;
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
async function __lazyAsk(...args) {
|
|
162
|
+
const askImpl = await __loadAsk();
|
|
163
|
+
return askImpl(...args);
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
async function __lazyToast(...args) {
|
|
167
|
+
const toastImpl = await __loadToast();
|
|
168
|
+
return toastImpl(...args);
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
__lazyToast.success = async (...args) => {
|
|
172
|
+
const toastImpl = await __loadToast();
|
|
173
|
+
return toastImpl.success(...args);
|
|
174
|
+
};
|
|
175
|
+
__lazyToast.error = async (...args) => {
|
|
176
|
+
const toastImpl = await __loadToast();
|
|
177
|
+
return toastImpl.error(...args);
|
|
178
|
+
};
|
|
179
|
+
__lazyToast.warning = async (...args) => {
|
|
180
|
+
const toastImpl = await __loadToast();
|
|
181
|
+
return toastImpl.warning(...args);
|
|
182
|
+
};
|
|
183
|
+
__lazyToast.info = async (...args) => {
|
|
184
|
+
const toastImpl = await __loadToast();
|
|
185
|
+
return toastImpl.info(...args);
|
|
186
|
+
};
|
|
187
|
+
|
|
74
188
|
const __defaultLog = function (level = "log", message, ...data) {
|
|
75
189
|
const isStaticMode = Boolean(PDS.registry && !PDS.registry.isLive);
|
|
76
190
|
const debug =
|
|
@@ -145,10 +259,41 @@ PDS.createStylesheet = createStylesheet;
|
|
|
145
259
|
|
|
146
260
|
/** Return true when running inside a live/designer-backed environment */
|
|
147
261
|
PDS.isLiveMode = () => registry.isLive;
|
|
148
|
-
PDS.ask =
|
|
149
|
-
PDS.toast =
|
|
262
|
+
PDS.ask = __lazyAsk;
|
|
263
|
+
PDS.toast = __lazyToast;
|
|
150
264
|
PDS.common = common;
|
|
151
|
-
PDS.AutoComplete =
|
|
265
|
+
PDS.AutoComplete = null;
|
|
266
|
+
PDS.loadAutoComplete = async () => {
|
|
267
|
+
if (PDS.AutoComplete && typeof PDS.AutoComplete.connect === "function") {
|
|
268
|
+
return PDS.AutoComplete;
|
|
269
|
+
}
|
|
270
|
+
|
|
271
|
+
const autoCompleteModuleURL = __resolveExternalRuntimeModuleURL(
|
|
272
|
+
"pds-autocomplete.js",
|
|
273
|
+
PDS.currentConfig?.autoCompleteURL
|
|
274
|
+
);
|
|
275
|
+
|
|
276
|
+
if (!__autoCompletePromise) {
|
|
277
|
+
__autoCompletePromise = import(autoCompleteModuleURL)
|
|
278
|
+
.then((mod) => {
|
|
279
|
+
const autoCompleteCtor =
|
|
280
|
+
mod?.AutoComplete ||
|
|
281
|
+
mod?.default?.AutoComplete ||
|
|
282
|
+
mod?.default ||
|
|
283
|
+
null;
|
|
284
|
+
if (!autoCompleteCtor) {
|
|
285
|
+
throw new Error("AutoComplete export not found in module");
|
|
286
|
+
}
|
|
287
|
+
PDS.AutoComplete = autoCompleteCtor;
|
|
288
|
+
return autoCompleteCtor;
|
|
289
|
+
})
|
|
290
|
+
.catch((error) => {
|
|
291
|
+
__autoCompletePromise = null;
|
|
292
|
+
throw error;
|
|
293
|
+
});
|
|
294
|
+
}
|
|
295
|
+
return __autoCompletePromise;
|
|
296
|
+
};
|
|
152
297
|
|
|
153
298
|
function __emitPDSReady(detail) {
|
|
154
299
|
const hasCustomEvent = typeof CustomEvent === "function";
|
|
@@ -180,9 +325,34 @@ function __emitPDSReady(detail) {
|
|
|
180
325
|
}
|
|
181
326
|
}
|
|
182
327
|
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
328
|
+
function __emitPDSConfigChanged(detail = {}) {
|
|
329
|
+
const hasCustomEvent = typeof CustomEvent === "function";
|
|
330
|
+
const payload = {
|
|
331
|
+
at: Date.now(),
|
|
332
|
+
...detail,
|
|
333
|
+
};
|
|
334
|
+
|
|
335
|
+
try {
|
|
336
|
+
const changedEvent = hasCustomEvent
|
|
337
|
+
? new CustomEvent("pds:config-changed", { detail: payload })
|
|
338
|
+
: new Event("pds:config-changed");
|
|
339
|
+
PDS.dispatchEvent(changedEvent);
|
|
340
|
+
} catch (e) {}
|
|
341
|
+
|
|
342
|
+
if (typeof document !== "undefined") {
|
|
343
|
+
if (hasCustomEvent) {
|
|
344
|
+
const eventOptions = { detail: payload, bubbles: true, composed: true };
|
|
345
|
+
try {
|
|
346
|
+
document.dispatchEvent(
|
|
347
|
+
new CustomEvent("pds:config-changed", eventOptions)
|
|
348
|
+
);
|
|
349
|
+
} catch (e) {}
|
|
350
|
+
} else {
|
|
351
|
+
try {
|
|
352
|
+
document.dispatchEvent(new Event("pds:config-changed"));
|
|
353
|
+
} catch (e) {}
|
|
354
|
+
}
|
|
355
|
+
}
|
|
186
356
|
}
|
|
187
357
|
|
|
188
358
|
// ---------------------------------------------------------------------------
|
|
@@ -324,7 +494,7 @@ Object.defineProperty(PDS, "theme", {
|
|
|
324
494
|
* enhancements that can be applied to vanilla markup. Consumers can override
|
|
325
495
|
* or add to these via the `enhancers` option of PDS.start({ mode }).
|
|
326
496
|
*/
|
|
327
|
-
PDS.defaultEnhancers =
|
|
497
|
+
PDS.defaultEnhancers = [];
|
|
328
498
|
|
|
329
499
|
/**
|
|
330
500
|
* Initialize PDS in live mode with the given configuration (new unified shape).
|
|
@@ -382,6 +552,7 @@ async function start(config) {
|
|
|
382
552
|
const { startLive } = await import(managerUrl);
|
|
383
553
|
return startLive(PDS, rest, {
|
|
384
554
|
emitReady: __emitPDSReady,
|
|
555
|
+
emitConfigChanged: __emitPDSConfigChanged,
|
|
385
556
|
applyResolvedTheme: __applyResolvedTheme,
|
|
386
557
|
setupSystemListenerIfNeeded: __setupSystemListenerIfNeeded,
|
|
387
558
|
});
|
|
@@ -490,6 +661,10 @@ async function staticInit(config) {
|
|
|
490
661
|
(s) => s._pds !== true
|
|
491
662
|
);
|
|
492
663
|
document.adoptedStyleSheets = [...others, stylesSheet];
|
|
664
|
+
__emitPDSConfigChanged({
|
|
665
|
+
mode: "static",
|
|
666
|
+
source: "static:styles-applied",
|
|
667
|
+
});
|
|
493
668
|
}
|
|
494
669
|
} catch (e) {
|
|
495
670
|
__defaultLog.call(PDS, "warn", "Failed to apply static styles:", e);
|
|
@@ -500,10 +675,15 @@ async function staticInit(config) {
|
|
|
500
675
|
let autoDefiner = null;
|
|
501
676
|
let mergedEnhancers = [];
|
|
502
677
|
try {
|
|
678
|
+
const defaultPDSEnhancers = await __loadDefaultEnhancers();
|
|
503
679
|
const res = await setupAutoDefinerAndEnhancers({
|
|
504
680
|
autoDefineBaseURL,
|
|
505
681
|
autoDefinePreload,
|
|
506
682
|
autoDefineMapper,
|
|
683
|
+
autoDefinerModuleURL: __resolveExternalRuntimeModuleURL(
|
|
684
|
+
"pds-auto-definer.js",
|
|
685
|
+
cfgAuto?.moduleURL || PDS.currentConfig?.autoDefinerURL
|
|
686
|
+
),
|
|
507
687
|
enhancers: userEnhancers,
|
|
508
688
|
autoDefineOverrides: cfgAuto || null,
|
|
509
689
|
autoDefinePreferModule: !(cfgAuto && cfgAuto.baseURL),
|