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.
@@ -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 = any> extends SettingProps<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 = any> extends Setting<T, SelectSettingProps<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;
@@ -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 AnySettingValue = SettingValue | ComplexSettingValue;
18
- export type SettingInstance<T extends AnySettingValue = AnySettingValue> = Setting<T, SettingProps<T>>;
19
- export type SettingChild<T extends AnySettingValue = AnySettingValue> = SettingInstance<T> | SettingGroup<any>;
20
- export type SettingsMap = Record<string, Setting<any, any> | SettingGroup<any>>;
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, any> ? 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 ? {
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, any> ? 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 ? {
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, any> ? V : TSettings[K] extends SettingGroup<infer S> ? ExtractSettingValuesOptional<S> : unknown;
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, any> ? V : TSettings[K] extends SettingGroup<infer S> ? MobileSettingValues<S> : unknown;
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, SettingChild } from '../types/index';
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
- /** @deprecated Use DeepPartial from "../../types" instead */
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
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "builder-settings-types",
3
3
  "description": "builder settings",
4
- "version": "0.0.236",
4
+ "version": "0.0.240",
5
5
  "type": "module",
6
6
  "main": "dist/builder-settings-types.cjs.js",
7
7
  "module": "dist/builder-settings-types.es.js",