Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(combobox): ensure listbox optionn ids in groups are always unique #893

Merged
merged 2 commits into from
Oct 28, 2020

Conversation

SiTaggart
Copy link
Contributor

Due to the way groups of options are rendered, that start at a fresh index meaning you get duplicate ids across groups.

Ensure that this doesn't happen and write a test to make sure it never happens again.

@vercel
Copy link

vercel bot commented Oct 27, 2020

This pull request is being automatically deployed with Vercel (learn more).
To see the status of your deployment, click below or on the icon next to each commit.

🔍 Inspect: https://vercel.com/twilio-dsys/paste/gl5u6iu9c
✅ Preview: https://paste-git-fix-comboboxdup-ids.twilio-dsys.vercel.app

@codesandbox-ci
Copy link

codesandbox-ci bot commented Oct 27, 2020

This pull request is automatically built and testable in CodeSandbox.

To see build info of the built libraries, click here or the icon next to each commit SHA.

Latest deployment of this branch, based on commit eab21ab:

Sandbox Source
create-react-app Configuration

@github-actions
Copy link
Contributor

github-actions bot commented Oct 27, 2020

Size Change: +8 B (0%)

Total Size: 371 kB

Filename Size Change
packages/paste-core/components/combobox/dist/index.es.js 3.03 kB +5 B (0%)
packages/paste-core/components/combobox/dist/index.js 3.09 kB +3 B (0%)
ℹ️ View Unchanged
Filename Size Change
packages/paste-core/components/alert/dist/index.es.js 2.27 kB 0 B
packages/paste-core/components/alert/dist/index.js 2.3 kB 0 B
packages/paste-core/components/anchor/dist/index.es.js 1.97 kB 0 B
packages/paste-core/components/anchor/dist/index.js 2 kB 0 B
packages/paste-core/components/avatar/dist/index.es.js 1.03 kB 0 B
packages/paste-core/components/avatar/dist/index.js 1.06 kB 0 B
packages/paste-core/components/base-radio-checkbox/dist/index.es.js 1.04 kB 0 B
packages/paste-core/components/base-radio-checkbox/dist/index.js 1.07 kB 0 B
packages/paste-core/components/button/dist/index.es.js 3.03 kB 0 B
packages/paste-core/components/button/dist/index.js 3.05 kB 0 B
packages/paste-core/components/card/dist/index.es.js 682 B 0 B
packages/paste-core/components/card/dist/index.js 715 B 0 B
packages/paste-core/components/checkbox/dist/index.es.js 2.43 kB 0 B
packages/paste-core/components/checkbox/dist/index.js 2.43 kB 0 B
packages/paste-core/components/disclosure/dist/index.es.js 1.89 kB 0 B
packages/paste-core/components/disclosure/dist/index.js 1.94 kB 0 B
packages/paste-core/components/form/dist/index.es.js 196 B 0 B
packages/paste-core/components/form/dist/index.js 357 B 0 B
packages/paste-core/components/heading/dist/index.es.js 796 B 0 B
packages/paste-core/components/heading/dist/index.js 825 B 0 B
packages/paste-core/components/help-text/dist/index.es.js 1.36 kB 0 B
packages/paste-core/components/help-text/dist/index.js 1.39 kB 0 B
packages/paste-core/components/inline-control-group/dist/index.es.js 915 B 0 B
packages/paste-core/components/inline-control-group/dist/index.js 930 B 0 B
packages/paste-core/components/input-box/dist/index.es.js 1.5 kB 0 B
packages/paste-core/components/input-box/dist/index.js 1.55 kB 0 B
packages/paste-core/components/input/dist/index.es.js 1.22 kB 0 B
packages/paste-core/components/input/dist/index.js 1.25 kB 0 B
packages/paste-core/components/label/dist/index.es.js 982 B 0 B
packages/paste-core/components/label/dist/index.js 1.01 kB 0 B
packages/paste-core/components/list/dist/index.es.js 760 B 0 B
packages/paste-core/components/list/dist/index.js 798 B 0 B
packages/paste-core/components/menu/dist/index.es.js 1.89 kB 0 B
packages/paste-core/components/menu/dist/index.js 1.93 kB 0 B
packages/paste-core/components/modal/dist/index.es.js 2.44 kB 0 B
packages/paste-core/components/modal/dist/index.js 2.45 kB 0 B
packages/paste-core/components/paragraph/dist/index.es.js 237 B 0 B
packages/paste-core/components/paragraph/dist/index.js 278 B 0 B
packages/paste-core/components/popover/dist/index.es.js 1.67 kB 0 B
packages/paste-core/components/popover/dist/index.js 1.71 kB 0 B
packages/paste-core/components/radio-group/dist/index.es.js 1.4 kB 0 B
packages/paste-core/components/radio-group/dist/index.js 1.41 kB 0 B
packages/paste-core/components/screen-reader-only/dist/index.es.js 299 B 0 B
packages/paste-core/components/screen-reader-only/dist/index.js 322 B 0 B
packages/paste-core/components/select/dist/index.es.js 1.77 kB 0 B
packages/paste-core/components/select/dist/index.js 1.81 kB 0 B
packages/paste-core/components/separator/dist/index.es.js 705 B 0 B
packages/paste-core/components/separator/dist/index.js 732 B 0 B
packages/paste-core/components/spinner/dist/index.es.js 1.75 kB 0 B
packages/paste-core/components/spinner/dist/index.js 1.74 kB 0 B
packages/paste-core/components/table/dist/index.es.js 1.26 kB 0 B
packages/paste-core/components/table/dist/index.js 1.28 kB 0 B
packages/paste-core/components/tabs/dist/index.es.js 1.74 kB 0 B
packages/paste-core/components/tabs/dist/index.js 1.77 kB 0 B
packages/paste-core/components/textarea/dist/index.es.js 3.28 kB 0 B
packages/paste-core/components/textarea/dist/index.js 3.3 kB 0 B
packages/paste-core/components/toast/dist/index.es.js 4.29 kB 0 B
packages/paste-core/components/toast/dist/index.js 4.3 kB 0 B
packages/paste-core/components/tooltip/dist/index.es.js 1.02 kB 0 B
packages/paste-core/components/tooltip/dist/index.js 1.05 kB 0 B
packages/paste-core/components/truncate/dist/index.es.js 256 B 0 B
packages/paste-core/components/truncate/dist/index.js 279 B 0 B
packages/paste-core/components/typography/dist/index.es.js 1.14 kB 0 B
packages/paste-core/components/typography/dist/index.js 1.17 kB 0 B
packages/paste-core/core-bundle/dist/absolute.js 202 B 0 B
packages/paste-core/core-bundle/dist/alert.js 194 B 0 B
packages/paste-core/core-bundle/dist/anchor.js 197 B 0 B
packages/paste-core/core-bundle/dist/animation-library.js 211 B 0 B
packages/paste-core/core-bundle/dist/aspect-ratio.js 205 B 0 B
packages/paste-core/core-bundle/dist/avatar.js 200 B 0 B
packages/paste-core/core-bundle/dist/base-radio-checkbox.js 218 B 0 B
packages/paste-core/core-bundle/dist/box.js 195 B 0 B
packages/paste-core/core-bundle/dist/button.js 201 B 0 B
packages/paste-core/core-bundle/dist/card.js 199 B 0 B
packages/paste-core/core-bundle/dist/checkbox.js 201 B 0 B
packages/paste-core/core-bundle/dist/combobox-primitive.js 213 B 0 B
packages/paste-core/core-bundle/dist/combobox.js 203 B 0 B
packages/paste-core/core-bundle/dist/design-tokens.js 209 B 0 B
packages/paste-core/core-bundle/dist/disclosure-primitive.js 213 B 0 B
packages/paste-core/core-bundle/dist/disclosure.js 204 B 0 B
packages/paste-core/core-bundle/dist/dropdown-library.js 211 B 0 B
packages/paste-core/core-bundle/dist/flex.js 196 B 0 B
packages/paste-core/core-bundle/dist/form.js 197 B 0 B
packages/paste-core/core-bundle/dist/grid.js 196 B 0 B
packages/paste-core/core-bundle/dist/heading.js 199 B 0 B
packages/paste-core/core-bundle/dist/help-text.js 204 B 0 B
packages/paste-core/core-bundle/dist/index.js 1.01 kB 0 B
packages/paste-core/core-bundle/dist/inline-control-group.js 218 B 0 B
packages/paste-core/core-bundle/dist/input-box.js 206 B 0 B
packages/paste-core/core-bundle/dist/input.js 200 B 0 B
packages/paste-core/core-bundle/dist/label.js 196 B 0 B
packages/paste-core/core-bundle/dist/list.js 195 B 0 B
packages/paste-core/core-bundle/dist/media-object.js 202 B 0 B
packages/paste-core/core-bundle/dist/menu-primitive.js 210 B 0 B
packages/paste-core/core-bundle/dist/menu.js 196 B 0 B
packages/paste-core/core-bundle/dist/modal-dialog-primitive.js 219 B 0 B
packages/paste-core/core-bundle/dist/modal.js 196 B 0 B
packages/paste-core/core-bundle/dist/non-modal-dialog-primitive.js 224 B 0 B
packages/paste-core/core-bundle/dist/paragraph.js 202 B 0 B
packages/paste-core/core-bundle/dist/popover.js 201 B 0 B
packages/paste-core/core-bundle/dist/radio-group.js 208 B 0 B
packages/paste-core/core-bundle/dist/reakit-library.js 211 B 0 B
packages/paste-core/core-bundle/dist/screen-reader-only.js 214 B 0 B
packages/paste-core/core-bundle/dist/select.js 197 B 0 B
packages/paste-core/core-bundle/dist/separator.js 199 B 0 B
packages/paste-core/core-bundle/dist/sibling-box.js 206 B 0 B
packages/paste-core/core-bundle/dist/spinner.js 198 B 0 B
packages/paste-core/core-bundle/dist/stack.js 200 B 0 B
packages/paste-core/core-bundle/dist/style-props.js 202 B 0 B
packages/paste-core/core-bundle/dist/styling-library.js 210 B 0 B
packages/paste-core/core-bundle/dist/table.js 195 B 0 B
packages/paste-core/core-bundle/dist/tabs-primitive.js 210 B 0 B
packages/paste-core/core-bundle/dist/tabs.js 196 B 0 B
packages/paste-core/core-bundle/dist/text.js 195 B 0 B
packages/paste-core/core-bundle/dist/textarea.js 198 B 0 B
packages/paste-core/core-bundle/dist/theme.js 196 B 0 B
packages/paste-core/core-bundle/dist/toast.js 195 B 0 B
packages/paste-core/core-bundle/dist/tooltip-primitive.js 212 B 0 B
packages/paste-core/core-bundle/dist/tooltip.js 198 B 0 B
packages/paste-core/core-bundle/dist/truncate.js 198 B 0 B
packages/paste-core/core-bundle/dist/types.js 196 B 0 B
packages/paste-core/core-bundle/dist/uid-library.js 208 B 0 B
packages/paste-core/layout/absolute/dist/index.es.js 470 B 0 B
packages/paste-core/layout/absolute/dist/index.js 492 B 0 B
packages/paste-core/layout/aspect-ratio/dist/index.es.js 609 B 0 B
packages/paste-core/layout/aspect-ratio/dist/index.js 628 B 0 B
packages/paste-core/layout/flex/dist/index.es.js 1.38 kB 0 B
packages/paste-core/layout/flex/dist/index.js 1.4 kB 0 B
packages/paste-core/layout/grid/dist/index.es.js 1.19 kB 0 B
packages/paste-core/layout/grid/dist/index.js 1.17 kB 0 B
packages/paste-core/layout/media-object/dist/index.es.js 508 B 0 B
packages/paste-core/layout/media-object/dist/index.js 544 B 0 B
packages/paste-core/layout/stack/dist/index.es.js 949 B 0 B
packages/paste-core/layout/stack/dist/index.js 963 B 0 B
packages/paste-core/primitives/box/dist/index.es.js 1.94 kB 0 B
packages/paste-core/primitives/box/dist/index.js 1.9 kB 0 B
packages/paste-core/primitives/combobox/dist/index.es.js 105 B 0 B
packages/paste-core/primitives/combobox/dist/index.js 224 B 0 B
packages/paste-core/primitives/disclosure/dist/index.es.js 120 B 0 B
packages/paste-core/primitives/disclosure/dist/index.js 208 B 0 B
packages/paste-core/primitives/menu/dist/index.es.js 165 B 0 B
packages/paste-core/primitives/menu/dist/index.js 260 B 0 B
packages/paste-core/primitives/modal-dialog/dist/index.es.js 14 kB 0 B
packages/paste-core/primitives/modal-dialog/dist/index.js 14 kB 0 B
packages/paste-core/primitives/non-modal-dialog/dist/index.es.js 141 B 0 B
packages/paste-core/primitives/non-modal-dialog/dist/index.js 228 B 0 B
packages/paste-core/primitives/sibling-box/dist/index.es.js 713 B 0 B
packages/paste-core/primitives/sibling-box/dist/index.js 750 B 0 B
packages/paste-core/primitives/tabs/dist/index.es.js 121 B 0 B
packages/paste-core/primitives/tabs/dist/index.js 211 B 0 B
packages/paste-core/primitives/text/dist/index.es.js 1.25 kB 0 B
packages/paste-core/primitives/text/dist/index.js 1.24 kB 0 B
packages/paste-core/primitives/tooltip/dist/index.es.js 129 B 0 B
packages/paste-core/primitives/tooltip/dist/index.js 218 B 0 B
packages/paste-design-tokens/dist/themes/console/tokens.common.js 2.92 kB 0 B
packages/paste-design-tokens/dist/themes/console/tokens.es6.js 2.88 kB 0 B
packages/paste-design-tokens/dist/themes/sendgrid/tokens.common.js 2.96 kB 0 B
packages/paste-design-tokens/dist/themes/sendgrid/tokens.es6.js 2.93 kB 0 B
packages/paste-design-tokens/dist/tokens.common.js 2.97 kB 0 B
packages/paste-design-tokens/dist/tokens.es6.js 2.94 kB 0 B
packages/paste-libraries/animation/dist/index.es.js 21.2 kB 0 B
packages/paste-libraries/animation/dist/index.js 21.3 kB 0 B
packages/paste-libraries/dropdown/dist/index.es.js 18.6 kB 0 B
packages/paste-libraries/dropdown/dist/index.js 18.6 kB 0 B
packages/paste-libraries/reakit/dist/index.es.js 29.5 kB 0 B
packages/paste-libraries/reakit/dist/index.js 29.5 kB 0 B
packages/paste-libraries/styling/dist/index.es.js 19.2 kB 0 B
packages/paste-libraries/styling/dist/index.js 19.3 kB 0 B
packages/paste-libraries/uid/dist/index.es.js 889 B 0 B
packages/paste-libraries/uid/dist/index.js 902 B 0 B
packages/paste-style-props/dist/index.es.js 1.58 kB 0 B
packages/paste-style-props/dist/index.js 1.61 kB 0 B
packages/paste-theme/dist/index.es.js 4.55 kB 0 B
packages/paste-theme/dist/index.js 4.55 kB 0 B
packages/paste-types/dist/index.es.js 21 B 0 B
packages/paste-types/dist/index.js 34 B 0 B

compressed-size-action

@TheSisb TheSisb marked this pull request as ready for review October 28, 2020 18:06
@TheSisb TheSisb merged commit 91903a6 into main Oct 28, 2020
@TheSisb TheSisb deleted the fix/combobox/dup-ids branch October 28, 2020 20:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants