mirror of
https://github.com/logto-io/logto.git
synced 2025-01-27 21:39:16 -05:00
Merge pull request #2564 from logto-io/charles-log-4848-fix-dropdown-component-css-specificity-issues
fix: upgrade parcel and fix dropdown component css specificity issues
This commit is contained in:
commit
31814ad351
13 changed files with 489 additions and 475 deletions
|
@ -26,10 +26,10 @@
|
||||||
"@logto/react": "1.0.0-beta.13",
|
"@logto/react": "1.0.0-beta.13",
|
||||||
"@logto/schemas": "workspace:^",
|
"@logto/schemas": "workspace:^",
|
||||||
"@mdx-js/react": "^1.6.22",
|
"@mdx-js/react": "^1.6.22",
|
||||||
"@parcel/core": "2.7.0",
|
"@parcel/core": "2.8.0",
|
||||||
"@parcel/transformer-mdx": "2.7.0",
|
"@parcel/transformer-mdx": "2.8.0",
|
||||||
"@parcel/transformer-sass": "2.7.0",
|
"@parcel/transformer-sass": "2.8.0",
|
||||||
"@parcel/transformer-svg-react": "2.7.0",
|
"@parcel/transformer-svg-react": "2.8.0",
|
||||||
"@silverhand/eslint-config": "1.3.0",
|
"@silverhand/eslint-config": "1.3.0",
|
||||||
"@silverhand/eslint-config-react": "1.3.0",
|
"@silverhand/eslint-config-react": "1.3.0",
|
||||||
"@silverhand/essentials": "^1.3.0",
|
"@silverhand/essentials": "^1.3.0",
|
||||||
|
@ -63,7 +63,7 @@
|
||||||
"lodash.get": "^4.4.2",
|
"lodash.get": "^4.4.2",
|
||||||
"lodash.kebabcase": "^4.1.1",
|
"lodash.kebabcase": "^4.1.1",
|
||||||
"nanoid": "^3.1.23",
|
"nanoid": "^3.1.23",
|
||||||
"parcel": "2.7.0",
|
"parcel": "2.8.0",
|
||||||
"postcss": "^8.4.6",
|
"postcss": "^8.4.6",
|
||||||
"postcss-modules": "^4.3.0",
|
"postcss-modules": "^4.3.0",
|
||||||
"prettier": "^2.7.1",
|
"prettier": "^2.7.1",
|
||||||
|
|
|
@ -1,3 +1,10 @@
|
||||||
|
@use '@/scss/underscore' as _;
|
||||||
|
|
||||||
.content {
|
.content {
|
||||||
|
padding: _.unit(1);
|
||||||
min-width: 200px;
|
min-width: 200px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.dropdownTitle {
|
||||||
|
padding: _.unit(3);
|
||||||
|
}
|
||||||
|
|
|
@ -42,6 +42,7 @@ const ActionMenu = ({
|
||||||
/>
|
/>
|
||||||
<Dropdown
|
<Dropdown
|
||||||
title={title}
|
title={title}
|
||||||
|
titleClassName={styles.dropdownTitle}
|
||||||
anchorRef={anchorReference}
|
anchorRef={anchorReference}
|
||||||
isOpen={isOpen}
|
isOpen={isOpen}
|
||||||
className={classNames(styles.content, dropdownClassName)}
|
className={classNames(styles.content, dropdownClassName)}
|
||||||
|
|
|
@ -41,6 +41,10 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.dropdown {
|
||||||
|
padding: _.unit(1);
|
||||||
|
}
|
||||||
|
|
||||||
.dropdownItem {
|
.dropdownItem {
|
||||||
min-width: 170px;
|
min-width: 170px;
|
||||||
padding: _.unit(2.5) _.unit(2);
|
padding: _.unit(2.5) _.unit(2);
|
||||||
|
|
|
@ -58,6 +58,7 @@ const UserInfo = () => {
|
||||||
</div>
|
</div>
|
||||||
<Dropdown
|
<Dropdown
|
||||||
anchorRef={anchorRef}
|
anchorRef={anchorRef}
|
||||||
|
className={styles.dropdown}
|
||||||
isOpen={showDropdown}
|
isOpen={showDropdown}
|
||||||
horizontalAlign="end"
|
horizontalAlign="end"
|
||||||
onClose={() => {
|
onClose={() => {
|
||||||
|
|
|
@ -22,7 +22,6 @@
|
||||||
|
|
||||||
.title {
|
.title {
|
||||||
@include _.subhead-cap;
|
@include _.subhead-cap;
|
||||||
padding: _.unit(3);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.overlay {
|
.overlay {
|
||||||
|
@ -33,7 +32,5 @@
|
||||||
|
|
||||||
.list {
|
.list {
|
||||||
margin: 0;
|
margin: 0;
|
||||||
padding: _.unit(1);
|
|
||||||
max-height: 288px;
|
|
||||||
overflow-y: auto;
|
overflow-y: auto;
|
||||||
}
|
}
|
||||||
|
|
|
@ -78,3 +78,8 @@
|
||||||
height: 36px;
|
height: 36px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.dropdown {
|
||||||
|
padding: _.unit(1);
|
||||||
|
max-height: 288px;
|
||||||
|
}
|
||||||
|
|
|
@ -97,6 +97,7 @@ const Select = <T extends string>({
|
||||||
<Dropdown
|
<Dropdown
|
||||||
isFullWidth
|
isFullWidth
|
||||||
anchorRef={anchorRef}
|
anchorRef={anchorRef}
|
||||||
|
className={styles.dropdown}
|
||||||
isOpen={isOpen}
|
isOpen={isOpen}
|
||||||
onClose={() => {
|
onClose={() => {
|
||||||
setIsOpen(false);
|
setIsOpen(false);
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
@use '@/scss/underscore' as _;
|
@use '@/scss/underscore' as _;
|
||||||
|
|
||||||
.container {
|
.progress {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
padding: _.unit(2);
|
padding: _.unit(2);
|
||||||
|
@ -29,44 +29,46 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.dropdown {
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
.dropdownTitle {
|
.dropdownTitle {
|
||||||
@include _.subhead-cap;
|
@include _.subhead-cap;
|
||||||
padding: _.unit(3) _.unit(5) _.unit(3) _.unit(4);
|
padding: _.unit(3) _.unit(5) _.unit(3) _.unit(4);
|
||||||
}
|
}
|
||||||
|
|
||||||
.dropdown {
|
.dropdownItemWrapper {
|
||||||
padding: 0;
|
.index {
|
||||||
}
|
width: 20px;
|
||||||
|
height: 20px;
|
||||||
|
font: var(--font-subhead-cap);
|
||||||
|
|
||||||
.index {
|
> svg {
|
||||||
width: 20px;
|
width: 16px;
|
||||||
height: 20px;
|
height: 16px;
|
||||||
font: var(--font-subhead-cap);
|
}
|
||||||
|
|
||||||
> svg {
|
|
||||||
width: 16px;
|
|
||||||
height: 16px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.dropdownItem {
|
|
||||||
height: 42px;
|
|
||||||
padding: 0 _.unit(5) 0 _.unit(4);
|
|
||||||
border-top: 1px solid var(--color-hover);
|
|
||||||
border-bottom: 1px solid transparent;
|
|
||||||
border-radius: unset;
|
|
||||||
|
|
||||||
&:last-child {
|
|
||||||
// Note: use 7px to avoid display issue with parent border-radius
|
|
||||||
border-bottom-left-radius: 7px;
|
|
||||||
border-bottom-right-radius: 7px;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
&:hover:not(:last-child) {
|
.dropdownItem {
|
||||||
border-bottom-color: var(--color-hover);
|
height: 42px;
|
||||||
|
padding: 0 _.unit(5) 0 _.unit(4);
|
||||||
|
border-top: 1px solid var(--color-hover);
|
||||||
|
border-bottom: 1px solid transparent;
|
||||||
|
border-radius: unset;
|
||||||
|
|
||||||
+ .dropdownItem {
|
&:last-child {
|
||||||
border-top-color: transparent;
|
// Note: use 7px to avoid display issue with parent border-radius
|
||||||
|
border-bottom-left-radius: 7px;
|
||||||
|
border-bottom-right-radius: 7px;
|
||||||
|
}
|
||||||
|
|
||||||
|
&:hover:not(:last-child) {
|
||||||
|
border-bottom-color: var(--color-hover);
|
||||||
|
|
||||||
|
+ .dropdownItem {
|
||||||
|
border-top-color: transparent;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -43,7 +43,7 @@ const GetStartedProgress = () => {
|
||||||
ref={anchorRef}
|
ref={anchorRef}
|
||||||
role="button"
|
role="button"
|
||||||
tabIndex={0}
|
tabIndex={0}
|
||||||
className={classNames(styles.container, showDropdown && styles.active)}
|
className={classNames(styles.progress, showDropdown && styles.active)}
|
||||||
onKeyDown={onKeyDownHandler({
|
onKeyDown={onKeyDownHandler({
|
||||||
Esc: hideDropDown,
|
Esc: hideDropDown,
|
||||||
Enter: showDropDown,
|
Enter: showDropDown,
|
||||||
|
@ -68,16 +68,18 @@ const GetStartedProgress = () => {
|
||||||
titleClassName={styles.dropdownTitle}
|
titleClassName={styles.dropdownTitle}
|
||||||
onClose={hideDropDown}
|
onClose={hideDropDown}
|
||||||
>
|
>
|
||||||
{data.map(({ id, title, isComplete, onClick }, index) => (
|
<div className={styles.dropdownItemWrapper}>
|
||||||
<DropdownItem
|
{data.map(({ id, title, isComplete, onClick }, index) => (
|
||||||
key={id}
|
<DropdownItem
|
||||||
className={styles.dropdownItem}
|
key={id}
|
||||||
icon={<Index className={styles.index} index={index + 1} isComplete={isComplete} />}
|
className={styles.dropdownItem}
|
||||||
onClick={onClick}
|
icon={<Index className={styles.index} index={index + 1} isComplete={isComplete} />}
|
||||||
>
|
onClick={onClick}
|
||||||
{t(title)}
|
>
|
||||||
</DropdownItem>
|
{t(title)}
|
||||||
))}
|
</DropdownItem>
|
||||||
|
))}
|
||||||
|
</div>
|
||||||
</Dropdown>
|
</Dropdown>
|
||||||
</>
|
</>
|
||||||
);
|
);
|
||||||
|
|
|
@ -21,8 +21,8 @@
|
||||||
"@logto/phrases": "workspace:^",
|
"@logto/phrases": "workspace:^",
|
||||||
"@logto/react": "1.0.0-beta.13",
|
"@logto/react": "1.0.0-beta.13",
|
||||||
"@logto/schemas": "workspace:^",
|
"@logto/schemas": "workspace:^",
|
||||||
"@parcel/core": "2.7.0",
|
"@parcel/core": "2.8.0",
|
||||||
"@parcel/transformer-sass": "2.7.0",
|
"@parcel/transformer-sass": "2.8.0",
|
||||||
"@silverhand/eslint-config": "1.3.0",
|
"@silverhand/eslint-config": "1.3.0",
|
||||||
"@silverhand/eslint-config-react": "1.3.0",
|
"@silverhand/eslint-config-react": "1.3.0",
|
||||||
"@silverhand/ts-config": "1.2.1",
|
"@silverhand/ts-config": "1.2.1",
|
||||||
|
@ -34,7 +34,7 @@
|
||||||
"i18next": "^21.8.16",
|
"i18next": "^21.8.16",
|
||||||
"i18next-browser-languagedetector": "^6.1.4",
|
"i18next-browser-languagedetector": "^6.1.4",
|
||||||
"lint-staged": "^13.0.0",
|
"lint-staged": "^13.0.0",
|
||||||
"parcel": "2.7.0",
|
"parcel": "2.8.0",
|
||||||
"postcss": "^8.4.6",
|
"postcss": "^8.4.6",
|
||||||
"prettier": "^2.7.1",
|
"prettier": "^2.7.1",
|
||||||
"react": "^18.0.0",
|
"react": "^18.0.0",
|
||||||
|
|
|
@ -22,9 +22,9 @@
|
||||||
"@logto/phrases": "workspace:^",
|
"@logto/phrases": "workspace:^",
|
||||||
"@logto/phrases-ui": "workspace:^",
|
"@logto/phrases-ui": "workspace:^",
|
||||||
"@logto/schemas": "workspace:^",
|
"@logto/schemas": "workspace:^",
|
||||||
"@parcel/core": "2.7.0",
|
"@parcel/core": "2.8.0",
|
||||||
"@parcel/transformer-sass": "2.7.0",
|
"@parcel/transformer-sass": "2.8.0",
|
||||||
"@parcel/transformer-svg-react": "2.7.0",
|
"@parcel/transformer-svg-react": "2.8.0",
|
||||||
"@peculiar/webcrypto": "^1.3.3",
|
"@peculiar/webcrypto": "^1.3.3",
|
||||||
"@silverhand/eslint-config": "1.3.0",
|
"@silverhand/eslint-config": "1.3.0",
|
||||||
"@silverhand/eslint-config-react": "1.3.0",
|
"@silverhand/eslint-config-react": "1.3.0",
|
||||||
|
@ -53,7 +53,7 @@
|
||||||
"ky": "^0.32.0",
|
"ky": "^0.32.0",
|
||||||
"libphonenumber-js": "^1.9.49",
|
"libphonenumber-js": "^1.9.49",
|
||||||
"lint-staged": "^13.0.0",
|
"lint-staged": "^13.0.0",
|
||||||
"parcel": "2.7.0",
|
"parcel": "2.8.0",
|
||||||
"postcss": "^8.4.6",
|
"postcss": "^8.4.6",
|
||||||
"postcss-modules": "^4.3.0",
|
"postcss-modules": "^4.3.0",
|
||||||
"prettier": "^2.7.1",
|
"prettier": "^2.7.1",
|
||||||
|
|
832
pnpm-lock.yaml
generated
832
pnpm-lock.yaml
generated
File diff suppressed because it is too large
Load diff
Loading…
Add table
Reference in a new issue