builder-settings-types 0.0.236 → 0.0.240
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/base/settings-group/settingsGroup.d.ts +6 -0
- package/dist/base/settings.d.ts +3 -0
- package/dist/builder-settings-types.cjs.js +16 -16
- package/dist/builder-settings-types.es.js +122 -86
- package/dist/index.d.ts +1 -0
- package/dist/settings/select-api/select-api.d.ts +3 -2
- package/dist/settings/select-settings/selectSettings.d.ts +3 -2
- package/dist/types/index.d.ts +13 -8
- package/dist/utils/settingsTypes.d.ts +4 -5
- package/package.json +1 -1
|
@@ -1,16 +1,17 @@
|
|
|
1
1
|
import { Setting, SettingProps, InputTypes, Primitive } from '../../base/settings';
|
|
2
|
+
import { SettingsMap } from '../../types';
|
|
2
3
|
export interface SelectOption {
|
|
3
4
|
name: string;
|
|
4
5
|
value: string | object;
|
|
5
6
|
}
|
|
6
|
-
export interface SelectSettingProps<T =
|
|
7
|
+
export interface SelectSettingProps<T = SettingsMap> extends SettingProps<T> {
|
|
7
8
|
options?: SelectOption[];
|
|
8
9
|
getOptions?: () => SelectOption[];
|
|
9
10
|
getOptionsAsync?: () => Promise<SelectOption[]>;
|
|
10
11
|
loadingText?: string;
|
|
11
12
|
placeholder?: string;
|
|
12
13
|
}
|
|
13
|
-
export declare class SelectSetting<T =
|
|
14
|
+
export declare class SelectSetting<T = SettingsMap> extends Setting<T, SelectSettingProps<T>> {
|
|
14
15
|
inputType: T extends Primitive ? InputTypes : Record<keyof T, InputTypes>;
|
|
15
16
|
private _options;
|
|
16
17
|
private isOpen;
|
package/dist/types/index.d.ts
CHANGED
|
@@ -14,10 +14,10 @@ import { HeaderTypographySettingSet } from '../groups/headerTypographySettingsSe
|
|
|
14
14
|
import { AlignSetting, AlignValue } from '../settings/align-settings/alignSettings';
|
|
15
15
|
export type SettingValue = string | number | boolean | null | undefined;
|
|
16
16
|
export type ComplexSettingValue = SettingValue | Record<string, SettingValue> | Array<SettingValue> | Date;
|
|
17
|
-
export type
|
|
18
|
-
export type SettingInstance<T extends
|
|
19
|
-
export type SettingChild<T extends
|
|
20
|
-
export type SettingsMap = Record<string,
|
|
17
|
+
export type SettingsProps = SettingValue | ComplexSettingValue;
|
|
18
|
+
export type SettingInstance<T extends SettingsProps = SettingsProps> = Setting<T, SettingProps<T>>;
|
|
19
|
+
export type SettingChild<T extends SettingsProps = SettingsProps> = SettingInstance<T> | SettingGroup<Record<string, SettingChild>>;
|
|
20
|
+
export type SettingsMap = Record<string, SettingChild | object>;
|
|
21
21
|
export type SettingGroupInstance<TSettings extends SettingsMap = SettingsMap> = SettingGroup<TSettings>;
|
|
22
22
|
type HasAlignSetting<T> = T extends SettingGroup<infer S> ? "align" extends keyof S ? true : false : false;
|
|
23
23
|
type HeaderTypographyValues<T> = T extends SettingGroup<infer S> ? {
|
|
@@ -36,7 +36,7 @@ type HeaderTypographyValues<T> = T extends SettingGroup<infer S> ? {
|
|
|
36
36
|
readonly fontSize: number;
|
|
37
37
|
readonly align?: AlignValue;
|
|
38
38
|
};
|
|
39
|
-
export type ExtractSettingValue<T> = T extends Setting<infer V,
|
|
39
|
+
export type ExtractSettingValue<T> = T extends Setting<infer V, infer P> ? V : T extends NumberSetting ? number : T extends StringSetting ? string : T extends ColorWithOpacitySetting ? string : T extends Toggle ? string : T extends UploadSetting ? string : T extends MarginTopSetting ? number : T extends SelectApiSettings<infer U> ? U : T extends SelectSetting<infer U> ? U : T extends MultiLanguageSetting ? MultiLanguageValue : T extends AlignSetting ? AlignValue : T extends BorderSettingSet ? {
|
|
40
40
|
readonly color: string;
|
|
41
41
|
readonly radius: number;
|
|
42
42
|
readonly size: number;
|
|
@@ -44,7 +44,7 @@ export type ExtractSettingValue<T> = T extends Setting<infer V, any> ? V : T ext
|
|
|
44
44
|
getValues(): infer R;
|
|
45
45
|
} ? R : never;
|
|
46
46
|
export type ExtractSettingValues<TSettings extends SettingsMap> = {
|
|
47
|
-
readonly [K in keyof TSettings]: TSettings[K] extends Setting<infer V,
|
|
47
|
+
readonly [K in keyof TSettings]: TSettings[K] extends Setting<infer V, infer P> ? V : TSettings[K] extends NumberSetting ? number : TSettings[K] extends StringSetting ? string : TSettings[K] extends ColorWithOpacitySetting ? string : TSettings[K] extends Toggle ? string : TSettings[K] extends UploadSetting ? string : TSettings[K] extends MarginTopSetting ? number : TSettings[K] extends SelectApiSettings<infer U> ? U : TSettings[K] extends SelectSetting<infer U> ? U : TSettings[K] extends MultiLanguageSetting ? MultiLanguageValue : TSettings[K] extends AlignSetting ? AlignValue : TSettings[K] extends BorderSettingSet ? {
|
|
48
48
|
readonly color: string;
|
|
49
49
|
readonly radius: number;
|
|
50
50
|
readonly size: number;
|
|
@@ -55,7 +55,7 @@ export type ExtractSettingValues<TSettings extends SettingsMap> = {
|
|
|
55
55
|
} ? R : unknown;
|
|
56
56
|
};
|
|
57
57
|
export type ExtractSettingValuesOptional<TSettings extends SettingsMap> = {
|
|
58
|
-
[K in keyof TSettings]?: TSettings[K] extends Setting<infer V,
|
|
58
|
+
[K in keyof TSettings]?: TSettings[K] extends Setting<infer V, infer P> ? V : TSettings[K] extends SettingGroup<infer S> ? ExtractSettingValuesOptional<S> : unknown;
|
|
59
59
|
};
|
|
60
60
|
export type DeepPartial<T> = {
|
|
61
61
|
[P in keyof T]?: T[P] extends object ? DeepPartial<T[P]> : T[P];
|
|
@@ -64,7 +64,7 @@ export type SettingChangeCallback<T> = (value: T) => void;
|
|
|
64
64
|
export type SettingBlurCallback = () => void;
|
|
65
65
|
export type SerializedSettingValues = Record<string, unknown>;
|
|
66
66
|
export type MobileSettingValues<TSettings extends SettingsMap> = {
|
|
67
|
-
[K in keyof TSettings]?: TSettings[K] extends Setting<infer V,
|
|
67
|
+
[K in keyof TSettings]?: TSettings[K] extends Setting<infer V, infer P> ? V : TSettings[K] extends SettingGroup<infer S> ? MobileSettingValues<S> : unknown;
|
|
68
68
|
};
|
|
69
69
|
export type SettingChanges<TSettings extends SettingsMap> = ExtractSettingValuesOptional<TSettings>;
|
|
70
70
|
export declare function isSetting(value: unknown): value is SettingInstance;
|
|
@@ -88,4 +88,9 @@ export type ExtractSettingsFromFunction<T> = T extends (...args: never[]) => {
|
|
|
88
88
|
export type GetSettings<T> = T extends {
|
|
89
89
|
settings: SettingGroup<infer S>;
|
|
90
90
|
} ? ExtractSettingValues<S> : T extends SettingGroup<infer S> ? ExtractSettingValues<S> : never;
|
|
91
|
+
export type ExtractSettingsFromComponent<T> = T extends {
|
|
92
|
+
settings: SettingGroup<infer S>;
|
|
93
|
+
} ? ExtractSettingValues<S> : T extends {
|
|
94
|
+
settings: infer S;
|
|
95
|
+
} ? S extends SettingGroup<infer U> ? ExtractSettingValues<U> : never : never;
|
|
91
96
|
export type { Setting, SettingGroup };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ExtractSettingValues as NewExtractSettingValues, DeepPartial as NewDeepPartial, SettingsMap
|
|
1
|
+
import { ExtractSettingValues as NewExtractSettingValues, DeepPartial as NewDeepPartial, SettingsMap } from '../types/index';
|
|
2
2
|
export * from '../types/index';
|
|
3
3
|
export type SettingsToProps<T> = T extends {
|
|
4
4
|
getValues(): infer R;
|
|
@@ -6,8 +6,7 @@ export type SettingsToProps<T> = T extends {
|
|
|
6
6
|
export type InferSettingsProps<T> = T extends {
|
|
7
7
|
getValues(): infer R;
|
|
8
8
|
} ? R : never;
|
|
9
|
-
|
|
9
|
+
export type ExtractSettingsFromComponent<T> = T extends {
|
|
10
|
+
settings: infer S;
|
|
11
|
+
} ? S extends SettingsMap ? NewExtractSettingValues<S> : never : never;
|
|
10
12
|
export type SettingsToPropsOptional<T> = NewDeepPartial<NewExtractSettingValues<T extends SettingsMap ? T : never>>;
|
|
11
|
-
export declare function isSettingGroup(value: unknown): value is SettingChild;
|
|
12
|
-
/** @deprecated Use isSetting from "../../types" instead */
|
|
13
|
-
export declare function isSetting(value: unknown): value is SettingChild;
|
package/package.json
CHANGED