Skip to content

Commit

Permalink
Update Listbox, Menu, ComboBox and Dropdown to use --salt-palette-cor…
Browse files Browse the repository at this point in the history
…ner when their corners are rounded and add 1px visual offset on floating panels (#3813)
  • Loading branch information
joshwooding committed Jul 12, 2024
1 parent 34e8c9c commit 533b590
Show file tree
Hide file tree
Showing 11 changed files with 112 additions and 10 deletions.
6 changes: 6 additions & 0 deletions .changeset/great-pens-hunt.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
"@salt-ds/core": minor
---

- Updated `Listbox`, `Menu`, `ComboBox` and `Dropdown` to use `--salt-palette-corner` when their corners are rounded.
- Updated `Menu`, `Dropdown` and `ComboBox` to have a 1px visual offset on floating panels.
2 changes: 2 additions & 0 deletions packages/core/src/combo-box/ComboBox.tsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import {
flip,
offset,
size,
useClick,
useDismiss,
Expand Down Expand Up @@ -177,6 +178,7 @@ export const ComboBox = forwardRef(function ComboBox<Item>(
placement: "bottom-start",
strategy: "fixed",
middleware: [
offset(1),
size({
apply({ rects, elements, availableHeight }) {
Object.assign(elements.floating.style, {
Expand Down
2 changes: 2 additions & 0 deletions packages/core/src/dropdown/Dropdown.tsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import {
flip,
offset,
size,
useClick,
useDismiss,
Expand Down Expand Up @@ -217,6 +218,7 @@ export const Dropdown = forwardRef(function Dropdown<Item>(
onOpenChange: handleOpenChange,
placement: "bottom-start",
middleware: [
offset(1),
size({
apply({ rects, elements, availableHeight }) {
Object.assign(elements.floating.style, {
Expand Down
2 changes: 1 addition & 1 deletion packages/core/src/list-box/ListBox.css
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,11 @@
isolation: isolate;
position: relative;
max-height: inherit;
border-radius: var(--salt-palette-corner-weak, 0);
}

.saltListBox-bordered {
border: var(--salt-size-border) var(--salt-container-borderStyle) var(--salt-container-primary-borderColor);
border-radius: var(--salt-palette-corner, 0);
}

.saltListBox:focus-visible {
Expand Down
2 changes: 1 addition & 1 deletion packages/core/src/menu/MenuBase.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,7 @@ export function MenuBase(props: MenuBaseProps) {
(isNested || getVirtualElement ? "right-start" : "bottom-start"),
middleware: [
// Align the nested menu by shifting it by var(--salt-size-border)
offset(isNested ? { crossAxis: -1 } : {}),
offset(isNested ? { crossAxis: -1, mainAxis: 2 } : !getVirtualElement ? 1 : 0),
flip({}),
shift({ limiter: limitShift() }),
size({
Expand Down
1 change: 1 addition & 0 deletions packages/core/src/menu/MenuPanel.css
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
z-index: var(--salt-zIndex-flyover);
box-shadow: var(--salt-overlayable-shadow-popout);
box-sizing: border-box;
border-radius: var(--salt-palette-corner, 0);
}

.saltMenuPanel-container {
Expand Down
2 changes: 1 addition & 1 deletion packages/core/src/option/OptionList.css
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
.saltOptionList {
background: var(--salt-container-primary-background);
border: var(--salt-size-border) var(--salt-selectable-borderStyle-selected) var(--salt-selectable-borderColor-selected);
border-radius: var(--salt-palette-corner-weak, 0);
border-radius: var(--salt-palette-corner, 0);
overflow: hidden;
overflow-y: auto;
position: relative;
Expand Down
30 changes: 28 additions & 2 deletions packages/core/stories/combo-box/combo-box.qa.stories.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,20 @@ export const OpenExamples: StoryFn<QAContainerProps> = () => (
);

OpenExamples.parameters = {
chromatic: { disableSnapshot: false },
chromatic: {
disableSnapshot: false,
modes: {
theme: {
themeNext: "disable",
},
themeNext: {
themeNext: "enable",
corner: "rounded",
accent: "teal",
// Ignore headingFont given font is not loaded
},
},
},
};

export const OpenMultiselectExamples: StoryFn<QAContainerProps> = () => (
Expand All @@ -71,7 +84,20 @@ export const OpenMultiselectExamples: StoryFn<QAContainerProps> = () => (
);

OpenMultiselectExamples.parameters = {
chromatic: { disableSnapshot: false },
chromatic: {
disableSnapshot: false,
modes: {
theme: {
themeNext: "disable",
},
themeNext: {
themeNext: "enable",
corner: "rounded",
accent: "teal",
// Ignore headingFont given font is not loaded
},
},
},
};

export const ClosedExamples: StoryFn<QAContainerProps> = () => (
Expand Down
15 changes: 14 additions & 1 deletion packages/core/stories/dropdown/dropdown.qa.stories.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,20 @@ export const OpenExamples: StoryFn<QAContainerProps> = () => (
);

OpenExamples.parameters = {
chromatic: { disableSnapshot: false },
chromatic: {
disableSnapshot: false,
modes: {
theme: {
themeNext: "disable",
},
themeNext: {
themeNext: "enable",
corner: "rounded",
accent: "teal",
// Ignore headingFont given font is not loaded
},
},
},
};

export const ClosedExamples: StoryFn<QAContainerProps> = () => (
Expand Down
15 changes: 14 additions & 1 deletion packages/core/stories/list-box/list-box.qa.stories.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -32,5 +32,18 @@ export const AllExamples: StoryFn<QAContainerProps> = () => (
);

AllExamples.parameters = {
chromatic: { disableSnapshot: false },
chromatic: {
disableSnapshot: false,
modes: {
theme: {
themeNext: "disable",
},
themeNext: {
themeNext: "enable",
corner: "rounded",
accent: "teal",
// Ignore headingFont given font is not loaded
},
},
},
};
45 changes: 42 additions & 3 deletions packages/core/stories/menu/menu.qa.stories.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,20 @@ export const SingleLevelExamples: StoryFn<QAContainerProps> = (props) => {
};

SingleLevelExamples.parameters = {
chromatic: { disableSnapshot: false },
chromatic: {
disableSnapshot: false,
modes: {
theme: {
themeNext: "disable",
},
themeNext: {
themeNext: "enable",
corner: "rounded",
accent: "teal",
// Ignore headingFont given font is not loaded
},
},
},
};

export const MultilevelExamples: StoryFn<QAContainerProps> = (props) => {
Expand Down Expand Up @@ -87,7 +100,20 @@ export const MultilevelExamples: StoryFn<QAContainerProps> = (props) => {
};

MultilevelExamples.parameters = {
chromatic: { disableSnapshot: false },
chromatic: {
disableSnapshot: false,
modes: {
theme: {
themeNext: "disable",
},
themeNext: {
themeNext: "enable",
corner: "rounded",
accent: "teal",
// Ignore headingFont given font is not loaded
},
},
},
};

export const GroupedExamples: StoryFn<QAContainerProps> = (props) => {
Expand Down Expand Up @@ -122,5 +148,18 @@ export const GroupedExamples: StoryFn<QAContainerProps> = (props) => {
};

GroupedExamples.parameters = {
chromatic: { disableSnapshot: false },
chromatic: {
disableSnapshot: false,
modes: {
theme: {
themeNext: "disable",
},
themeNext: {
themeNext: "enable",
corner: "rounded",
accent: "teal",
// Ignore headingFont given font is not loaded
},
},
},
};

0 comments on commit 533b590

Please sign in to comment.