@timus-networks/theme 1.0.21 → 1.0.24

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.
Files changed (46) hide show
  1. package/components-js/ThemeAlert.vue +76 -0
  2. package/components-js/ThemeAvatar.vue +55 -0
  3. package/components-js/ThemeBadge.vue +86 -0
  4. package/components-js/ThemeButtons.vue +2 -2
  5. package/components-js/ThemeCascader.vue +337 -0
  6. package/components-js/ThemeCheckbox.d.ts +2 -0
  7. package/components-js/ThemeCheckbox.vue +143 -0
  8. package/components-js/ThemeForm.vue +50 -182
  9. package/components-js/ThemeInputs.vue +0 -51
  10. package/components-js/ThemeLink.vue +91 -0
  11. package/components-js/ThemeLogo.vue +57 -0
  12. package/components-js/ThemeRadio.d.ts +2 -0
  13. package/components-js/ThemeRadio.vue +124 -0
  14. package/components-js/ThemeSelect.vue +232 -0
  15. package/components-js/ThemeTable.vue +245 -0
  16. package/components-js/ThemeTag.vue +142 -0
  17. package/components-js/ThemeTimePicker.vue +376 -43
  18. package/components-js/ThemeToggle.vue +122 -0
  19. package/components-js/ThemeTooltip.vue +189 -0
  20. package/components-js/TimusSamples.vue +33 -20
  21. package/components-js/exporter.js +5 -5
  22. package/components-ts/ThemeAlert.vue +76 -0
  23. package/components-ts/ThemeAvatar.vue +55 -0
  24. package/components-ts/ThemeBadge.vue +86 -0
  25. package/components-ts/ThemeButtons.vue +2 -2
  26. package/components-ts/ThemeCascader.vue +337 -0
  27. package/components-ts/ThemeCheckbox.vue +146 -0
  28. package/components-ts/ThemeForm.vue +50 -183
  29. package/components-ts/ThemeInputs.vue +0 -51
  30. package/components-ts/ThemeLink.vue +91 -0
  31. package/components-ts/ThemeLogo.vue +57 -0
  32. package/components-ts/ThemeRadio.vue +127 -0
  33. package/components-ts/ThemeSelect.vue +232 -0
  34. package/components-ts/ThemeTable.vue +245 -0
  35. package/components-ts/ThemeTag.vue +142 -0
  36. package/components-ts/ThemeTimePicker.vue +376 -43
  37. package/components-ts/ThemeToggle.vue +122 -0
  38. package/components-ts/ThemeTooltip.vue +189 -0
  39. package/components-ts/TimusSamples.vue +33 -20
  40. package/components-ts/exporter.js +5 -5
  41. package/index.d.ts +3 -1
  42. package/logo/timus-icon.svg +17 -0
  43. package/logo/timus-logo.svg +22 -0
  44. package/module.js +6 -2
  45. package/output/main.css +1 -1
  46. package/package.json +40 -40
@@ -1,153 +1,56 @@
1
1
  <template>
2
- <div>
3
- <section>
4
- <h1>Checkbox</h1>
5
- <p class="p-lg my-6">
6
- Tarih aralığı seçici, kullanıcının bir başlangıç ve bitiş tarihi seçmesine olanak tanır, bu da planlama ve raporlama işlemleri için idealdir.
7
- </p>
8
- <el-checkbox-group v-model="checkList" class="mb-6">
9
- <el-checkbox label="Option A"></el-checkbox>
10
- <el-checkbox label="Option B"></el-checkbox>
11
- <el-checkbox label="Option C"></el-checkbox>
12
- <el-checkbox label="disabled" disabled></el-checkbox>
13
- <el-checkbox label="selected and disabled" disabled></el-checkbox>
14
- </el-checkbox-group>
2
+ <div class="pt-8 pb-16 flex gap-12 flex-col">
3
+ <h1>Form</h1>
15
4
 
16
- <el-checkbox-group v-model="checkboxGroup1">
17
- <el-checkbox-button v-for="city in cities" :label="city" :key="city">{{ city }}</el-checkbox-button>
18
- </el-checkbox-group>
19
-
20
- <el-checkbox-group v-model="checkboxGroup1" size="mini" disabled>
21
- <el-checkbox-button v-for="city in cities" :label="city" :key="city">{{ city }}</el-checkbox-button>
22
- </el-checkbox-group>
23
-
24
- <el-checkbox-group v-model="checkboxGroup1" size="small">
25
- <el-checkbox label="Option1" border></el-checkbox>
26
- <el-checkbox label="Option2" border disabled></el-checkbox>
27
- </el-checkbox-group>
28
-
29
- <div class="my-4 p-4 border-l-4 border-info-600 bg-info-100">
5
+ <section class="flex gap-8 flex-col">
6
+ <h2>Etiket Konumu: {{ labelPosition }}</h2>
7
+ <el-radio-group v-model="labelPosition" size="small">
8
+ <el-radio-button label="left">Sol</el-radio-button>
9
+ <el-radio-button label="right">Sağ</el-radio-button>
10
+ <el-radio-button label="top">Üst</el-radio-button>
11
+ </el-radio-group>
12
+ <p class="p-lg-c">Form elemanlarının etiketlerinin konumunu belirlemek için kullanılır. Etiketler sol, sağ veya üst tarafında olabilir.</p>
13
+ <div class="p-4 border-l-4 border-info-600 bg-info-100">
30
14
  <p class="text-xs">
31
- <code
32
- >&lt;el-date-picker v-model="input" type="daterange" align="left" start-placeholder="Start" end-placeholder="End"
33
- default-value=""&gt;&lt;/el-date-picker&gt;</code
34
- >
15
+ <code>
16
+ &lt;el-form :model="sizeForm" label-width="120px" label-position="{{ labelPosition }}">&lt;el-form-item label="Title">&lt;el-input
17
+ v-model="form.name">&lt;/el-input>&lt;/el-form-item>&lt;/el-form>
18
+ </code>
35
19
  </p>
36
20
  </div>
37
- </section>
38
-
39
- <el-time-select
40
- v-model="time"
41
- :picker-options="{
42
- start: '08:30',
43
- step: '00:15',
44
- end: '18:30',
45
- }"
46
- placeholder="Select time"
47
- >
48
- </el-time-select>
49
- <el-time-picker
50
- v-model="time"
51
- :picker-options="{
52
- selectableRange: '18:30:00 - 20:30:00',
53
- }"
54
- placeholder="Arbitrary time"
55
- >
56
- </el-time-picker>
57
- <el-time-picker
58
- arrow-control
59
- v-model="time"
60
- :picker-options="{
61
- selectableRange: '18:30:00 - 20:30:00',
62
- }"
63
- placeholder="Arbitrary time"
64
- >
65
- </el-time-picker>
66
- <el-form ref="form" :model="sizeForm" label-width="120px" size="mini">
67
- <el-form-item label="Activity name bazen uzun olabilir">
68
- <el-input v-model="sizeForm.name"></el-input>
69
- </el-form-item>
70
- <el-form-item label="Activity zone">
71
- <el-select v-model="sizeForm.region" placeholder="please select your zone">
72
- <el-option label="Zone one" value="shanghai"></el-option>
73
- <el-option label="Zone two" value="beijing"></el-option>
74
- </el-select>
75
- </el-form-item>
76
- <el-form-item label="Activity time">
77
- <el-col :span="11">
78
- <el-date-picker type="date" placeholder="Pick a date" v-model="sizeForm.date1" style="width: 100%"></el-date-picker>
79
- </el-col>
80
- <el-col class="line" :span="2">-</el-col>
81
- <el-col :span="11">
82
- <el-time-picker placeholder="Pick a time" v-model="sizeForm.date2" style="width: 100%"></el-time-picker>
83
- </el-col>
84
- </el-form-item>
85
- <el-form-item label="Activity type">
86
- <el-checkbox-group v-model="sizeForm.type">
87
- <el-checkbox-button label="Online activities" name="type"></el-checkbox-button>
88
- <el-checkbox-button label="Promotion activities" name="type"></el-checkbox-button>
89
- </el-checkbox-group>
90
- </el-form-item>
91
- <el-form-item label="Resources">
92
- <el-radio-group v-model="sizeForm.resource" size="medium">
93
- <el-radio border label="Sponsor"></el-radio>
94
- <el-radio border label="Venue"></el-radio>
95
- </el-radio-group>
96
- </el-form-item>
97
- <el-form-item size="large">
98
- <el-button type="primary" @click="onSubmit">Create</el-button>
99
- <el-button>Cancel</el-button>
100
- </el-form-item>
101
- </el-form>
102
- <el-form
103
- data-testid="pages-login-gczfftvrml"
104
- :rules="rules"
105
- ref="form"
106
- :model="form"
107
- label-position="left"
108
- label-width="120px"
109
- @submit.native.prevent="submit"
110
- >
111
- <el-form-item data-testid="pages-login-irbdfwxfbt" :label="$t('login.email')" prop="email">
112
- <el-input v-model="form.email" :disabled="loading ? 'disabled' : false" data-testid="login-email-input"></el-input>
113
- </el-form-item>
114
- <el-form-item data-testid="pages-login-brtpgzfwqb" :label="$t('login.password')" prop="password">
115
- <el-input
116
- data-testid="pages-login-niigwirnsa"
117
- type="password"
118
- autocomplete="off"
119
- v-model="form.password"
120
- :disabled="loading ? 'disabled' : false"
121
- show-password
122
- ></el-input>
123
- </el-form-item>
124
- <el-row data-testid="pages-login-leusdzih">
125
- <el-col data-testid="pages-login-wakdcwpdgr" :span="12">
126
- <el-checkbox v-model="form.remember" data-testid="login-remember-me-checkbox">{{ $t('login.remember_me') }}</el-checkbox>
127
- </el-col>
128
- <el-col data-testid="pages-login-lngmwepdom" :span="12">
129
- <nuxt-link to="/forgot-password" data-testid="login-forgot-password">{{ $t('login.forgot_password') }}</nuxt-link>
130
- </el-col>
131
- </el-row>
132
- <div data-testid="pages-login-labwsipjet" style="margin-top: 10px; color: grey; font-size: 12px; text-align: left">
133
- {{ $t('register.by_register_text') }}
134
- <b class="agreement_text" @click="showAgreementDialog('privacy_policy')" data-testid="register-terms-of-use">{{
135
- $t('register.privacy_policy')
136
- }}</b>
137
- {{ $t('messages.and') }}
138
- <b class="agreement_text" @click="showAgreementDialog('terms_of_use')" data-testid="register-terms-of-use">{{
139
- $config.TP === 'berqnet' ? $t('register.terms_of_use') : $t('register.terms_of_service')
140
- }}</b>
141
- {{ $t('register.by_register_text2') }}
21
+ <div class="grid grid-flow-col auto-cols-max gap-4">
22
+ <el-form ref="form" :model="form" label-width="130px" class="gap-4 flex flex-col" :label-position="labelPosition">
23
+ <el-form-item label="Aktivite Adı">
24
+ <el-input v-model="form.name"></el-input>
25
+ </el-form-item>
26
+ <el-form-item label="Aktivite Bölgesi">
27
+ <el-select v-model="form.region" placeholder="Lütfen bölgenizi seçin" class="w-full">
28
+ <el-option label="Bölge Bir" value="shanghai"></el-option>
29
+ <el-option label="Bölge İki" value="beijing"></el-option>
30
+ </el-select>
31
+ </el-form-item>
32
+ <el-form-item label="Aktivite Zamanı">
33
+ <el-col :span="11">
34
+ <el-date-picker type="date" placeholder="Tarih seçin" v-model="form.date1" style="width: 100%"></el-date-picker>
35
+ </el-col>
36
+ <el-col class="text-center" :span="1">-</el-col>
37
+ <el-col :span="12">
38
+ <el-time-picker placeholder="Saat seçin" v-model="form.date2" style="width: 100%"></el-time-picker>
39
+ </el-col>
40
+ </el-form-item>
41
+ <el-form-item label="Kaynaklar">
42
+ <el-radio-group v-model="form.resource" size="medium" class="flex gap-4">
43
+ <el-radio label="Sponsor"></el-radio>
44
+ <el-radio label="Mekan"></el-radio>
45
+ </el-radio-group>
46
+ </el-form-item>
47
+ <el-form-item>
48
+ <el-button class="outline">İptal Et</el-button>
49
+ <el-button type="primary" @click="onSubmit">Oluştur</el-button>
50
+ </el-form-item>
51
+ </el-form>
142
52
  </div>
143
- <el-form-item data-testid="pages-login-lunbdhbztj">
144
- <el-button type="danger" native-type="submit" :loading="loading" data-testid="login-continue">{{ $t('login.continue') }}</el-button>
145
- <br />
146
- <el-button @click="$router.push('/register')" type="primary" data-testid="login-create-account" :loading="loading">{{
147
- $t('login.register')
148
- }}</el-button>
149
- </el-form-item>
150
- </el-form>
53
+ </section>
151
54
  </div>
152
55
  </template>
153
56
  <script lang="ts">
@@ -157,11 +60,8 @@ const cityOptions = ['Shanghai', 'Beijing', 'Guangzhou', 'Shenzhen'];
157
60
  export default Vue.extend({
158
61
  data() {
159
62
  return {
160
- checkboxGroup1: ['Shanghai'],
161
- cities: cityOptions,
162
- checkList: ['selected and disabled', 'Option A'],
163
- time: '',
164
- sizeForm: {
63
+ labelPosition: 'right',
64
+ form: {
165
65
  name: '',
166
66
  region: '',
167
67
  date1: '',
@@ -169,37 +69,6 @@ export default Vue.extend({
169
69
  delivery: false,
170
70
  type: [],
171
71
  resource: '',
172
- desc: '',
173
- },
174
- loading: false,
175
-
176
- form: {
177
- email: '',
178
- password: '',
179
- remember: false,
180
- token: null,
181
- correlation_id: null,
182
- action: null,
183
- platform: 'manager',
184
- version: '1.0.10',
185
- },
186
- rules: {
187
- email: [
188
- {
189
- validator: 'validateEmail',
190
- trigger: 'submit',
191
- message: this.$t('messages.please_provide_valid_email'),
192
- },
193
- ],
194
- password: [
195
- {
196
- required: true,
197
- trigger: 'submit',
198
- message: this.$t('messages.please_fill', {
199
- field: this.$t('login.password'),
200
- }),
201
- },
202
- ],
203
72
  },
204
73
  };
205
74
  },
@@ -207,9 +76,7 @@ export default Vue.extend({
207
76
  showAgreementDialog(type: string) {
208
77
  console.log('agreement: ', type);
209
78
  },
210
- submit() {
211
- this.$emit('submit', this.form);
212
- },
79
+ submit() {},
213
80
  onSubmit() {
214
81
  console.log('submit!');
215
82
  },
@@ -1,56 +1,5 @@
1
1
  <template>
2
2
  <div class="pt-8 pb-16 flex gap-12 flex-col">
3
- <section>
4
- <h1>Date Range Picker</h1>
5
- <p class="p-lg my-6">
6
- Tarih aralığı seçici, kullanıcının bir başlangıç ve bitiş tarihi seçmesine olanak tanır, bu da planlama ve raporlama işlemleri için idealdir.
7
- </p>
8
- <el-date-picker
9
- v-model="input"
10
- type="daterange"
11
- align="right"
12
- start-placeholder="Start Date"
13
- end-placeholder="End Date"
14
- default-value="2010-10-01"
15
- class="danger"
16
- >
17
- </el-date-picker>
18
- <div class="my-4 p-4 border-l-4 border-info-600 bg-info-100">
19
- <p class="text-xs">
20
- <code
21
- >&lt;el-date-picker v-model="input" type="daterange" align="left" start-placeholder="Start" end-placeholder="End"
22
- default-value=""&gt;&lt;/el-date-picker&gt;</code
23
- >
24
- </p>
25
- </div>
26
- </section>
27
-
28
- <section>
29
- <h1>Time Select</h1>
30
- <p class="p-lg my-6">
31
- Zaman seçici, kullanıcının belirli bir zaman aralığından bir zaman dilimi seçmesine imkan tanır. Bu, randevu veya rezervasyon gibi zaman
32
- belirli işlemler için kullanışlıdır.
33
- </p>
34
- <el-time-select
35
- v-model="input"
36
- :picker-options="{
37
- start: '08:30',
38
- step: '00:15',
39
- end: '18:30',
40
- }"
41
- placeholder="Select time"
42
- ></el-time-select>
43
- <div class="my-4 p-4 border-l-4 border-info-600 bg-info-100">
44
- <p class="text-xs">
45
- Zaman seçimi için:
46
- <code
47
- >&lt;el-time-select v-model="input" :picker-options="{ start: '08:30', step: '00:15', end: '18:30' }" placeholder="Select
48
- time"&gt;&lt;/el-time-select&gt;</code
49
- >
50
- </p>
51
- </div>
52
- </section>
53
-
54
3
  <section>
55
4
  <h1>Basic</h1>
56
5
  <p class="p-lg my-6">Standart metin girişi için temel <code>el-input</code> bileşenini kullanabilirsiniz.</p>
@@ -0,0 +1,91 @@
1
+ <template>
2
+ <div class="pt-8 pb-16 flex gap-12 flex-col">
3
+ <section>
4
+ <h1>Link</h1>
5
+ <p class="p-lg my-6">
6
+ `el-link` bileşeni, sayfadaki metni veya bağlantıyı temsil eder ve stil ve davranışlarını özelleştirmenize olanak tanır.
7
+ </p>
8
+ <div class="grid grid-flow-col auto-cols-max gap-4">
9
+ <el-link href="https://element.eleme.io" target="_blank">default</el-link>
10
+ <el-link :type="item" v-for="(item, index) in colors" :key="index">{{ item }}</el-link>
11
+ </div>
12
+ <div class="my-4 p-4 border-l-4 border-blue-600 bg-blue-100">
13
+ <p class="text-xs">
14
+ <code>&lt;el-link type="primary"&gt;Bağlantı&lt;/el-link&gt;</code>
15
+ </p>
16
+ </div>
17
+ </section>
18
+
19
+ <section>
20
+ <h1>Nuxt Link ile Kullanım</h1>
21
+ <p class="p-lg my-6">El Link bileşenini Nuxt Link ile kullanabilirsiniz. Bu, Nuxt.js projelerinde sayfa geçişlerini kolaylaştırır.</p>
22
+ <div class="grid grid-flow-col auto-cols-max gap-4">
23
+ <NuxtLink to="/" v-for="(item, index) in colors" :key="index">
24
+ <el-link :type="item">Router: {{ item }}</el-link>
25
+ </NuxtLink>
26
+ </div>
27
+ <div class="my-4 p-4 border-l-4 border-blue-600 bg-blue-100">
28
+ <p class="text-xs">
29
+ <code>&lt;NuxtLink to="/"&gt;&lt;el-link type="primary"&gt;Bağlantı&lt;/el-link&gt;&lt;/NuxtLink&gt;</code>
30
+ </p>
31
+ </div>
32
+ </section>
33
+
34
+ <section>
35
+ <h1>Devre Dışı Bırakılmış Durum</h1>
36
+ <p class="p-lg my-6">El Link bileşenini devre dışı bırakmak için <code>disabled</code> özelliğini kullanabilirsiniz.</p>
37
+ <div class="grid grid-flow-col auto-cols-max gap-4">
38
+ <el-link disabled>default</el-link>
39
+ <el-link :type="item" v-for="(item, index) in colors" :key="index" disabled>{{ item }}</el-link>
40
+ </div>
41
+ <div class="my-4 p-4 border-l-4 border-blue-600 bg-blue-100">
42
+ <p class="text-xs">
43
+ <code>&lt;el-link disabled&gt;Devre Dışı&lt;/el-link&gt;</code>
44
+ </p>
45
+ </div>
46
+ </section>
47
+
48
+ <section>
49
+ <h1>Alt Çizgi</h1>
50
+ <p class="p-lg my-6">
51
+ El Link bileşeninin alt çizgisini göstermek veya gizlemek için <code>:underline="false"</code> özelliğini kullanabilirsiniz.
52
+ </p>
53
+ <div class="grid grid-flow-col auto-cols-max gap-4">
54
+ <el-link type="primary" :underline="false">Alt Çizgi Yok</el-link>
55
+ <el-link type="primary">Alt Çizgiyle</el-link>
56
+ </div>
57
+ <div class="my-4 p-4 border-l-4 border-blue-600 bg-blue-100">
58
+ <p class="text-xs">
59
+ <code>&lt;el-link :underline="false"&gt;Alt Çizgi Yok&lt;/el-link&gt;</code>
60
+ </p>
61
+ </div>
62
+ </section>
63
+
64
+ <section>
65
+ <h1>İkon</h1>
66
+ <p class="p-lg my-6">El Link bileşeni, metin veya bağlantı ile birlikte ikonlar eklemenize olanak tanır.</p>
67
+ <div class="grid grid-flow-col auto-cols-max gap-4">
68
+ <el-link type="primary" icon="el-icon-edit">Düzenle</el-link>
69
+ <el-link type="primary">Onayla<i class="el-icon-view el-icon--right"></i> </el-link>
70
+ </div>
71
+ <div class="my-4 p-4 border-l-4 border-blue-600 bg-blue-100">
72
+ <p class="text-xs">
73
+ <code>&lt;el-link icon="el-icon-edit"&gt;Düzenle&lt;/el-link&gt;</code>
74
+ </p>
75
+ </div>
76
+ </section>
77
+ </div>
78
+ </template>
79
+
80
+ <script>
81
+ import Vue from 'vue';
82
+
83
+ export default Vue.extend({
84
+ name: 'TimusButtonSample',
85
+ data() {
86
+ return {
87
+ colors: ['primary', 'secondary', 'gray', 'info', 'success', 'warning', 'danger'],
88
+ };
89
+ },
90
+ });
91
+ </script>
@@ -0,0 +1,57 @@
1
+ <template>
2
+ <div class="pt-8 pb-16 flex gap-12 flex-col">
3
+ <section>
4
+ <h1>Sizes</h1>
5
+ <p class="p-md-c my-6">
6
+ Our logos are available in three sizes: small, medium, and large. To tailor your choice, use the size tags
7
+ <b>'small', 'medium', 'large'</b> to determine the appropriate size for your needs.
8
+ </p>
9
+ <div class="grid grid-flow-col auto-cols-max gap-6 items-center">
10
+ <div class="logo-icon-small"></div>
11
+ <div class="logo-icon-medium"></div>
12
+ <div class="logo-icon-large"></div>
13
+ <el-divider direction="vertical" content-position="center"></el-divider>
14
+ <div class="logo-small"></div>
15
+ <div class="logo-medium"></div>
16
+ <div class="logo-large"></div>
17
+ </div>
18
+ <div class="my-4 p-4 border-l-4 border-blue-600 bg-blue-100">
19
+ <p class="text-xs">
20
+ <code>&lt;div class="logo-medium"&gt;&lt;/div&gt;</code>
21
+ </p>
22
+ </div>
23
+ </section>
24
+
25
+ <section>
26
+ <h1>Types</h1>
27
+ <p class="p-md-c my-6">
28
+ There are two different types of logo usage available: <b>"icon"</b> or <b>"logo"</b>. When used as a <b>"logo"</b>, an additional
29
+ icon along with the word <b>"timus"</b> will be displayed.
30
+ </p>
31
+ <div class="grid grid-flow-col auto-cols-max gap-6 items-center">
32
+ <div class="logo-icon-small"></div>
33
+ <el-divider direction="vertical" content-position="center"></el-divider>
34
+ <div class="logo-small"></div>
35
+ </div>
36
+ <div class="my-4 p-4 border-l-4 border-blue-600 bg-blue-100">
37
+ <p class="text-xs">
38
+ <code>&lt;div class="logo-icon-medium"&gt;&lt;/div&gt; | &lt;div class="logo-medium"&gt;&lt;/div&gt;</code>
39
+ </p>
40
+ </div>
41
+ </section>
42
+ </div>
43
+ </template>
44
+
45
+ <script>
46
+ import Vue from 'vue';
47
+
48
+ export default Vue.extend({
49
+ name: 'TimusCascader',
50
+ data() {
51
+ return {
52
+ url: 'https://api.dicebear.com/7.x/adventurer-neutral/svg?seed=Princess',
53
+ sizeList: ['xlarge', 'large', 'medium', 'small', 'xsmall'],
54
+ };
55
+ },
56
+ });
57
+ </script>
@@ -0,0 +1,127 @@
1
+ <template>
2
+ <div class="pt-8 pb-16 flex gap-12 flex-col">
3
+ <h1>Radio</h1>
4
+
5
+ <section>
6
+ <h2>Temel Kullanım</h2>
7
+ <p class="p-lg-c my-6">El Radio, çok fazla seçeneğe sahip olmamalıdır. Aksi takdirde, Select bileşenini kullanmalısınız.</p>
8
+ <div class="grid grid-flow-col auto-cols-max gap-4">
9
+ <el-radio v-model="radio" :label="0">Seçenek A</el-radio>
10
+ <el-radio v-model="radio" :label="1">Seçenek B</el-radio>
11
+ <el-radio v-model="radio" :label="2" disabled>Seçenek C (Devre Dışı)</el-radio>
12
+ <el-radio :value="false" disabled>Seçili Olmayan ve Devre Dışı</el-radio>
13
+ </div>
14
+ <div class="my-4 p-4 border-l-4 border-info-600 bg-info-100">
15
+ <p class="text-xs">
16
+ Örnek Kullanım:
17
+ <code> &lt;el-radio :value="true" disabled&gt;Seçili & Devre Dışı&lt;/el-radio&gt; </code>
18
+ </p>
19
+ </div>
20
+ </section>
21
+
22
+ <section>
23
+ <h2>Radio group</h2>
24
+ <p class="p-lg-c my-6">
25
+ `el-radio-group` ile `el-radio` bileşenini bir araya getirerek bir radyo grubu görüntüleyebilirsiniz. el-radio-group elementinin v-model ile
26
+ bağlı olduğu bir değişkeni belirleyin ve el-radio içindeki etiket değerini ayarlayın. Ayrıca, mevcut değeri parametre olarak alan bir
27
+ değişiklik olayı sağlar.
28
+ </p>
29
+ <div class="grid grid-flow-col auto-cols-max gap-4">
30
+ <el-radio-group v-model="radio">
31
+ <el-radio :label="3">Seçenek A</el-radio>
32
+ <el-radio :label="6">Seçenek B</el-radio>
33
+ <el-radio :label="9">Seçenek C</el-radio>
34
+ </el-radio-group>
35
+ </div>
36
+ <div class="my-4 p-4 border-l-4 border-info-600 bg-info-100">
37
+ <p class="text-xs">
38
+ Örnek Kullanım:
39
+ <code>
40
+ &lt;el-radio-group v-model="radio"&gt; &lt;el-radio :label="3"&gt;Seçenek A&lt;/el-radio&gt; &lt;el-radio :label="6"&gt;Seçenek
41
+ B&lt;/el-radio&gt; &lt;/el-radio-group&gt;
42
+ </code>
43
+ </p>
44
+ </div>
45
+ </section>
46
+ </div>
47
+ </template>
48
+ <script lang="ts">
49
+ import Vue from 'vue';
50
+ const cityOptions = ['Shanghai', 'Beijing', 'Guangzhou', 'Shenzhen'];
51
+
52
+ export default Vue.extend({
53
+ data() {
54
+ return {
55
+ checked: true,
56
+ radio: 2,
57
+ checkboxGroup1: ['Shanghai'],
58
+ cities: cityOptions,
59
+ checkList: ['selected and disabled', 'Option A'],
60
+ checkAll: false,
61
+ checkedCities: ['Shanghai', 'Beijing'],
62
+ isIndeterminate: true,
63
+ time: '',
64
+ sizeForm: {
65
+ name: '',
66
+ region: '',
67
+ date1: '',
68
+ date2: '',
69
+ delivery: false,
70
+ type: [],
71
+ resource: '',
72
+ desc: '',
73
+ },
74
+ loading: false,
75
+
76
+ form: {
77
+ email: '',
78
+ password: '',
79
+ remember: false,
80
+ token: null,
81
+ correlation_id: null,
82
+ action: null,
83
+ platform: 'manager',
84
+ version: '1.0.10',
85
+ },
86
+ rules: {
87
+ email: [
88
+ {
89
+ validator: 'validateEmail',
90
+ trigger: 'submit',
91
+ message: this.$t('messages.please_provide_valid_email'),
92
+ },
93
+ ],
94
+ password: [
95
+ {
96
+ required: true,
97
+ trigger: 'submit',
98
+ message: this.$t('messages.please_fill', {
99
+ field: this.$t('login.password'),
100
+ }),
101
+ },
102
+ ],
103
+ },
104
+ };
105
+ },
106
+ methods: {
107
+ handleCheckAllChange(val: string) {
108
+ this.checkedCities = val ? cityOptions : [];
109
+ this.isIndeterminate = false;
110
+ },
111
+ handleCheckedCitiesChange(value: string[]) {
112
+ let checkedCount = value.length;
113
+ this.checkAll = checkedCount === this.cities.length;
114
+ this.isIndeterminate = checkedCount > 0 && checkedCount < this.cities.length;
115
+ },
116
+ showAgreementDialog(type: string) {
117
+ console.log('agreement: ', type);
118
+ },
119
+ submit() {
120
+ this.$emit('submit', this.form);
121
+ },
122
+ onSubmit() {
123
+ console.log('submit!');
124
+ },
125
+ },
126
+ });
127
+ </script>