@lidofinance/lido-app-ui 1.8.0 → 1.9.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.
- package/dist/cjs/button/Button.cjs +11 -3
- package/dist/cjs/button/Button.cjs.map +1 -1
- package/dist/cjs/counter/Counter.module.css.cjs +1 -1
- package/dist/cjs/counter/CounterSlot.cjs +22 -0
- package/dist/cjs/counter/CounterSlot.cjs.map +1 -0
- package/dist/cjs/counter/CounterSlot.module.css.cjs +6 -0
- package/dist/cjs/counter/CounterSlot.module.css.cjs.map +1 -0
- package/dist/cjs/disclaimer/Disclaimer.cjs +33 -0
- package/dist/cjs/disclaimer/Disclaimer.cjs.map +1 -0
- package/dist/cjs/disclaimer/Disclaimer.module.css.cjs +6 -0
- package/dist/cjs/disclaimer/Disclaimer.module.css.cjs.map +1 -0
- package/dist/cjs/error-page/ErrorPage.cjs +64 -0
- package/dist/cjs/error-page/ErrorPage.cjs.map +1 -0
- package/dist/cjs/error-page/ErrorPage.module.css.cjs +6 -0
- package/dist/cjs/error-page/ErrorPage.module.css.cjs.map +1 -0
- package/dist/cjs/footer/Footer.cjs +30 -0
- package/dist/cjs/footer/Footer.cjs.map +1 -0
- package/dist/cjs/footer/Footer.module.css.cjs +6 -0
- package/dist/cjs/footer/Footer.module.css.cjs.map +1 -0
- package/dist/cjs/icon-button/IconButton.cjs +8 -3
- package/dist/cjs/icon-button/IconButton.cjs.map +1 -1
- package/dist/cjs/index.cjs +8 -0
- package/dist/cjs/index.cjs.map +1 -1
- package/dist/cjs/index.css +3 -3
- package/dist/cjs/skeleton/Skeleton.cjs +40 -0
- package/dist/cjs/skeleton/Skeleton.cjs.map +1 -0
- package/dist/cjs/skeleton/Skeleton.module.css.cjs +6 -0
- package/dist/cjs/skeleton/Skeleton.module.css.cjs.map +1 -0
- package/dist/cjs/tag/Tag.cjs +1 -1
- package/dist/cjs/tag/Tag.cjs.map +1 -1
- package/dist/cjs/tag/Tag.module.css.cjs +1 -1
- package/dist/esm/button/Button.mjs +11 -3
- package/dist/esm/button/Button.mjs.map +1 -1
- package/dist/esm/counter/Counter.module.css.mjs +1 -1
- package/dist/esm/counter/CounterSlot.mjs +18 -0
- package/dist/esm/counter/CounterSlot.mjs.map +1 -0
- package/dist/esm/counter/CounterSlot.module.css.mjs +4 -0
- package/dist/esm/counter/CounterSlot.module.css.mjs.map +1 -0
- package/dist/esm/disclaimer/Disclaimer.mjs +29 -0
- package/dist/esm/disclaimer/Disclaimer.mjs.map +1 -0
- package/dist/esm/disclaimer/Disclaimer.module.css.mjs +4 -0
- package/dist/esm/disclaimer/Disclaimer.module.css.mjs.map +1 -0
- package/dist/esm/error-page/ErrorPage.mjs +60 -0
- package/dist/esm/error-page/ErrorPage.mjs.map +1 -0
- package/dist/esm/error-page/ErrorPage.module.css.mjs +4 -0
- package/dist/esm/error-page/ErrorPage.module.css.mjs.map +1 -0
- package/dist/esm/footer/Footer.mjs +26 -0
- package/dist/esm/footer/Footer.mjs.map +1 -0
- package/dist/esm/footer/Footer.module.css.mjs +4 -0
- package/dist/esm/footer/Footer.module.css.mjs.map +1 -0
- package/dist/esm/icon-button/IconButton.mjs +9 -4
- package/dist/esm/icon-button/IconButton.mjs.map +1 -1
- package/dist/esm/index.css +3 -3
- package/dist/esm/index.mjs +4 -0
- package/dist/esm/index.mjs.map +1 -1
- package/dist/esm/skeleton/Skeleton.mjs +36 -0
- package/dist/esm/skeleton/Skeleton.mjs.map +1 -0
- package/dist/esm/skeleton/Skeleton.module.css.mjs +4 -0
- package/dist/esm/skeleton/Skeleton.module.css.mjs.map +1 -0
- package/dist/esm/tag/Tag.mjs +1 -1
- package/dist/esm/tag/Tag.mjs.map +1 -1
- package/dist/esm/tag/Tag.module.css.mjs +1 -1
- package/dist/index.css +3 -3
- package/dist/styles/typography-mixins.css +8 -0
- package/dist/types/button/Button.d.ts +14 -2
- package/dist/types/button/Button.d.ts.map +1 -1
- package/dist/types/counter/CounterSlot.d.ts +8 -0
- package/dist/types/counter/CounterSlot.d.ts.map +1 -0
- package/dist/types/disclaimer/Disclaimer.d.ts +9 -0
- package/dist/types/disclaimer/Disclaimer.d.ts.map +1 -0
- package/dist/types/disclaimer/index.d.ts +3 -0
- package/dist/types/disclaimer/index.d.ts.map +1 -0
- package/dist/types/error-page/ErrorPage.d.ts +20 -0
- package/dist/types/error-page/ErrorPage.d.ts.map +1 -0
- package/dist/types/error-page/index.d.ts +3 -0
- package/dist/types/error-page/index.d.ts.map +1 -0
- package/dist/types/footer/Footer.d.ts +7 -0
- package/dist/types/footer/Footer.d.ts.map +1 -0
- package/dist/types/footer/index.d.ts +3 -0
- package/dist/types/footer/index.d.ts.map +1 -0
- package/dist/types/icon-button/IconButton.d.ts +4 -1
- package/dist/types/icon-button/IconButton.d.ts.map +1 -1
- package/dist/types/index.d.ts +4 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/skeleton/Skeleton.d.ts +9 -0
- package/dist/types/skeleton/Skeleton.d.ts.map +1 -0
- package/dist/types/skeleton/index.d.ts +2 -0
- package/dist/types/skeleton/index.d.ts.map +1 -0
- package/dist/types/tag/Tag.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CounterSlot.mjs","sources":["../../../src/counter/CounterSlot.tsx"],"sourcesContent":["import type { ReactNode } from 'react'\n\nimport styles from './CounterSlot.module.css'\n\ntype CounterSlotProps = {\n children?: ReactNode\n dataTestId?: string\n}\n\nexport const CounterSlot = ({ children, dataTestId }: CounterSlotProps) =>\n children == null || children === false ? null : (\n <span className={styles.slot} aria-hidden='true' data-testid={dataTestId}>\n {children}\n </span>\n )\n"],"names":["CounterSlot","_ref","children","dataTestId","_jsx","className","styles","slot"],"mappings":";;;AASO,MAAMA,WAAW,GAAGC,IAAA,IAAA;EAAA,IAAC;IAAEC,QAAQ;AAAEC,IAAAA,UAAAA;AAA6B,GAAC,GAAAF,IAAA,CAAA;EAAA,OACpEC,QAAQ,IAAI,IAAI,IAAIA,QAAQ,KAAK,KAAK,GAAG,IAAI,gBAC3CE,GAAA,CAAA,MAAA,EAAA;IAAMC,SAAS,EAAEC,MAAM,CAACC,IAAK;AAAC,IAAA,aAAA,EAAY,MAAM;AAAC,IAAA,aAAA,EAAaJ,UAAW;AAAAD,IAAAA,QAAA,EACtEA,QAAAA;AAAQ,GACL,CACP,CAAA;AAAA;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CounterSlot.module.css.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import cn from 'classnames';
|
|
2
|
+
import styles from './Disclaimer.module.css.mjs';
|
|
3
|
+
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
4
|
+
import { TextLink } from '../text-link/TextLink.mjs';
|
|
5
|
+
|
|
6
|
+
const defaultContent = /*#__PURE__*/jsxs(Fragment, {
|
|
7
|
+
children: ["Your privacy matters. We use cookieless analytics and collect only anonymized data for improvements. Cookies are used for functionality only. For more info read", ' ', /*#__PURE__*/jsx(TextLink, {
|
|
8
|
+
href: "https://lido.fi/privacy-notice",
|
|
9
|
+
external: true,
|
|
10
|
+
children: "Privacy Notice"
|
|
11
|
+
}), "."]
|
|
12
|
+
});
|
|
13
|
+
const Disclaimer = _ref => {
|
|
14
|
+
let {
|
|
15
|
+
className,
|
|
16
|
+
children = defaultContent,
|
|
17
|
+
dataTestId,
|
|
18
|
+
...rest
|
|
19
|
+
} = _ref;
|
|
20
|
+
return /*#__PURE__*/jsx("p", {
|
|
21
|
+
className: cn(styles.root, className),
|
|
22
|
+
"data-testid": dataTestId?.root,
|
|
23
|
+
...rest,
|
|
24
|
+
children: children
|
|
25
|
+
});
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
export { Disclaimer };
|
|
29
|
+
//# sourceMappingURL=Disclaimer.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Disclaimer.mjs","sources":["../../../src/disclaimer/Disclaimer.tsx"],"sourcesContent":["import type { ComponentPropsWithoutRef } from 'react'\n\nimport cn from 'classnames'\n\nimport { TextLink } from '../text-link'\nimport styles from './Disclaimer.module.css'\n\nexport type DisclaimerDataTestId = {\n root?: string\n}\n\nexport type DisclaimerProps = ComponentPropsWithoutRef<'p'> & {\n dataTestId?: DisclaimerDataTestId\n}\n\nconst defaultContent = (\n <>\n Your privacy matters. We use cookieless analytics and collect only\n anonymized data for improvements. Cookies are used for functionality only.\n For more info read{' '}\n <TextLink href='https://lido.fi/privacy-notice' external>\n Privacy Notice\n </TextLink>\n .\n </>\n)\n\nexport const Disclaimer = ({\n className,\n children = defaultContent,\n dataTestId,\n ...rest\n}: DisclaimerProps) => (\n <p\n className={cn(styles.root, className)}\n data-testid={dataTestId?.root}\n {...rest}\n >\n {children}\n </p>\n)\n"],"names":["defaultContent","_jsxs","_Fragment","children","_jsx","TextLink","href","external","Disclaimer","_ref","className","dataTestId","rest","cn","styles","root"],"mappings":";;;;;AAeA,MAAMA,cAAc,gBAClBC,IAAA,CAAAC,QAAA,EAAA;AAAAC,EAAAA,QAAA,GAAE,kKAGkB,EAAC,GAAG,eACtBC,GAAA,CAACC,QAAQ,EAAA;AAACC,IAAAA,IAAI,EAAC,gCAAgC;IAACC,QAAQ,EAAA,IAAA;AAAAJ,IAAAA,QAAA,EAAC,gBAAA;AAEzD,GAAU,CAAC,EAEb,GAAA,CAAA;AAAA,CAAE,CACH,CAAA;AAEM,MAAMK,UAAU,GAAGC,IAAA,IAAA;EAAA,IAAC;IACzBC,SAAS;AACTP,IAAAA,QAAQ,GAAGH,cAAc;IACzBW,UAAU;IACV,GAAGC,IAAAA;AACY,GAAC,GAAAH,IAAA,CAAA;AAAA,EAAA,oBAChBL,GAAA,CAAA,GAAA,EAAA;IACEM,SAAS,EAAEG,EAAE,CAACC,MAAM,CAACC,IAAI,EAAEL,SAAS,CAAE;IACtC,aAAaC,EAAAA,UAAU,EAAEI,IAAK;AAAA,IAAA,GAC1BH,IAAI;AAAAT,IAAAA,QAAA,EAEPA,QAAAA;AAAQ,GACR,CAAC,CAAA;AAAA;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Disclaimer.module.css.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import cn from 'classnames';
|
|
2
|
+
import styles from './ErrorPage.module.css.mjs';
|
|
3
|
+
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
4
|
+
|
|
5
|
+
const presets = {
|
|
6
|
+
'404': {
|
|
7
|
+
title: 'Page not found',
|
|
8
|
+
description: 'The page you’re looking for doesn’t exist or has been moved. Check the URL or return to your dashboard.'
|
|
9
|
+
},
|
|
10
|
+
'500': {
|
|
11
|
+
title: 'Something went wrong',
|
|
12
|
+
description: 'We’re having trouble loading this page. Please try again in a moment.'
|
|
13
|
+
}
|
|
14
|
+
};
|
|
15
|
+
const isPresetCode = code => code === '404' || code === '500';
|
|
16
|
+
const ErrorPage = _ref => {
|
|
17
|
+
let {
|
|
18
|
+
code,
|
|
19
|
+
title,
|
|
20
|
+
description,
|
|
21
|
+
action,
|
|
22
|
+
className,
|
|
23
|
+
dataTestId,
|
|
24
|
+
...rest
|
|
25
|
+
} = _ref;
|
|
26
|
+
const preset = isPresetCode(code) ? presets[code] : undefined;
|
|
27
|
+
const resolvedTitle = title !== undefined ? title : preset?.title;
|
|
28
|
+
const resolvedDescription = description !== undefined ? description : preset?.description;
|
|
29
|
+
return /*#__PURE__*/jsx("div", {
|
|
30
|
+
className: cn(styles.root, className),
|
|
31
|
+
"data-testid": dataTestId?.root,
|
|
32
|
+
...rest,
|
|
33
|
+
children: /*#__PURE__*/jsxs("div", {
|
|
34
|
+
className: styles.inner,
|
|
35
|
+
children: [code != null ? /*#__PURE__*/jsx("div", {
|
|
36
|
+
className: styles.code,
|
|
37
|
+
"data-testid": dataTestId?.code,
|
|
38
|
+
children: code
|
|
39
|
+
}) : null, /*#__PURE__*/jsxs("div", {
|
|
40
|
+
className: styles.text,
|
|
41
|
+
children: [resolvedTitle != null ? /*#__PURE__*/jsx("h1", {
|
|
42
|
+
className: styles.title,
|
|
43
|
+
"data-testid": dataTestId?.title,
|
|
44
|
+
children: resolvedTitle
|
|
45
|
+
}) : null, resolvedDescription != null ? /*#__PURE__*/jsx("p", {
|
|
46
|
+
className: styles.description,
|
|
47
|
+
"data-testid": dataTestId?.description,
|
|
48
|
+
children: resolvedDescription
|
|
49
|
+
}) : null]
|
|
50
|
+
}), action != null ? /*#__PURE__*/jsx("div", {
|
|
51
|
+
className: styles.action,
|
|
52
|
+
"data-testid": dataTestId?.action,
|
|
53
|
+
children: action
|
|
54
|
+
}) : null]
|
|
55
|
+
})
|
|
56
|
+
});
|
|
57
|
+
};
|
|
58
|
+
|
|
59
|
+
export { ErrorPage };
|
|
60
|
+
//# sourceMappingURL=ErrorPage.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ErrorPage.mjs","sources":["../../../src/error-page/ErrorPage.tsx"],"sourcesContent":["import type { HTMLAttributes, ReactNode } from 'react'\n\nimport cn from 'classnames'\n\nimport styles from './ErrorPage.module.css'\n\nexport type ErrorPageCode = '404' | '500'\n\nexport type ErrorPageDataTestId = {\n root?: string\n code?: string\n title?: string\n description?: string\n action?: string\n}\n\nexport type ErrorPageProps = Omit<HTMLAttributes<HTMLDivElement>, 'title'> & {\n /** `'404'` / `'500'` fill default title and description. */\n code?: ErrorPageCode | (string & {})\n title?: ReactNode\n description?: ReactNode\n /** Slot below the text, usually a `Button`. */\n action?: ReactNode\n dataTestId?: ErrorPageDataTestId\n}\n\nconst presets: Record<ErrorPageCode, { title: string; description: string }> = {\n '404': {\n title: 'Page not found',\n description:\n 'The page you’re looking for doesn’t exist or has been moved. Check the URL or return to your dashboard.',\n },\n '500': {\n title: 'Something went wrong',\n description:\n 'We’re having trouble loading this page. Please try again in a moment.',\n },\n}\n\nconst isPresetCode = (code?: string): code is ErrorPageCode =>\n code === '404' || code === '500'\n\nexport const ErrorPage = ({\n code,\n title,\n description,\n action,\n className,\n dataTestId,\n ...rest\n}: ErrorPageProps) => {\n const preset = isPresetCode(code) ? presets[code] : undefined\n const resolvedTitle = title !== undefined ? title : preset?.title\n const resolvedDescription =\n description !== undefined ? description : preset?.description\n\n return (\n <div\n className={cn(styles.root, className)}\n data-testid={dataTestId?.root}\n {...rest}\n >\n <div className={styles.inner}>\n {code != null ? (\n <div className={styles.code} data-testid={dataTestId?.code}>\n {code}\n </div>\n ) : null}\n <div className={styles.text}>\n {resolvedTitle != null ? (\n <h1 className={styles.title} data-testid={dataTestId?.title}>\n {resolvedTitle}\n </h1>\n ) : null}\n {resolvedDescription != null ? (\n <p\n className={styles.description}\n data-testid={dataTestId?.description}\n >\n {resolvedDescription}\n </p>\n ) : null}\n </div>\n {action != null ? (\n <div className={styles.action} data-testid={dataTestId?.action}>\n {action}\n </div>\n ) : null}\n </div>\n </div>\n )\n}\n"],"names":["presets","title","description","isPresetCode","code","ErrorPage","_ref","action","className","dataTestId","rest","preset","undefined","resolvedTitle","resolvedDescription","_jsx","cn","styles","root","children","_jsxs","inner","text"],"mappings":";;;;AA0BA,MAAMA,OAAsE,GAAG;AAC7E,EAAA,KAAK,EAAE;AACLC,IAAAA,KAAK,EAAE,gBAAgB;AACvBC,IAAAA,WAAW,EACT,yGAAA;GACH;AACD,EAAA,KAAK,EAAE;AACLD,IAAAA,KAAK,EAAE,sBAAsB;AAC7BC,IAAAA,WAAW,EACT,uEAAA;AACJ,GAAA;AACF,CAAC,CAAA;AAED,MAAMC,YAAY,GAAIC,IAAa,IACjCA,IAAI,KAAK,KAAK,IAAIA,IAAI,KAAK,KAAK,CAAA;AAErBC,MAAAA,SAAS,GAAGC,IAAA,IAQH;EAAA,IARI;IACxBF,IAAI;IACJH,KAAK;IACLC,WAAW;IACXK,MAAM;IACNC,SAAS;IACTC,UAAU;IACV,GAAGC,IAAAA;AACW,GAAC,GAAAJ,IAAA,CAAA;AACf,EAAA,MAAMK,MAAM,GAAGR,YAAY,CAACC,IAAI,CAAC,GAAGJ,OAAO,CAACI,IAAI,CAAC,GAAGQ,SAAS,CAAA;EAC7D,MAAMC,aAAa,GAAGZ,KAAK,KAAKW,SAAS,GAAGX,KAAK,GAAGU,MAAM,EAAEV,KAAK,CAAA;EACjE,MAAMa,mBAAmB,GACvBZ,WAAW,KAAKU,SAAS,GAAGV,WAAW,GAAGS,MAAM,EAAET,WAAW,CAAA;AAE/D,EAAA,oBACEa,GAAA,CAAA,KAAA,EAAA;IACEP,SAAS,EAAEQ,EAAE,CAACC,MAAM,CAACC,IAAI,EAAEV,SAAS,CAAE;IACtC,aAAaC,EAAAA,UAAU,EAAES,IAAK;AAAA,IAAA,GAC1BR,IAAI;AAAAS,IAAAA,QAAA,eAERC,IAAA,CAAA,KAAA,EAAA;MAAKZ,SAAS,EAAES,MAAM,CAACI,KAAM;AAAAF,MAAAA,QAAA,EAC1Bf,CAAAA,IAAI,IAAI,IAAI,gBACXW,GAAA,CAAA,KAAA,EAAA;QAAKP,SAAS,EAAES,MAAM,CAACb,IAAK;QAAC,aAAaK,EAAAA,UAAU,EAAEL,IAAK;AAAAe,QAAAA,QAAA,EACxDf,IAAAA;AAAI,OACF,CAAC,GACJ,IAAI,eACRgB,IAAA,CAAA,KAAA,EAAA;QAAKZ,SAAS,EAAES,MAAM,CAACK,IAAK;AAAAH,QAAAA,QAAA,EACzBN,CAAAA,aAAa,IAAI,IAAI,gBACpBE,GAAA,CAAA,IAAA,EAAA;UAAIP,SAAS,EAAES,MAAM,CAAChB,KAAM;UAAC,aAAaQ,EAAAA,UAAU,EAAER,KAAM;AAAAkB,UAAAA,QAAA,EACzDN,aAAAA;SACC,CAAC,GACH,IAAI,EACPC,mBAAmB,IAAI,IAAI,gBAC1BC,GAAA,CAAA,GAAA,EAAA;UACEP,SAAS,EAAES,MAAM,CAACf,WAAY;UAC9B,aAAaO,EAAAA,UAAU,EAAEP,WAAY;AAAAiB,UAAAA,QAAA,EAEpCL,mBAAAA;SACA,CAAC,GACF,IAAI,CAAA;AAAA,OACL,CAAC,EACLP,MAAM,IAAI,IAAI,gBACbQ,GAAA,CAAA,KAAA,EAAA;QAAKP,SAAS,EAAES,MAAM,CAACV,MAAO;QAAC,aAAaE,EAAAA,UAAU,EAAEF,MAAO;AAAAY,QAAAA,QAAA,EAC5DZ,MAAAA;OACE,CAAC,GACJ,IAAI,CAAA;KACL,CAAA;AAAC,GACH,CAAC,CAAA;AAEV;;;;"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
const styles = {"root":"ErrorPage-module_root__sdAsZ","inner":"ErrorPage-module_inner__rf3pT","code":"ErrorPage-module_code__sXtwL","text":"ErrorPage-module_text__SIHr-","title":"ErrorPage-module_title__1gYNN","description":"ErrorPage-module_description__VILdD","action":"ErrorPage-module_action__euwDk"};
|
|
2
|
+
|
|
3
|
+
export { styles as default };
|
|
4
|
+
//# sourceMappingURL=ErrorPage.module.css.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ErrorPage.module.css.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import cn from 'classnames';
|
|
2
|
+
import styles from './Footer.module.css.mjs';
|
|
3
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
4
|
+
|
|
5
|
+
const Footer = _ref => {
|
|
6
|
+
let {
|
|
7
|
+
children,
|
|
8
|
+
aside,
|
|
9
|
+
className,
|
|
10
|
+
...rest
|
|
11
|
+
} = _ref;
|
|
12
|
+
return /*#__PURE__*/jsxs("footer", {
|
|
13
|
+
className: cn(styles.footer, className),
|
|
14
|
+
...rest,
|
|
15
|
+
children: [/*#__PURE__*/jsx("div", {
|
|
16
|
+
className: styles.content,
|
|
17
|
+
children: children
|
|
18
|
+
}), aside != null ? /*#__PURE__*/jsx("div", {
|
|
19
|
+
className: styles.aside,
|
|
20
|
+
children: aside
|
|
21
|
+
}) : null]
|
|
22
|
+
});
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
export { Footer };
|
|
26
|
+
//# sourceMappingURL=Footer.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Footer.mjs","sources":["../../../src/footer/Footer.tsx"],"sourcesContent":["import type { ComponentPropsWithoutRef, ReactNode } from 'react'\n\nimport cn from 'classnames'\n\nimport styles from './Footer.module.css'\n\nexport type FooterProps = ComponentPropsWithoutRef<'footer'> & {\n /** Right slot, e.g. version tag. */\n aside?: ReactNode\n}\n\nexport const Footer = ({\n children,\n aside,\n className,\n ...rest\n}: FooterProps) => (\n <footer className={cn(styles.footer, className)} {...rest}>\n <div className={styles.content}>{children}</div>\n {aside != null ? <div className={styles.aside}>{aside}</div> : null}\n </footer>\n)\n"],"names":["Footer","_ref","children","aside","className","rest","_jsxs","cn","styles","footer","_jsx","content"],"mappings":";;;;AAWO,MAAMA,MAAM,GAAGC,IAAA,IAAA;EAAA,IAAC;IACrBC,QAAQ;IACRC,KAAK;IACLC,SAAS;IACT,GAAGC,IAAAA;AACQ,GAAC,GAAAJ,IAAA,CAAA;AAAA,EAAA,oBACZK,IAAA,CAAA,QAAA,EAAA;IAAQF,SAAS,EAAEG,EAAE,CAACC,MAAM,CAACC,MAAM,EAAEL,SAAS,CAAE;AAAA,IAAA,GAAKC,IAAI;AAAAH,IAAAA,QAAA,gBACvDQ,GAAA,CAAA,KAAA,EAAA;MAAKN,SAAS,EAAEI,MAAM,CAACG,OAAQ;AAAAT,MAAAA,QAAA,EAAEA,QAAAA;AAAQ,KAAM,CAAC,EAC/CC,KAAK,IAAI,IAAI,gBAAGO,GAAA,CAAA,KAAA,EAAA;MAAKN,SAAS,EAAEI,MAAM,CAACL,KAAM;AAAAD,MAAAA,QAAA,EAAEC,KAAAA;KAAW,CAAC,GAAG,IAAI,CAAA;AAAA,GAC7D,CAAC,CAAA;AAAA;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Footer.module.css.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import cn from 'classnames';
|
|
2
|
+
import { CounterSlot } from '../counter/CounterSlot.mjs';
|
|
2
3
|
import styles from './IconButton.module.css.mjs';
|
|
3
|
-
import { jsx } from 'react/jsx-runtime';
|
|
4
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
4
5
|
import { IconLoaderCircle } from '../icons/components/base/IconLoaderCircle.mjs';
|
|
5
6
|
|
|
6
7
|
const IconButton = _ref => {
|
|
@@ -11,17 +12,18 @@ const IconButton = _ref => {
|
|
|
11
12
|
loading = false,
|
|
12
13
|
disabled = false,
|
|
13
14
|
icon,
|
|
15
|
+
counter,
|
|
14
16
|
dataTestId,
|
|
15
17
|
...rest
|
|
16
18
|
} = _ref;
|
|
17
|
-
return /*#__PURE__*/
|
|
19
|
+
return /*#__PURE__*/jsxs("button", {
|
|
18
20
|
type: type,
|
|
19
21
|
disabled: disabled || loading,
|
|
20
22
|
"aria-busy": loading || undefined,
|
|
21
23
|
className: cn(styles.button, styles[variant], loading && styles.loading, className),
|
|
22
24
|
"data-testid": dataTestId?.root,
|
|
23
25
|
...rest,
|
|
24
|
-
children: loading ? /*#__PURE__*/jsx(IconLoaderCircle, {
|
|
26
|
+
children: [loading ? /*#__PURE__*/jsx(IconLoaderCircle, {
|
|
25
27
|
className: styles.spinner,
|
|
26
28
|
"aria-hidden": "true"
|
|
27
29
|
}) : /*#__PURE__*/jsx("span", {
|
|
@@ -29,7 +31,10 @@ const IconButton = _ref => {
|
|
|
29
31
|
"aria-hidden": "true",
|
|
30
32
|
"data-testid": dataTestId?.icon,
|
|
31
33
|
children: icon
|
|
32
|
-
})
|
|
34
|
+
}), /*#__PURE__*/jsx(CounterSlot, {
|
|
35
|
+
dataTestId: dataTestId?.counter,
|
|
36
|
+
children: counter
|
|
37
|
+
})]
|
|
33
38
|
});
|
|
34
39
|
};
|
|
35
40
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IconButton.mjs","sources":["../../../src/icon-button/IconButton.tsx"],"sourcesContent":["import type { ButtonHTMLAttributes, ReactNode } from 'react'\n\nimport cn from 'classnames'\n\nimport { IconLoaderCircle } from '../icons'\nimport styles from './IconButton.module.css'\n\nexport type IconButtonVariant = 'outline' | 'ghost'\n\nexport type IconButtonDataTestId = {\n root?: string\n icon?: string\n}\n\nexport type IconButtonProps = Omit<\n ButtonHTMLAttributes<HTMLButtonElement>,\n 'aria-label'\n> & {\n 'aria-label': string\n icon: ReactNode\n variant?: IconButtonVariant\n loading?: boolean\n dataTestId?: IconButtonDataTestId\n}\n\nexport const IconButton = ({\n className,\n type = 'button',\n variant = 'outline',\n loading = false,\n disabled = false,\n icon,\n dataTestId,\n ...rest\n}: IconButtonProps) => (\n <button\n type={type}\n disabled={disabled || loading}\n aria-busy={loading || undefined}\n className={cn(\n styles.button,\n styles[variant],\n loading && styles.loading,\n className,\n )}\n data-testid={dataTestId?.root}\n {...rest}\n >\n {loading ? (\n <IconLoaderCircle className={styles.spinner} aria-hidden='true' />\n ) : (\n <span\n className={styles.icon}\n aria-hidden='true'\n data-testid={dataTestId?.icon}\n >\n {icon}\n </span>\n )}\n </button>\n)\n"],"names":["IconButton","_ref","className","type","variant","loading","disabled","icon","dataTestId","rest","
|
|
1
|
+
{"version":3,"file":"IconButton.mjs","sources":["../../../src/icon-button/IconButton.tsx"],"sourcesContent":["import type { ButtonHTMLAttributes, ReactNode } from 'react'\n\nimport cn from 'classnames'\n\nimport { CounterSlot } from '../counter/CounterSlot'\nimport { IconLoaderCircle } from '../icons'\nimport styles from './IconButton.module.css'\n\nexport type IconButtonVariant = 'outline' | 'ghost'\n\nexport type IconButtonDataTestId = {\n root?: string\n icon?: string\n counter?: string\n}\n\nexport type IconButtonProps = Omit<\n ButtonHTMLAttributes<HTMLButtonElement>,\n 'aria-label'\n> & {\n 'aria-label': string\n icon: ReactNode\n variant?: IconButtonVariant\n loading?: boolean\n /** Corner slot, aria-hidden: put the count into `aria-label`. */\n counter?: ReactNode\n dataTestId?: IconButtonDataTestId\n}\n\nexport const IconButton = ({\n className,\n type = 'button',\n variant = 'outline',\n loading = false,\n disabled = false,\n icon,\n counter,\n dataTestId,\n ...rest\n}: IconButtonProps) => (\n <button\n type={type}\n disabled={disabled || loading}\n aria-busy={loading || undefined}\n className={cn(\n styles.button,\n styles[variant],\n loading && styles.loading,\n className,\n )}\n data-testid={dataTestId?.root}\n {...rest}\n >\n {loading ? (\n <IconLoaderCircle className={styles.spinner} aria-hidden='true' />\n ) : (\n <span\n className={styles.icon}\n aria-hidden='true'\n data-testid={dataTestId?.icon}\n >\n {icon}\n </span>\n )}\n <CounterSlot dataTestId={dataTestId?.counter}>{counter}</CounterSlot>\n </button>\n)\n"],"names":["IconButton","_ref","className","type","variant","loading","disabled","icon","counter","dataTestId","rest","_jsxs","undefined","cn","styles","button","root","children","_jsx","IconLoaderCircle","spinner","CounterSlot"],"mappings":";;;;;;AA6BO,MAAMA,UAAU,GAAGC,IAAA,IAAA;EAAA,IAAC;IACzBC,SAAS;AACTC,IAAAA,IAAI,GAAG,QAAQ;AACfC,IAAAA,OAAO,GAAG,SAAS;AACnBC,IAAAA,OAAO,GAAG,KAAK;AACfC,IAAAA,QAAQ,GAAG,KAAK;IAChBC,IAAI;IACJC,OAAO;IACPC,UAAU;IACV,GAAGC,IAAAA;AACY,GAAC,GAAAT,IAAA,CAAA;AAAA,EAAA,oBAChBU,IAAA,CAAA,QAAA,EAAA;AACER,IAAAA,IAAI,EAAEA,IAAK;IACXG,QAAQ,EAAEA,QAAQ,IAAID,OAAQ;IAC9B,WAAWA,EAAAA,OAAO,IAAIO,SAAU;AAChCV,IAAAA,SAAS,EAAEW,EAAE,CACXC,MAAM,CAACC,MAAM,EACbD,MAAM,CAACV,OAAO,CAAC,EACfC,OAAO,IAAIS,MAAM,CAACT,OAAO,EACzBH,SACF,CAAE;IACF,aAAaO,EAAAA,UAAU,EAAEO,IAAK;AAAA,IAAA,GAC1BN,IAAI;AAAAO,IAAAA,QAAA,EAEPZ,CAAAA,OAAO,gBACNa,GAAA,CAACC,gBAAgB,EAAA;MAACjB,SAAS,EAAEY,MAAM,CAACM,OAAQ;MAAC,aAAY,EAAA,MAAA;KAAQ,CAAC,gBAElEF,GAAA,CAAA,MAAA,EAAA;MACEhB,SAAS,EAAEY,MAAM,CAACP,IAAK;AACvB,MAAA,aAAA,EAAY,MAAM;MAClB,aAAaE,EAAAA,UAAU,EAAEF,IAAK;AAAAU,MAAAA,QAAA,EAE7BV,IAAAA;AAAI,KACD,CACP,eACDW,GAAA,CAACG,WAAW,EAAA;MAACZ,UAAU,EAAEA,UAAU,EAAED,OAAQ;AAAAS,MAAAA,QAAA,EAAET,OAAAA;AAAO,KAAc,CAAC,CAAA;AAAA,GAC/D,CAAC,CAAA;AAAA;;;;"}
|