Callout
記事の中で、重要なポイントを示すためのコンポーネントです。
Overview
ロレム・イプサムの座り雨。目まぐるしい文章の流れの中で、それは静かに歩く仮の言葉です。Elitも穏やかに続いていきますが、積み重ねられてきた「LiberroyとFoogの取り組み」は、余白のようなものです。
<Callout title="Calloutタイトル"> <p> ロレム・イプサムの座り雨。目まぐるしい文章の流れの中で、それは静かに歩く仮の言葉です。Elitも穏やかに続いていきますが、積み重ねられてきた「LiberroyとFoogの取り組み」は、余白のようなものです。 </p></Callout><div class="b--callout l--stack u--cbox" style="--keycolor:var(--gray)"> <div class="b--callout_title l--flex"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="1.25em" height="1.25em" fill="currentColor" focusable="false" class="a--icon" aria-hidden="true"> <path d="M229.66,58.34l-32-32a8,8,0,0,0-11.32,0l-96,96A8,8,0,0,0,88,128v32a8,8,0,0,0,8,8h32a8,8,0,0,0,5.66-2.34l96-96A8,8,0,0,0,229.66,58.34ZM124.69,152H104V131.31l64-64L188.69,88ZM200,76.69,179.31,56,192,43.31,212.69,64ZM224,120v88a16,16,0,0,1-16,16H48a16,16,0,0,1-16-16V48A16,16,0,0,1,48,32h88a8,8,0,0,1,0,16H48V208H208V120a8,8,0,0,1,16,0Z"></path> </svg> <span>Calloutタイトル</span> </div> <div class="b--callout_body l--flow -flow:s"> <p>...Contents...</p> </div></div>Styles
Callout のベーススタイルは、以下のCSSで定義されています。
@layer lism-block {
/* Note: l--stack と u--cbox との併用を前提としています. */
.b--callout {
--bds: solid;
--bdw: 3px;
--bdc: var(--keycolor); /* u--cbox 非併用時のフォールバック */
gap: var(--s10);
padding: var(--s20);
border-inline-start: var(--bdw) var(--bds) var(--bdc);
/* u--cbox のボーダー色ミックス率を 100% にして、純粋な keycolor をボーダーに使う */
--cbox-bdPct: 100%;
}
.b--callout_title {
align-items: center;
gap: var(--s10);
color: var(--keycolor);
font-weight: var(--fw--bold);
}
} ソースコード全体は GitHub で公開しています。
How to use
@lism-css/ui パッケージでCalloutとして提供しています。
Import
import { Callout } from '@lism-css/ui/react'; import { Callout } from '@lism-css/ui/astro'; <link href="https://cdn.jsdelivr.net/npm/@lism-css/ui@0.30.0/dist/style.css" rel="stylesheet" /> Props
| プロパティ | 説明 |
|---|---|
keycolor |
キーカラーを指定します。 |
icon |
Iconコンポーネントに渡すアイコンを指定できます。アイコンコンポーネントやSVG文字列を渡せます。既定のアイコンは@lism-css/uiに同梱されています。 |
type |
keycolorとiconの組み合わせのプリセット値を指定できます。初期値:"note" |
title |
タイトルテキストを指定します。 |
flow |
コンテンツを囲むFlow要素のflowプロパティに渡されます |
Examples
type一覧
ロレム・イプサムの座り雨、それは静かに歩く仮の言葉です。長いあいだ積み重ねられてきたLiberroyとFoogの取り組み」は、私たちに一定の示唆を与えてくれます。
ロレム・イプサムの座り雨、それは静かに歩く仮の言葉です。長いあいだ積み重ねられてきたLiberroyとFoogの取り組み」は、私たちに一定の示唆を与えてくれます。
ロレム・イプサムの座り雨、それは静かに歩く仮の言葉です。長いあいだ積み重ねられてきたLiberroyとFoogの取り組み」は、私たちに一定の示唆を与えてくれます。
ロレム・イプサムの座り雨、それは静かに歩く仮の言葉です。長いあいだ積み重ねられてきたLiberroyとFoogの取り組み」は、私たちに一定の示唆を与えてくれます。
ロレム・イプサムの座り雨、それは静かに歩く仮の言葉です。長いあいだ積み重ねられてきたLiberroyとFoogの取り組み」は、私たちに一定の示唆を与えてくれます。
ロレム・イプサムの座り雨、それは静かに歩く仮の言葉です。長いあいだ積み重ねられてきたLiberroyとFoogの取り組み」は、私たちに一定の示唆を与えてくれます。
ロレム・イプサムの座り雨、それは静かに歩く仮の言葉です。長いあいだ積み重ねられてきたLiberroyとFoogの取り組み」は、私たちに一定の示唆を与えてくれます。
<Callout title='Callout: type="info"' type="info">...</Callout><Callout title='Callout: type="alert"' type="alert">...</Callout><Callout title='Callout: type="warning"' type="warning">...</Callout><Callout title='Callout: type="point"' type="point">...</Callout><Callout title='Callout: type="check"' type="check">...</Callout><Callout title='Callout: type="help"' type="help">...</Callout><Callout title='Callout: type="note"' type="note">...</Callout><div class="l--stack -g:30"> <div class="b--callout l--stack u--cbox" style="--keycolor:var(--blue)"> <div class="b--callout_title l--flex"> <svg class="a--icon"...>...</svg> <span>Callout: type="info"</span> </div> <div class="b--callout_body l--flow -flow:s">...Contents...</div> </div> <!-- type="alert" → --keycolor:var(--red) --> <!-- type="warning" → --keycolor:var(--yellow) --> <!-- type="point" → --keycolor:var(--orange) --> <!-- type="check" → --keycolor:var(--green) --> <!-- type="help" → --keycolor:var(--purple) --> <!-- type="note" → --keycolor:var(--gray) --></div>icon、keycolorを指定
icon、keycolorを指定ロレム・イプサムの座り雨。目まぐるしい文章の流れの中で、それは静かに歩く仮の言葉です。Elitも穏やかに続いていきますが、積み重ねられてきた「LiberroyとFoogの取り組み」は、余白のようなものです。
import { ArrowRightIcon } from '@lism-css/icons/react';
<Callout title="Heading text..." icon={ArrowRightIcon} keycolor="pink"> <DummyText lang="ja" /></Callout><div class="b--callout l--stack u--cbox" style="--keycolor:var(--pink)"> <div class="b--callout_title l--flex"> <svg class="a--icon"...>...</svg> <span>Heading text...</span> </div> <div class="b--callout_body l--flow -flow:s"> <p>...Contents...</p> </div></div>※ アイコンは、title の指定がある時のみ表示されます。
title を指定しない場合
title を省略すると、タイトル行(b--callout_title)は出力されず、本文だけのシンプルな表示になります。
titleなしロレム・イプサムの座り雨。目まぐるしい文章の流れの中で、それは静かに歩く仮の言葉です。
<Callout type="info"> <p>ロレム・イプサムの座り雨。目まぐるしい文章の流れの中で、それは静かに歩く仮の言葉です。</p></Callout><div class="b--callout l--stack u--cbox" style="--keycolor:var(--blue)"> <div class="b--callout_body l--flow -flow:s"> <p>ロレム・イプサムの座り雨。目まぐるしい文章の流れの中で、それは静かに歩く仮の言葉です。</p> </div></div>Without @lism-css/ui
コンポーネントを作らずに、lism-css のコア要素だけで構築する例も紹介しておきます。
ロレム・イプサムの座り雨。目まぐるしい文章の流れの中で、それは静かに歩く仮の言葉です。Elitも穏やかに続いていきますが、積み重ねられてきた「LiberroyとFoogの取り組み」は、余白のようなものです。
import { NoteIcon } from '@lism-css/icons/react';
<Stack util="cbox" keycolor="blue" p="20" g="10" bdc="keycolor" bd-s bdw="3px" bdrs="10"> <Flex c="keycolor" fw="bold" ai="center" g="10"> <Center> <Icon icon={NoteIcon} size="1.25em" /> </Center> <span>Callout</span> </Flex> <Lism> <p> ロレム・イプサムの座り雨。目まぐるしい文章の流れの中で、それは静かに歩く仮の言葉です。Elitも穏やかに続いていきますが、積み重ねられてきた「LiberroyとFoogの取り組み」は、余白のようなものです。 </p> </Lism></Stack><div class="l--stack u--cbox -p:20 -g:10 -bdc:keycolor -bd-s -bdrs:10" style="--keycolor: var(--blue); --bdw: 3px"> <div class="l--flex -c:keycolor -fw:bold -ai:center -g:10"> <div class="l--center"> <svg xmlns="http://www.w3.org/2000/svg" class="a--icon" viewBox="0 0 256 256" width="1.25em" height="1.25em" fill="currentColor" focusable="false" aria-hidden="true" > <path d="M229.66,58.34l-32-32a8,8,0,0,0-11.32,0l-96,96A8,8,0,0,0,88,128v32a8,8,0,0,0,8,8h32a8,8,0,0,0,5.66-2.34l96-96A8,8,0,0,0,229.66,58.34ZM124.69,152H104V131.31l64-64L188.69,88ZM200,76.69,179.31,56,192,43.31,212.69,64ZM224,120v88a16,16,0,0,1-16,16H48a16,16,0,0,1-16-16V48A16,16,0,0,1,48,32h88a8,8,0,0,1,0,16H48V208H208V120a8,8,0,0,1,16,0Z" ></path> </svg> </div> <span>Callout</span> </div> <div> <p> ロレム・イプサムの座り雨。目まぐるしい文章の流れの中で、それは静かに歩く仮の言葉です。Elitも穏やかに続いていきますが、積み重ねられてきた「LiberroyとFoogの取り組み」は、余白のようなものです。 </p> </div></div>