@arbor-education/design-system.components 0.11.1 → 0.12.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 (135) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/dist/components/avatar/Avatar.d.ts +4 -0
  3. package/dist/components/avatar/Avatar.d.ts.map +1 -1
  4. package/dist/components/avatarGroup/AvatarGroup.d.ts +6 -0
  5. package/dist/components/avatarGroup/AvatarGroup.d.ts.map +1 -1
  6. package/dist/components/badge/Badge.d.ts +5 -0
  7. package/dist/components/badge/Badge.d.ts.map +1 -1
  8. package/dist/components/banner/Banner.d.ts +7 -1
  9. package/dist/components/banner/Banner.d.ts.map +1 -1
  10. package/dist/components/banner/Banner.js +4 -1
  11. package/dist/components/banner/Banner.js.map +1 -1
  12. package/dist/components/button/Button.d.ts +5 -0
  13. package/dist/components/button/Button.d.ts.map +1 -1
  14. package/dist/components/card/Card.d.ts +3 -0
  15. package/dist/components/card/Card.d.ts.map +1 -1
  16. package/dist/components/combobox/Combobox.d.ts +9 -1
  17. package/dist/components/combobox/Combobox.d.ts.map +1 -1
  18. package/dist/components/datePicker/DatePicker.d.ts +3 -0
  19. package/dist/components/datePicker/DatePicker.d.ts.map +1 -1
  20. package/dist/components/dateTimePicker/DateTimePicker.d.ts +4 -1
  21. package/dist/components/dateTimePicker/DateTimePicker.d.ts.map +1 -1
  22. package/dist/components/dateTimePicker/DateTimePicker.stories.d.ts +3 -3
  23. package/dist/components/dot/Dot.d.ts +4 -0
  24. package/dist/components/dot/Dot.d.ts.map +1 -1
  25. package/dist/components/dropdown/Dropdown.d.ts +15 -10
  26. package/dist/components/dropdown/Dropdown.d.ts.map +1 -1
  27. package/dist/components/dropdown/Dropdown.js.map +1 -1
  28. package/dist/components/dropdown/DropdownContent.d.ts +1 -2
  29. package/dist/components/dropdown/DropdownContent.d.ts.map +1 -1
  30. package/dist/components/dropdown/DropdownTrigger.d.ts +3 -2
  31. package/dist/components/dropdown/DropdownTrigger.d.ts.map +1 -1
  32. package/dist/components/dropdown/DropdownTrigger.js.map +1 -1
  33. package/dist/components/formField/FormField.d.ts +4 -2
  34. package/dist/components/formField/FormField.d.ts.map +1 -1
  35. package/dist/components/formField/fieldset/Fieldset.d.ts +3 -0
  36. package/dist/components/formField/fieldset/Fieldset.d.ts.map +1 -1
  37. package/dist/components/formField/inputs/checkbox/CheckboxGroup.d.ts +4 -2
  38. package/dist/components/formField/inputs/checkbox/CheckboxGroup.d.ts.map +1 -1
  39. package/dist/components/formField/inputs/checkbox/CheckboxInput.d.ts +3 -0
  40. package/dist/components/formField/inputs/checkbox/CheckboxInput.d.ts.map +1 -1
  41. package/dist/components/formField/inputs/colourPickerDropdown/ColourPickerDropdown.d.ts +3 -0
  42. package/dist/components/formField/inputs/colourPickerDropdown/ColourPickerDropdown.d.ts.map +1 -1
  43. package/dist/components/formField/inputs/number/NumberInput.d.ts +3 -0
  44. package/dist/components/formField/inputs/number/NumberInput.d.ts.map +1 -1
  45. package/dist/components/formField/inputs/radio/RadioButtonGroup.d.ts +3 -0
  46. package/dist/components/formField/inputs/radio/RadioButtonGroup.d.ts.map +1 -1
  47. package/dist/components/formField/inputs/radio/RadioButtonInput.d.ts +3 -0
  48. package/dist/components/formField/inputs/radio/RadioButtonInput.d.ts.map +1 -1
  49. package/dist/components/formField/inputs/selectDropdown/SelectDropdown.d.ts +3 -0
  50. package/dist/components/formField/inputs/selectDropdown/SelectDropdown.d.ts.map +1 -1
  51. package/dist/components/formField/inputs/text/TextInput.d.ts +3 -0
  52. package/dist/components/formField/inputs/text/TextInput.d.ts.map +1 -1
  53. package/dist/components/formField/inputs/textArea/TextArea.d.ts +3 -0
  54. package/dist/components/formField/inputs/textArea/TextArea.d.ts.map +1 -1
  55. package/dist/components/formField/inputs/time/TimeInput.d.ts +5 -0
  56. package/dist/components/formField/inputs/time/TimeInput.d.ts.map +1 -1
  57. package/dist/components/formField/inputs/time/TimeInput.stories.d.ts +1 -1
  58. package/dist/components/heading/Heading.d.ts +5 -0
  59. package/dist/components/heading/Heading.d.ts.map +1 -1
  60. package/dist/components/icon/Icon.d.ts +7 -1
  61. package/dist/components/icon/Icon.d.ts.map +1 -1
  62. package/dist/components/modal/Modal.d.ts +16 -4
  63. package/dist/components/modal/Modal.d.ts.map +1 -1
  64. package/dist/components/modal/Modal.js.map +1 -1
  65. package/dist/components/progress/Progress.d.ts +3 -0
  66. package/dist/components/progress/Progress.d.ts.map +1 -1
  67. package/dist/components/row/Row.d.ts +3 -0
  68. package/dist/components/row/Row.d.ts.map +1 -1
  69. package/dist/components/singleUser/SingleUser.d.ts +3 -0
  70. package/dist/components/singleUser/SingleUser.d.ts.map +1 -1
  71. package/dist/components/slideover/Slideover.d.ts +3 -0
  72. package/dist/components/slideover/Slideover.d.ts.map +1 -1
  73. package/dist/components/table/Table.d.ts +14 -4
  74. package/dist/components/table/Table.d.ts.map +1 -1
  75. package/dist/components/table/Table.js +1 -1
  76. package/dist/components/table/Table.js.map +1 -1
  77. package/dist/components/table/Table.test.js +6 -6
  78. package/dist/components/table/Table.test.js.map +1 -1
  79. package/dist/components/tag/Tag.d.ts +4 -0
  80. package/dist/components/tag/Tag.d.ts.map +1 -1
  81. package/dist/components/toast/Toast.d.ts +5 -0
  82. package/dist/components/toast/Toast.d.ts.map +1 -1
  83. package/dist/components/tooltip/Tooltip.d.ts +7 -1
  84. package/dist/components/tooltip/Tooltip.d.ts.map +1 -1
  85. package/dist/components/tooltip/Tooltip.js.map +1 -1
  86. package/dist/components/tooltip/TooltipWrapper.d.ts +3 -0
  87. package/dist/components/tooltip/TooltipWrapper.d.ts.map +1 -1
  88. package/dist/components/userDropdown/UserDropdown.d.ts +7 -0
  89. package/dist/components/userDropdown/UserDropdown.d.ts.map +1 -1
  90. package/dist/index.d.ts +20 -22
  91. package/dist/index.d.ts.map +1 -1
  92. package/dist/index.js +18 -13
  93. package/dist/index.js.map +1 -1
  94. package/eslint.config.mts +1 -0
  95. package/package.json +1 -1
  96. package/src/components/avatar/Avatar.tsx +5 -0
  97. package/src/components/avatarGroup/AvatarGroup.tsx +7 -0
  98. package/src/components/badge/Badge.tsx +6 -0
  99. package/src/components/banner/Banner.tsx +10 -1
  100. package/src/components/button/Button.tsx +6 -0
  101. package/src/components/card/Card.tsx +4 -0
  102. package/src/components/combobox/Combobox.tsx +10 -1
  103. package/src/components/datePicker/DatePicker.tsx +4 -0
  104. package/src/components/dateTimePicker/DateTimePicker.tsx +4 -1
  105. package/src/components/dot/Dot.tsx +5 -0
  106. package/src/components/dropdown/Dropdown.tsx +13 -3
  107. package/src/components/dropdown/DropdownContent.tsx +1 -1
  108. package/src/components/dropdown/DropdownTrigger.tsx +3 -1
  109. package/src/components/formField/FormField.tsx +5 -1
  110. package/src/components/formField/fieldset/Fieldset.tsx +4 -0
  111. package/src/components/formField/inputs/checkbox/CheckboxGroup.tsx +5 -1
  112. package/src/components/formField/inputs/checkbox/CheckboxInput.tsx +4 -0
  113. package/src/components/formField/inputs/colourPickerDropdown/ColourPickerDropdown.tsx +4 -0
  114. package/src/components/formField/inputs/number/NumberInput.tsx +4 -0
  115. package/src/components/formField/inputs/radio/RadioButtonGroup.tsx +4 -0
  116. package/src/components/formField/inputs/radio/RadioButtonInput.tsx +4 -0
  117. package/src/components/formField/inputs/selectDropdown/SelectDropdown.tsx +4 -0
  118. package/src/components/formField/inputs/text/TextInput.tsx +4 -0
  119. package/src/components/formField/inputs/textArea/TextArea.tsx +4 -0
  120. package/src/components/formField/inputs/time/TimeInput.tsx +6 -0
  121. package/src/components/heading/Heading.tsx +6 -0
  122. package/src/components/icon/Icon.tsx +8 -1
  123. package/src/components/modal/Modal.tsx +13 -3
  124. package/src/components/progress/Progress.tsx +4 -0
  125. package/src/components/row/Row.tsx +4 -0
  126. package/src/components/singleUser/SingleUser.tsx +4 -0
  127. package/src/components/slideover/Slideover.tsx +4 -0
  128. package/src/components/table/Table.test.tsx +6 -6
  129. package/src/components/table/Table.tsx +13 -2
  130. package/src/components/tag/Tag.tsx +5 -0
  131. package/src/components/toast/Toast.tsx +6 -0
  132. package/src/components/tooltip/Tooltip.tsx +7 -1
  133. package/src/components/tooltip/TooltipWrapper.tsx +4 -0
  134. package/src/components/userDropdown/UserDropdown.tsx +8 -0
  135. package/src/index.ts +20 -35
@@ -1,6 +1,6 @@
1
1
  import { describe, expect, expectTypeOf, test, vi } from 'vitest';
2
2
  import { render, screen, waitFor } from '@testing-library/react';
3
- import { Table, TABLE_SPACING } from './Table';
3
+ import { Table } from './Table';
4
4
  import '@testing-library/jest-dom/vitest';
5
5
  import { BulkActionsDropdown } from 'Components/table/tableControls/BulkActionsDropdown';
6
6
  import { HideColumnsDropdown } from 'Components/table/tableControls/HideColumnsDropdown';
@@ -817,7 +817,7 @@ describe('Table', () => {
817
817
  expect((largeRadio as HTMLInputElement).checked).toBe(true);
818
818
  });
819
819
  expect(onTableSettingsChanged).toHaveBeenCalledExactlyOnceWith(expect.objectContaining({
820
- tableSpacing: TABLE_SPACING.L,
820
+ tableSpacing: Table.Spacing.L,
821
821
  }));
822
822
 
823
823
  const columnBordersCheckbox = screen.getByLabelText('Column borders');
@@ -896,7 +896,7 @@ describe('Table', () => {
896
896
  await userEvent.click(largeRadio);
897
897
 
898
898
  await waitFor(() => {
899
- expect(onTableSpacingChanged).toHaveBeenCalledExactlyOnceWith(TABLE_SPACING.L);
899
+ expect(onTableSpacingChanged).toHaveBeenCalledExactlyOnceWith(Table.Spacing.L);
900
900
  });
901
901
 
902
902
  const xsmallRadio = screen.getByLabelText('X-Small');
@@ -904,7 +904,7 @@ describe('Table', () => {
904
904
 
905
905
  await waitFor(() => {
906
906
  expect(onTableSpacingChanged).toHaveBeenCalledTimes(2);
907
- expect(onTableSpacingChanged).toHaveBeenNthCalledWith(2, TABLE_SPACING.XS);
907
+ expect(onTableSpacingChanged).toHaveBeenNthCalledWith(2, Table.Spacing.XS);
908
908
  });
909
909
  });
910
910
 
@@ -924,14 +924,14 @@ describe('Table', () => {
924
924
  await userEvent.click(largeRadio);
925
925
 
926
926
  await waitFor(() => {
927
- expect(onTableSpacingChanged).toHaveBeenCalledWith(TABLE_SPACING.L);
927
+ expect(onTableSpacingChanged).toHaveBeenCalledWith(Table.Spacing.L);
928
928
  });
929
929
 
930
930
  const resetButton = screen.getByRole('button', { name: /Reset Table Settings/i });
931
931
  await userEvent.click(resetButton);
932
932
 
933
933
  await waitFor(() => {
934
- expect(onTableSpacingChanged).toHaveBeenCalledWith(TABLE_SPACING.M);
934
+ expect(onTableSpacingChanged).toHaveBeenCalledWith(Table.Spacing.M);
935
935
  });
936
936
  });
937
937
 
@@ -24,7 +24,8 @@ import { focusFirstFocusableElement } from 'Utils/focusFirstFocusableElement';
24
24
  import { BooleanFilter } from './columnFilters/BooleanFilter/BooleanFilter';
25
25
  import { TimeFilter } from './columnFilters/TimeFilter/TimeFilter';
26
26
  import { TableSettingsDropdown } from './tableControls/TableSettingsDropdown';
27
- import { TableControls } from './tableControls/TableControls';
27
+ import { TableControls, type TableControlsProps, type BulkAction as BulkActionType } from './tableControls/TableControls';
28
+ import type { HideColumnsDropdownProps } from './tableControls/HideColumnsDropdown';
28
29
  import { TABLE_SPACING } from './tableConsts';
29
30
  import { TableSettingsContext } from './TableSettingsContext';
30
31
  import { BooleanCellRenderer } from './cellRenderers/BooleanCellRenderer';
@@ -48,7 +49,6 @@ setAgGridLicenseKey();
48
49
 
49
50
  ModuleRegistry.registerModules([AllEnterpriseModule]);
50
51
 
51
- export { TABLE_SPACING } from './tableConsts';
52
52
  export { TableSettingsContext } from './TableSettingsContext';
53
53
 
54
54
  export const Table = (props: TableProps) => {
@@ -211,3 +211,14 @@ Table.ButtonCellRenderer = ButtonCellRenderer;
211
211
  Table.DefaultValueFormatter = defaultValueFormatter;
212
212
  Table.TableSettingsDropdown = TableSettingsDropdown;
213
213
  Table.TableControls = TableControls;
214
+
215
+ Table.Spacing = TABLE_SPACING;
216
+
217
+ export namespace Table {
218
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
219
+ export type Props<TData = any> = TableProps<TData>;
220
+ export type ControlsProps = TableControlsProps;
221
+ export type BulkAction = BulkActionType;
222
+ export type HideColumnsProps = HideColumnsDropdownProps;
223
+ export type Spacing = TABLE_SPACING;
224
+ }
@@ -56,3 +56,8 @@ export const Tag = ({
56
56
  </span>
57
57
  );
58
58
  };
59
+
60
+ export namespace Tag {
61
+ export type Color = TagColor;
62
+ export type Props = TagProps;
63
+ }
@@ -33,3 +33,9 @@ export const Toast = (props: ToastProps) => {
33
33
 
34
34
  Toast.Provider = RadixToast.Provider;
35
35
  Toast.Viewport = ToastViewport;
36
+
37
+ export namespace Toast {
38
+ export type Props = ToastProps;
39
+ export type ViewportProps = RadixToast.ToastViewportProps;
40
+ export type ProviderProps = RadixToast.ToastProviderProps;
41
+ }
@@ -1,5 +1,5 @@
1
1
  import { Tooltip as TooltipPrimitive } from 'radix-ui';
2
- import { TooltipContent } from './TooltipContent';
2
+ import { TooltipContent, type TooltipContentProps } from './TooltipContent';
3
3
  import { TooltipTrigger } from './TooltipTrigger';
4
4
 
5
5
  export const Tooltip = (props: TooltipPrimitive.TooltipProps) => {
@@ -16,3 +16,9 @@ export const Tooltip = (props: TooltipPrimitive.TooltipProps) => {
16
16
 
17
17
  Tooltip.Content = TooltipContent;
18
18
  Tooltip.Trigger = TooltipTrigger;
19
+
20
+ export namespace Tooltip {
21
+ export type Props = TooltipPrimitive.TooltipProps;
22
+ export type ContentProps = TooltipContentProps;
23
+ export type TriggerProps = TooltipPrimitive.TooltipTriggerProps;
24
+ }
@@ -30,3 +30,7 @@ export const TooltipWrapper = (props: TooltipWrapperProps) => {
30
30
  </Tooltip>
31
31
  );
32
32
  };
33
+
34
+ export namespace TooltipWrapper {
35
+ export type Props = TooltipWrapperProps;
36
+ }
@@ -108,3 +108,11 @@ export const UserDropdown = (props: UserDropdownProps) => {
108
108
  </Dropdown>
109
109
  );
110
110
  };
111
+
112
+ export namespace UserDropdown {
113
+ export type User = UserDropdownUser;
114
+ export type App = UserDropdownApp;
115
+ export type Section = UserDropdownSection;
116
+ export type UserInfoAction = UserDropdownUserInfoAction;
117
+ export type Props = UserDropdownProps;
118
+ }
package/src/index.ts CHANGED
@@ -1,69 +1,54 @@
1
1
  export { Avatar } from 'Components/avatar/Avatar';
2
- export {
3
- AvatarGroup,
4
- type AvatarGroupItem,
5
- type AvatarGroupListOrder,
6
- type AvatarGroupOverflowCountProps,
7
- type AvatarGroupProps,
8
- } from 'Components/avatarGroup/AvatarGroup';
9
- export { Banner, BANNER_LEVEL, type BannerProps } from 'Components/banner/Banner';
2
+ export { AvatarGroup } from 'Components/avatarGroup/AvatarGroup';
3
+ export { Badge } from 'Components/badge/Badge';
4
+ export { Banner } from 'Components/banner/Banner';
10
5
  export { Button } from 'Components/button/Button';
11
6
  export { Card } from 'Components/card/Card';
7
+ export { Combobox } from 'Components/combobox/Combobox';
12
8
  export { DatePicker } from 'Components/datePicker/DatePicker';
13
9
  export { DateTimePicker } from 'Components/dateTimePicker/DateTimePicker';
14
- export type { DateTimePickerDisplayFormat, DateTimePickerProps } from 'Components/dateTimePicker/DateTimePicker';
15
- export { Dropdown } from 'Components/dropdown/Dropdown';
16
- export { Tag } from 'Components/tag/Tag';
17
- export type { TagProps, TagColor } from 'Components/tag/Tag';
18
10
  export { Dot } from 'Components/dot/Dot';
19
- export type { DotColour } from 'Components/dot/Dot';
20
- export { Badge } from 'Components/badge/Badge';
21
- export type { BadgeColour, BadgeProps, BadgeSize } from 'Components/badge/Badge';
22
- export { Tabs } from 'Components/tabs/Tabs';
23
- export { NumberInput } from 'Components/formField/inputs/number/NumberInput';
24
- export { CheckboxInput } from 'Components/formField/inputs/checkbox/CheckboxInput';
11
+ export { Dropdown } from 'Components/dropdown/Dropdown';
25
12
  export { EditableText } from 'Components/editableText/EditableText';
26
- export { Fieldset } from 'Components/formField/fieldset/Fieldset';
13
+ export { CheckboxGroup } from 'Components/formField/inputs/checkbox/CheckboxGroup';
14
+ export { CheckboxInput } from 'Components/formField/inputs/checkbox/CheckboxInput';
27
15
  export { ColourPickerDropdown } from 'Components/formField/inputs/colourPickerDropdown/ColourPickerDropdown';
16
+ export { NumberInput } from 'Components/formField/inputs/number/NumberInput';
17
+ export { RadioButtonGroup } from 'Components/formField/inputs/radio/RadioButtonGroup';
28
18
  export { RadioButtonInput } from 'Components/formField/inputs/radio/RadioButtonInput';
29
19
  export { SelectDropdown } from 'Components/formField/inputs/selectDropdown/SelectDropdown';
30
20
  export { TextInput } from 'Components/formField/inputs/text/TextInput';
31
21
  export { TimeInput } from 'Components/formField/inputs/time/TimeInput';
32
- export type { TimeGranularity, TimeInputProps, TimeValue } from 'Components/formField/inputs/time/TimeInput';
33
22
  export { TextArea } from 'Components/formField/inputs/textArea/TextArea';
23
+ export { Fieldset } from 'Components/formField/fieldset/Fieldset';
24
+ export { FormField } from 'Components/formField/FormField';
34
25
  export { Heading } from 'Components/heading/Heading';
35
26
  export { Icon } from 'Components/icon/Icon';
36
27
  export { Modal } from 'Components/modal/Modal';
37
28
  export { ModalManager } from 'Components/modal/modalManager/ModalManager';
38
29
  export { Pill } from 'Components/pill/Pill';
39
30
  export { Progress } from 'Components/progress/Progress';
31
+ export { Row } from 'Components/row/Row';
40
32
  export { SearchBar } from 'Components/searchBar/SearchBar';
41
33
  export { Section } from 'Components/section/Section';
42
34
  export { Separator } from 'Components/separator/Separator';
43
- export { SingleUser, type SingleUserProps } from 'Components/singleUser/SingleUser';
44
- export { Slideover, type SlideoverProps } from 'Components/slideover/Slideover';
35
+ export { SingleUser } from 'Components/singleUser/SingleUser';
36
+ export { Slideover } from 'Components/slideover/Slideover';
45
37
  export { SlideoverManager } from 'Components/slideoverManager/SlideoverManager';
46
- export { DefaultCellRenderer } from 'Components/table/cellRenderers/DefaultCellRenderer';
47
38
  export { BooleanCellRenderer } from 'Components/table/cellRenderers/BooleanCellRenderer';
39
+ export { DefaultCellRenderer } from 'Components/table/cellRenderers/DefaultCellRenderer';
48
40
  export { DSDefaultColDef } from 'Components/table/DSDefaultColDef';
49
41
  export { GridApiContext } from 'Components/table/GridApiContext';
50
42
  export { Table } from 'Components/table/Table';
43
+ export { Tabs } from 'Components/tabs/Tabs';
44
+ export { Tag } from 'Components/tag/Tag';
51
45
  export { Toast } from 'Components/toast/Toast';
46
+ export { Toggle } from 'Components/toggle/Toggle';
52
47
  export { Tooltip } from 'Components/tooltip/Tooltip';
53
48
  export { TooltipWrapper } from 'Components/tooltip/TooltipWrapper';
54
49
  export { ArborLogo, GovhubLogo, KeyLogo, RobinLogo, SampeopleLogo, TimetablerLogo } from 'Components/userDropdown/assets/logos';
55
50
  export { UserDropdown } from 'Components/userDropdown/UserDropdown';
56
- export type { UserDropdownUserInfoAction } from 'Components/userDropdown/UserDropdown';
57
- export { Row, type RowProps } from 'Components/row/Row';
58
- export { Combobox } from 'Components/combobox/Combobox';
59
- export type {
60
- ComboboxAriaInvalid,
61
- ComboboxCreateResult,
62
- ComboboxOption,
63
- ComboboxProps,
64
- ComboboxSearchFn,
65
- ComboboxSearchType,
66
- } from 'Components/combobox/types';
67
- export { Toggle } from 'Components/toggle/Toggle';
51
+ export { ModalUtils } from 'Utils/ModalUtils';
52
+ export { PopupParentContext } from 'Utils/PopupParentContext';
68
53
  export { SlideoverUtils } from 'Utils/SlideoverUtils';
69
54
  export { CheckboxCellRenderer } from 'Components/table/cellRenderers/CheckboxCellRenderer';