Lism
Lism Props( CSS Props 及び State Props )を受け取るための特殊なコンポーネントです。
何も指定がなければ、ただの<div>
タグを返します。
Lismで配布しているコンポーネントのほぼ全ては、この<Lism>
がベースなっています。
Props
プロパティ | 説明 |
---|---|
tag | 出力する HTMLタグを指定できます。デフォルトはdiv を返します。 |
as | Lism Propsの処理後、asに指定された別コンポーネントとして展開できます。 |
exProps | Lism Propsとして処理したくないpropsを指定できます。as で指定した外部コンポーネントに渡したいpropsを指定するのにも便利です。 |
skipState | State Props用の処理をスキップできます。 |
Import
import { Lism } from '@lism-ui/core';
Usage
Content…
<Lism p='30' bgc='base-2'> <p>Content...</p></Lism>
派生コンポーネント
<Lism>
は汎用的すぎるので、用途に合わせた派生コンポーネントもいくつか用意されています。
<Text>
テキスト用にデフォルトで<p>
タグが出力されるようになった<Lism>
コンポーネントです。
(<Lism tag='p'>
のエイリアス)
Lorem ipsum text.
<Text ta='c' fz='xl' lts='l'>Lorem ipsum text.</Text>
<Link>
リンク用に少し特殊な処理が加えられているコンポーネントです。
- デフォルトで
<a>
タグが出力されます。 isOverlayLink
でis--overlayLink
クラス、
isHiddenLink
でis--hiddenLink
クラスが出力されます。
<Media>
メディア用に少し特殊な処理が加えられているコンポーネントで、<Lism>
と同様のPropsを受け取れるほか、以下のような特徴があります。
- デフォルトで
<img>
タグが出力されます。 blur
,contrast
,brightness
,grayscale
,hueRotate
,invert
,saturate
,sepia
,dropShadow
を統合し、css.filter
に受け渡します。<Media>
には filter を指定しやすくなっていますので、それを活用する例も。css.objectFit
,css.objectPosition
をcss
プロパティを介さずにそのまま受け取れます。
例

<Media src='/img/img-2.jpg' alt='' width='960' height='640' />
filter系のプロパティ, objectPositionの指定

<Frame tag='figure' ar='16/9' pos='r'> <Media contrast={1.1} saturate={0.2} objectPosition='50% 70%' src='/img/img-2.jpg' alt='' width='960' height='640' /> <Text tag='figcaption' pos='a' z='1' b='0' p='5' w='100%' c='white' ta='c' lts='l'>Lorem ipsum text.</Text></Frame>
Next.js の<Image>
を使う方法
Next.jsのImage
は、asに渡すことができます。
as
を活用してでNext.jsのImage
を渡すimport { Media } from '@lism-ui/core';import Image from 'next/image';
<Media as={Image} src="/img.jpg" alt="" width='960' height='640' />
Astro の<Image>
を使う方法
Astroの<Image>
は、as
に渡すことができません。(Astro の <Image>
をas
で渡そうとすると、Astro(TypeScript?)のチェックに引っかかり、「Image missing required “alt” property.」エラーが出てしまいます。)
そのため、以下のようにas
に'AstroImage'
という文字列を指定することで内部で<Image>
が呼び出されるようにしています。
import { Media } from '@lism-ui/astro';import Image from 'next/image';
<Media as='AstroImage' src="/img.jpg" alt="" width='960' height='640' />
<Dummy>
テキスト用にデフォルトで<p>
タグが出力されるようになった<Lism>
コンポーネントです。
(<Lism tag='p'>
のエイリアス)
ロレムイプサムの座り雨。
ロレムイプサムの座り雨、トマ好き学習だったエリット、しかし時と活力はそのような木々と楽しみ。
ロレムイプサムの座り雨、トマ好き学習だったエリット、しかし時と活力はそのような木々と楽しみ。ブラインド行うにはいくつかの重要な事柄が流れます。
ロレムイプサムの座り雨、トマ好き学習だったエリット、しかし時と活力はそのような木々と楽しみ。ブラインド行うにはいくつかの重要な事柄が流れます。長年にわたり、私は学区と長寿であれば、そのような Liberroy, Foo の取り組み、我らのうち、Mulla Sunt の利点を提案したのなら。
ロレムイプサムの座り雨、トマ好き学習だったエリット、しかし時と活力はそのような木々と楽しみ。ブラインド行うにはいくつかの重要な事柄が流れます。長年にわたり、私は学区と長寿であれば、そのような Liberroy, Foo の取り組み、我らのうち、Mulla Sunt の利点を提案したのなら。つまり、彼らはあなたの悩みに一般的な魂を癒しています。困難な必要性に少ないもの、それがコンテンツの比較です。あなたが選択的な彼女の事実、無意味な含有、便利な阻止と甘さ、誰かがもっと腐敗した残り物。提供する時間の生活、それで発明者が賢明です。
<Dummy lang='ja' length='xs'>Lorem ipsum text.</Dummy><Dummy lang='ja' length='s'>Lorem ipsum text.</Dummy><Dummy lang='ja'>Lorem ipsum text.</Dummy><Dummy lang='ja' length='l'>Lorem ipsum text.</Dummy><Dummy lang='ja' length='xl'>Lorem ipsum text.</Dummy>