@arbor-education/design-system.components 0.13.1 → 0.15.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/CHANGELOG.md +18 -0
- package/dist/components/articleCard/ArticleCard.d.ts +30 -0
- package/dist/components/articleCard/ArticleCard.d.ts.map +1 -0
- package/dist/components/articleCard/ArticleCard.js +24 -0
- package/dist/components/articleCard/ArticleCard.js.map +1 -0
- package/dist/components/articleCard/ArticleCard.stories.d.ts +18 -0
- package/dist/components/articleCard/ArticleCard.stories.d.ts.map +1 -0
- package/dist/components/articleCard/ArticleCard.stories.js +112 -0
- package/dist/components/articleCard/ArticleCard.stories.js.map +1 -0
- package/dist/components/articleCard/ArticleCard.test.d.ts +2 -0
- package/dist/components/articleCard/ArticleCard.test.d.ts.map +1 -0
- package/dist/components/articleCard/ArticleCard.test.js +49 -0
- package/dist/components/articleCard/ArticleCard.test.js.map +1 -0
- package/dist/components/card/Card.d.ts +41 -12
- package/dist/components/card/Card.d.ts.map +1 -1
- package/dist/components/card/Card.js +46 -17
- package/dist/components/card/Card.js.map +1 -1
- package/dist/components/card/Card.stories.d.ts +9 -84
- package/dist/components/card/Card.stories.d.ts.map +1 -1
- package/dist/components/card/Card.stories.js +15 -73
- package/dist/components/card/Card.stories.js.map +1 -1
- package/dist/components/card/Card.test.js +50 -152
- package/dist/components/card/Card.test.js.map +1 -1
- package/dist/components/formField/inputs/number/NumberInput.d.ts.map +1 -1
- package/dist/components/formField/inputs/number/NumberInput.js +14 -2
- package/dist/components/formField/inputs/number/NumberInput.js.map +1 -1
- package/dist/components/formField/inputs/number/NumberInput.test.js +21 -0
- package/dist/components/formField/inputs/number/NumberInput.test.js.map +1 -1
- package/dist/components/formField/inputs/time/TimeInput.d.ts +1 -1
- package/dist/components/formField/inputs/time/TimeInput.stories.d.ts +1 -1
- package/dist/components/icoText/IcoText.d.ts +37 -0
- package/dist/components/icoText/IcoText.d.ts.map +1 -0
- package/dist/components/icoText/IcoText.js +29 -0
- package/dist/components/icoText/IcoText.js.map +1 -0
- package/dist/components/icoText/IcoText.stories.d.ts +34 -0
- package/dist/components/icoText/IcoText.stories.d.ts.map +1 -0
- package/dist/components/icoText/IcoText.stories.js +24 -0
- package/dist/components/icoText/IcoText.stories.js.map +1 -0
- package/dist/components/icoText/IcoText.test.d.ts +2 -0
- package/dist/components/icoText/IcoText.test.d.ts.map +1 -0
- package/dist/components/icoText/IcoText.test.js +27 -0
- package/dist/components/icoText/IcoText.test.js.map +1 -0
- package/dist/components/kpiCard/KPICard.d.ts +13 -0
- package/dist/components/kpiCard/KPICard.d.ts.map +1 -0
- package/dist/components/kpiCard/KPICard.js +8 -0
- package/dist/components/kpiCard/KPICard.js.map +1 -0
- package/dist/components/kpiCard/KPICard.stories.d.ts +9 -0
- package/dist/components/kpiCard/KPICard.stories.d.ts.map +1 -0
- package/dist/components/kpiCard/KPICard.stories.js +18 -0
- package/dist/components/kpiCard/KPICard.stories.js.map +1 -0
- package/dist/components/kpiCard/KPICard.test.d.ts +2 -0
- package/dist/components/kpiCard/KPICard.test.d.ts.map +1 -0
- package/dist/components/kpiCard/KPICard.test.js +37 -0
- package/dist/components/kpiCard/KPICard.test.js.map +1 -0
- package/dist/components/kvpList/KVPList.d.ts +34 -0
- package/dist/components/kvpList/KVPList.d.ts.map +1 -0
- package/dist/components/kvpList/KVPList.js +20 -0
- package/dist/components/kvpList/KVPList.js.map +1 -0
- package/dist/components/kvpList/KVPList.stories.d.ts +27 -0
- package/dist/components/kvpList/KVPList.stories.d.ts.map +1 -0
- package/dist/components/kvpList/KVPList.stories.js +18 -0
- package/dist/components/kvpList/KVPList.stories.js.map +1 -0
- package/dist/components/kvpList/KVPList.test.d.ts +2 -0
- package/dist/components/kvpList/KVPList.test.d.ts.map +1 -0
- package/dist/components/kvpList/KVPList.test.js +29 -0
- package/dist/components/kvpList/KVPList.test.js.map +1 -0
- package/dist/components/singleUser/SingleUser.d.ts +1 -1
- package/dist/components/table/Table.d.ts +1 -0
- package/dist/components/table/Table.d.ts.map +1 -1
- package/dist/components/table/Table.js +4 -2
- package/dist/components/table/Table.js.map +1 -1
- package/dist/components/table/Table.stories.d.ts +1 -0
- package/dist/components/table/Table.stories.d.ts.map +1 -1
- package/dist/components/table/Table.stories.js +88 -0
- package/dist/components/table/Table.stories.js.map +1 -1
- package/dist/components/table/Table.test.js +184 -0
- package/dist/components/table/Table.test.js.map +1 -1
- package/dist/components/table/cellEditors/NumberCellEditor.d.ts +13 -0
- package/dist/components/table/cellEditors/NumberCellEditor.d.ts.map +1 -0
- package/dist/components/table/cellEditors/NumberCellEditor.js +35 -0
- package/dist/components/table/cellEditors/NumberCellEditor.js.map +1 -0
- package/dist/components/tabs/TabsItem.stories.d.ts +2 -2
- package/dist/index.css +205 -22
- package/dist/index.css.map +1 -1
- package/dist/index.d.ts +14 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +13 -3
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/src/components/articleCard/ArticleCard.stories.tsx +132 -0
- package/src/components/articleCard/ArticleCard.test.tsx +121 -0
- package/src/components/articleCard/ArticleCard.tsx +100 -0
- package/src/components/articleCard/articleCard.scss +39 -0
- package/src/components/card/Card.stories.tsx +35 -79
- package/src/components/card/Card.test.tsx +72 -190
- package/src/components/card/Card.tsx +117 -58
- package/src/components/card/card.scss +18 -31
- package/src/components/formField/inputs/number/NumberInput.test.tsx +28 -0
- package/src/components/formField/inputs/number/NumberInput.tsx +15 -0
- package/src/components/icoText/IcoText.stories.tsx +47 -0
- package/src/components/icoText/IcoText.test.tsx +41 -0
- package/src/components/icoText/IcoText.tsx +93 -0
- package/src/components/icoText/icoText.scss +34 -0
- package/src/components/kpiCard/KPICard.stories.tsx +47 -0
- package/src/components/kpiCard/KPICard.test.tsx +60 -0
- package/src/components/kpiCard/KPICard.tsx +45 -0
- package/src/components/kpiCard/kpiCard.scss +35 -0
- package/src/components/kvpList/KVPList.stories.tsx +51 -0
- package/src/components/kvpList/KVPList.test.tsx +66 -0
- package/src/components/kvpList/KVPList.tsx +109 -0
- package/src/components/kvpList/kvpList.scss +64 -0
- package/src/components/table/Table.stories.tsx +93 -0
- package/src/components/table/Table.test.tsx +255 -0
- package/src/components/table/Table.tsx +6 -0
- package/src/components/table/cellEditors/NumberCellEditor.tsx +83 -0
- package/src/components/table/cellEditors/numberCellEditor.scss +11 -0
- package/src/components/table/table.scss +11 -0
- package/src/index.scss +5 -0
- package/src/index.ts +14 -4
- package/src/tokens.scss +6 -0
- package/tokens/json/Arbor.json +30 -0
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import type { StoryObj } from '@storybook/react-vite';
|
|
2
|
+
declare const meta: {
|
|
3
|
+
title: string;
|
|
4
|
+
component: {
|
|
5
|
+
({ children, className }: import("./IcoText").IcoTextProps): React.JSX.Element;
|
|
6
|
+
displayName: string;
|
|
7
|
+
} & {
|
|
8
|
+
Heading: {
|
|
9
|
+
({ children, className, ...rest }: import("./IcoText").IcoTextHeadingProps): React.JSX.Element;
|
|
10
|
+
displayName: string;
|
|
11
|
+
};
|
|
12
|
+
Paragraph: {
|
|
13
|
+
({ children, className, ...rest }: import("./IcoText").IcoTextParagraphProps): React.JSX.Element;
|
|
14
|
+
displayName: string;
|
|
15
|
+
};
|
|
16
|
+
Icon: {
|
|
17
|
+
({ className, color, name, screenReaderText, size, }: import("./IcoText").IcoTextIconProps): React.JSX.Element;
|
|
18
|
+
displayName: string;
|
|
19
|
+
};
|
|
20
|
+
};
|
|
21
|
+
parameters: {
|
|
22
|
+
docs: {
|
|
23
|
+
description: {
|
|
24
|
+
component: string;
|
|
25
|
+
};
|
|
26
|
+
};
|
|
27
|
+
};
|
|
28
|
+
};
|
|
29
|
+
type Story = StoryObj<typeof meta>;
|
|
30
|
+
export declare const WithIconAndParagraph: Story;
|
|
31
|
+
export declare const TextOnly: Story;
|
|
32
|
+
export declare const HeadingWithIcon: Story;
|
|
33
|
+
export default meta;
|
|
34
|
+
//# sourceMappingURL=IcoText.stories.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IcoText.stories.d.ts","sourceRoot":"","sources":["../../../src/components/icoText/IcoText.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAG5D,QAAA,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;CAWsB,CAAC;AAEjC,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,oBAAoB,EAAE,KAQlC,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,KAOtB,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,KAO7B,CAAC;AAEF,eAAe,IAAI,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { IcoText } from './IcoText';
|
|
3
|
+
const meta = {
|
|
4
|
+
title: 'Components/IcoText',
|
|
5
|
+
component: IcoText,
|
|
6
|
+
parameters: {
|
|
7
|
+
docs: {
|
|
8
|
+
description: {
|
|
9
|
+
component: 'Use `IcoText.Icon` as a direct child of `IcoText` so it is hoisted into the leading icon rail.',
|
|
10
|
+
},
|
|
11
|
+
},
|
|
12
|
+
},
|
|
13
|
+
};
|
|
14
|
+
export const WithIconAndParagraph = {
|
|
15
|
+
render: args => (_jsxs(IcoText, { ...args, children: [_jsx(IcoText.Icon, { name: "eye" }), _jsx(IcoText.Heading, { children: "Article heading" }), _jsx(IcoText.Paragraph, { children: "Supporting text for an article card layout." })] })),
|
|
16
|
+
};
|
|
17
|
+
export const TextOnly = {
|
|
18
|
+
render: args => (_jsxs(IcoText, { ...args, children: [_jsx(IcoText.Heading, { children: "Article heading" }), _jsx(IcoText.Paragraph, { children: "Supporting text with no leading icon." })] })),
|
|
19
|
+
};
|
|
20
|
+
export const HeadingWithIcon = {
|
|
21
|
+
render: args => (_jsxs(IcoText, { ...args, children: [_jsx(IcoText.Icon, { name: "eye" }), _jsx(IcoText.Heading, { children: "Heading only" })] })),
|
|
22
|
+
};
|
|
23
|
+
export default meta;
|
|
24
|
+
//# sourceMappingURL=IcoText.stories.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IcoText.stories.js","sourceRoot":"","sources":["../../../src/components/icoText/IcoText.stories.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,MAAM,IAAI,GAAG;IACX,KAAK,EAAE,oBAAoB;IAC3B,SAAS,EAAE,OAAO;IAClB,UAAU,EAAE;QACV,IAAI,EAAE;YACJ,WAAW,EAAE;gBACX,SAAS,EACP,gGAAgG;aACnG;SACF;KACF;CAC6B,CAAC;AAIjC,MAAM,CAAC,MAAM,oBAAoB,GAAU;IACzC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,CACd,MAAC,OAAO,OAAK,IAAI,aACf,KAAC,OAAO,CAAC,IAAI,IAAC,IAAI,EAAC,KAAK,GAAG,EAC3B,KAAC,OAAO,CAAC,OAAO,kCAAkC,EAClD,KAAC,OAAO,CAAC,SAAS,8DAAgE,IAC1E,CACX;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAU;IAC7B,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,CACd,MAAC,OAAO,OAAK,IAAI,aACf,KAAC,OAAO,CAAC,OAAO,kCAAkC,EAClD,KAAC,OAAO,CAAC,SAAS,wDAA0D,IACpE,CACX;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAU;IACpC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,CACd,MAAC,OAAO,OAAK,IAAI,aACf,KAAC,OAAO,CAAC,IAAI,IAAC,IAAI,EAAC,KAAK,GAAG,EAC3B,KAAC,OAAO,CAAC,OAAO,+BAA+B,IACvC,CACX;CACF,CAAC;AAEF,eAAe,IAAI,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IcoText.test.d.ts","sourceRoot":"","sources":["../../../src/components/icoText/IcoText.test.tsx"],"names":[],"mappings":"AACA,OAAO,kCAAkC,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { render, screen, within } from '@testing-library/react';
|
|
3
|
+
import '@testing-library/jest-dom/vitest';
|
|
4
|
+
import { describe, expect, test } from 'vitest';
|
|
5
|
+
import { IcoText } from './IcoText';
|
|
6
|
+
describe('IcoText', () => {
|
|
7
|
+
test('renders icon children before content children and keeps content in the content wrapper', () => {
|
|
8
|
+
const { container } = render(_jsxs(IcoText, { children: [_jsx(IcoText.Heading, { children: "Article title" }), _jsx(IcoText.Icon, { name: "eye", screenReaderText: "Views" }), _jsx(IcoText.Paragraph, { children: "Helpful supporting copy" }), _jsx("span", { children: "Metadata" }), _jsx(IcoText.Icon, { name: "eye", screenReaderText: "More views" })] }));
|
|
9
|
+
const root = container.querySelector('.ds-ico-text');
|
|
10
|
+
const content = container.querySelector('.ds-ico-text__content');
|
|
11
|
+
if (!content) {
|
|
12
|
+
throw new Error('Expected IcoText content wrapper to exist');
|
|
13
|
+
}
|
|
14
|
+
const iconElements = Array.from(root?.querySelectorAll(':scope > .ds-ico-text__icon') ?? []);
|
|
15
|
+
expect(iconElements).toHaveLength(2);
|
|
16
|
+
expect(root?.lastElementChild).toBe(content);
|
|
17
|
+
expect(content.querySelectorAll('.ds-ico-text__icon')).toHaveLength(0);
|
|
18
|
+
iconElements.forEach((iconElement) => {
|
|
19
|
+
expect(iconElement.compareDocumentPosition(content) & Node.DOCUMENT_POSITION_FOLLOWING).not.toBe(0);
|
|
20
|
+
});
|
|
21
|
+
expect(within(content).getByRole('heading', { level: 4 })).toHaveTextContent('Article title');
|
|
22
|
+
expect(within(content).getByText('Helpful supporting copy')).toBeInTheDocument();
|
|
23
|
+
expect(within(content).getByText('Metadata')).toBeInTheDocument();
|
|
24
|
+
expect(screen.getAllByRole('img', { hidden: true })).toHaveLength(2);
|
|
25
|
+
});
|
|
26
|
+
});
|
|
27
|
+
//# sourceMappingURL=IcoText.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IcoText.test.js","sourceRoot":"","sources":["../../../src/components/icoText/IcoText.test.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,kCAAkC,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,QAAQ,CAAC,SAAS,EAAE,GAAG,EAAE;IACvB,IAAI,CAAC,wFAAwF,EAAE,GAAG,EAAE;QAClG,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAC1B,MAAC,OAAO,eACN,KAAC,OAAO,CAAC,OAAO,gCAAgC,EAChD,KAAC,OAAO,CAAC,IAAI,IAAC,IAAI,EAAC,KAAK,EAAC,gBAAgB,EAAC,OAAO,GAAG,EACpD,KAAC,OAAO,CAAC,SAAS,0CAA4C,EAC9D,sCAAqB,EACrB,KAAC,OAAO,CAAC,IAAI,IAAC,IAAI,EAAC,KAAK,EAAC,gBAAgB,EAAC,YAAY,GAAG,IACjD,CACX,CAAC;QAEF,MAAM,IAAI,GAAG,SAAS,CAAC,aAAa,CAAiB,cAAc,CAAC,CAAC;QACrE,MAAM,OAAO,GAAG,SAAS,CAAC,aAAa,CAAiB,uBAAuB,CAAC,CAAC;QAEjF,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;QAC/D,CAAC;QAED,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,gBAAgB,CAAC,6BAA6B,CAAC,IAAI,EAAE,CAAC,CAAC;QAE7F,MAAM,CAAC,YAAY,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACrC,MAAM,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC7C,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACvE,YAAY,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,EAAE;YACnC,MAAM,CACJ,WAAW,CAAC,uBAAuB,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,2BAA2B,CAChF,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAChB,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC,eAAe,CAAC,CAAC;QAC9F,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,yBAAyB,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC;QACjF,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC;QAClE,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IACvE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Card } from '../card/Card';
|
|
2
|
+
type KPICardBaseProps = {
|
|
3
|
+
children?: React.ReactNode;
|
|
4
|
+
className?: string;
|
|
5
|
+
label: React.ReactNode;
|
|
6
|
+
value: React.ReactNode;
|
|
7
|
+
isPercentage?: boolean;
|
|
8
|
+
disabled?: boolean;
|
|
9
|
+
};
|
|
10
|
+
export type KPICardProps = KPICardBaseProps & Card.InteractionProps;
|
|
11
|
+
export declare const KPICard: (props: KPICardProps) => React.JSX.Element;
|
|
12
|
+
export {};
|
|
13
|
+
//# sourceMappingURL=KPICard.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"KPICard.d.ts","sourceRoot":"","sources":["../../../src/components/kpiCard/KPICard.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAA2B,MAAM,sBAAsB,CAAC;AAErE,KAAK,gBAAgB,GAAG;IACtB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC;AAEpE,eAAO,MAAM,OAAO,GAAI,OAAO,YAAY,KAAG,KAAK,CAAC,GAAG,CAAC,OA+BvD,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Card, getCardInteractionProps } from '../card/Card';
|
|
3
|
+
export const KPICard = (props) => {
|
|
4
|
+
const { children, className, label, value, isPercentage = false, disabled = false, } = props;
|
|
5
|
+
const content = (_jsxs("div", { className: "ds-kpi-card", children: [_jsx("p", { className: "ds-kpi-card__label", children: label }), _jsxs("p", { className: "ds-kpi-card__value", children: [value, isPercentage && _jsx("span", { className: "ds-kpi-card__suffix", children: "%" })] }), children] }));
|
|
6
|
+
return (_jsx(Card, { ...getCardInteractionProps(props), className: className, disabled: disabled, spacing: "dense", children: content }));
|
|
7
|
+
};
|
|
8
|
+
//# sourceMappingURL=KPICard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"KPICard.js","sourceRoot":"","sources":["../../../src/components/kpiCard/KPICard.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAarE,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,KAAmB,EAAqB,EAAE;IAChE,MAAM,EACJ,QAAQ,EACR,SAAS,EACT,KAAK,EACL,KAAK,EACL,YAAY,GAAG,KAAK,EACpB,QAAQ,GAAG,KAAK,GACjB,GAAG,KAAK,CAAC;IAEV,MAAM,OAAO,GAAG,CACd,eAAK,SAAS,EAAC,aAAa,aAC1B,YAAG,SAAS,EAAC,oBAAoB,YAAE,KAAK,GAAK,EAC7C,aAAG,SAAS,EAAC,oBAAoB,aAC9B,KAAK,EACL,YAAY,IAAI,eAAM,SAAS,EAAC,qBAAqB,kBAAS,IAC7D,EACH,QAAQ,IACL,CACP,CAAC;IAEF,OAAO,CACL,KAAC,IAAI,OACC,uBAAuB,CAAC,KAAK,CAAC,EAClC,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAC,OAAO,YAEd,OAAO,GACH,CACR,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { StoryObj } from '@storybook/react-vite';
|
|
2
|
+
declare const meta: {
|
|
3
|
+
title: string;
|
|
4
|
+
component: (props: import("./KPICard").KPICardProps) => React.JSX.Element;
|
|
5
|
+
};
|
|
6
|
+
type Story = StoryObj<typeof meta>;
|
|
7
|
+
export declare const Default: Story;
|
|
8
|
+
export default meta;
|
|
9
|
+
//# sourceMappingURL=KPICard.stories.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"KPICard.stories.d.ts","sourceRoot":"","sources":["../../../src/components/kpiCard/KPICard.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAK5D,QAAA,MAAM,IAAI;;;CAGsB,CAAC;AAEjC,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,OAAO,EAAE,KAgCrB,CAAC;AAEF,eAAe,IAAI,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { KVPList } from '../kvpList/KVPList';
|
|
3
|
+
import { Progress } from '../progress/Progress';
|
|
4
|
+
import { KPICard } from './KPICard';
|
|
5
|
+
const meta = {
|
|
6
|
+
title: 'Components/Card/KPICard',
|
|
7
|
+
component: KPICard,
|
|
8
|
+
};
|
|
9
|
+
export const Default = {
|
|
10
|
+
args: {
|
|
11
|
+
label: 'KPI label text',
|
|
12
|
+
value: 'XX.X',
|
|
13
|
+
isPercentage: true,
|
|
14
|
+
},
|
|
15
|
+
render: args => (_jsxs(KPICard, { ...args, children: [_jsx(KVPList, { "aria-label": "Summary values", children: _jsxs(KVPList.Row, { orientation: "horizontal", children: [_jsx(KVPList.Term, { children: "Bar label text" }), _jsx(KVPList.Definition, { prominence: "strong", children: "XX.X" })] }) }), _jsxs(KVPList, { "aria-label": "Progress values", children: [_jsxs(KVPList.Row, { orientation: "horizontal", children: [_jsx(KVPList.Term, { children: "Bar label text" }), _jsx(KVPList.Definition, { prominence: "neutral", children: "X" }), _jsx(KVPList.Definition, { "aria-hidden": "true", isRow: true, children: _jsx(Progress, { "aria-label": "Progress bar first", max: 100, value: 95 }) })] }), _jsxs(KVPList.Row, { orientation: "horizontal", children: [_jsx(KVPList.Term, { children: "Bar label text" }), _jsx(KVPList.Definition, { prominence: "neutral", children: "X" }), _jsx(KVPList.Definition, { "aria-hidden": "true", isRow: true, children: _jsx(Progress, { "aria-label": "Progress bar second", max: 100, value: 95 }) })] })] })] })),
|
|
16
|
+
};
|
|
17
|
+
export default meta;
|
|
18
|
+
//# sourceMappingURL=KPICard.stories.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"KPICard.stories.js","sourceRoot":"","sources":["../../../src/components/kpiCard/KPICard.stories.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AACxD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,MAAM,IAAI,GAAG;IACX,KAAK,EAAE,yBAAyB;IAChC,SAAS,EAAE,OAAO;CACY,CAAC;AAIjC,MAAM,CAAC,MAAM,OAAO,GAAU;IAC5B,IAAI,EAAE;QACJ,KAAK,EAAE,gBAAgB;QACvB,KAAK,EAAE,MAAM;QACb,YAAY,EAAE,IAAI;KACnB;IACD,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,CACd,MAAC,OAAO,OAAK,IAAI,aACf,KAAC,OAAO,kBAAY,gBAAgB,YAClC,MAAC,OAAO,CAAC,GAAG,IAAC,WAAW,EAAC,YAAY,aACnC,KAAC,OAAO,CAAC,IAAI,iCAA8B,EAC3C,KAAC,OAAO,CAAC,UAAU,IAAC,UAAU,EAAC,QAAQ,qBAA0B,IACrD,GACN,EACV,MAAC,OAAO,kBAAY,iBAAiB,aACnC,MAAC,OAAO,CAAC,GAAG,IAAC,WAAW,EAAC,YAAY,aACnC,KAAC,OAAO,CAAC,IAAI,iCAA8B,EAC3C,KAAC,OAAO,CAAC,UAAU,IAAC,UAAU,EAAC,SAAS,kBAAuB,EAC/D,KAAC,OAAO,CAAC,UAAU,mBAAa,MAAM,EAAC,KAAK,kBAC1C,KAAC,QAAQ,kBAAY,oBAAoB,EAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,GAAI,GAC9C,IACT,EACd,MAAC,OAAO,CAAC,GAAG,IAAC,WAAW,EAAC,YAAY,aACnC,KAAC,OAAO,CAAC,IAAI,iCAA8B,EAC3C,KAAC,OAAO,CAAC,UAAU,IAAC,UAAU,EAAC,SAAS,kBAAuB,EAC/D,KAAC,OAAO,CAAC,UAAU,mBAAa,MAAM,EAAC,KAAK,kBAC1C,KAAC,QAAQ,kBAAY,qBAAqB,EAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,GAAI,GAC/C,IACT,IACN,IACF,CACX;CACF,CAAC;AAEF,eAAe,IAAI,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"KPICard.test.d.ts","sourceRoot":"","sources":["../../../src/components/kpiCard/KPICard.test.tsx"],"names":[],"mappings":"AACA,OAAO,kCAAkC,CAAC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { fireEvent, render, screen } from '@testing-library/react';
|
|
3
|
+
import '@testing-library/jest-dom/vitest';
|
|
4
|
+
import { describe, expect, test, vi } from 'vitest';
|
|
5
|
+
import { KPICard } from './KPICard';
|
|
6
|
+
import { KVPList } from '../kvpList/KVPList';
|
|
7
|
+
describe('KPICard', () => {
|
|
8
|
+
test('renders header content and kvp rows', () => {
|
|
9
|
+
render(_jsx(KPICard, { isPercentage: true, label: "Attendance", value: "95.4", children: _jsx(KVPList, { "aria-label": "Breakdown", children: _jsxs(KVPList.Row, { orientation: "horizontal", children: [_jsx(KVPList.Term, { children: "Summary" }), _jsx(KVPList.Definition, { prominence: "strong", children: "95.4" })] }) }) }));
|
|
10
|
+
expect(screen.getByText('Attendance')).toBeInTheDocument();
|
|
11
|
+
expect(screen.getAllByText('95.4')).toHaveLength(2);
|
|
12
|
+
expect(screen.getByText('%')).toBeInTheDocument();
|
|
13
|
+
});
|
|
14
|
+
test('does not render a percentage suffix when isPercentage is false', () => {
|
|
15
|
+
render(_jsx(KPICard, { label: "Attendance", value: "95.4" }));
|
|
16
|
+
expect(screen.queryByText('%')).not.toBeInTheDocument();
|
|
17
|
+
});
|
|
18
|
+
test('uses the shared card shell for click interaction', () => {
|
|
19
|
+
const handleClick = vi.fn();
|
|
20
|
+
render(_jsx(KPICard, { "aria-label": "Attendance KPI card", label: "Attendance", onClick: handleClick, value: "95.4" }));
|
|
21
|
+
fireEvent.click(screen.getByRole('button', { name: 'Attendance KPI card' }));
|
|
22
|
+
expect(handleClick).toHaveBeenCalledTimes(1);
|
|
23
|
+
});
|
|
24
|
+
test('supports keyboard activation through the shared card shell', () => {
|
|
25
|
+
const handleClick = vi.fn();
|
|
26
|
+
render(_jsx(KPICard, { "aria-label": "Attendance KPI card", label: "Attendance", onClick: handleClick, value: "95.4" }));
|
|
27
|
+
fireEvent.keyDown(screen.getByRole('button', { name: 'Attendance KPI card' }), { key: 'Enter' });
|
|
28
|
+
expect(handleClick).toHaveBeenCalledTimes(1);
|
|
29
|
+
});
|
|
30
|
+
test('does not invoke click handlers when disabled', () => {
|
|
31
|
+
const handleClick = vi.fn();
|
|
32
|
+
render(_jsx(KPICard, { "aria-label": "Attendance KPI card", disabled: true, label: "Attendance", onClick: handleClick, value: "95.4" }));
|
|
33
|
+
fireEvent.click(screen.getByRole('button', { name: 'Attendance KPI card' }));
|
|
34
|
+
expect(handleClick).not.toHaveBeenCalled();
|
|
35
|
+
});
|
|
36
|
+
});
|
|
37
|
+
//# sourceMappingURL=KPICard.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"KPICard.test.js","sourceRoot":"","sources":["../../../src/components/kpiCard/KPICard.test.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
export type KVPListProps = React.HTMLAttributes<HTMLDivElement> & {
|
|
2
|
+
children?: React.ReactNode;
|
|
3
|
+
};
|
|
4
|
+
export type KVPListRowProps = React.HTMLAttributes<HTMLDListElement> & {
|
|
5
|
+
children?: React.ReactNode;
|
|
6
|
+
orientation?: 'horizontal' | 'vertical';
|
|
7
|
+
};
|
|
8
|
+
export type KVPListTermProps = React.HTMLAttributes<HTMLElement> & {
|
|
9
|
+
children?: React.ReactNode;
|
|
10
|
+
};
|
|
11
|
+
export type KVPListDefinitionProps = React.HTMLAttributes<HTMLElement> & {
|
|
12
|
+
children?: React.ReactNode;
|
|
13
|
+
isRow?: boolean;
|
|
14
|
+
isPercentage?: boolean;
|
|
15
|
+
prominence?: 'neutral' | 'strong';
|
|
16
|
+
};
|
|
17
|
+
export declare const KVPList: {
|
|
18
|
+
({ children, className, role, "aria-label": ariaLabel, "aria-labelledby": ariaLabelledBy, ...rest }: KVPListProps): React.JSX.Element;
|
|
19
|
+
displayName: string;
|
|
20
|
+
} & {
|
|
21
|
+
Row: {
|
|
22
|
+
({ children, className, orientation, ...rest }: KVPListRowProps): React.JSX.Element;
|
|
23
|
+
displayName: string;
|
|
24
|
+
};
|
|
25
|
+
Term: {
|
|
26
|
+
({ children, className, ...rest }: KVPListTermProps): React.JSX.Element;
|
|
27
|
+
displayName: string;
|
|
28
|
+
};
|
|
29
|
+
Definition: {
|
|
30
|
+
({ children, className, isRow, isPercentage, prominence, ...rest }: KVPListDefinitionProps): React.JSX.Element;
|
|
31
|
+
displayName: string;
|
|
32
|
+
};
|
|
33
|
+
};
|
|
34
|
+
//# sourceMappingURL=KVPList.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"KVPList.d.ts","sourceRoot":"","sources":["../../../src/components/kvpList/KVPList.tsx"],"names":[],"mappings":"AAEA,MAAM,MAAM,YAAY,GAAG,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,GAAG;IAChE,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,KAAK,CAAC,cAAc,CAAC,gBAAgB,CAAC,GAAG;IACrE,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,WAAW,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC;CACzC,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC,GAAG;IACjE,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC,GAAG;IACvE,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,UAAU,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAC;CACnC,CAAC;AAoFF,eAAO,MAAM,OAAO;yGA3EjB,YAAY,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO;;;;wDAiBhC,eAAe,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO;;;;2CAiBnC,gBAAgB,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO;;;;4EAapC,sBAAsB,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO;;;CAgC3C,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import classNames from 'classnames';
|
|
3
|
+
const KVPListRoot = ({ children, className, role, 'aria-label': ariaLabel, 'aria-labelledby': ariaLabelledBy, ...rest }) => (_jsx("div", { className: classNames('ds-kvp-list', className), role: role ?? (ariaLabel || ariaLabelledBy ? 'group' : undefined), "aria-label": ariaLabel, "aria-labelledby": ariaLabelledBy, ...rest, children: children }));
|
|
4
|
+
const KVPListRow = ({ children, className, orientation = 'vertical', ...rest }) => (_jsx("dl", { className: classNames('ds-kvp-list__row', `ds-kvp-list__row--${orientation}`, className), ...rest, children: children }));
|
|
5
|
+
const KVPListTerm = ({ children, className, ...rest }) => (_jsx("dt", { className: classNames('ds-kvp-list__term', className), ...rest, children: children }));
|
|
6
|
+
const KVPListDefinition = ({ children, className, isRow = false, isPercentage = false, prominence = 'neutral', ...rest }) => (_jsxs("dd", { className: classNames('ds-kvp-list__description', `ds-kvp-list__description--${prominence}`, {
|
|
7
|
+
'ds-kvp-list__description--row': isRow,
|
|
8
|
+
}, className), ...rest, children: [children, isPercentage
|
|
9
|
+
? (_jsx("span", { className: "ds-kvp-list__suffix", children: "%" }))
|
|
10
|
+
: null] }));
|
|
11
|
+
KVPListRoot.displayName = 'KVPList';
|
|
12
|
+
KVPListRow.displayName = 'KVPList.Row';
|
|
13
|
+
KVPListTerm.displayName = 'KVPList.Term';
|
|
14
|
+
KVPListDefinition.displayName = 'KVPList.Definition';
|
|
15
|
+
export const KVPList = Object.assign(KVPListRoot, {
|
|
16
|
+
Row: KVPListRow,
|
|
17
|
+
Term: KVPListTerm,
|
|
18
|
+
Definition: KVPListDefinition,
|
|
19
|
+
});
|
|
20
|
+
//# sourceMappingURL=KVPList.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"KVPList.js","sourceRoot":"","sources":["../../../src/components/kvpList/KVPList.tsx"],"names":[],"mappings":";AAAA,OAAO,UAAU,MAAM,YAAY,CAAC;AAsBpC,MAAM,WAAW,GAAG,CAAC,EACnB,QAAQ,EACR,SAAS,EACT,IAAI,EACJ,YAAY,EAAE,SAAS,EACvB,iBAAiB,EAAE,cAAc,EACjC,GAAG,IAAI,EACM,EAAqB,EAAE,CAAC,CACrC,cACE,SAAS,EAAE,UAAU,CAAC,aAAa,EAAE,SAAS,CAAC,EAC/C,IAAI,EAAE,IAAI,IAAI,CAAC,SAAS,IAAI,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,gBACrD,SAAS,qBACJ,cAAc,KAC3B,IAAI,YAEP,QAAQ,GACL,CACP,CAAC;AAEF,MAAM,UAAU,GAAG,CAAC,EAClB,QAAQ,EACR,SAAS,EACT,WAAW,GAAG,UAAU,EACxB,GAAG,IAAI,EACS,EAAqB,EAAE,CAAC,CACxC,aACE,SAAS,EAAE,UAAU,CACnB,kBAAkB,EAClB,qBAAqB,WAAW,EAAE,EAClC,SAAS,CACV,KACG,IAAI,YAEP,QAAQ,GACN,CACN,CAAC;AAEF,MAAM,WAAW,GAAG,CAAC,EACnB,QAAQ,EACR,SAAS,EACT,GAAG,IAAI,EACU,EAAqB,EAAE,CAAC,CACzC,aAAI,SAAS,EAAE,UAAU,CAAC,mBAAmB,EAAE,SAAS,CAAC,KAAM,IAAI,YAChE,QAAQ,GACN,CACN,CAAC;AAEF,MAAM,iBAAiB,GAAG,CAAC,EACzB,QAAQ,EACR,SAAS,EACT,KAAK,GAAG,KAAK,EACb,YAAY,GAAG,KAAK,EACpB,UAAU,GAAG,SAAS,EACtB,GAAG,IAAI,EACgB,EAAqB,EAAE,CAAC,CAC/C,cACE,SAAS,EAAE,UAAU,CACnB,0BAA0B,EAC1B,6BAA6B,UAAU,EAAE,EACzC;QACE,+BAA+B,EAAE,KAAK;KACvC,EACD,SAAS,CACV,KACG,IAAI,aAEP,QAAQ,EACR,YAAY;YACX,CAAC,CAAC,CACE,eAAM,SAAS,EAAC,qBAAqB,kBAE9B,CACR;YACH,CAAC,CAAC,IAAI,IACL,CACN,CAAC;AAEF,WAAW,CAAC,WAAW,GAAG,SAAS,CAAC;AACpC,UAAU,CAAC,WAAW,GAAG,aAAa,CAAC;AACvC,WAAW,CAAC,WAAW,GAAG,cAAc,CAAC;AACzC,iBAAiB,CAAC,WAAW,GAAG,oBAAoB,CAAC;AAErD,MAAM,CAAC,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE;IAChD,GAAG,EAAE,UAAU;IACf,IAAI,EAAE,WAAW;IACjB,UAAU,EAAE,iBAAiB;CAC9B,CAAC,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { StoryObj } from '@storybook/react-vite';
|
|
2
|
+
declare const meta: {
|
|
3
|
+
title: string;
|
|
4
|
+
component: {
|
|
5
|
+
({ children, className, role, "aria-label": ariaLabel, "aria-labelledby": ariaLabelledBy, ...rest }: import("./KVPList").KVPListProps): React.JSX.Element;
|
|
6
|
+
displayName: string;
|
|
7
|
+
} & {
|
|
8
|
+
Row: {
|
|
9
|
+
({ children, className, orientation, ...rest }: import("./KVPList").KVPListRowProps): React.JSX.Element;
|
|
10
|
+
displayName: string;
|
|
11
|
+
};
|
|
12
|
+
Term: {
|
|
13
|
+
({ children, className, ...rest }: import("./KVPList").KVPListTermProps): React.JSX.Element;
|
|
14
|
+
displayName: string;
|
|
15
|
+
};
|
|
16
|
+
Definition: {
|
|
17
|
+
({ children, className, isRow, isPercentage, prominence, ...rest }: import("./KVPList").KVPListDefinitionProps): React.JSX.Element;
|
|
18
|
+
displayName: string;
|
|
19
|
+
};
|
|
20
|
+
};
|
|
21
|
+
};
|
|
22
|
+
type Story = StoryObj<typeof meta>;
|
|
23
|
+
export declare const Summary: Story;
|
|
24
|
+
export declare const WithProgressAndPercentage: Story;
|
|
25
|
+
export declare const WithProgressNoPercentage: Story;
|
|
26
|
+
export default meta;
|
|
27
|
+
//# sourceMappingURL=KVPList.stories.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"KVPList.stories.d.ts","sourceRoot":"","sources":["../../../src/components/kvpList/KVPList.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAI5D,QAAA,MAAM,IAAI;;;;;;;;;;;;;;;;;;;CAGsB,CAAC;AAEjC,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,OAAO,EAAE,KASrB,CAAC;AAEF,eAAO,MAAM,yBAAyB,EAAE,KAYvC,CAAC;AAEF,eAAO,MAAM,wBAAwB,EAAE,KAYtC,CAAC;AAEF,eAAe,IAAI,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Progress } from '../progress/Progress';
|
|
3
|
+
import { KVPList } from './KVPList';
|
|
4
|
+
const meta = {
|
|
5
|
+
title: 'Components/KVPList',
|
|
6
|
+
component: KVPList,
|
|
7
|
+
};
|
|
8
|
+
export const Summary = {
|
|
9
|
+
render: args => (_jsx(KVPList, { ...args, "aria-label": "Attendance metrics", children: _jsxs(KVPList.Row, { orientation: "horizontal", children: [_jsx(KVPList.Term, { children: "Attendance" }), _jsx(KVPList.Definition, { isPercentage: true, prominence: "strong", children: "95" })] }) })),
|
|
10
|
+
};
|
|
11
|
+
export const WithProgressAndPercentage = {
|
|
12
|
+
render: args => (_jsx(KVPList, { ...args, "aria-label": "Attendance breakdown", children: _jsxs(KVPList.Row, { orientation: "horizontal", children: [_jsx(KVPList.Term, { children: "Bar label text" }), _jsx(KVPList.Definition, { isPercentage: true, prominence: "neutral", children: "95" }), _jsx(KVPList.Definition, { "aria-hidden": "true", isRow: true, children: _jsx(Progress, { "aria-label": "Attendance progress", max: 100, value: 95 }) })] }) })),
|
|
13
|
+
};
|
|
14
|
+
export const WithProgressNoPercentage = {
|
|
15
|
+
render: args => (_jsx(KVPList, { ...args, "aria-label": "Attendance breakdown without percentage", children: _jsxs(KVPList.Row, { orientation: "horizontal", children: [_jsx(KVPList.Term, { children: "Bar label text" }), _jsx(KVPList.Definition, { prominence: "neutral", children: "X" }), _jsx(KVPList.Definition, { "aria-hidden": "true", isRow: true, children: _jsx(Progress, { "aria-label": "Attendance progress second", max: 100, value: 95 }) })] }) })),
|
|
16
|
+
};
|
|
17
|
+
export default meta;
|
|
18
|
+
//# sourceMappingURL=KVPList.stories.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"KVPList.stories.js","sourceRoot":"","sources":["../../../src/components/kvpList/KVPList.stories.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AACxD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,MAAM,IAAI,GAAG;IACX,KAAK,EAAE,oBAAoB;IAC3B,SAAS,EAAE,OAAO;CACY,CAAC;AAIjC,MAAM,CAAC,MAAM,OAAO,GAAU;IAC5B,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,CACd,KAAC,OAAO,OAAK,IAAI,gBAAa,oBAAoB,YAChD,MAAC,OAAO,CAAC,GAAG,IAAC,WAAW,EAAC,YAAY,aACnC,KAAC,OAAO,CAAC,IAAI,6BAA0B,EACvC,KAAC,OAAO,CAAC,UAAU,IAAC,YAAY,QAAC,UAAU,EAAC,QAAQ,mBAAwB,IAChE,GACN,CACX;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,yBAAyB,GAAU;IAC9C,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,CACd,KAAC,OAAO,OAAK,IAAI,gBAAa,sBAAsB,YAClD,MAAC,OAAO,CAAC,GAAG,IAAC,WAAW,EAAC,YAAY,aACnC,KAAC,OAAO,CAAC,IAAI,iCAA8B,EAC3C,KAAC,OAAO,CAAC,UAAU,IAAC,YAAY,QAAC,UAAU,EAAC,SAAS,mBAAwB,EAC7E,KAAC,OAAO,CAAC,UAAU,mBAAa,MAAM,EAAC,KAAK,kBAC1C,KAAC,QAAQ,kBAAY,qBAAqB,EAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,GAAI,GAC/C,IACT,GACN,CACX;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,wBAAwB,GAAU;IAC7C,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,CACd,KAAC,OAAO,OAAK,IAAI,gBAAa,yCAAyC,YACrE,MAAC,OAAO,CAAC,GAAG,IAAC,WAAW,EAAC,YAAY,aACnC,KAAC,OAAO,CAAC,IAAI,iCAA8B,EAC3C,KAAC,OAAO,CAAC,UAAU,IAAC,UAAU,EAAC,SAAS,kBAAuB,EAC/D,KAAC,OAAO,CAAC,UAAU,mBAAa,MAAM,EAAC,KAAK,kBAC1C,KAAC,QAAQ,kBAAY,4BAA4B,EAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,GAAI,GACtD,IACT,GACN,CACX;CACF,CAAC;AAEF,eAAe,IAAI,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"KVPList.test.d.ts","sourceRoot":"","sources":["../../../src/components/kvpList/KVPList.test.tsx"],"names":[],"mappings":"AAAA,OAAO,kCAAkC,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import '@testing-library/jest-dom/vitest';
|
|
3
|
+
import { render, screen } from '@testing-library/react';
|
|
4
|
+
import { describe, expect, test } from 'vitest';
|
|
5
|
+
import { KVPList } from './KVPList';
|
|
6
|
+
describe('KVPList', () => {
|
|
7
|
+
test('renders term and definition semantics', () => {
|
|
8
|
+
render(_jsx(KVPList, { "aria-label": "Attendance metrics", children: _jsxs(KVPList.Row, { orientation: "horizontal", children: [_jsx(KVPList.Term, { children: "Attendance" }), _jsx(KVPList.Definition, { prominence: "strong", children: "95" })] }) }));
|
|
9
|
+
expect(screen.getByText('Attendance').tagName).toBe('DT');
|
|
10
|
+
expect(screen.getByText('95').tagName).toBe('DD');
|
|
11
|
+
expect(screen.getByRole('group', { name: 'Attendance metrics' })).toBeInTheDocument();
|
|
12
|
+
});
|
|
13
|
+
test('renders a typed percentage suffix', () => {
|
|
14
|
+
render(_jsx(KVPList, { children: _jsxs(KVPList.Row, { orientation: "horizontal", children: [_jsx(KVPList.Term, { children: "Attendance" }), _jsx(KVPList.Definition, { isPercentage: true, prominence: "neutral", children: "95" })] }) }));
|
|
15
|
+
const percentageDefinition = screen.getByText('95').closest('dd');
|
|
16
|
+
expect(screen.getByText('%')).toBeInTheDocument();
|
|
17
|
+
expect(percentageDefinition).toHaveTextContent('95%');
|
|
18
|
+
});
|
|
19
|
+
test('supports horizontal rows and row-spanning definitions', () => {
|
|
20
|
+
const { container } = render(_jsx(KVPList, { children: _jsxs(KVPList.Row, { orientation: "horizontal", children: [_jsx(KVPList.Term, { children: "Progress" }), _jsx(KVPList.Definition, { isRow: true, children: "Full width content" })] }) }));
|
|
21
|
+
expect(container.querySelector('.ds-kvp-list__row--horizontal')).toBeInTheDocument();
|
|
22
|
+
expect(container.querySelector('.ds-kvp-list__description--row')).toBeInTheDocument();
|
|
23
|
+
});
|
|
24
|
+
test('does not add group semantics when no accessible label is provided', () => {
|
|
25
|
+
render(_jsx(KVPList, { children: _jsxs(KVPList.Row, { orientation: "horizontal", children: [_jsx(KVPList.Term, { children: "Attendance" }), _jsx(KVPList.Definition, { prominence: "strong", children: "95" })] }) }));
|
|
26
|
+
expect(screen.queryByRole('group')).not.toBeInTheDocument();
|
|
27
|
+
});
|
|
28
|
+
});
|
|
29
|
+
//# sourceMappingURL=KVPList.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"KVPList.test.js","sourceRoot":"","sources":["../../../src/components/kvpList/KVPList.test.tsx"],"names":[],"mappings":";AAAA,OAAO,kCAAkC,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,QAAQ,CAAC,SAAS,EAAE,GAAG,EAAE;IACvB,IAAI,CAAC,uCAAuC,EAAE,GAAG,EAAE;QACjD,MAAM,CACJ,KAAC,OAAO,kBAAY,oBAAoB,YACtC,MAAC,OAAO,CAAC,GAAG,IAAC,WAAW,EAAC,YAAY,aACnC,KAAC,OAAO,CAAC,IAAI,6BAA0B,EACvC,KAAC,OAAO,CAAC,UAAU,IAAC,UAAU,EAAC,QAAQ,mBAAwB,IACnD,GACN,CACX,CAAC;QAEF,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1D,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClD,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,oBAAoB,EAAE,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC;IACxF,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,mCAAmC,EAAE,GAAG,EAAE;QAC7C,MAAM,CACJ,KAAC,OAAO,cACN,MAAC,OAAO,CAAC,GAAG,IAAC,WAAW,EAAC,YAAY,aACnC,KAAC,OAAO,CAAC,IAAI,6BAA0B,EACvC,KAAC,OAAO,CAAC,UAAU,IAAC,YAAY,QAAC,UAAU,EAAC,SAAS,mBAEhC,IACT,GACN,CACX,CAAC;QAEF,MAAM,oBAAoB,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAElE,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC;QAClD,MAAM,CAAC,oBAAoB,CAAC,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,uDAAuD,EAAE,GAAG,EAAE;QACjE,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAC1B,KAAC,OAAO,cACN,MAAC,OAAO,CAAC,GAAG,IAAC,WAAW,EAAC,YAAY,aACnC,KAAC,OAAO,CAAC,IAAI,2BAAwB,EACrC,KAAC,OAAO,CAAC,UAAU,IAAC,KAAK,yCAAwC,IACrD,GACN,CACX,CAAC;QAEF,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,+BAA+B,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC;QACrF,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,gCAAgC,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC;IACxF,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,mEAAmE,EAAE,GAAG,EAAE;QAC7E,MAAM,CACJ,KAAC,OAAO,cACN,MAAC,OAAO,CAAC,GAAG,IAAC,WAAW,EAAC,YAAY,aACnC,KAAC,OAAO,CAAC,IAAI,6BAA0B,EACvC,KAAC,OAAO,CAAC,UAAU,IAAC,UAAU,EAAC,QAAQ,mBAAwB,IACnD,GACN,CACX,CAAC;QAEF,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,iBAAiB,EAAE,CAAC;IAC9D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -11,7 +11,7 @@ export declare const SingleUser: React.ForwardRefExoticComponent<{
|
|
|
11
11
|
className?: string;
|
|
12
12
|
avatarClassName?: string;
|
|
13
13
|
size?: AvatarSize;
|
|
14
|
-
} & Omit<AvatarProps, "size" | "
|
|
14
|
+
} & Omit<AvatarProps, "size" | "className" | "alt"> & React.RefAttributes<HTMLSpanElement>>;
|
|
15
15
|
export declare namespace SingleUser {
|
|
16
16
|
type Props = SingleUserProps;
|
|
17
17
|
}
|
|
@@ -16,6 +16,7 @@ type TableProps<TData = any> = {
|
|
|
16
16
|
'enableSimultaneousRangeAndRowSelection'?: boolean;
|
|
17
17
|
'disableDragSelect'?: boolean;
|
|
18
18
|
'tableTheme'?: string;
|
|
19
|
+
'verticalHeaderText'?: boolean;
|
|
19
20
|
} & UseTableSettingsParams & AgGridReactProps<TData>;
|
|
20
21
|
export { TableSettingsContext } from './TableSettingsContext';
|
|
21
22
|
export declare const Table: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Table.d.ts","sourceRoot":"","sources":["../../../src/components/table/Table.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAuC,KAAK,OAAO,EAAE,MAAM,oBAAoB,CAAC;AACvF,OAAO,EAAe,KAAK,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAGnE,OAAO,EAAoB,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAUzD,OAAO,EAAoB,KAAK,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"Table.d.ts","sourceRoot":"","sources":["../../../src/components/table/Table.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAuC,KAAK,OAAO,EAAE,MAAM,oBAAoB,CAAC;AACvF,OAAO,EAAe,KAAK,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAGnE,OAAO,EAAoB,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAUzD,OAAO,EAAoB,KAAK,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAcnF,OAAO,EAAiB,KAAK,kBAAkB,EAAE,KAAK,UAAU,IAAI,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC1H,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,qCAAqC,CAAC;AACpF,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAO9C,KAAK,UAAU,CAAC,KAAK,GAAG,GAAG,IAAI;IAC7B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,eAAe,CAAC,EAAE,SAAS,CAAC;IAC5B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,SAAS,CAAC;IAC5B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,wCAAwC,CAAC,EAAE,OAAO,CAAC;IACnD,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC,GAAG,sBAAsB,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;AAMrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D,eAAO,MAAM,KAAK;YAAW,UAAU;;;;;;;;;;;;;;;;;;;;;;;;CAyJtC,CAAC;AAqBF,yBAAiB,KAAK,CAAC;IAErB,KAAY,KAAK,CAAC,KAAK,GAAG,GAAG,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC;IACnD,KAAY,aAAa,GAAG,kBAAkB,CAAC;IAC/C,KAAY,UAAU,GAAG,cAAc,CAAC;IACxC,KAAY,gBAAgB,GAAG,wBAAwB,CAAC;IACxD,KAAY,OAAO,GAAG,aAAa,CAAC;CACrC"}
|
|
@@ -17,6 +17,7 @@ import { useTableSettings } from './useTableSettings';
|
|
|
17
17
|
import { setAgGridLicenseKey } from '../../utils/setAgGridLicenseKey';
|
|
18
18
|
import { toggleRowSelectionInCurrentRange } from './toggleRowSelectionInCurrentRange';
|
|
19
19
|
import { defaultValueFormatter, DSDefaultColDef, shouldSuppressFocus } from './DSDefaultColDef';
|
|
20
|
+
import { NumberCellEditor } from './cellEditors/NumberCellEditor';
|
|
20
21
|
import { ButtonCellRenderer } from './cellRenderers/ButtonCellRenderer';
|
|
21
22
|
import { InlineTextCellRenderer } from './cellRenderers/InlineTextCellRenderer';
|
|
22
23
|
import { SelectDropdownCellRenderer } from './cellRenderers/SelectDropdownCellRenderer';
|
|
@@ -36,7 +37,7 @@ setAgGridLicenseKey();
|
|
|
36
37
|
ModuleRegistry.registerModules([AllEnterpriseModule]);
|
|
37
38
|
export { TableSettingsContext } from './TableSettingsContext';
|
|
38
39
|
export const Table = (props) => {
|
|
39
|
-
const { 'data-testid': testId, wrapperClassName, headerContent, headerTestId, hasSearch = true, footerContent, footerTestId, onGridReady, onTableSettingsChanged, onTableSettingsReset, onColumnBordersChanged, onTableSpacingChanged, onCellColorsChanged, enableSimultaneousRangeAndRowSelection = false, disableDragSelect = false, onCellSelectionChanged, defaultColDef = {}, context = {}, components = {}, tableTheme, onCellFocused, ...rest } = props;
|
|
40
|
+
const { 'data-testid': testId, wrapperClassName, headerContent, headerTestId, hasSearch = true, footerContent, footerTestId, onGridReady, onTableSettingsChanged, onTableSettingsReset, onColumnBordersChanged, onTableSpacingChanged, onCellColorsChanged, enableSimultaneousRangeAndRowSelection = false, disableDragSelect = false, onCellSelectionChanged, defaultColDef = {}, context = {}, components = {}, tableTheme, onCellFocused, verticalHeaderText = false, className: propsClassName, ...rest } = props;
|
|
40
41
|
const [gridApi, setGridApi] = useState(null);
|
|
41
42
|
const [searchValue, setSearchValue] = useState('');
|
|
42
43
|
const { settings, resetSettings, setHasColumnBorders, setTableSpacing, setAreCellColorsEnabled, } = useTableSettings({
|
|
@@ -75,7 +76,7 @@ export const Table = (props) => {
|
|
|
75
76
|
const { api } = event;
|
|
76
77
|
setGridApi(api);
|
|
77
78
|
onGridReady?.(event);
|
|
78
|
-
}, enableFilterHandlers: true, suppressPaginationPanel: true, onCellSelectionChanged: (event) => {
|
|
79
|
+
}, className: classNames('ds-table', { 'ds-table--vertical-header-text': verticalHeaderText }, propsClassName), enableFilterHandlers: true, suppressPaginationPanel: true, onCellSelectionChanged: (event) => {
|
|
79
80
|
if ((!disableDragSelect || !enableSimultaneousRangeAndRowSelection) && gridApi && event.finished) {
|
|
80
81
|
toggleRowSelectionInCurrentRange(gridApi, isUsingKeyboardRef.current, disableDragSelect, enableSimultaneousRangeAndRowSelection);
|
|
81
82
|
}
|
|
@@ -96,6 +97,7 @@ export const Table = (props) => {
|
|
|
96
97
|
dsSelectDropdownCellRenderer: SelectDropdownCellRenderer,
|
|
97
98
|
dsBooleanFilter: BooleanFilter,
|
|
98
99
|
dsTimeFilter: TimeFilter,
|
|
100
|
+
dsNumberCellEditor: NumberCellEditor,
|
|
99
101
|
dsDateCellEditor: DateCellEditor,
|
|
100
102
|
dsCheckboxCellRenderer: CheckboxCellRenderer,
|
|
101
103
|
dsBooleanCellRenderer: BooleanCellRenderer,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Table.js","sourceRoot":"","sources":["../../../src/components/table/Table.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAgB,MAAM,oBAAoB,CAAC;AACvF,OAAO,EAAE,WAAW,EAAyB,MAAM,eAAe,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAkB,MAAM,OAAO,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC1E,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC1E,OAAO,EAAE,gBAAgB,EAA+B,MAAM,oBAAoB,CAAC;AACnF,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,gCAAgC,EAAE,MAAM,oCAAoC,CAAC;AACtF,OAAO,EAAE,qBAAqB,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAChG,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AACxE,OAAO,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAChF,OAAO,EAAE,0BAA0B,EAAE,MAAM,4CAA4C,CAAC;AACxF,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,0BAA0B,EAAE,MAAM,kCAAkC,CAAC;AAC9E,OAAO,EAAE,aAAa,EAAE,MAAM,6CAA6C,CAAC;AAC5E,OAAO,EAAE,UAAU,EAAE,MAAM,uCAAuC,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,uCAAuC,CAAC;AAC9E,OAAO,EAAE,aAAa,EAA8D,MAAM,+BAA+B,CAAC;AAE1H,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC1E,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;
|
|
1
|
+
{"version":3,"file":"Table.js","sourceRoot":"","sources":["../../../src/components/table/Table.tsx"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,7 @@ type TableProps = ComponentProps<typeof Table>;
|
|
|
5
5
|
declare const meta: Meta<TableProps>;
|
|
6
6
|
type Story = StoryObj<typeof Table>;
|
|
7
7
|
export declare const Default: Story;
|
|
8
|
+
export declare const WithVerticalHeaderText: Story;
|
|
8
9
|
export declare const WithFooter: Story;
|
|
9
10
|
export declare const WithHeader: Story;
|
|
10
11
|
export declare const WithHeaderAndNoSearch: Story;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Table.stories.d.ts","sourceRoot":"","sources":["../../../src/components/table/Table.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAGhC,OAAO,EAAY,KAAK,cAAc,EAAE,MAAM,OAAO,CAAC;AAmBtD,KAAK,UAAU,GAAG,cAAc,CAAC,OAAO,KAAK,CAAC,CAAC;AAE/C,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,UAAU,CAY1B,CAAC;AAEF,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,KAAK,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"Table.stories.d.ts","sourceRoot":"","sources":["../../../src/components/table/Table.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAGhC,OAAO,EAAY,KAAK,cAAc,EAAE,MAAM,OAAO,CAAC;AAmBtD,KAAK,UAAU,GAAG,cAAc,CAAC,OAAO,KAAK,CAAC,CAAC;AAE/C,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,UAAU,CAY1B,CAAC;AAEF,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,KAAK,CAAC,CAAC;AA4NpC,eAAO,MAAM,OAAO,EAAE,KAYrB,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,KAoBpC,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,KASxB,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,KAoBxB,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,KASnC,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,KASjC,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,KA8B7B,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,KA8B/B,CAAC;AAEF,eAAO,MAAM,+BAA+B,EAAE,KA0B7C,CAAC;AAEF,eAAO,MAAM,6BAA6B,EAAE,KAwB3C,CAAC;AAEF,eAAO,MAAM,uBAAuB,EAAE,KA4CrC,CAAC;AAEF,eAAO,MAAM,iCAAiC,EAAE,KAmD/C,CAAC;AAEF,eAAO,MAAM,wBAAwB,EAAE,QAAQ,CAAC,UAAU,CAsBzD,CAAC;AAEF,eAAO,MAAM,wBAAwB,EAAE,QAAQ,CAAC,UAAU,CAqDzD,CAAC;AA6FF,eAAO,MAAM,sBAAsB,EAAE,KASpC,CAAC;AAEF,eAAO,MAAM,qDAAqD,EAAE,QAAQ,CAAC,UAAU,CAqGpF,CAAC;AAEJ,eAAO,MAAM,wDAAwD,EAAE,QAAQ,CAAC,UAAU,CA0HvF,CAAC;AAEJ,eAAO,MAAM,0BAA0B,EAAE,KAkBxC,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,KA0E1B,CAAC;AA0BF,eAAO,MAAM,cAAc,EAAE,KAiB5B,CAAC;AA8BF,eAAO,MAAM,0BAA0B,EAAE,KAiBxC,CAAC;AAwJF,eAAO,MAAM,SAAS,EAAE,KAiCvB,CAAC;AAEF,eAAO,MAAM,wBAAwB,EAAE,KAsHtC,CAAC;AAEF,eAAO,MAAM,uBAAuB,EAAE,KA0DrC,CAAC;AAoFF,eAAO,MAAM,kBAAkB,EAAE,KAkBhC,CAAC;AAiCF,eAAO,MAAM,uBAAuB,EAAE,KAerC,CAAC;AAiFF,eAAO,MAAM,wBAAwB,EAAE,KAetC,CAAC;AAEF,eAAe,IAAI,CAAC"}
|