@buildcanada/components 0.3.3 → 0.3.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/dist/content/Card/Card.d.ts +62 -0
- package/dist/content/Card/Card.d.ts.map +1 -0
- package/dist/content/Card/Card.js +45 -0
- package/dist/content/Card/index.d.ts +3 -0
- package/dist/content/Card/index.d.ts.map +1 -0
- package/dist/content/Card/index.js +2 -0
- package/dist/content/Hero/Hero.d.ts +28 -0
- package/dist/content/Hero/Hero.d.ts.map +1 -0
- package/dist/content/Hero/Hero.js +16 -0
- package/dist/content/Hero/index.d.ts +3 -0
- package/dist/content/Hero/index.d.ts.map +1 -0
- package/dist/content/Hero/index.js +2 -0
- package/dist/content/StatBlock/StatBlock.d.ts +15 -0
- package/dist/content/StatBlock/StatBlock.d.ts.map +1 -0
- package/dist/content/StatBlock/StatBlock.js +10 -0
- package/dist/content/StatBlock/index.d.ts +3 -0
- package/dist/content/StatBlock/index.d.ts.map +1 -0
- package/dist/content/StatBlock/index.js +2 -0
- package/dist/feedback/Dialog/Dialog.d.ts +18 -0
- package/dist/feedback/Dialog/Dialog.d.ts.map +1 -0
- package/dist/feedback/Dialog/Dialog.js +33 -0
- package/{src/feedback/Dialog/index.ts → dist/feedback/Dialog/index.d.ts} +2 -1
- package/dist/feedback/Dialog/index.d.ts.map +1 -0
- package/dist/feedback/Dialog/index.js +1 -0
- package/dist/feedback/PopupForm/PopupForm.d.ts +24 -0
- package/dist/feedback/PopupForm/PopupForm.d.ts.map +1 -0
- package/dist/feedback/PopupForm/PopupForm.js +13 -0
- package/dist/feedback/PopupForm/index.d.ts +2 -0
- package/dist/feedback/PopupForm/index.d.ts.map +1 -0
- package/dist/feedback/PopupForm/index.js +1 -0
- package/{src/index.ts → dist/index.d.ts} +16 -56
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +25 -0
- package/dist/layout/Container/Container.d.ts +11 -0
- package/dist/layout/Container/Container.d.ts.map +1 -0
- package/dist/layout/Container/Container.js +7 -0
- package/dist/layout/Container/index.d.ts +3 -0
- package/dist/layout/Container/index.d.ts.map +1 -0
- package/dist/layout/Container/index.js +2 -0
- package/dist/layout/Divider/Divider.d.ts +12 -0
- package/dist/layout/Divider/Divider.d.ts.map +1 -0
- package/dist/layout/Divider/Divider.js +7 -0
- package/dist/layout/Divider/index.d.ts +3 -0
- package/dist/layout/Divider/index.d.ts.map +1 -0
- package/dist/layout/Divider/index.js +2 -0
- package/dist/layout/Grid/Grid.d.ts +24 -0
- package/dist/layout/Grid/Grid.d.ts.map +1 -0
- package/dist/layout/Grid/Grid.js +11 -0
- package/dist/layout/Grid/index.d.ts +3 -0
- package/dist/layout/Grid/index.d.ts.map +1 -0
- package/dist/layout/Grid/index.js +2 -0
- package/dist/layout/Section/Section.d.ts +13 -0
- package/dist/layout/Section/Section.d.ts.map +1 -0
- package/dist/layout/Section/Section.js +7 -0
- package/dist/layout/Section/index.d.ts +3 -0
- package/dist/layout/Section/index.d.ts.map +1 -0
- package/dist/layout/Section/index.js +2 -0
- package/dist/layout/Stack/Stack.d.ts +18 -0
- package/dist/layout/Stack/Stack.d.ts.map +1 -0
- package/dist/layout/Stack/Stack.js +7 -0
- package/dist/layout/Stack/index.d.ts +3 -0
- package/dist/layout/Stack/index.d.ts.map +1 -0
- package/dist/layout/Stack/index.js +2 -0
- package/dist/navigation/Footer/Footer.d.ts +31 -0
- package/dist/navigation/Footer/Footer.d.ts.map +1 -0
- package/dist/navigation/Footer/Footer.js +21 -0
- package/dist/navigation/Footer/index.d.ts +3 -0
- package/dist/navigation/Footer/index.d.ts.map +1 -0
- package/dist/navigation/Footer/index.js +2 -0
- package/dist/navigation/Header/Header.d.ts +23 -0
- package/dist/navigation/Header/Header.d.ts.map +1 -0
- package/dist/navigation/Header/Header.js +16 -0
- package/dist/navigation/Header/index.d.ts +3 -0
- package/dist/navigation/Header/index.d.ts.map +1 -0
- package/dist/navigation/Header/index.js +2 -0
- package/dist/primitives/Button/Button.d.ts +31 -0
- package/dist/primitives/Button/Button.d.ts.map +1 -0
- package/dist/primitives/Button/Button.js +36 -0
- package/dist/primitives/Button/index.d.ts +3 -0
- package/dist/primitives/Button/index.d.ts.map +1 -0
- package/dist/primitives/Button/index.js +2 -0
- package/dist/primitives/Checkbox/Checkbox.d.ts +13 -0
- package/dist/primitives/Checkbox/Checkbox.d.ts.map +1 -0
- package/dist/primitives/Checkbox/Checkbox.js +10 -0
- package/dist/primitives/Checkbox/index.d.ts +3 -0
- package/dist/primitives/Checkbox/index.d.ts.map +1 -0
- package/dist/primitives/Checkbox/index.js +2 -0
- package/dist/primitives/TextField/TextField.d.ts +22 -0
- package/dist/primitives/TextField/TextField.d.ts.map +1 -0
- package/dist/primitives/TextField/TextField.js +14 -0
- package/dist/primitives/TextField/index.d.ts +3 -0
- package/dist/primitives/TextField/index.d.ts.map +1 -0
- package/dist/primitives/TextField/index.js +2 -0
- package/package.json +11 -11
- package/src/assets/fonts/financier-text-regular.woff2 +0 -0
- package/src/assets/fonts/founders-grotesk-mono-regular.woff2 +0 -0
- package/src/assets/fonts/soehne-kraftig.woff2 +0 -0
- package/src/content/Card/Card.tsx +0 -170
- package/src/content/Card/index.ts +0 -22
- package/src/content/Hero/Hero.tsx +0 -63
- package/src/content/Hero/index.ts +0 -13
- package/src/content/StatBlock/StatBlock.tsx +0 -52
- package/src/content/StatBlock/index.ts +0 -2
- package/src/feedback/Dialog/Dialog.tsx +0 -120
- package/src/feedback/PopupForm/PopupForm.tsx +0 -90
- package/src/feedback/PopupForm/index.ts +0 -1
- package/src/layout/Container/Container.tsx +0 -29
- package/src/layout/Container/index.ts +0 -2
- package/src/layout/Divider/Divider.tsx +0 -32
- package/src/layout/Divider/index.ts +0 -2
- package/src/layout/Grid/Grid.tsx +0 -75
- package/src/layout/Grid/index.ts +0 -2
- package/src/layout/Section/Section.tsx +0 -37
- package/src/layout/Section/index.ts +0 -2
- package/src/layout/Stack/Stack.tsx +0 -48
- package/src/layout/Stack/index.ts +0 -9
- package/src/navigation/Footer/Footer.tsx +0 -174
- package/src/navigation/Footer/index.ts +0 -2
- package/src/navigation/Header/Header.tsx +0 -185
- package/src/navigation/Header/index.ts +0 -2
- package/src/primitives/Button/Button.tsx +0 -120
- package/src/primitives/Button/index.ts +0 -2
- package/src/primitives/Checkbox/Checkbox.tsx +0 -75
- package/src/primitives/Checkbox/index.ts +0 -2
- package/src/primitives/TextField/TextField.tsx +0 -105
- package/src/primitives/TextField/index.ts +0 -2
- /package/{src → dist}/content/Card/Card.scss +0 -0
- /package/{src → dist}/content/Hero/Hero.scss +0 -0
- /package/{src → dist}/content/StatBlock/StatBlock.scss +0 -0
- /package/{src → dist}/feedback/Dialog/Dialog.scss +0 -0
- /package/{src → dist}/feedback/PopupForm/PopupForm.scss +0 -0
- /package/{src → dist}/layout/Container/Container.scss +0 -0
- /package/{src → dist}/layout/Divider/Divider.scss +0 -0
- /package/{src → dist}/layout/Grid/Grid.scss +0 -0
- /package/{src → dist}/layout/Section/Section.scss +0 -0
- /package/{src → dist}/layout/Stack/Stack.scss +0 -0
- /package/{src → dist}/navigation/Footer/Footer.scss +0 -0
- /package/{src → dist}/navigation/Header/Header.scss +0 -0
- /package/{src → dist}/primitives/Button/Button.scss +0 -0
- /package/{src → dist}/primitives/Checkbox/Checkbox.scss +0 -0
- /package/{src → dist}/primitives/TextField/TextField.scss +0 -0
- /package/{src → dist}/styles/fonts.scss +0 -0
- /package/{src → dist}/styles/main.scss +0 -0
- /package/{src → dist}/styles/tokens.scss +0 -0
- /package/{src → dist}/styles/typography.scss +0 -0
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
export type CardVariant = "default" | "project" | "memo" | "feature" | "stat" | "profile";
|
|
2
|
+
export interface CardProps {
|
|
3
|
+
children: React.ReactNode;
|
|
4
|
+
className?: string;
|
|
5
|
+
style?: React.CSSProperties;
|
|
6
|
+
variant?: CardVariant;
|
|
7
|
+
href?: string;
|
|
8
|
+
onClick?: () => void;
|
|
9
|
+
}
|
|
10
|
+
export declare function Card({ children, className, style, variant, href, onClick, }: CardProps): import("react/jsx-runtime").JSX.Element;
|
|
11
|
+
/*******************************************************************************
|
|
12
|
+
* Card Subcomponents
|
|
13
|
+
******************************************************************************/
|
|
14
|
+
export interface CardImageProps {
|
|
15
|
+
src: string;
|
|
16
|
+
alt: string;
|
|
17
|
+
className?: string;
|
|
18
|
+
}
|
|
19
|
+
export declare function CardImage({ src, alt, className }: CardImageProps): import("react/jsx-runtime").JSX.Element;
|
|
20
|
+
export interface CardIconProps {
|
|
21
|
+
children: React.ReactNode;
|
|
22
|
+
className?: string;
|
|
23
|
+
}
|
|
24
|
+
export declare function CardIcon({ children, className }: CardIconProps): import("react/jsx-runtime").JSX.Element;
|
|
25
|
+
export interface CardContentProps {
|
|
26
|
+
children: React.ReactNode;
|
|
27
|
+
className?: string;
|
|
28
|
+
}
|
|
29
|
+
export declare function CardContent({ children, className }: CardContentProps): import("react/jsx-runtime").JSX.Element;
|
|
30
|
+
export interface CardTitleProps {
|
|
31
|
+
children: React.ReactNode;
|
|
32
|
+
className?: string;
|
|
33
|
+
as?: "h2" | "h3" | "h4" | "h5" | "h6";
|
|
34
|
+
}
|
|
35
|
+
export declare function CardTitle({ children, className, as: Component }: CardTitleProps): import("react/jsx-runtime").JSX.Element;
|
|
36
|
+
export interface CardDescriptionProps {
|
|
37
|
+
children: React.ReactNode;
|
|
38
|
+
className?: string;
|
|
39
|
+
}
|
|
40
|
+
export declare function CardDescription({ children, className }: CardDescriptionProps): import("react/jsx-runtime").JSX.Element;
|
|
41
|
+
export interface CardMetaProps {
|
|
42
|
+
children: React.ReactNode;
|
|
43
|
+
className?: string;
|
|
44
|
+
}
|
|
45
|
+
export declare function CardMeta({ children, className }: CardMetaProps): import("react/jsx-runtime").JSX.Element;
|
|
46
|
+
export interface CardStatProps {
|
|
47
|
+
value: string | number;
|
|
48
|
+
label: string;
|
|
49
|
+
change?: string;
|
|
50
|
+
changeDirection?: "up" | "down" | "neutral";
|
|
51
|
+
className?: string;
|
|
52
|
+
}
|
|
53
|
+
export declare function CardStat({ value, label, change, changeDirection, className }: CardStatProps): import("react/jsx-runtime").JSX.Element;
|
|
54
|
+
export interface CardAuthorProps {
|
|
55
|
+
name: string;
|
|
56
|
+
role?: string;
|
|
57
|
+
avatar?: string;
|
|
58
|
+
className?: string;
|
|
59
|
+
}
|
|
60
|
+
export declare function CardAuthor({ name, role, avatar, className }: CardAuthorProps): import("react/jsx-runtime").JSX.Element;
|
|
61
|
+
export default Card;
|
|
62
|
+
//# sourceMappingURL=Card.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Card.d.ts","sourceRoot":"","sources":["../../../src/content/Card/Card.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import cx from "classnames";
|
|
3
|
+
export function Card({ children, className, style, variant = "default", href, onClick, }) {
|
|
4
|
+
const isInteractive = Boolean(href || onClick);
|
|
5
|
+
const isButton = Boolean(onClick);
|
|
6
|
+
const classes = cx("bc-card", `bc-card--${variant}`, {
|
|
7
|
+
"bc-card--interactive": isInteractive,
|
|
8
|
+
"bc-card--button": isButton,
|
|
9
|
+
}, className);
|
|
10
|
+
if (href) {
|
|
11
|
+
return (_jsx("a", { href: href, className: classes, style: style, children: children }));
|
|
12
|
+
}
|
|
13
|
+
if (onClick) {
|
|
14
|
+
return (_jsx("button", { type: "button", className: classes, style: style, onClick: onClick, children: children }));
|
|
15
|
+
}
|
|
16
|
+
return (_jsx("div", { className: classes, style: style, children: children }));
|
|
17
|
+
}
|
|
18
|
+
export function CardImage({ src, alt, className }) {
|
|
19
|
+
return (_jsx("div", { className: cx("bc-card__image", className), children: _jsx("img", { src: src, alt: alt }) }));
|
|
20
|
+
}
|
|
21
|
+
export function CardIcon({ children, className }) {
|
|
22
|
+
return _jsx("div", { className: cx("bc-card__icon", className), children: children });
|
|
23
|
+
}
|
|
24
|
+
export function CardContent({ children, className }) {
|
|
25
|
+
return _jsx("div", { className: cx("bc-card__content", className), children: children });
|
|
26
|
+
}
|
|
27
|
+
export function CardTitle({ children, className, as: Component = "h3" }) {
|
|
28
|
+
return _jsx(Component, { className: cx("bc-card__title", className), children: children });
|
|
29
|
+
}
|
|
30
|
+
export function CardDescription({ children, className }) {
|
|
31
|
+
return _jsx("p", { className: cx("bc-card__description", className), children: children });
|
|
32
|
+
}
|
|
33
|
+
export function CardMeta({ children, className }) {
|
|
34
|
+
return _jsx("div", { className: cx("bc-card__meta", className), children: children });
|
|
35
|
+
}
|
|
36
|
+
export function CardStat({ value, label, change, changeDirection, className }) {
|
|
37
|
+
return (_jsxs("div", { className: cx("bc-card__stat", className), children: [_jsx("span", { className: "bc-card__stat-value", children: value }), _jsx("span", { className: "bc-card__stat-label", children: label }), change && (_jsx("span", { className: cx("bc-card__stat-change", {
|
|
38
|
+
"bc-card__stat-change--up": changeDirection === "up",
|
|
39
|
+
"bc-card__stat-change--down": changeDirection === "down",
|
|
40
|
+
}), children: change }))] }));
|
|
41
|
+
}
|
|
42
|
+
export function CardAuthor({ name, role, avatar, className }) {
|
|
43
|
+
return (_jsxs("div", { className: cx("bc-card__author", className), children: [avatar && (_jsx("img", { src: avatar, alt: name, className: "bc-card__author-avatar" })), _jsxs("div", { className: "bc-card__author-info", children: [_jsx("span", { className: "bc-card__author-name", children: name }), role && _jsx("span", { className: "bc-card__author-role", children: role })] })] }));
|
|
44
|
+
}
|
|
45
|
+
export default Card;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export { Card, CardImage, CardIcon, CardContent, CardTitle, CardDescription, CardMeta, CardStat, CardAuthor, type CardProps, type CardVariant, type CardImageProps, type CardIconProps, type CardContentProps, type CardTitleProps, type CardDescriptionProps, type CardMetaProps, type CardStatProps, type CardAuthorProps, } from "./Card.js";
|
|
2
|
+
export { default } from "./Card.js";
|
|
3
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/content/Card/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,IAAI,EACJ,SAAS,EACT,QAAQ,EACR,WAAW,EACX,SAAS,EACT,eAAe,EACf,QAAQ,EACR,QAAQ,EACR,UAAU,EACV,KAAK,SAAS,EACd,KAAK,WAAW,EAChB,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,oBAAoB,EACzB,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,eAAe,GACvB,MAAM,WAAW,CAAA;AAClB,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
export type HeroVariant = "home" | "page" | "centered";
|
|
2
|
+
export type HeroBackground = "white" | "linen" | "charcoal";
|
|
3
|
+
export interface HeroProps {
|
|
4
|
+
children: React.ReactNode;
|
|
5
|
+
className?: string;
|
|
6
|
+
style?: React.CSSProperties;
|
|
7
|
+
variant?: HeroVariant;
|
|
8
|
+
background?: HeroBackground;
|
|
9
|
+
}
|
|
10
|
+
export declare function Hero({ children, className, style, variant, background, }: HeroProps): import("react/jsx-runtime").JSX.Element;
|
|
11
|
+
export interface HeroTitleProps {
|
|
12
|
+
children: React.ReactNode;
|
|
13
|
+
className?: string;
|
|
14
|
+
as?: "h1" | "h2";
|
|
15
|
+
}
|
|
16
|
+
export declare function HeroTitle({ children, className, as: Component }: HeroTitleProps): import("react/jsx-runtime").JSX.Element;
|
|
17
|
+
export interface HeroSubtitleProps {
|
|
18
|
+
children: React.ReactNode;
|
|
19
|
+
className?: string;
|
|
20
|
+
}
|
|
21
|
+
export declare function HeroSubtitle({ children, className }: HeroSubtitleProps): import("react/jsx-runtime").JSX.Element;
|
|
22
|
+
export interface HeroActionsProps {
|
|
23
|
+
children: React.ReactNode;
|
|
24
|
+
className?: string;
|
|
25
|
+
}
|
|
26
|
+
export declare function HeroActions({ children, className }: HeroActionsProps): import("react/jsx-runtime").JSX.Element;
|
|
27
|
+
export default Hero;
|
|
28
|
+
//# sourceMappingURL=Hero.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Hero.d.ts","sourceRoot":"","sources":["../../../src/content/Hero/Hero.tsx"],"names":[],"mappings":"AAEA,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,MAAM,GAAG,UAAU,CAAA;AACtD,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,OAAO,GAAG,UAAU,CAAA;AAE3D,MAAM,WAAW,SAAS;IACtB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAA;IAC3B,OAAO,CAAC,EAAE,WAAW,CAAA;IACrB,UAAU,CAAC,EAAE,cAAc,CAAA;CAC9B;AAED,wBAAgB,IAAI,CAAC,EACjB,QAAQ,EACR,SAAS,EACT,KAAK,EACL,OAAgB,EAChB,UAAoB,GACvB,EAAE,SAAS,2CAaX;AAED,MAAM,WAAW,cAAc;IAC3B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,EAAE,CAAC,EAAE,IAAI,GAAG,IAAI,CAAA;CACnB;AAED,wBAAgB,SAAS,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,EAAE,SAAgB,EAAE,EAAE,cAAc,2CAEtF;AAED,MAAM,WAAW,iBAAiB;IAC9B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,SAAS,CAAC,EAAE,MAAM,CAAA;CACrB;AAED,wBAAgB,YAAY,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,iBAAiB,2CAEtE;AAED,MAAM,WAAW,gBAAgB;IAC7B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,SAAS,CAAC,EAAE,MAAM,CAAA;CACrB;AAED,wBAAgB,WAAW,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,gBAAgB,2CAEpE;AAED,eAAe,IAAI,CAAA"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import cx from "classnames";
|
|
3
|
+
export function Hero({ children, className, style, variant = "page", background = "linen", }) {
|
|
4
|
+
const classes = cx("bc-hero", `bc-hero--${variant}`, `bc-hero--bg-${background}`, className);
|
|
5
|
+
return (_jsx("div", { className: classes, style: style, children: _jsx("div", { className: "bc-hero__inner", children: children }) }));
|
|
6
|
+
}
|
|
7
|
+
export function HeroTitle({ children, className, as: Component = "h1" }) {
|
|
8
|
+
return _jsx(Component, { className: cx("bc-hero__title", className), children: children });
|
|
9
|
+
}
|
|
10
|
+
export function HeroSubtitle({ children, className }) {
|
|
11
|
+
return _jsx("p", { className: cx("bc-hero__subtitle", className), children: children });
|
|
12
|
+
}
|
|
13
|
+
export function HeroActions({ children, className }) {
|
|
14
|
+
return _jsx("div", { className: cx("bc-hero__actions", className), children: children });
|
|
15
|
+
}
|
|
16
|
+
export default Hero;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/content/Hero/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,IAAI,EACJ,SAAS,EACT,YAAY,EACZ,WAAW,EACX,KAAK,SAAS,EACd,KAAK,WAAW,EAChB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,GACxB,MAAM,WAAW,CAAA;AAClB,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export type StatBlockSize = "sm" | "md" | "lg";
|
|
2
|
+
export type StatBlockTrend = "up" | "down" | "neutral";
|
|
3
|
+
export interface StatBlockProps {
|
|
4
|
+
value: string | number;
|
|
5
|
+
label: string;
|
|
6
|
+
description?: string;
|
|
7
|
+
change?: string;
|
|
8
|
+
trend?: StatBlockTrend;
|
|
9
|
+
size?: StatBlockSize;
|
|
10
|
+
className?: string;
|
|
11
|
+
style?: React.CSSProperties;
|
|
12
|
+
}
|
|
13
|
+
export declare function StatBlock({ value, label, description, change, trend, size, className, style, }: StatBlockProps): import("react/jsx-runtime").JSX.Element;
|
|
14
|
+
export default StatBlock;
|
|
15
|
+
//# sourceMappingURL=StatBlock.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StatBlock.d.ts","sourceRoot":"","sources":["../../../src/content/StatBlock/StatBlock.tsx"],"names":[],"mappings":"AAEA,MAAM,MAAM,aAAa,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAA;AAC9C,MAAM,MAAM,cAAc,GAAG,IAAI,GAAG,MAAM,GAAG,SAAS,CAAA;AAEtD,MAAM,WAAW,cAAc;IAC3B,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;IACtB,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,cAAc,CAAA;IACtB,IAAI,CAAC,EAAE,aAAa,CAAA;IACpB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAA;CAC9B;AAED,wBAAgB,SAAS,CAAC,EACtB,KAAK,EACL,KAAK,EACL,WAAW,EACX,MAAM,EACN,KAAK,EACL,IAAW,EACX,SAAS,EACT,KAAK,GACR,EAAE,cAAc,2CAwBhB;AAED,eAAe,SAAS,CAAA"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import cx from "classnames";
|
|
3
|
+
export function StatBlock({ value, label, description, change, trend, size = "md", className, style, }) {
|
|
4
|
+
const classes = cx("bc-stat-block", `bc-stat-block--${size}`, className);
|
|
5
|
+
return (_jsxs("div", { className: classes, style: style, children: [_jsx("span", { className: "bc-stat-block__value", children: value }), _jsx("span", { className: "bc-stat-block__label", children: label }), description && (_jsx("span", { className: "bc-stat-block__description", children: description })), change && (_jsxs("span", { className: cx("bc-stat-block__change", {
|
|
6
|
+
"bc-stat-block__change--up": trend === "up",
|
|
7
|
+
"bc-stat-block__change--down": trend === "down",
|
|
8
|
+
}), children: [trend === "up" && "↑ ", trend === "down" && "↓ ", change] }))] }));
|
|
9
|
+
}
|
|
10
|
+
export default StatBlock;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/content/StatBlock/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,cAAc,EAAE,KAAK,aAAa,EAAE,KAAK,cAAc,EAAE,MAAM,gBAAgB,CAAA;AACxG,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export type DialogPosition = "top-left" | "top-right" | "bottom-left" | "bottom-right" | "center";
|
|
2
|
+
export interface DialogProps {
|
|
3
|
+
open: boolean;
|
|
4
|
+
onClose: () => void;
|
|
5
|
+
children: React.ReactNode;
|
|
6
|
+
title?: string;
|
|
7
|
+
description?: string;
|
|
8
|
+
position?: DialogPosition;
|
|
9
|
+
className?: string;
|
|
10
|
+
closeOnEscape?: boolean;
|
|
11
|
+
showCloseButton?: boolean;
|
|
12
|
+
ariaLabelledBy?: string;
|
|
13
|
+
ariaDescribedBy?: string;
|
|
14
|
+
offset?: number;
|
|
15
|
+
}
|
|
16
|
+
export declare function Dialog({ open, onClose, children, title, description, position, className, closeOnEscape, showCloseButton, ariaLabelledBy, ariaDescribedBy, offset, }: DialogProps): import("react/jsx-runtime").JSX.Element;
|
|
17
|
+
export default Dialog;
|
|
18
|
+
//# sourceMappingURL=Dialog.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Dialog.d.ts","sourceRoot":"","sources":["../../../src/feedback/Dialog/Dialog.tsx"],"names":[],"mappings":"AAKA,MAAM,MAAM,cAAc,GACpB,UAAU,GACV,WAAW,GACX,aAAa,GACb,cAAc,GACd,QAAQ,CAAA;AAEd,MAAM,WAAW,WAAW;IACxB,IAAI,EAAE,OAAO,CAAA;IACb,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,cAAc,CAAA;IACzB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,MAAM,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,wBAAgB,MAAM,CAAC,EACnB,IAAI,EACJ,OAAO,EACP,QAAQ,EACR,KAAK,EACL,WAAW,EACX,QAAyB,EACzB,SAAS,EACT,aAAoB,EACpB,eAAsB,EACtB,cAAc,EACd,eAAe,EACf,MAAW,GACd,EAAE,WAAW,2CA6Eb;AAED,eAAe,MAAM,CAAA"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useEffect, useRef, useCallback } from "react";
|
|
3
|
+
import cx from "classnames";
|
|
4
|
+
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
|
|
5
|
+
import { faXmark } from "@fortawesome/free-solid-svg-icons";
|
|
6
|
+
export function Dialog({ open, onClose, children, title, description, position = "bottom-right", className, closeOnEscape = true, showCloseButton = true, ariaLabelledBy, ariaDescribedBy, offset = 16, }) {
|
|
7
|
+
const dialogRef = useRef(null);
|
|
8
|
+
const handleClose = useCallback(() => {
|
|
9
|
+
onClose();
|
|
10
|
+
}, [onClose]);
|
|
11
|
+
// Handle escape key
|
|
12
|
+
useEffect(() => {
|
|
13
|
+
if (!closeOnEscape || !open)
|
|
14
|
+
return;
|
|
15
|
+
const handleKeyDown = (e) => {
|
|
16
|
+
if (e.key === "Escape") {
|
|
17
|
+
handleClose();
|
|
18
|
+
}
|
|
19
|
+
};
|
|
20
|
+
document.addEventListener("keydown", handleKeyDown);
|
|
21
|
+
return () => document.removeEventListener("keydown", handleKeyDown);
|
|
22
|
+
}, [closeOnEscape, open, handleClose]);
|
|
23
|
+
if (!open)
|
|
24
|
+
return null;
|
|
25
|
+
const classes = cx("bc-dialog", `bc-dialog--${position}`, className);
|
|
26
|
+
const titleId = ariaLabelledBy || (title ? "bc-dialog-title" : undefined);
|
|
27
|
+
const descriptionId = ariaDescribedBy || (description ? "bc-dialog-description" : undefined);
|
|
28
|
+
const style = {
|
|
29
|
+
"--bc-dialog-offset": `${offset}px`,
|
|
30
|
+
};
|
|
31
|
+
return (_jsx("div", { ref: dialogRef, className: classes, style: style, role: "dialog", "aria-modal": "false", "aria-labelledby": titleId, "aria-describedby": descriptionId, children: _jsxs("div", { className: "bc-dialog__container", children: [(title || showCloseButton) && (_jsxs("header", { className: "bc-dialog__header", children: [title && (_jsx("h2", { id: titleId, className: "bc-dialog__title", children: title })), showCloseButton && (_jsx("button", { type: "button", className: "bc-dialog__close", onClick: handleClose, "aria-label": "Close dialog", children: _jsx(FontAwesomeIcon, { icon: faXmark }) }))] })), description && (_jsx("p", { id: descriptionId, className: "bc-dialog__description", children: description })), _jsx("div", { className: "bc-dialog__content", children: children })] }) }));
|
|
32
|
+
}
|
|
33
|
+
export default Dialog;
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
export { Dialog, type DialogProps, type DialogPosition } from "./Dialog"
|
|
1
|
+
export { Dialog, type DialogProps, type DialogPosition } from "./Dialog.js";
|
|
2
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/feedback/Dialog/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,KAAK,WAAW,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { Dialog } from "./Dialog.js";
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { type DialogPosition } from "../Dialog/index.js";
|
|
2
|
+
import { type ButtonVariant } from "../../primitives/Button/index.js";
|
|
3
|
+
export interface PopupFormProps {
|
|
4
|
+
open: boolean;
|
|
5
|
+
onClose: () => void;
|
|
6
|
+
onSubmit: (e: React.FormEvent<HTMLFormElement>) => void;
|
|
7
|
+
children: React.ReactNode;
|
|
8
|
+
title?: string;
|
|
9
|
+
description?: string;
|
|
10
|
+
position?: DialogPosition;
|
|
11
|
+
offset?: number;
|
|
12
|
+
className?: string;
|
|
13
|
+
submitText?: string;
|
|
14
|
+
submitVariant?: ButtonVariant;
|
|
15
|
+
cancelText?: string;
|
|
16
|
+
cancelVariant?: ButtonVariant;
|
|
17
|
+
showCancel?: boolean;
|
|
18
|
+
isSubmitting?: boolean;
|
|
19
|
+
submitDisabled?: boolean;
|
|
20
|
+
closeOnEscape?: boolean;
|
|
21
|
+
}
|
|
22
|
+
export declare function PopupForm({ open, onClose, onSubmit, children, title, description, position, offset, className, submitText, submitVariant, cancelText, cancelVariant, showCancel, isSubmitting, submitDisabled, closeOnEscape, }: PopupFormProps): import("react/jsx-runtime").JSX.Element;
|
|
23
|
+
export default PopupForm;
|
|
24
|
+
//# sourceMappingURL=PopupForm.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PopupForm.d.ts","sourceRoot":"","sources":["../../../src/feedback/PopupForm/PopupForm.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAU,KAAK,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAChE,OAAO,EAAU,KAAK,aAAa,EAAE,MAAM,kCAAkC,CAAA;AAE7E,MAAM,WAAW,cAAc;IAC3B,IAAI,EAAE,OAAO,CAAA;IACb,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB,QAAQ,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,eAAe,CAAC,KAAK,IAAI,CAAA;IACvD,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,cAAc,CAAA;IACzB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,aAAa,CAAC,EAAE,aAAa,CAAA;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,aAAa,CAAC,EAAE,aAAa,CAAA;IAC7B,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,aAAa,CAAC,EAAE,OAAO,CAAA;CAC1B;AAED,wBAAgB,SAAS,CAAC,EACtB,IAAI,EACJ,OAAO,EACP,QAAQ,EACR,QAAQ,EACR,KAAK,EACL,WAAW,EACX,QAAyB,EACzB,MAAM,EACN,SAAS,EACT,UAAqB,EACrB,aAA8B,EAC9B,UAAqB,EACrB,aAAkC,EAClC,UAAiB,EACjB,YAAoB,EACpB,cAAsB,EACtB,aAAoB,GACvB,EAAE,cAAc,2CA4ChB;AAED,eAAe,SAAS,CAAA"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import cx from "classnames";
|
|
3
|
+
import { Dialog } from "../Dialog/index.js";
|
|
4
|
+
import { Button } from "../../primitives/Button/index.js";
|
|
5
|
+
export function PopupForm({ open, onClose, onSubmit, children, title, description, position = "bottom-right", offset, className, submitText = "Submit", submitVariant = "solid-auburn", cancelText = "Cancel", cancelVariant = "outline-charcoal", showCancel = true, isSubmitting = false, submitDisabled = false, closeOnEscape = true, }) {
|
|
6
|
+
const handleSubmit = (e) => {
|
|
7
|
+
e.preventDefault();
|
|
8
|
+
onSubmit(e);
|
|
9
|
+
};
|
|
10
|
+
const classes = cx("bc-popup-form", className);
|
|
11
|
+
return (_jsx(Dialog, { open: open, onClose: onClose, title: title, description: description, position: position, offset: offset, closeOnEscape: closeOnEscape, children: _jsxs("form", { onSubmit: handleSubmit, className: classes, children: [_jsx("div", { className: "bc-popup-form__fields", children: children }), _jsxs("div", { className: "bc-popup-form__actions", children: [showCancel && (_jsx(Button, { type: "button", text: cancelText, variant: cancelVariant, onClick: onClose, disabled: isSubmitting, icon: null })), _jsx(Button, { type: "submit", text: isSubmitting ? "Submitting..." : submitText, variant: submitVariant, disabled: submitDisabled || isSubmitting, icon: null })] })] }) }));
|
|
12
|
+
}
|
|
13
|
+
export default PopupForm;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/feedback/PopupForm/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,cAAc,EAAE,MAAM,gBAAgB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { PopupForm } from "./PopupForm.js";
|
|
@@ -3,59 +3,19 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Build Canada Design System Components
|
|
5
5
|
******************************************************************************/
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
export {
|
|
9
|
-
export {
|
|
10
|
-
export {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
export {
|
|
14
|
-
export {
|
|
15
|
-
export {
|
|
16
|
-
export {
|
|
17
|
-
export {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
export {
|
|
21
|
-
|
|
22
|
-
CardImage,
|
|
23
|
-
CardIcon,
|
|
24
|
-
CardContent,
|
|
25
|
-
CardTitle,
|
|
26
|
-
CardDescription,
|
|
27
|
-
CardMeta,
|
|
28
|
-
CardStat,
|
|
29
|
-
CardAuthor,
|
|
30
|
-
type CardProps,
|
|
31
|
-
type CardVariant,
|
|
32
|
-
type CardImageProps,
|
|
33
|
-
type CardIconProps,
|
|
34
|
-
type CardContentProps,
|
|
35
|
-
type CardTitleProps,
|
|
36
|
-
type CardDescriptionProps,
|
|
37
|
-
type CardMetaProps,
|
|
38
|
-
type CardStatProps,
|
|
39
|
-
type CardAuthorProps,
|
|
40
|
-
} from "./content/Card"
|
|
41
|
-
export {
|
|
42
|
-
Hero,
|
|
43
|
-
HeroTitle,
|
|
44
|
-
HeroSubtitle,
|
|
45
|
-
HeroActions,
|
|
46
|
-
type HeroProps,
|
|
47
|
-
type HeroVariant,
|
|
48
|
-
type HeroBackground,
|
|
49
|
-
type HeroTitleProps,
|
|
50
|
-
type HeroSubtitleProps,
|
|
51
|
-
type HeroActionsProps,
|
|
52
|
-
} from "./content/Hero"
|
|
53
|
-
export { StatBlock, type StatBlockProps, type StatBlockSize, type StatBlockTrend } from "./content/StatBlock"
|
|
54
|
-
|
|
55
|
-
// Navigation
|
|
56
|
-
export { Header, type HeaderProps, type NavItem } from "./navigation/Header"
|
|
57
|
-
export { Footer, type FooterProps, type FooterLink, type SocialLink } from "./navigation/Footer"
|
|
58
|
-
|
|
59
|
-
// Feedback
|
|
60
|
-
export { Dialog, type DialogProps, type DialogPosition } from "./feedback/Dialog"
|
|
61
|
-
export { PopupForm, type PopupFormProps } from "./feedback/PopupForm"
|
|
6
|
+
export { Button, type ButtonProps, type ButtonVariant, type ButtonSize } from "./primitives/Button/index.js";
|
|
7
|
+
export { TextField, type TextFieldProps, type TextFieldType } from "./primitives/TextField/index.js";
|
|
8
|
+
export { Checkbox, type CheckboxProps } from "./primitives/Checkbox/index.js";
|
|
9
|
+
export { Container, type ContainerProps, type ContainerSize } from "./layout/Container/index.js";
|
|
10
|
+
export { Section, type SectionProps, type SectionBackground, type SectionSpacing } from "./layout/Section/index.js";
|
|
11
|
+
export { Grid, GridItem, type GridProps, type GridItemProps, type GridColumns, type GridGap } from "./layout/Grid/index.js";
|
|
12
|
+
export { Stack, type StackProps, type StackDirection, type StackSpacing, type StackAlign, type StackJustify } from "./layout/Stack/index.js";
|
|
13
|
+
export { Divider, type DividerProps, type DividerOrientation, type DividerVariant } from "./layout/Divider/index.js";
|
|
14
|
+
export { Card, CardImage, CardIcon, CardContent, CardTitle, CardDescription, CardMeta, CardStat, CardAuthor, type CardProps, type CardVariant, type CardImageProps, type CardIconProps, type CardContentProps, type CardTitleProps, type CardDescriptionProps, type CardMetaProps, type CardStatProps, type CardAuthorProps, } from "./content/Card/index.js";
|
|
15
|
+
export { Hero, HeroTitle, HeroSubtitle, HeroActions, type HeroProps, type HeroVariant, type HeroBackground, type HeroTitleProps, type HeroSubtitleProps, type HeroActionsProps, } from "./content/Hero/index.js";
|
|
16
|
+
export { StatBlock, type StatBlockProps, type StatBlockSize, type StatBlockTrend } from "./content/StatBlock/index.js";
|
|
17
|
+
export { Header, type HeaderProps, type NavItem } from "./navigation/Header/index.js";
|
|
18
|
+
export { Footer, type FooterProps, type FooterLink, type SocialLink } from "./navigation/Footer/index.js";
|
|
19
|
+
export { Dialog, type DialogProps, type DialogPosition } from "./feedback/Dialog/index.js";
|
|
20
|
+
export { PopupForm, type PopupFormProps } from "./feedback/PopupForm/index.js";
|
|
21
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;gFAIgF;AAGhF,OAAO,EAAE,MAAM,EAAE,KAAK,WAAW,EAAE,KAAK,aAAa,EAAE,KAAK,UAAU,EAAE,MAAM,8BAA8B,CAAA;AAC5G,OAAO,EAAE,SAAS,EAAE,KAAK,cAAc,EAAE,KAAK,aAAa,EAAE,MAAM,iCAAiC,CAAA;AACpG,OAAO,EAAE,QAAQ,EAAE,KAAK,aAAa,EAAE,MAAM,gCAAgC,CAAA;AAG7E,OAAO,EAAE,SAAS,EAAE,KAAK,cAAc,EAAE,KAAK,aAAa,EAAE,MAAM,6BAA6B,CAAA;AAChG,OAAO,EAAE,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,iBAAiB,EAAE,KAAK,cAAc,EAAE,MAAM,2BAA2B,CAAA;AACnH,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,SAAS,EAAE,KAAK,aAAa,EAAE,KAAK,WAAW,EAAE,KAAK,OAAO,EAAE,MAAM,wBAAwB,CAAA;AAC3H,OAAO,EAAE,KAAK,EAAE,KAAK,UAAU,EAAE,KAAK,cAAc,EAAE,KAAK,YAAY,EAAE,KAAK,UAAU,EAAE,KAAK,YAAY,EAAE,MAAM,yBAAyB,CAAA;AAC5I,OAAO,EAAE,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,kBAAkB,EAAE,KAAK,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAGpH,OAAO,EACH,IAAI,EACJ,SAAS,EACT,QAAQ,EACR,WAAW,EACX,SAAS,EACT,eAAe,EACf,QAAQ,EACR,QAAQ,EACR,UAAU,EACV,KAAK,SAAS,EACd,KAAK,WAAW,EAChB,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,oBAAoB,EACzB,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,eAAe,GACvB,MAAM,yBAAyB,CAAA;AAChC,OAAO,EACH,IAAI,EACJ,SAAS,EACT,YAAY,EACZ,WAAW,EACX,KAAK,SAAS,EACd,KAAK,WAAW,EAChB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,GACxB,MAAM,yBAAyB,CAAA;AAChC,OAAO,EAAE,SAAS,EAAE,KAAK,cAAc,EAAE,KAAK,aAAa,EAAE,KAAK,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAGtH,OAAO,EAAE,MAAM,EAAE,KAAK,WAAW,EAAE,KAAK,OAAO,EAAE,MAAM,8BAA8B,CAAA;AACrF,OAAO,EAAE,MAAM,EAAE,KAAK,WAAW,EAAE,KAAK,UAAU,EAAE,KAAK,UAAU,EAAE,MAAM,8BAA8B,CAAA;AAGzG,OAAO,EAAE,MAAM,EAAE,KAAK,WAAW,EAAE,KAAK,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAC1F,OAAO,EAAE,SAAS,EAAE,KAAK,cAAc,EAAE,MAAM,+BAA+B,CAAA"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/*******************************************************************************
|
|
2
|
+
* @buildcanada/components
|
|
3
|
+
*
|
|
4
|
+
* Build Canada Design System Components
|
|
5
|
+
******************************************************************************/
|
|
6
|
+
// Primitives
|
|
7
|
+
export { Button } from "./primitives/Button/index.js";
|
|
8
|
+
export { TextField } from "./primitives/TextField/index.js";
|
|
9
|
+
export { Checkbox } from "./primitives/Checkbox/index.js";
|
|
10
|
+
// Layout
|
|
11
|
+
export { Container } from "./layout/Container/index.js";
|
|
12
|
+
export { Section } from "./layout/Section/index.js";
|
|
13
|
+
export { Grid, GridItem } from "./layout/Grid/index.js";
|
|
14
|
+
export { Stack } from "./layout/Stack/index.js";
|
|
15
|
+
export { Divider } from "./layout/Divider/index.js";
|
|
16
|
+
// Content
|
|
17
|
+
export { Card, CardImage, CardIcon, CardContent, CardTitle, CardDescription, CardMeta, CardStat, CardAuthor, } from "./content/Card/index.js";
|
|
18
|
+
export { Hero, HeroTitle, HeroSubtitle, HeroActions, } from "./content/Hero/index.js";
|
|
19
|
+
export { StatBlock } from "./content/StatBlock/index.js";
|
|
20
|
+
// Navigation
|
|
21
|
+
export { Header } from "./navigation/Header/index.js";
|
|
22
|
+
export { Footer } from "./navigation/Footer/index.js";
|
|
23
|
+
// Feedback
|
|
24
|
+
export { Dialog } from "./feedback/Dialog/index.js";
|
|
25
|
+
export { PopupForm } from "./feedback/PopupForm/index.js";
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export type ContainerSize = "sm" | "md" | "lg" | "xl" | "full";
|
|
2
|
+
export interface ContainerProps {
|
|
3
|
+
children: React.ReactNode;
|
|
4
|
+
className?: string;
|
|
5
|
+
style?: React.CSSProperties;
|
|
6
|
+
size?: ContainerSize;
|
|
7
|
+
as?: "div" | "main" | "article" | "section";
|
|
8
|
+
}
|
|
9
|
+
export declare function Container({ children, className, style, size, as: Component, }: ContainerProps): import("react/jsx-runtime").JSX.Element;
|
|
10
|
+
export default Container;
|
|
11
|
+
//# sourceMappingURL=Container.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Container.d.ts","sourceRoot":"","sources":["../../../src/layout/Container/Container.tsx"],"names":[],"mappings":"AAEA,MAAM,MAAM,aAAa,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,MAAM,CAAA;AAE9D,MAAM,WAAW,cAAc;IAC3B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAA;IAC3B,IAAI,CAAC,EAAE,aAAa,CAAA;IACpB,EAAE,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,CAAA;CAC9C;AAED,wBAAgB,SAAS,CAAC,EACtB,QAAQ,EACR,SAAS,EACT,KAAK,EACL,IAAW,EACX,EAAE,EAAE,SAAiB,GACxB,EAAE,cAAc,2CAQhB;AAED,eAAe,SAAS,CAAA"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import cx from "classnames";
|
|
3
|
+
export function Container({ children, className, style, size = "lg", as: Component = "div", }) {
|
|
4
|
+
const classes = cx("bc-container", `bc-container--${size}`, className);
|
|
5
|
+
return (_jsx(Component, { className: classes, style: style, children: children }));
|
|
6
|
+
}
|
|
7
|
+
export default Container;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/layout/Container/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,cAAc,EAAE,KAAK,aAAa,EAAE,MAAM,gBAAgB,CAAA;AACnF,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export type DividerOrientation = "horizontal" | "vertical";
|
|
2
|
+
export type DividerVariant = "solid" | "dashed" | "construction";
|
|
3
|
+
export interface DividerProps {
|
|
4
|
+
className?: string;
|
|
5
|
+
style?: React.CSSProperties;
|
|
6
|
+
orientation?: DividerOrientation;
|
|
7
|
+
variant?: DividerVariant;
|
|
8
|
+
spacing?: "none" | "sm" | "md" | "lg";
|
|
9
|
+
}
|
|
10
|
+
export declare function Divider({ className, style, orientation, variant, spacing, }: DividerProps): import("react/jsx-runtime").JSX.Element;
|
|
11
|
+
export default Divider;
|
|
12
|
+
//# sourceMappingURL=Divider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Divider.d.ts","sourceRoot":"","sources":["../../../src/layout/Divider/Divider.tsx"],"names":[],"mappings":"AAEA,MAAM,MAAM,kBAAkB,GAAG,YAAY,GAAG,UAAU,CAAA;AAC1D,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,QAAQ,GAAG,cAAc,CAAA;AAEhE,MAAM,WAAW,YAAY;IACzB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAA;IAC3B,WAAW,CAAC,EAAE,kBAAkB,CAAA;IAChC,OAAO,CAAC,EAAE,cAAc,CAAA;IACxB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAA;CACxC;AAED,wBAAgB,OAAO,CAAC,EACpB,SAAS,EACT,KAAK,EACL,WAA0B,EAC1B,OAAiB,EACjB,OAAc,GACjB,EAAE,YAAY,2CAUd;AAED,eAAe,OAAO,CAAA"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import cx from "classnames";
|
|
3
|
+
export function Divider({ className, style, orientation = "horizontal", variant = "solid", spacing = "md", }) {
|
|
4
|
+
const classes = cx("bc-divider", `bc-divider--${orientation}`, `bc-divider--${variant}`, `bc-divider--spacing-${spacing}`, className);
|
|
5
|
+
return _jsx("hr", { className: classes, style: style });
|
|
6
|
+
}
|
|
7
|
+
export default Divider;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/layout/Divider/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,kBAAkB,EAAE,KAAK,cAAc,EAAE,MAAM,cAAc,CAAA;AACvG,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export type GridColumns = 1 | 2 | 3 | 4 | 6 | 12;
|
|
2
|
+
export type GridGap = "none" | "sm" | "md" | "lg";
|
|
3
|
+
export interface GridProps {
|
|
4
|
+
children: React.ReactNode;
|
|
5
|
+
className?: string;
|
|
6
|
+
style?: React.CSSProperties;
|
|
7
|
+
columns?: GridColumns;
|
|
8
|
+
columnsMd?: GridColumns;
|
|
9
|
+
columnsLg?: GridColumns;
|
|
10
|
+
gap?: GridGap;
|
|
11
|
+
as?: "div" | "ul" | "ol";
|
|
12
|
+
}
|
|
13
|
+
export declare function Grid({ children, className, style, columns, columnsMd, columnsLg, gap, as: Component, }: GridProps): import("react/jsx-runtime").JSX.Element;
|
|
14
|
+
export interface GridItemProps {
|
|
15
|
+
children: React.ReactNode;
|
|
16
|
+
className?: string;
|
|
17
|
+
style?: React.CSSProperties;
|
|
18
|
+
span?: number;
|
|
19
|
+
spanMd?: number;
|
|
20
|
+
spanLg?: number;
|
|
21
|
+
}
|
|
22
|
+
export declare function GridItem({ children, className, style, span, spanMd, spanLg, }: GridItemProps): import("react/jsx-runtime").JSX.Element;
|
|
23
|
+
export default Grid;
|
|
24
|
+
//# sourceMappingURL=Grid.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Grid.d.ts","sourceRoot":"","sources":["../../../src/layout/Grid/Grid.tsx"],"names":[],"mappings":"AAEA,MAAM,MAAM,WAAW,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAA;AAChD,MAAM,MAAM,OAAO,GAAG,MAAM,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAA;AAEjD,MAAM,WAAW,SAAS;IACtB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAA;IAC3B,OAAO,CAAC,EAAE,WAAW,CAAA;IACrB,SAAS,CAAC,EAAE,WAAW,CAAA;IACvB,SAAS,CAAC,EAAE,WAAW,CAAA;IACvB,GAAG,CAAC,EAAE,OAAO,CAAA;IACb,EAAE,CAAC,EAAE,KAAK,GAAG,IAAI,GAAG,IAAI,CAAA;CAC3B;AAED,wBAAgB,IAAI,CAAC,EACjB,QAAQ,EACR,SAAS,EACT,KAAK,EACL,OAAW,EACX,SAAS,EACT,SAAS,EACT,GAAU,EACV,EAAE,EAAE,SAAiB,GACxB,EAAE,SAAS,2CAeX;AAED,MAAM,WAAW,aAAa;IAC1B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAA;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,wBAAgB,QAAQ,CAAC,EACrB,QAAQ,EACR,SAAS,EACT,KAAK,EACL,IAAI,EACJ,MAAM,EACN,MAAM,GACT,EAAE,aAAa,2CAcf;AAED,eAAe,IAAI,CAAA"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import cx from "classnames";
|
|
3
|
+
export function Grid({ children, className, style, columns = 1, columnsMd, columnsLg, gap = "md", as: Component = "div", }) {
|
|
4
|
+
const classes = cx("bc-grid", `bc-grid--cols-${columns}`, `bc-grid--gap-${gap}`, columnsMd && `bc-grid--cols-md-${columnsMd}`, columnsLg && `bc-grid--cols-lg-${columnsLg}`, className);
|
|
5
|
+
return (_jsx(Component, { className: classes, style: style, children: children }));
|
|
6
|
+
}
|
|
7
|
+
export function GridItem({ children, className, style, span, spanMd, spanLg, }) {
|
|
8
|
+
const classes = cx("bc-grid__item", span && `bc-grid__item--span-${span}`, spanMd && `bc-grid__item--span-md-${spanMd}`, spanLg && `bc-grid__item--span-lg-${spanLg}`, className);
|
|
9
|
+
return (_jsx("div", { className: classes, style: style, children: children }));
|
|
10
|
+
}
|
|
11
|
+
export default Grid;
|