@arbor-education/design-system.components 0.9.0 → 0.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/agent-memory/blanche-designspert/MEMORY.md +64 -0
- package/.claude/agent-memory/blanche-designspert/token-review-patterns.md +29 -0
- package/.claude/agent-memory/dorothy-fact-checker/MEMORY.md +129 -0
- package/.claude/agent-memory/rose-storybookspert/MEMORY.md +29 -0
- package/.claude/agent-memory/rose-storybookspert/patterns.md +132 -0
- package/.claude/agent-memory/sophia-componentspert/MEMORY.md +14 -0
- package/.claude/agent-memory/sophia-componentspert/components.md +367 -0
- package/.claude/agents/blanche-designspert.md +150 -0
- package/.claude/agents/dorothy-fact-checker.md +145 -0
- package/.claude/agents/rose-storybookspert.md +148 -0
- package/.claude/agents/sophia-componentspert.md +133 -0
- package/.claude/component-library.md +1107 -0
- package/.claude/design-assessment-daily-attendance-2026-04-10.md +566 -0
- package/.claude/figma-assessment-7154-58899.md +404 -0
- package/.claude/figma-assessment-UKQfcxnT4rlHHNuiumt4o1-11086-97537.md +392 -0
- package/.claude/figma-assessment-UKQfcxnT4rlHHNuiumt4o1-551-41974.md +474 -0
- package/.claude/figma-assessment-UKQfcxnT4rlHHNuiumt4o1-551-43094.md +462 -0
- package/.claude/figma-assessment-fcFK4CGzkz2fVyY3koX8ZE-7154-59061.md +440 -0
- package/.claude/migration-report-custom-report-writer-2026-02-19.md +591 -0
- package/.claude/skills/analyze-design/README.md +295 -0
- package/.claude/skills/analyze-design/SKILL.md +741 -0
- package/.claude/skills/create-page/README.md +246 -0
- package/.claude/skills/create-page/SKILL.md +634 -0
- package/.claude/skills/create-page/design-analysis-template.md +333 -0
- package/.claude/skills/create-page/page-template.scss +118 -0
- package/.claude/skills/create-page/page-template.tsx +230 -0
- package/.claude/skills/map-legacy/README.md +87 -0
- package/.claude/skills/map-legacy/SKILL.md +465 -0
- package/.claude/skills/migrate-page/README.md +125 -0
- package/.claude/skills/migrate-page/SKILL.md +374 -0
- package/.github/CODEOWNERS +1 -0
- package/.github/pull_request_template.md +39 -0
- package/.github/workflows/release.yml +1 -1
- package/CHANGELOG.md +16 -0
- package/CLAUDE.md +31 -0
- package/CONTRIBUTING.md +191 -0
- package/README.md +110 -20
- package/dist/components/button/Button.d.ts.map +1 -1
- package/dist/components/button/Button.js +2 -2
- package/dist/components/button/Button.js.map +1 -1
- package/dist/components/combobox/Combobox.d.ts.map +1 -1
- package/dist/components/combobox/Combobox.js +2 -1
- package/dist/components/combobox/Combobox.js.map +1 -1
- package/dist/components/combobox/Combobox.test.js +98 -61
- package/dist/components/combobox/Combobox.test.js.map +1 -1
- package/dist/components/combobox/useComboboxPopoverBehavior.d.ts +3 -1
- package/dist/components/combobox/useComboboxPopoverBehavior.d.ts.map +1 -1
- package/dist/components/combobox/useComboboxPopoverBehavior.js +7 -6
- package/dist/components/combobox/useComboboxPopoverBehavior.js.map +1 -1
- package/dist/components/combobox/useComboboxState.d.ts.map +1 -1
- package/dist/components/combobox/useComboboxState.js +4 -1
- package/dist/components/combobox/useComboboxState.js.map +1 -1
- package/dist/components/datePicker/DatePicker.d.ts +4 -1
- package/dist/components/datePicker/DatePicker.d.ts.map +1 -1
- package/dist/components/datePicker/DatePicker.js +77 -37
- package/dist/components/datePicker/DatePicker.js.map +1 -1
- package/dist/components/datePicker/DatePicker.stories.d.ts +28 -3
- package/dist/components/datePicker/DatePicker.stories.d.ts.map +1 -1
- package/dist/components/datePicker/DatePicker.stories.js +62 -9
- package/dist/components/datePicker/DatePicker.stories.js.map +1 -1
- package/dist/components/datePicker/DatePicker.test.js +133 -66
- package/dist/components/datePicker/DatePicker.test.js.map +1 -1
- package/dist/components/datePicker/DatePickerCalendarHeader.d.ts +8 -0
- package/dist/components/datePicker/DatePickerCalendarHeader.d.ts.map +1 -0
- package/dist/components/datePicker/DatePickerCalendarHeader.js +36 -0
- package/dist/components/datePicker/DatePickerCalendarHeader.js.map +1 -0
- package/dist/components/datePicker/dateInputUtils.d.ts +25 -0
- package/dist/components/datePicker/dateInputUtils.d.ts.map +1 -0
- package/dist/components/datePicker/dateInputUtils.js +60 -0
- package/dist/components/datePicker/dateInputUtils.js.map +1 -0
- package/dist/components/datePicker/datePickerTestUtils.test-helpers.d.ts +2 -0
- package/dist/components/datePicker/datePickerTestUtils.test-helpers.d.ts.map +1 -0
- package/dist/components/datePicker/datePickerTestUtils.test-helpers.js +4 -0
- package/dist/components/datePicker/datePickerTestUtils.test-helpers.js.map +1 -0
- package/dist/components/dateTimePicker/DateTimePicker.d.ts +22 -0
- package/dist/components/dateTimePicker/DateTimePicker.d.ts.map +1 -0
- package/dist/components/dateTimePicker/DateTimePicker.js +132 -0
- package/dist/components/dateTimePicker/DateTimePicker.js.map +1 -0
- package/dist/components/dateTimePicker/DateTimePicker.stories.d.ts +77 -0
- package/dist/components/dateTimePicker/DateTimePicker.stories.d.ts.map +1 -0
- package/dist/components/dateTimePicker/DateTimePicker.stories.js +163 -0
- package/dist/components/dateTimePicker/DateTimePicker.stories.js.map +1 -0
- package/dist/components/dateTimePicker/DateTimePicker.test.d.ts +2 -0
- package/dist/components/dateTimePicker/DateTimePicker.test.d.ts.map +1 -0
- package/dist/components/dateTimePicker/DateTimePicker.test.js +235 -0
- package/dist/components/dateTimePicker/DateTimePicker.test.js.map +1 -0
- package/dist/components/formField/FormField.test.d.ts.map +1 -1
- package/dist/components/formField/FormField.test.js +5 -5
- package/dist/components/formField/FormField.test.js.map +1 -1
- package/dist/components/formField/inputs/selectDropdown/SelectDropdown.d.ts +1 -0
- package/dist/components/formField/inputs/selectDropdown/SelectDropdown.d.ts.map +1 -1
- package/dist/components/formField/inputs/selectDropdown/SelectDropdown.js +7 -3
- package/dist/components/formField/inputs/selectDropdown/SelectDropdown.js.map +1 -1
- package/dist/components/formField/inputs/selectDropdown/SelectDropdown.test.js +12 -0
- package/dist/components/formField/inputs/selectDropdown/SelectDropdown.test.js.map +1 -1
- package/dist/components/formField/inputs/text/TextInput.d.ts +4 -1
- package/dist/components/formField/inputs/text/TextInput.d.ts.map +1 -1
- package/dist/components/formField/inputs/text/TextInput.js +5 -4
- package/dist/components/formField/inputs/text/TextInput.js.map +1 -1
- package/dist/components/formField/inputs/text/TextInput.stories.d.ts +4 -1
- package/dist/components/formField/inputs/text/TextInput.stories.d.ts.map +1 -1
- package/dist/components/table/DSDefaultColDef.js +2 -2
- package/dist/components/table/DSDefaultColDef.js.map +1 -1
- package/dist/components/table/Table.d.ts.map +1 -1
- package/dist/components/table/Table.js +4 -0
- package/dist/components/table/Table.js.map +1 -1
- package/dist/components/table/Table.stories.d.ts +2 -0
- package/dist/components/table/Table.stories.d.ts.map +1 -1
- package/dist/components/table/Table.stories.js +132 -3
- package/dist/components/table/Table.stories.js.map +1 -1
- package/dist/components/table/Table.test.js +106 -5
- package/dist/components/table/Table.test.js.map +1 -1
- package/dist/components/table/cellRenderers/BooleanCellRenderer.d.ts +3 -0
- package/dist/components/table/cellRenderers/BooleanCellRenderer.d.ts.map +1 -0
- package/dist/components/table/cellRenderers/BooleanCellRenderer.js +15 -0
- package/dist/components/table/cellRenderers/BooleanCellRenderer.js.map +1 -0
- package/dist/components/table/cellRenderers/BooleanCellRenderer.test.d.ts +2 -0
- package/dist/components/table/cellRenderers/BooleanCellRenderer.test.d.ts.map +1 -0
- package/dist/components/table/cellRenderers/BooleanCellRenderer.test.js +31 -0
- package/dist/components/table/cellRenderers/BooleanCellRenderer.test.js.map +1 -0
- package/dist/components/table/cellRenderers/CheckboxCellRenderer.d.ts +3 -0
- package/dist/components/table/cellRenderers/CheckboxCellRenderer.d.ts.map +1 -0
- package/dist/components/table/cellRenderers/CheckboxCellRenderer.js +12 -0
- package/dist/components/table/cellRenderers/CheckboxCellRenderer.js.map +1 -0
- package/dist/components/table/cellRenderers/CheckboxCellRenderer.test.d.ts +2 -0
- package/dist/components/table/cellRenderers/CheckboxCellRenderer.test.d.ts.map +1 -0
- package/dist/components/table/cellRenderers/CheckboxCellRenderer.test.js +65 -0
- package/dist/components/table/cellRenderers/CheckboxCellRenderer.test.js.map +1 -0
- package/dist/index.css +259 -4
- package/dist/index.css.map +1 -1
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/src/components/button/Button.tsx +2 -1
- package/src/components/combobox/Combobox.test.tsx +104 -61
- package/src/components/combobox/Combobox.tsx +3 -1
- package/src/components/combobox/useComboboxPopoverBehavior.ts +10 -5
- package/src/components/combobox/useComboboxState.ts +4 -1
- package/src/components/datePicker/DatePicker.stories.tsx +67 -9
- package/src/components/datePicker/DatePicker.test.tsx +157 -72
- package/src/components/datePicker/DatePicker.tsx +163 -69
- package/src/components/datePicker/DatePickerCalendarHeader.tsx +82 -0
- package/src/components/datePicker/date-field-hint.scss +152 -0
- package/src/components/datePicker/dateInputUtils.ts +117 -0
- package/src/components/datePicker/datePicker.scss +53 -29
- package/src/components/datePicker/datePickerTestUtils.test-helpers.ts +6 -0
- package/src/components/dateTimePicker/DateTimePicker.stories.tsx +202 -0
- package/src/components/dateTimePicker/DateTimePicker.test.tsx +295 -0
- package/src/components/dateTimePicker/DateTimePicker.tsx +293 -0
- package/src/components/dateTimePicker/dateTimePicker.scss +17 -0
- package/src/components/formField/FormField.test.tsx +5 -5
- package/src/components/formField/inputs/selectDropdown/SelectDropdown.test.tsx +28 -0
- package/src/components/formField/inputs/selectDropdown/SelectDropdown.tsx +8 -2
- package/src/components/formField/inputs/text/TextInput.tsx +6 -3
- package/src/components/table/DSDefaultColDef.ts +2 -2
- package/src/components/table/Table.stories.tsx +147 -3
- package/src/components/table/Table.test.tsx +131 -5
- package/src/components/table/Table.tsx +4 -0
- package/src/components/table/cellRenderers/BooleanCellRenderer.test.tsx +37 -0
- package/src/components/table/cellRenderers/BooleanCellRenderer.tsx +34 -0
- package/src/components/table/cellRenderers/CheckboxCellRenderer.test.tsx +74 -0
- package/src/components/table/cellRenderers/CheckboxCellRenderer.tsx +28 -0
- package/src/components/table/cellRenderers/booleanCellRenderer.scss +7 -0
- package/src/components/table/table.scss +1 -1
- package/src/index.scss +2 -0
- package/src/index.ts +4 -0
package/README.md
CHANGED
|
@@ -1,38 +1,128 @@
|
|
|
1
|
-
#
|
|
1
|
+
# @arbor-education/design-system.components
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
The React component library for the Arbor design system. Components are built with TypeScript, styled with Sass, developed in Storybook, and tested with Vitest. This library serves millions of students and educators across the UK — handle with care.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Storybook
|
|
8
|
+
|
|
9
|
+
The component library is documented and previewed in Storybook.
|
|
10
|
+
|
|
11
|
+
**Production Storybook** (built on every push to `main`):
|
|
12
|
+
https://main--68c3f2a09d95b22aa55a11e8.chromatic.com/
|
|
13
|
+
|
|
14
|
+
**Per-PR Storybook previews**: every pull request automatically triggers a Chromatic build. Once it completes, a bot will comment on your PR with links to both the Storybook preview and the Chromatic visual diff for that branch.
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
## Local setup
|
|
5
19
|
|
|
6
|
-
## Local set up
|
|
7
20
|
### Prerequisites
|
|
8
|
-
Make sure you have [nvm](https://github.com/nvm-sh/nvm?tab=readme-ov-file#installing-and-updating) and [yarn](https://classic.yarnpkg.com/lang/en/docs/install/#mac-stable) installed
|
|
9
21
|
|
|
10
|
-
|
|
11
|
-
|
|
22
|
+
- [nvm](https://github.com/nvm-sh/nvm?tab=readme-ov-file#installing-and-updating) for Node version management
|
|
23
|
+
- [yarn](https://classic.yarnpkg.com/lang/en/docs/install/#mac-stable) for package management
|
|
24
|
+
|
|
25
|
+
### Steps
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
nvm use
|
|
29
|
+
yarn install
|
|
30
|
+
yarn storybook
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
Storybook will build and open in your browser with hot reloading ready for development.
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
## Commands
|
|
38
|
+
|
|
39
|
+
### Development
|
|
40
|
+
| Command | Description |
|
|
41
|
+
|---------|-------------|
|
|
42
|
+
| `yarn storybook` | Start Storybook dev server on port 6006 |
|
|
43
|
+
| `yarn watch` | Watch mode — rebuilds and pushes to Yalc consumers on changes |
|
|
44
|
+
|
|
45
|
+
### Building
|
|
46
|
+
| Command | Description |
|
|
47
|
+
|---------|-------------|
|
|
48
|
+
| `yarn build` | Full production build (TypeScript + tsc-alias + Sass) |
|
|
49
|
+
| `yarn tsc` | TypeScript compilation only |
|
|
50
|
+
| `yarn check-types` | Type check without emitting files |
|
|
51
|
+
|
|
52
|
+
### Testing
|
|
53
|
+
| Command | Description |
|
|
54
|
+
|---------|-------------|
|
|
55
|
+
| `yarn test` | Run Vitest in watch mode |
|
|
56
|
+
| `yarn test:coverage` | Run tests once with coverage report |
|
|
57
|
+
|
|
58
|
+
### Linting
|
|
59
|
+
| Command | Description |
|
|
60
|
+
|---------|-------------|
|
|
61
|
+
| `yarn style-lint` | Lint SCSS files with stylelint |
|
|
62
|
+
|
|
63
|
+
> ESLint runs automatically on staged TypeScript files via lint-staged on git commit.
|
|
64
|
+
|
|
65
|
+
---
|
|
66
|
+
|
|
67
|
+
## Creating a new component
|
|
68
|
+
|
|
69
|
+
Use the scaffolding script to generate all necessary files for a new component:
|
|
70
|
+
|
|
71
|
+
```bash
|
|
72
|
+
yarn create-component <ComponentName>
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
This creates `Component.tsx`, `Component.test.tsx`, `Component.stories.tsx`, and `component.scss`, and automatically adds the exports to `src/index.ts` and `src/index.scss`.
|
|
76
|
+
|
|
77
|
+
---
|
|
78
|
+
|
|
79
|
+
## Local development with a consumer project
|
|
80
|
+
|
|
81
|
+
This library uses [Yalc](https://github.com/wclr/yalc) for local linking.
|
|
82
|
+
|
|
83
|
+
**First time setup** — install Yalc globally:
|
|
84
|
+
```bash
|
|
85
|
+
npm i yalc -g
|
|
86
|
+
```
|
|
12
87
|
|
|
13
|
-
|
|
88
|
+
**Link the library to a consumer project:**
|
|
14
89
|
|
|
15
|
-
|
|
90
|
+
```bash
|
|
91
|
+
# In this repo — build and publish to the local Yalc store
|
|
92
|
+
yarn build
|
|
93
|
+
yalc publish
|
|
16
94
|
|
|
17
|
-
|
|
95
|
+
# In the consumer project — add the local package
|
|
96
|
+
yalc add @arbor-education/design-system.components
|
|
97
|
+
```
|
|
18
98
|
|
|
99
|
+
**For active development with hot updates**, use watch mode instead:
|
|
19
100
|
|
|
20
|
-
|
|
101
|
+
```bash
|
|
102
|
+
# In this repo — automatically rebuilds and pushes to Yalc on file changes
|
|
103
|
+
yarn watch
|
|
104
|
+
```
|
|
21
105
|
|
|
22
|
-
|
|
106
|
+
---
|
|
23
107
|
|
|
24
|
-
|
|
108
|
+
## Version management
|
|
25
109
|
|
|
26
|
-
|
|
110
|
+
This library uses [Changesets](https://github.com/changesets/changesets) for versioning and changelog generation.
|
|
27
111
|
|
|
28
|
-
|
|
112
|
+
If your change affects the public API (new components, changed props, removed exports), create a changeset before opening your PR:
|
|
29
113
|
|
|
30
|
-
|
|
114
|
+
```bash
|
|
115
|
+
yarn changeset
|
|
116
|
+
```
|
|
31
117
|
|
|
32
|
-
|
|
118
|
+
---
|
|
33
119
|
|
|
34
|
-
|
|
120
|
+
## Contributing
|
|
35
121
|
|
|
36
|
-
|
|
122
|
+
Before opening a PR, please read [CONTRIBUTING.md](./CONTRIBUTING.md). Key points:
|
|
37
123
|
|
|
38
|
-
|
|
124
|
+
- One PR, one thing — if the title needs "and" or "also", split it
|
|
125
|
+
- Keep meaningful code diffs under 400 lines
|
|
126
|
+
- All tests must pass (`yarn test:coverage`)
|
|
127
|
+
- All type checks must pass (`yarn check-types`)
|
|
128
|
+
- Use the PR template — fill in every section
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../../src/components/button/Button.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAc,KAAK,oBAAoB,EAA0B,MAAM,OAAO,CAAC;AAC7F,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAG7D,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,WAAW,GAAG,UAAU,GAAG,qBAAqB,GAAG,uBAAuB,GAAG,WAAW,GAAG,UAAU,CAAC;AAE9I,MAAM,MAAM,UAAU,GAAG,GAAG,GAAG,GAAG,CAAC;AAEnC,MAAM,MAAM,WAAW,GAAG;IACxB,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IACvB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,aAAa,CAAC,EAAE,QAAQ,CAAC;IACzB,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,YAAY,CAAC,EAAE,QAAQ,CAAC;IACxB,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE,GAAG,SAAS,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;CACzF,GAAG,IAAI,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;AAEtE,eAAO,MAAM,MAAM,
|
|
1
|
+
{"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../../src/components/button/Button.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAc,KAAK,oBAAoB,EAA0B,MAAM,OAAO,CAAC;AAC7F,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAG7D,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,WAAW,GAAG,UAAU,GAAG,qBAAqB,GAAG,uBAAuB,GAAG,WAAW,GAAG,UAAU,CAAC;AAE9I,MAAM,MAAM,UAAU,GAAG,GAAG,GAAG,GAAG,CAAC;AAEnC,MAAM,MAAM,WAAW,GAAG;IACxB,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IACvB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,aAAa,CAAC,EAAE,QAAQ,CAAC;IACzB,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,YAAY,CAAC,EAAE,QAAQ,CAAC;IACxB,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE,GAAG,SAAS,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;CACzF,GAAG,IAAI,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;AAEtE,eAAO,MAAM,MAAM,6HAyCjB,CAAC"}
|
|
@@ -3,9 +3,9 @@ import classNames from 'classnames';
|
|
|
3
3
|
import React, { forwardRef } from 'react';
|
|
4
4
|
import { Icon } from '../icon/Icon';
|
|
5
5
|
export const Button = forwardRef((props, ref) => {
|
|
6
|
-
const { variant = 'primary', size = 'M', children, onClick, disabled = false, className = '', hasHorizontalPadding = true, iconRightName, iconRightScreenReaderText, iconLeftName, iconLeftScreenReaderText, borderless = false, ...rest } = props;
|
|
6
|
+
const { variant = 'primary', size = 'M', children, onClick, disabled = false, className = '', hasHorizontalPadding = true, iconRightName, iconRightScreenReaderText, iconLeftName, iconLeftScreenReaderText, borderless = false, error = false, ...rest } = props;
|
|
7
7
|
return (_jsxs("button", { className: classNames('ds-button', `ds-button--${variant}`, `ds-button--${size}`, {
|
|
8
|
-
'ds-button--error':
|
|
8
|
+
'ds-button--error': error,
|
|
9
9
|
'ds-button--no-horizontal-padding': !hasHorizontalPadding,
|
|
10
10
|
'ds-button--icon-only': !children && (iconRightName || iconLeftName),
|
|
11
11
|
'ds-button--borderless': borderless,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Button.js","sourceRoot":"","sources":["../../../src/components/button/Button.tsx"],"names":[],"mappings":";AAAA,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,EAAE,EAAE,UAAU,EAAqD,MAAM,OAAO,CAAC;AAE7F,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAsB5C,MAAM,CAAC,MAAM,MAAM,GAAG,UAAU,CAAoD,CAAC,KAAkB,EAAE,GAAG,EAAE,EAAE;IAC9G,MAAM,EACJ,OAAO,GAAG,SAAS,EACnB,IAAI,GAAG,GAAG,EACV,QAAQ,EACR,OAAO,EACP,QAAQ,GAAG,KAAK,EAChB,SAAS,GAAG,EAAE,EACd,oBAAoB,GAAG,IAAI,EAC3B,aAAa,EACb,yBAAyB,EACzB,YAAY,EACZ,wBAAwB,EACxB,UAAU,GAAG,KAAK,EAClB,GAAG,IAAI,EACR,GAAG,KAAK,CAAC;IAEV,OAAO,CACL,kBACE,SAAS,EAAE,UAAU,CAAC,WAAW,EAC/B,cAAc,OAAO,EAAE,EACvB,cAAc,IAAI,EAAE,EACpB;YACE,kBAAkB,EAAE,KAAK
|
|
1
|
+
{"version":3,"file":"Button.js","sourceRoot":"","sources":["../../../src/components/button/Button.tsx"],"names":[],"mappings":";AAAA,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,EAAE,EAAE,UAAU,EAAqD,MAAM,OAAO,CAAC;AAE7F,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAsB5C,MAAM,CAAC,MAAM,MAAM,GAAG,UAAU,CAAoD,CAAC,KAAkB,EAAE,GAAG,EAAE,EAAE;IAC9G,MAAM,EACJ,OAAO,GAAG,SAAS,EACnB,IAAI,GAAG,GAAG,EACV,QAAQ,EACR,OAAO,EACP,QAAQ,GAAG,KAAK,EAChB,SAAS,GAAG,EAAE,EACd,oBAAoB,GAAG,IAAI,EAC3B,aAAa,EACb,yBAAyB,EACzB,YAAY,EACZ,wBAAwB,EACxB,UAAU,GAAG,KAAK,EAClB,KAAK,GAAG,KAAK,EACb,GAAG,IAAI,EACR,GAAG,KAAK,CAAC;IAEV,OAAO,CACL,kBACE,SAAS,EAAE,UAAU,CAAC,WAAW,EAC/B,cAAc,OAAO,EAAE,EACvB,cAAc,IAAI,EAAE,EACpB;YACE,kBAAkB,EAAE,KAAK;YACzB,kCAAkC,EAAE,CAAC,oBAAoB;YACzD,sBAAsB,EAAE,CAAC,QAAQ,IAAI,CAAC,aAAa,IAAI,YAAY,CAAC;YACpE,uBAAuB,EAAE,UAAU;SACpC,EACD,SAAS,CACV,EACD,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,QAAQ,EAClB,GAAG,EAAE,GAAG,KACJ,IAAI,aAEP,YAAY,IAAI,KAAC,IAAI,IAAC,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,EAAE,gBAAgB,EAAE,wBAAwB,IAAI,YAAY,GAAI,EAClH,QAAQ,EACR,aAAa,IAAI,KAAC,IAAI,IAAC,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,EAAE,EAAE,gBAAgB,EAAE,yBAAyB,IAAI,aAAa,GAAI,IAChH,CACV,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,MAAM,CAAC,WAAW,GAAG,QAAQ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Combobox.d.ts","sourceRoot":"","sources":["../../../src/components/combobox/Combobox.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAO7C,QAAA,MAAM,YAAY;YAAW,aAAa,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO;;
|
|
1
|
+
{"version":3,"file":"Combobox.d.ts","sourceRoot":"","sources":["../../../src/components/combobox/Combobox.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAO7C,QAAA,MAAM,YAAY;YAAW,aAAa,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO;;CA6Z7D,CAAC;AAIF,KAAK,gBAAgB,GAAG,OAAO,YAAY,GAAG;IAC5C,OAAO,EAAE,OAAO,eAAe,CAAC;IAChC,aAAa,EAAE,OAAO,qBAAqB,CAAC;IAC5C,OAAO,EAAE,OAAO,eAAe,CAAC;CACjC,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAmB,gBAAgB,CAAC"}
|
|
@@ -40,6 +40,7 @@ const ComboboxRoot = (props) => {
|
|
|
40
40
|
});
|
|
41
41
|
const chipKeyboardEnabled = selectedValueDisplay === 'tags';
|
|
42
42
|
const { selectedChipValues, selectedChipValuesSet, setSelectedChipValues, clearChipSelection, focusedChipIndex, setFocusedChipIndex, exitChipNav, } = useChipSelection(chipKeyboardEnabled ? selectedValues : []);
|
|
43
|
+
const renderSearchInputInListbox = triggerVariant === 'button';
|
|
43
44
|
const { shouldRenderPopoverContent, shouldShowPopover, showListboxLoading, handleInputChange, handleTriggerClick, handleInputFocus, handleInputBlur, handleChevronClick, handlePopoverInteractOutside, } = useComboboxPopoverBehavior({
|
|
44
45
|
inputRef,
|
|
45
46
|
triggerRef,
|
|
@@ -61,6 +62,7 @@ const ComboboxRoot = (props) => {
|
|
|
61
62
|
clearChipSelection,
|
|
62
63
|
exitChipNav,
|
|
63
64
|
triggerContainsInput: triggerVariant === 'input',
|
|
65
|
+
renderSearchInputInListbox,
|
|
64
66
|
});
|
|
65
67
|
const optionGroups = useMemo(() => buildOptionGroups(filteredOptions), [filteredOptions]);
|
|
66
68
|
const optionIndexMap = useMemo(() => {
|
|
@@ -152,7 +154,6 @@ const ComboboxRoot = (props) => {
|
|
|
152
154
|
const preventMouseDefault = useCallback((e) => {
|
|
153
155
|
e.preventDefault();
|
|
154
156
|
}, []);
|
|
155
|
-
const renderSearchInputInListbox = triggerVariant === 'button';
|
|
156
157
|
const handlePopoverOpenAutoFocus = useCallback((e) => {
|
|
157
158
|
e.preventDefault();
|
|
158
159
|
if (triggerVariant === 'button') {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Combobox.js","sourceRoot":"","sources":["../../../src/components/combobox/Combobox.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Combobox.js","sourceRoot":"","sources":["../../../src/components/combobox/Combobox.tsx"],"names":[],"mappings":"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"}
|
|
@@ -113,6 +113,24 @@ describe('Combobox', () => {
|
|
|
113
113
|
await userEvent.click(search);
|
|
114
114
|
expect(search).toHaveFocus();
|
|
115
115
|
});
|
|
116
|
+
test('button trigger keeps popover with search input when filter matches nothing', async () => {
|
|
117
|
+
const user = userEvent.setup();
|
|
118
|
+
render(_jsx(Combobox, { options: people, triggerVariant: "button", placeholder: "Students" }));
|
|
119
|
+
await user.click(screen.getByRole('button', { name: 'Open suggestions' }));
|
|
120
|
+
const search = screen.getByRole('combobox');
|
|
121
|
+
await user.type(search, 'zzz');
|
|
122
|
+
expect(screen.getByRole('listbox')).toBeInTheDocument();
|
|
123
|
+
expect(screen.queryAllByRole('option')).toHaveLength(0);
|
|
124
|
+
await user.clear(search);
|
|
125
|
+
expect(within(screen.getByRole('listbox')).getAllByRole('option')).toHaveLength(people.length);
|
|
126
|
+
});
|
|
127
|
+
test('button trigger closes popover after single-select option click', async () => {
|
|
128
|
+
const user = userEvent.setup();
|
|
129
|
+
render(_jsx(Combobox, { options: people, triggerVariant: "button", placeholder: "Students" }));
|
|
130
|
+
await user.click(screen.getByRole('button', { name: 'Open suggestions' }));
|
|
131
|
+
await user.click(screen.getByText('Alice Johnson'));
|
|
132
|
+
expect(screen.queryByRole('listbox')).not.toBeInTheDocument();
|
|
133
|
+
});
|
|
116
134
|
test('button trigger single-select does not show selection count badge', () => {
|
|
117
135
|
render(_jsx(Combobox, { options: people, triggerVariant: "button", defaultValue: ['alice'] }));
|
|
118
136
|
expect(screen.queryByLabelText(/selected item/i)).not.toBeInTheDocument();
|
|
@@ -244,55 +262,61 @@ describe('Combobox', () => {
|
|
|
244
262
|
expect(onValueChange).toHaveBeenLastCalledWith(['alice', 'bob']);
|
|
245
263
|
});
|
|
246
264
|
test('Ctrl+A selects all chips when input is focused', async () => {
|
|
265
|
+
const user = userEvent.setup();
|
|
247
266
|
render(_jsx(Combobox, { options: people, multiple: true, defaultValue: ['alice', 'bob'] }));
|
|
248
267
|
const input = screen.getByRole('combobox');
|
|
249
|
-
|
|
250
|
-
await
|
|
268
|
+
await user.click(input);
|
|
269
|
+
await user.keyboard('{Control>}a{/Control}');
|
|
251
270
|
const selectedTags = document.querySelectorAll('.ds-tag--selected');
|
|
252
271
|
expect(selectedTags).toHaveLength(2);
|
|
253
272
|
});
|
|
254
273
|
test('Cmd+A selects all chips in single-select mode', async () => {
|
|
274
|
+
const user = userEvent.setup();
|
|
255
275
|
render(_jsx(Combobox, { options: people, defaultValue: ['alice'] }));
|
|
256
276
|
const input = screen.getByRole('combobox');
|
|
257
|
-
|
|
277
|
+
await user.click(input);
|
|
258
278
|
fireEvent.keyDown(input, { key: 'a', metaKey: true });
|
|
259
279
|
const selectedTags = document.querySelectorAll('.ds-tag--selected');
|
|
260
280
|
expect(selectedTags).toHaveLength(1);
|
|
261
281
|
});
|
|
262
282
|
test('Backspace clears all selected chips after select-all', async () => {
|
|
283
|
+
const user = userEvent.setup();
|
|
263
284
|
const onValueChange = vi.fn();
|
|
264
285
|
render(_jsx(Combobox, { options: people, multiple: true, defaultValue: ['alice', 'bob'], onValueChange: onValueChange }));
|
|
265
286
|
const input = screen.getByRole('combobox');
|
|
266
|
-
|
|
267
|
-
await
|
|
268
|
-
await
|
|
287
|
+
await user.click(input);
|
|
288
|
+
await user.keyboard('{Control>}a{/Control}');
|
|
289
|
+
await user.keyboard('{Backspace}');
|
|
269
290
|
expect(onValueChange).toHaveBeenLastCalledWith([]);
|
|
270
291
|
expect(document.querySelectorAll('.ds-tag--selected')).toHaveLength(0);
|
|
271
292
|
});
|
|
272
293
|
test('Delete clears all selected chips after select-all', async () => {
|
|
294
|
+
const user = userEvent.setup();
|
|
273
295
|
const onValueChange = vi.fn();
|
|
274
296
|
render(_jsx(Combobox, { options: people, multiple: true, defaultValue: ['alice', 'bob'], onValueChange: onValueChange }));
|
|
275
297
|
const input = screen.getByRole('combobox');
|
|
276
|
-
|
|
277
|
-
await
|
|
278
|
-
await
|
|
298
|
+
await user.click(input);
|
|
299
|
+
await user.keyboard('{Control>}a{/Control}');
|
|
300
|
+
await user.keyboard('{Delete}');
|
|
279
301
|
expect(onValueChange).toHaveBeenLastCalledWith([]);
|
|
280
302
|
expect(document.querySelectorAll('.ds-tag--selected')).toHaveLength(0);
|
|
281
303
|
});
|
|
282
304
|
test('typing after chip select-all clears selected chip styling', async () => {
|
|
305
|
+
const user = userEvent.setup();
|
|
283
306
|
render(_jsx(Combobox, { options: people, multiple: true, defaultValue: ['alice', 'bob'] }));
|
|
284
307
|
const input = screen.getByRole('combobox');
|
|
285
|
-
|
|
286
|
-
await
|
|
308
|
+
await user.click(input);
|
|
309
|
+
await user.keyboard('{Control>}a{/Control}');
|
|
287
310
|
expect(document.querySelectorAll('.ds-tag--selected')).toHaveLength(2);
|
|
288
|
-
await
|
|
311
|
+
await user.type(input, 'c');
|
|
289
312
|
expect(document.querySelectorAll('.ds-tag--selected')).toHaveLength(0);
|
|
290
313
|
});
|
|
291
314
|
test('Ctrl+A with no chips keeps native input behavior and does not crash', async () => {
|
|
315
|
+
const user = userEvent.setup();
|
|
292
316
|
render(_jsx(Combobox, { options: people }));
|
|
293
317
|
const input = screen.getByRole('combobox');
|
|
294
|
-
|
|
295
|
-
await
|
|
318
|
+
await user.click(input);
|
|
319
|
+
await user.keyboard('{Control>}a{/Control}');
|
|
296
320
|
expect(document.querySelectorAll('.ds-tag--selected')).toHaveLength(0);
|
|
297
321
|
});
|
|
298
322
|
test('removing a chip calls onValueChange without that value', async () => {
|
|
@@ -386,17 +410,19 @@ describe('Combobox', () => {
|
|
|
386
410
|
expect(screen.queryByRole('listbox')).not.toBeInTheDocument();
|
|
387
411
|
});
|
|
388
412
|
test('keyboard: ArrowDown opens the listbox', async () => {
|
|
413
|
+
const user = userEvent.setup();
|
|
389
414
|
render(_jsx(Combobox, { options: people }));
|
|
390
415
|
const input = screen.getByRole('combobox');
|
|
391
|
-
|
|
392
|
-
await
|
|
416
|
+
await user.click(input);
|
|
417
|
+
await user.keyboard('{ArrowDown}');
|
|
393
418
|
expect(screen.getByRole('listbox')).toBeInTheDocument();
|
|
394
419
|
});
|
|
395
420
|
test('keyboard: Alt+ArrowDown opens the listbox', async () => {
|
|
421
|
+
const user = userEvent.setup();
|
|
396
422
|
render(_jsx(Combobox, { options: people }));
|
|
397
423
|
const input = screen.getByRole('combobox');
|
|
398
|
-
|
|
399
|
-
await
|
|
424
|
+
await user.click(input);
|
|
425
|
+
await user.keyboard('{Alt>}{ArrowDown}{/Alt}');
|
|
400
426
|
expect(screen.getByRole('listbox')).toBeInTheDocument();
|
|
401
427
|
});
|
|
402
428
|
test('keyboard: ArrowDown/ArrowUp moves highlight', async () => {
|
|
@@ -427,11 +453,12 @@ describe('Combobox', () => {
|
|
|
427
453
|
expect(screen.queryByRole('listbox')).not.toBeInTheDocument();
|
|
428
454
|
});
|
|
429
455
|
test('keyboard: Backspace on empty input removes last chip', async () => {
|
|
456
|
+
const user = userEvent.setup();
|
|
430
457
|
const onValueChange = vi.fn();
|
|
431
458
|
render(_jsx(Combobox, { options: people, multiple: true, defaultValue: ['alice', 'bob'], onValueChange: onValueChange }));
|
|
432
459
|
const input = screen.getByRole('combobox');
|
|
433
|
-
|
|
434
|
-
await
|
|
460
|
+
await user.click(input);
|
|
461
|
+
await user.keyboard('{Backspace}');
|
|
435
462
|
expect(onValueChange).toHaveBeenCalledWith(['alice']);
|
|
436
463
|
});
|
|
437
464
|
test('allowCreate shows a create row when no exact match', async () => {
|
|
@@ -477,7 +504,7 @@ describe('Combobox', () => {
|
|
|
477
504
|
await userEvent.keyboard('{Enter}');
|
|
478
505
|
expect(onCreateNew).toHaveBeenCalledWith('Taylor');
|
|
479
506
|
expect(onValueChange).toHaveBeenCalledWith(['new-taylor']);
|
|
480
|
-
expect(screen.
|
|
507
|
+
expect(screen.queryByRole('listbox')).not.toBeInTheDocument();
|
|
481
508
|
});
|
|
482
509
|
test('allowCreate duplicate prevention selects existing option', async () => {
|
|
483
510
|
const onCreateNew = vi.fn();
|
|
@@ -700,97 +727,107 @@ describe('Combobox', () => {
|
|
|
700
727
|
});
|
|
701
728
|
});
|
|
702
729
|
describe('chip keyboard navigation', () => {
|
|
703
|
-
test('ArrowLeft at caret 0 focuses the last chip', () => {
|
|
730
|
+
test('ArrowLeft at caret 0 focuses the last chip', async () => {
|
|
731
|
+
const user = userEvent.setup();
|
|
704
732
|
render(_jsx(Combobox, { options: people, multiple: true, defaultValue: ['alice', 'bob'] }));
|
|
705
733
|
const input = screen.getByRole('combobox');
|
|
706
|
-
|
|
707
|
-
|
|
734
|
+
await user.click(input);
|
|
735
|
+
await user.keyboard('{ArrowLeft}');
|
|
708
736
|
const tags = document.querySelectorAll('.ds-tag');
|
|
709
737
|
expect(tags[1]).toHaveClass('ds-tag--selected');
|
|
710
738
|
expect(tags[0]).not.toHaveClass('ds-tag--selected');
|
|
711
739
|
});
|
|
712
|
-
test('ArrowLeft navigates through chips from right to left', () => {
|
|
740
|
+
test('ArrowLeft navigates through chips from right to left', async () => {
|
|
741
|
+
const user = userEvent.setup();
|
|
713
742
|
render(_jsx(Combobox, { options: people, multiple: true, defaultValue: ['alice', 'bob', 'charlie'] }));
|
|
714
743
|
const input = screen.getByRole('combobox');
|
|
715
|
-
|
|
716
|
-
|
|
717
|
-
|
|
744
|
+
await user.click(input);
|
|
745
|
+
await user.keyboard('{ArrowLeft}');
|
|
746
|
+
await user.keyboard('{ArrowLeft}');
|
|
718
747
|
const tags = document.querySelectorAll('.ds-tag');
|
|
719
748
|
expect(tags[1]).toHaveClass('ds-tag--selected');
|
|
720
749
|
expect(tags[2]).not.toHaveClass('ds-tag--selected');
|
|
721
750
|
});
|
|
722
|
-
test('ArrowLeft does not go past the first chip', () => {
|
|
751
|
+
test('ArrowLeft does not go past the first chip', async () => {
|
|
752
|
+
const user = userEvent.setup();
|
|
723
753
|
render(_jsx(Combobox, { options: people, multiple: true, defaultValue: ['alice', 'bob'] }));
|
|
724
754
|
const input = screen.getByRole('combobox');
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
|
|
755
|
+
await user.click(input);
|
|
756
|
+
await user.keyboard('{ArrowLeft}');
|
|
757
|
+
await user.keyboard('{ArrowLeft}');
|
|
758
|
+
await user.keyboard('{ArrowLeft}');
|
|
729
759
|
const tags = document.querySelectorAll('.ds-tag');
|
|
730
760
|
expect(tags[0]).toHaveClass('ds-tag--selected');
|
|
731
761
|
});
|
|
732
|
-
test('ArrowRight past the last chip returns focus to input (exits chip nav)', () => {
|
|
762
|
+
test('ArrowRight past the last chip returns focus to input (exits chip nav)', async () => {
|
|
763
|
+
const user = userEvent.setup();
|
|
733
764
|
render(_jsx(Combobox, { options: people, multiple: true, defaultValue: ['alice', 'bob'] }));
|
|
734
765
|
const input = screen.getByRole('combobox');
|
|
735
|
-
|
|
736
|
-
|
|
766
|
+
await user.click(input);
|
|
767
|
+
await user.keyboard('{ArrowLeft}');
|
|
737
768
|
expect(document.querySelectorAll('.ds-tag--selected')).toHaveLength(1);
|
|
738
|
-
|
|
769
|
+
await user.keyboard('{ArrowRight}');
|
|
739
770
|
expect(document.querySelectorAll('.ds-tag--selected')).toHaveLength(0);
|
|
740
771
|
});
|
|
741
|
-
test('Backspace on focused chip removes it', () => {
|
|
772
|
+
test('Backspace on focused chip removes it', async () => {
|
|
773
|
+
const user = userEvent.setup();
|
|
742
774
|
const onValueChange = vi.fn();
|
|
743
775
|
render(_jsx(Combobox, { options: people, multiple: true, defaultValue: ['alice', 'bob', 'charlie'], onValueChange: onValueChange }));
|
|
744
776
|
const input = screen.getByRole('combobox');
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
|
|
777
|
+
await user.click(input);
|
|
778
|
+
await user.keyboard('{ArrowLeft}');
|
|
779
|
+
await user.keyboard('{ArrowLeft}');
|
|
780
|
+
await user.keyboard('{Backspace}');
|
|
749
781
|
expect(onValueChange).toHaveBeenCalledWith(['alice', 'charlie']);
|
|
750
782
|
});
|
|
751
|
-
test('Delete on focused chip removes it', () => {
|
|
783
|
+
test('Delete on focused chip removes it', async () => {
|
|
784
|
+
const user = userEvent.setup();
|
|
752
785
|
const onValueChange = vi.fn();
|
|
753
786
|
render(_jsx(Combobox, { options: people, multiple: true, defaultValue: ['alice', 'bob'], onValueChange: onValueChange }));
|
|
754
787
|
const input = screen.getByRole('combobox');
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
|
|
758
|
-
|
|
788
|
+
await user.click(input);
|
|
789
|
+
await user.keyboard('{ArrowLeft}');
|
|
790
|
+
await user.keyboard('{ArrowLeft}');
|
|
791
|
+
await user.keyboard('{Delete}');
|
|
759
792
|
expect(onValueChange).toHaveBeenCalledWith(['bob']);
|
|
760
793
|
});
|
|
761
|
-
test('Backspace on first chip focuses next or exits', () => {
|
|
794
|
+
test('Backspace on first chip focuses next or exits', async () => {
|
|
795
|
+
const user = userEvent.setup();
|
|
762
796
|
const onValueChange = vi.fn();
|
|
763
797
|
render(_jsx(Combobox, { options: people, multiple: true, defaultValue: ['alice'], onValueChange: onValueChange }));
|
|
764
798
|
const input = screen.getByRole('combobox');
|
|
765
|
-
|
|
766
|
-
|
|
767
|
-
|
|
799
|
+
await user.click(input);
|
|
800
|
+
await user.keyboard('{ArrowLeft}');
|
|
801
|
+
await user.keyboard('{Backspace}');
|
|
768
802
|
expect(onValueChange).toHaveBeenCalledWith([]);
|
|
769
803
|
expect(document.querySelectorAll('.ds-tag--selected')).toHaveLength(0);
|
|
770
804
|
});
|
|
771
805
|
test('typing exits chip nav mode', async () => {
|
|
806
|
+
const user = userEvent.setup();
|
|
772
807
|
render(_jsx(Combobox, { options: people, multiple: true, defaultValue: ['alice', 'bob'] }));
|
|
773
808
|
const input = screen.getByRole('combobox');
|
|
774
|
-
|
|
775
|
-
|
|
809
|
+
await user.click(input);
|
|
810
|
+
await user.keyboard('{ArrowLeft}');
|
|
776
811
|
expect(document.querySelectorAll('.ds-tag--selected')).toHaveLength(1);
|
|
777
|
-
await
|
|
812
|
+
await user.type(input, 'c');
|
|
778
813
|
expect(document.querySelectorAll('.ds-tag--selected')).toHaveLength(0);
|
|
779
814
|
});
|
|
780
|
-
test('Escape exits chip nav mode', () => {
|
|
815
|
+
test('Escape exits chip nav mode', async () => {
|
|
816
|
+
const user = userEvent.setup();
|
|
781
817
|
render(_jsx(Combobox, { options: people, multiple: true, defaultValue: ['alice', 'bob'] }));
|
|
782
818
|
const input = screen.getByRole('combobox');
|
|
783
|
-
|
|
784
|
-
|
|
819
|
+
await user.click(input);
|
|
820
|
+
await user.keyboard('{ArrowLeft}');
|
|
785
821
|
expect(document.querySelectorAll('.ds-tag--selected')).toHaveLength(1);
|
|
786
|
-
|
|
822
|
+
await user.keyboard('{Escape}');
|
|
787
823
|
expect(document.querySelectorAll('.ds-tag--selected')).toHaveLength(0);
|
|
788
824
|
});
|
|
789
|
-
test('Cmd+A during chip nav enters bulk-select-all mode', () => {
|
|
825
|
+
test('Cmd+A during chip nav enters bulk-select-all mode', async () => {
|
|
826
|
+
const user = userEvent.setup();
|
|
790
827
|
render(_jsx(Combobox, { options: people, multiple: true, defaultValue: ['alice', 'bob'] }));
|
|
791
828
|
const input = screen.getByRole('combobox');
|
|
792
|
-
|
|
793
|
-
|
|
829
|
+
await user.click(input);
|
|
830
|
+
await user.keyboard('{ArrowLeft}');
|
|
794
831
|
expect(document.querySelectorAll('.ds-tag--selected')).toHaveLength(1);
|
|
795
832
|
fireEvent.keyDown(input, { key: 'a', metaKey: true });
|
|
796
833
|
expect(document.querySelectorAll('.ds-tag--selected')).toHaveLength(2);
|