builder-settings-types 0.0.223 → 0.0.227
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/builder-settings-types.cjs.js +44 -54
- package/dist/builder-settings-types.es.js +516 -622
- package/dist/index.d.ts +96 -121
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -1,12 +1,7 @@
|
|
|
1
|
-
export declare type AddItemConfig<
|
|
1
|
+
export declare type AddItemConfig<TSettings extends SettingsMap> = {
|
|
2
2
|
buttonLabel?: string;
|
|
3
|
-
buttonIconSvg?: string;
|
|
4
3
|
keyPrefix: string;
|
|
5
|
-
createItem: (index: number) =>
|
|
6
|
-
expandNewItem?: boolean;
|
|
7
|
-
showDeleteButton?: boolean;
|
|
8
|
-
deleteButtonLabel?: string;
|
|
9
|
-
deleteButtonIconSvg?: string;
|
|
4
|
+
createItem: (index: number) => SettingChild;
|
|
10
5
|
};
|
|
11
6
|
|
|
12
7
|
declare class AlignSetting_2 extends Setting<AlignValue, AlignSettingProps> {
|
|
@@ -35,51 +30,23 @@ export declare interface AnimationSettingProps extends SettingProps<AnimationVal
|
|
|
35
30
|
|
|
36
31
|
export declare type AnimationValue = "fade" | "slide" | "zoom" | "bounce" | "pulse" | "none";
|
|
37
32
|
|
|
38
|
-
export declare
|
|
33
|
+
export declare type AnySettingValue = SettingValue | ComplexSettingValue;
|
|
34
|
+
|
|
35
|
+
export declare function asSettingGroupWithSettings<TSettings extends SettingsMap>(settingGroup: SettingGroup<TSettings>): SettingGroupWithSettings<TSettings>;
|
|
39
36
|
|
|
40
37
|
export declare class BackgroundSettingSet extends SettingGroup<{
|
|
41
38
|
backgroundImage: UploadSetting;
|
|
42
39
|
opacity: OpacitySetting;
|
|
43
40
|
backgroundColor: ColorWithOpacitySetting;
|
|
44
41
|
}> {
|
|
45
|
-
/**
|
|
46
|
-
* Constructs a new BackgroundSettingSet.
|
|
47
|
-
*
|
|
48
|
-
* @param props An object that may include default values for each setting and additional
|
|
49
|
-
* properties for the UploadSetting via `uploadProps`.
|
|
50
|
-
*
|
|
51
|
-
* Example:
|
|
52
|
-
* {
|
|
53
|
-
* backgroundImage: 'https://example.com/myimage.png',
|
|
54
|
-
* opacity: 80,
|
|
55
|
-
* backgroundColor: "0, 0, 30",
|
|
56
|
-
* uploadProps: {
|
|
57
|
-
* uploadUrl: 'https://st-admapi.onaim.io/api/File/UploadImage',
|
|
58
|
-
* requestMethod: 'POST',
|
|
59
|
-
* requestHeaders: {
|
|
60
|
-
* accept: 'text/plain',
|
|
61
|
-
* Authorization: 'bearer <your-token-here>',
|
|
62
|
-
* },
|
|
63
|
-
* formFieldName: 'File',
|
|
64
|
-
* parseResponse: (data) => data.data.url,
|
|
65
|
-
* }
|
|
66
|
-
* }
|
|
67
|
-
*/
|
|
68
42
|
constructor(props?: {
|
|
69
43
|
backgroundImage?: string;
|
|
70
44
|
opacity?: number;
|
|
71
45
|
backgroundColor?: string;
|
|
72
46
|
uploadProps?: UploadSettingProps;
|
|
73
47
|
collapsed?: boolean;
|
|
74
|
-
hideCondition?: () => boolean;
|
|
75
48
|
});
|
|
76
|
-
/**
|
|
77
|
-
* Override draw() to reorder the child settings and insert an "OR" label between the two sections.
|
|
78
|
-
*/
|
|
79
49
|
draw(): HTMLElement;
|
|
80
|
-
/**
|
|
81
|
-
* Helper method to generate CSS based on the current settings.
|
|
82
|
-
*/
|
|
83
50
|
getCssCode(): string;
|
|
84
51
|
}
|
|
85
52
|
|
|
@@ -98,7 +65,6 @@ export declare class BorderSettingSet extends SettingGroup<{
|
|
|
98
65
|
radius?: number;
|
|
99
66
|
size?: number;
|
|
100
67
|
collapsed?: boolean;
|
|
101
|
-
hideCondition?: () => boolean;
|
|
102
68
|
});
|
|
103
69
|
/**
|
|
104
70
|
* Optional helper to generate CSS from the current settings.
|
|
@@ -180,17 +146,20 @@ export declare interface ColorWithOpacitySettingProps extends SettingProps<strin
|
|
|
180
146
|
wrapperClassName?: string;
|
|
181
147
|
}
|
|
182
148
|
|
|
183
|
-
export declare
|
|
149
|
+
export declare type ComplexSettingValue = SettingValue | Record<string, SettingValue> | Array<SettingValue> | Date;
|
|
150
|
+
|
|
151
|
+
export declare function createSettingGroup<TSettings extends SettingsMap>(groupProps: SettingGroupProps<TSettings>): SettingGroupWithSettings<TSettings>;
|
|
152
|
+
|
|
153
|
+
export declare function createTabSettingGroup<TSettings extends SettingsMap = SettingsMap>(groupProps: SettingGroupProps<TSettings>): TabSettingGroup<TSettings>;
|
|
184
154
|
|
|
185
155
|
export declare type DeepPartial<T> = {
|
|
186
156
|
[P in keyof T]?: T[P] extends object ? DeepPartial<T[P]> : T[P];
|
|
187
157
|
};
|
|
188
158
|
|
|
189
|
-
export declare type DeleteItemConfig
|
|
159
|
+
export declare type DeleteItemConfig = {
|
|
190
160
|
keyPrefix?: string;
|
|
191
161
|
showDeleteButton?: boolean;
|
|
192
162
|
deleteButtonLabel?: string;
|
|
193
|
-
deleteButtonIconSvg?: string;
|
|
194
163
|
};
|
|
195
164
|
|
|
196
165
|
export declare class DimensionSetting extends Setting<DimensionValue, DimensionSettingProps> {
|
|
@@ -233,9 +202,15 @@ export declare interface DimensionValue {
|
|
|
233
202
|
height: number;
|
|
234
203
|
}
|
|
235
204
|
|
|
236
|
-
declare type
|
|
237
|
-
|
|
238
|
-
|
|
205
|
+
export declare type ExtractSettingValue<T> = T extends Setting<infer V, any> ? V : never;
|
|
206
|
+
|
|
207
|
+
export declare type ExtractSettingValues<TSettings extends SettingsMap> = {
|
|
208
|
+
readonly [K in keyof TSettings]: TSettings[K] extends Setting<infer V, any> ? V : TSettings[K] extends SettingGroup<infer S> ? ExtractSettingValues<S> : unknown;
|
|
209
|
+
};
|
|
210
|
+
|
|
211
|
+
export declare type ExtractSettingValuesOptional<TSettings extends SettingsMap> = {
|
|
212
|
+
[K in keyof TSettings]?: TSettings[K] extends Setting<infer V, any> ? V : TSettings[K] extends SettingGroup<infer S> ? ExtractSettingValuesOptional<S> : unknown;
|
|
213
|
+
};
|
|
239
214
|
|
|
240
215
|
export declare class GapSetting extends Setting<number, GapSettingsProps> {
|
|
241
216
|
inputType: InputTypes;
|
|
@@ -339,10 +314,10 @@ export declare type InferSettingsProps<T> = T extends {
|
|
|
339
314
|
getValues(): infer R;
|
|
340
315
|
} ? R : never;
|
|
341
316
|
|
|
342
|
-
declare type InputProps = {
|
|
317
|
+
export declare type InputProps = {
|
|
343
318
|
iconClassName?: string;
|
|
344
319
|
labelClassName?: string;
|
|
345
|
-
value:
|
|
320
|
+
value: unknown;
|
|
346
321
|
inputType: InputTypes;
|
|
347
322
|
title?: string;
|
|
348
323
|
icon?: string;
|
|
@@ -354,11 +329,14 @@ declare type InputProps = {
|
|
|
354
329
|
|
|
355
330
|
export declare type InputTypes = "number" | "text" | "select" | "color" | "date" | "button";
|
|
356
331
|
|
|
357
|
-
|
|
332
|
+
/** @deprecated Use isSetting from "../../types" instead */
|
|
333
|
+
export declare function isSetting(value: unknown): value is SettingChild;
|
|
358
334
|
|
|
359
|
-
export declare function
|
|
335
|
+
export declare function isSettingChild(value: unknown): value is SettingChild;
|
|
360
336
|
|
|
361
|
-
export declare function
|
|
337
|
+
export declare function isSettingGroup(value: unknown): value is SettingChild;
|
|
338
|
+
|
|
339
|
+
export declare function iterateSettings<TSettings extends SettingsMap>(settings: TSettings, callback: SettingIteratorCallback<TSettings>): void;
|
|
362
340
|
|
|
363
341
|
export declare class MarginBottomSetting extends NumberSetting {
|
|
364
342
|
inputType: InputTypes;
|
|
@@ -391,12 +369,11 @@ export declare class MarginSettingGroup extends SettingGroup<{
|
|
|
391
369
|
marginLeft: MarginNumberSetting;
|
|
392
370
|
}> {
|
|
393
371
|
constructor(defaults?: {
|
|
394
|
-
marginTop?: number |
|
|
395
|
-
marginRight?: number |
|
|
396
|
-
marginBottom?: number |
|
|
397
|
-
marginLeft?: number |
|
|
372
|
+
marginTop?: number | "auto";
|
|
373
|
+
marginRight?: number | "auto";
|
|
374
|
+
marginBottom?: number | "auto";
|
|
375
|
+
marginLeft?: number | "auto";
|
|
398
376
|
collapsed?: boolean;
|
|
399
|
-
hideCondition?: () => boolean;
|
|
400
377
|
});
|
|
401
378
|
getCssCode(): string;
|
|
402
379
|
}
|
|
@@ -409,6 +386,10 @@ export declare class MarginTopSetting extends NumberSetting {
|
|
|
409
386
|
export declare interface MarginTopSettingsProps extends NumberSettingsProps {
|
|
410
387
|
}
|
|
411
388
|
|
|
389
|
+
export declare type MobileSettingValues<TSettings extends SettingsMap> = {
|
|
390
|
+
[K in keyof TSettings]?: TSettings[K] extends Setting<infer V, any> ? V : TSettings[K] extends SettingGroup<infer S> ? MobileSettingValues<S> : unknown;
|
|
391
|
+
};
|
|
392
|
+
|
|
412
393
|
export declare class MultiLanguageSetting extends Setting<MultiLanguageValue, MultiLanguageSettingsProps> {
|
|
413
394
|
inputType: Record<keyof MultiLanguageValue, "text">;
|
|
414
395
|
private container;
|
|
@@ -566,6 +547,8 @@ export declare interface SelectSettingProps<T = any> extends SettingProps<T> {
|
|
|
566
547
|
placeholder?: string;
|
|
567
548
|
}
|
|
568
549
|
|
|
550
|
+
export declare type SerializedSettingValues = Record<string, unknown>;
|
|
551
|
+
|
|
569
552
|
export declare abstract class Setting<T, P extends SettingProps<T>> implements IDrawable, IChangable<T> {
|
|
570
553
|
protected props: P;
|
|
571
554
|
static DefaultUploadUrl: string;
|
|
@@ -591,23 +574,28 @@ export declare abstract class Setting<T, P extends SettingProps<T>> implements I
|
|
|
591
574
|
createIcon(icon: string, className?: string): HTMLSpanElement;
|
|
592
575
|
}
|
|
593
576
|
|
|
594
|
-
export declare
|
|
577
|
+
export declare type SettingBlurCallback = () => void;
|
|
578
|
+
|
|
579
|
+
export declare type SettingChangeCallback<T> = (value: T) => void;
|
|
580
|
+
|
|
581
|
+
export declare type SettingChanges<TSettings extends SettingsMap> = ExtractSettingValuesOptional<TSettings>;
|
|
582
|
+
|
|
583
|
+
export declare type SettingChild<T extends AnySettingValue = AnySettingValue> = SettingInstance<T> | SettingGroup<any>;
|
|
584
|
+
|
|
585
|
+
export declare class SettingGroup<TSettings extends SettingsMap> implements IDrawable, IChangable<ExtractSettingValues<TSettings>> {
|
|
595
586
|
title: string;
|
|
596
|
-
settings:
|
|
597
|
-
description?: string;
|
|
598
|
-
icon?: string;
|
|
587
|
+
settings: TSettings;
|
|
599
588
|
id: string;
|
|
600
|
-
onChange?:
|
|
601
|
-
onBlur?:
|
|
589
|
+
onChange?: SettingChangeCallback<ExtractSettingValues<TSettings>> | undefined;
|
|
590
|
+
onBlur?: SettingBlurCallback;
|
|
602
591
|
private isCollapsed;
|
|
603
592
|
private isMain;
|
|
604
593
|
private includeGetJson;
|
|
605
594
|
private elementRef;
|
|
606
|
-
private hideCondition?;
|
|
607
595
|
private static hiddenElements;
|
|
608
596
|
private isHidden;
|
|
609
597
|
private custom;
|
|
610
|
-
initialValues:
|
|
598
|
+
initialValues: ExtractSettingValues<TSettings>;
|
|
611
599
|
private changeTimeout;
|
|
612
600
|
private isHandlingChange;
|
|
613
601
|
private changeHandlers;
|
|
@@ -617,67 +605,64 @@ export declare class SettingGroup<T extends Record<string, Setting<any, any> | S
|
|
|
617
605
|
private pendingBlurHandler;
|
|
618
606
|
private originalDefaultValues;
|
|
619
607
|
private nestingLevel;
|
|
620
|
-
private parentNestingLevel;
|
|
621
608
|
private addItemCfg?;
|
|
622
609
|
private deleteItemCfg?;
|
|
623
|
-
constructor(groupProps: SettingGroupProps<
|
|
610
|
+
constructor(groupProps: SettingGroupProps<TSettings>);
|
|
624
611
|
private propagateNestingLevel;
|
|
625
612
|
getNestingLevel(): number;
|
|
626
613
|
setNestingLevel(level: number): void;
|
|
627
614
|
private updateNestingStyles;
|
|
628
|
-
static hide(): void;
|
|
629
|
-
static show(): void;
|
|
630
|
-
setOnChange(onChange: (value: T) => void): SettingGroup<T>;
|
|
631
|
-
setOnBlur(onBlur: () => void): SettingGroup<T>;
|
|
632
|
-
private setupBlurHandlers;
|
|
633
|
-
cleanup(): void;
|
|
634
|
-
clone(): SettingGroupWithSettings<T>;
|
|
635
|
-
setValue(values: Record<string, any>): void;
|
|
636
|
-
/** Force UI refresh for all child settings */
|
|
637
615
|
private forceChildUIRefresh;
|
|
638
|
-
/** Attach change/blur bubbling for a newly added child */
|
|
639
|
-
private wireChild;
|
|
640
|
-
addSetting(key: string, setting: Setting<any, any> | SettingGroup<any>): void;
|
|
641
616
|
removeSetting(key: string): void;
|
|
617
|
+
updateVisibility(): void;
|
|
618
|
+
clone(): SettingGroupWithSettings<TSettings>;
|
|
619
|
+
resetDefault(): void;
|
|
620
|
+
setMobileValues(values: MobileSettingValues<TSettings>): void;
|
|
621
|
+
getMobileValues(): MobileSettingValues<TSettings>;
|
|
622
|
+
getMobileValues<K extends keyof TSettings>(childKey: K): unknown;
|
|
623
|
+
setOnChange(onChange: SettingChangeCallback<ExtractSettingValues<TSettings>>): SettingGroup<TSettings>;
|
|
624
|
+
cleanup(): void;
|
|
625
|
+
setValue(values: ExtractSettingValuesOptional<TSettings>): void;
|
|
626
|
+
private wireChild;
|
|
627
|
+
addSetting(key: string, setting: SettingChild): void;
|
|
642
628
|
private addDeleteButtonToElement;
|
|
643
629
|
private showDeleteConfirmation;
|
|
644
630
|
private getNextIndexFromPrefix;
|
|
645
|
-
calculateChanges(oldValues:
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
631
|
+
calculateChanges(oldValues: ExtractSettingValues<TSettings>, newValues: ExtractSettingValues<TSettings>): Record<string, {
|
|
632
|
+
from: unknown;
|
|
633
|
+
to: unknown;
|
|
634
|
+
}>;
|
|
635
|
+
getValues(): ExtractSettingValues<TSettings>;
|
|
636
|
+
getValues<K extends keyof TSettings>(childKey: K): unknown;
|
|
649
637
|
private getValuesForJson;
|
|
650
|
-
getDefaultValues
|
|
651
|
-
|
|
652
|
-
setMobileValues(values: Record<string, any>): void;
|
|
653
|
-
resetDefault(): void;
|
|
638
|
+
getDefaultValues(): ExtractSettingValues<TSettings>;
|
|
639
|
+
getDefaultValues<K extends keyof TSettings>(childKey: K): unknown;
|
|
654
640
|
draw(): HTMLElement;
|
|
655
641
|
collapse(): void;
|
|
656
642
|
expand(): void;
|
|
657
|
-
updateVisibility(): void;
|
|
658
|
-
toggle(): void;
|
|
659
643
|
getJson(): string;
|
|
660
644
|
setJson(jsonString: string): void;
|
|
661
645
|
}
|
|
662
646
|
|
|
663
|
-
export declare type
|
|
664
|
-
|
|
665
|
-
|
|
647
|
+
export declare type SettingGroupInstance<TSettings extends SettingsMap = SettingsMap> = SettingGroup<TSettings>;
|
|
648
|
+
|
|
649
|
+
export declare type SettingGroupProps<TSettings extends SettingsMap> = {
|
|
666
650
|
id?: string;
|
|
651
|
+
title: string;
|
|
652
|
+
settings: TSettings;
|
|
667
653
|
collapsed?: boolean;
|
|
668
654
|
main?: boolean;
|
|
669
|
-
description?: string;
|
|
670
|
-
icon?: string;
|
|
671
|
-
hideCondition?: () => boolean;
|
|
672
|
-
onBlur?: () => void;
|
|
673
655
|
custom?: boolean;
|
|
674
|
-
parentNestingLevel?: number;
|
|
675
656
|
includeGetJson?: boolean;
|
|
676
|
-
addItem?: AddItemConfig<
|
|
677
|
-
deleteItem?: DeleteItemConfig
|
|
657
|
+
addItem?: AddItemConfig<TSettings>;
|
|
658
|
+
deleteItem?: DeleteItemConfig;
|
|
678
659
|
};
|
|
679
660
|
|
|
680
|
-
export declare type SettingGroupWithSettings<
|
|
661
|
+
export declare type SettingGroupWithSettings<TSettings extends SettingsMap> = SettingGroup<TSettings> & TSettings;
|
|
662
|
+
|
|
663
|
+
export declare type SettingInstance<T extends AnySettingValue = AnySettingValue> = Setting<T, SettingProps<T>>;
|
|
664
|
+
|
|
665
|
+
export declare type SettingIteratorCallback<TSettings extends SettingsMap> = (key: keyof TSettings, setting: TSettings[typeof key]) => void;
|
|
681
666
|
|
|
682
667
|
export declare interface SettingProps<T> {
|
|
683
668
|
default?: T;
|
|
@@ -690,11 +675,16 @@ export declare interface SettingProps<T> {
|
|
|
690
675
|
includeGetJson?: boolean;
|
|
691
676
|
}
|
|
692
677
|
|
|
693
|
-
export declare type
|
|
694
|
-
|
|
695
|
-
|
|
678
|
+
export declare type SettingsMap = Record<string, Setting<any, any> | SettingGroup<any>>;
|
|
679
|
+
|
|
680
|
+
export declare type SettingsToProps<T> = T extends {
|
|
681
|
+
getValues(): infer R;
|
|
682
|
+
} ? R : never;
|
|
696
683
|
|
|
697
|
-
|
|
684
|
+
/** @deprecated Use DeepPartial from "../../types" instead */
|
|
685
|
+
export declare type SettingsToPropsOptional<T> = DeepPartial<ExtractSettingValues<T extends SettingsMap ? T : never>>;
|
|
686
|
+
|
|
687
|
+
export declare type SettingValue = string | number | boolean | null | undefined;
|
|
698
688
|
|
|
699
689
|
export declare class StringSetting extends Setting<string, StringSettingsProps> {
|
|
700
690
|
inputType: InputTypes;
|
|
@@ -711,26 +701,11 @@ export declare interface StringSettingsProps extends SettingProps<string> {
|
|
|
711
701
|
onChange?: (value: string) => void;
|
|
712
702
|
}
|
|
713
703
|
|
|
714
|
-
|
|
715
|
-
title: string;
|
|
716
|
-
settings: T;
|
|
717
|
-
id?: string;
|
|
718
|
-
collapsed?: boolean;
|
|
719
|
-
main?: boolean;
|
|
720
|
-
description?: string;
|
|
721
|
-
icon?: string;
|
|
722
|
-
hideCondition?: () => boolean;
|
|
723
|
-
onBlur?: () => void;
|
|
724
|
-
custom?: boolean;
|
|
725
|
-
parentNestingLevel?: number;
|
|
726
|
-
includeGetJson?: boolean;
|
|
727
|
-
};
|
|
728
|
-
|
|
729
|
-
declare class TabSettingGroup<T extends TabSettingsGroupGenericType> extends SettingGroup<T> {
|
|
704
|
+
declare class TabSettingGroup<TSettings extends SettingsMap = SettingsMap> extends SettingGroup<TSettings> {
|
|
730
705
|
private activeTabId;
|
|
731
706
|
private tabsContainer?;
|
|
732
707
|
private contentContainers?;
|
|
733
|
-
constructor(groupProps:
|
|
708
|
+
constructor(groupProps: SettingGroupProps<TSettings>);
|
|
734
709
|
getActiveTabId(): string;
|
|
735
710
|
switchToTab(tabId: string): void;
|
|
736
711
|
private updateTabUI;
|
|
@@ -739,7 +714,7 @@ declare class TabSettingGroup<T extends TabSettingsGroupGenericType> extends Set
|
|
|
739
714
|
export { TabSettingGroup }
|
|
740
715
|
export { TabSettingGroup as TabsSettingGroup }
|
|
741
716
|
|
|
742
|
-
export declare type TabSettingsGroupGenericType = Record<string, SettingGroup<
|
|
717
|
+
export declare type TabSettingsGroupGenericType = Record<string, SettingGroup<SettingsMap>>;
|
|
743
718
|
|
|
744
719
|
export declare class Toggle extends Setting<string, ToggleSettingProps> {
|
|
745
720
|
inputType: InputTypes;
|
|
@@ -792,7 +767,7 @@ export declare interface UploadSettingProps extends SettingProps<string> {
|
|
|
792
767
|
requestMethod?: string;
|
|
793
768
|
requestHeaders?: Record<string, string>;
|
|
794
769
|
formFieldName?: string;
|
|
795
|
-
parseResponse?: (responseData:
|
|
770
|
+
parseResponse?: (responseData: unknown) => string;
|
|
796
771
|
maxFileSizeMB?: number;
|
|
797
772
|
}
|
|
798
773
|
|
package/package.json
CHANGED