From b8b7aa9288fb0c86822ca744e41c6243ff172a26 Mon Sep 17 00:00:00 2001 From: Aziz Ramos Date: Wed, 28 Aug 2024 21:15:00 -0400 Subject: [PATCH 1/6] fix: adding picker menu height capabilities --- components/picker/index.css | 12 ++++++++++++ components/picker/metadata/metadata.json | 4 ++++ components/picker/metadata/mods.md | 2 ++ components/picker/stories/template.js | 5 ----- 4 files changed, 18 insertions(+), 5 deletions(-) diff --git a/components/picker/index.css b/components/picker/index.css index 9eae5fa7714..b7928fcf183 100644 --- a/components/picker/index.css +++ b/components/picker/index.css @@ -491,3 +491,15 @@ color: var(--highcontrast-picker-content-color-disabled, var(--mod-picker-font-color-disabled, var(--spectrum-picker-font-color-disabled))); } } + +.spectrum-Picker--menu-height-fixed { + & + .spectrum-Popover.is-open { + max-block-size: var(--mod-picker-menu-height-fixed, 200px); + } +} + +.spectrum-Picker--menu-height-full { + & + .spectrum-Popover.is-open { + height: var(--mod-picker-menu-height-full, calc(100vh - 120px)); + } +} diff --git a/components/picker/metadata/metadata.json b/components/picker/metadata/metadata.json index a87ea36a42b..55a6b813c9f 100644 --- a/components/picker/metadata/metadata.json +++ b/components/picker/metadata/metadata.json @@ -6,6 +6,8 @@ ".spectrum-Picker .spectrum-Picker-icon", ".spectrum-Picker .spectrum-Picker-label", ".spectrum-Picker .spectrum-ProgressCircle", + ".spectrum-Picker--menu-height-fixed + .spectrum-Popover.is-open", + ".spectrum-Picker--menu-height-full + .spectrum-Popover.is-open", ".spectrum-Picker--quiet", ".spectrum-Picker--quiet .spectrum-Picker-menuIcon", ".spectrum-Picker--quiet.is-keyboardFocused", @@ -124,6 +126,8 @@ "--mod-picker-icon-color-key-focus", "--mod-picker-inline-size", "--mod-picker-line-height", + "--mod-picker-menu-height-fixed", + "--mod-picker-menu-height-full", "--mod-picker-placeholder-font-style", "--mod-picker-placeholder-font-weight", "--mod-picker-spacing-bottom-to-text", diff --git a/components/picker/metadata/mods.md b/components/picker/metadata/mods.md index d56fb5c2245..cf2542ceba4 100644 --- a/components/picker/metadata/mods.md +++ b/components/picker/metadata/mods.md @@ -47,6 +47,8 @@ | `--mod-picker-icon-color-key-focus` | | `--mod-picker-inline-size` | | `--mod-picker-line-height` | +| `--mod-picker-menu-height-fixed` | +| `--mod-picker-menu-height-full` | | `--mod-picker-placeholder-font-style` | | `--mod-picker-placeholder-font-weight` | | `--mod-picker-spacing-bottom-to-text` | diff --git a/components/picker/stories/template.js b/components/picker/stories/template.js index 40b71ffb7b2..52243d463cb 100644 --- a/components/picker/stories/template.js +++ b/components/picker/stories/template.js @@ -88,7 +88,6 @@ export const Template = ({ withSwitch = false, fieldLabelStyle = {}, customClasses = [], - customStyles = {}, content = [], id = getRandomId("picker"), } = {}, context = {}) => { @@ -136,10 +135,6 @@ export const Template = ({ isDisabled, isReadOnly, customClasses, - customStyles: { - "display": labelPosition == "left" ? "inline-block" : undefined, - ...customStyles, - }, content, iconName, labelPosition, From f0cfb1e10bf3a63e71e1f5998b8f2b80d1b0ae70 Mon Sep 17 00:00:00 2001 From: Aziz Ramos Date: Thu, 29 Aug 2024 11:23:08 -0400 Subject: [PATCH 2/6] fix: adding max height or full height picker menu --- .changeset/yellow-bags-smash.md | 5 +++++ components/picker/index.css | 2 ++ components/picker/stories/picker.stories.js | 9 +++++++++ components/picker/stories/template.js | 4 ++++ 4 files changed, 20 insertions(+) create mode 100644 .changeset/yellow-bags-smash.md diff --git a/.changeset/yellow-bags-smash.md b/.changeset/yellow-bags-smash.md new file mode 100644 index 00000000000..ee773825eb5 --- /dev/null +++ b/.changeset/yellow-bags-smash.md @@ -0,0 +1,5 @@ +--- +"@spectrum-css/picker": major +--- + +Adding max height to picker menu diff --git a/components/picker/index.css b/components/picker/index.css index b7928fcf183..e36a4140e74 100644 --- a/components/picker/index.css +++ b/components/picker/index.css @@ -492,12 +492,14 @@ } } +/* Fixed menu height */ .spectrum-Picker--menu-height-fixed { & + .spectrum-Popover.is-open { max-block-size: var(--mod-picker-menu-height-fixed, 200px); } } +/* Full viewport height menu */ .spectrum-Picker--menu-height-full { & + .spectrum-Popover.is-open { height: var(--mod-picker-menu-height-full, calc(100vh - 120px)); diff --git a/components/picker/stories/picker.stories.js b/components/picker/stories/picker.stories.js index 0bfc67be051..4fdcc4f31b0 100644 --- a/components/picker/stories/picker.stories.js +++ b/components/picker/stories/picker.stories.js @@ -96,6 +96,15 @@ export default { }, control: "boolean", }, + menuHeight: { + name: "Menu Height", + table: { + type: { summary: "string" }, + category: "Component", + }, + options: ["fixed", "full"], + control: "select", + }, isInvalid, content: { table: { disable: true } }, }, diff --git a/components/picker/stories/template.js b/components/picker/stories/template.js index 52243d463cb..30ac961a8e2 100644 --- a/components/picker/stories/template.js +++ b/components/picker/stories/template.js @@ -26,6 +26,7 @@ export const Picker = ({ customClasses = [], customStyles = {}, onclick, + menuHeight = "fixed", } = {}, context = {}) => { return html`