@lifesg/web-frontend-engine 1.19.19 → 1.19.21

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 (27) hide show
  1. package/chunks/{file-upload-manager.ea8e699a.js → file-upload-manager.1921fbad.js} +2 -2
  2. package/chunks/{file-upload-manager.ea8e699a.js.map → file-upload-manager.1921fbad.js.map} +1 -1
  3. package/chunks/{index.2eea32e5.js → index.26df19ea.js} +10 -8
  4. package/chunks/{index.2eea32e5.js.map → index.26df19ea.js.map} +1 -1
  5. package/chunks/{index.35f47b02.js → index.977447f6.js} +2 -2
  6. package/chunks/{index.35f47b02.js.map → index.977447f6.js.map} +1 -1
  7. package/chunks/{index.3ad3ddcb.js → index.c7765648.js} +2 -2
  8. package/chunks/{index.3ad3ddcb.js.map → index.c7765648.js.map} +1 -1
  9. package/chunks/{location-modal.f2d21ab1.js → location-modal.d71a86e7.js} +2 -2
  10. package/chunks/{location-modal.f2d21ab1.js.map → location-modal.d71a86e7.js.map} +1 -1
  11. package/cjs/chunks/{file-upload-manager.037bf56f.js → file-upload-manager.40a495d7.js} +2 -2
  12. package/cjs/chunks/{file-upload-manager.037bf56f.js.map → file-upload-manager.40a495d7.js.map} +1 -1
  13. package/cjs/chunks/{index.71069a70.js → index.56c92603.js} +10 -8
  14. package/cjs/chunks/{index.71069a70.js.map → index.56c92603.js.map} +1 -1
  15. package/cjs/chunks/{index.ef5ba9a2.js → index.70d271b4.js} +2 -2
  16. package/cjs/chunks/{index.ef5ba9a2.js.map → index.70d271b4.js.map} +1 -1
  17. package/cjs/chunks/{index.1502ccf3.js → index.c6117cf7.js} +2 -2
  18. package/cjs/chunks/{index.1502ccf3.js.map → index.c6117cf7.js.map} +1 -1
  19. package/cjs/chunks/{location-modal.c73280bf.js → location-modal.cb34554b.js} +2 -2
  20. package/cjs/chunks/{location-modal.c73280bf.js.map → location-modal.cb34554b.js.map} +1 -1
  21. package/cjs/index.js +1 -1
  22. package/components/custom/array-field/array-field.styles.d.ts +4 -1
  23. package/components/custom/array-field/types.d.ts +14 -5
  24. package/components/custom/types.d.ts +1 -1
  25. package/components/shared/error-messages.d.ts +2 -0
  26. package/index.js +1 -1
  27. package/package.json +1 -1
package/cjs/index.js CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./chunks/index.71069a70.js");require("react/jsx-runtime"),require("@lifesg/react-design-system/box-container"),require("@lifesg/react-design-system/button"),require("@lifesg/react-design-system/layout"),require("react"),require("@lifesg/react-design-system/alert"),require("@lifesg/react-design-system/text"),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/media"),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/text-list"),require("@lifesg/react-design-system/popover-v2"),require("@lifesg/react-design-system/tab"),require("@lifesg/react-design-system/color"),require("styled-components"),require("@lifesg/react-design-system/modal"),require("@lifesg/react-design-system/divider"),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-design-system"),require("@lifesg/react-icons/plus"),require("@lifesg/react-icons/exclamation-triangle"),require("@lifesg/react-icons/pin-fill"),require("@lifesg/react-design-system/design-token"),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.56c92603.js");require("react/jsx-runtime"),require("@lifesg/react-design-system/box-container"),require("@lifesg/react-design-system/button"),require("@lifesg/react-design-system/layout"),require("react"),require("@lifesg/react-design-system/alert"),require("@lifesg/react-design-system/text"),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/media"),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/text-list"),require("@lifesg/react-design-system/popover-v2"),require("@lifesg/react-design-system/tab"),require("@lifesg/react-design-system/color"),require("styled-components"),require("@lifesg/react-design-system/modal"),require("@lifesg/react-design-system/divider"),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-design-system"),require("@lifesg/react-icons/plus"),require("@lifesg/react-icons/exclamation-triangle"),require("@lifesg/react-icons/pin-fill"),require("@lifesg/react-design-system/design-token"),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
@@ -2,9 +2,12 @@
2
2
  interface InsetStyleProps {
3
3
  $inset?: string | number;
4
4
  }
5
+ interface RemoveButtonStyleProps {
6
+ $alignment?: "left" | "right";
7
+ }
5
8
  export declare const Inset: import("styled-components").StyledComponent<"div", any, InsetStyleProps, never>;
6
9
  export declare const SectionHeader: import("styled-components").StyledComponent<"div", any, {}, never>;
7
- export declare const RemoveButton: import("styled-components").StyledComponent<(props: import("@lifesg/react-design-system/button-with-icon").ButtonWithIconProps & import("react").RefAttributes<HTMLButtonElement>) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>, any, {}, never>;
10
+ export declare const RemoveButton: import("styled-components").StyledComponent<(props: import("@lifesg/react-design-system/button-with-icon").ButtonWithIconProps & import("react").RefAttributes<HTMLButtonElement>) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>, any, RemoveButtonStyleProps, never>;
8
11
  export declare const AddButton: import("styled-components").StyledComponent<(props: import("@lifesg/react-design-system/button-with-icon").ButtonWithIconProps & import("react").RefAttributes<HTMLButtonElement>) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>, any, {}, never>;
9
12
  export declare const SectionDivider: import("styled-components").StyledComponent<({ thickness, lineStyle, layoutType, color, className, mobileCols, tabletCols, desktopCols, ...otherProps }: import("@lifesg/react-design-system/divider").DividerProps) => import("react/jsx-runtime").JSX.Element, any, {}, never>;
10
13
  export declare const WarningAlert: import("styled-components").StyledComponent<({ id, message, className }: import("../../shared").IWarningProps) => import("react/jsx-runtime").JSX.Element, any, {}, never>;
@@ -1,3 +1,4 @@
1
+ import { ButtonStyleType } from "@lifesg/react-design-system/button/types";
1
2
  import * as Icons from "@lifesg/react-icons";
2
3
  import { IYupValidationRule, TFrontendEngineFieldSchema } from "../../frontend-engine/types";
3
4
  import { IBaseCustomFieldSchema } from "../types";
@@ -8,16 +9,24 @@ export interface IArrayFieldValidationRule extends IYupValidationRule {
8
9
  export interface IArrayFieldButton {
9
10
  label?: string | undefined;
10
11
  icon?: keyof typeof Icons | undefined;
12
+ styleType?: ButtonStyleType | undefined;
11
13
  }
12
- export interface IArrayFieldRemoveConfirmationModal {
13
- title?: string | undefined;
14
+ export interface IArrayFieldRemoveButton extends IArrayFieldButton {
15
+ position?: "top" | "bottom" | undefined;
16
+ alignment?: "left" | "right" | undefined;
14
17
  }
15
- export interface IArrayFieldSchema<V = undefined> extends IBaseCustomFieldSchema<"array-field", V, IArrayFieldValidationRule> {
16
- fieldSchema: Record<string, TFrontendEngineFieldSchema>;
18
+ export type IArrayFieldRemoveConfirmationModal = {
19
+ skip: true;
20
+ } | {
21
+ skip?: false | undefined;
22
+ title?: string | undefined;
23
+ };
24
+ export interface IArrayFieldSchema<V = undefined, C = undefined> extends IBaseCustomFieldSchema<"array-field", V, IArrayFieldValidationRule> {
25
+ fieldSchema: Record<string, TFrontendEngineFieldSchema<V, C>>;
17
26
  sectionInset?: number | string | undefined;
18
27
  sectionTitle?: string | undefined;
19
28
  showDivider?: boolean | undefined;
20
29
  addButton?: IArrayFieldButton | undefined;
21
- removeButton?: IArrayFieldButton | undefined;
30
+ removeButton?: IArrayFieldRemoveButton | undefined;
22
31
  removeConfirmationModal?: IArrayFieldRemoveConfirmationModal | undefined;
23
32
  }
@@ -31,7 +31,7 @@ export declare enum ECustomFieldType {
31
31
  /**
32
32
  * union type to represent all custom elements / fields schema
33
33
  */
34
- export type TCustomSchema<V = undefined, C = undefined> = IArrayFieldSchema<V> | ICustomElementJsonSchema<string> | IFilterSchema<V, C> | IIframeSchema | ITimelineSchema<V, C> | TReviewSchema | C;
34
+ export type TCustomSchema<V = undefined, C = undefined> = IArrayFieldSchema<V, C> | ICustomElementJsonSchema<string> | IFilterSchema<V, C> | IIframeSchema | ITimelineSchema<V, C> | TReviewSchema | C;
35
35
  /**
36
36
  * intersection type to represent all field events
37
37
  */
@@ -79,5 +79,7 @@ export declare const ERROR_MESSAGES: {
79
79
  ARRAY_FIELD: {
80
80
  INVALID: string;
81
81
  REQUIRED: string;
82
+ MIN: (min: number) => string;
83
+ MAX: (max: number) => string;
82
84
  };
83
85
  };
package/index.js CHANGED
@@ -1,2 +1,2 @@
1
- export{o as EElementType,p as EFieldType,n as FrontendEngine,m as useFrontendEngineComponent}from"./chunks/index.2eea32e5.js";import"react/jsx-runtime";import"@lifesg/react-design-system/box-container";import"@lifesg/react-design-system/button";import"@lifesg/react-design-system/layout";import"react";import"@lifesg/react-design-system/alert";import"@lifesg/react-design-system/text";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/media";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/text-list";import"@lifesg/react-design-system/popover-v2";import"@lifesg/react-design-system/tab";import"@lifesg/react-design-system/color";import"styled-components";import"@lifesg/react-design-system/modal";import"@lifesg/react-design-system/divider";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-design-system";import"@lifesg/react-icons/plus";import"@lifesg/react-icons/exclamation-triangle";import"@lifesg/react-icons/pin-fill";import"@lifesg/react-design-system/design-token";import"@lifesg/react-design-system/image-button";import"@lifesg/react-design-system/radio-button";
1
+ export{o as EElementType,p as EFieldType,n as FrontendEngine,m as useFrontendEngineComponent}from"./chunks/index.26df19ea.js";import"react/jsx-runtime";import"@lifesg/react-design-system/box-container";import"@lifesg/react-design-system/button";import"@lifesg/react-design-system/layout";import"react";import"@lifesg/react-design-system/alert";import"@lifesg/react-design-system/text";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/media";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/text-list";import"@lifesg/react-design-system/popover-v2";import"@lifesg/react-design-system/tab";import"@lifesg/react-design-system/color";import"styled-components";import"@lifesg/react-design-system/modal";import"@lifesg/react-design-system/divider";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-design-system";import"@lifesg/react-icons/plus";import"@lifesg/react-icons/exclamation-triangle";import"@lifesg/react-icons/pin-fill";import"@lifesg/react-design-system/design-token";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": "1.19.19",
3
+ "version": "1.19.21",
4
4
  "description": "A frontend engine for LifeSG React apps",
5
5
  "main": "./cjs/index.js",
6
6
  "module": "./index.js",