diff --git a/packages/docs/.vitepress/config.mts b/packages/docs/.vitepress/config.mts index 702e5c82..db2ab7de 100644 --- a/packages/docs/.vitepress/config.mts +++ b/packages/docs/.vitepress/config.mts @@ -85,6 +85,7 @@ export default defineConfig({ { text: "Card", link: "/card" }, { text: "IconButton", link: "/icon-button" }, { text: "Input", link: "/input" }, + {text: "ModalDialog", link: "/modal-dialog" }, { text: "Select", link: "/select" }, { text: "Spinner", link: "/spinner" }, { diff --git a/packages/docs/components/modal-dialog.md b/packages/docs/components/modal-dialog.md new file mode 100644 index 00000000..aa9c7253 --- /dev/null +++ b/packages/docs/components/modal-dialog.md @@ -0,0 +1,43 @@ +# Modal-Dialog + +## Default + +:::raw + + + +
+

モーダル・ダイアログ

+

3年ほど前(2022年)になりますが、Modal Dialogコンポーネントの実装で議論した結果、jumpu UI のコンポーネントとしては実装しないことになりました。ただ、Headless UI 等のフレームワークに依存するまでもなく、ツクロアのボイラープレートでもJSXが利用可能になることなど、当時と状況が変わってきているため、このコンポーネントは試験的に Jumpu UI として実装を試みています。

+

このモーダルダイアログの背景はクールです。(MDNのサイト参照

+
+
+ + + +::: + +```html + + +
+

このモーダルダイアログの背景はクールです

+
+
+ + +``` diff --git a/packages/tailwindcss/src/components/modal-dialog.css b/packages/tailwindcss/src/components/modal-dialog.css new file mode 100644 index 00000000..1cbd90b2 --- /dev/null +++ b/packages/tailwindcss/src/components/modal-dialog.css @@ -0,0 +1,38 @@ +.jumpu-modal-dialog { + opacity: 0; + transform: scale(0.95); + transition: + opacity 0.4s ease-out, + transform 0.4s ease-out, + overlay 0.4s ease-out allow-discrete, + display 0.4s ease-out allow-discrete; +} + +@starting-style { + .jumpu-modal-dialog[open] { + opacity: 0; + transform: scaleY(0); + } +} + +.jumpu-modal-dialog[open] { + opacity: 1; + transform: scale(1); +} + +.jumpu-modal-dialog::backdrop { + transition: + display 0.4s allow-discrete, + overlay 0.4s allow-discrete, + background-color 0.4s; +} + +.jumpu-modal-dialog[open]::backdrop { + background-color: --alpha(var(--color-gray-950) / 25%); +} + +@starting-style { + .jumpu-modal-dialog[open]::backdrop { + background-color: --alpha(var(--color-gray-950) / 0%); + } +} diff --git a/packages/tailwindcss/src/style.css b/packages/tailwindcss/src/style.css index b43b2e4a..afb9bbab 100644 --- a/packages/tailwindcss/src/style.css +++ b/packages/tailwindcss/src/style.css @@ -11,6 +11,7 @@ @import "./components/filled-tag.css" layer(components); @import "./components/icon-button.css" layer(components); @import "./components/input.css" layer(components); +@import "./components/modal-dialog.css" layer(components); @import "./components/outlined-button.css" layer(components); @import "./components/select.css" layer(components); @import "./components/spinner.css" layer(components);