@arbor-education/design-system.components 3.4.4 → 4.0.0-react19-alpha.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 (88) hide show
  1. package/.changeset/empty-clocks-jog.md +5 -0
  2. package/.github/workflows/pr-review-approve.yaml +1 -1
  3. package/CHANGELOG.md +8 -0
  4. package/dist/components/button/Button.stories.d.ts.map +1 -1
  5. package/dist/components/button/Button.stories.js +29 -20
  6. package/dist/components/button/Button.stories.js.map +1 -1
  7. package/dist/components/combobox/ComboboxButtonTrigger.d.ts +1 -1
  8. package/dist/components/combobox/ComboboxButtonTrigger.d.ts.map +1 -1
  9. package/dist/components/combobox/ComboboxListbox.d.ts +2 -2
  10. package/dist/components/combobox/ComboboxListbox.d.ts.map +1 -1
  11. package/dist/components/combobox/ComboboxTrigger.d.ts +2 -2
  12. package/dist/components/combobox/ComboboxTrigger.d.ts.map +1 -1
  13. package/dist/components/combobox/useComboboxListboxDom.d.ts +1 -1
  14. package/dist/components/combobox/useComboboxListboxDom.d.ts.map +1 -1
  15. package/dist/components/combobox/useElementWidth.d.ts +2 -0
  16. package/dist/components/combobox/useElementWidth.d.ts.map +1 -0
  17. package/dist/components/combobox/useElementWidth.js +31 -0
  18. package/dist/components/combobox/useElementWidth.js.map +1 -0
  19. package/dist/components/combobox/useVisibleChips.d.ts +21 -0
  20. package/dist/components/combobox/useVisibleChips.d.ts.map +1 -0
  21. package/dist/components/combobox/useVisibleChips.js +59 -0
  22. package/dist/components/combobox/useVisibleChips.js.map +1 -0
  23. package/dist/components/combobox/useVisibleChips.test.d.ts +2 -0
  24. package/dist/components/combobox/useVisibleChips.test.d.ts.map +1 -0
  25. package/dist/components/combobox/useVisibleChips.test.js +81 -0
  26. package/dist/components/combobox/useVisibleChips.test.js.map +1 -0
  27. package/dist/components/heading/Heading.d.ts +28 -14
  28. package/dist/components/heading/Heading.d.ts.map +1 -1
  29. package/dist/components/heading/Heading.stories.d.ts +28 -14
  30. package/dist/components/heading/Heading.stories.d.ts.map +1 -1
  31. package/dist/components/icoText/IcoText.d.ts +37 -0
  32. package/dist/components/icoText/IcoText.d.ts.map +1 -0
  33. package/dist/components/icoText/IcoText.js +29 -0
  34. package/dist/components/icoText/IcoText.js.map +1 -0
  35. package/dist/components/icoText/IcoText.stories.d.ts +60 -0
  36. package/dist/components/icoText/IcoText.stories.d.ts.map +1 -0
  37. package/dist/components/icoText/IcoText.stories.js +319 -0
  38. package/dist/components/icoText/IcoText.stories.js.map +1 -0
  39. package/dist/components/icoText/IcoText.test.d.ts +2 -0
  40. package/dist/components/icoText/IcoText.test.d.ts.map +1 -0
  41. package/dist/components/icoText/IcoText.test.js +27 -0
  42. package/dist/components/icoText/IcoText.test.js.map +1 -0
  43. package/dist/components/table/Table.test.js +18 -14
  44. package/dist/components/table/Table.test.js.map +1 -1
  45. package/dist/components/tabs/TabsItem.stories.d.ts +50 -22
  46. package/dist/components/tabs/TabsItem.stories.d.ts.map +1 -1
  47. package/dist/components/tagList/useTagListCollapsedLayout.d.ts +3 -3
  48. package/dist/components/tagList/useTagListCollapsedLayout.d.ts.map +1 -1
  49. package/dist/components/tree-row/TreeRow.d.ts +32 -0
  50. package/dist/components/tree-row/TreeRow.d.ts.map +1 -0
  51. package/dist/components/tree-row/TreeRow.js +19 -0
  52. package/dist/components/tree-row/TreeRow.js.map +1 -0
  53. package/dist/components/tree-row/TreeRow.stories.d.ts +13 -0
  54. package/dist/components/tree-row/TreeRow.stories.d.ts.map +1 -0
  55. package/dist/components/tree-row/TreeRow.stories.js +774 -0
  56. package/dist/components/tree-row/TreeRow.stories.js.map +1 -0
  57. package/dist/components/tree-row/TreeRow.test.d.ts +2 -0
  58. package/dist/components/tree-row/TreeRow.test.d.ts.map +1 -0
  59. package/dist/components/tree-row/TreeRow.test.js +262 -0
  60. package/dist/components/tree-row/TreeRow.test.js.map +1 -0
  61. package/dist/components/tree-row/TreeRowSection.d.ts +12 -0
  62. package/dist/components/tree-row/TreeRowSection.d.ts.map +1 -0
  63. package/dist/components/tree-row/TreeRowSection.js +20 -0
  64. package/dist/components/tree-row/TreeRowSection.js.map +1 -0
  65. package/dist/utils/PopupParentContext.d.ts +3 -0
  66. package/dist/utils/PopupParentContext.d.ts.map +1 -0
  67. package/dist/utils/PopupParentContext.js +6 -0
  68. package/dist/utils/PopupParentContext.js.map +1 -0
  69. package/dist/utils/PopupParentContext.stories.d.ts +17 -0
  70. package/dist/utils/PopupParentContext.stories.d.ts.map +1 -0
  71. package/dist/utils/PopupParentContext.stories.js +266 -0
  72. package/dist/utils/PopupParentContext.stories.js.map +1 -0
  73. package/dist/utils/getDefaultPopupParent.d.ts +2 -0
  74. package/dist/utils/getDefaultPopupParent.d.ts.map +1 -0
  75. package/dist/utils/getDefaultPopupParent.js +19 -0
  76. package/dist/utils/getDefaultPopupParent.js.map +1 -0
  77. package/dist/utils/hooks/useIsMounted.d.ts +1 -1
  78. package/dist/utils/hooks/useIsMounted.d.ts.map +1 -1
  79. package/package.json +20 -6
  80. package/src/components/arborLogo/__snapshots__/ArborLogo.test.tsx.snap +18 -18
  81. package/src/components/button/Button.stories.tsx +12 -5
  82. package/src/components/combobox/ComboboxButtonTrigger.tsx +1 -1
  83. package/src/components/combobox/ComboboxListbox.tsx +2 -2
  84. package/src/components/combobox/ComboboxTrigger.tsx +2 -2
  85. package/src/components/combobox/useComboboxListboxDom.ts +1 -1
  86. package/src/components/table/Table.test.tsx +18 -14
  87. package/src/components/tagList/useTagListCollapsedLayout.ts +3 -3
  88. package/src/docs/UsingComponents.mdx +6 -0
@@ -1354,7 +1354,7 @@ describe('Table', () => {
1354
1354
  cellRendererParams: { options: options, placeholder: 'Placeholder Text' },
1355
1355
  }];
1356
1356
 
1357
- test('renders with placeholder', () => {
1357
+ test('renders with placeholder', async () => {
1358
1358
  const rowData = [{ selectField: null }];
1359
1359
  render(
1360
1360
  <Table
@@ -1362,10 +1362,10 @@ describe('Table', () => {
1362
1362
  rowData={rowData}
1363
1363
  />,
1364
1364
  );
1365
- expect(screen.getByText('Placeholder Text')).toBeInTheDocument();
1365
+ expect(await screen.findByText('Placeholder Text')).toBeInTheDocument();
1366
1366
  });
1367
1367
 
1368
- test('renders with option', () => {
1368
+ test('renders with option', async () => {
1369
1369
  const rowData = [{ selectField: 'option1' }];
1370
1370
  render(
1371
1371
  <Table
@@ -1373,10 +1373,10 @@ describe('Table', () => {
1373
1373
  rowData={rowData}
1374
1374
  />,
1375
1375
  );
1376
- expect(screen.getByText('Option 1')).toBeInTheDocument();
1376
+ expect(await screen.findByText('Option 1')).toBeInTheDocument();
1377
1377
  });
1378
1378
 
1379
- test('renders with value not in options as raw string', () => {
1379
+ test('renders with value not in options as raw string', async () => {
1380
1380
  const rowData = [{ selectField: 'unknown-value' }];
1381
1381
  render(
1382
1382
  <Table
@@ -1384,10 +1384,10 @@ describe('Table', () => {
1384
1384
  rowData={rowData}
1385
1385
  />,
1386
1386
  );
1387
- expect(screen.getByText('unknown-value')).toBeInTheDocument();
1387
+ expect(await screen.findByText('unknown-value')).toBeInTheDocument();
1388
1388
  });
1389
1389
 
1390
- test('renders with empty string shows placeholder', () => {
1390
+ test('renders with empty string shows placeholder', async () => {
1391
1391
  const rowData = [{ selectField: '' }];
1392
1392
  render(
1393
1393
  <Table
@@ -1395,10 +1395,10 @@ describe('Table', () => {
1395
1395
  rowData={rowData}
1396
1396
  />,
1397
1397
  );
1398
- expect(screen.getByText('Placeholder Text')).toBeInTheDocument();
1398
+ expect(await screen.findByText('Placeholder Text')).toBeInTheDocument();
1399
1399
  });
1400
1400
 
1401
- test('renders dropdown button variant in cell', () => {
1401
+ test('renders dropdown button variant in cell', async () => {
1402
1402
  const rowData = [{ selectField: 'option1' }];
1403
1403
  const { container } = render(
1404
1404
  <Table
@@ -1406,9 +1406,11 @@ describe('Table', () => {
1406
1406
  rowData={rowData}
1407
1407
  />,
1408
1408
  );
1409
- const dropdownWrapper = container.querySelector('.ds-table__select-dropdown');
1410
- const dropdownButton = dropdownWrapper?.querySelector('.ds-button--dropdown');
1411
- expect(dropdownButton).toBeInTheDocument();
1409
+ await waitFor(() => {
1410
+ const dropdownWrapper = container.querySelector('.ds-table__select-dropdown');
1411
+ const dropdownButton = dropdownWrapper?.querySelector('.ds-button--dropdown');
1412
+ expect(dropdownButton).toBeInTheDocument();
1413
+ });
1412
1414
  });
1413
1415
  });
1414
1416
 
@@ -1858,6 +1860,7 @@ describe('Table', () => {
1858
1860
  />,
1859
1861
  );
1860
1862
  await waitFor(() => expect(screen.getByRole('grid')).toBeInTheDocument());
1863
+ await waitFor(() => expect(gridApi).toBeDefined());
1861
1864
 
1862
1865
  gridApi!.startEditingCell({ rowIndex: 0, colKey: 'dateOfBirth' });
1863
1866
 
@@ -1879,6 +1882,7 @@ describe('Table', () => {
1879
1882
  />,
1880
1883
  );
1881
1884
  await waitFor(() => expect(screen.getByRole('grid')).toBeInTheDocument());
1885
+ await waitFor(() => expect(gridApi).toBeDefined());
1882
1886
 
1883
1887
  gridApi!.setFocusedCell(0, 'dateOfBirth');
1884
1888
  await userEvent.keyboard('{Enter}');
@@ -1912,6 +1916,7 @@ describe('Table', () => {
1912
1916
  />,
1913
1917
  );
1914
1918
  await waitFor(() => expect(screen.getByRole('grid')).toBeInTheDocument());
1919
+ await waitFor(() => expect(gridApi).toBeDefined());
1915
1920
 
1916
1921
  gridApi!.startEditingCell({ rowIndex: 0, colKey: 'dateOfBirth' });
1917
1922
  await waitFor(() => expect(container.querySelector('input[type="date"]')).toBeInTheDocument());
@@ -2068,8 +2073,7 @@ describe('Table', () => {
2068
2073
  test('setting suppressCellFocusAndFocusFirstElement to true should add the ds-table__cell--suppress-focus class', async () => {
2069
2074
  const { container } = render(<Table columnDefs={columnDefs} rowData={rowData} />);
2070
2075
  await screen.findByRole('grid', {}, { timeout: 10000 });
2071
- const cellWithClass = container.querySelector('.ds-table__cell--suppress-focus');
2072
- expect(cellWithClass).toBeInTheDocument();
2076
+ await waitFor(() => expect(container.querySelector('.ds-table__cell--suppress-focus')).toBeInTheDocument());
2073
2077
  });
2074
2078
 
2075
2079
  test('setting suppressCellFocusAndFocusFirstElement to true should suppress cell focus and focus the first element', async () => {
@@ -11,9 +11,9 @@ type UseTagListCollapsedLayoutParams = {
11
11
  };
12
12
 
13
13
  type TagListCollapsedLayout = {
14
- contentRef: React.RefObject<HTMLDivElement>;
15
- measureTrackRef: React.RefObject<HTMLUListElement>;
16
- overflowProbeRef: React.RefObject<HTMLDivElement>;
14
+ contentRef: React.RefObject<HTMLDivElement | null>;
15
+ measureTrackRef: React.RefObject<HTMLUListElement | null>;
16
+ overflowProbeRef: React.RefObject<HTMLDivElement | null>;
17
17
  shouldCollapse: boolean;
18
18
  visibleItemIndices: number[];
19
19
  visibleItems: TagListItem[];
@@ -30,6 +30,12 @@ Or with npm:
30
30
  npm install @arbor-education/design-system.components
31
31
  ```
32
32
 
33
+ ### Requirements
34
+
35
+ The design system doesn't bundle React; it uses the copy your project already has. Make sure your project has `react` and `react-dom` installed at version 18 or 19. React 19 is the preferred version -- projects on React 18 should plan to upgrade to 19.
36
+
37
+ If your project uses TypeScript, it also needs `@types/react` and `@types/react-dom`.
38
+
33
39
  ---
34
40
 
35
41
  ## Importing the stylesheet