@lifesg/react-design-system 2.0.0-canary.3 → 2.0.0-canary.4
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/README.md +6 -0
- package/accordion/accordion.d.ts +1 -1
- package/accordion/index.js +1 -1
- package/accordion/index.js.map +1 -1
- package/accordion/types.d.ts +1 -0
- package/cjs/index.js +304 -113
- package/cjs/index.js.map +1 -1
- package/feedback-rating/index.js +6 -6
- package/feedback-rating/index.js.map +1 -1
- package/filter/index.js +1 -1
- package/filter/index.js.map +1 -1
- package/form/index.js +95 -95
- package/form/index.js.map +1 -1
- package/index.d.ts +1 -0
- package/index.js +289 -98
- package/index.js.map +1 -1
- package/input/index.js +1 -1
- package/input/index.js.map +1 -1
- package/input-group/index.js +3 -3
- package/input-group/index.js.map +1 -1
- package/input-multi-select/index.js +2 -2
- package/input-multi-select/index.js.map +1 -1
- package/input-range-select/index.js +2 -2
- package/input-range-select/index.js.map +1 -1
- package/input-select/index.js +2 -2
- package/input-select/index.js.map +1 -1
- package/navbar/index.js +1 -1
- package/navbar/index.js.map +1 -1
- package/otp-input/index.js +2 -2
- package/otp-input/index.js.map +1 -1
- package/package.json +1 -1
- package/pagination/index.js +3 -3
- package/pagination/index.js.map +1 -1
- package/phone-number-input/index.js +3 -3
- package/phone-number-input/index.js.map +1 -1
- package/sidenav/index.d.ts +2 -0
- package/sidenav/index.js +456 -0
- package/sidenav/index.js.map +1 -0
- package/sidenav/package.json +7 -0
- package/sidenav/sidenav-context.d.ts +15 -0
- package/sidenav/sidenav-drawer-item.d.ts +3 -0
- package/sidenav/sidenav-drawer-item.styles.d.ts +19 -0
- package/sidenav/sidenav-drawer-subitem.d.ts +3 -0
- package/sidenav/sidenav-drawer-subitem.styles.d.ts +3 -0
- package/sidenav/sidenav-group.d.ts +3 -0
- package/sidenav/sidenav-group.styles.d.ts +2 -0
- package/sidenav/sidenav-item.d.ts +3 -0
- package/sidenav/sidenav-item.styles.d.ts +9 -0
- package/sidenav/sidenav.d.ts +8 -0
- package/sidenav/sidenav.styles.d.ts +11 -0
- package/sidenav/types.d.ts +58 -0
- package/smart-app-banner/index.js +1 -1
- package/smart-app-banner/index.js.map +1 -1
- package/time-range-picker/index.js +2 -2
- package/time-range-picker/index.js.map +1 -1
- package/timepicker/index.js +6 -6
- package/timepicker/index.js.map +1 -1
- package/unit-number/index.js +1 -1
- package/unit-number/index.js.map +1 -1
- package/util/use-event-listener.d.ts +2 -2
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Dispatch, SetStateAction } from "react";
|
|
2
|
+
export interface SidenavContextItem {
|
|
3
|
+
itemId: string | undefined;
|
|
4
|
+
content: React.ReactNode | undefined;
|
|
5
|
+
}
|
|
6
|
+
interface SidenavContextProps {
|
|
7
|
+
currentItem: SidenavContextItem | undefined;
|
|
8
|
+
previouslySelectedItemId: string | undefined;
|
|
9
|
+
selectedItem: SidenavContextItem | undefined;
|
|
10
|
+
setCurrentItem: Dispatch<SetStateAction<SidenavContextItem | undefined>>;
|
|
11
|
+
setPreviouslySelectedItemId: Dispatch<SetStateAction<string | undefined>>;
|
|
12
|
+
setSelectedItem: Dispatch<SetStateAction<SidenavContextItem | undefined>>;
|
|
13
|
+
}
|
|
14
|
+
export declare const SidenavContext: import("react").Context<SidenavContextProps>;
|
|
15
|
+
export {};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
interface LinkButtonStyleProp {
|
|
3
|
+
$highlight?: boolean | undefined;
|
|
4
|
+
$noChildren?: boolean | undefined;
|
|
5
|
+
}
|
|
6
|
+
interface IconStyleProp {
|
|
7
|
+
$expanded?: boolean | undefined;
|
|
8
|
+
}
|
|
9
|
+
export declare const Container: import("styled-components").StyledComponent<import("react-spring").AnimatedComponent<"li">, import("styled-components").DefaultTheme, {}, never>;
|
|
10
|
+
export declare const LinkButton: import("styled-components").StyledComponent<(props: import("../button").ButtonProps & import("react").RefAttributes<HTMLButtonElement>) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>, import("styled-components").DefaultTheme, LinkButtonStyleProp, never>;
|
|
11
|
+
export declare const DrawerSubitemContainer: import("styled-components").StyledComponent<import("react-spring").AnimatedComponent<"div">, import("styled-components").DefaultTheme, {}, never>;
|
|
12
|
+
export declare const IconElement: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, {}, never>;
|
|
13
|
+
export declare const ChevronIcon: import("styled-components").StyledComponent<{
|
|
14
|
+
(props: import("react").SVGProps<SVGSVGElement>): JSX.Element;
|
|
15
|
+
displayName: string;
|
|
16
|
+
}, import("styled-components").DefaultTheme, IconStyleProp, never>;
|
|
17
|
+
export declare const TextElement: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, {}, never>;
|
|
18
|
+
export declare const DrawerContent: import("styled-components").StyledComponent<import("react-spring").AnimatedComponent<"ul">, import("styled-components").DefaultTheme, {}, never>;
|
|
19
|
+
export {};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
export declare const Container: import("styled-components").StyledComponent<"li", import("styled-components").DefaultTheme, {}, never>;
|
|
3
|
+
export declare const LinkButton: import("styled-components").StyledComponent<(props: import("../button").ButtonProps & import("react").RefAttributes<HTMLButtonElement>) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>, import("styled-components").DefaultTheme, {}, never>;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
interface StyleProps {
|
|
3
|
+
$highlight: boolean;
|
|
4
|
+
}
|
|
5
|
+
export declare const Container: import("styled-components").StyledComponent<"li", import("styled-components").DefaultTheme, {}, never>;
|
|
6
|
+
export declare const DefaultButton: import("styled-components").StyledComponent<(props: import("../button").ButtonProps & import("react").RefAttributes<HTMLButtonElement>) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>, import("styled-components").DefaultTheme, StyleProps, never>;
|
|
7
|
+
export declare const IconContainer: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, {}, never>;
|
|
8
|
+
export declare const TitleText: import("styled-components").StyledComponent<"span", import("styled-components").DefaultTheme, import("../text").TextProps, never>;
|
|
9
|
+
export {};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { SidenavProps } from "./types";
|
|
3
|
+
export declare const Sidenav: (({ fixed, children, ...otherProps }: SidenavProps) => JSX.Element) & {
|
|
4
|
+
Group: ({ separator, children, ...otherProps }: import("./types").SidenavGroupProps) => JSX.Element;
|
|
5
|
+
Item: ({ children, icon, title, onClick, ...otherProps }: import("./types").SidenavItemProps) => JSX.Element;
|
|
6
|
+
DrawerItem: ({ id, title, onClick, children, ...otherProps }: import("./types").SidenavDrawerItemProps) => JSX.Element;
|
|
7
|
+
DrawerSubitem: ({ id, title, onClick, ...otherProps }: import("./types").SidenavDrawerSubitemProps) => JSX.Element;
|
|
8
|
+
};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
interface StyleProps {
|
|
2
|
+
$fixed?: boolean;
|
|
3
|
+
}
|
|
4
|
+
interface DrawerStyleProps {
|
|
5
|
+
$showDrawer: boolean;
|
|
6
|
+
}
|
|
7
|
+
export declare const Wrapper: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, StyleProps, never>;
|
|
8
|
+
export declare const DesktopContainer: import("styled-components").StyledComponent<"nav", import("styled-components").DefaultTheme, {}, never>;
|
|
9
|
+
export declare const MobileContainer: import("styled-components").StyledComponent<"nav", import("styled-components").DefaultTheme, {}, never>;
|
|
10
|
+
export declare const DesktopDrawer: import("styled-components").StyledComponent<import("react-spring").AnimatedComponent<"ul">, import("styled-components").DefaultTheme, DrawerStyleProps, never>;
|
|
11
|
+
export {};
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
interface SidenavBaseProps {
|
|
3
|
+
id?: string | undefined;
|
|
4
|
+
"data-testid"?: string | undefined;
|
|
5
|
+
className?: string | undefined;
|
|
6
|
+
}
|
|
7
|
+
export interface SidenavProps extends SidenavBaseProps {
|
|
8
|
+
/** Specifies if sidenav should be fixed to left. Defaults to true */
|
|
9
|
+
fixed?: boolean | undefined;
|
|
10
|
+
/**
|
|
11
|
+
* <Sidenav.Group>
|
|
12
|
+
* ...
|
|
13
|
+
* </Sidenav.Group>
|
|
14
|
+
*/
|
|
15
|
+
children: React.ReactNode;
|
|
16
|
+
}
|
|
17
|
+
export interface SidenavGroupProps extends SidenavBaseProps {
|
|
18
|
+
/** Specifies if bottom divider will be rendered */
|
|
19
|
+
separator?: boolean | undefined;
|
|
20
|
+
/**
|
|
21
|
+
* <Sidenav.Item>
|
|
22
|
+
* ...
|
|
23
|
+
* </Sidenav.Item>
|
|
24
|
+
*/
|
|
25
|
+
children: React.ReactNode;
|
|
26
|
+
}
|
|
27
|
+
export interface SidenavItemProps extends SidenavBaseProps {
|
|
28
|
+
title: string;
|
|
29
|
+
/** The icon to be rendered */
|
|
30
|
+
icon: React.ReactNode;
|
|
31
|
+
/** Indicates if an item is initially selected */
|
|
32
|
+
selected?: boolean | undefined;
|
|
33
|
+
/** Called when item is selected */
|
|
34
|
+
onClick?: ((id: string) => void) | undefined;
|
|
35
|
+
/**
|
|
36
|
+
* <Sidenav.DrawerItem>
|
|
37
|
+
* ...
|
|
38
|
+
* </Sidenav.DrawerItem>
|
|
39
|
+
*/
|
|
40
|
+
children?: React.ReactNode | undefined;
|
|
41
|
+
}
|
|
42
|
+
export interface SidenavDrawerItemProps extends SidenavBaseProps {
|
|
43
|
+
title: string;
|
|
44
|
+
/**
|
|
45
|
+
* <Sidenav.DrawerSubitem>
|
|
46
|
+
* ...
|
|
47
|
+
* </Sidenav.DrawerSubitem>
|
|
48
|
+
*/
|
|
49
|
+
children?: React.ReactNode | undefined;
|
|
50
|
+
/** Called when item is selected */
|
|
51
|
+
onClick?: ((id: string) => void) | undefined;
|
|
52
|
+
}
|
|
53
|
+
export interface SidenavDrawerSubitemProps extends SidenavBaseProps {
|
|
54
|
+
title: string;
|
|
55
|
+
/** Called when item is selected */
|
|
56
|
+
onClick?: ((id: string) => void) | undefined;
|
|
57
|
+
}
|
|
58
|
+
export {};
|
|
@@ -369,5 +369,5 @@ import e,{jsxs as t,jsx as r,Fragment as n}from"react/jsx-runtime";import i from
|
|
|
369
369
|
${Er}
|
|
370
370
|
`,kr=a(u)`
|
|
371
371
|
${Er}
|
|
372
|
-
`,Ar="https://assets.life.gov.sg/react-design-system/img/app-icon/app-icon.png",Nr="smart-app-banner";const jr=i.forwardRef((function(e,i){const{className:a,show:o,href:l,content:c,offset:d=0,icon:s=Ar,animated:h=!1,onDismiss:g,onClick:u}=e,{title:f,message:p,buttonLabel:m,buttonAriaLabel:y,numberOfStars:F}=c,S=e=>{e.stopPropagation(),window.open(l,"_blank","noreferrer"),u?.()};return r(n,{children:o&&t(Fr,{ref:i,$isAnimated:h,$offset:d,className:a,children:[r(Sr,{onClick:g,id:`${Nr}-dismiss`,"data-testid":`${Nr}-dismiss-container`,children:r($r,{"aria-label":"Dismiss",children:r(br,{})})}),t(vr,{onClick:S,id:`${Nr}-proceed`,"data-testid":`${Nr}-proceed-container`,children:[r(Br,{src:s,alt:"lifesg-app-icon"}),t(Cr,{children:[r(Hr,{children:f}),r(xr,{children:p}),(()=>{if(isNaN(F)||F<0)return;const e=[],t=F-Math.floor(F)>=.4;for(let t=0;t<Math.floor(F);t++)e.push(r(Lr,{},`star${t}`));if(t&&e.push(r(zr,{},"halfstar")),e.length<5){const t=5-e.length;for(let n=0;n<t;n++)e.push(r(kr,{},`emptystar${n}`))}return r(_r,{children:e.slice(0,5)})})()]}),r(wr,{children:r(Dr,{onClick:S,"aria-label":y,children:m})})]})]})})}));export{jr as SmartAppBanner};
|
|
372
|
+
`,Ar="https://assets.life.gov.sg/react-design-system/img/app-icon/app-icon.png",Nr="smart-app-banner";const jr=i.forwardRef((function(e,i){const{className:a,show:o,href:l,content:c,offset:d=0,icon:s=Ar,animated:h=!1,onDismiss:g,onClick:u}=e,{title:f,message:p,buttonLabel:m,buttonAriaLabel:y,numberOfStars:F}=c,S=e=>{e.stopPropagation(),window.open(l,"_blank","noreferrer"),u?.()};return r(n,{children:o&&t(Fr,{ref:i,$isAnimated:h,$offset:d,className:a,children:[r(Sr,{onClick:g,id:`${Nr}-dismiss`,"data-testid":`${Nr}-dismiss-container`,children:r($r,{"aria-label":"Dismiss",children:r(br,{})})}),t(vr,{onClick:S,id:`${Nr}-proceed`,"data-testid":`${Nr}-proceed-container`,children:[r(Br,{src:s,alt:"lifesg-app-icon"}),t(Cr,{children:[r(Hr,{children:f}),r(xr,{children:p}),(()=>{if(isNaN(F)||F<0)return;const e=[],t=F-Math.floor(F)>=.4;for(let t=0;t<Math.floor(F);t++)e.push(r(Lr,{},`star${t}`));if(t&&e.push(r(zr,{},"halfstar")),e.length<5){const t=5-e.length;for(let n=0;n<t;n++)e.push(r(kr,{},`emptystar${n}`))}return r(_r,{children:e.slice(0,5)})})()]}),r(wr,{children:r(Dr,{type:"button",onClick:S,"aria-label":y,children:m})})]})]})})}));export{jr as SmartAppBanner};
|
|
373
373
|
//# sourceMappingURL=index.js.map
|