From f38b9203056ba30314e7cc7139333061451408e7 Mon Sep 17 00:00:00 2001 From: Benjamin Canac Date: Mon, 14 Mar 2022 16:55:16 +0100 Subject: [PATCH] chore(Modal): add preset system --- docs/pages/migration.vue | 1 + src/module.ts | 8 ++++ src/runtime/components/layout/Card.vue | 11 +++++- src/runtime/components/overlays/Modal.vue | 46 +++++++++++++++++++++-- src/runtime/presets/default.ts | 12 ++++++ 5 files changed, 73 insertions(+), 5 deletions(-) diff --git a/docs/pages/migration.vue b/docs/pages/migration.vue index 34d00154..42e5b003 100644 --- a/docs/pages/migration.vue +++ b/docs/pages/migration.vue @@ -213,6 +213,7 @@ const components = [ label: 'Modal', to: '/components/Modal', nuxt3: true, + preset: true, capi: true }, { diff --git a/src/module.ts b/src/module.ts index 39226bd1..b12babb5 100644 --- a/src/module.ts +++ b/src/module.ts @@ -107,6 +107,14 @@ export default defineNuxtModule({ { pattern: new RegExp(`ring-(${safeColorsAsRegex})-(500)`), variants: ['focus'] + }, + { + pattern: /rounded-(sm|md|lg|xl|2xl|3xl)/, + variants: ['sm'] + }, + { + pattern: /max-w-(xs|sm|md|lg|xl|2xl|3xl|4xl|5xl|6xl|7xl)/, + variants: ['sm'] } ] }, diff --git a/src/runtime/components/layout/Card.vue b/src/runtime/components/layout/Card.vue index 140c0a3f..b5f7a1c6 100644 --- a/src/runtime/components/layout/Card.vue +++ b/src/runtime/components/layout/Card.vue @@ -57,6 +57,13 @@ export default { type: String, default: () => $ui.card.ring }, + roundedClass: { + type: String, + default: () => $ui.card.rounded, + validator (value) { + return ['sm', 'md', 'lg', 'xl', '2xl', '3xl'].map(size => `rounded-${size}`).includes(value) + } + }, bodyClass: { type: String, default: () => $ui.card.body @@ -90,8 +97,8 @@ export default { const cardClass = computed(() => { return classNames( props.baseClass, - props.padded && props.rounded && 'rounded-md', - !props.padded && props.rounded && 'sm:rounded-md', + props.padded && props.rounded && props.roundedClass, + !props.padded && props.rounded && `sm:${props.roundedClass}`, props.ringClass, props.shadowClass, props.backgroundClass, diff --git a/src/runtime/components/overlays/Modal.vue b/src/runtime/components/overlays/Modal.vue index 5d70b100..db256075 100644 --- a/src/runtime/components/overlays/Modal.vue +++ b/src/runtime/components/overlays/Modal.vue @@ -30,9 +30,14 @@ leave-to="opacity-0 translate-y-4 sm:translate-y-0 sm:scale-95" >