@@ -62,72 +62,72 @@ const selectedIndex = computed(() => tabIndex.value)
62
62
<div class =" relative" >
63
63
<div class =" w-9 rounded-lg" :class =" { 'bg-blue-600': 0 === selectedIndex, 'bg-slate-500': 0 !== selectedIndex }" >
64
64
<svg aria-hidden =" true" class =" h-9 w-9" fill =" none" >
65
- {{ features[0].icon }}
65
+ {{ features?. [0]? .icon }}
66
66
</svg >
67
67
</div >
68
68
<h3 class =" mt-6 text-sm font-medium" :class =" { 'text-blue-600': 0 === selectedIndex, 'text-slate-600': 0 !== selectedIndex }" >
69
- <Tab >{{ features[0].name }}</Tab >
69
+ <Tab >{{ features?. [0]? .name }}</Tab >
70
70
</h3 >
71
71
<p class =" mt-2 font-display text-xl text-slate-900" >
72
- {{ features[0].summary }}
72
+ {{ features?. [0]? .summary }}
73
73
</p >
74
74
<p class =" mt-4 text-sm text-slate-600" >
75
- {{ features[0].description }}
75
+ {{ features?. [0]? .description }}
76
76
</p >
77
77
</div >
78
78
79
79
<div class =" relative" >
80
80
<div class =" w-9 rounded-lg" :class =" { 'bg-blue-600': 1 === selectedIndex, 'bg-slate-500': 1 !== selectedIndex }" >
81
81
<svg aria-hidden =" true" class =" h-9 w-9" fill =" none" >
82
- {{ features[1].icon }}
82
+ {{ features?. [1]? .icon }}
83
83
</svg >
84
84
</div >
85
85
<h3 class =" mt-6 text-sm font-medium" :class =" { 'text-blue-600': 1 === selectedIndex, 'text-slate-600': 1 !== selectedIndex }" >
86
- <Tab >{{ features[1].name }}</Tab >
86
+ <Tab >{{ features?. [1]? .name }}</Tab >
87
87
</h3 >
88
88
<p class =" mt-2 font-display text-xl text-slate-900" >
89
- {{ features[1].summary }}
89
+ {{ features?. [1]? .summary }}
90
90
</p >
91
91
<p class =" mt-4 text-sm text-slate-600" >
92
- {{ features[1].description }}
92
+ {{ features?. [1]? .description }}
93
93
</p >
94
94
</div >
95
95
96
96
<div class =" relative" >
97
97
<div class =" w-9 rounded-lg" :class =" { 'bg-blue-600': 2 === selectedIndex, 'bg-slate-500': 2 !== selectedIndex }" >
98
98
<svg aria-hidden =" true" class =" h-9 w-9" fill =" none" >
99
- {{ features[2].icon }}
99
+ {{ features?. [2]? .icon }}
100
100
</svg >
101
101
</div >
102
102
<h3 class =" mt-6 text-sm font-medium" :class =" { 'text-blue-600': 2 === selectedIndex, 'text-slate-600': 2 !== selectedIndex }" >
103
- <Tab >{{ features[2].name }}</Tab >
103
+ <Tab >{{ features?. [2]? .name }}</Tab >
104
104
</h3 >
105
105
<p class =" mt-2 font-display text-xl text-slate-900" >
106
- {{ features[2].summary }}
106
+ {{ features?. [2]? .summary }}
107
107
</p >
108
108
<p class =" mt-4 text-sm text-slate-600" >
109
- {{ features[2].description }}
109
+ {{ features?. [2]? .description }}
110
110
</p >
111
111
</div >
112
112
</TabList >
113
113
114
114
<TabPanels class =" relative mt-20 overflow-hidden rounded-4xl bg-slate-200 px-14 py-16 xl:px-16" >
115
115
<div class =" -mx-5 flex" >
116
- <TabPanel :key =" features[0].summary" class =" px-5 transition duration-500 ease-in-out ui-not-focus-visible:outline-none" :class =" { 'opacity-60': 0 !== selectedIndex }" :style =" { transform: `translateX(-${selectedIndex * 100}%)` }" :aria-hidden =" 0 !== selectedIndex" >
116
+ <TabPanel :key =" features?. [0]? .summary" class =" px-5 transition duration-500 ease-in-out ui-not-focus-visible:outline-none" :class =" { 'opacity-60': 0 !== selectedIndex }" :style =" { transform: `translateX(-${selectedIndex * 100}%)` }" :aria-hidden =" 0 !== selectedIndex" >
117
117
<div class =" w-[52.75rem] overflow-hidden rounded-xl bg-white shadow-lg shadow-slate-900/5 ring-1 ring-slate-500/10" >
118
- <img class =" w-full" :src =" features[0].image" alt =" " sizes =" 52.75rem" >
118
+ <img class =" w-full" :src =" features?. [0]? .image" alt =" " sizes =" 52.75rem" >
119
119
</div >
120
120
</TabPanel >
121
121
122
- <TabPanel :key =" features[1].summary" class =" px-5 transition duration-500 ease-in-out ui-not-focus-visible:outline-none" :class =" { 'opacity-60': 1 !== selectedIndex }" :style =" { transform: `translateX(-${selectedIndex * 100}%)` }" :aria-hidden =" 1 !== selectedIndex" >
122
+ <TabPanel :key =" features?. [1]? .summary" class =" px-5 transition duration-500 ease-in-out ui-not-focus-visible:outline-none" :class =" { 'opacity-60': 1 !== selectedIndex }" :style =" { transform: `translateX(-${selectedIndex * 100}%)` }" :aria-hidden =" 1 !== selectedIndex" >
123
123
<div class =" w-[52.75rem] overflow-hidden rounded-xl bg-white shadow-lg shadow-slate-900/5 ring-1 ring-slate-500/10" >
124
- <img class =" w-full" :src =" features[1].image" alt =" " sizes =" 52.75rem" >
124
+ <img class =" w-full" :src =" features?. [1]? .image" alt =" " sizes =" 52.75rem" >
125
125
</div >
126
126
</TabPanel >
127
127
128
- <TabPanel :key =" features[2].summary" class =" px-5 transition duration-500 ease-in-out ui-not-focus-visible:outline-none" :class =" { 'opacity-60': 2 !== selectedIndex }" :style =" { transform: `translateX(-${selectedIndex * 100}%)` }" :aria-hidden =" 2 !== selectedIndex" >
128
+ <TabPanel :key =" features?. [2]? .summary" class =" px-5 transition duration-500 ease-in-out ui-not-focus-visible:outline-none" :class =" { 'opacity-60': 2 !== selectedIndex }" :style =" { transform: `translateX(-${selectedIndex * 100}%)` }" :aria-hidden =" 2 !== selectedIndex" >
129
129
<div class =" w-[52.75rem] overflow-hidden rounded-xl bg-white shadow-lg shadow-slate-900/5 ring-1 ring-slate-500/10" >
130
- <img class =" w-full" :src =" features[2].image" alt =" " sizes =" 52.75rem" >
130
+ <img class =" w-full" :src =" features?. [2]? .image" alt =" " sizes =" 52.75rem" >
131
131
</div >
132
132
</TabPanel >
133
133
</div >
0 commit comments