@useloops/design-system 1.4.149 → 1.4.150

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/index.d.ts CHANGED
@@ -9,6 +9,7 @@ import { MuiMarkdownProps } from 'mui-markdown';
9
9
  import { NumericFormatProps } from 'react-number-format';
10
10
  import { UniqueIdentifier } from '@dnd-kit/core';
11
11
  import { SubmitHandler } from 'react-hook-form';
12
+ import { TextFieldProps as TextFieldProps$2, NumberFieldProps as NumberFieldProps$1, TextareaProps as TextareaProps$1, SelectProps as SelectProps$2, CheckboxProps as CheckboxProps$2, CheckboxGroupProps as CheckboxGroupProps$1, SwitchProps as SwitchProps$2, SliderProps as SliderProps$1, DifferentialProps as DifferentialProps$1, LikertProps as LikertProps$1, RadioGroupProps as RadioGroupProps$1, RankProps as RankProps$1, RichTextFieldProps as RichTextFieldProps$1, StarRatingProps as StarRatingProps$1, HtmlProps as HtmlProps$1, CustomFieldProps as CustomFieldProps$1, InputLabelProps as InputLabelProps$1, InputLabelHelpProps as InputLabelHelpProps$1 } from 'WebCore';
12
13
 
13
14
  interface ColorRange {
14
15
  0: string;
@@ -326,6 +327,7 @@ interface FormControlLabelProps {
326
327
  checked?: boolean;
327
328
  disabled?: boolean;
328
329
  label?: string | ReactElement;
330
+ labelPlacement?: FormControlLabelProps$1['labelPlacement'];
329
331
  sx?: SxProps<Theme>;
330
332
  onChange?: FormControlLabelProps$1['onChange'];
331
333
  value?: unknown;
@@ -691,9 +693,18 @@ interface SurfaceProps extends PropsWithChildren {
691
693
  }
692
694
  declare const Surface: FC<SurfaceProps>;
693
695
 
694
- interface SwitchProps extends SwitchProps$1 {
696
+ interface StyledSwitchProps extends SwitchProps$1 {
695
697
  }
696
- declare const Switch: _emotion_styled.StyledComponent<SwitchProps & _mui_system.MUIStyledCommonProps<_mui_material.Theme>, {}, {}>;
698
+
699
+ interface SwitchProps extends StyledSwitchProps {
700
+ value?: boolean;
701
+ label?: string | ReactElement;
702
+ labelPlacement?: Exclude<FormControlLabelProps['labelPlacement'], 'top' | 'bottom'>;
703
+ fullWidth?: boolean;
704
+ onChange?: (event: React.SyntheticEvent<Element, Event>, checked: boolean) => void;
705
+ internalChange?: () => void;
706
+ }
707
+ declare const Switch: FunctionComponent<SwitchProps>;
697
708
 
698
709
  type TextareaProps = InputFieldBaseProps & {
699
710
  startAdornment?: ReactElement;
@@ -756,6 +767,9 @@ interface BackgroundOptions {
756
767
  }
757
768
  declare const backgroundCreator: (theme: Theme, options: BackgroundOptions) => string;
758
769
 
770
+ /**
771
+ * Form Generator Core Types
772
+ */
759
773
  interface FormGeneratorHandler {
760
774
  set: () => void;
761
775
  reset: () => void;
@@ -766,12 +780,12 @@ interface FormGeneratorHandler {
766
780
  triggerFormValidation: () => Promise<unknown>;
767
781
  }
768
782
  type FormGeneratorProps = FunctionComponent<{
783
+ ref?: any;
769
784
  formConfig: FormGeneratorConfig;
770
785
  onFormSubmit?: SubmitHandler<any>;
771
786
  onFormChange?: (formData: any) => void;
772
787
  submitButton?: ReactElement;
773
788
  secondaryButton?: ReactElement;
774
- ref?: any;
775
789
  }>;
776
790
  interface FormGeneratorConfig {
777
791
  fields: FieldTypes[];
@@ -785,78 +799,47 @@ interface FormGeneratorConfig {
785
799
  sxStack?: SxProps<Theme>;
786
800
  };
787
801
  }
788
- type TextFieldType = {
789
- fieldType: 'textfield';
790
- } & BaseField & Omit<TextFieldProps, 'value' | 'onChange' | 'name'>;
791
- type NumberFieldType = {
792
- fieldType: 'numberfield';
793
- } & BaseField & Omit<NumberFieldProps, 'value' | 'onChange' | 'name'>;
794
- type TextareaType = {
795
- fieldType: 'textarea';
796
- } & BaseField & Omit<TextareaProps, 'value' | 'onChange' | 'name'>;
797
- type SelectType = {
798
- fieldType: 'select';
799
- defaultValue?: SelectProps['value'];
800
- } & BaseField & Omit<SelectProps, 'value' | 'onChange' | 'name'>;
801
- type CheckboxType = {
802
- fieldType: 'checkbox';
803
- defaultValue?: CheckboxProps['value'];
804
- } & BaseField & Omit<CheckboxProps, 'value' | 'onChange' | 'name'>;
805
- type CheckboxGroupType = {
806
- fieldType: 'checkboxGroup';
807
- defaultValue?: string[];
808
- } & BaseField & Omit<CheckboxGroupProps, 'value' | 'onChange' | 'name'>;
809
- type SliderType = {
810
- fieldType: 'slider';
811
- defaultValue?: SliderProps['value'];
812
- } & BaseField & Omit<SliderProps, 'value' | 'onChange' | 'name'>;
813
- type DifferentialType = {
814
- fieldType: 'differential';
815
- defaultValue?: DifferentialProps['value'];
816
- } & BaseField & Omit<DifferentialProps, 'value' | 'onChange' | 'name'>;
817
- type LikertType = {
818
- fieldType: 'likert';
819
- defaultValue?: LikertProps['value'];
820
- } & BaseField & Omit<LikertProps, 'value' | 'onChange' | 'name'>;
821
- type RadioGroupType = {
822
- fieldType: 'radioGroup';
823
- defaultValue?: RadioGroupProps['value'];
824
- } & BaseField & Omit<RadioGroupProps, 'value' | 'onChange' | 'name'>;
825
- type DragAndDropRankingType = {
826
- fieldType: 'ranking';
827
- defaultValue?: RankProps['value'];
828
- } & BaseField & Omit<RankProps, 'value' | 'onChange' | 'name'>;
829
- type RichTextFieldType = {
830
- fieldType: 'richTextfield';
831
- defaultValue?: RichTextFieldProps['value'];
832
- } & BaseField & Omit<RichTextFieldProps, 'value' | 'onChange' | 'name'>;
833
- type StarRatingType = {
834
- fieldType: 'starRating';
835
- defaultValue?: StarRatingProps['value'];
836
- } & BaseField & Omit<StarRatingProps, 'value' | 'onChange' | 'name'>;
802
+ /**
803
+ * Field Types
804
+ */
805
+ type FieldTypes = CheckboxType | CheckboxGroupType | SwitchType | TextareaType | SelectType | TextFieldType | SliderType | DifferentialType | RichTextFieldType | LikertType | RadioGroupType | DragAndDropRankingType | NumberFieldType | StarRatingType | HTMLType | CustomFieldType;
806
+ type TextFieldType = CreateFieldType<'textfield', TextFieldProps$2, string>;
807
+ type NumberFieldType = CreateFieldType<'numberfield', NumberFieldProps$1, number>;
808
+ type TextareaType = CreateFieldType<'textarea', TextareaProps$1, string>;
809
+ type SelectType = CreateFieldType<'select', SelectProps$2, SelectProps$2['value']>;
810
+ type CheckboxType = CreateFieldType<'checkbox', CheckboxProps$2, NonNullable<CheckboxProps$2['value']>>;
811
+ type CheckboxGroupType = CreateFieldType<'checkboxGroup', CheckboxGroupProps$1, string[]>;
812
+ type SwitchType = CreateFieldType<'switch', SwitchProps$2, NonNullable<SwitchProps$2['checked']>>;
813
+ type SliderType = CreateFieldType<'slider', SliderProps$1, NonNullable<SliderProps$1['value']>>;
814
+ type DifferentialType = CreateFieldType<'differential', DifferentialProps$1, NonNullable<DifferentialProps$1['value']>>;
815
+ type LikertType = CreateFieldType<'likert', LikertProps$1, LikertProps$1['value']>;
816
+ type RadioGroupType = CreateFieldType<'radioGroup', RadioGroupProps$1, RadioGroupProps$1['value']>;
817
+ type DragAndDropRankingType = CreateFieldType<'ranking', RankProps$1, NonNullable<RankProps$1['value']>>;
818
+ type RichTextFieldType = CreateFieldType<'richTextfield', RichTextFieldProps$1, RichTextFieldProps$1['value']>;
819
+ type StarRatingType = CreateFieldType<'starRating', StarRatingProps$1, NonNullable<StarRatingProps$1['value']>>;
837
820
  type HTMLType = {
838
821
  fieldType: 'html';
839
- content: HtmlProps['children'];
822
+ content: HtmlProps$1['children'];
840
823
  defaultValue?: never;
841
824
  } & BaseField;
842
825
  type CustomFieldType = {
843
826
  fieldType: 'customfield';
844
- defaultValue?: CustomFieldProps['value'];
845
- } & BaseField & CustomFieldProps;
846
- type DynamicFieldType = 'textfield' | 'numberfield' | 'textarea' | 'select' | 'checkbox' | 'checkboxGroup' | 'slider' | 'differential' | 'likert' | 'starRating' | 'radioGroup' | 'ranking' | 'richTextfield' | 'customfield';
847
- type FieldType = DynamicFieldType | 'html';
848
- type FieldTypes = CheckboxType | CheckboxGroupType | TextareaType | SelectType | TextFieldType | SliderType | DifferentialType | RichTextFieldType | LikertType | RadioGroupType | DragAndDropRankingType | NumberFieldType | StarRatingType | HTMLType | CustomFieldType;
827
+ defaultValue?: CustomFieldProps$1['value'];
828
+ } & BaseField & CustomFieldProps$1;
829
+ /**
830
+ * Field Type Utilities
831
+ */
849
832
  interface BaseField {
850
833
  name: string;
851
834
  ref?: any;
852
835
  multiline?: boolean;
853
836
  content?: ReactElement;
854
837
  label?: string;
855
- labelProps?: InputLabelProps;
838
+ labelProps?: InputLabelProps$1;
856
839
  helperText?: string;
857
840
  hidden?: boolean;
858
841
  type?: string;
859
- helpTextProps?: InputLabelHelpProps;
842
+ helpTextProps?: InputLabelHelpProps$1;
860
843
  validation?: any;
861
844
  valueTransformer?: (valueToTransform: string) => string;
862
845
  disabled?: boolean;
@@ -867,6 +850,12 @@ interface BaseField {
867
850
  sxInputStack?: SxProps<Theme>;
868
851
  };
869
852
  }
853
+ type CreateFieldType<TFieldType extends string, TProps, TDefaultValue extends any = void> = {
854
+ fieldType: TFieldType;
855
+ } & BaseField & Omit<TProps, 'value' | 'defaultValue' | 'onChange' | 'name'> & (TDefaultValue extends void ? unknown : {
856
+ defaultValue?: TDefaultValue;
857
+ });
858
+ type FieldType = FieldTypes['fieldType'];
870
859
 
871
860
  declare const FormGenerator: FormGeneratorProps;
872
861