@arbor-education/design-system.components 0.0.1 → 0.0.3
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/.github/workflows/design-system-pr-checks.yml +37 -0
- package/.husky/pre-commit +2 -1
- package/.storybook/main.ts +12 -0
- package/.storybook/preview.ts +1 -1
- package/README.md +7 -4
- package/dist/components/button/Button.test.d.ts +2 -0
- package/dist/components/button/Button.test.d.ts.map +1 -0
- package/dist/components/button/Button.test.js +44 -0
- package/dist/components/button/Button.test.js.map +1 -0
- package/dist/components/card/Card.test.d.ts +2 -0
- package/dist/components/card/Card.test.d.ts.map +1 -0
- package/dist/components/card/Card.test.js +169 -0
- package/dist/components/card/Card.test.js.map +1 -0
- package/dist/components/formField/FormField.d.ts +20 -0
- package/dist/components/formField/FormField.d.ts.map +1 -0
- package/dist/components/formField/FormField.js +25 -0
- package/dist/components/formField/FormField.js.map +1 -0
- package/dist/components/formField/FormField.stories.d.ts +58 -0
- package/dist/components/formField/FormField.stories.d.ts.map +1 -0
- package/dist/components/formField/FormField.stories.js +75 -0
- package/dist/components/formField/FormField.stories.js.map +1 -0
- package/dist/components/formField/FormField.test.d.ts +2 -0
- package/dist/components/formField/FormField.test.d.ts.map +1 -0
- package/dist/components/formField/FormField.test.js +37 -0
- package/dist/components/formField/FormField.test.js.map +1 -0
- package/dist/components/formField/inputs/text/TextInput.d.ts +7 -0
- package/dist/components/formField/inputs/text/TextInput.d.ts.map +1 -0
- package/dist/components/formField/inputs/text/TextInput.js +11 -0
- package/dist/components/formField/inputs/text/TextInput.js.map +1 -0
- package/dist/components/formField/inputs/text/TextInput.stories.d.ts +31 -0
- package/dist/components/formField/inputs/text/TextInput.stories.d.ts.map +1 -0
- package/dist/components/formField/inputs/text/TextInput.stories.js +37 -0
- package/dist/components/formField/inputs/text/TextInput.stories.js.map +1 -0
- package/dist/components/formField/inputs/text/TextInput.test.d.ts +2 -0
- package/dist/components/formField/inputs/text/TextInput.test.d.ts.map +1 -0
- package/dist/components/formField/inputs/text/TextInput.test.js +29 -0
- package/dist/components/formField/inputs/text/TextInput.test.js.map +1 -0
- package/dist/components/formField/inputs/textArea/TextArea.d.ts +7 -0
- package/dist/components/formField/inputs/textArea/TextArea.d.ts.map +1 -0
- package/dist/components/formField/inputs/textArea/TextArea.js +26 -0
- package/dist/components/formField/inputs/textArea/TextArea.js.map +1 -0
- package/dist/components/formField/inputs/textArea/TextArea.stories.d.ts +11 -0
- package/dist/components/formField/inputs/textArea/TextArea.stories.d.ts.map +1 -0
- package/dist/components/formField/inputs/textArea/TextArea.stories.js +14 -0
- package/dist/components/formField/inputs/textArea/TextArea.stories.js.map +1 -0
- package/dist/components/formField/inputs/textArea/TextArea.test.d.ts +2 -0
- package/dist/components/formField/inputs/textArea/TextArea.test.d.ts.map +1 -0
- package/dist/components/formField/inputs/textArea/TextArea.test.js +19 -0
- package/dist/components/formField/inputs/textArea/TextArea.test.js.map +1 -0
- package/dist/components/formField/label/Label.d.ts +3 -0
- package/dist/components/formField/label/Label.d.ts.map +1 -0
- package/dist/components/formField/label/Label.js +8 -0
- package/dist/components/formField/label/Label.js.map +1 -0
- package/dist/components/formField/label/Label.stories.d.ts +10 -0
- package/dist/components/formField/label/Label.stories.d.ts.map +1 -0
- package/dist/components/formField/label/Label.stories.js +12 -0
- package/dist/components/formField/label/Label.stories.js.map +1 -0
- package/dist/components/formField/label/Label.test.d.ts +2 -0
- package/dist/components/formField/label/Label.test.d.ts.map +1 -0
- package/dist/components/formField/label/Label.test.js +10 -0
- package/dist/components/formField/label/Label.test.js.map +1 -0
- package/dist/components/heading/Heading.test.d.ts +2 -0
- package/dist/components/heading/Heading.test.d.ts.map +1 -0
- package/dist/components/heading/Heading.test.js +20 -0
- package/dist/components/heading/Heading.test.js.map +1 -0
- package/dist/components/icon/Icon.test.d.ts +2 -0
- package/dist/components/icon/Icon.test.d.ts.map +1 -0
- package/dist/components/icon/Icon.test.js +17 -0
- package/dist/components/icon/Icon.test.js.map +1 -0
- package/dist/components/icon/customIcons/CheckSolid.js.map +1 -1
- package/dist/components/icon/customIcons/XSolid.js.map +1 -1
- package/dist/components/pill/Pill.test.d.ts +2 -0
- package/dist/components/pill/Pill.test.d.ts.map +1 -0
- package/dist/components/pill/Pill.test.js +20 -0
- package/dist/components/pill/Pill.test.js.map +1 -0
- package/dist/components/tabs/Tabs.d.ts +21 -0
- package/dist/components/tabs/Tabs.d.ts.map +1 -0
- package/dist/components/tabs/Tabs.js +43 -0
- package/dist/components/tabs/Tabs.js.map +1 -0
- package/dist/components/tabs/Tabs.stories.d.ts +11 -0
- package/dist/components/tabs/Tabs.stories.d.ts.map +1 -0
- package/dist/components/tabs/Tabs.stories.js +74 -0
- package/dist/components/tabs/Tabs.stories.js.map +1 -0
- package/dist/components/tabs/Tabs.test.d.ts +2 -0
- package/dist/components/tabs/Tabs.test.d.ts.map +1 -0
- package/dist/components/tabs/Tabs.test.js +115 -0
- package/dist/components/tabs/Tabs.test.js.map +1 -0
- package/dist/index.css +132 -24
- package/dist/index.css.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/package.json +11 -4
- package/src/components/card/card.scss +1 -1
- package/src/components/formField/FormField.stories.tsx +112 -0
- package/src/components/formField/FormField.test.tsx +41 -0
- package/src/components/formField/FormField.tsx +73 -0
- package/src/components/formField/formField.scss +41 -0
- package/src/components/formField/inputs/input.scss +75 -0
- package/src/components/formField/inputs/text/TextInput.stories.tsx +42 -0
- package/src/components/formField/inputs/text/TextInput.test.tsx +31 -0
- package/src/components/formField/inputs/text/TextInput.tsx +35 -0
- package/src/components/formField/inputs/textArea/TextArea.stories.tsx +18 -0
- package/src/components/formField/inputs/textArea/TextArea.test.tsx +19 -0
- package/src/components/formField/inputs/textArea/TextArea.tsx +56 -0
- package/src/components/formField/label/Label.stories.tsx +15 -0
- package/src/components/formField/label/Label.test.tsx +9 -0
- package/src/components/formField/label/Label.tsx +8 -0
- package/src/components/formField/label/label.scss +9 -0
- package/src/components/icon/customIcons/CheckSolid.tsx +1 -1
- package/src/components/icon/customIcons/XSolid.tsx +1 -1
- package/src/index.scss +10 -7
- package/src/index.ts +8 -6
- package/src/tokens.scss +25 -22
- package/tsconfig.json +8 -4
- package/vitest.config.ts +7 -16
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Tabs } from './Tabs';
|
|
3
|
+
const meta = {
|
|
4
|
+
title: 'Components/Tabs',
|
|
5
|
+
component: Tabs,
|
|
6
|
+
parameters: {
|
|
7
|
+
layout: 'padded',
|
|
8
|
+
docs: {
|
|
9
|
+
description: {
|
|
10
|
+
component: 'A flexible tabs component with compound component pattern. Use Tabs.Item to create individual tab items.',
|
|
11
|
+
},
|
|
12
|
+
},
|
|
13
|
+
},
|
|
14
|
+
argTypes: {
|
|
15
|
+
defaultActiveTab: {
|
|
16
|
+
control: 'text',
|
|
17
|
+
description: 'The ID of the tab that should be active by default',
|
|
18
|
+
},
|
|
19
|
+
onTabChange: {
|
|
20
|
+
action: 'tab changed',
|
|
21
|
+
description: 'Callback function called when the active tab changes',
|
|
22
|
+
},
|
|
23
|
+
className: {
|
|
24
|
+
control: 'text',
|
|
25
|
+
description: 'Additional CSS class name for the tabs container',
|
|
26
|
+
},
|
|
27
|
+
},
|
|
28
|
+
};
|
|
29
|
+
export default meta;
|
|
30
|
+
export const Default = {
|
|
31
|
+
args: {
|
|
32
|
+
defaultActiveTab: 'tab1',
|
|
33
|
+
},
|
|
34
|
+
render: (args) => (_jsxs(Tabs, { ...args, children: [_jsx(Tabs.Item, { tabId: "tab1", label: "Overview", children: _jsxs("div", { children: [_jsx("h3", { children: "Overview" }), _jsx("p", { children: "This is the overview tab content. It contains general information about the topic." })] }) }), _jsx(Tabs.Item, { tabId: "tab2", label: "Details", children: _jsxs("div", { children: [_jsx("h3", { children: "Details" }), _jsx("p", { children: "This is the details tab content. It provides more specific information and data." })] }) }), _jsx(Tabs.Item, { tabId: "tab3", label: "Settings", children: _jsxs("div", { children: [_jsx("h3", { children: "Settings" }), _jsx("p", { children: "This is the settings tab content. It contains configuration options and preferences." })] }) })] })),
|
|
35
|
+
};
|
|
36
|
+
export const WithDisabledTab = {
|
|
37
|
+
args: {
|
|
38
|
+
defaultActiveTab: 'tab1',
|
|
39
|
+
},
|
|
40
|
+
render: (args) => (_jsxs(Tabs, { ...args, children: [_jsx(Tabs.Item, { tabId: "tab1", label: "Available", children: _jsxs("div", { children: [_jsx("h3", { children: "Available" }), _jsx("p", { children: "This tab is available and can be clicked." })] }) }), _jsx(Tabs.Item, { tabId: "tab2", label: "Disabled", disabled: true, children: _jsxs("div", { children: [_jsx("h3", { children: "Disabled" }), _jsx("p", { children: "This tab is disabled and cannot be clicked." })] }) }), _jsx(Tabs.Item, { tabId: "tab3", label: "Another Available", children: _jsxs("div", { children: [_jsx("h3", { children: "Another Available" }), _jsx("p", { children: "This tab is also available and can be clicked." })] }) })] })),
|
|
41
|
+
};
|
|
42
|
+
export const ManyTabs = {
|
|
43
|
+
args: {
|
|
44
|
+
defaultActiveTab: 'tab3',
|
|
45
|
+
},
|
|
46
|
+
render: (args) => (_jsxs(Tabs, { ...args, children: [_jsx(Tabs.Item, { tabId: "tab1", label: "First", children: _jsxs("div", { children: [_jsx("h3", { children: "First Tab" }), _jsx("p", { children: "Content for the first tab." })] }) }), _jsx(Tabs.Item, { tabId: "tab2", label: "Second", children: _jsxs("div", { children: [_jsx("h3", { children: "Second Tab" }), _jsx("p", { children: "Content for the second tab." })] }) }), _jsx(Tabs.Item, { tabId: "tab3", label: "Third", children: _jsxs("div", { children: [_jsx("h3", { children: "Third Tab" }), _jsx("p", { children: "Content for the third tab." })] }) }), _jsx(Tabs.Item, { tabId: "tab4", label: "Fourth", children: _jsxs("div", { children: [_jsx("h3", { children: "Fourth Tab" }), _jsx("p", { children: "Content for the fourth tab." })] }) }), _jsx(Tabs.Item, { tabId: "tab5", label: "Fifth", children: _jsxs("div", { children: [_jsx("h3", { children: "Fifth Tab" }), _jsx("p", { children: "Content for the fifth tab." })] }) }), _jsx(Tabs.Item, { tabId: "tab6", label: "Sixth", children: _jsxs("div", { children: [_jsx("h3", { children: "Sixth Tab" }), _jsx("p", { children: "Content for the sixth tab." })] }) })] })),
|
|
47
|
+
};
|
|
48
|
+
export const WithRichContent = {
|
|
49
|
+
args: {
|
|
50
|
+
defaultActiveTab: 'dashboard',
|
|
51
|
+
},
|
|
52
|
+
render: (args) => (_jsxs(Tabs, { ...args, children: [_jsx(Tabs.Item, { tabId: "dashboard", label: "Dashboard", children: _jsxs("div", { children: [_jsx("h3", { children: "Dashboard" }), _jsxs("div", { style: { display: 'grid', gridTemplateColumns: '1fr 1fr', gap: '16px', marginTop: '16px' }, children: [_jsxs("div", { style: { padding: '16px', backgroundColor: '#f5f5f5', borderRadius: '8px' }, children: [_jsx("h4", { children: "Total Users" }), _jsx("p", { style: { fontSize: '24px', fontWeight: 'bold', margin: '8px 0' }, children: "1,234" })] }), _jsxs("div", { style: { padding: '16px', backgroundColor: '#f5f5f5', borderRadius: '8px' }, children: [_jsx("h4", { children: "Active Sessions" }), _jsx("p", { style: { fontSize: '24px', fontWeight: 'bold', margin: '8px 0' }, children: "567" })] })] })] }) }), _jsx(Tabs.Item, { tabId: "analytics", label: "Analytics", children: _jsxs("div", { children: [_jsx("h3", { children: "Analytics" }), _jsx("p", { children: "View detailed analytics and reports for your application." }), _jsxs("ul", { style: { marginTop: '16px' }, children: [_jsx("li", { children: "Page views" }), _jsx("li", { children: "User engagement" }), _jsx("li", { children: "Conversion rates" }), _jsx("li", { children: "Performance metrics" })] })] }) }), _jsx(Tabs.Item, { tabId: "settings", label: "Settings", children: _jsxs("div", { children: [_jsx("h3", { children: "Settings" }), _jsxs("form", { style: { marginTop: '16px' }, children: [_jsxs("div", { style: { marginBottom: '16px' }, children: [_jsx("label", { htmlFor: "theme", children: "Theme:" }), _jsxs("select", { id: "theme", style: { marginLeft: '8px', padding: '4px 8px' }, children: [_jsx("option", { children: "Light" }), _jsx("option", { children: "Dark" }), _jsx("option", { children: "Auto" })] })] }), _jsx("div", { style: { marginBottom: '16px' }, children: _jsxs("label", { children: [_jsx("input", { type: "checkbox", style: { marginRight: '8px' } }), "Enable notifications"] }) }), _jsx("button", { type: "submit", style: { padding: '8px 16px', backgroundColor: '#007bff', color: 'white', border: 'none', borderRadius: '4px' }, children: "Save Settings" })] })] }) })] })),
|
|
53
|
+
};
|
|
54
|
+
export const CustomStyling = {
|
|
55
|
+
args: {
|
|
56
|
+
defaultActiveTab: 'tab1',
|
|
57
|
+
className: 'custom-tabs-container',
|
|
58
|
+
},
|
|
59
|
+
render: (args) => (_jsxs("div", { children: [_jsx("style", { children: `
|
|
60
|
+
.custom-tabs-container {
|
|
61
|
+
border: 2px solid #e0e0e0;
|
|
62
|
+
border-radius: 8px;
|
|
63
|
+
padding: 16px;
|
|
64
|
+
}
|
|
65
|
+
.custom-tabs-container .ds-tabs__tab {
|
|
66
|
+
border-radius: 4px;
|
|
67
|
+
margin-right: 4px;
|
|
68
|
+
}
|
|
69
|
+
.custom-tabs-container .ds-tabs__tab--active {
|
|
70
|
+
background-color: #f0f8ff;
|
|
71
|
+
}
|
|
72
|
+
` }), _jsxs(Tabs, { ...args, children: [_jsx(Tabs.Item, { tabId: "tab1", label: "Styled Tab 1", children: _jsxs("div", { children: [_jsx("h3", { children: "Custom Styled Tab" }), _jsx("p", { children: "This tab has custom styling applied to the container." })] }) }), _jsx(Tabs.Item, { tabId: "tab2", label: "Styled Tab 2", children: _jsxs("div", { children: [_jsx("h3", { children: "Another Custom Tab" }), _jsx("p", { children: "Notice the custom border and styling around the tabs container." })] }) })] })] })),
|
|
73
|
+
};
|
|
74
|
+
//# sourceMappingURL=Tabs.stories.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Tabs.stories.js","sourceRoot":"","sources":["../../../src/components/tabs/Tabs.stories.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Tabs.test.d.ts","sourceRoot":"","sources":["../../../src/components/tabs/Tabs.test.tsx"],"names":[],"mappings":"AAIA,OAAO,kCAAkC,CAAC"}
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { expect, test, describe, vi } from "vitest";
|
|
3
|
+
import { render, screen, fireEvent, waitFor } from '@testing-library/react';
|
|
4
|
+
import userEvent from '@testing-library/user-event';
|
|
5
|
+
import { Tabs } from './Tabs';
|
|
6
|
+
import '@testing-library/jest-dom/vitest';
|
|
7
|
+
describe('Tabs Component', () => {
|
|
8
|
+
test('renders tabs with default active tab', () => {
|
|
9
|
+
render(_jsxs(Tabs, { defaultActiveTab: "tab1", children: [_jsx(Tabs.Item, { tabId: "tab1", label: "Tab 1", children: _jsx("div", { children: "Content 1" }) }), _jsx(Tabs.Item, { tabId: "tab2", label: "Tab 2", children: _jsx("div", { children: "Content 2" }) })] }));
|
|
10
|
+
expect(screen.getByText('Tab 1')).toBeInTheDocument();
|
|
11
|
+
expect(screen.getByText('Tab 2')).toBeInTheDocument();
|
|
12
|
+
expect(screen.getByText('Content 1')).toBeInTheDocument();
|
|
13
|
+
expect(screen.queryByText('Content 2')).not.toBeInTheDocument();
|
|
14
|
+
});
|
|
15
|
+
test('switches active tab when clicked', async () => {
|
|
16
|
+
const user = userEvent.setup();
|
|
17
|
+
render(_jsxs(Tabs, { defaultActiveTab: "tab1", children: [_jsx(Tabs.Item, { tabId: "tab1", label: "Tab 1", children: _jsx("div", { children: "Content 1" }) }), _jsx(Tabs.Item, { tabId: "tab2", label: "Tab 2", children: _jsx("div", { children: "Content 2" }) })] }));
|
|
18
|
+
const tab2Button = screen.getByText('Tab 2');
|
|
19
|
+
await user.click(tab2Button);
|
|
20
|
+
expect(screen.getByText('Content 2')).toBeInTheDocument();
|
|
21
|
+
expect(screen.queryByText('Content 1')).not.toBeInTheDocument();
|
|
22
|
+
});
|
|
23
|
+
test('calls onTabChange when tab is switched', async () => {
|
|
24
|
+
const user = userEvent.setup();
|
|
25
|
+
const onTabChange = vi.fn();
|
|
26
|
+
render(_jsxs(Tabs, { defaultActiveTab: "tab1", onTabChange: onTabChange, children: [_jsx(Tabs.Item, { tabId: "tab1", label: "Tab 1", children: _jsx("div", { children: "Content 1" }) }), _jsx(Tabs.Item, { tabId: "tab2", label: "Tab 2", children: _jsx("div", { children: "Content 2" }) })] }));
|
|
27
|
+
const tab2Button = screen.getByText('Tab 2');
|
|
28
|
+
await user.click(tab2Button);
|
|
29
|
+
expect(onTabChange).toHaveBeenCalledWith('tab2');
|
|
30
|
+
});
|
|
31
|
+
test('handles keyboard navigation', async () => {
|
|
32
|
+
const user = userEvent.setup();
|
|
33
|
+
render(_jsxs(Tabs, { defaultActiveTab: "tab1", children: [_jsx(Tabs.Item, { tabId: "tab1", label: "Tab 1", children: _jsx("div", { children: "Content 1" }) }), _jsx(Tabs.Item, { tabId: "tab2", label: "Tab 2", children: _jsx("div", { children: "Content 2" }) })] }));
|
|
34
|
+
const tab2Button = screen.getByText('Tab 2');
|
|
35
|
+
tab2Button.focus();
|
|
36
|
+
await user.keyboard('{Enter}');
|
|
37
|
+
expect(screen.getByText('Content 2')).toBeInTheDocument();
|
|
38
|
+
expect(screen.queryByText('Content 1')).not.toBeInTheDocument();
|
|
39
|
+
});
|
|
40
|
+
test('handles space key navigation', async () => {
|
|
41
|
+
const user = userEvent.setup();
|
|
42
|
+
render(_jsxs(Tabs, { defaultActiveTab: "tab1", children: [_jsx(Tabs.Item, { tabId: "tab1", label: "Tab 1", children: _jsx("div", { children: "Content 1" }) }), _jsx(Tabs.Item, { tabId: "tab2", label: "Tab 2", children: _jsx("div", { children: "Content 2" }) })] }));
|
|
43
|
+
const tab2Button = screen.getByText('Tab 2');
|
|
44
|
+
tab2Button.focus();
|
|
45
|
+
await user.keyboard(' ');
|
|
46
|
+
expect(screen.getByText('Content 2')).toBeInTheDocument();
|
|
47
|
+
expect(screen.queryByText('Content 1')).not.toBeInTheDocument();
|
|
48
|
+
});
|
|
49
|
+
test('disabled tab does not respond to clicks', async () => {
|
|
50
|
+
const user = userEvent.setup();
|
|
51
|
+
const onTabChange = vi.fn();
|
|
52
|
+
render(_jsxs(Tabs, { defaultActiveTab: "tab1", onTabChange: onTabChange, children: [_jsx(Tabs.Item, { tabId: "tab1", label: "Tab 1", children: _jsx("div", { children: "Content 1" }) }), _jsx(Tabs.Item, { tabId: "tab2", label: "Tab 2", disabled: true, children: _jsx("div", { children: "Content 2" }) })] }));
|
|
53
|
+
const tab2Button = screen.getByText('Tab 2');
|
|
54
|
+
await user.click(tab2Button);
|
|
55
|
+
expect(onTabChange).not.toHaveBeenCalled();
|
|
56
|
+
expect(screen.getByText('Content 1')).toBeInTheDocument();
|
|
57
|
+
expect(screen.queryByText('Content 2')).not.toBeInTheDocument();
|
|
58
|
+
});
|
|
59
|
+
test('disabled tab does not respond to keyboard events', async () => {
|
|
60
|
+
const user = userEvent.setup();
|
|
61
|
+
const onTabChange = vi.fn();
|
|
62
|
+
render(_jsxs(Tabs, { defaultActiveTab: "tab1", onTabChange: onTabChange, children: [_jsx(Tabs.Item, { tabId: "tab1", label: "Tab 1", children: _jsx("div", { children: "Content 1" }) }), _jsx(Tabs.Item, { tabId: "tab2", label: "Tab 2", disabled: true, children: _jsx("div", { children: "Content 2" }) })] }));
|
|
63
|
+
const tab2Button = screen.getByText('Tab 2');
|
|
64
|
+
tab2Button.focus();
|
|
65
|
+
await user.keyboard('{Enter}');
|
|
66
|
+
expect(onTabChange).not.toHaveBeenCalled();
|
|
67
|
+
expect(screen.getByText('Content 1')).toBeInTheDocument();
|
|
68
|
+
expect(screen.queryByText('Content 2')).not.toBeInTheDocument();
|
|
69
|
+
});
|
|
70
|
+
test('applies custom className to tabs container', () => {
|
|
71
|
+
render(_jsx(Tabs, { className: "custom-tabs", children: _jsx(Tabs.Item, { tabId: "tab1", label: "Tab 1", children: _jsx("div", { children: "Content 1" }) }) }));
|
|
72
|
+
const tabsContainer = screen.getByText('Tab 1').closest('.ds-tabs');
|
|
73
|
+
expect(tabsContainer).toHaveClass('custom-tabs');
|
|
74
|
+
});
|
|
75
|
+
test('applies custom className to tab item', () => {
|
|
76
|
+
render(_jsx(Tabs, { children: _jsx(Tabs.Item, { tabId: "tab1", label: "Tab 1", className: "custom-tab-item", children: _jsx("div", { children: "Content 1" }) }) }));
|
|
77
|
+
const tabItem = screen.getByText('Tab 1').closest('.ds-tabs__item');
|
|
78
|
+
expect(tabItem).toHaveClass('custom-tab-item');
|
|
79
|
+
});
|
|
80
|
+
test('has proper ARIA attributes', () => {
|
|
81
|
+
render(_jsxs(Tabs, { defaultActiveTab: "tab1", children: [_jsx(Tabs.Item, { tabId: "tab1", label: "Tab 1", children: _jsx("div", { children: "Content 1" }) }), _jsx(Tabs.Item, { tabId: "tab2", label: "Tab 2", children: _jsx("div", { children: "Content 2" }) })] }));
|
|
82
|
+
const tab1Button = screen.getByText('Tab 1');
|
|
83
|
+
const tab2Button = screen.getByText('Tab 2');
|
|
84
|
+
expect(tab1Button).toHaveAttribute('role', 'tab');
|
|
85
|
+
expect(tab1Button).toHaveAttribute('aria-selected', 'true');
|
|
86
|
+
expect(tab1Button).toHaveAttribute('aria-controls', 'tabpanel-tab1');
|
|
87
|
+
expect(tab1Button).toHaveAttribute('id', 'tab-tab1');
|
|
88
|
+
expect(tab2Button).toHaveAttribute('role', 'tab');
|
|
89
|
+
expect(tab2Button).toHaveAttribute('aria-selected', 'false');
|
|
90
|
+
expect(tab2Button).toHaveAttribute('aria-controls', 'tabpanel-tab2');
|
|
91
|
+
expect(tab2Button).toHaveAttribute('id', 'tab-tab2');
|
|
92
|
+
const contentPanel = screen.getByText('Content 1');
|
|
93
|
+
expect(contentPanel).toHaveAttribute('role', 'tabpanel');
|
|
94
|
+
expect(contentPanel).toHaveAttribute('id', 'tabpanel-tab1');
|
|
95
|
+
expect(contentPanel).toHaveAttribute('aria-labelledby', 'tab-tab1');
|
|
96
|
+
});
|
|
97
|
+
test('throws error when Tabs.Item is used outside Tabs context', () => {
|
|
98
|
+
// Suppress console.error for this test since we expect an error
|
|
99
|
+
const consoleSpy = vi.spyOn(console, 'error').mockImplementation(() => { });
|
|
100
|
+
expect(() => {
|
|
101
|
+
render(_jsx(Tabs.Item, { tabId: "tab1", label: "Tab 1", children: _jsx("div", { children: "Content 1" }) }));
|
|
102
|
+
}).toThrow('Tabs.Item must be used within a Tabs component');
|
|
103
|
+
consoleSpy.mockRestore();
|
|
104
|
+
});
|
|
105
|
+
test('renders multiple tabs correctly', () => {
|
|
106
|
+
render(_jsxs(Tabs, { defaultActiveTab: "tab2", children: [_jsx(Tabs.Item, { tabId: "tab1", label: "First Tab", children: _jsx("div", { children: "First Content" }) }), _jsx(Tabs.Item, { tabId: "tab2", label: "Second Tab", children: _jsx("div", { children: "Second Content" }) }), _jsx(Tabs.Item, { tabId: "tab3", label: "Third Tab", children: _jsx("div", { children: "Third Content" }) })] }));
|
|
107
|
+
expect(screen.getByText('First Tab')).toBeInTheDocument();
|
|
108
|
+
expect(screen.getByText('Second Tab')).toBeInTheDocument();
|
|
109
|
+
expect(screen.getByText('Third Tab')).toBeInTheDocument();
|
|
110
|
+
expect(screen.getByText('Second Content')).toBeInTheDocument();
|
|
111
|
+
expect(screen.queryByText('First Content')).not.toBeInTheDocument();
|
|
112
|
+
expect(screen.queryByText('Third Content')).not.toBeInTheDocument();
|
|
113
|
+
});
|
|
114
|
+
});
|
|
115
|
+
//# sourceMappingURL=Tabs.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Tabs.test.js","sourceRoot":"","sources":["../../../src/components/tabs/Tabs.test.tsx"],"names":[],"mappings":"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"}
|
package/dist/index.css
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
@import
|
|
1
|
+
@import 'https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap';
|
|
2
2
|
/**
|
|
3
3
|
* Do not edit directly, this file was auto-generated.
|
|
4
4
|
*/
|
|
@@ -652,25 +652,25 @@
|
|
|
652
652
|
--form-field-pill-hover-color-text: #2f2f2f;
|
|
653
653
|
--form-field-pill-hover-color-icon: #2f2f2f;
|
|
654
654
|
--form-field-pill-placeholder-color-text: #595959;
|
|
655
|
-
--form-field-
|
|
656
|
-
--form-field-
|
|
657
|
-
--form-field-
|
|
658
|
-
--form-field-
|
|
659
|
-
--form-field-
|
|
660
|
-
--form-field-
|
|
661
|
-
--form-field-
|
|
662
|
-
--form-field-
|
|
663
|
-
--form-field-
|
|
664
|
-
--form-field-
|
|
665
|
-
--form-field-
|
|
666
|
-
--form-field-
|
|
667
|
-
--form-field-
|
|
668
|
-
--form-field-
|
|
669
|
-
--form-field-
|
|
670
|
-
--form-field-
|
|
671
|
-
--form-field-
|
|
672
|
-
--form-field-
|
|
673
|
-
--form-field-
|
|
655
|
+
--form-field-placeholder-color-background: #ffffff;
|
|
656
|
+
--form-field-placeholder-color-border: #dfdfdf;
|
|
657
|
+
--form-field-hover-color-border: #7e7e7e;
|
|
658
|
+
--form-field-hover-color-background: #ffffff;
|
|
659
|
+
--form-field-focus-color-border: #0e8a0e;
|
|
660
|
+
--form-field-focus-color-background: #ffffff;
|
|
661
|
+
--form-field-error-color-border: #c93232;
|
|
662
|
+
--form-field-error-color-background: #ffffff;
|
|
663
|
+
--form-field-error-color-error-text: #595959;
|
|
664
|
+
--form-field-error-color-error-icon: #c93232;
|
|
665
|
+
--form-field-disabled-color-background: #efefef;
|
|
666
|
+
--form-field-disabled-color-border: #dfdfdf;
|
|
667
|
+
--form-field-default-color-background: #ffffff;
|
|
668
|
+
--form-field-default-color-border: #dfdfdf;
|
|
669
|
+
--form-field-help-text-default-color-text: #0e8a0e;
|
|
670
|
+
--form-field-help-text-default-color-icon: #0e8a0e;
|
|
671
|
+
--form-field-help-text-hover-color-text: #005700;
|
|
672
|
+
--form-field-help-text-hover-color-icon: #005700;
|
|
673
|
+
--form-field-form-numeric: 0rem;
|
|
674
674
|
--form-field-icon-default-color-icon: #2f2f2f;
|
|
675
675
|
--form-field-icon-default-color-background: #ffffff;
|
|
676
676
|
--form-field-icon-hover-color-background: #f8f8f8;
|
|
@@ -681,10 +681,13 @@
|
|
|
681
681
|
--form-field-icon-pressed-color-icon: #2f2f2f;
|
|
682
682
|
--form-field-icon-radius: 6.188rem;
|
|
683
683
|
--form-field-label-color-text: #2f2f2f;
|
|
684
|
+
--form-field-description-color-text: #595959;
|
|
684
685
|
--form-field-label-color-icon: #2f2f2f;
|
|
685
|
-
--form-field-spacing-x: 0.
|
|
686
|
+
--form-field-spacing-x: 0.5rem;
|
|
686
687
|
--form-field-radius: 0.5rem;
|
|
687
|
-
--form-field-spacing-y: 0.
|
|
688
|
+
--form-field-spacing-y: 0.5rem;
|
|
689
|
+
--text-field-small-height: 2rem;
|
|
690
|
+
--text-field-medium-height: 2.25rem;
|
|
688
691
|
--tabs-tab-item-active-default-color-line: #0e8a0e;
|
|
689
692
|
--tabs-tab-item-active-default-color-text: #0e8a0e;
|
|
690
693
|
--tabs-tab-item-active-default-color-icon: #0e8a0e;
|
|
@@ -1230,7 +1233,7 @@
|
|
|
1230
1233
|
--font-weight-regular: 25rem;
|
|
1231
1234
|
--font-weight-medium: 31.25rem;
|
|
1232
1235
|
--font-weight-semi-bold: 37.5rem;
|
|
1233
|
-
--font-weight-bold:
|
|
1236
|
+
--font-weight-bold: 600;
|
|
1234
1237
|
--border-radius-xsmall: 0.25rem;
|
|
1235
1238
|
--border-radius-small: 0.5rem;
|
|
1236
1239
|
--border-radius-large: 1rem;
|
|
@@ -1452,7 +1455,7 @@ h4.ds-heading {
|
|
|
1452
1455
|
|
|
1453
1456
|
.ds-card__container {
|
|
1454
1457
|
display: flex;
|
|
1455
|
-
width:
|
|
1458
|
+
width: 100%;
|
|
1456
1459
|
padding: var(--card-spacing-y, 24px) var(--card-spacing-x, 24px);
|
|
1457
1460
|
flex-direction: column;
|
|
1458
1461
|
align-items: flex-start;
|
|
@@ -1510,6 +1513,111 @@ h4.ds-heading {
|
|
|
1510
1513
|
flex-shrink: 0;
|
|
1511
1514
|
}
|
|
1512
1515
|
|
|
1516
|
+
.ds-form-field {
|
|
1517
|
+
font-family: var(--font-family-standard);
|
|
1518
|
+
font-size: var(--font-size-2-13);
|
|
1519
|
+
line-height: 150%;
|
|
1520
|
+
width: 100%;
|
|
1521
|
+
box-sizing: border-box;
|
|
1522
|
+
}
|
|
1523
|
+
.ds-form-field__description {
|
|
1524
|
+
margin-bottom: var(--form-field-spacing-y);
|
|
1525
|
+
color: var(--form-field-description-color-text);
|
|
1526
|
+
display: block;
|
|
1527
|
+
}
|
|
1528
|
+
.ds-form-field__message {
|
|
1529
|
+
margin-top: var(--form-field-spacing-y);
|
|
1530
|
+
}
|
|
1531
|
+
.ds-form-field__message--error, .ds-form-field__message--helper {
|
|
1532
|
+
display: flex;
|
|
1533
|
+
align-items: center;
|
|
1534
|
+
margin-top: var(--form-field-spacing-y);
|
|
1535
|
+
}
|
|
1536
|
+
.ds-form-field__message--error {
|
|
1537
|
+
gap: var(--form-field-spacing-x);
|
|
1538
|
+
color: var(--form-field-error-color-error-text);
|
|
1539
|
+
}
|
|
1540
|
+
.ds-form-field__message--error .ds-icon {
|
|
1541
|
+
color: var(--form-field-error-color-error-icon);
|
|
1542
|
+
}
|
|
1543
|
+
.ds-form-field__message--helper {
|
|
1544
|
+
color: var(--form-field-help-text-default-color-text);
|
|
1545
|
+
}
|
|
1546
|
+
.ds-form-field__message--helper a {
|
|
1547
|
+
color: var(--form-field-help-text-default-color-text);
|
|
1548
|
+
text-decoration: underline;
|
|
1549
|
+
}
|
|
1550
|
+
|
|
1551
|
+
.ds-input {
|
|
1552
|
+
width: 100%;
|
|
1553
|
+
font-family: var(--font-family-standard);
|
|
1554
|
+
font-weight: var(--font-weight-regular);
|
|
1555
|
+
border: 1px solid var(--form-field-placeholder-color-border);
|
|
1556
|
+
border-radius: var(--form-field-radius);
|
|
1557
|
+
color: var(--colour-grey-900);
|
|
1558
|
+
transition: border-color 0.2s, box-shadow 0.2s, background-color 0.2s;
|
|
1559
|
+
line-height: 150%;
|
|
1560
|
+
background-color: var(--form-field-placeholder-color-background);
|
|
1561
|
+
padding: 0 var(--form-field-spacing-x);
|
|
1562
|
+
box-sizing: border-box;
|
|
1563
|
+
}
|
|
1564
|
+
.ds-input::placeholder {
|
|
1565
|
+
color: var(--form-field-pill-placeholder-color-text);
|
|
1566
|
+
}
|
|
1567
|
+
.ds-input:focus {
|
|
1568
|
+
border-color: var(--form-field-focus-color-border);
|
|
1569
|
+
background-color: var(--form-field-focus-color-background);
|
|
1570
|
+
outline: 2px solid var(--button-medium-primary-focus-color-focus);
|
|
1571
|
+
}
|
|
1572
|
+
.ds-input:disabled {
|
|
1573
|
+
background-color: var(--colour-grey-100);
|
|
1574
|
+
border-color: var(--colour-grey-200);
|
|
1575
|
+
color: var(--colour-grey-500);
|
|
1576
|
+
cursor: not-allowed;
|
|
1577
|
+
}
|
|
1578
|
+
.ds-input:disabled::placeholder {
|
|
1579
|
+
color: var(--colour-grey-400);
|
|
1580
|
+
}
|
|
1581
|
+
.ds-input:disabled:hover {
|
|
1582
|
+
border-color: var(--colour-grey-200);
|
|
1583
|
+
}
|
|
1584
|
+
.ds-input:hover:not(:disabled, :focus) {
|
|
1585
|
+
border-color: var(--form-field-hover-color-border);
|
|
1586
|
+
background-color: var(--form-field-hover-color-background);
|
|
1587
|
+
}
|
|
1588
|
+
.ds-input--M {
|
|
1589
|
+
font-size: var(--font-size-3-14);
|
|
1590
|
+
height: var(--text-field-medium-height);
|
|
1591
|
+
}
|
|
1592
|
+
.ds-input--S {
|
|
1593
|
+
font-size: var(--font-size-2-13);
|
|
1594
|
+
height: var(--text-field-small-height);
|
|
1595
|
+
}
|
|
1596
|
+
.ds-input--error {
|
|
1597
|
+
border-color: var(--colour-semantic-destructive-500);
|
|
1598
|
+
}
|
|
1599
|
+
.ds-input--error:focus {
|
|
1600
|
+
border-color: var(--colour-semantic-destructive-500);
|
|
1601
|
+
box-shadow: 0 0 0 2px var(--colour-semantic-destructive-100-hover);
|
|
1602
|
+
}
|
|
1603
|
+
.ds-input--error:hover:not(:disabled, :focus) {
|
|
1604
|
+
border-color: var(--colour-semantic-destructive-300);
|
|
1605
|
+
}
|
|
1606
|
+
|
|
1607
|
+
.ds-textarea {
|
|
1608
|
+
padding: var(--form-field-spacing-y) var(--form-field-spacing-x);
|
|
1609
|
+
}
|
|
1610
|
+
|
|
1611
|
+
.ds-label {
|
|
1612
|
+
font-family: var(--font-family-standard);
|
|
1613
|
+
font-size: var(--font-size-2-13);
|
|
1614
|
+
font-weight: var(--font-weight-bold);
|
|
1615
|
+
color: var(--form-field-label-color-text);
|
|
1616
|
+
line-height: 150%;
|
|
1617
|
+
margin-bottom: var(--form-field-spacing-y);
|
|
1618
|
+
display: block;
|
|
1619
|
+
}
|
|
1620
|
+
|
|
1513
1621
|
.ds-pill {
|
|
1514
1622
|
display: flex;
|
|
1515
1623
|
padding: var(--tag-spacing-x, 8px) var(--tag-spacing-y, 12px);
|
package/dist/index.css.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sourceRoot":"","sources":["../src/index.scss","../src/tokens.scss","../src/global.scss","../src/components/button/button.scss","../src/components/heading/heading.scss","../src/components/card/card.scss","../src/components/pill/pill.scss"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"sourceRoot":"","sources":["../src/index.scss","../src/tokens.scss","../src/global.scss","../src/components/button/button.scss","../src/components/heading/heading.scss","../src/components/card/card.scss","../src/components/formField/formField.scss","../src/components/formField/inputs/input.scss","../src/components/formField/label/label.scss","../src/components/pill/pill.scss"],"names":[],"mappings":"AASQ;ACTR;AAAA;AAAA;AAIA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;ACluCF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;;;AChBF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAIF;EACE;;AAGF;EACE;;AAIF;EACE;EACA;;AAKF;EACE;EACA;EACA;;AAEA;EACE;EACA;EACA;;AAGF;EACE;EACA;;AAGF;EACE;EACA;;AAKJ;EACE;EACA;EACA;;AAEA;EACE;EACA;EACA;;AAGF;EACE;EACA;;AAGF;EACE;EACA;;AAKJ;EACE;EACA;EACA;;AAEA;EACE;EACA;EACA;;AAGF;EACE;EACA;;AAGF;EACE;EACA;;AAKJ;EACE;EACA;EACA;;AAEA;EACE;EACA;EACA;;AAGF;EACE;EACA;;AAGF;EACE;EACA;;AAKJ;EACE;EACA;EACA;;AAEA;EACE;EACA;EACA;;AAGF;EACE;EACA;;AAGF;EACE;EACA;;AAKJ;EACE;EACA;EACA;;AAEA;EACE;EACA;EACA;;AAGF;EACE;EACA;;AAGF;EACE;EACA;;AAKJ;EACE;EACA;EACA;;;AClLJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;;;AAKF;EACE;EACA;EACA;;;AAKF;EACE;EACA;EACA;;;AAKF;EACE;EACA;EACA;;;AAKF;EACE;EACA;EACA;;;AC7CJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;;AAGF;EACE;EACA;EACA;;AAIF;EACE;;;AAIJ;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;;AAIJ;EACE;;;ACjEJ;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;;AAGF;EACE;;AAEA;EACE;EACA;EACA;;AAGF;EACE;EACA;;AAEA;EACE;;AAIJ;EACE;;AAEA;EACE;EACA;;;AClCR;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAGF;EACE;EACA;EACA;;AAIF;EACE;EACA;EACA;EACA;;AAEA;EACE;;AAGF;EACE;;AAIJ;EACE;EACA;;AAIF;EACE;EACA;;AAGF;EACE;EACA;;AAIF;EACE;;AAEA;EACE;EACA;;AAGF;EACE;;;AAKN;EACE;;;ACzEF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;ACPF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;AAEA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;EACA;;AAGF;EACE;EACA;;AAGF;EACE;EACA;;AAGF;EACE;EACA;;AAGF;EACE;EACA;;AAGF;EACE;EACA","file":"index.css"}
|
package/dist/index.d.ts
CHANGED
|
@@ -4,4 +4,6 @@ export { HeadingInnerContainer } from './components/heading/HeadingInnerContaine
|
|
|
4
4
|
export { Icon } from './components/icon/Icon';
|
|
5
5
|
export { Card } from './components/card/Card';
|
|
6
6
|
export { Pill } from './components/pill/Pill';
|
|
7
|
+
export { TextInput } from './components/formField/inputs/text/TextInput';
|
|
8
|
+
export { TextArea } from './components/formField/inputs/textArea/TextArea';
|
|
7
9
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AACrD,OAAO,EAAE,qBAAqB,EAAE,MAAM,0CAA0C,CAAC;AACjF,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,8CAA8C,CAAC;AACzE,OAAO,EAAE,QAAQ,EAAE,MAAM,iDAAiD,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -4,4 +4,6 @@ export { HeadingInnerContainer } from './components/heading/HeadingInnerContaine
|
|
|
4
4
|
export { Icon } from './components/icon/Icon';
|
|
5
5
|
export { Card } from './components/card/Card';
|
|
6
6
|
export { Pill } from './components/pill/Pill';
|
|
7
|
+
export { TextInput } from './components/formField/inputs/text/TextInput';
|
|
8
|
+
export { TextArea } from './components/formField/inputs/textArea/TextArea';
|
|
7
9
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AACrD,OAAO,EAAE,qBAAqB,EAAE,MAAM,0CAA0C,CAAC;AACjF,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,8CAA8C,CAAC;AACzE,OAAO,EAAE,QAAQ,EAAE,MAAM,iDAAiD,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@arbor-education/design-system.components",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.3",
|
|
4
4
|
"description": "The component library for the design system (the baby)",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"repository": {
|
|
@@ -31,6 +31,8 @@
|
|
|
31
31
|
"@testing-library/dom": "^10.4.1",
|
|
32
32
|
"@testing-library/jest-dom": "^6.7.0",
|
|
33
33
|
"@testing-library/react": "^16.3.0",
|
|
34
|
+
"@testing-library/user-event": "^14.6.1",
|
|
35
|
+
"@types/node": "^24.7.0",
|
|
34
36
|
"@vitejs/plugin-react": "^5.0.1",
|
|
35
37
|
"@vitest/browser": "3.2.4",
|
|
36
38
|
"@vitest/coverage-v8": "3.2.4",
|
|
@@ -46,8 +48,10 @@
|
|
|
46
48
|
"lint-staged": "^16.2.3",
|
|
47
49
|
"playwright": "^1.55.0",
|
|
48
50
|
"storybook": "^9.1.8",
|
|
51
|
+
"storybook-addon-deep-controls": "^0.9.5",
|
|
49
52
|
"stylelint": "^16.25.0",
|
|
50
53
|
"stylelint-config-standard-scss": "^16.0.0",
|
|
54
|
+
"tsc-alias": "^1.8.16",
|
|
51
55
|
"tsc-watch": "^7.1.1",
|
|
52
56
|
"typescript-eslint": "^8.40.0",
|
|
53
57
|
"vite": "^7.1.3",
|
|
@@ -61,12 +65,15 @@
|
|
|
61
65
|
"tsc": "tsc",
|
|
62
66
|
"storybook": "storybook dev -p 6006",
|
|
63
67
|
"build-storybook": "storybook build",
|
|
64
|
-
"build": "tsc && sass src/index.scss dist/index.css",
|
|
65
|
-
"watch": "
|
|
68
|
+
"build": "tsc && tsc-alias && sass src/index.scss dist/index.css",
|
|
69
|
+
"tsc-watch-command": "tsc-alias && yalc push --private --sig",
|
|
70
|
+
"watch": "sass --watch src/index.scss dist/index.css & tsc-watch --onSuccess \"yarn tsc-watch-command\"",
|
|
66
71
|
"test": "vitest",
|
|
67
72
|
"create-component": "./bin/createComponent.sh",
|
|
68
73
|
"prepare": "husky",
|
|
69
|
-
"prepublishOnly": "yarn build"
|
|
74
|
+
"prepublishOnly": "yarn build",
|
|
75
|
+
"check-types": "tsc --noEmit",
|
|
76
|
+
"style-lint": "stylelint src/**/*.scss"
|
|
70
77
|
},
|
|
71
78
|
"types": "./dist/index.d.ts",
|
|
72
79
|
"bugs": {
|