Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
66 commits
Select commit Hold shift + click to select a range
5cbde95
chore: copy internal dropdown to src/dropdown
mxschll Mar 10, 2026
898be4a
feat: expose dropdown as core-only public component
mxschll Mar 10, 2026
ee1ce3c
fix: imports
mxschll Mar 10, 2026
c9645aa
fix: imports
mxschll Mar 10, 2026
5932ac1
fix: imports
mxschll Mar 10, 2026
064064a
fix: imports
mxschll Mar 10, 2026
09c2675
fix: imports
mxschll Mar 10, 2026
bd85f00
chore: update jest snapshots
mxschll Mar 10, 2026
78be693
feat: add test utils
mxschll Mar 10, 2026
3710476
chore: move props to internal
mxschll Mar 11, 2026
185aa97
chore: move focus props to internal
mxschll Mar 11, 2026
035cad6
fix: typescript error
mxschll Mar 11, 2026
d65ee31
fix: typescript error
mxschll Mar 11, 2026
94ec78d
chore: update jest snapshots
mxschll Mar 11, 2026
b44bde6
chore: add test util comments
mxschll Mar 11, 2026
eef69ef
chore: add tests for test utils
mxschll Mar 11, 2026
d77d370
fix: imports
mxschll Mar 11, 2026
558f88a
chore: update jest snapshots
mxschll Mar 11, 2026
4758aff
chore: add tests
mxschll Mar 11, 2026
849631a
chore: update docs
mxschll Mar 11, 2026
4aea120
fix: rename internal DropdownContentWrapper to OptionsDropdownContent…
mxschll Mar 11, 2026
e7c3615
fix: a11y issues
mxschll Mar 12, 2026
c8a1e33
fix: make codecov happy
mxschll Mar 12, 2026
944b5fe
fix: imports
mxschll Mar 12, 2026
610281c
fix: test
mxschll Mar 12, 2026
2bfcff3
feat: add isOpen
mxschll Mar 12, 2026
80933f4
chore: update bugbash page
mxschll Mar 12, 2026
3890409
chore: update docs
mxschll Mar 12, 2026
b507a74
chore: update snapshots
mxschll Mar 12, 2026
9b0f94b
chore: delete bugbash page
mxschll Mar 17, 2026
6732ba9
chore: improve tests
mxschll Mar 17, 2026
794531f
feat: add style api to dropdown
mxschll Mar 17, 2026
d5a3208
refactor: tests
mxschll Mar 17, 2026
0904ca0
refactor: restore previous imports
mxschll Mar 17, 2026
e4cff60
refactor: restore previous code
mxschll Mar 17, 2026
4868470
refactor: tests
mxschll Mar 17, 2026
ed7964f
refactor: tests
mxschll Mar 17, 2026
b165866
refactor: tests
mxschll Mar 17, 2026
dea489e
chore: update jest snapshot
mxschll Mar 17, 2026
c8875d0
fix: restore package-lock.json
mxschll Mar 17, 2026
72f0b1a
refactor: use public dropdown on pages if possible
mxschll Mar 18, 2026
e5c65ab
refactor: documentation
mxschll Mar 18, 2026
d16040a
chore: update jest snapshots
mxschll Mar 18, 2026
ce0b1af
chore: update jest snapshots
mxschll Mar 18, 2026
10aa074
refactor: remove clickTrigger test util
mxschll Mar 18, 2026
fc57492
refactor: move tests for style api into separate file
mxschll Mar 18, 2026
eed214c
refactor: delete unused function
mxschll Mar 19, 2026
398dc5b
chore: update jest snapshots
mxschll Mar 19, 2026
b6dcdf2
chore: update docs
mxschll Mar 19, 2026
1193919
fix: fire onOutsideClick when trigger wrapper is clicked
mxschll Mar 20, 2026
c22423a
chore: refactor test utils
mxschll Mar 20, 2026
6382701
chore: update docs
mxschll Mar 23, 2026
21483de
chore: update snapshots
mxschll Mar 25, 2026
7794519
chore: update snapshots
mxschll Mar 25, 2026
05c62e3
Merge remote-tracking branch 'origin/main' into dev-v3-schomax-dropdo…
mxschll Mar 25, 2026
31625aa
fix: revert changes from merge
mxschll Mar 25, 2026
f31245a
fix: exclude external trigger ref from firing onOutisdeClick
mxschll Mar 25, 2026
d585a1a
chore: push package-lock.json changes
mxschll Mar 25, 2026
9b66511
fix: naming
mxschll Mar 26, 2026
7e461c5
chore: restore legacy selectors
mxschll Mar 26, 2026
2d00948
chore: use legacy selectors in test utils
mxschll Mar 26, 2026
c7c4e63
Merge remote-tracking branch 'origin/main' into dev-v3-schomax-dropdo…
mxschll Mar 26, 2026
6d9d4ac
chore: update jest snapshots
mxschll Mar 26, 2026
64e67c0
chore: remove static var
mxschll Mar 26, 2026
0da23a2
chore: refactor to make logic more intuitive
mxschll Mar 26, 2026
d30ad85
chore: add integ test for trigger wrapper click
mxschll Mar 26, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions build-tools/utils/custom-css-properties.js
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,10 @@ const customCssPropertiesList = [
// Dropdown Custom Properties
'dropdownDefaultMaxWidth',
'dropdownDefaultMinWidth',
// Dropdown Style API
'dropdownContentBorderColor',
'dropdownContentBorderWidth',
'dropdownContentBorderRadius',
// Modal Custom Properties
'modalCustomWidth',
'modalCustomHeight',
Expand Down
1 change: 1 addition & 0 deletions build-tools/utils/pluralize.js
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ const pluralizationMap = {
DatePicker: 'DatePickers',
DateRangePicker: 'DateRangePickers',
Drawer: 'Drawers',
Dropdown: 'Dropdowns',
ErrorBoundary: 'ErrorBoundaries',
ExpandableSection: 'ExpandableSections',
FileDropzone: 'FileDropzones',
Expand Down
2 changes: 1 addition & 1 deletion pages/calendar/simple.page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
import * as React from 'react';

import Calendar from '~components/calendar';
import Dropdown from '~components/internal/components/dropdown';
import Dropdown from '~components/dropdown/internal';

import i18nStrings from './i18n-strings';

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import * as React from 'react';

import Box from '~components/box';
import Calendar, { DateRangePickerCalendarProps } from '~components/date-range-picker/calendar';
import Dropdown from '~components/internal/components/dropdown';
import Dropdown from '~components/dropdown/internal';

import { PermutationsPage } from '../app/templates';
import createPermutations from '../utils/permutations';
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import * as React from 'react';

import Box from '~components/box';
import Calendar, { DateRangePickerCalendarProps } from '~components/date-range-picker/calendar';
import Dropdown from '~components/internal/components/dropdown';
import Dropdown from '~components/dropdown/internal';

import { PermutationsPage } from '../app/templates';
import createPermutations from '../utils/permutations';
Expand Down
2 changes: 1 addition & 1 deletion pages/dropdown/common.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
import React, { useState } from 'react';

import Button from '~components/button';
import Dropdown from '~components/internal/components/dropdown';
import Dropdown from '~components/dropdown';
import Modal from '~components/modal';

export function SampleDropdown({ id, children }: { id: string; children: React.ReactNode }) {
Expand Down
2 changes: 1 addition & 1 deletion pages/dropdown/fixed-container.page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
// SPDX-License-Identifier: Apache-2.0
import React, { useEffect, useState } from 'react';

import Dropdown from '~components/internal/components/dropdown';
import Dropdown from '~components/dropdown/internal';

import ScreenshotArea from '../utils/screenshot-area';
import ListContent from './list-content';
Expand Down
2 changes: 1 addition & 1 deletion pages/dropdown/focus-trap.page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import React, { useContext } from 'react';
import { useState } from 'react';

import { Box, Button, SpaceBetween } from '~components';
import Dropdown from '~components/internal/components/dropdown';
import Dropdown from '~components/dropdown/internal';

import AppContext, { AppContextType } from '../app/app-context';

Expand Down
2 changes: 1 addition & 1 deletion pages/dropdown/interior-fitting.page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import React, { useState } from 'react';
import clsx from 'clsx';

import Button from '~components/button';
import Dropdown from '~components/internal/components/dropdown';
import Dropdown from '~components/dropdown/internal';

import ListContent from './list-content';

Expand Down
2 changes: 1 addition & 1 deletion pages/dropdown/interior-stretch-height.page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import React, { useState } from 'react';
import clsx from 'clsx';

import Button from '~components/button';
import Dropdown from '~components/internal/components/dropdown';
import Dropdown from '~components/dropdown/internal';

import ListContent from './list-content';

Expand Down
2 changes: 1 addition & 1 deletion pages/dropdown/interior-with-wrapping.page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import React, { useState } from 'react';
import clsx from 'clsx';

import Button from '~components/button';
import Dropdown from '~components/internal/components/dropdown';
import Dropdown from '~components/dropdown/internal';

import ListContent from './list-content';

Expand Down
2 changes: 1 addition & 1 deletion pages/dropdown/list-with-sticky-item.page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import React, { useContext, useRef, useState } from 'react';

import Box from '~components/box';
import Button from '~components/button';
import Dropdown from '~components/internal/components/dropdown';
import Dropdown from '~components/dropdown';
import { DropdownOption } from '~components/internal/components/option/interfaces';
import PlainList from '~components/select/parts/plain-list';
import VirtualList from '~components/select/parts/virtual-list';
Expand Down
2 changes: 1 addition & 1 deletion pages/dropdown/min-width.page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
import * as React from 'react';
import { useState } from 'react';

import Dropdown from '~components/internal/components/dropdown';
import Dropdown from '~components/dropdown/internal';

import ListContent from './list-content';

Expand Down
2 changes: 1 addition & 1 deletion pages/dropdown/positioning.page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
import React, { useState } from 'react';

import Button from '~components/button';
import Dropdown from '~components/internal/components/dropdown';
import Dropdown from '~components/dropdown/internal';

import ListContent from './list-content';

Expand Down
2 changes: 1 addition & 1 deletion pages/dropdown/prefer-center.page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import React, { useState } from 'react';
import clsx from 'clsx';

import Button from '~components/button';
import Dropdown from '~components/internal/components/dropdown';
import Dropdown from '~components/dropdown/internal';

import ListContent from './list-content';

Expand Down
2 changes: 1 addition & 1 deletion pages/dropdown/simple.page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import * as React from 'react';
import { useState } from 'react';

import Button from '~components/button';
import Dropdown from '~components/internal/components/dropdown';
import Dropdown from '~components/dropdown';

import ListContent from './list-content';

Expand Down
58 changes: 58 additions & 0 deletions pages/dropdown/style-permutations.page.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
// SPDX-License-Identifier: Apache-2.0
import React, { useState } from 'react';

import Button from '~components/button';
import Dropdown from '~components/dropdown';
import SpaceBetween from '~components/space-between';

import ScreenshotArea from '../utils/screenshot-area';
import ListContent from './list-content';

export default function DropdownStylePermutations() {
const [open1, setOpen1] = useState(false);
const [open2, setOpen2] = useState(false);

return (
<ScreenshotArea>
<h1>Dropdown Style Permutations</h1>
<SpaceBetween direction="vertical" size="xl">
<section>
<h2>Custom background, no border</h2>
<Dropdown
trigger={<Button onClick={() => setOpen1(!open1)}>Open dropdown</Button>}
open={open1}
onOutsideClick={() => setOpen1(false)}
minWidth={400}
content={<ListContent n={5} />}
style={{
dropdown: {
background: 'light-dark(#edf4ff, #001a66)',
borderWidth: '0px',
},
}}
/>
</section>

<section>
<h2>Custom background with styled border</h2>
<Dropdown
trigger={<Button onClick={() => setOpen2(!open2)}>Open dropdown</Button>}
open={open2}
onOutsideClick={() => setOpen2(false)}
minWidth={400}
content={<ListContent n={5} />}
style={{
dropdown: {
background: 'light-dark(#edfbff, #005566)',
borderColor: 'light-dark(#408080, #66ccdd)',
borderRadius: '0px',
borderWidth: '2px',
},
}}
/>
</section>
</SpaceBetween>
</ScreenshotArea>
);
}
2 changes: 1 addition & 1 deletion pages/options-list/simple.page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import * as React from 'react';
import { useCallback, useState } from 'react';

import Button from '~components/button';
import Dropdown from '~components/internal/components/dropdown';
import Dropdown from '~components/dropdown';
import OptionsList from '~components/internal/components/options-list';

interface ExtendedWindow extends Window {
Expand Down
Loading
Loading