@arbor-education/design-system.components 0.3.6 → 0.4.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.
Files changed (46) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/dist/components/banner/Banner.d.ts +19 -0
  3. package/dist/components/banner/Banner.d.ts.map +1 -0
  4. package/dist/components/banner/Banner.js +33 -0
  5. package/dist/components/banner/Banner.js.map +1 -0
  6. package/dist/components/banner/Banner.stories.d.ts +72 -0
  7. package/dist/components/banner/Banner.stories.d.ts.map +1 -0
  8. package/dist/components/banner/Banner.stories.js +84 -0
  9. package/dist/components/banner/Banner.stories.js.map +1 -0
  10. package/dist/components/banner/Banner.test.d.ts +2 -0
  11. package/dist/components/banner/Banner.test.d.ts.map +1 -0
  12. package/dist/components/banner/Banner.test.js +72 -0
  13. package/dist/components/banner/Banner.test.js.map +1 -0
  14. package/dist/index.css +63 -53
  15. package/dist/index.css.map +1 -1
  16. package/dist/index.d.ts +1 -0
  17. package/dist/index.d.ts.map +1 -1
  18. package/dist/index.js +1 -0
  19. package/dist/index.js.map +1 -1
  20. package/package.json +2 -1
  21. package/src/components/banner/Banner.stories.tsx +96 -0
  22. package/src/components/banner/Banner.test.tsx +86 -0
  23. package/src/components/banner/Banner.tsx +81 -0
  24. package/src/components/banner/banner.scss +67 -0
  25. package/src/components/button/button.scss +0 -5
  26. package/src/components/card/card.scss +0 -3
  27. package/src/components/dropdown/dropdown.scss +0 -3
  28. package/src/components/formField/fieldset/fieldset.scss +0 -2
  29. package/src/components/formField/formField.scss +0 -2
  30. package/src/components/formField/inputs/checkbox/checkboxInput.scss +0 -2
  31. package/src/components/formField/inputs/input.scss +0 -3
  32. package/src/components/formField/inputs/radio/radioButtonInput.scss +0 -2
  33. package/src/components/formField/inputs/selectDropdown/selectDropdown.scss +0 -1
  34. package/src/components/formField/label/label.scss +0 -2
  35. package/src/components/modal/modal.scss +0 -3
  36. package/src/components/pill/pill.scss +0 -3
  37. package/src/components/searchBar/searchBar.scss +0 -3
  38. package/src/components/table/columnFilters/columnFilters.scss +0 -6
  39. package/src/components/table/pagination/pagination.scss +0 -4
  40. package/src/components/tabs/tabs.scss +0 -2
  41. package/src/components/tag/tag.scss +0 -3
  42. package/src/components/toast/toast.scss +0 -1
  43. package/src/components/tooltip/tooltip.scss +0 -3
  44. package/src/global.scss +9 -1
  45. package/src/index.scss +1 -0
  46. package/src/index.ts +1 -0
package/CHANGELOG.md CHANGED
@@ -1,5 +1,15 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.4.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [#124](https://github.com/arbor-education/design-system.components/pull/124) [`202615f`](https://github.com/arbor-education/design-system.components/commit/202615f09a42e564dd418b7bd1b9c6a3de38b33f) Thanks [@angusmglfraser](https://github.com/angusmglfraser)! - MIS-66715 add banner component
8
+
9
+ ### Patch Changes
10
+
11
+ - [#125](https://github.com/arbor-education/design-system.components/pull/125) [`f01b121`](https://github.com/arbor-education/design-system.components/commit/f01b1216f60898647910fd64af9262e59d7e3060) Thanks [@angusmglfraser](https://github.com/angusmglfraser)! - MIS-67797 added global default styles for DS components
12
+
3
13
  ## 0.3.6
4
14
 
5
15
  ### Patch Changes
@@ -0,0 +1,19 @@
1
+ import type { IconName } from '../icon/allowedIcons';
2
+ export declare enum BANNER_LEVEL {
3
+ INFO = "info",
4
+ NEUTRAL = "neutral",
5
+ WARNING = "warning",
6
+ DESTRUCTIVE = "destructive"
7
+ }
8
+ export type BannerProps = {
9
+ className?: string;
10
+ level?: BANNER_LEVEL;
11
+ icon?: IconName;
12
+ title?: string;
13
+ buttonText?: string;
14
+ buttonOnClick?: (e: React.MouseEvent<HTMLButtonElement>) => void;
15
+ text?: string;
16
+ hideIcon?: boolean;
17
+ };
18
+ export declare const Banner: (props: BannerProps) => import("react/jsx-runtime").JSX.Element;
19
+ //# sourceMappingURL=Banner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Banner.d.ts","sourceRoot":"","sources":["../../../src/components/banner/Banner.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAG7D,oBAAY,YAAY;IACtB,IAAI,SAAS;IACb,OAAO,YAAY;IACnB,OAAO,YAAY;IACnB,WAAW,gBAAgB;CAC5B;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,iBAAiB,CAAC,KAAK,IAAI,CAAC;IACjE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAoBF,eAAO,MAAM,MAAM,GAAI,OAAO,WAAW,4CAsCxC,CAAC"}
@@ -0,0 +1,33 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { cva } from 'class-variance-authority';
3
+ import { Button } from '../button/Button';
4
+ import { Icon } from '../icon/Icon';
5
+ export var BANNER_LEVEL;
6
+ (function (BANNER_LEVEL) {
7
+ BANNER_LEVEL["INFO"] = "info";
8
+ BANNER_LEVEL["NEUTRAL"] = "neutral";
9
+ BANNER_LEVEL["WARNING"] = "warning";
10
+ BANNER_LEVEL["DESTRUCTIVE"] = "destructive";
11
+ })(BANNER_LEVEL || (BANNER_LEVEL = {}));
12
+ const bannerClassName = cva(['ds-banner'], {
13
+ variants: {
14
+ level: {
15
+ [BANNER_LEVEL.INFO]: 'ds-banner--info',
16
+ [BANNER_LEVEL.NEUTRAL]: 'ds-banner--neutral',
17
+ [BANNER_LEVEL.WARNING]: 'ds-banner--warning',
18
+ [BANNER_LEVEL.DESTRUCTIVE]: 'ds-banner--destructive',
19
+ },
20
+ },
21
+ });
22
+ const DEFAULT_ICON_MAP = {
23
+ [BANNER_LEVEL.INFO]: 'info',
24
+ [BANNER_LEVEL.NEUTRAL]: 'info',
25
+ [BANNER_LEVEL.WARNING]: 'triangle-alert',
26
+ [BANNER_LEVEL.DESTRUCTIVE]: 'circle-alert',
27
+ };
28
+ export const Banner = (props) => {
29
+ const { className, level = BANNER_LEVEL.NEUTRAL, icon: rawIcon, hideIcon = false, title, buttonText, buttonOnClick, text, } = props;
30
+ const icon = hideIcon ? null : rawIcon ?? DEFAULT_ICON_MAP[level];
31
+ return (_jsxs("div", { className: bannerClassName({ level, className }), children: [icon && _jsx(Icon, { size: 24, name: icon }), _jsxs("div", { className: "ds-banner__central-container", children: [title && (_jsx("h3", { className: "ds-banner__title", children: title })), text && _jsx("span", { children: text })] }), buttonText && (_jsx(Button, { onClick: buttonOnClick, className: "ds-banner__button", variant: "text-link", children: buttonText }))] }));
32
+ };
33
+ //# sourceMappingURL=Banner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Banner.js","sourceRoot":"","sources":["../../../src/components/banner/Banner.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,0BAA0B,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAGlD,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAE5C,MAAM,CAAN,IAAY,YAKX;AALD,WAAY,YAAY;IACtB,6BAAa,CAAA;IACb,mCAAmB,CAAA;IACnB,mCAAmB,CAAA;IACnB,2CAA2B,CAAA;AAC7B,CAAC,EALW,YAAY,KAAZ,YAAY,QAKvB;AAaD,MAAM,eAAe,GAAG,GAAG,CAAC,CAAC,WAAW,CAAC,EAAE;IACzC,QAAQ,EAAE;QACR,KAAK,EAAE;YACL,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,iBAAiB;YACtC,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,oBAAoB;YAC5C,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,oBAAoB;YAC5C,CAAC,YAAY,CAAC,WAAW,CAAC,EAAE,wBAAwB;SACrD;KACF;CACF,CAAC,CAAC;AAEH,MAAM,gBAAgB,GAAmC;IACvD,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,MAAM;IAC3B,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,MAAM;IAC9B,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,gBAAgB;IACxC,CAAC,YAAY,CAAC,WAAW,CAAC,EAAE,cAAc;CAC3C,CAAC;AAEF,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,KAAkB,EAAE,EAAE;IAC3C,MAAM,EACJ,SAAS,EACT,KAAK,GAAG,YAAY,CAAC,OAAO,EAC5B,IAAI,EAAE,OAAO,EACb,QAAQ,GAAG,KAAK,EAChB,KAAK,EACL,UAAU,EACV,aAAa,EACb,IAAI,GACL,GAAG,KAAK,CAAC;IAEV,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,IAAI,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAElE,OAAO,CACL,eACE,SAAS,EAAE,eAAe,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,aAE/C,IAAI,IAAI,KAAC,IAAI,IAAC,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,GAAI,EACvC,eAAK,SAAS,EAAC,8BAA8B,aAC1C,KAAK,IAAI,CACR,aAAI,SAAS,EAAC,kBAAkB,YAC7B,KAAK,GACH,CACN,EACA,IAAI,IAAI,yBAAO,IAAI,GAAQ,IACxB,EACL,UAAU,IAAI,CACb,KAAC,MAAM,IACL,OAAO,EAAE,aAAa,EACtB,SAAS,EAAC,mBAAmB,EAC7B,OAAO,EAAC,WAAW,YAElB,UAAU,GACJ,CACV,IACG,CACP,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,72 @@
1
+ import type { Meta } from '@storybook/react-vite';
2
+ import { Banner, BANNER_LEVEL } from './Banner';
3
+ declare const meta: Meta<typeof Banner>;
4
+ export declare const Neutral: {
5
+ args: {
6
+ text: string;
7
+ };
8
+ };
9
+ export declare const Info: {
10
+ args: {
11
+ level: BANNER_LEVEL;
12
+ text: string;
13
+ };
14
+ };
15
+ export declare const Warning: {
16
+ args: {
17
+ level: BANNER_LEVEL;
18
+ text: string;
19
+ };
20
+ };
21
+ export declare const Destructive: {
22
+ args: {
23
+ level: BANNER_LEVEL;
24
+ text: string;
25
+ };
26
+ };
27
+ export declare const WithTitle: {
28
+ args: {
29
+ level: BANNER_LEVEL;
30
+ title: string;
31
+ text: string;
32
+ };
33
+ };
34
+ export declare const WithButton: {
35
+ args: {
36
+ level: BANNER_LEVEL;
37
+ text: string;
38
+ buttonText: string;
39
+ buttonOnClick: () => void;
40
+ };
41
+ };
42
+ export declare const WithTitleAndButton: {
43
+ args: {
44
+ level: BANNER_LEVEL;
45
+ title: string;
46
+ text: string;
47
+ buttonText: string;
48
+ buttonOnClick: () => void;
49
+ };
50
+ };
51
+ export declare const TitleOnly: {
52
+ args: {
53
+ level: BANNER_LEVEL;
54
+ title: string;
55
+ };
56
+ };
57
+ export declare const CustomIcon: {
58
+ args: {
59
+ level: BANNER_LEVEL;
60
+ icon: string;
61
+ text: string;
62
+ };
63
+ };
64
+ export declare const HideIcon: {
65
+ args: {
66
+ level: BANNER_LEVEL;
67
+ hideIcon: boolean;
68
+ text: string;
69
+ };
70
+ };
71
+ export default meta;
72
+ //# sourceMappingURL=Banner.stories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Banner.stories.d.ts","sourceRoot":"","sources":["../../../src/components/banner/Banner.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAEhD,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,MAAM,CAa7B,CAAC;AAEF,eAAO,MAAM,OAAO;;;;CAInB,CAAC;AAEF,eAAO,MAAM,IAAI;;;;;CAKhB,CAAC;AAEF,eAAO,MAAM,OAAO;;;;;CAKnB,CAAC;AAEF,eAAO,MAAM,WAAW;;;;;CAKvB,CAAC;AAEF,eAAO,MAAM,SAAS;;;;;;CAMrB,CAAC;AAEF,eAAO,MAAM,UAAU;;;;;;;CAOtB,CAAC;AAEF,eAAO,MAAM,kBAAkB;;;;;;;;CAQ9B,CAAC;AAEF,eAAO,MAAM,SAAS;;;;;CAKrB,CAAC;AAEF,eAAO,MAAM,UAAU;;;;;;CAMtB,CAAC;AAEF,eAAO,MAAM,QAAQ;;;;;;CAMpB,CAAC;AAEF,eAAe,IAAI,CAAC"}
@@ -0,0 +1,84 @@
1
+ import { Banner, BANNER_LEVEL } from './Banner';
2
+ const meta = {
3
+ tags: ['autodocs'],
4
+ title: 'Components/Banner',
5
+ component: Banner,
6
+ argTypes: {
7
+ level: {
8
+ control: { type: 'select' },
9
+ options: Object.values(BANNER_LEVEL),
10
+ },
11
+ },
12
+ args: {
13
+ buttonOnClick: () => { console.log('click!'); },
14
+ },
15
+ };
16
+ export const Neutral = {
17
+ args: {
18
+ text: 'This is a neutral banner message with some useful information for the user.',
19
+ },
20
+ };
21
+ export const Info = {
22
+ args: {
23
+ level: BANNER_LEVEL.INFO,
24
+ text: 'Your session will expire in 10 minutes. Save your work to avoid losing changes.',
25
+ },
26
+ };
27
+ export const Warning = {
28
+ args: {
29
+ level: BANNER_LEVEL.WARNING,
30
+ text: 'This action may affect student records. Please review before proceeding.',
31
+ },
32
+ };
33
+ export const Destructive = {
34
+ args: {
35
+ level: BANNER_LEVEL.DESTRUCTIVE,
36
+ text: 'Something went wrong. Please contact your system administrator.',
37
+ },
38
+ };
39
+ export const WithTitle = {
40
+ args: {
41
+ level: BANNER_LEVEL.INFO,
42
+ title: 'Important Update',
43
+ text: 'A new version of the system is available. Refresh the page to apply updates.',
44
+ },
45
+ };
46
+ export const WithButton = {
47
+ args: {
48
+ level: BANNER_LEVEL.WARNING,
49
+ text: 'You have unsaved changes that will be lost.',
50
+ buttonText: 'Undo changes',
51
+ buttonOnClick: () => { console.log('Banner button clicked'); },
52
+ },
53
+ };
54
+ export const WithTitleAndButton = {
55
+ args: {
56
+ level: BANNER_LEVEL.INFO,
57
+ title: 'Scheduled Maintenance',
58
+ text: 'The system will be unavailable on Saturday 1st March between 2am–4am.',
59
+ buttonText: 'Learn more',
60
+ buttonOnClick: () => { console.log('Banner button clicked'); },
61
+ },
62
+ };
63
+ export const TitleOnly = {
64
+ args: {
65
+ level: BANNER_LEVEL.NEUTRAL,
66
+ title: 'No results found for the selected filters.',
67
+ },
68
+ };
69
+ export const CustomIcon = {
70
+ args: {
71
+ level: BANNER_LEVEL.INFO,
72
+ icon: 'circle-check',
73
+ text: 'Your changes have been saved successfully.',
74
+ },
75
+ };
76
+ export const HideIcon = {
77
+ args: {
78
+ level: BANNER_LEVEL.WARNING,
79
+ hideIcon: true,
80
+ text: 'This banner has its icon hidden.',
81
+ },
82
+ };
83
+ export default meta;
84
+ //# sourceMappingURL=Banner.stories.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Banner.stories.js","sourceRoot":"","sources":["../../../src/components/banner/Banner.stories.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAEhD,MAAM,IAAI,GAAwB;IAChC,IAAI,EAAE,CAAC,UAAU,CAAC;IAClB,KAAK,EAAE,mBAAmB;IAC1B,SAAS,EAAE,MAAM;IACjB,QAAQ,EAAE;QACR,KAAK,EAAE;YACL,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC3B,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC;SACrC;KACF;IACD,IAAI,EAAE;QACJ,aAAa,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;KAChD;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,OAAO,GAAG;IACrB,IAAI,EAAE;QACJ,IAAI,EAAE,6EAA6E;KACpF;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,IAAI,GAAG;IAClB,IAAI,EAAE;QACJ,KAAK,EAAE,YAAY,CAAC,IAAI;QACxB,IAAI,EAAE,iFAAiF;KACxF;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,OAAO,GAAG;IACrB,IAAI,EAAE;QACJ,KAAK,EAAE,YAAY,CAAC,OAAO;QAC3B,IAAI,EAAE,0EAA0E;KACjF;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,IAAI,EAAE;QACJ,KAAK,EAAE,YAAY,CAAC,WAAW;QAC/B,IAAI,EAAE,iEAAiE;KACxE;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,IAAI,EAAE;QACJ,KAAK,EAAE,YAAY,CAAC,IAAI;QACxB,KAAK,EAAE,kBAAkB;QACzB,IAAI,EAAE,8EAA8E;KACrF;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,IAAI,EAAE;QACJ,KAAK,EAAE,YAAY,CAAC,OAAO;QAC3B,IAAI,EAAE,6CAA6C;QACnD,UAAU,EAAE,cAAc;QAC1B,aAAa,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC;KAC/D;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,IAAI,EAAE;QACJ,KAAK,EAAE,YAAY,CAAC,IAAI;QACxB,KAAK,EAAE,uBAAuB;QAC9B,IAAI,EAAE,uEAAuE;QAC7E,UAAU,EAAE,YAAY;QACxB,aAAa,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC;KAC/D;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,IAAI,EAAE;QACJ,KAAK,EAAE,YAAY,CAAC,OAAO;QAC3B,KAAK,EAAE,4CAA4C;KACpD;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,IAAI,EAAE;QACJ,KAAK,EAAE,YAAY,CAAC,IAAI;QACxB,IAAI,EAAE,cAAc;QACpB,IAAI,EAAE,4CAA4C;KACnD;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,IAAI,EAAE;QACJ,KAAK,EAAE,YAAY,CAAC,OAAO;QAC3B,QAAQ,EAAE,IAAI;QACd,IAAI,EAAE,kCAAkC;KACzC;CACF,CAAC;AAEF,eAAe,IAAI,CAAC"}
@@ -0,0 +1,2 @@
1
+ import '@testing-library/jest-dom/vitest';
2
+ //# sourceMappingURL=Banner.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Banner.test.d.ts","sourceRoot":"","sources":["../../../src/components/banner/Banner.test.tsx"],"names":[],"mappings":"AAEA,OAAO,kCAAkC,CAAC"}
@@ -0,0 +1,72 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { describe, expect, test, vi } from 'vitest';
3
+ import { render, screen, fireEvent } from '@testing-library/react';
4
+ import '@testing-library/jest-dom/vitest';
5
+ import { Banner, BANNER_LEVEL } from './Banner';
6
+ describe('Banner', () => {
7
+ describe('text', () => {
8
+ test('renders text content', () => {
9
+ render(_jsx(Banner, { text: "Something important happened." }));
10
+ expect(screen.getByText('Something important happened.')).toBeInTheDocument();
11
+ });
12
+ test('renders title', () => {
13
+ render(_jsx(Banner, { title: "Scheduled Maintenance" }));
14
+ expect(screen.getByRole('heading', { name: 'Scheduled Maintenance' })).toBeInTheDocument();
15
+ });
16
+ test('does not render a heading when title is not provided', () => {
17
+ render(_jsx(Banner, { text: "No title here." }));
18
+ expect(screen.queryByRole('heading')).not.toBeInTheDocument();
19
+ });
20
+ });
21
+ describe('level', () => {
22
+ test('applies neutral class by default', () => {
23
+ const { container } = render(_jsx(Banner, {}));
24
+ expect(container.firstChild).toHaveClass('ds-banner--neutral');
25
+ });
26
+ test.each(Object.values(BANNER_LEVEL))('applies correct class for level %s', (level) => {
27
+ const { container } = render(_jsx(Banner, { level: level }));
28
+ expect(container.firstChild).toHaveClass(`ds-banner--${level.toLowerCase()}`);
29
+ });
30
+ });
31
+ describe('icon', () => {
32
+ test('renders the default icon based on level', () => {
33
+ const { container } = render(_jsx(Banner, {}));
34
+ expect(container.querySelector('svg')).toBeInTheDocument();
35
+ });
36
+ test('renders a custom icon when icon prop is provided', () => {
37
+ const { container } = render(_jsx(Banner, { icon: "circle-check" }));
38
+ expect(container.querySelector('svg')).toBeInTheDocument();
39
+ });
40
+ test('does not render an icon when hideIcon is true', () => {
41
+ const { container } = render(_jsx(Banner, { hideIcon: true }));
42
+ expect(container.querySelector('svg')).not.toBeInTheDocument();
43
+ });
44
+ test('does not render an icon when hideIcon is true even if icon prop is provided', () => {
45
+ const { container } = render(_jsx(Banner, { icon: "info", hideIcon: true }));
46
+ expect(container.querySelector('svg')).not.toBeInTheDocument();
47
+ });
48
+ });
49
+ describe('button', () => {
50
+ test('renders a button when buttonText is provided', () => {
51
+ render(_jsx(Banner, { buttonText: "Learn more" }));
52
+ expect(screen.getByRole('button')).toBeInTheDocument();
53
+ });
54
+ test('does not render a button when buttonText is not provided', () => {
55
+ render(_jsx(Banner, { text: "No button here." }));
56
+ expect(screen.queryByRole('button')).not.toBeInTheDocument();
57
+ });
58
+ test('calls buttonOnClick when button is clicked', () => {
59
+ const handleClick = vi.fn();
60
+ render(_jsx(Banner, { buttonText: "Learn more", buttonOnClick: handleClick }));
61
+ fireEvent.click(screen.getByRole('button'));
62
+ expect(handleClick).toHaveBeenCalledTimes(1);
63
+ });
64
+ });
65
+ describe('className', () => {
66
+ test('applies custom className', () => {
67
+ const { container } = render(_jsx(Banner, { className: "my-custom-class" }));
68
+ expect(container.firstChild).toHaveClass('my-custom-class');
69
+ });
70
+ });
71
+ });
72
+ //# sourceMappingURL=Banner.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Banner.test.js","sourceRoot":"","sources":["../../../src/components/banner/Banner.test.tsx"],"names":[],"mappings":"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"}
package/dist/index.css CHANGED
@@ -1380,7 +1380,13 @@
1380
1380
  -webkit-font-smoothing: antialiased;
1381
1381
  -moz-osx-font-smoothing: grayscale;
1382
1382
  text-rendering: optimizeLegibility;
1383
+ }
1384
+
1385
+ body *[class^=ds-], body *[class*=" ds-"] {
1383
1386
  font-family: var(--font-family-standard);
1387
+ font-size: var(--type-body-p-size);
1388
+ font-weight: var(--font-weight-regular);
1389
+ box-sizing: border-box;
1384
1390
  }
1385
1391
 
1386
1392
  .ds-button {
@@ -1390,7 +1396,6 @@
1390
1396
  justify-content: center;
1391
1397
  gap: var(--button-medium-spacing-gap-vertical);
1392
1398
  border-radius: var(--button-medium-radius);
1393
- font-family: var(--font-family-standard);
1394
1399
  font-weight: var(--font-weight-semi-bold);
1395
1400
  padding: var(--button-medium-spacing-vertical) var(--button-medium-spacing-horizontal);
1396
1401
  border: none;
@@ -1398,7 +1403,6 @@
1398
1403
  transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s;
1399
1404
  position: relative;
1400
1405
  text-decoration: none;
1401
- font-size: var(--font-size-2-13);
1402
1406
  }
1403
1407
  .ds-button--no-horizontal-padding {
1404
1408
  padding: var(--button-medium-spacing-vertical) 0;
@@ -1469,10 +1473,7 @@
1469
1473
  .ds-button--dropdown {
1470
1474
  color: var(--color-grey-900, #2F2F2F);
1471
1475
  /* typography/body/p1-regular */
1472
- font-family: var(--type-body-p-family, Inter);
1473
- font-size: var(--type-body-p-size, 13px);
1474
1476
  font-style: normal;
1475
- font-weight: var(--type-body-p-weight, 400);
1476
1477
  line-height: 150%; /* 19.5px */
1477
1478
  display: flex;
1478
1479
  padding: var(--spacing-small) var(--spacing-small) var(--spacing-small) var(--spacing-medium);
@@ -1697,9 +1698,6 @@ h4.ds-heading, h4 .ds-editable-text__button, h4 .ds-editable-text__input {
1697
1698
  }
1698
1699
  .ds-card__content .ds-card__text .ds-card__paragraph {
1699
1700
  margin: 0;
1700
- font-family: var(--type-body-p-family);
1701
- font-size: var(--type-body-p-size);
1702
- font-weight: var(--type-body-p-weight);
1703
1701
  }
1704
1702
 
1705
1703
  .ds-dropdown__content {
@@ -1709,10 +1707,7 @@ h4.ds-heading, h4 .ds-editable-text__button, h4 .ds-editable-text__input {
1709
1707
  background-color: var(--form-dropdown-color-background);
1710
1708
  min-width: 200px;
1711
1709
  border: 1px solid var(--color-grey-200);
1712
- font-family: var(--type-body-p-family);
1713
- font-size: var(--type-body-p-size);
1714
1710
  font-style: normal;
1715
- font-weight: var(--type-body-p-weight);
1716
1711
  line-height: 150%;
1717
1712
  }
1718
1713
 
@@ -1747,8 +1742,6 @@ h4.ds-heading, h4 .ds-editable-text__button, h4 .ds-editable-text__input {
1747
1742
  }
1748
1743
 
1749
1744
  .ds-form-field {
1750
- font-family: var(--font-family-standard);
1751
- font-size: var(--font-size-2-13);
1752
1745
  line-height: 150%;
1753
1746
  width: 100%;
1754
1747
  box-sizing: border-box;
@@ -1801,8 +1794,6 @@ h4.ds-heading, h4 .ds-editable-text__button, h4 .ds-editable-text__input {
1801
1794
  }
1802
1795
 
1803
1796
  .ds-fieldset__legend {
1804
- font-family: var(--font-family-standard);
1805
- font-size: var(--font-size-2-13);
1806
1797
  font-weight: var(--type-body-bold-weight);
1807
1798
  color: var(--form-field-label-color-text);
1808
1799
  line-height: 150%;
@@ -1812,9 +1803,6 @@ h4.ds-heading, h4 .ds-editable-text__button, h4 .ds-editable-text__input {
1812
1803
 
1813
1804
  .ds-input {
1814
1805
  width: 100%;
1815
- font-size: var(--type-body-p-size);
1816
- font-family: var(--font-family-standard);
1817
- font-weight: var(--font-weight-regular);
1818
1806
  border: var(--border-weight) solid var(--form-field-text-default-color-border);
1819
1807
  border-radius: var(--form-field-radius);
1820
1808
  color: var(--form-field-text-default-color-text);
@@ -1870,8 +1858,6 @@ h4.ds-heading, h4 .ds-editable-text__button, h4 .ds-editable-text__input {
1870
1858
  }
1871
1859
 
1872
1860
  .ds-label {
1873
- font-family: var(--font-family-standard);
1874
- font-size: var(--font-size-2-13);
1875
1861
  font-weight: var(--type-body-bold-weight);
1876
1862
  color: var(--form-field-label-color-text);
1877
1863
  line-height: 150%;
@@ -1960,8 +1946,6 @@ h4.ds-heading, h4 .ds-editable-text__button, h4 .ds-editable-text__input {
1960
1946
  }
1961
1947
  .ds-radio-button-input__container .ds-radio-button-input__text {
1962
1948
  flex: 1 0 0;
1963
- font-size: var(--type-body-p-size);
1964
- font-weight: var(--type-body-p-weight);
1965
1949
  color: var(--checkbox-default-color-text);
1966
1950
  line-height: var(--line-height-default);
1967
1951
  user-select: none;
@@ -2063,8 +2047,6 @@ h4.ds-heading, h4 .ds-editable-text__button, h4 .ds-editable-text__input {
2063
2047
  }
2064
2048
  .ds-checkbox-input__container .ds-checkbox-label__text {
2065
2049
  flex: 1 0 0;
2066
- font-size: var(--type-body-p-size);
2067
- font-weight: var(--type-body-p-weight);
2068
2050
  color: var(--checkbox-default-color-text);
2069
2051
  line-height: var(--line-height-default);
2070
2052
  }
@@ -2122,7 +2104,6 @@ h4.ds-heading, h4 .ds-editable-text__button, h4 .ds-editable-text__input {
2122
2104
  .ds-select-dropdown__items--header {
2123
2105
  margin: 0;
2124
2106
  color: var(--form-dropdown-form-drop-item-title-color-text);
2125
- font-size: var(--font-size-2-13);
2126
2107
  padding: var(--spacing-xsmall) var(--spacing-small) var(--spacing-medium) var(--spacing-small);
2127
2108
  border-bottom: var(--border-weight) solid var(--page-base-color-border);
2128
2109
  }
@@ -2146,10 +2127,7 @@ h4.ds-heading, h4 .ds-editable-text__button, h4 .ds-editable-text__input {
2146
2127
  flex-grow: 0;
2147
2128
  width: fit-content;
2148
2129
  /* typography/body/p1-reg */
2149
- font-family: var(--type-body-p-family, Inter);
2150
- font-size: var(--type-body-p-size);
2151
2130
  font-style: normal;
2152
- font-weight: var(--type-body-p-weight);
2153
2131
  line-height: 150%; /* 19.5px */
2154
2132
  }
2155
2133
  .ds-tag--neutral {
@@ -2223,10 +2201,7 @@ h4.ds-heading, h4 .ds-editable-text__button, h4 .ds-editable-text__input {
2223
2201
  width: fit-content;
2224
2202
  cursor: pointer;
2225
2203
  /* typography/body/p1-reg */
2226
- font-family: var(--type-body-p-family, Inter);
2227
- font-size: var(--type-body-p-size);
2228
2204
  font-style: normal;
2229
- font-weight: var(--type-body-p-weight);
2230
2205
  line-height: 150%; /* 19.5px */
2231
2206
  }
2232
2207
  .ds-pill__inactive {
@@ -2302,7 +2277,6 @@ h4.ds-heading, h4 .ds-editable-text__button, h4 .ds-editable-text__input {
2302
2277
  list-style: none;
2303
2278
  padding: 0;
2304
2279
  margin: 0;
2305
- font-family: var(--type-body-p-family);
2306
2280
  align-items: center;
2307
2281
  justify-content: flex-start;
2308
2282
  gap: var(--tabs-spacing-horizontal-gap);
@@ -2319,7 +2293,6 @@ h4.ds-heading, h4 .ds-editable-text__button, h4 .ds-editable-text__input {
2319
2293
  .ds-tabs-item__tab {
2320
2294
  min-width: var(--size-control-xlarge);
2321
2295
  position: relative;
2322
- font-family: var(--type-body-p-family);
2323
2296
  padding: var(--tabs-tab-item-spacing-vertical) var(--tabs-tab-item-spacing-horizontal);
2324
2297
  cursor: pointer;
2325
2298
  display: flex;
@@ -2536,9 +2509,6 @@ h4.ds-heading, h4 .ds-editable-text__button, h4 .ds-editable-text__input {
2536
2509
  }
2537
2510
  .ds-search-bar--inactive__placeholder {
2538
2511
  color: var(--search-global-default-color-text);
2539
- font-family: var(--type-body-p-family);
2540
- font-size: var(--type-body-p-size);
2541
- font-weight: var(--type-body-p-weight);
2542
2512
  }
2543
2513
  .ds-search-bar--inactive-icon-only {
2544
2514
  padding: var(--search-global-spacing-vertical);
@@ -2571,18 +2541,11 @@ h4.ds-heading, h4 .ds-editable-text__button, h4 .ds-editable-text__input {
2571
2541
  width: 39px;
2572
2542
  }
2573
2543
 
2574
- .ds-table__pagination-controls, .ds-table__row-count-info {
2575
- font-size: var(--font-size-2-13);
2576
- }
2577
-
2578
2544
  .ds-tooltip__content {
2579
2545
  color: var(--tooltip-color-text);
2580
2546
  background: var(--tooltip-color-background);
2581
2547
  padding: var(--tooltip-spacing-vertical) var(--tooltip-spacing-horizontal);
2582
2548
  border-radius: var(--border-radius-small);
2583
- font-size: var(--type-body-p-size);
2584
- font-family: var(--type-body-p-family);
2585
- font-weight: var(--type-body-p-weight);
2586
2549
  }
2587
2550
  .ds-tooltip__content-arrow {
2588
2551
  fill: var(--tooltip-color-background);
@@ -2618,9 +2581,6 @@ h4.ds-heading, h4 .ds-editable-text__button, h4 .ds-editable-text__input {
2618
2581
  max-width: calc(100vw - var(--spacing-medium));
2619
2582
  max-height: calc(100vh - var(--spacing-medium));
2620
2583
  min-width: var(--modal-min-width);
2621
- font-family: var(--type-body-p-family);
2622
- font-size: var(--type-body-p-size);
2623
- font-weight: var(--type-body-p-weight);
2624
2584
  line-height: var(--type-body-line-height);
2625
2585
  color: var(--type-body-p-color);
2626
2586
  }
@@ -2708,9 +2668,6 @@ h4.ds-heading, h4 .ds-editable-text__button, h4 .ds-editable-text__input {
2708
2668
  border: var(--border-weight) solid var(--color-grey-200);
2709
2669
  border-radius: var(--border-radius-small);
2710
2670
  color: var(--color-grey-900);
2711
- font-family: var(--font-family-standard);
2712
- font-size: var(--font-size-2-13);
2713
- font-weight: var(--font-weight-regular);
2714
2671
  padding: 0 var(--spacing-small);
2715
2672
  justify-content: space-between;
2716
2673
  }
@@ -2724,9 +2681,6 @@ h4.ds-heading, h4 .ds-editable-text__button, h4 .ds-editable-text__input {
2724
2681
  border: var(--border-weight) solid var(--color-grey-200);
2725
2682
  border-radius: var(--border-radius-small);
2726
2683
  color: var(--color-grey-900);
2727
- font-family: var(--font-family-standard);
2728
- font-size: var(--font-size-2-13);
2729
- font-weight: var(--font-weight-regular);
2730
2684
  box-sizing: border-box;
2731
2685
  }
2732
2686
  .ds-column-filter-time__input::-webkit-calendar-picker-indicator {
@@ -2734,6 +2688,63 @@ h4.ds-heading, h4 .ds-editable-text__button, h4 .ds-editable-text__input {
2734
2688
  cursor: pointer;
2735
2689
  }
2736
2690
 
2691
+ .ds-banner {
2692
+ display: flex;
2693
+ flex-flow: row nowrap;
2694
+ gap: var(--banner-spacing-gap);
2695
+ padding: var(--banner-spacing-vertical) var(--banner-spacing-horizontal);
2696
+ border-radius: var(--banner-radius);
2697
+ border-width: 1px;
2698
+ border-style: solid;
2699
+ }
2700
+ .ds-banner__central-container {
2701
+ flex-grow: 1;
2702
+ display: flex;
2703
+ flex-direction: column;
2704
+ align-items: flex-start;
2705
+ gap: var(--spacing-small);
2706
+ }
2707
+ .ds-banner__title {
2708
+ margin: 0;
2709
+ }
2710
+ .ds-banner__button {
2711
+ color: inherit;
2712
+ align-self: flex-end;
2713
+ text-wrap: nowrap;
2714
+ }
2715
+ .ds-banner--info {
2716
+ border-color: var(--banner-info-color-border);
2717
+ background-color: var(--banner-info-color-background);
2718
+ color: var(--banner-info-color-text);
2719
+ }
2720
+ .ds-banner--info svg {
2721
+ stroke: var(--banner-info-color-icon);
2722
+ }
2723
+ .ds-banner--neutral {
2724
+ border-color: var(--banner-neutral-color-border);
2725
+ background-color: var(--banner-neutral-color-background);
2726
+ color: var(--banner-neutral-color-text);
2727
+ }
2728
+ .ds-banner--neutral svg {
2729
+ stroke: var(--banner-neutral-color-icon);
2730
+ }
2731
+ .ds-banner--warning {
2732
+ border-color: var(--banner-warning-color-border);
2733
+ background-color: var(--banner-warning-color-background);
2734
+ color: var(--banner-warning-color-text);
2735
+ }
2736
+ .ds-banner--warning svg {
2737
+ stroke: var(--banner-warning-color-icon);
2738
+ }
2739
+ .ds-banner--destructive {
2740
+ border-color: var(--banner-destructive-color-border);
2741
+ background-color: var(--banner-destructive-color-background);
2742
+ color: var(--banner-destructive-color-text);
2743
+ }
2744
+ .ds-banner--destructive svg {
2745
+ stroke: var(--banner-destructive-color-icon);
2746
+ }
2747
+
2737
2748
  .ds-editable-text {
2738
2749
  width: 100%;
2739
2750
  box-sizing: border-box;
@@ -2816,7 +2827,6 @@ h4.ds-heading, h4 .ds-editable-text__button, h4 .ds-editable-text__input {
2816
2827
  border-radius: var(--toast-radius);
2817
2828
  box-shadow: var(--shadow-small);
2818
2829
  font-family: var(--type-body-bold-family);
2819
- font-size: var(--type-body-p-size);
2820
2830
  font-style: normal;
2821
2831
  font-weight: var(--type-body-bold-weight);
2822
2832
  line-height: var(--line-height-default);