@ng-formworks/daisyui 18.5.8 → 18.6.2
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/esm2022/lib/daisyui-cssframework.mjs +232 -0
- package/esm2022/lib/daisyui-framework.component.mjs +2 -2
- package/esm2022/lib/daisyui-framework.module.mjs +10 -3
- package/esm2022/lib/daisyui-framework.prefixed.component.mjs +2 -2
- package/esm2022/lib/daisyui.framework.mjs +4 -2
- package/esm2022/lib/widgets/daisyui-one-of.component.mjs +115 -0
- package/esm2022/lib/widgets/daisyui-tabs.component.mjs +68 -32
- package/esm2022/public-api.mjs +2 -1
- package/fesm2022/ng-formworks-daisyui.mjs +223 -60
- package/fesm2022/ng-formworks-daisyui.mjs.map +1 -1
- package/lib/daisyui-framework.module.d.ts +6 -4
- package/lib/widgets/daisyui-one-of.component.d.ts +21 -0
- package/lib/widgets/daisyui-tabs.component.d.ts +1 -1
- package/package.json +3 -3
- package/public-api.d.ts +1 -0
- package/esm2022/lib/daisui-cssframework.mjs +0 -223
- /package/lib/{daisui-cssframework.d.ts → daisyui-cssframework.d.ts} +0 -0
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { Inject, Injectable, Optional, inject } from '@angular/core';
|
|
2
2
|
import { CssFramework, CssframeworkService } from '@ng-formworks/cssframework';
|
|
3
|
-
import { cssFrameworkCfgDaisyUI, getCssFrameworkCfgPrefixed } from './
|
|
3
|
+
import { cssFrameworkCfgDaisyUI, getCssFrameworkCfgPrefixed } from './daisyui-cssframework';
|
|
4
4
|
import { DaisyUIFrameworkComponent } from './daisyui-framework.component';
|
|
5
5
|
import { DaisyUIFrameworkComponentPrefixed } from './daisyui-framework.prefixed.component';
|
|
6
6
|
import { DUIOPTIONS } from './tokens.defs';
|
|
7
|
+
import { DaisyUIOneOfComponent } from './widgets/daisyui-one-of.component';
|
|
7
8
|
import { DaisyUITabsComponent } from './widgets/daisyui-tabs.component';
|
|
8
9
|
import * as i0 from "@angular/core";
|
|
9
10
|
export class DaisyUIFramework extends CssFramework {
|
|
@@ -28,6 +29,7 @@ export class DaisyUIFramework extends CssFramework {
|
|
|
28
29
|
}
|
|
29
30
|
this.widgets = {
|
|
30
31
|
'tabs': DaisyUITabsComponent,
|
|
32
|
+
'one-of': DaisyUIOneOfComponent
|
|
31
33
|
};
|
|
32
34
|
}
|
|
33
35
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DaisyUIFramework, deps: [{ token: DUIOPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
@@ -41,4 +43,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
41
43
|
}, {
|
|
42
44
|
type: Optional
|
|
43
45
|
}] }] });
|
|
44
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
46
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGFpc3l1aS5mcmFtZXdvcmsuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1mb3Jtd29ya3MtZGFpc3l1aS9zcmMvbGliL2RhaXN5dWkuZnJhbWV3b3JrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckUsT0FBTyxFQUFFLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQy9FLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzVGLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzFFLE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQzNGLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDM0UsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7O0FBSXhFLE1BQU0sT0FBTyxnQkFBaUIsU0FBUSxZQUFZO0lBTWhEO0lBQ0UsMENBQTBDO0lBS3hCLGFBQWUsRUFBQyxXQUFXLEVBQUMsSUFBSSxFQUFDO1FBRW5ELE1BQU0sWUFBWSxHQUFHLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBRWpELElBQUksT0FBTyxHQUFLLFVBQVUsS0FBRyxJQUFJLENBQUEsQ0FBQyxDQUFBLEVBQUMsV0FBVyxFQUFDLElBQUksRUFBQyxDQUFBLENBQUMsQ0FBQSxVQUFVLENBQUM7UUFDL0QsSUFBSSxlQUFlLEdBQUMsc0JBQXNCLENBQUM7UUFDNUMsSUFBRyxPQUFPLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQSwyQkFBMkI7WUFDbkQsZUFBZSxHQUFDLDBCQUEwQixDQUFDLHNCQUFzQixDQUFDLENBQUE7UUFDcEUsQ0FBQztRQUNELHNDQUFzQztRQUN0QyxLQUFLLENBQUMsZUFBZSxDQUFDLENBQUM7UUFWTCxlQUFVLEdBQVYsVUFBVSxDQUF1QjtRQVZ2RCx1RkFBdUY7UUFHdkYsY0FBUyxHQUFDLHlCQUF5QixDQUFDO1FBa0JoQyxJQUFJLENBQUMsWUFBWSxHQUFHLFlBQVksQ0FBQztRQUNqQyxxQ0FBcUM7UUFFckMsSUFBRyxPQUFPLEVBQUUsV0FBVyxFQUFDLENBQUM7WUFDdkIsSUFBSSxDQUFDLFNBQVMsR0FBQyxpQ0FBaUMsQ0FBQztRQUNuRCxDQUFDO1FBQ0QsSUFBSSxDQUFDLE9BQU8sR0FBRTtZQUVaLE1BQU0sRUFBRSxvQkFBb0I7WUFDNUIsUUFBUSxFQUFDLHFCQUFxQjtTQUUvQixDQUFDO0lBQ0osQ0FBQzsrR0FuQ1UsZ0JBQWdCLGtCQVFqQixVQUFVO21IQVJULGdCQUFnQjs7NEZBQWhCLGdCQUFnQjtrQkFENUIsVUFBVTs7MEJBU04sTUFBTTsyQkFBQyxVQUFVOzswQkFJbkIsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgT3B0aW9uYWwsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDc3NGcmFtZXdvcmssIENzc2ZyYW1ld29ya1NlcnZpY2UgfSBmcm9tICdAbmctZm9ybXdvcmtzL2Nzc2ZyYW1ld29yayc7XHJcbmltcG9ydCB7IGNzc0ZyYW1ld29ya0NmZ0RhaXN5VUksIGdldENzc0ZyYW1ld29ya0NmZ1ByZWZpeGVkIH0gZnJvbSAnLi9kYWlzeXVpLWNzc2ZyYW1ld29yayc7XHJcbmltcG9ydCB7IERhaXN5VUlGcmFtZXdvcmtDb21wb25lbnQgfSBmcm9tICcuL2RhaXN5dWktZnJhbWV3b3JrLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IERhaXN5VUlGcmFtZXdvcmtDb21wb25lbnRQcmVmaXhlZCB9IGZyb20gJy4vZGFpc3l1aS1mcmFtZXdvcmsucHJlZml4ZWQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRFVJT1BUSU9OUyB9IGZyb20gJy4vdG9rZW5zLmRlZnMnO1xyXG5pbXBvcnQgeyBEYWlzeVVJT25lT2ZDb21wb25lbnQgfSBmcm9tICcuL3dpZGdldHMvZGFpc3l1aS1vbmUtb2YuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRGFpc3lVSVRhYnNDb21wb25lbnQgfSBmcm9tICcuL3dpZGdldHMvZGFpc3l1aS10YWJzLmNvbXBvbmVudCc7XHJcblxyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgRGFpc3lVSUZyYW1ld29yayBleHRlbmRzIENzc0ZyYW1ld29yayB7XHJcbmNzc0ZXU2VydmljZTogQ3NzZnJhbWV3b3JrU2VydmljZTtcclxuLy9wcml2YXRlIGR1aU9wdGlvbnMgPSBpbmplY3QoRFVJT1BUSU9OUywgeyBvcHRpb25hbDogdHJ1ZSB9KSA/PyB7IGNsYXNzUHJlZml4OiB0cnVlIH07XHJcblxyXG5cclxuZnJhbWV3b3JrPURhaXN5VUlGcmFtZXdvcmtDb21wb25lbnQ7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICAvL3B1YmxpYyBjc3NGV1NlcnZpY2U6Q3NzZnJhbWV3b3JrU2VydmljZSxcclxuICAgIEBJbmplY3QoRFVJT1BUSU9OUykgXHJcbiAgLy91c2UgY2xhc3MgcHJlZml4IGJ5IGRlZmF1bHQtZG9lc24ndCBzZWVtIHRvIHdvcmsgYW5ndWxhciB3aWxsIGluamVjdCBudWxsXHJcbiAgLy9mb3IgVFMgdG8gdXNlIGRlZmF1bHQgdmFsdWUsIG11c3QgYmUgdW5kZWZpbmVkXHJcbiAgLy8tc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL2FuZ3VsYXIvaXNzdWVzLzM3MzA2XHJcbiAgQE9wdGlvbmFsKCkgcHJpdmF0ZSBkdWlPcHRpb25zOmFueT17Y2xhc3NQcmVmaXg6dHJ1ZX1cclxuICApe1xyXG4gICAgY29uc3QgY3NzRldTZXJ2aWNlID0gaW5qZWN0KENzc2ZyYW1ld29ya1NlcnZpY2UpO1xyXG5cclxuICAgIGxldCBkdWlPcHRzOmFueT1kdWlPcHRpb25zPT09bnVsbD97Y2xhc3NQcmVmaXg6dHJ1ZX06ZHVpT3B0aW9ucztcclxuICAgICBsZXQgY3NzRnJhbWV3b3JrQ2ZnPWNzc0ZyYW1ld29ya0NmZ0RhaXN5VUk7XHJcbiAgICBpZihkdWlPcHRzPy5jbGFzc1ByZWZpeCApey8vYWRkZWQgbnVsbCxzZWUgbm90ZSBhYm92ZVxyXG4gICAgICBjc3NGcmFtZXdvcmtDZmc9Z2V0Q3NzRnJhbWV3b3JrQ2ZnUHJlZml4ZWQoY3NzRnJhbWV3b3JrQ2ZnRGFpc3lVSSlcclxuICAgIH1cclxuICAgIC8vc3VwZXIoY3NzRnJhbWV3b3JrQ2ZnLGNzc0ZXU2VydmljZSk7XHJcbiAgICBzdXBlcihjc3NGcmFtZXdvcmtDZmcpO1xyXG4gICAgdGhpcy5jc3NGV1NlcnZpY2UgPSBjc3NGV1NlcnZpY2U7XHJcbiAgICAvL2NvbnN0IGR1aU9wdGlvbnMgPSB0aGlzLmR1aU9wdGlvbnM7XHJcblxyXG4gICAgaWYoZHVpT3B0cz8uY2xhc3NQcmVmaXgpe1xyXG4gICAgICB0aGlzLmZyYW1ld29yaz1EYWlzeVVJRnJhbWV3b3JrQ29tcG9uZW50UHJlZml4ZWQ7XHJcbiAgICB9XHJcbiAgICB0aGlzLndpZGdldHM9IHtcclxuXHJcbiAgICAgICd0YWJzJzogRGFpc3lVSVRhYnNDb21wb25lbnQsXHJcbiAgICAgICdvbmUtb2YnOkRhaXN5VUlPbmVPZkNvbXBvbmVudFxyXG4gICAgXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbn1cclxuIl19
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
import { Component, inject, input } from '@angular/core';
|
|
2
|
+
import { hasNonNullValue, hasOwn, JsonPointer, JsonSchemaFormService, path2ControlKey } from '@ng-formworks/core';
|
|
3
|
+
import { isEqual, isObject, pick } from 'lodash';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "./daisyui-tabs.component";
|
|
6
|
+
// TODO: Add this control
|
|
7
|
+
export class DaisyUIOneOfComponent {
|
|
8
|
+
constructor() {
|
|
9
|
+
this.jsf = inject(JsonSchemaFormService);
|
|
10
|
+
this.controlDisabled = false;
|
|
11
|
+
this.boundControl = false;
|
|
12
|
+
this.layoutNode = input(undefined);
|
|
13
|
+
this.layoutIndex = input(undefined);
|
|
14
|
+
this.dataIndex = input(undefined);
|
|
15
|
+
}
|
|
16
|
+
ngOnInit() {
|
|
17
|
+
this.options = this.layoutNode().options || {};
|
|
18
|
+
this.options.tabMode = "oneOfMode";
|
|
19
|
+
this.options.selectedTab = this.findSelectedTab();
|
|
20
|
+
//this.options.description=this.options.description||"choose one of";
|
|
21
|
+
this.jsf.initializeControl(this);
|
|
22
|
+
}
|
|
23
|
+
findSelectedTab() {
|
|
24
|
+
//TODO test- this.jsf.formValues seems to be the initial data supplied to the form
|
|
25
|
+
//while the jsf.formGroup value is derived from the actual controls
|
|
26
|
+
//let formValue=this.jsf.getFormControlValue(this);
|
|
27
|
+
let foundInd = -1;
|
|
28
|
+
//seach for non null value
|
|
29
|
+
if (this.layoutNode().items) {
|
|
30
|
+
this.layoutNode().items.forEach((layoutItem, ind) => {
|
|
31
|
+
let formValue = JsonPointer.get(this.jsf.formValues, layoutItem.dataPointer);
|
|
32
|
+
if (layoutItem.oneOfPointer) {
|
|
33
|
+
let controlKey = path2ControlKey(layoutItem.oneOfPointer);
|
|
34
|
+
let fname = layoutItem.name;
|
|
35
|
+
if (hasOwn(this.jsf.formGroup.controls, controlKey) &&
|
|
36
|
+
(formValue || hasNonNullValue(this.jsf.formGroup.controls[controlKey].value))
|
|
37
|
+
//hasOwn(formValue,fname) && hasOwn(this.jsf.formGroup.controls,controlKey)
|
|
38
|
+
// && (formValue[fname] || this.jsf.formGroup.controls[controlKey].value)
|
|
39
|
+
//&&isEqual(formValue[fname],this.jsf.formGroup.controls[controlKey].value)
|
|
40
|
+
) {
|
|
41
|
+
foundInd = ind;
|
|
42
|
+
}
|
|
43
|
+
//foundInd=formValue[controlKey]!=null?ind:foundInd;
|
|
44
|
+
//if no exact match found, then search in descendant values
|
|
45
|
+
//to see which one of item matches
|
|
46
|
+
if (foundInd == -1) {
|
|
47
|
+
//find all descendant oneof paths
|
|
48
|
+
let descendantOneOfControlNames = Object.keys(this.jsf.formGroup.controls).filter(controlName => {
|
|
49
|
+
return controlName.startsWith(controlKey);
|
|
50
|
+
});
|
|
51
|
+
descendantOneOfControlNames.forEach(controlName => {
|
|
52
|
+
let parts = controlName.split('$');
|
|
53
|
+
let fieldName = parts[parts.length - 1];
|
|
54
|
+
let controlValue = this.jsf.formGroup.controls[controlName].value;
|
|
55
|
+
let controlSchema = JsonPointer.get(this.jsf.schema, parts.join("/"));
|
|
56
|
+
let schemaPointer = parts.join("/");
|
|
57
|
+
let dPointer = schemaPointer.replace(/(anyOf|allOf|oneOf|none)\/[\d]+\//g, '')
|
|
58
|
+
.replace(/(if|then|else|properties)\//g, '');
|
|
59
|
+
//JsonPointer.toDataPointer(parts.join("/"),this.jsf.schema);
|
|
60
|
+
let dVal = JsonPointer.get(this.jsf.formValues, dPointer);
|
|
61
|
+
let compareVal = dVal; //formValue;
|
|
62
|
+
//compare only values that are in the subschema properties
|
|
63
|
+
if (controlSchema && controlSchema.properties) {
|
|
64
|
+
compareVal = isObject(dVal) && hasOwn(dVal, fieldName) ?
|
|
65
|
+
pick(dVal[fieldName], Object.keys(controlSchema.properties))
|
|
66
|
+
: pick(dVal, Object.keys(controlSchema.properties));
|
|
67
|
+
}
|
|
68
|
+
/*
|
|
69
|
+
if(isObject(compareVal) && hasOwn(compareVal,fieldName) &&
|
|
70
|
+
isEqual(compareVal[fieldName],controlValue)
|
|
71
|
+
){
|
|
72
|
+
foundInd=ind;
|
|
73
|
+
}else //if(formValue || controlValue){
|
|
74
|
+
if(isEqual(compareVal,controlValue)){
|
|
75
|
+
foundInd=ind;
|
|
76
|
+
}
|
|
77
|
+
*/
|
|
78
|
+
if (isEqual(compareVal, controlValue)) {
|
|
79
|
+
foundInd = ind;
|
|
80
|
+
}
|
|
81
|
+
});
|
|
82
|
+
//now need to compare values
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
return Math.max(foundInd, 0);
|
|
88
|
+
}
|
|
89
|
+
updateValue(event) {
|
|
90
|
+
this.jsf.updateValue(this, event.target.value);
|
|
91
|
+
}
|
|
92
|
+
ngOnDestroy() {
|
|
93
|
+
//this.jsf.updateValue(this, null);
|
|
94
|
+
}
|
|
95
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DaisyUIOneOfComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
96
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.13", type: DaisyUIOneOfComponent, selector: "daisyui-one-of-widget", inputs: { layoutNode: { classPropertyName: "layoutNode", publicName: "layoutNode", isSignal: true, isRequired: false, transformFunction: null }, layoutIndex: { classPropertyName: "layoutIndex", publicName: "layoutIndex", isSignal: true, isRequired: false, transformFunction: null }, dataIndex: { classPropertyName: "dataIndex", publicName: "dataIndex", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `<h4>{{this.options?.description}}</h4>
|
|
97
|
+
<daisyui-tabs-widget #tabs [layoutNode]="layoutNode()"
|
|
98
|
+
[layoutIndex]="layoutIndex()"
|
|
99
|
+
[dataIndex]="dataIndex()" >
|
|
100
|
+
</daisyui-tabs-widget>`, isInline: true, dependencies: [{ kind: "component", type: i1.DaisyUITabsComponent, selector: "daisyui-tabs-widget", inputs: ["layoutNode", "layoutIndex", "dataIndex"] }] }); }
|
|
101
|
+
}
|
|
102
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DaisyUIOneOfComponent, decorators: [{
|
|
103
|
+
type: Component,
|
|
104
|
+
args: [{
|
|
105
|
+
// tslint:disable-next-line:component-selector
|
|
106
|
+
selector: 'daisyui-one-of-widget',
|
|
107
|
+
template: `<h4>{{this.options?.description}}</h4>
|
|
108
|
+
<daisyui-tabs-widget #tabs [layoutNode]="layoutNode()"
|
|
109
|
+
[layoutIndex]="layoutIndex()"
|
|
110
|
+
[dataIndex]="dataIndex()" >
|
|
111
|
+
</daisyui-tabs-widget>`,
|
|
112
|
+
standalone: false
|
|
113
|
+
}]
|
|
114
|
+
}] });
|
|
115
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGFpc3l1aS1vbmUtb2YuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZm9ybXdvcmtzLWRhaXN5dWkvc3JjL2xpYi93aWRnZXRzL2RhaXN5dWktb25lLW9mLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBRTVFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxxQkFBcUIsRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNsSCxPQUFPLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsTUFBTSxRQUFRLENBQUM7OztBQUlqRCx5QkFBeUI7QUFZekIsTUFBTSxPQUFPLHFCQUFxQjtJQVZsQztRQVdVLFFBQUcsR0FBRyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUs1QyxvQkFBZSxHQUFHLEtBQUssQ0FBQztRQUN4QixpQkFBWSxHQUFHLEtBQUssQ0FBQztRQUVaLGVBQVUsR0FBRyxLQUFLLENBQU0sU0FBUyxDQUFDLENBQUM7UUFDbkMsZ0JBQVcsR0FBRyxLQUFLLENBQVcsU0FBUyxDQUFDLENBQUM7UUFDekMsY0FBUyxHQUFHLEtBQUssQ0FBVyxTQUFTLENBQUMsQ0FBQztLQW9GakQ7SUFsRkMsUUFBUTtRQUNOLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUM7UUFDL0MsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEdBQUMsV0FBVyxDQUFDO1FBQ2pDLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxHQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUNoRCxxRUFBcUU7UUFDckUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxp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LENBQUMsSUFBSSxDQUFDLElBQUksTUFBTSxDQUFDLElBQUksRUFBQyxTQUFTLENBQUMsQ0FBQSxDQUFDO29DQUNwRCxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFDO29DQUMzRCxDQUFDLENBQUEsSUFBSSxDQUFDLElBQUksRUFBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFBOzRCQUNuRCxDQUFDOzRCQUNEOzs7Ozs7Ozs7OEJBU0U7NEJBQ0YsSUFBRyxPQUFPLENBQUMsVUFBVSxFQUFDLFlBQVksQ0FBQyxFQUFDLENBQUM7Z0NBQ25DLFFBQVEsR0FBQyxHQUFHLENBQUM7NEJBQ2YsQ0FBQzt3QkFDSCxDQUFDLENBQUMsQ0FBQTt3QkFDRiw0QkFBNEI7b0JBQzlCLENBQUM7Z0JBQ0gsQ0FBQztZQUNMLENBQUMsQ0FBQyxDQUFBO1FBQ0osQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUMsQ0FBQyxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVQLFdBQVcsQ0FBQyxLQUFLO1FBQ2YsSUFBSSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVELFdBQVc7UUFDVCxtQ0FBbUM7SUFDckMsQ0FBQzsrR0E5RlUscUJBQXFCO21HQUFyQixxQkFBcUIsOGRBUHBCOzs7OzJCQUlhOzs0RkFHZCxxQkFBcUI7a0JBVmpDLFNBQVM7bUJBQUM7b0JBQ1AsOENBQThDO29CQUM5QyxRQUFRLEVBQUUsdUJBQXVCO29CQUNqQyxRQUFRLEVBQUU7Ozs7MkJBSWE7b0JBQ3ZCLFVBQVUsRUFBRSxLQUFLO2lCQUNwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgaW5qZWN0LCBpbnB1dCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBoYXNOb25OdWxsVmFsdWUsIGhhc093biwgSnNvblBvaW50ZXIsIEpzb25TY2hlbWFGb3JtU2VydmljZSwgcGF0aDJDb250cm9sS2V5IH0gZnJvbSAnQG5nLWZvcm13b3Jrcy9jb3JlJztcclxuaW1wb3J0IHsgaXNFcXVhbCwgaXNPYmplY3QsIHBpY2sgfSBmcm9tICdsb2Rhc2gnO1xyXG5cclxuXHJcblxyXG4vLyBUT0RPOiBBZGQgdGhpcyBjb250cm9sXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpjb21wb25lbnQtc2VsZWN0b3JcclxuICAgIHNlbGVjdG9yOiAnZGFpc3l1aS1vbmUtb2Ytd2lkZ2V0JyxcclxuICAgIHRlbXBsYXRlOiBgPGg0Pnt7dGhpcy5vcHRpb25zPy5kZXNjcmlwdGlvbn19PC9oND5cclxuICAgIDxkYWlzeXVpLXRhYnMtd2lkZ2V0ICN0YWJzIFtsYXlvdXROb2RlXT1cImxheW91dE5vZGUoKVwiIFxyXG4gICAgW2xheW91dEluZGV4XT1cImxheW91dEluZGV4KClcIiBcclxuICAgIFtkYXRhSW5kZXhdPVwiZGF0YUluZGV4KClcIiA+XHJcbiAgICA8L2RhaXN5dWktdGFicy13aWRnZXQ+YCxcclxuICAgIHN0YW5kYWxvbmU6IGZhbHNlXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEYWlzeVVJT25lT2ZDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsT25EZXN0cm95IHtcclxuICBwcml2YXRlIGpzZiA9IGluamVjdChKc29uU2NoZW1hRm9ybVNlcnZpY2UpO1xyXG5cclxuICBmb3JtQ29udHJvbDogQWJzdHJhY3RDb250cm9sO1xyXG4gIGNvbnRyb2xOYW1lOiBzdHJpbmc7XHJcbiAgY29udHJvbFZhbHVlOiBhbnk7XHJcbiAgY29udHJvbERpc2FibGVkID0gZmFsc2U7XHJcbiAgYm91bmRDb250cm9sID0gZmFsc2U7XHJcbiAgb3B0aW9uczogYW55O1xyXG4gIHJlYWRvbmx5IGxheW91dE5vZGUgPSBpbnB1dDxhbnk+KHVuZGVmaW5lZCk7XHJcbiAgcmVhZG9ubHkgbGF5b3V0SW5kZXggPSBpbnB1dDxudW1iZXJbXT4odW5kZWZpbmVkKTtcclxuICByZWFkb25seSBkYXRhSW5kZXggPSBpbnB1dDxudW1iZXJbXT4odW5kZWZpbmVkKTtcclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLm9wdGlvbnMgPSB0aGlzLmxheW91dE5vZGUoKS5vcHRpb25zIHx8IHt9O1xyXG4gICAgdGhpcy5vcHRpb25zLnRhYk1vZGU9XCJvbmVPZk1vZGVcIjtcclxuICAgIHRoaXMub3B0aW9ucy5zZWxlY3RlZFRhYj10aGlzLmZpbmRTZWxlY3RlZFRhYigpO1xyXG4gICAgLy90aGlzLm9wdGlvbnMuZGVzY3JpcHRpb249dGhpcy5vcHRpb25zLmRlc2NyaXB0aW9ufHxcImNob29zZSBvbmUgb2ZcIjtcclxuICAgIHRoaXMuanNmLmluaXRpYWxpemVDb250cm9sKHRoaXMpO1xyXG4gIH1cclxuXHJcbiAgICAgIGZpbmRTZWxlY3RlZFRhYigpe1xyXG4gICAgICAgICAgLy9UT0RPIHRlc3QtIHRoaXMuanNmLmZvcm1WYWx1ZXMgc2VlbXMgdG8gYmUgdGhlIGluaXRpYWwgZGF0YSBzdXBwbGllZCB0byB0aGUgZm9ybVxyXG4gICAgICAgICAgLy93aGlsZSB0aGUganNmLmZvcm1Hcm91cCB2YWx1ZSBpcyBkZXJpdmVkIGZyb20gdGhlIGFjdHVhbCBjb250cm9sc1xyXG4gICAgICAgICAgLy9sZXQgZm9ybVZhbHVlPXRoaXMuanNmLmdldEZvcm1Db250cm9sVmFsdWUodGhpcyk7XHJcbiAgICAgICAgICBsZXQgZm91bmRJbmQ9LTE7XHJcbiAgICAgICAgICAvL3NlYWNoIGZvciBub24gbnVsbCB2YWx1ZVxyXG4gICAgICAgICAgaWYodGhpcy5sYXlvdXROb2RlKCkuaXRlbXMpe1xyXG4gICAgICAgICAgICB0aGlzLmxheW91dE5vZGUoKS5pdGVtcy5mb3JFYWNoKChsYXlvdXRJdGVtLGluZCk9PntcclxuICAgICAgICAgICAgICBsZXQgZm9ybVZhbHVlPUpzb25Qb2ludGVyLmdldCh0aGlzLmpzZi5mb3JtVmFsdWVzLGxheW91dEl0ZW0uZGF0YVBvaW50ZXIpO1xyXG4gICAgICAgICAgICAgICAgaWYobGF5b3V0SXRlbS5vbmVPZlBvaW50ZXIpe1xyXG4gICAgICAgICAgICAgICAgICBsZXQgY29udHJvbEtleT1wYXRoMkNvbnRyb2xLZXkobGF5b3V0SXRlbS5vbmVPZlBvaW50ZXIpO1xyXG4gICAgICAgICAgICAgICAgICBsZXQgZm5hbWU9bGF5b3V0SXRlbS5uYW1lO1xyXG4gICAgICAgICAgICAgICAgICBpZihoYXNPd24odGhpcy5qc2YuZm9ybUdyb3VwLmNvbnRyb2xzLGNvbnRyb2xLZXkpJiZcclxuICAgICAgICAgICAgICAgICAgICAoZm9ybVZhbHVlIHx8IGhhc05vbk51bGxWYWx1ZSh0aGlzLmpzZi5mb3JtR3JvdXAuY29udHJvbHNbY29udHJvbEtleV0udmFsdWUpKVxyXG4gICAgICAgICAgICAgICAgICAgIC8vaGFzT3duKGZvcm1WYWx1ZSxmbmFtZSkgJiYgaGFzT3duKHRoaXMuanNmLmZvcm1Hcm91cC5jb250cm9scyxjb250cm9sS2V5KSBcclxuICAgICAgICAgICAgICAgICAgLy8gJiYgKGZvcm1WYWx1ZVtmbmFtZV0gfHwgdGhpcy5qc2YuZm9ybUdyb3VwLmNvbnRyb2xzW2NvbnRyb2xLZXldLnZhbHVlKVxyXG4gICAgICAgICAgICAgICAgICAgIC8vJiZpc0VxdWFsKGZvcm1WYWx1ZVtmbmFtZV0sdGhpcy5qc2YuZm9ybUdyb3VwLmNvbnRyb2xzW2NvbnRyb2xLZXldLnZhbHVlKVxyXG4gICAgICAgICAgICAgICAgICApe1xyXG4gICAgICAgICAgICAgICAgICAgICAgZm91bmRJbmQ9aW5kO1xyXG4gICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgIC8vZm91bmRJbmQ9Zm9ybVZhbHVlW2NvbnRyb2xLZXldIT1udWxsP2luZDpmb3VuZEluZDtcclxuICAgICAgICAgICAgICAgICAgLy9pZiBubyBleGFjdCBtYXRjaCBmb3VuZCwgdGhlbiBzZWFyY2ggaW4gZGVzY2VuZGFudCB2YWx1ZXNcclxuICAgICAgICAgICAgICAgICAgLy90byBzZWUgd2hpY2ggb25lIG9mIGl0ZW0gbWF0Y2hlc1xyXG4gICAgICAgICAgICAgICAgICBpZihmb3VuZEluZD09LTEpe1xyXG4gICAgICAgICAgICAgICAgICAgIC8vZmluZCBhbGwgZGVzY2VuZGFudCBvbmVvZiBwYXRoc1xyXG4gICAgICAgICAgICAgICAgICAgIGxldCBkZXNjZW5kYW50T25lT2ZDb250cm9sTmFtZXM9T2JqZWN0LmtleXModGhpcy5qc2YuZm9ybUdyb3VwLmNvbnRyb2xzKS5maWx0ZXIoY29udHJvbE5hbWU9PntcclxuICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBjb250cm9sTmFtZS5zdGFydHNXaXRoKGNvbnRyb2xLZXkpO1xyXG4gICAgICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICAgICAgZGVzY2VuZGFudE9uZU9mQ29udHJvbE5hbWVzLmZvckVhY2goY29udHJvbE5hbWU9PntcclxuICAgICAgICAgICAgICAgICAgICAgIGxldCBwYXJ0cz1jb250cm9sTmFtZS5zcGxpdCgnJCcpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgbGV0IGZpZWxkTmFtZT1wYXJ0c1twYXJ0cy5sZW5ndGgtMV07XHJcbiAgICAgICAgICAgICAgICAgICAgICBsZXQgY29udHJvbFZhbHVlPXRoaXMuanNmLmZvcm1Hcm91cC5jb250cm9sc1tjb250cm9sTmFtZV0udmFsdWU7XHJcbiAgICAgICAgICAgICAgICAgICAgICBsZXQgY29udHJvbFNjaGVtYT1Kc29uUG9pbnRlci5nZXQodGhpcy5qc2Yuc2NoZW1hLHBhcnRzLmpvaW4oXCIvXCIpKTtcclxuICAgICAgICAgICAgICAgICAgICAgIGxldCBzY2hlbWFQb2ludGVyPXBhcnRzLmpvaW4oXCIvXCIpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgbGV0IGRQb2ludGVyPXNjaGVtYVBvaW50ZXIucmVwbGFjZSgvKGFueU9mfGFsbE9mfG9uZU9mfG5vbmUpXFwvW1xcZF0rXFwvL2csICcnKVxyXG4gICAgICAgICAgICAgICAgICAgICAgLnJlcGxhY2UoLyhpZnx0aGVufGVsc2V8cHJvcGVydGllcylcXC8vZywgJycpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgLy9Kc29uUG9pbnRlci50b0RhdGFQb2ludGVyKHBhcnRzLmpvaW4oXCIvXCIpLHRoaXMuanNmLnNjaGVtYSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICBsZXQgZFZhbD1Kc29uUG9pbnRlci5nZXQodGhpcy5qc2YuZm9ybVZhbHVlcyxkUG9pbnRlcik7XHJcbiAgICAgICAgICAgICAgICAgICAgICBsZXQgY29tcGFyZVZhbD1kVmFsOy8vZm9ybVZhbHVlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgLy9jb21wYXJlIG9ubHkgdmFsdWVzIHRoYXQgYXJlIGluIHRoZSBzdWJzY2hlbWEgcHJvcGVydGllc1xyXG4gICAgICAgICAgICAgICAgICAgICAgaWYoY29udHJvbFNjaGVtYSAmJiBjb250cm9sU2NoZW1hLnByb3BlcnRpZXMpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb21wYXJlVmFsPWlzT2JqZWN0KGRWYWwpICYmIGhhc093bihkVmFsLGZpZWxkTmFtZSk/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBpY2soZFZhbFtmaWVsZE5hbWVdLE9iamVjdC5rZXlzKGNvbnRyb2xTY2hlbWEucHJvcGVydGllcykpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDpwaWNrKGRWYWwsT2JqZWN0LmtleXMoY29udHJvbFNjaGVtYS5wcm9wZXJ0aWVzKSlcclxuICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgIC8qXHJcbiAgICAgICAgICAgICAgICAgICAgICBpZihpc09iamVjdChjb21wYXJlVmFsKSAmJiBoYXNPd24oY29tcGFyZVZhbCxmaWVsZE5hbWUpICYmIFxyXG4gICAgICAgICAgICAgICAgICAgICAgaXNFcXVhbChjb21wYXJlVmFsW2ZpZWxkTmFtZV0sY29udHJvbFZhbHVlKVxyXG4gICAgICAgICAgICAgICAgICAgICl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvdW5kSW5kPWluZDtcclxuICAgICAgICAgICAgICAgICAgICAgIH1lbHNlIC8vaWYoZm9ybVZhbHVlIHx8IGNvbnRyb2xWYWx1ZSl7XHJcbiAgICAgICAgICAgICAgICAgICAgICBpZihpc0VxdWFsKGNvbXBhcmVWYWwsY29udHJvbFZhbHVlKSl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvdW5kSW5kPWluZDtcclxuICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICovXHJcbiAgICAgICAgICAgICAgICAgICAgICBpZihpc0VxdWFsKGNvbXBhcmVWYWwsY29udHJvbFZhbHVlKSl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvdW5kSW5kPWluZDtcclxuICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAgICAgICAgIC8vbm93IG5lZWQgdG8gY29tcGFyZSB2YWx1ZXNcclxuICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgcmV0dXJuIE1hdGgubWF4KGZvdW5kSW5kLDApO1xyXG4gICAgICAgIH1cclxuXHJcbiAgdXBkYXRlVmFsdWUoZXZlbnQpIHtcclxuICAgIHRoaXMuanNmLnVwZGF0ZVZhbHVlKHRoaXMsIGV2ZW50LnRhcmdldC52YWx1ZSk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSAoKSB7XHJcbiAgICAvL3RoaXMuanNmLnVwZGF0ZVZhbHVlKHRoaXMsIG51bGwpO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import { Component, input, signal
|
|
1
|
+
import { Component, inject, input, signal } from '@angular/core';
|
|
2
2
|
import { JsonSchemaFormService } from '@ng-formworks/core';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
import * as i1 from "@ng-formworks/core";
|
|
5
5
|
import * as i2 from "@angular/common";
|
|
6
|
+
import * as i3 from "@angular/forms";
|
|
6
7
|
export class DaisyUITabsComponent {
|
|
7
8
|
constructor() {
|
|
8
9
|
this.jsf = inject(JsonSchemaFormService);
|
|
@@ -14,6 +15,9 @@ export class DaisyUITabsComponent {
|
|
|
14
15
|
}
|
|
15
16
|
ngOnInit() {
|
|
16
17
|
this.options = this.layoutNode().options || {};
|
|
18
|
+
if (this.options.selectedTab) {
|
|
19
|
+
this.selectedItem = this.options.selectedTab;
|
|
20
|
+
}
|
|
17
21
|
this.itemCount = this.layoutNode().items.length - 1;
|
|
18
22
|
this.updateControl();
|
|
19
23
|
}
|
|
@@ -41,19 +45,26 @@ export class DaisyUITabsComponent {
|
|
|
41
45
|
return this.jsf.setArrayItemTitle(this, item, index);
|
|
42
46
|
}
|
|
43
47
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DaisyUITabsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
44
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.13", type: DaisyUITabsComponent, selector: "tabs-widget", inputs: { layoutNode: { classPropertyName: "layoutNode", publicName: "layoutNode", isSignal: true, isRequired: false, transformFunction: null }, layoutIndex: { classPropertyName: "layoutIndex", publicName: "layoutIndex", isSignal: true, isRequired: false, transformFunction: null }, dataIndex: { classPropertyName: "dataIndex", publicName: "dataIndex", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
48
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.13", type: DaisyUITabsComponent, selector: "daisyui-tabs-widget", inputs: { layoutNode: { classPropertyName: "layoutNode", publicName: "layoutNode", isSignal: true, isRequired: false, transformFunction: null }, layoutIndex: { classPropertyName: "layoutIndex", publicName: "layoutIndex", isSignal: true, isRequired: false, transformFunction: null }, dataIndex: { classPropertyName: "dataIndex", publicName: "dataIndex", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
45
49
|
<div
|
|
46
50
|
[class]="options?.labelHtmlClass || ''">
|
|
47
51
|
<a *ngFor="let item of layoutNode()?.items; let i = index"
|
|
48
52
|
[class]="(options?.itemLabelHtmlClass || '') + (selectedItem === i ?
|
|
49
53
|
(' ' + (options?.activeClass || '') + ' ' + (options?.style?.selected || '')) :
|
|
50
54
|
(' ' + options?.style?.unselected))"
|
|
55
|
+
(click)="select(i)"
|
|
51
56
|
>
|
|
57
|
+
<input type="radio" [value]="i" *ngIf="options?.tabMode=='oneOfMode'"
|
|
58
|
+
name="tabSelection"
|
|
59
|
+
[(ngModel)]="selectedItem"
|
|
60
|
+
[class]="(options?.widget_radioClass || '')"
|
|
61
|
+
[value]="i"
|
|
62
|
+
(change)="select(i)"
|
|
63
|
+
/>
|
|
52
64
|
<span *ngIf="showAddTab || item.type !== '$ref'"
|
|
53
65
|
[class]="(selectedItem === i ? (' ' + options?.activeClass + ' ' + options?.style?.selected) :
|
|
54
|
-
(' ' + options?.style?.unselected))"
|
|
55
|
-
|
|
56
|
-
(click)="select(i)"></span>
|
|
66
|
+
(' ' + options?.style?.unselected))">{{setTabTitle(item, i)}}</span>
|
|
67
|
+
|
|
57
68
|
</a>
|
|
58
69
|
|
|
59
70
|
</div>
|
|
@@ -67,33 +78,49 @@ export class DaisyUITabsComponent {
|
|
|
67
78
|
-->
|
|
68
79
|
|
|
69
80
|
<div *ngFor="let layoutItem of layoutNode()?.items; let i = index"
|
|
70
|
-
[class]="options?.htmlClass || ''">
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
+
[class]="(options?.htmlClass || '') + (selectedItem != i?' ngf-hidden':'')">
|
|
82
|
+
<ng-container *ngIf="options?.tabMode=='oneOfMode'">
|
|
83
|
+
<select-framework-widget *ngIf="selectedItem === i"
|
|
84
|
+
[class]="(options?.fieldHtmlClass || '') +
|
|
85
|
+
' ' + (options?.activeClass || '') +
|
|
86
|
+
' ' + (options?.style?.selected || '')"
|
|
87
|
+
[dataIndex]="layoutNode()?.dataType === 'array' ? (dataIndex() || []).concat(i) : dataIndex()"
|
|
88
|
+
[layoutIndex]="(layoutIndex() || []).concat(i)"
|
|
89
|
+
[layoutNode]="layoutItem"></select-framework-widget>
|
|
90
|
+
</ng-container>
|
|
91
|
+
<ng-container *ngIf="options?.tabMode != 'oneOfMode'">
|
|
92
|
+
<select-framework-widget
|
|
93
|
+
[class]="(options?.fieldHtmlClass || '') +
|
|
94
|
+
' ' + (options?.activeClass || '') +
|
|
95
|
+
' ' + (options?.style?.selected || '')"
|
|
96
|
+
[dataIndex]="layoutNode()?.dataType === 'array' ? (dataIndex() || []).concat(i) : dataIndex()"
|
|
97
|
+
[layoutIndex]="(layoutIndex() || []).concat(i)"
|
|
98
|
+
[layoutNode]="layoutItem"></select-framework-widget>
|
|
99
|
+
</ng-container>
|
|
100
|
+
</div>`, isInline: true, styles: ["a{cursor:pointer}.ngf-hidden{display:none}\n"], dependencies: [{ kind: "component", type: i1.SelectFrameworkComponent, selector: "select-framework-widget", inputs: ["layoutNode", "layoutIndex", "dataIndex"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.RadioControlValueAccessor, selector: "input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]", inputs: ["name", "formControlName", "value"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] }); }
|
|
81
101
|
}
|
|
82
102
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DaisyUITabsComponent, decorators: [{
|
|
83
103
|
type: Component,
|
|
84
|
-
args: [{ selector: 'tabs-widget', template: `
|
|
104
|
+
args: [{ selector: 'daisyui-tabs-widget', template: `
|
|
85
105
|
<div
|
|
86
106
|
[class]="options?.labelHtmlClass || ''">
|
|
87
107
|
<a *ngFor="let item of layoutNode()?.items; let i = index"
|
|
88
108
|
[class]="(options?.itemLabelHtmlClass || '') + (selectedItem === i ?
|
|
89
109
|
(' ' + (options?.activeClass || '') + ' ' + (options?.style?.selected || '')) :
|
|
90
110
|
(' ' + options?.style?.unselected))"
|
|
111
|
+
(click)="select(i)"
|
|
91
112
|
>
|
|
113
|
+
<input type="radio" [value]="i" *ngIf="options?.tabMode=='oneOfMode'"
|
|
114
|
+
name="tabSelection"
|
|
115
|
+
[(ngModel)]="selectedItem"
|
|
116
|
+
[class]="(options?.widget_radioClass || '')"
|
|
117
|
+
[value]="i"
|
|
118
|
+
(change)="select(i)"
|
|
119
|
+
/>
|
|
92
120
|
<span *ngIf="showAddTab || item.type !== '$ref'"
|
|
93
121
|
[class]="(selectedItem === i ? (' ' + options?.activeClass + ' ' + options?.style?.selected) :
|
|
94
|
-
(' ' + options?.style?.unselected))"
|
|
95
|
-
|
|
96
|
-
(click)="select(i)"></span>
|
|
122
|
+
(' ' + options?.style?.unselected))">{{setTabTitle(item, i)}}</span>
|
|
123
|
+
|
|
97
124
|
</a>
|
|
98
125
|
|
|
99
126
|
</div>
|
|
@@ -107,16 +134,25 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
107
134
|
-->
|
|
108
135
|
|
|
109
136
|
<div *ngFor="let layoutItem of layoutNode()?.items; let i = index"
|
|
110
|
-
[class]="options?.htmlClass || ''">
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
137
|
+
[class]="(options?.htmlClass || '') + (selectedItem != i?' ngf-hidden':'')">
|
|
138
|
+
<ng-container *ngIf="options?.tabMode=='oneOfMode'">
|
|
139
|
+
<select-framework-widget *ngIf="selectedItem === i"
|
|
140
|
+
[class]="(options?.fieldHtmlClass || '') +
|
|
141
|
+
' ' + (options?.activeClass || '') +
|
|
142
|
+
' ' + (options?.style?.selected || '')"
|
|
143
|
+
[dataIndex]="layoutNode()?.dataType === 'array' ? (dataIndex() || []).concat(i) : dataIndex()"
|
|
144
|
+
[layoutIndex]="(layoutIndex() || []).concat(i)"
|
|
145
|
+
[layoutNode]="layoutItem"></select-framework-widget>
|
|
146
|
+
</ng-container>
|
|
147
|
+
<ng-container *ngIf="options?.tabMode != 'oneOfMode'">
|
|
148
|
+
<select-framework-widget
|
|
149
|
+
[class]="(options?.fieldHtmlClass || '') +
|
|
150
|
+
' ' + (options?.activeClass || '') +
|
|
151
|
+
' ' + (options?.style?.selected || '')"
|
|
152
|
+
[dataIndex]="layoutNode()?.dataType === 'array' ? (dataIndex() || []).concat(i) : dataIndex()"
|
|
153
|
+
[layoutIndex]="(layoutIndex() || []).concat(i)"
|
|
154
|
+
[layoutNode]="layoutItem"></select-framework-widget>
|
|
155
|
+
</ng-container>
|
|
156
|
+
</div>`, standalone: false, styles: ["a{cursor:pointer}.ngf-hidden{display:none}\n"] }]
|
|
121
157
|
}] });
|
|
122
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
158
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGFpc3l1aS10YWJzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWZvcm13b3Jrcy1kYWlzeXVpL3NyYy9saWIvd2lkZ2V0cy9kYWlzeXVpLXRhYnMuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7Ozs7O0FBaUUzRCxNQUFNLE9BQU8sb0JBQW9CO0lBN0RqQztRQThEVSxRQUFHLEdBQUcsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFJNUMsaUJBQVksR0FBRyxDQUFDLENBQUM7UUFDakIsZUFBVSxHQUFHLElBQUksQ0FBQztRQUNULGVBQVUsR0FBRyxLQUFLLENBQU0sU0FBUyxDQUFDLENBQUM7UUFDbkMsZ0JBQVcsR0FBRyxLQUFLLENBQVcsU0FBUyxDQUFDLENBQUM7UUFDekMsY0FBUyxHQUFHLEtBQUssQ0FBVyxTQUFTLENBQUMsQ0FBQztLQXFDakQ7SUFuQ0MsUUFBUTtRQUNOLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUM7UUFDL0MsSUFBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBQyxDQUFDO1lBQzNCLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUM7UUFDL0MsQ0FBQztRQUNELElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1FBQ3BELElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQUs7UUFDVixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDckMsSUFBSSxVQUFVLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksS0FBSyxNQUFNLEVBQUUsQ0FBQztZQUM1QyxJQUFJLENBQUMsU0FBUyxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDO1lBQ3pDLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDO2dCQUNmLFVBQVUsRUFBRSxNQUFNLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDM0MsV0FBVyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUNyRCxTQUFTLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7YUFDbEQsQ0FBQyxDQUFDO1lBQ0gsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3ZCLENBQUM7UUFDRCxJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztJQUM1QixDQUFDO0lBRUQsYUFBYTtRQUNYLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDN0UsSUFBSSxRQUFRLENBQUMsSUFBSSxLQUFLLE1BQU07WUFDMUIsSUFBSSxDQUFDLFNBQVMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxFQUNyRCxDQUFDO1lBQ0QsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7UUFDMUIsQ0FBQztJQUNILENBQUM7SUFFRCxXQUFXLENBQUMsSUFBUyxFQUFFLEtBQWE7UUFDbEMsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDdkQsQ0FBQzsrR0E3Q1Usb0JBQW9CO21HQUFwQixvQkFBb0IsNGRBMURuQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztXQW9ESDs7NEZBTUUsb0JBQW9CO2tCQTdEaEMsU0FBUzsrQkFFSSxxQkFBcUIsWUFDckI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7V0FvREgsY0FJSyxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIGluamVjdCwgaW5wdXQsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBKc29uU2NoZW1hRm9ybVNlcnZpY2UgfSBmcm9tICdAbmctZm9ybXdvcmtzL2NvcmUnO1xyXG5cclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpjb21wb25lbnQtc2VsZWN0b3JcclxuICAgIHNlbGVjdG9yOiAnZGFpc3l1aS10YWJzLXdpZGdldCcsXHJcbiAgICB0ZW1wbGF0ZTogYFxyXG4gICAgPGRpdlxyXG4gICAgICBbY2xhc3NdPVwib3B0aW9ucz8ubGFiZWxIdG1sQ2xhc3MgfHwgJydcIj5cclxuICAgICAgPGEgKm5nRm9yPVwibGV0IGl0ZW0gb2YgbGF5b3V0Tm9kZSgpPy5pdGVtczsgbGV0IGkgPSBpbmRleFwiXHJcbiAgICAgICAgW2NsYXNzXT1cIihvcHRpb25zPy5pdGVtTGFiZWxIdG1sQ2xhc3MgfHwgJycpICsgKHNlbGVjdGVkSXRlbSA9PT0gaSA/XHJcbiAgICAgICAgICAoJyAnICsgKG9wdGlvbnM/LmFjdGl2ZUNsYXNzIHx8ICcnKSArICcgJyArIChvcHRpb25zPy5zdHlsZT8uc2VsZWN0ZWQgfHwgJycpKSA6XHJcbiAgICAgICAgICAoJyAnICsgb3B0aW9ucz8uc3R5bGU/LnVuc2VsZWN0ZWQpKVwiXHJcbiAgICAgICAgICAoY2xpY2spPVwic2VsZWN0KGkpXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8aW5wdXQgdHlwZT1cInJhZGlvXCIgW3ZhbHVlXT1cImlcIiAqbmdJZj1cIm9wdGlvbnM/LnRhYk1vZGU9PSdvbmVPZk1vZGUnXCIgXHJcbiAgICAgICAgICAgbmFtZT1cInRhYlNlbGVjdGlvblwiIFxyXG4gICAgICAgICAgIFsobmdNb2RlbCldPVwic2VsZWN0ZWRJdGVtXCJcclxuICAgICAgICAgICBbY2xhc3NdPVwiKG9wdGlvbnM/LndpZGdldF9yYWRpb0NsYXNzIHx8ICcnKVwiXHJcbiAgICAgICAgICAgW3ZhbHVlXT1cImlcIiBcclxuICAgICAgICAgICAoY2hhbmdlKT1cInNlbGVjdChpKVwiXHJcbiAgICAgICAgICAvPlxyXG4gICAgICAgIDxzcGFuICpuZ0lmPVwic2hvd0FkZFRhYiB8fCBpdGVtLnR5cGUgIT09ICckcmVmJ1wiXHJcbiAgICAgICAgW2NsYXNzXT1cIihzZWxlY3RlZEl0ZW0gPT09IGkgPyAoJyAnICsgb3B0aW9ucz8uYWN0aXZlQ2xhc3MgKyAnICcgKyBvcHRpb25zPy5zdHlsZT8uc2VsZWN0ZWQpIDpcclxuICAgICAgICAoJyAnICsgb3B0aW9ucz8uc3R5bGU/LnVuc2VsZWN0ZWQpKVwiPnt7c2V0VGFiVGl0bGUoaXRlbSwgaSl9fTwvc3Bhbj5cclxuICAgICAgICAgIFxyXG4gICAgICA8L2E+XHJcblxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPCEtLVxyXG4gICAgPGRpdiBjbGFzcz1cInRhYnMgdGFicy1ib3hlZFwiPlxyXG4gIDxhIGNsYXNzPVwidGFiXCI+VGFiIDE8L2E+IFxyXG4gIDxhIGNsYXNzPVwidGFiIHRhYi1hY3RpdmVcIj5UYWIgMjwvYT4gXHJcbiAgPGEgY2xhc3M9XCJ0YWJcIj5UYWIgMzwvYT5cclxuPC9kaXY+XHJcbi0tPlxyXG5cclxuICAgIDxkaXYgKm5nRm9yPVwibGV0IGxheW91dEl0ZW0gb2YgbGF5b3V0Tm9kZSgpPy5pdGVtczsgbGV0IGkgPSBpbmRleFwiXHJcbiAgICAgIFtjbGFzc109XCIob3B0aW9ucz8uaHRtbENsYXNzIHx8ICcnKSArIChzZWxlY3RlZEl0ZW0gIT0gaT8nIG5nZi1oaWRkZW4nOicnKVwiPlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwib3B0aW9ucz8udGFiTW9kZT09J29uZU9mTW9kZSdcIj5cclxuICAgICAgICA8c2VsZWN0LWZyYW1ld29yay13aWRnZXQgKm5nSWY9XCJzZWxlY3RlZEl0ZW0gPT09IGlcIlxyXG4gICAgICAgICAgW2NsYXNzXT1cIihvcHRpb25zPy5maWVsZEh0bWxDbGFzcyB8fCAnJykgK1xyXG4gICAgICAgICAgICAnICcgKyAob3B0aW9ucz8uYWN0aXZlQ2xhc3MgfHwgJycpICtcclxuICAgICAgICAgICAgJyAnICsgKG9wdGlvbnM/LnN0eWxlPy5zZWxlY3RlZCB8fCAnJylcIlxyXG4gICAgICAgICAgW2RhdGFJbmRleF09XCJsYXlvdXROb2RlKCk/LmRhdGFUeXBlID09PSAnYXJyYXknID8gKGRhdGFJbmRleCgpIHx8IFtdKS5jb25jYXQoaSkgOiBkYXRhSW5kZXgoKVwiXHJcbiAgICAgICAgICBbbGF5b3V0SW5kZXhdPVwiKGxheW91dEluZGV4KCkgfHwgW10pLmNvbmNhdChpKVwiXHJcbiAgICAgICAgICBbbGF5b3V0Tm9kZV09XCJsYXlvdXRJdGVtXCI+PC9zZWxlY3QtZnJhbWV3b3JrLXdpZGdldD5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJvcHRpb25zPy50YWJNb2RlICE9ICdvbmVPZk1vZGUnXCI+XHJcbiAgICAgICAgPHNlbGVjdC1mcmFtZXdvcmstd2lkZ2V0IFxyXG4gICAgICAgICAgW2NsYXNzXT1cIihvcHRpb25zPy5maWVsZEh0bWxDbGFzcyB8fCAnJykgK1xyXG4gICAgICAgICAgICAnICcgKyAob3B0aW9ucz8uYWN0aXZlQ2xhc3MgfHwgJycpICtcclxuICAgICAgICAgICAgJyAnICsgKG9wdGlvbnM/LnN0eWxlPy5zZWxlY3RlZCB8fCAnJylcIlxyXG4gICAgICAgICAgW2RhdGFJbmRleF09XCJsYXlvdXROb2RlKCk/LmRhdGFUeXBlID09PSAnYXJyYXknID8gKGRhdGFJbmRleCgpIHx8IFtdKS5jb25jYXQoaSkgOiBkYXRhSW5kZXgoKVwiXHJcbiAgICAgICAgICBbbGF5b3V0SW5kZXhdPVwiKGxheW91dEluZGV4KCkgfHwgW10pLmNvbmNhdChpKVwiXHJcbiAgICAgICAgICBbbGF5b3V0Tm9kZV09XCJsYXlvdXRJdGVtXCI+PC9zZWxlY3QtZnJhbWV3b3JrLXdpZGdldD5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8L2Rpdj5gLFxyXG4gICAgc3R5bGVzOiBbYCBhIHsgY3Vyc29yOiBwb2ludGVyOyB9XHJcbiAgICAgIC5uZ2YtaGlkZGVue2Rpc3BsYXk6bm9uZX1cclxuICAgICAgIGBdLFxyXG4gICAgc3RhbmRhbG9uZTogZmFsc2VcclxufSlcclxuZXhwb3J0IGNsYXNzIERhaXN5VUlUYWJzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBwcml2YXRlIGpzZiA9IGluamVjdChKc29uU2NoZW1hRm9ybVNlcnZpY2UpO1xyXG5cclxuICBvcHRpb25zOiBhbnk7XHJcbiAgaXRlbUNvdW50OiBudW1iZXI7XHJcbiAgc2VsZWN0ZWRJdGVtID0gMDtcclxuICBzaG93QWRkVGFiID0gdHJ1ZTtcclxuICByZWFkb25seSBsYXlvdXROb2RlID0gaW5wdXQ8YW55Pih1bmRlZmluZWQpO1xyXG4gIHJlYWRvbmx5IGxheW91dEluZGV4ID0gaW5wdXQ8bnVtYmVyW10+KHVuZGVmaW5lZCk7XHJcbiAgcmVhZG9ubHkgZGF0YUluZGV4ID0gaW5wdXQ8bnVtYmVyW10+KHVuZGVmaW5lZCk7XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5vcHRpb25zID0gdGhpcy5sYXlvdXROb2RlKCkub3B0aW9ucyB8fCB7fTtcclxuICAgIGlmKHRoaXMub3B0aW9ucy5zZWxlY3RlZFRhYil7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtID0gdGhpcy5vcHRpb25zLnNlbGVjdGVkVGFiO1xyXG4gICAgfVxyXG4gICAgdGhpcy5pdGVtQ291bnQgPSB0aGlzLmxheW91dE5vZGUoKS5pdGVtcy5sZW5ndGggLSAxO1xyXG4gICAgdGhpcy51cGRhdGVDb250cm9sKCk7XHJcbiAgfVxyXG5cclxuICBzZWxlY3QoaW5kZXgpIHtcclxuICAgIGNvbnN0IGxheW91dE5vZGUgPSB0aGlzLmxheW91dE5vZGUoKTtcclxuICAgIGlmIChsYXlvdXROb2RlLml0ZW1zW2luZGV4XS50eXBlID09PSAnJHJlZicpIHtcclxuICAgICAgdGhpcy5pdGVtQ291bnQgPSBsYXlvdXROb2RlLml0ZW1zLmxlbmd0aDtcclxuICAgICAgdGhpcy5qc2YuYWRkSXRlbSh7XHJcbiAgICAgICAgbGF5b3V0Tm9kZTogc2lnbmFsKGxheW91dE5vZGUuaXRlbXNbaW5kZXhdKSxcclxuICAgICAgICBsYXlvdXRJbmRleDogc2lnbmFsKHRoaXMubGF5b3V0SW5kZXgoKS5jb25jYXQoaW5kZXgpKSxcclxuICAgICAgICBkYXRhSW5kZXg6IHNpZ25hbCh0aGlzLmRhdGFJbmRleCgpLmNvbmNhdChpbmRleCkpXHJcbiAgICAgIH0pO1xyXG4gICAgICB0aGlzLnVwZGF0ZUNvbnRyb2woKTtcclxuICAgIH1cclxuICAgIHRoaXMuc2VsZWN0ZWRJdGVtID0gaW5kZXg7XHJcbiAgfVxyXG5cclxuICB1cGRhdGVDb250cm9sKCkge1xyXG4gICAgY29uc3QgbGFzdEl0ZW0gPSB0aGlzLmxheW91dE5vZGUoKS5pdGVtc1t0aGlzLmxheW91dE5vZGUoKS5pdGVtcy5sZW5ndGggLSAxXTtcclxuICAgIGlmIChsYXN0SXRlbS50eXBlID09PSAnJHJlZicgJiZcclxuICAgICAgdGhpcy5pdGVtQ291bnQgPj0gKGxhc3RJdGVtLm9wdGlvbnMubWF4SXRlbXMgfHwgMTAwMClcclxuICAgICkge1xyXG4gICAgICB0aGlzLnNob3dBZGRUYWIgPSBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNldFRhYlRpdGxlKGl0ZW06IGFueSwgaW5kZXg6IG51bWJlcik6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5qc2Yuc2V0QXJyYXlJdGVtVGl0bGUodGhpcywgaXRlbSwgaW5kZXgpO1xyXG4gIH1cclxufVxyXG4iXX0=
|
package/esm2022/public-api.mjs
CHANGED
|
@@ -7,5 +7,6 @@ export * from './lib/daisyui-framework.prefixed.component';
|
|
|
7
7
|
export * from './lib/daisyui-framework.service';
|
|
8
8
|
export * from './lib/daisyui.framework';
|
|
9
9
|
export * from './lib/tokens.defs';
|
|
10
|
+
export { DaisyUIOneOfComponent } from './lib/widgets/daisyui-one-of.component';
|
|
10
11
|
export { DaisyUITabsComponent } from './lib/widgets/daisyui-tabs.component';
|
|
11
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWZvcm13b3Jrcy1kYWlzeXVpL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsNENBQTRDLENBQUM7QUFDM0QsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDL0UsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sc0NBQXNDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2YgQG5nLWZvcm13b3Jrcy9kYWlzeXVpXHJcbiAqL1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZGFpc3l1aS1mcmFtZXdvcmsuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZGFpc3l1aS1mcmFtZXdvcmsubW9kdWxlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZGFpc3l1aS1mcmFtZXdvcmsucHJlZml4ZWQuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZGFpc3l1aS1mcmFtZXdvcmsuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RhaXN5dWkuZnJhbWV3b3JrJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdG9rZW5zLmRlZnMnO1xyXG5leHBvcnQgeyBEYWlzeVVJT25lT2ZDb21wb25lbnQgfSBmcm9tICcuL2xpYi93aWRnZXRzL2RhaXN5dWktb25lLW9mLmNvbXBvbmVudCc7XHJcbmV4cG9ydCB7IERhaXN5VUlUYWJzQ29tcG9uZW50IH0gZnJvbSAnLi9saWIvd2lkZ2V0cy9kYWlzeXVpLXRhYnMuY29tcG9uZW50JztcclxuXHJcbiJdfQ==
|