@nbreak/vue 0.1.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.
@@ -0,0 +1,700 @@
1
+ Object.defineProperties(exports, {
2
+ __esModule: { value: true },
3
+ [Symbol.toStringTag]: { value: "Module" }
4
+ });
5
+ let _nbreak_core = require("@nbreak/core");
6
+ let _nbreak_shared = require("@nbreak/shared");
7
+ let vue = require("vue");
8
+ let _nbreak_sdk = require("@nbreak/sdk");
9
+ let _nbreak_runtime_loader = require("@nbreak/runtime-loader");
10
+ //#region src/propertyFieldRegistry.js
11
+ /**
12
+ * @nbreak/vue - 属性字段编辑器注册表
13
+ *
14
+ * 管理所有属性字段类型对应的编辑器组件
15
+ * 内置类型由 SchemaFormRenderer 默认处理,扩展类型从此注册表获取
16
+ */
17
+ var PropertyFieldRegistry = class {
18
+ constructor() {
19
+ this.editors = /* @__PURE__ */ new Map();
20
+ this.serializers = /* @__PURE__ */ new Map();
21
+ }
22
+ /**
23
+ * 注册属性字段编辑器
24
+ * @param {string} fieldType - 字段类型
25
+ * @param {Object|Function} editor - Vue 组件
26
+ * @param {Object} [options]
27
+ * @param {Function} [options.defaultValue]
28
+ * @param {Function} [options.serialize]
29
+ * @param {Function} [options.deserialize]
30
+ */
31
+ register(fieldType, editor, options = {}) {
32
+ if (this.editors.has(fieldType)) console.warn(`[DataScreen] 属性字段 "${fieldType}" 已注册,覆盖`);
33
+ this.editors.set(fieldType, editor);
34
+ if (options.defaultValue || options.serialize || options.deserialize) this.serializers.set(fieldType, {
35
+ defaultValue: options.defaultValue || (() => null),
36
+ serialize: options.serialize || ((v) => v),
37
+ deserialize: options.deserialize || ((v) => v)
38
+ });
39
+ }
40
+ /**
41
+ * 从扩展定义注册
42
+ */
43
+ registerFromExtension(extension) {
44
+ if (!extension || extension.type !== _nbreak_shared.EXTENSION_TYPES.PROPERTY_FIELD) return;
45
+ const def = extension.definition;
46
+ if (!def) return;
47
+ this.register(def.fieldType, def.editor, {
48
+ defaultValue: def.defaultValue,
49
+ serialize: def.serialize,
50
+ deserialize: def.deserialize
51
+ });
52
+ }
53
+ /**
54
+ * 获取编辑器
55
+ */
56
+ get(fieldType) {
57
+ return this.editors.get(fieldType) || null;
58
+ }
59
+ /**
60
+ * 检查是否存在
61
+ */
62
+ has(fieldType) {
63
+ return this.editors.has(fieldType);
64
+ }
65
+ /**
66
+ * 是否为内置类型
67
+ */
68
+ isBuiltin(fieldType) {
69
+ return _nbreak_shared.BUILTIN_PROPERTY_FIELD_TYPES.includes(fieldType);
70
+ }
71
+ /**
72
+ * 获取序列化器
73
+ */
74
+ getSerializer(fieldType) {
75
+ return this.serializers.get(fieldType) || {
76
+ defaultValue: () => null,
77
+ serialize: (v) => v,
78
+ deserialize: (v) => v
79
+ };
80
+ }
81
+ /**
82
+ * 获取所有已注册字段类型
83
+ */
84
+ getAllTypes() {
85
+ return Array.from(this.editors.keys());
86
+ }
87
+ /**
88
+ * 清空
89
+ */
90
+ clear() {
91
+ this.editors.clear();
92
+ this.serializers.clear();
93
+ }
94
+ /**
95
+ * 获取数量
96
+ */
97
+ size() {
98
+ return this.editors.size;
99
+ }
100
+ };
101
+ var propertyFieldRegistry = new PropertyFieldRegistry();
102
+ //#endregion
103
+ //#region src/composables/useDataScreen.js
104
+ /**
105
+ * @nbreak/vue - useDataScreen composable
106
+ *
107
+ * 提供全局配置访问与扩展操作能力
108
+ */
109
+ var DATASCREEN_INJECTION_KEY = Symbol("datascreen");
110
+ /**
111
+ * 获取 DataScreen 全局配置
112
+ */
113
+ function useDataScreen() {
114
+ return {
115
+ config: (0, vue.getCurrentInstance)()?.appContext.config.globalProperties.$datascreen || (0, vue.inject)(DATASCREEN_INJECTION_KEY, null),
116
+ extensionRegistry: _nbreak_core.extensionRegistry,
117
+ propertyFieldRegistry,
118
+ registerExtension: (ext) => _nbreak_core.extensionRegistry.register(ext),
119
+ unregisterExtension: (name) => _nbreak_core.extensionRegistry.unregister(name)
120
+ };
121
+ }
122
+ //#endregion
123
+ //#region \0plugin-vue:export-helper
124
+ var _plugin_vue_export_helper_default = (sfc, props) => {
125
+ const target = sfc.__vccOpts || sfc;
126
+ for (const [key, val] of props) target[key] = val;
127
+ return target;
128
+ };
129
+ //#endregion
130
+ //#region src/components/PropertyFieldRenderer.vue
131
+ var _hoisted_1$1 = { class: "ds-property-field" };
132
+ var _hoisted_2$1 = {
133
+ key: 1,
134
+ class: "ds-property-field-fallback"
135
+ };
136
+ var _hoisted_3$1 = ["value", "placeholder"];
137
+ var _hoisted_4$1 = {
138
+ key: 0,
139
+ class: "ds-property-field-warning"
140
+ };
141
+ var PropertyFieldRenderer_default = /*#__PURE__*/ _plugin_vue_export_helper_default({
142
+ __name: "PropertyFieldRenderer",
143
+ props: {
144
+ modelValue: { default: null },
145
+ field: {
146
+ type: Object,
147
+ required: true
148
+ },
149
+ propsData: {
150
+ type: Object,
151
+ default: () => ({})
152
+ }
153
+ },
154
+ emits: ["update:modelValue"],
155
+ setup(__props, { emit: __emit }) {
156
+ const props = __props;
157
+ const emit = __emit;
158
+ const innerValue = (0, vue.ref)(props.modelValue);
159
+ (0, vue.watch)(() => props.modelValue, (val) => {
160
+ innerValue.value = val;
161
+ });
162
+ const isBuiltin = (0, vue.computed)(() => propertyFieldRegistry.isBuiltin(props.field.type));
163
+ const editorComponent = (0, vue.computed)(() => propertyFieldRegistry.get(props.field.type));
164
+ function onUpdate(val) {
165
+ innerValue.value = val;
166
+ emit("update:modelValue", val);
167
+ }
168
+ function onInputFallback(e) {
169
+ const val = e.target.value;
170
+ onUpdate(val);
171
+ }
172
+ return (_ctx, _cache) => {
173
+ return (0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_1$1, [editorComponent.value ? ((0, vue.openBlock)(), (0, vue.createBlock)((0, vue.resolveDynamicComponent)(editorComponent.value), {
174
+ key: 0,
175
+ modelValue: innerValue.value,
176
+ field: __props.field,
177
+ props: __props.propsData,
178
+ placeholder: __props.field.placeholder || "",
179
+ "onUpdate:modelValue": onUpdate
180
+ }, null, 8, [
181
+ "modelValue",
182
+ "field",
183
+ "props",
184
+ "placeholder"
185
+ ])) : ((0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_2$1, [(0, vue.createElementVNode)("input", {
186
+ value: innerValue.value,
187
+ onInput: onInputFallback,
188
+ placeholder: __props.field.placeholder || __props.field.label || "",
189
+ class: "ds-property-field-input"
190
+ }, null, 40, _hoisted_3$1), !isBuiltin.value ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("small", _hoisted_4$1, " 未知字段类型: " + (0, vue.toDisplayString)(__props.field.type), 1)) : (0, vue.createCommentVNode)("", true)]))]);
191
+ };
192
+ }
193
+ }, [["__scopeId", "data-v-93e4a7cd"]]);
194
+ //#endregion
195
+ //#region src/components/SchemaFormRenderer.vue
196
+ var _hoisted_1 = { class: "ds-schema-form" };
197
+ var _hoisted_2 = { class: "ds-schema-form-group-title" };
198
+ var _hoisted_3 = { class: "ds-schema-form-group-fields" };
199
+ var _hoisted_4 = { class: "ds-schema-form-label" };
200
+ var _hoisted_5 = {
201
+ key: 0,
202
+ class: "ds-schema-form-required"
203
+ };
204
+ var _hoisted_6 = {
205
+ key: 0,
206
+ class: "ds-schema-form-description"
207
+ };
208
+ var _hoisted_7 = {
209
+ key: 1,
210
+ class: "ds-schema-form-error"
211
+ };
212
+ var SchemaFormRenderer_default = /*#__PURE__*/ _plugin_vue_export_helper_default({
213
+ __name: "SchemaFormRenderer",
214
+ props: {
215
+ schema: {
216
+ type: Array,
217
+ default: () => []
218
+ },
219
+ modelValue: {
220
+ type: Object,
221
+ default: () => ({})
222
+ },
223
+ propsData: {
224
+ type: Object,
225
+ default: () => ({})
226
+ },
227
+ context: {
228
+ type: Object,
229
+ default: () => ({})
230
+ }
231
+ },
232
+ emits: ["update:modelValue", "validate"],
233
+ setup(__props, { expose: __expose, emit: __emit }) {
234
+ const props = __props;
235
+ const emit = __emit;
236
+ const errors = (0, vue.ref)({});
237
+ const groupedFields = (0, vue.computed)(() => (0, _nbreak_shared.groupFields)(props.schema));
238
+ (0, vue.watch)(() => props.modelValue, (val) => {
239
+ validate(val);
240
+ }, { deep: true });
241
+ function getFieldValue(key) {
242
+ return (0, _nbreak_shared.getNestedValue)(props.modelValue, key);
243
+ }
244
+ function setFieldValue(key, value) {
245
+ const newObj = { ...props.modelValue };
246
+ (0, _nbreak_shared.setNestedValue)(newObj, key, value);
247
+ emit("update:modelValue", newObj);
248
+ }
249
+ function isFieldVisibleLocal(field) {
250
+ return (0, _nbreak_shared.isFieldVisible)(field, props.modelValue, {
251
+ ...props.context,
252
+ propsData: props.propsData
253
+ });
254
+ }
255
+ function validate(data = props.modelValue) {
256
+ const errs = {};
257
+ for (const field of props.schema) {
258
+ if (!isFieldVisibleLocal(field)) continue;
259
+ const result = (0, _nbreak_shared.validateField)(field, getFieldValue(field.key));
260
+ if (result !== true) errs[field.key] = result;
261
+ }
262
+ errors.value = errs;
263
+ emit("validate", {
264
+ valid: Object.keys(errs).length === 0,
265
+ errors: errs
266
+ });
267
+ return Object.keys(errs).length === 0;
268
+ }
269
+ __expose({ validate });
270
+ return (_ctx, _cache) => {
271
+ return (0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_1, [((0, vue.openBlock)(true), (0, vue.createElementBlock)(vue.Fragment, null, (0, vue.renderList)(groupedFields.value, (group) => {
272
+ return (0, vue.openBlock)(), (0, vue.createElementBlock)("div", {
273
+ key: group.name,
274
+ class: "ds-schema-form-group"
275
+ }, [(0, vue.createElementVNode)("div", _hoisted_2, (0, vue.toDisplayString)(group.name), 1), (0, vue.createElementVNode)("div", _hoisted_3, [((0, vue.openBlock)(true), (0, vue.createElementBlock)(vue.Fragment, null, (0, vue.renderList)(group.fields, (field) => {
276
+ return (0, vue.withDirectives)(((0, vue.openBlock)(), (0, vue.createElementBlock)("div", {
277
+ key: field.key,
278
+ class: "ds-schema-form-field"
279
+ }, [
280
+ (0, vue.createElementVNode)("label", _hoisted_4, [(0, vue.createTextVNode)((0, vue.toDisplayString)(field.label) + " ", 1), field.required ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("span", _hoisted_5, "*")) : (0, vue.createCommentVNode)("", true)]),
281
+ (0, vue.createVNode)(PropertyFieldRenderer_default, {
282
+ modelValue: getFieldValue(field.key),
283
+ field,
284
+ propsData: __props.propsData,
285
+ "onUpdate:modelValue": (val) => setFieldValue(field.key, val)
286
+ }, null, 8, [
287
+ "modelValue",
288
+ "field",
289
+ "propsData",
290
+ "onUpdate:modelValue"
291
+ ]),
292
+ field.description ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("small", _hoisted_6, (0, vue.toDisplayString)(field.description), 1)) : (0, vue.createCommentVNode)("", true),
293
+ errors.value[field.key] ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("small", _hoisted_7, (0, vue.toDisplayString)(errors.value[field.key]), 1)) : (0, vue.createCommentVNode)("", true)
294
+ ])), [[vue.vShow, (0, vue.unref)(_nbreak_shared.isFieldVisible)(field)]]);
295
+ }), 128))])]);
296
+ }), 128))]);
297
+ };
298
+ }
299
+ }, [["__scopeId", "data-v-e5ecc246"]]);
300
+ //#endregion
301
+ //#region src/plugin.js
302
+ /**
303
+ * @nbreak/vue - Vue 插件主入口
304
+ *
305
+ * 提供 app.use(DataScreenVue, { extensions, builtin, runtime }) 集成能力
306
+ *
307
+ * 注意:Vue 的 app.use() 不会 await async install,因此提供:
308
+ * 1. DataScreenVuePlugin - 同步插件(注册全局组件、注入配置)
309
+ * 2. setupDataScreen(app, options) - 异步 setup,await 后再 mount
310
+ *
311
+ * 对标:
312
+ * - DataV 嵌入式 SDK
313
+ * - Superset 的 @superset-ui/core + @superset-ui/vue
314
+ */
315
+ /**
316
+ * 异步 setup:加载扩展并注册
317
+ * 应用方应在 app.mount() 之前 await 此函数
318
+ *
319
+ * @param {import('vue').App} app
320
+ * @param {Object} [options]
321
+ * @param {Array} [options.extensions] - 静态扩展数组
322
+ * @param {Object} [options.builtin] - 启用内置包 { components, themes, datasources }
323
+ * @param {Object} [options.runtime] - 运行时加载配置
324
+ * @param {boolean} [options.autoRegisterComponents=true] - 自动注册组件扩展为全局组件
325
+ */
326
+ async function setupDataScreen(app, options = {}) {
327
+ const { extensions = [], builtin = {}, runtime: runtimeConfig = null, autoRegisterComponents = true } = options;
328
+ const config = {
329
+ extensions: [],
330
+ builtin,
331
+ runtime: runtimeConfig,
332
+ version: "0.1.0"
333
+ };
334
+ app.config.globalProperties.$datascreen = config;
335
+ app.provide(DATASCREEN_INJECTION_KEY, config);
336
+ app.component("SchemaFormRenderer", SchemaFormRenderer_default);
337
+ app.component("PropertyFieldRenderer", PropertyFieldRenderer_default);
338
+ if (builtin.themes) try {
339
+ const themesPkg = await import("@nbreak/themes");
340
+ const themeExtensions = themesPkg.extensions || (themesPkg.default ? themesPkg.default.extensions || [] : []);
341
+ for (const ext of themeExtensions) await _nbreak_core.extensionRegistry.register(ext);
342
+ console.log(`[DataScreen Vue] 已加载内置主题包 (${themeExtensions.length} 个)`);
343
+ } catch (e) {
344
+ console.warn("[DataScreen Vue] 内置主题包加载失败:", e.message);
345
+ }
346
+ if (builtin.datasources) try {
347
+ const dsPkg = await import("@nbreak/datasources");
348
+ const dsExtensions = dsPkg.extensions || (dsPkg.default ? dsPkg.default.extensions || [] : []);
349
+ for (const ext of dsExtensions) await _nbreak_core.extensionRegistry.register(ext);
350
+ console.log(`[DataScreen Vue] 已加载内置数据源包 (${dsExtensions.length} 个)`);
351
+ } catch (e) {
352
+ console.warn("[DataScreen Vue] 内置数据源包加载失败:", e.message);
353
+ }
354
+ if (builtin.ui || builtin.components) try {
355
+ const uiPkg = await import("@nbreak/ui");
356
+ const uiExtensions = uiPkg.extensions || (uiPkg.default ? uiPkg.default.extensions || [] : []);
357
+ for (const ext of uiExtensions) {
358
+ await _nbreak_core.extensionRegistry.register(ext);
359
+ if (autoRegisterComponents && ext.type === _nbreak_shared.EXTENSION_TYPES.COMPONENT) {
360
+ const def = ext.definition;
361
+ if (def && def.component) app.component(def.type, def.component);
362
+ }
363
+ }
364
+ console.log(`[DataScreen Vue] 已加载内置组件包 (${uiExtensions.length} 个)`);
365
+ } catch (e) {
366
+ console.warn("[DataScreen Vue] 内置组件包加载失败:", e.message);
367
+ }
368
+ for (const ext of extensions) {
369
+ await _nbreak_core.extensionRegistry.register(ext);
370
+ config.extensions.push(ext.name);
371
+ if (ext.type === _nbreak_shared.EXTENSION_TYPES.PROPERTY_FIELD) propertyFieldRegistry.registerFromExtension(ext);
372
+ if (autoRegisterComponents && ext.type === _nbreak_shared.EXTENSION_TYPES.COMPONENT) {
373
+ const def = ext.definition;
374
+ if (def && def.component) app.component(def.type, def.component);
375
+ }
376
+ }
377
+ if (runtimeConfig) try {
378
+ const { loadExtensions, setHostVersion } = await import("@nbreak/runtime-loader");
379
+ setHostVersion(config.version);
380
+ if (runtimeConfig.manifestRegistry) {
381
+ const { manifestRegistry } = await import("@nbreak/runtime-loader");
382
+ manifestRegistry.addSource(runtimeConfig.manifestRegistry);
383
+ if (runtimeConfig.autoLoad) {
384
+ await manifestRegistry.sync();
385
+ const results = await loadExtensions(manifestRegistry.getAll());
386
+ const success = results.filter((r) => r.success).length;
387
+ const failed = results.filter((r) => !r.success).length;
388
+ console.log(`[DataScreen Vue] 运行时扩展加载: ${success} 成功, ${failed} 失败`);
389
+ for (const result of results) if (result.success && result.extension?.type === _nbreak_shared.EXTENSION_TYPES.PROPERTY_FIELD) propertyFieldRegistry.registerFromExtension(result.extension);
390
+ }
391
+ }
392
+ } catch (e) {
393
+ console.warn("[DataScreen Vue] 运行时加载器初始化失败:", e.message);
394
+ }
395
+ console.log(`[DataScreen Vue] setup 完成 (扩展: ${_nbreak_core.extensionRegistry.size()} 个)`);
396
+ return config;
397
+ }
398
+ /**
399
+ * 同步 Vue 插件(仅注册全局组件和注入配置,不加载扩展)
400
+ * 如需加载扩展,请使用 setupDataScreen()
401
+ */
402
+ var DataScreenVuePlugin = {
403
+ name: "DataScreenVue",
404
+ version: "0.1.0",
405
+ install(app, options = {}) {
406
+ const config = {
407
+ extensions: [],
408
+ builtin: options.builtin || {},
409
+ runtime: options.runtime || null,
410
+ version: "0.1.0"
411
+ };
412
+ app.config.globalProperties.$datascreen = config;
413
+ app.provide(DATASCREEN_INJECTION_KEY, config);
414
+ app.component("SchemaFormRenderer", SchemaFormRenderer_default);
415
+ app.component("PropertyFieldRenderer", PropertyFieldRenderer_default);
416
+ if (options.extensions) for (const ext of options.extensions) {
417
+ _nbreak_core.extensionRegistry.register(ext);
418
+ if (options.autoRegisterComponents !== false && ext.type === _nbreak_shared.EXTENSION_TYPES.COMPONENT) {
419
+ const def = ext.definition;
420
+ if (def && def.component) app.component(def.type, def.component);
421
+ }
422
+ if (ext.type === _nbreak_shared.EXTENSION_TYPES.PROPERTY_FIELD) propertyFieldRegistry.registerFromExtension(ext);
423
+ }
424
+ }
425
+ };
426
+ //#endregion
427
+ //#region src/composables/useExtensionRegistry.js
428
+ /**
429
+ * @nbreak/vue - useExtensionRegistry composable
430
+ *
431
+ * 提供 Vue 响应式访问扩展注册表的能力
432
+ */
433
+ /**
434
+ * Vue 响应式访问扩展注册表
435
+ */
436
+ function useExtensionRegistry() {
437
+ const refreshTick = (0, vue.ref)(0);
438
+ const refresh = () => {
439
+ refreshTick.value++;
440
+ };
441
+ const unsubscribe = _nbreak_core.eventBus.on("extension:registered", refresh);
442
+ const unsubscribe2 = _nbreak_core.eventBus.on("extension:unregistered", refresh);
443
+ const unsubscribe3 = _nbreak_core.eventBus.on("extension:enabled", refresh);
444
+ const unsubscribe4 = _nbreak_core.eventBus.on("extension:disabled", refresh);
445
+ (0, vue.onUnmounted)(() => {
446
+ unsubscribe();
447
+ unsubscribe2();
448
+ unsubscribe3();
449
+ unsubscribe4();
450
+ });
451
+ return {
452
+ allExtensions: (0, vue.computed)(() => {
453
+ refreshTick.value;
454
+ return _nbreak_core.extensionRegistry.getAll();
455
+ }),
456
+ components: (0, vue.computed)(() => {
457
+ refreshTick.value;
458
+ return _nbreak_core.extensionRegistry.getByType(_nbreak_core.EXTENSION_TYPES.COMPONENT);
459
+ }),
460
+ themes: (0, vue.computed)(() => {
461
+ refreshTick.value;
462
+ return _nbreak_core.extensionRegistry.getByType(_nbreak_core.EXTENSION_TYPES.THEME);
463
+ }),
464
+ datasources: (0, vue.computed)(() => {
465
+ refreshTick.value;
466
+ return _nbreak_core.extensionRegistry.getByType(_nbreak_core.EXTENSION_TYPES.DATASOURCE);
467
+ }),
468
+ templates: (0, vue.computed)(() => {
469
+ refreshTick.value;
470
+ return _nbreak_core.extensionRegistry.getByType(_nbreak_core.EXTENSION_TYPES.TEMPLATE);
471
+ }),
472
+ actions: (0, vue.computed)(() => {
473
+ refreshTick.value;
474
+ return _nbreak_core.extensionRegistry.getByType(_nbreak_core.EXTENSION_TYPES.ACTION);
475
+ }),
476
+ propertyFields: (0, vue.computed)(() => {
477
+ refreshTick.value;
478
+ return _nbreak_core.extensionRegistry.getByType(_nbreak_core.EXTENSION_TYPES.PROPERTY_FIELD);
479
+ }),
480
+ getExtension: (type, name) => _nbreak_core.extensionRegistry.get(type, name),
481
+ hasExtension: (name) => _nbreak_core.extensionRegistry.has(name)
482
+ };
483
+ }
484
+ //#endregion
485
+ //#region src/index.js
486
+ var VERSION = "0.1.0";
487
+ var PACKAGE_NAME = "@nbreak/vue";
488
+ //#endregion
489
+ Object.defineProperty(exports, "COMPONENT_CATEGORIES", {
490
+ enumerable: true,
491
+ get: function() {
492
+ return _nbreak_core.COMPONENT_CATEGORIES;
493
+ }
494
+ });
495
+ exports.DATASCREEN_INJECTION_KEY = DATASCREEN_INJECTION_KEY;
496
+ exports.DataScreenVuePlugin = DataScreenVuePlugin;
497
+ Object.defineProperty(exports, "EXTENSION_STATUS", {
498
+ enumerable: true,
499
+ get: function() {
500
+ return _nbreak_core.EXTENSION_STATUS;
501
+ }
502
+ });
503
+ Object.defineProperty(exports, "EXTENSION_TYPES", {
504
+ enumerable: true,
505
+ get: function() {
506
+ return _nbreak_core.EXTENSION_TYPES;
507
+ }
508
+ });
509
+ Object.defineProperty(exports, "EventBus", {
510
+ enumerable: true,
511
+ get: function() {
512
+ return _nbreak_core.EventBus;
513
+ }
514
+ });
515
+ Object.defineProperty(exports, "ExtensionRegistry", {
516
+ enumerable: true,
517
+ get: function() {
518
+ return _nbreak_core.ExtensionRegistry;
519
+ }
520
+ });
521
+ Object.defineProperty(exports, "HOOK_NAMES", {
522
+ enumerable: true,
523
+ get: function() {
524
+ return _nbreak_core.HOOK_NAMES;
525
+ }
526
+ });
527
+ exports.PACKAGE_NAME = PACKAGE_NAME;
528
+ Object.defineProperty(exports, "PROPERTY_FIELD_TYPES", {
529
+ enumerable: true,
530
+ get: function() {
531
+ return _nbreak_core.PROPERTY_FIELD_TYPES;
532
+ }
533
+ });
534
+ Object.defineProperty(exports, "PluginSystem", {
535
+ enumerable: true,
536
+ get: function() {
537
+ return _nbreak_core.PluginSystem;
538
+ }
539
+ });
540
+ exports.PropertyFieldRegistry = PropertyFieldRegistry;
541
+ exports.PropertyFieldRenderer = PropertyFieldRenderer_default;
542
+ exports.SchemaFormRenderer = SchemaFormRenderer_default;
543
+ exports.VERSION = VERSION;
544
+ Object.defineProperty(exports, "createManifest", {
545
+ enumerable: true,
546
+ get: function() {
547
+ return _nbreak_shared.createManifest;
548
+ }
549
+ });
550
+ exports.default = DataScreenVuePlugin;
551
+ Object.defineProperty(exports, "defineActionExtension", {
552
+ enumerable: true,
553
+ get: function() {
554
+ return _nbreak_sdk.defineActionExtension;
555
+ }
556
+ });
557
+ Object.defineProperty(exports, "defineComponentExtension", {
558
+ enumerable: true,
559
+ get: function() {
560
+ return _nbreak_sdk.defineComponentExtension;
561
+ }
562
+ });
563
+ Object.defineProperty(exports, "defineDataSourceExtension", {
564
+ enumerable: true,
565
+ get: function() {
566
+ return _nbreak_sdk.defineDataSourceExtension;
567
+ }
568
+ });
569
+ Object.defineProperty(exports, "defineExtension", {
570
+ enumerable: true,
571
+ get: function() {
572
+ return _nbreak_sdk.defineExtension;
573
+ }
574
+ });
575
+ Object.defineProperty(exports, "definePropertyField", {
576
+ enumerable: true,
577
+ get: function() {
578
+ return _nbreak_shared.definePropertyField;
579
+ }
580
+ });
581
+ Object.defineProperty(exports, "definePropertyFieldExtension", {
582
+ enumerable: true,
583
+ get: function() {
584
+ return _nbreak_sdk.definePropertyFieldExtension;
585
+ }
586
+ });
587
+ Object.defineProperty(exports, "definePropertyGroup", {
588
+ enumerable: true,
589
+ get: function() {
590
+ return _nbreak_shared.definePropertyGroup;
591
+ }
592
+ });
593
+ Object.defineProperty(exports, "defineTemplateExtension", {
594
+ enumerable: true,
595
+ get: function() {
596
+ return _nbreak_sdk.defineTemplateExtension;
597
+ }
598
+ });
599
+ Object.defineProperty(exports, "defineThemeExtension", {
600
+ enumerable: true,
601
+ get: function() {
602
+ return _nbreak_sdk.defineThemeExtension;
603
+ }
604
+ });
605
+ Object.defineProperty(exports, "eventBus", {
606
+ enumerable: true,
607
+ get: function() {
608
+ return _nbreak_core.eventBus;
609
+ }
610
+ });
611
+ Object.defineProperty(exports, "extensionRegistry", {
612
+ enumerable: true,
613
+ get: function() {
614
+ return _nbreak_core.extensionRegistry;
615
+ }
616
+ });
617
+ Object.defineProperty(exports, "getNestedValue", {
618
+ enumerable: true,
619
+ get: function() {
620
+ return _nbreak_shared.getNestedValue;
621
+ }
622
+ });
623
+ Object.defineProperty(exports, "groupFields", {
624
+ enumerable: true,
625
+ get: function() {
626
+ return _nbreak_shared.groupFields;
627
+ }
628
+ });
629
+ Object.defineProperty(exports, "isFieldVisible", {
630
+ enumerable: true,
631
+ get: function() {
632
+ return _nbreak_shared.isFieldVisible;
633
+ }
634
+ });
635
+ Object.defineProperty(exports, "loadExtension", {
636
+ enumerable: true,
637
+ get: function() {
638
+ return _nbreak_runtime_loader.loadExtension;
639
+ }
640
+ });
641
+ Object.defineProperty(exports, "loadExtensions", {
642
+ enumerable: true,
643
+ get: function() {
644
+ return _nbreak_runtime_loader.loadExtensions;
645
+ }
646
+ });
647
+ Object.defineProperty(exports, "manifestRegistry", {
648
+ enumerable: true,
649
+ get: function() {
650
+ return _nbreak_runtime_loader.manifestRegistry;
651
+ }
652
+ });
653
+ Object.defineProperty(exports, "pluginSystem", {
654
+ enumerable: true,
655
+ get: function() {
656
+ return _nbreak_core.pluginSystem;
657
+ }
658
+ });
659
+ exports.propertyFieldRegistry = propertyFieldRegistry;
660
+ Object.defineProperty(exports, "registerExtensions", {
661
+ enumerable: true,
662
+ get: function() {
663
+ return _nbreak_sdk.registerExtensions;
664
+ }
665
+ });
666
+ Object.defineProperty(exports, "resolveDefaults", {
667
+ enumerable: true,
668
+ get: function() {
669
+ return _nbreak_shared.resolveDefaults;
670
+ }
671
+ });
672
+ Object.defineProperty(exports, "setNestedValue", {
673
+ enumerable: true,
674
+ get: function() {
675
+ return _nbreak_shared.setNestedValue;
676
+ }
677
+ });
678
+ exports.setupDataScreen = setupDataScreen;
679
+ Object.defineProperty(exports, "unloadExtension", {
680
+ enumerable: true,
681
+ get: function() {
682
+ return _nbreak_runtime_loader.unloadExtension;
683
+ }
684
+ });
685
+ exports.useDataScreen = useDataScreen;
686
+ exports.useExtensionRegistry = useExtensionRegistry;
687
+ Object.defineProperty(exports, "validateField", {
688
+ enumerable: true,
689
+ get: function() {
690
+ return _nbreak_shared.validateField;
691
+ }
692
+ });
693
+ Object.defineProperty(exports, "validateManifest", {
694
+ enumerable: true,
695
+ get: function() {
696
+ return _nbreak_shared.validateManifest;
697
+ }
698
+ });
699
+
700
+ //# sourceMappingURL=index.cjs.map