@lifesg/web-frontend-engine 2.1.3 → 2.2.0

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 (36) hide show
  1. package/chunks/{file-upload-manager.06cbbbef.js → file-upload-manager.faa055fa.js} +2 -2
  2. package/chunks/{file-upload-manager.06cbbbef.js.map → file-upload-manager.faa055fa.js.map} +1 -1
  3. package/chunks/{index.48f1ff60.js → index.2d28e824.js} +93 -92
  4. package/chunks/index.2d28e824.js.map +1 -0
  5. package/chunks/{index.0280bf07.js → index.ef942fcf.js} +2 -2
  6. package/chunks/{index.0280bf07.js.map → index.ef942fcf.js.map} +1 -1
  7. package/chunks/{index.4917b447.js → index.fe54c734.js} +2 -2
  8. package/chunks/{index.4917b447.js.map → index.fe54c734.js.map} +1 -1
  9. package/chunks/{location-modal.9376e196.js → location-modal.5e4e98fd.js} +2 -2
  10. package/chunks/{location-modal.9376e196.js.map → location-modal.5e4e98fd.js.map} +1 -1
  11. package/cjs/chunks/{file-upload-manager.2b5e51c8.js → file-upload-manager.bc7599d2.js} +2 -2
  12. package/cjs/chunks/{file-upload-manager.2b5e51c8.js.map → file-upload-manager.bc7599d2.js.map} +1 -1
  13. package/cjs/chunks/{index.5d896247.js → index.17761159.js} +21 -20
  14. package/cjs/chunks/index.17761159.js.map +1 -0
  15. package/cjs/chunks/{index.350cbda4.js → index.51cff881.js} +2 -2
  16. package/cjs/chunks/{index.350cbda4.js.map → index.51cff881.js.map} +1 -1
  17. package/cjs/chunks/{index.eeb93deb.js → index.8d9d1609.js} +2 -2
  18. package/cjs/chunks/{index.eeb93deb.js.map → index.8d9d1609.js.map} +1 -1
  19. package/cjs/chunks/{location-modal.80a5525d.js → location-modal.ca4904e4.js} +2 -2
  20. package/cjs/chunks/{location-modal.80a5525d.js.map → location-modal.ca4904e4.js.map} +1 -1
  21. package/cjs/index.js +1 -1
  22. package/components/fields/checkbox-group/checkbox-group.styles.d.ts +2 -2
  23. package/components/fields/image-upload/image-review/image-review.styles.d.ts +3 -1
  24. package/components/fields/index.d.ts +1 -0
  25. package/components/fields/location-field/location-modal/location-modal.styles.d.ts +3 -1
  26. package/components/fields/otp-verification-field/index.d.ts +2 -0
  27. package/components/fields/otp-verification-field/otp-verification-field.d.ts +3 -0
  28. package/components/fields/otp-verification-field/types.d.ts +46 -0
  29. package/components/fields/radio-button/radio-button.styles.d.ts +2 -2
  30. package/components/fields/types.d.ts +3 -1
  31. package/components/shared/error-messages.d.ts +10 -0
  32. package/components/shared/prompt/prompt.styles.d.ts +1 -1
  33. package/index.js +1 -1
  34. package/package.json +2 -2
  35. package/chunks/index.48f1ff60.js.map +0 -1
  36. package/cjs/chunks/index.5d896247.js.map +0 -1
package/cjs/index.js CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./chunks/index.5d896247.js");require("react/jsx-runtime"),require("@lifesg/react-design-system/box-container"),require("@lifesg/react-design-system/button"),require("react"),require("@lifesg/react-design-system/theme"),require("styled-components"),require("@lifesg/react-design-system/alert"),require("@lifesg/react-design-system/typography"),require("@lifesg/react-icons"),require("@lifesg/react-icons/plus-circle-fill"),require("@lifesg/react-design-system/markup"),require("react-dom/server"),require("@lifesg/react-design-system/filter"),require("@lifesg/react-design-system/uneditable-section"),require("@lifesg/react-design-system/timeline"),require("@lifesg/react-design-system/form"),require("@lifesg/react-design-system/toggle"),require("@lifesg/react-design-system/layout"),require("@lifesg/react-design-system/v2_layout"),require("@lifesg/react-design-system/text-list"),require("@lifesg/react-design-system/popover-v2"),require("@lifesg/react-design-system/tab"),require("@lifesg/react-design-system/modal"),require("@lifesg/react-design-system/divider"),require("@lifesg/react-design-system/v2_media"),require("@lifesg/react-design-system/button-with-icon"),require("@lifesg/react-design-system/error-display"),require("@lifesg/react-design-system/checkbox"),require("@lifesg/react-design-system/file-upload"),require("@lifesg/react-icons/cross"),require("@lifesg/react-design-system/icon-button"),require("@lifesg/react-icons/bin"),require("@lifesg/react-icons/eraser"),require("@lifesg/react-icons/pencil"),require("@lifesg/react-icons/pencil-stroke"),require("@lifesg/react-icons/plus"),require("@lifesg/react-icons/exclamation-triangle"),require("@lifesg/react-icons/pin-fill"),require("@lifesg/react-design-system/image-button"),require("@lifesg/react-design-system/radio-button"),Object.defineProperty(exports,"EElementType",{enumerable:!0,get:function(){return e.EElementType}}),Object.defineProperty(exports,"EFieldType",{enumerable:!0,get:function(){return e.EFieldType}}),exports.FrontendEngine=e.FrontendEngine,exports.useFrontendEngineComponent=e.useFrontendEngineComponent;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./chunks/index.17761159.js");require("react/jsx-runtime"),require("@lifesg/react-design-system/box-container"),require("@lifesg/react-design-system/button"),require("react"),require("@lifesg/react-design-system/theme"),require("styled-components"),require("@lifesg/react-design-system/alert"),require("@lifesg/react-design-system/typography"),require("@lifesg/react-icons"),require("@lifesg/react-icons/plus-circle-fill"),require("@lifesg/react-design-system/markup"),require("react-dom/server"),require("@lifesg/react-design-system/filter"),require("@lifesg/react-design-system/uneditable-section"),require("@lifesg/react-design-system/timeline"),require("@lifesg/react-design-system/form"),require("@lifesg/react-design-system/toggle"),require("@lifesg/react-design-system/layout"),require("@lifesg/react-design-system/v2_layout"),require("@lifesg/react-design-system/text-list"),require("@lifesg/react-design-system/popover-v2"),require("@lifesg/react-design-system/tab"),require("@lifesg/react-design-system/modal"),require("@lifesg/react-design-system/divider"),require("@lifesg/react-design-system/v2_media"),require("@lifesg/react-design-system/button-with-icon"),require("@lifesg/react-design-system/error-display"),require("@lifesg/react-design-system/checkbox"),require("@lifesg/react-design-system/file-upload"),require("@lifesg/react-icons/cross"),require("@lifesg/react-design-system/icon-button"),require("@lifesg/react-icons/bin"),require("@lifesg/react-icons/eraser"),require("@lifesg/react-icons/pencil"),require("@lifesg/react-icons/pencil-stroke"),require("@lifesg/react-icons/plus"),require("@lifesg/react-icons/exclamation-triangle"),require("@lifesg/react-icons/pin-fill"),require("@lifesg/react-design-system/image-button"),require("@lifesg/react-design-system/radio-button"),Object.defineProperty(exports,"EElementType",{enumerable:!0,get:function(){return e.EElementType}}),Object.defineProperty(exports,"EFieldType",{enumerable:!0,get:function(){return e.EFieldType}}),exports.FrontendEngine=e.FrontendEngine,exports.useFrontendEngineComponent=e.useFrontendEngineComponent;
2
2
  //# sourceMappingURL=index.js.map
@@ -9,8 +9,8 @@ interface IToggleWrapperProps {
9
9
  export declare const Label: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Substitute<import("@lifesg/react-design-system/typography").TypographyProps & {
10
10
  ref?: import("react").RefObject<HTMLParagraphElement>;
11
11
  }, ILabelProps>> & string;
12
- export declare const StyledCheckbox: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("@lifesg/react-design-system/checkbox").CheckboxProps, never>> & string & Omit<({ className, checked, disabled, indeterminate, displaySize, id, ...otherProps }: import("@lifesg/react-design-system/checkbox").CheckboxProps) => JSX.Element, keyof import("react").Component<any, {}, any>>;
12
+ export declare const StyledCheckbox: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("@lifesg/react-design-system/checkbox").CheckboxProps, never>> & string & Omit<({ className, checked, disabled, focusableWhenDisabled, indeterminate, displaySize, id, tabIndex, onChange, ...otherProps }: import("@lifesg/react-design-system/checkbox").CheckboxProps) => JSX.Element, keyof import("react").Component<any, {}, any>>;
13
13
  export declare const CheckboxContainer: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
14
14
  export declare const ToggleWrapper: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, IToggleWrapperProps>> & string;
15
- export declare const StyledToggle: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("@lifesg/react-design-system/toggle").ToggleProps, never>> & string & Omit<({ type, indicator, checked, styleType, children, childrenMaxLines, subLabel, disabled, error, name, id, className, compositeSection, removable, onRemove, "data-testid": testId, onChange, useContentWidth, "aria-describedby": ariaDescribedBy, ...otherProps }: import("@lifesg/react-design-system/toggle").ToggleProps) => import("react/jsx-runtime").JSX.Element, keyof import("react").Component<any, {}, any>>;
15
+ export declare const StyledToggle: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("@lifesg/react-design-system/toggle").ToggleProps, never>> & string & Omit<({ type, indicator, checked, styleType, children, childrenMaxLines, subLabel, disabled, error, name, id, className, compositeSection, removable, focusableWhenDisabled, useContentWidth, onRemove, onChange, "data-testid": testId, "aria-describedby": ariaDescribedBy, ...otherProps }: import("@lifesg/react-design-system/toggle").ToggleProps) => import("react/jsx-runtime").JSX.Element, keyof import("react").Component<any, {}, any>>;
16
16
  export {};
@@ -2,7 +2,9 @@
2
2
  interface IModalBoxStyle {
3
3
  imageReviewModalStyles?: string | undefined;
4
4
  }
5
- export declare const ModalBox: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Substitute<import("@lifesg/react-design-system/modal").ModalBoxProps, IModalBoxStyle>> & string & Omit<({ id, children, onClose, showCloseButton, ...otherProps }: import("@lifesg/react-design-system/modal").ModalBoxProps) => import("react/jsx-runtime").JSX.Element, keyof import("react").Component<any, {}, any>>;
5
+ export declare const ModalBox: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Substitute<Omit<import("@lifesg/react-design-system/modal").ModalBoxProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & {
6
+ ref?: import("react").Ref<HTMLDivElement>;
7
+ }, IModalBoxStyle>> & string & Omit<(props: import("@lifesg/react-design-system/modal").ModalBoxProps & import("react").RefAttributes<HTMLDivElement>) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>, keyof import("react").Component<any, {}, any>>;
6
8
  export declare const HeaderSection: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {
7
9
  $drawActive?: boolean;
8
10
  }>> & string;
@@ -13,6 +13,7 @@ export * from "./image-upload";
13
13
  export * from "./location-field";
14
14
  export * from "./masked-field";
15
15
  export * from "./multi-select";
16
+ export * from "./otp-verification-field";
16
17
  export * from "./nested-multi-select";
17
18
  export * from "./radio-button";
18
19
  export * from "./range-select";
@@ -6,7 +6,9 @@ interface ISinglePanelStyle {
6
6
  interface IModalBoxStyle {
7
7
  locationModalStyles?: string | undefined;
8
8
  }
9
- export declare const ModalBox: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Substitute<import("@lifesg/react-design-system/modal").ModalBoxProps, IModalBoxStyle>> & string & Omit<({ id, children, onClose, showCloseButton, ...otherProps }: import("@lifesg/react-design-system/modal").ModalBoxProps) => import("react/jsx-runtime").JSX.Element, keyof import("react").Component<any, {}, any>>;
9
+ export declare const ModalBox: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Substitute<Omit<import("@lifesg/react-design-system/modal").ModalBoxProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & {
10
+ ref?: import("react").Ref<HTMLDivElement>;
11
+ }, IModalBoxStyle>> & string & Omit<(props: import("@lifesg/react-design-system/modal").ModalBoxProps & import("react").RefAttributes<HTMLDivElement>) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>, keyof import("react").Component<any, {}, any>>;
10
12
  export declare const StyledLocationPicker: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Substitute<import("./location-picker/types").ILocationPickerProps, ISinglePanelStyle>> & string & Omit<({ id, className, mapPanZoom, panelInputMode, showLocationModal, selectedLocationCoord, interactiveMapPinIconUrl, getCurrentLocation, locationAvailable, gettingCurrentLocation, onMapCenterChange, mapBannerText, disableSelectionFromMap, disableSelectedLocationMarker, selectablePins, pinsOnlyIndicateCurrentLocation, currentLocation, }: import("./location-picker/types").ILocationPickerProps) => import("react/jsx-runtime").JSX.Element, keyof import("react").Component<any, {}, any>>;
11
13
  export declare const ErrorImage: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").ImgHTMLAttributes<HTMLImageElement>, HTMLImageElement>, never>> & string;
12
14
  export declare const PrefetchImage: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").ImgHTMLAttributes<HTMLImageElement>, HTMLImageElement>, never>> & string;
@@ -0,0 +1,2 @@
1
+ export * from "./otp-verification-field";
2
+ export * from "./types";
@@ -0,0 +1,3 @@
1
+ import { IGenericFieldProps } from "../types";
2
+ import { IOtpVerificationFieldSchema } from "./types";
3
+ export declare const OtpVerificationField: (props: IGenericFieldProps<IOtpVerificationFieldSchema>) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,46 @@
1
+ import { IYupValidationRule } from "../../types";
2
+ import { IBaseFieldSchema } from "../types";
3
+ export type TOtpVerificationType = "phone-number" | "email";
4
+ export declare enum EOtpVerificationErrorType {
5
+ IS_EMAIL_VALID = "is-email-valid",
6
+ IS_PHONE_NUMBER_VALID = "is-phone-number-valid",
7
+ SEND_OTP_FAILED = "send-otp-failed",
8
+ OTP_VERIFICATION_FAILED = "otp-verification-failed",
9
+ IS_OTP_VERIFIED = "is-otp-verified",
10
+ API_ERROR = "api"
11
+ }
12
+ export type TOtpVerificationState = "default" | "sent" | "verified";
13
+ export interface IOtpVerificationFieldValidationRule extends IYupValidationRule {
14
+ "otp-type"?: TOtpVerificationType | undefined;
15
+ }
16
+ export interface IOtpVerificationFieldEndpoint {
17
+ url: string;
18
+ }
19
+ export interface IOtpVerificationFieldRequest {
20
+ endpoint: IOtpVerificationFieldEndpoint;
21
+ placeholder?: string | undefined;
22
+ }
23
+ export interface IOtpVerificationFieldVerification {
24
+ endpoint: IOtpVerificationFieldEndpoint;
25
+ showThumbnail?: boolean | undefined;
26
+ title?: string | undefined;
27
+ message?: string | undefined;
28
+ }
29
+ export interface IOtpVerificationFieldSchema<V = undefined> extends IBaseFieldSchema<"otp-verification-field", V, IOtpVerificationFieldValidationRule> {
30
+ request: IOtpVerificationFieldRequest;
31
+ verification: IOtpVerificationFieldVerification;
32
+ type: TOtpVerificationType;
33
+ withPrefix?: boolean | undefined;
34
+ disabled?: boolean | undefined;
35
+ readOnly?: boolean | undefined;
36
+ className?: string | undefined;
37
+ prefixSeparator?: string | undefined;
38
+ verifyOtpCountdownTimer?: number | undefined;
39
+ }
40
+ export interface IOtpVerificationValue {
41
+ contact: string;
42
+ prefix?: string | undefined;
43
+ type: TOtpVerificationType;
44
+ state: "sent" | "verified" | "default";
45
+ additionalData?: unknown;
46
+ }
@@ -9,12 +9,12 @@ interface IToggleWrapperProps {
9
9
  export declare const Label: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Substitute<import("@lifesg/react-design-system/typography").TypographyProps & {
10
10
  ref?: import("react").RefObject<HTMLParagraphElement>;
11
11
  }, ILabelProps>> & string;
12
- export declare const StyledRadioButton: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("@lifesg/react-design-system/radio-button").RadioButtonProps, never>> & string & Omit<({ className, checked, disabled, displaySize, onChange, ...otherProps }: import("@lifesg/react-design-system/radio-button").RadioButtonProps) => import("react/jsx-runtime").JSX.Element, keyof import("react").Component<any, {}, any>>;
12
+ export declare const StyledRadioButton: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("@lifesg/react-design-system/radio-button").RadioButtonProps, never>> & string & Omit<({ className, checked, disabled, displaySize, focusableWhenDisabled, onChange, tabIndex, ...otherProps }: import("@lifesg/react-design-system/radio-button").RadioButtonProps) => import("react/jsx-runtime").JSX.Element, keyof import("react").Component<any, {}, any>>;
13
13
  export declare const StyledImageButton: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<Omit<import("@lifesg/react-design-system/image-button").ImageButtonProps & import("react").RefAttributes<HTMLButtonElement>, "ref"> & {
14
14
  ref?: import("react").Ref<HTMLButtonElement>;
15
15
  }, never>> & string & Omit<(props: import("@lifesg/react-design-system/image-button").ImageButtonProps & import("react").RefAttributes<HTMLButtonElement>) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>, keyof import("react").Component<any, {}, any>>;
16
16
  export declare const RadioContainer: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
17
17
  export declare const FlexImageWrapper: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
18
18
  export declare const FlexToggleWrapper: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, IToggleWrapperProps>> & string;
19
- export declare const StyledToggle: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("@lifesg/react-design-system/toggle").ToggleProps, never>> & string & Omit<({ type, indicator, checked, styleType, children, childrenMaxLines, subLabel, disabled, error, name, id, className, compositeSection, removable, onRemove, "data-testid": testId, onChange, useContentWidth, "aria-describedby": ariaDescribedBy, ...otherProps }: import("@lifesg/react-design-system/toggle").ToggleProps) => import("react/jsx-runtime").JSX.Element, keyof import("react").Component<any, {}, any>>;
19
+ export declare const StyledToggle: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("@lifesg/react-design-system/toggle").ToggleProps, never>> & string & Omit<({ type, indicator, checked, styleType, children, childrenMaxLines, subLabel, disabled, error, name, id, className, compositeSection, removable, focusableWhenDisabled, useContentWidth, onRemove, onChange, "data-testid": testId, "aria-describedby": ariaDescribedBy, ...otherProps }: import("@lifesg/react-design-system/toggle").ToggleProps) => import("react/jsx-runtime").JSX.Element, keyof import("react").Component<any, {}, any>>;
20
20
  export {};
@@ -9,6 +9,7 @@ import { IContactFieldSchema } from "./contact-field";
9
9
  import { IDateFieldSchema } from "./date-field";
10
10
  import { TDateRangeFieldSchema } from "./date-range-field";
11
11
  import { IESignatureFieldSchema } from "./e-signature-field/types";
12
+ import { IOtpVerificationFieldSchema } from "./otp-verification-field";
12
13
  import { IErrorFieldSchema } from "./error-field";
13
14
  import { IFileUploadSchema, TFileUploadEvents } from "./file-upload";
14
15
  import { THiddenFieldSchema } from "./hidden-field";
@@ -56,6 +57,7 @@ export declare enum EFieldType {
56
57
  "NESTED-MULTI-SELECT" = "NestedMultiSelect",
57
58
  "RANGE-SELECT" = "RangeSelect",
58
59
  "NUMERIC-FIELD" = "TextField",
60
+ "OTP-VERIFICATION-FIELD" = "OtpVerificationField",
59
61
  RADIO = "RadioButtonGroup",
60
62
  RESET = "ResetButton",
61
63
  SELECT = "Select",
@@ -71,7 +73,7 @@ export declare enum EFieldType {
71
73
  /**
72
74
  * union type to represent all field schemas
73
75
  */
74
- export type TFieldSchema<V = undefined, C = undefined> = IButtonSchema | IChipsSchema<V> | IContactFieldSchema<V> | IDateFieldSchema<V> | IEmailFieldSchema<V> | IESignatureFieldSchema<V> | IErrorFieldSchema | IFileUploadSchema<V> | THiddenFieldSchema<V> | IHistogramSliderSchema<V> | IImageUploadSchema<V> | ILocationFieldSchema<V> | IMaskedFieldSchema<V> | IMultiSelectSchema<V> | IRangeSelectSchema | INestedMultiSelectSchema<V> | INumericFieldSchema<V> | IResetButtonSchema | ISelectSchema<V> | ISelectHistogramSchema<V> | ISliderSchema<V> | ISubmitButtonSchema | ISwitchSchema<V> | ITextareaSchema<V> | ITextFieldSchema<V> | ITimeFieldSchema<V> | IUnitNumberFieldSchema<V> | TCheckboxGroupSchema<V, C> | TDateRangeFieldSchema<V> | TRadioButtonGroupSchema<V, C>;
76
+ export type TFieldSchema<V = undefined, C = undefined> = IButtonSchema | IChipsSchema<V> | IContactFieldSchema<V> | IDateFieldSchema<V> | IEmailFieldSchema<V> | IESignatureFieldSchema<V> | IErrorFieldSchema | IFileUploadSchema<V> | THiddenFieldSchema<V> | IHistogramSliderSchema<V> | IImageUploadSchema<V> | ILocationFieldSchema<V> | IMaskedFieldSchema<V> | IMultiSelectSchema<V> | IRangeSelectSchema | INestedMultiSelectSchema<V> | INumericFieldSchema<V> | IOtpVerificationFieldSchema<V> | IResetButtonSchema | ISelectSchema<V> | ISelectHistogramSchema<V> | ISliderSchema<V> | ISubmitButtonSchema | ISwitchSchema<V> | ITextareaSchema<V> | ITextFieldSchema<V> | ITimeFieldSchema<V> | IUnitNumberFieldSchema<V> | TCheckboxGroupSchema<V, C> | TDateRangeFieldSchema<V> | TRadioButtonGroupSchema<V, C>;
75
77
  /**
76
78
  * intersection type to represent all field events
77
79
  */
@@ -44,6 +44,16 @@ export declare const ERROR_MESSAGES: {
44
44
  INVALID: string;
45
45
  UNSUPPORTED: string;
46
46
  };
47
+ OTP_VERIFICATION: {
48
+ EMAIL_VERIFICATION_REQUIRED: string;
49
+ PHONE_VERIFICATION_REQUIRED: string;
50
+ OTP_REQUIRED: string;
51
+ INVALID_EMAIL: string;
52
+ INVALID_PHONE: string;
53
+ INVALID_OTP: string;
54
+ SEND_OTP_FAILED: string;
55
+ OTP_VERIFICATION_FAILED: string;
56
+ };
47
57
  UPLOAD: (unit?: string, unitPlural?: string) => {
48
58
  REQUIRED: string;
49
59
  MAX_FILES: (max: number) => string;
@@ -4,7 +4,7 @@ interface SizeProps {
4
4
  width?: string;
5
5
  }
6
6
  export declare const ScrollableModal: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("@lifesg/react-design-system/modal").ModalProps, never>> & string & Omit<(({ id, show, animationFrom, children, enableOverlayClick, rootComponentId, zIndex, onOverlayClick, dismissKeyboardOnShow, ...otherProps }: import("@lifesg/react-design-system/modal").ModalProps) => JSX.Element) & {
7
- Box: ({ id, children, onClose, showCloseButton, ...otherProps }: import("@lifesg/react-design-system/modal").ModalBoxProps) => import("react/jsx-runtime").JSX.Element;
7
+ Box: (props: import("@lifesg/react-design-system/modal").ModalBoxProps & import("react").RefAttributes<HTMLDivElement>) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
8
8
  }, keyof import("react").Component<any, {}, any>>;
9
9
  export declare const GrowContainer: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
10
10
  export declare const Container: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, SizeProps>> & string;
package/index.js CHANGED
@@ -1,2 +1,2 @@
1
- export{p as EElementType,q as EFieldType,o as FrontendEngine,n as useFrontendEngineComponent}from"./chunks/index.48f1ff60.js";import"react/jsx-runtime";import"@lifesg/react-design-system/box-container";import"@lifesg/react-design-system/button";import"react";import"@lifesg/react-design-system/theme";import"styled-components";import"@lifesg/react-design-system/alert";import"@lifesg/react-design-system/typography";import"@lifesg/react-icons";import"@lifesg/react-icons/plus-circle-fill";import"@lifesg/react-design-system/markup";import"react-dom/server";import"@lifesg/react-design-system/filter";import"@lifesg/react-design-system/uneditable-section";import"@lifesg/react-design-system/timeline";import"@lifesg/react-design-system/form";import"@lifesg/react-design-system/toggle";import"@lifesg/react-design-system/layout";import"@lifesg/react-design-system/v2_layout";import"@lifesg/react-design-system/text-list";import"@lifesg/react-design-system/popover-v2";import"@lifesg/react-design-system/tab";import"@lifesg/react-design-system/modal";import"@lifesg/react-design-system/divider";import"@lifesg/react-design-system/v2_media";import"@lifesg/react-design-system/button-with-icon";import"@lifesg/react-design-system/error-display";import"@lifesg/react-design-system/checkbox";import"@lifesg/react-design-system/file-upload";import"@lifesg/react-icons/cross";import"@lifesg/react-design-system/icon-button";import"@lifesg/react-icons/bin";import"@lifesg/react-icons/eraser";import"@lifesg/react-icons/pencil";import"@lifesg/react-icons/pencil-stroke";import"@lifesg/react-icons/plus";import"@lifesg/react-icons/exclamation-triangle";import"@lifesg/react-icons/pin-fill";import"@lifesg/react-design-system/image-button";import"@lifesg/react-design-system/radio-button";
1
+ export{p as EElementType,q as EFieldType,o as FrontendEngine,n as useFrontendEngineComponent}from"./chunks/index.2d28e824.js";import"react/jsx-runtime";import"@lifesg/react-design-system/box-container";import"@lifesg/react-design-system/button";import"react";import"@lifesg/react-design-system/theme";import"styled-components";import"@lifesg/react-design-system/alert";import"@lifesg/react-design-system/typography";import"@lifesg/react-icons";import"@lifesg/react-icons/plus-circle-fill";import"@lifesg/react-design-system/markup";import"react-dom/server";import"@lifesg/react-design-system/filter";import"@lifesg/react-design-system/uneditable-section";import"@lifesg/react-design-system/timeline";import"@lifesg/react-design-system/form";import"@lifesg/react-design-system/toggle";import"@lifesg/react-design-system/layout";import"@lifesg/react-design-system/v2_layout";import"@lifesg/react-design-system/text-list";import"@lifesg/react-design-system/popover-v2";import"@lifesg/react-design-system/tab";import"@lifesg/react-design-system/modal";import"@lifesg/react-design-system/divider";import"@lifesg/react-design-system/v2_media";import"@lifesg/react-design-system/button-with-icon";import"@lifesg/react-design-system/error-display";import"@lifesg/react-design-system/checkbox";import"@lifesg/react-design-system/file-upload";import"@lifesg/react-icons/cross";import"@lifesg/react-design-system/icon-button";import"@lifesg/react-icons/bin";import"@lifesg/react-icons/eraser";import"@lifesg/react-icons/pencil";import"@lifesg/react-icons/pencil-stroke";import"@lifesg/react-icons/plus";import"@lifesg/react-icons/exclamation-triangle";import"@lifesg/react-icons/pin-fill";import"@lifesg/react-design-system/image-button";import"@lifesg/react-design-system/radio-button";
2
2
  //# sourceMappingURL=index.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lifesg/web-frontend-engine",
3
- "version": "2.1.3",
3
+ "version": "2.2.0",
4
4
  "description": "A frontend engine for LifeSG React apps",
5
5
  "main": "./cjs/index.js",
6
6
  "module": "./index.js",
@@ -43,7 +43,7 @@
43
43
  },
44
44
  "peerDependencies": {
45
45
  "@floating-ui/react": ">=0.26.23 <1.0.0",
46
- "@lifesg/react-design-system": "^3.2.0-canary.5",
46
+ "@lifesg/react-design-system": "^3.3.0-canary.7",
47
47
  "@lifesg/react-icons": "^1.9.0",
48
48
  "react": "^17.0.2 || ^18.0.0 || ^19.0.0",
49
49
  "react-dom": "^17.0.2 || ^18.0.0 || ^19.0.0",