From 71d401ce1cf28e4d286c4d544a5f675dbaece42a Mon Sep 17 00:00:00 2001 From: changmaru Date: Mon, 20 Jan 2025 19:39:00 +0900 Subject: [PATCH 1/4] add close button --- packages/callout/_mixins.scss | 17 ++++++++++++++++ .../stories-web/src/components/Callout.tsx | 20 ++++++++++++++++++- 2 files changed, 36 insertions(+), 1 deletion(-) diff --git a/packages/callout/_mixins.scss b/packages/callout/_mixins.scss index 385e8df..b968dd0 100644 --- a/packages/callout/_mixins.scss +++ b/packages/callout/_mixins.scss @@ -12,6 +12,11 @@ box-shadow: adapter.get-elevation-box-shadow(1); $options: map.merge(variables.$default-options, $options); + visibility: hidden; + opacity: 0%; + transition: all 0.4s; + translate: 0 10%; + ._leading { padding-right: adapter.get-spacing-size(s); line-height: inherit; @@ -35,6 +40,18 @@ margin-block-end: 0; } + &:active, + &.--active { + visibility: visible; + opacity: 100%; + translate: 0 0; + transition: all 0.4s; + } + + ._trailing { + margin-left: auto; + } + @include -state-style(map.get($options, color)); @include -size-style(map.get($options, size)); diff --git a/packages/stories-web/src/components/Callout.tsx b/packages/stories-web/src/components/Callout.tsx index 626d8b6..30594a0 100644 --- a/packages/stories-web/src/components/Callout.tsx +++ b/packages/stories-web/src/components/Callout.tsx @@ -8,6 +8,8 @@ export interface Props { "informative" | "positive" | "negative" | "notice" >; size?: Extract; + isActive?: boolean; + hasCloseButton?: boolean; } const Callout: FC = (props: Props) => { @@ -15,18 +17,34 @@ const Callout: FC = (props: Props) => { const { color = "informative", size = "m", + isActive = true, + hasCloseButton = false, children } = props wrapperClasses.push(`-color-${color}`) wrapperClasses.push(`-size-${size}`) + if (hasCloseButton === false || isActive === true) { + wrapperClasses.push(`--active`) + } + return ( -
+
{ children }
+ { hasCloseButton && ( +
+ +
+ )}
) } From 75e90b080f510786e8405a30196ab2d60c4670ca Mon Sep 17 00:00:00 2001 From: changmaru Date: Tue, 21 Jan 2025 15:22:20 +0900 Subject: [PATCH 2/4] remove active state --- packages/callout/_mixins.scss | 8 -------- packages/stories-web/src/components/Callout.tsx | 12 +++--------- 2 files changed, 3 insertions(+), 17 deletions(-) diff --git a/packages/callout/_mixins.scss b/packages/callout/_mixins.scss index b968dd0..0f9cc74 100644 --- a/packages/callout/_mixins.scss +++ b/packages/callout/_mixins.scss @@ -40,14 +40,6 @@ margin-block-end: 0; } - &:active, - &.--active { - visibility: visible; - opacity: 100%; - translate: 0 0; - transition: all 0.4s; - } - ._trailing { margin-left: auto; } diff --git a/packages/stories-web/src/components/Callout.tsx b/packages/stories-web/src/components/Callout.tsx index 30594a0..e4e0f09 100644 --- a/packages/stories-web/src/components/Callout.tsx +++ b/packages/stories-web/src/components/Callout.tsx @@ -8,8 +8,7 @@ export interface Props { "informative" | "positive" | "negative" | "notice" >; size?: Extract; - isActive?: boolean; - hasCloseButton?: boolean; + hasButton?: boolean; } const Callout: FC = (props: Props) => { @@ -17,18 +16,13 @@ const Callout: FC = (props: Props) => { const { color = "informative", size = "m", - isActive = true, - hasCloseButton = false, + hasButton = false, children } = props wrapperClasses.push(`-color-${color}`) wrapperClasses.push(`-size-${size}`) - if (hasCloseButton === false || isActive === true) { - wrapperClasses.push(`--active`) - } - return (
= (props: Props) => {
{ children }
- { hasCloseButton && ( + { hasButton && (