@codecavepro/brand 2.7.3 → 2.7.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -21,7 +21,7 @@ const variantClass = computed(() => {
21
21
  case 'tertiary':
22
22
  return `${buttonBaseClass} px-6 py-1 border border-primary-500 hover:border-hovered`
23
23
  case 'icon':
24
- return `${buttonBaseClass} p-5 border border-primary-500 hover:border-primary-700`
24
+ return `${buttonBaseClass} p-5 border border-primary-500 hover:border-hovered`
25
25
  case 'ghost':
26
26
  return `${linkBaseClass} text-body-primary hover:text-primary-200 active:text-primary-200 font-bold px-6 py-2`
27
27
  case 'text':
@@ -25,7 +25,7 @@ defineEmits(['update:modelValue'])
25
25
  <input :id="id" :type="type" :autocomplete="autocomplete" :placeholder="placeholder" :required="isRequired" :value="modelValue" @input="$emit('update:modelValue', ($event.target as HTMLInputElement).value)"
26
26
  :class="`
27
27
  w-full p-3 pt-7 bg-surface-secondary rounded-lg placeholder:text-xs placeholder:text-body-secondary
28
- focus:outline-none transition-colors
28
+ focus:outline-none transition-colors border border-surface-tertiary
29
29
  hover:bg-surface-tertiary
30
30
  ${isError ? 'text-error input-error focus:text-error' : 'text-hovered focus:text-hovered'}
31
31
  `" />
@@ -18,7 +18,7 @@ const labelClass = computed(() => {
18
18
  case 'secondary':
19
19
  return `${baseLabelClass} gap-3 p-3 pr-4 bg-surface-primary-transparent rounded-custom border-2 border-surface-quaternary group-hover:bg-surface-tertiary`
20
20
  default:
21
- return `${baseLabelClass} gap-2 py-2 px-3 bg-surface-secondary rounded-lg`
21
+ return `${baseLabelClass} gap-2 py-2 px-3 bg-surface-secondary rounded-lg border border-surface-tertiary`
22
22
  }
23
23
  })
24
24
 
@@ -25,7 +25,7 @@ const imageUrl = (url: string) => props.resolveImage?.(url) ?? url
25
25
  </script>
26
26
 
27
27
  <template>
28
- <div :class="`mx-1 lg:mx-2 testimonial rounded-custom space-y-2 lg:space-y-3 py-10 px-6 lg:px-11 ${className}`">
28
+ <div :class="`mx-1 lg:mx-2 testimonial space-y-2 lg:space-y-3 py-10 px-6 lg:px-11 ${className}`">
29
29
  <div class="flex flex-col lg:flex-row gap-5 lg:items-center">
30
30
  <LazyImage v-if="item.photo.name !== 'no-image.svg'"
31
31
  class="w-12 lg:w-16 h-12 lg:h-16" :src="imageUrl(item.photo.url)"
@@ -55,10 +55,4 @@ const imageUrl = (url: string) => props.resolveImage?.(url) ?? url
55
55
  <span>{{ item.verification }}</span>
56
56
  </div>
57
57
  </div>
58
- </template>
59
-
60
- <style scoped>
61
- .testimonial {
62
- backdrop-filter: blur(32px);
63
- }
64
- </style>
58
+ </template>
@@ -24,7 +24,7 @@ defineEmits(['update:modelValue'])
24
24
 
25
25
  <template>
26
26
  <div class="w-full relative">
27
- <div :class="`focus-area flex flex-col min-h-[7.5rem] p-3 rounded-lg bg-surface-secondary hover:bg-surface-tertiary transition-colors text-heading
27
+ <div :class="`focus-area flex flex-col min-h-[7.5rem] p-3 rounded-lg bg-surface-secondary border border-surface-tertiary hover:bg-surface-tertiary transition-colors text-heading
28
28
  ${isError ? 'input-error' : ''}`">
29
29
  <label :for="id" class="font-bold text-sm select-none">
30
30
  {{ label }}
@@ -75,9 +75,9 @@ const handleCloseMenu = () => {
75
75
 
76
76
  <template>
77
77
  <div>
78
- <div :class="`fixed z-50 top-0 w-full bg-surface-primary-transparent backdrop-blur-3xl border-b border-surface-quaternary`">
79
- <div :class="`h-full px-5 ${isMenuOpen ? 'pb-5' : 'pb-0'} flex flex-col gap-2 transition-all`">
80
- <div class="flex justify-between items-center py-1.5">
78
+ <div class="fixed z-50 top-0 w-full bg-surface-primary-transparent backdrop-blur-3xl border-b border-surface-quaternary">
79
+ <div :class="`px-5 ${isMenuOpen ? 'pb-5' : 'pb-0'} flex flex-col gap-2 transition-all max-h-screen`">
80
+ <div class="flex justify-between items-center py-1.5 shrink-0">
81
81
  <a :href="homeHref" class="px-1.5 hover:opacity-80 transition-opacity">
82
82
  <img :src="logo" alt="CODECAVE" />
83
83
  </a>
@@ -85,25 +85,28 @@ const handleCloseMenu = () => {
85
85
  <span></span>
86
86
  </button>
87
87
  </div>
88
- <nav v-if="isMenuOpen" class="h-full text-sm flex-1 overflow-y-auto min-h-0">
89
- <div v-if="isServicesOpen">
90
- <h2 class="text-center font-bold text-body-primary py-2.5">
88
+ <nav v-if="isMenuOpen" class="flex-1 min-h-0 overflow-y-auto text-sm">
89
+ <div v-if="isServicesOpen" class="h-full flex flex-col min-h-0">
90
+ <h2 class="text-center font-bold text-body-primary py-2.5 shrink-0">
91
91
  {{ servicesItem?.submenuTitle }}
92
92
  </h2>
93
- <slot name="services" />
94
- <button class="pt-4" @click="isServicesOpen = false">
95
- <component class="w-11 h-11 text-action" :is="BackIcon" />
93
+ <div class="flex-1 min-h-0 overflow-y-auto">
94
+ <slot name="services" />
95
+ </div>
96
+
97
+ <button class="pt-4 shrink-0" @click="isServicesOpen = false">
98
+ <component :is="BackIcon" class="w-11 h-11 text-action" />
96
99
  </button>
97
100
  </div>
98
- <ul v-else class="h-full flex flex-col items-center gap-3 justify-around px-4 pt-2">
101
+ <ul v-else class="flex flex-col items-center gap-3 px-4 pt-2 overflow-y-auto">
99
102
  <li v-for="(item, index) in items" :key="index">
100
103
  <div v-if="item.submenu?.length">
101
- <Button :title="item.name" variant="ghost" @click="isServicesOpen = true" class="transition-transform duration-150 pr-1">
102
- <Shevron class="rotate-270 ml-1" />
104
+ <Button :title="item.name" variant="ghost" class="pr-1 transition-transform duration-150" @click="isServicesOpen = true">
105
+ <Shevron class="ml-1 rotate-270" />
103
106
  </Button>
104
107
  </div>
105
108
  <Button v-else-if="item.emphasis" as="link" :href="item.link" :title="item.mobileTitle ?? item.name" variant="tertiary" @click="handleCloseMenu" />
106
- <Button v-else as="link" variant="ghost" :title="item.mobileTitle ?? item.name" :href="item.link" />
109
+ <Button v-else as="link" variant="ghost" :title="item.mobileTitle ?? item.name" :href="item.link" @click="handleCloseMenu" />
107
110
  </li>
108
111
  </ul>
109
112
  </nav>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@codecavepro/brand",
3
- "version": "2.7.3",
3
+ "version": "2.7.5",
4
4
  "description": "CODECAVE design system — colour, typography and layout tokens as CSS custom properties and as a typed module.",
5
5
  "license": "Unlicense",
6
6
  "type": "module",