builder-settings-types 0.0.224 → 0.0.229

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.
Files changed (40) hide show
  1. package/dist/base/drawable.d.ts +6 -0
  2. package/dist/base/settings-base.d.ts +7 -0
  3. package/dist/base/settings-group/settingsGroup.d.ts +100 -0
  4. package/dist/base/settings.d.ts +49 -0
  5. package/dist/builder-settings-types.cjs.js +44 -54
  6. package/dist/builder-settings-types.es.js +506 -616
  7. package/dist/groups/background-setting-set/backgroundSettingsSet.d.ts +19 -0
  8. package/dist/groups/borderSettingsSet.d.ts +24 -0
  9. package/dist/groups/headerTypographySettingsSet.d.ts +34 -0
  10. package/dist/groups/margin-setting-group/marginSettingGroup.d.ts +17 -0
  11. package/dist/groups/margin-setting-group/marginSettings.d.ts +16 -0
  12. package/dist/index.d.ts +30 -811
  13. package/dist/main.d.ts +1 -0
  14. package/dist/settings/align-settings/alignSettings.d.ts +9 -0
  15. package/dist/settings/animation-settings/animationSettings.d.ts +12 -0
  16. package/dist/settings/button-settings/buttonSettings.d.ts +16 -0
  17. package/dist/settings/color-settings/colorSettings.d.ts +23 -0
  18. package/dist/settings/color-with-opacity-settings/colorWithOpacitySettings.d.ts +33 -0
  19. package/dist/settings/gap-settings/gapSettings.d.ts +26 -0
  20. package/dist/settings/height-setting/heightSettings.d.ts +12 -0
  21. package/dist/settings/html-settings/htmlSettings.d.ts +18 -0
  22. package/dist/settings/html-settings/index.d.ts +1 -0
  23. package/dist/settings/margin-bottom-settings/marginBottomSettings.d.ts +8 -0
  24. package/dist/settings/margin-top-settings/marginTopSettings.d.ts +8 -0
  25. package/dist/settings/multi-language-settings/multiLanguageSettings.d.ts +32 -0
  26. package/dist/settings/number-settings/numberSettings.d.ts +25 -0
  27. package/dist/settings/opacity-settings/opacitySettings.d.ts +12 -0
  28. package/dist/settings/select-api/select-api.d.ts +37 -0
  29. package/dist/settings/select-settings/selectSettings.d.ts +41 -0
  30. package/dist/settings/size-setting/dimensionSettings.d.ts +38 -0
  31. package/dist/settings/string-settings/stringSettings.d.ts +14 -0
  32. package/dist/settings/toggle-settings/index.d.ts +1 -0
  33. package/dist/settings/toggle-settings/toggleSettings.d.ts +21 -0
  34. package/dist/settings/upload-image-settings/uploadImageSettings.d.ts +31 -0
  35. package/dist/settings/width-setting/widthSettings.d.ts +12 -0
  36. package/dist/types/index.d.ts +34 -0
  37. package/dist/utils/deepClone.d.ts +1 -0
  38. package/dist/utils/nestingCalculator.d.ts +96 -0
  39. package/dist/utils/settingsTypes.d.ts +13 -0
  40. package/package.json +1 -1
@@ -0,0 +1,6 @@
1
+ export interface IDrawable {
2
+ draw(): HTMLElement;
3
+ }
4
+ export interface IChangable<T> {
5
+ setOnChange(onChange: (value: T) => void): void;
6
+ }
@@ -0,0 +1,7 @@
1
+ import { IDrawable, IChangable } from './drawable';
2
+ export interface ISettingsContainer<T> extends IDrawable, IChangable<T> {
3
+ getValues(): T;
4
+ setOnChange(onChange: (value: T) => void): ISettingsContainer<T>;
5
+ setOnBlur(onBlur: () => void): ISettingsContainer<T>;
6
+ draw(): HTMLElement;
7
+ }
@@ -0,0 +1,100 @@
1
+ import { IChangable, IDrawable } from '../drawable';
2
+ import { SettingsMap, SettingChild, ExtractSettingValues, ExtractSettingValuesOptional, SettingChangeCallback, SettingBlurCallback, MobileSettingValues, SettingIteratorCallback } from '../../types/index';
3
+ export type AddItemConfig<TSettings extends SettingsMap> = {
4
+ buttonLabel?: string;
5
+ keyPrefix: string;
6
+ createItem: (index: number) => SettingChild;
7
+ };
8
+ export type DeleteItemConfig = {
9
+ keyPrefix?: string;
10
+ showDeleteButton?: boolean;
11
+ deleteButtonLabel?: string;
12
+ };
13
+ export type SettingGroupProps<TSettings extends SettingsMap> = {
14
+ id?: string;
15
+ title: string;
16
+ settings: TSettings;
17
+ collapsed?: boolean;
18
+ main?: boolean;
19
+ custom?: boolean;
20
+ includeGetJson?: boolean;
21
+ addItem?: AddItemConfig<TSettings>;
22
+ deleteItem?: DeleteItemConfig;
23
+ };
24
+ export declare function iterateSettings<TSettings extends SettingsMap>(settings: TSettings, callback: SettingIteratorCallback<TSettings>): void;
25
+ export type SettingGroupWithSettings<TSettings extends SettingsMap> = SettingGroup<TSettings> & TSettings;
26
+ export type TabSettingsGroupGenericType = Record<string, SettingGroup<SettingsMap>>;
27
+ export declare class SettingGroup<TSettings extends SettingsMap> implements IDrawable, IChangable<ExtractSettingValues<TSettings>> {
28
+ title: string;
29
+ settings: TSettings;
30
+ id: string;
31
+ onChange?: SettingChangeCallback<ExtractSettingValues<TSettings>> | undefined;
32
+ onBlur?: SettingBlurCallback;
33
+ private isCollapsed;
34
+ private isMain;
35
+ private includeGetJson;
36
+ private elementRef;
37
+ private static hiddenElements;
38
+ private isHidden;
39
+ private custom;
40
+ initialValues: ExtractSettingValues<TSettings>;
41
+ private changeTimeout;
42
+ private isHandlingChange;
43
+ private changeHandlers;
44
+ private blurTimeout;
45
+ private lastChangeTime;
46
+ private handleBlur;
47
+ private pendingBlurHandler;
48
+ private originalDefaultValues;
49
+ private nestingLevel;
50
+ private addItemCfg?;
51
+ private deleteItemCfg?;
52
+ constructor(groupProps: SettingGroupProps<TSettings>);
53
+ private propagateNestingLevel;
54
+ getNestingLevel(): number;
55
+ setNestingLevel(level: number): void;
56
+ private updateNestingStyles;
57
+ private forceChildUIRefresh;
58
+ removeSetting(key: string): void;
59
+ updateVisibility(): void;
60
+ clone(): SettingGroupWithSettings<TSettings>;
61
+ resetDefault(): void;
62
+ setMobileValues(values: MobileSettingValues<TSettings>): void;
63
+ getMobileValues(): MobileSettingValues<TSettings>;
64
+ getMobileValues<K extends keyof TSettings>(childKey: K): unknown;
65
+ setOnChange(onChange: SettingChangeCallback<ExtractSettingValues<TSettings>>): SettingGroup<TSettings>;
66
+ cleanup(): void;
67
+ setValue(values: ExtractSettingValuesOptional<TSettings>): void;
68
+ private wireChild;
69
+ addSetting(key: string, setting: SettingChild): void;
70
+ private addDeleteButtonToElement;
71
+ private showDeleteConfirmation;
72
+ private getNextIndexFromPrefix;
73
+ calculateChanges(oldValues: ExtractSettingValues<TSettings>, newValues: ExtractSettingValues<TSettings>): Record<string, {
74
+ from: unknown;
75
+ to: unknown;
76
+ }>;
77
+ getValues(): ExtractSettingValues<TSettings>;
78
+ getValues<K extends keyof TSettings>(childKey: K): unknown;
79
+ private getValuesForJson;
80
+ getDefaultValues(): ExtractSettingValues<TSettings>;
81
+ getDefaultValues<K extends keyof TSettings>(childKey: K): unknown;
82
+ draw(): HTMLElement;
83
+ collapse(): void;
84
+ expand(): void;
85
+ getJson(): string;
86
+ setJson(jsonString: string): void;
87
+ }
88
+ export declare function createTabSettingGroup<TSettings extends SettingsMap = SettingsMap>(groupProps: SettingGroupProps<TSettings>): TabSettingGroup<TSettings>;
89
+ export declare class TabSettingGroup<TSettings extends SettingsMap = SettingsMap> extends SettingGroup<TSettings> {
90
+ private activeTabId;
91
+ private tabsContainer?;
92
+ private contentContainers?;
93
+ constructor(groupProps: SettingGroupProps<TSettings>);
94
+ getActiveTabId(): string;
95
+ switchToTab(tabId: string): void;
96
+ private updateTabUI;
97
+ draw(): HTMLElement;
98
+ }
99
+ export declare function createSettingGroup<TSettings extends SettingsMap>(groupProps: SettingGroupProps<TSettings>): SettingGroupWithSettings<TSettings>;
100
+ export declare function asSettingGroupWithSettings<TSettings extends SettingsMap>(settingGroup: SettingGroup<TSettings>): SettingGroupWithSettings<TSettings>;
@@ -0,0 +1,49 @@
1
+ import { IChangable, IDrawable } from './drawable';
2
+ export interface SettingProps<T> {
3
+ default?: T;
4
+ title?: string;
5
+ placeholder?: string;
6
+ icon?: string;
7
+ inputProps?: InputProps;
8
+ id?: string;
9
+ detectChange?: (value: T | undefined) => void;
10
+ includeGetJson?: boolean;
11
+ }
12
+ export type Primitive = string | number | boolean | symbol | bigint | null | undefined;
13
+ export type InputTypes = "number" | "text" | "select" | "color" | "date" | "button";
14
+ export type InputProps = {
15
+ iconClassName?: string;
16
+ labelClassName?: string;
17
+ value: unknown;
18
+ inputType: InputTypes;
19
+ title?: string;
20
+ icon?: string;
21
+ inputCustomizer?: (input: HTMLInputElement) => void;
22
+ inputClassName?: string;
23
+ wrapperClassName?: string;
24
+ placeholder?: string;
25
+ };
26
+ export declare abstract class Setting<T, P extends SettingProps<T>> implements IDrawable, IChangable<T> {
27
+ protected props: P;
28
+ static DefaultUploadUrl: string;
29
+ static SetUploadUrl(url: string): void;
30
+ destroy(): void;
31
+ protected inputEl?: HTMLInputElement;
32
+ id: string;
33
+ value: T | undefined;
34
+ title: string | undefined;
35
+ desktop: T | undefined;
36
+ includeGetJson: boolean;
37
+ abstract inputType: T extends Primitive ? InputTypes : Record<keyof T, InputTypes>;
38
+ onChange: ((value: T) => void) | undefined;
39
+ onBlur: ((value: T) => void) | undefined;
40
+ constructor(props?: P);
41
+ setOnChange(onChange: (value: T) => void): Setting<T, P>;
42
+ setOnBlur(onBlur: (value: T) => void): Setting<T, P>;
43
+ setValue(newValue: T): void;
44
+ clone(): Setting<T, P>;
45
+ abstract draw(): HTMLElement;
46
+ createInput(props: InputProps): HTMLElement;
47
+ createLabel(title: string, className?: string): HTMLSpanElement;
48
+ createIcon(icon: string, className?: string): HTMLSpanElement;
49
+ }