@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
@@ -0,0 +1,122 @@
1
+ <template>
2
+ <div class="pt-8 pb-16 flex gap-12 flex-col">
3
+ <section>
4
+ <h1>Basic</h1>
5
+ <p class="p-lg my-6">Standart metin girişi için temel <code>el-input</code> bileşenini kullanabilirsiniz.</p>
6
+ <div class="grid grid-flow-col auto-cols-max gap-4">
7
+ <el-switch v-model="value1"> </el-switch>
8
+ </div>
9
+ <div class="my-4 p-4 border-l-4 border-blue-600 bg-blue-100">
10
+ <p class="text-xs">
11
+ <code>&lt;el-input placeholder="Please input" v-model="input"&gt;&lt;/el-input&gt;</code>
12
+ </p>
13
+ </div>
14
+ </section>
15
+
16
+ <section>
17
+ <h1>Custom Color</h1>
18
+ <p class="p-lg my-6">Standart metin girişi için temel <code>el-input</code> bileşenini kullanabilirsiniz.</p>
19
+ <div class="grid grid-flow-col auto-cols-max gap-4">
20
+ <el-switch v-model="value2" active-color="#13ce66" inactive-color="#ff4949"> </el-switch>
21
+ </div>
22
+ <div class="my-4 p-4 border-l-4 border-blue-600 bg-blue-100">
23
+ <p class="text-xs">
24
+ <code>&lt;el-input placeholder="Please input" v-model="input"&gt;&lt;/el-input&gt;</code>
25
+ </p>
26
+ </div>
27
+ </section>
28
+
29
+ <section>
30
+ <h1>Text description</h1>
31
+ <p class="p-lg my-6">You can add active-text and inactive-text attribute to show texts.</p>
32
+ <div class="grid grid-flow-col auto-cols-max gap-4">
33
+ <el-switch v-model="value1" active-text="Pay by month" inactive-text="Pay by year"> </el-switch>
34
+ </div>
35
+ <div class="my-4 p-4 border-l-4 border-blue-600 bg-blue-100">
36
+ <p class="text-xs">
37
+ <code>&lt;el-input placeholder="Please input" v-model="input"&gt;&lt;/el-input&gt;</code>
38
+ </p>
39
+ </div>
40
+ </section>
41
+
42
+ <section>
43
+ <h1>Disabled</h1>
44
+ <p class="p-lg my-6">Standart metin girişi için temel <code>el-input</code> bileşenini kullanabilirsiniz.</p>
45
+ <div class="grid grid-flow-col auto-cols-max gap-4">
46
+ <el-switch v-model="value1" disabled inactive-text="Pay by year"></el-switch>
47
+ <el-switch v-model="value2" disabled inactive-text="Pay by year"></el-switch>
48
+ </div>
49
+ <div class="my-4 p-4 border-l-4 border-blue-600 bg-blue-100">
50
+ <p class="text-xs">
51
+ <code>&lt;el-input placeholder="Please input" v-model="input"&gt;&lt;/el-input&gt;</code>
52
+ </p>
53
+ </div>
54
+ </section>
55
+ </div>
56
+ </template>
57
+ <script>
58
+ import Vue from 'vue';
59
+
60
+ export default Vue.extend({
61
+ name: 'TimusButtonSample',
62
+ data() {
63
+ return {
64
+ value1: true,
65
+ value2: true,
66
+ };
67
+ },
68
+ computed: {
69
+ gridSize() {
70
+ const grids = {
71
+ 5: 'grid-cols-5',
72
+ 6: 'grid-cols-6',
73
+ 7: 'grid-cols-7',
74
+ 8: 'grid-cols-8',
75
+ };
76
+ return grids;
77
+ },
78
+ },
79
+ methods: {
80
+ querySearch(queryString, cb) {
81
+ var links = this.links;
82
+ var results = queryString ? links.filter(this.createFilter(queryString)) : links;
83
+ // call callback function to return suggestions
84
+ cb(results);
85
+ },
86
+ querySearchAsync(queryString, cb) {
87
+ var links = this.links;
88
+ var results = queryString ? links.filter(this.createFilter(queryString)) : links;
89
+
90
+ clearTimeout(this.timeout);
91
+ this.timeout = setTimeout(() => {
92
+ cb(results);
93
+ }, 3000 * Math.random());
94
+ },
95
+ createFilter(queryString) {
96
+ return (link) => {
97
+ return link.value.toLowerCase().indexOf(queryString.toLowerCase()) === 0;
98
+ };
99
+ },
100
+ loadAll() {
101
+ return [
102
+ { value: 'vue', link: 'https://github.com/vuejs/vue' },
103
+ { value: 'element', link: 'https://github.com/ElemeFE/element' },
104
+ { value: 'cooking', link: 'https://github.com/ElemeFE/cooking' },
105
+ { value: 'mint-ui', link: 'https://github.com/ElemeFE/mint-ui' },
106
+ { value: 'vuex', link: 'https://github.com/vuejs/vuex' },
107
+ { value: 'vue-router', link: 'https://github.com/vuejs/vue-router' },
108
+ { value: 'babel', link: 'https://github.com/babel/babel' },
109
+ ];
110
+ },
111
+ handleSelect(item) {
112
+ console.log(item);
113
+ },
114
+ handleIconClick(ev) {
115
+ console.log(ev);
116
+ },
117
+ },
118
+ mounted() {
119
+ this.links = this.loadAll();
120
+ },
121
+ });
122
+ </script>
@@ -0,0 +1,189 @@
1
+ <template>
2
+ <div class="pt-8 pb-16 flex gap-12 flex-col">
3
+ <section>
4
+ <h1>Tooltip</h1>
5
+ <p class="p-lg-c my-6">
6
+ Bu örnek, Element UI tarafından sağlanan <code>el-table</code> bileşenini kullanarak bir veri tablosu oluşturmanın temel bir örneğini
7
+ göstermektedir. `table-container` ile dışarıya border verildiğini unutmamanızı tavsiye ediyoruz.
8
+ </p>
9
+ <div class="flex flex-wrap gap-4">
10
+ <el-tooltip class="item h-24 outline" effect="dark" content="Top Left prompts info" placement="top-start">
11
+ <el-button size="large">top-start</el-button>
12
+ </el-tooltip>
13
+ <el-tooltip class="item h-24 outline" effect="dark" content="Top Center prompts info" placement="top">
14
+ <el-button size="large">top</el-button>
15
+ </el-tooltip>
16
+ <el-tooltip class="item h-24 outline" effect="dark" content="Top Right prompts info" placement="top-end">
17
+ <el-button size="large">top-end</el-button>
18
+ </el-tooltip>
19
+
20
+ <el-tooltip class="item h-24 outline" effect="dark" content="Left Top prompts info" placement="left-start">
21
+ <el-button size="large">left-start</el-button>
22
+ </el-tooltip>
23
+ <el-tooltip class="item h-24 outline" effect="dark" content="Left Center prompts info" placement="left">
24
+ <el-button size="large">left</el-button>
25
+ </el-tooltip>
26
+ <el-tooltip class="item h-24 outline" effect="dark" content="Left Bottom prompts info" placement="left-end">
27
+ <el-button size="large">left-end</el-button>
28
+ </el-tooltip>
29
+
30
+ <el-tooltip class="item h-24 outline" effect="dark" content="Right Top prompts info" placement="right-start">
31
+ <el-button size="large">right-start</el-button>
32
+ </el-tooltip>
33
+ <el-tooltip class="item h-24 outline" effect="dark" content="Right Center prompts info" placement="right">
34
+ <el-button size="large">right</el-button>
35
+ </el-tooltip>
36
+ <el-tooltip class="item h-24 outline" effect="dark" content="Right Bottom prompts info" placement="right-end">
37
+ <el-button size="large">right-end</el-button>
38
+ </el-tooltip>
39
+
40
+ <el-tooltip class="item h-24 outline" effect="dark" content="Bottom Left prompts info" placement="bottom-start">
41
+ <el-button size="large">bottom-start</el-button>
42
+ </el-tooltip>
43
+ <el-tooltip class="item h-24 outline" effect="dark" content="Bottom Center prompts info" placement="bottom">
44
+ <el-button size="large">bottom</el-button>
45
+ </el-tooltip>
46
+ <el-tooltip class="item h-24 outline" effect="dark" content="Bottom Right prompts info" placement="bottom-end">
47
+ <el-button size="large">bottom-end</el-button>
48
+ </el-tooltip>
49
+ </div>
50
+ <div class="my-4 p-4 border-l-4 border-blue-600 bg-blue-100">
51
+ <p class="text-xs">
52
+ <code>
53
+ &lt;div class="table-container">&lt;el-table :data="tableData" :default-sort="{ prop: 'date', order: 'descending'
54
+ }"&gt;&lt;/el-table&gt;&lt;/div&gt;
55
+ </code>
56
+ </p>
57
+ </div>
58
+ </section>
59
+ </div>
60
+ </template>
61
+ <script>
62
+ import Vue from 'vue';
63
+
64
+ export default Vue.extend({
65
+ name: 'ThemeTable',
66
+ computed: {
67
+ gridSize() {
68
+ const grids = {
69
+ 5: 'grid-cols-5',
70
+ 6: 'grid-cols-6',
71
+ 7: 'grid-cols-7',
72
+ 8: 'grid-cols-8',
73
+ };
74
+ return grids;
75
+ },
76
+ },
77
+ data() {
78
+ return {
79
+ multipleSelection: [],
80
+ currentPage1: 5,
81
+ currentPage2: 5,
82
+ currentPage3: 5,
83
+ currentPage4: 4,
84
+ tableData: [
85
+ {
86
+ date: '2016-05-03',
87
+ name: 'Tom',
88
+ state: 'California',
89
+ city: 'Los Angeles',
90
+ address: 'No. 189, Grove St, Los Angeles',
91
+ zip: 'CA 90036',
92
+ tag: 'Home',
93
+ },
94
+ {
95
+ date: '2016-05-02',
96
+ name: 'Tom',
97
+ state: 'California',
98
+ city: 'Los Angeles',
99
+ address: 'No. 189, Grove St, Los Angeles',
100
+ zip: 'CA 90036',
101
+ tag: 'Office',
102
+ },
103
+ {
104
+ date: '2016-05-04',
105
+ name: 'Tom',
106
+ state: 'California',
107
+ city: 'Los Angeles',
108
+ address: 'No. 189, Grove St, Los Angeles',
109
+ zip: 'CA 90036',
110
+ tag: 'Home',
111
+ },
112
+ {
113
+ date: '2016-05-01',
114
+ name: 'Tom',
115
+ state: 'California',
116
+ city: 'Los Angeles',
117
+ address: 'No. 189, Grove St, Los Angeles',
118
+ zip: 'CA 90036',
119
+ tag: 'Office',
120
+ },
121
+ {
122
+ date: '2016-05-08',
123
+ name: 'Tom',
124
+ state: 'California',
125
+ city: 'Los Angeles',
126
+ address: 'No. 189, Grove St, Los Angeles',
127
+ zip: 'CA 90036',
128
+ tag: 'Office',
129
+ },
130
+ {
131
+ date: '2016-05-06',
132
+ name: 'Tom',
133
+ state: 'California',
134
+ city: 'Los Angeles',
135
+ address: 'No. 189, Grove St, Los Angeles',
136
+ zip: 'CA 90036',
137
+ tag: 'Home',
138
+ },
139
+ {
140
+ date: '2016-05-07',
141
+ name: 'Tom',
142
+ state: 'California',
143
+ city: 'Los Angeles',
144
+ address: 'No. 189, Grove St, Los Angeles',
145
+ zip: 'CA 90036',
146
+ tag: 'Office',
147
+ },
148
+ ],
149
+ };
150
+ },
151
+ methods: {
152
+ toggleSelection(rows) {
153
+ if (rows) {
154
+ rows.forEach((row) => {
155
+ this.$refs.multipleTable.toggleRowSelection(row);
156
+ });
157
+ } else {
158
+ this.$refs.multipleTable.clearSelection();
159
+ }
160
+ },
161
+ handleSelectionChange(val) {
162
+ this.multipleSelection = val;
163
+ },
164
+ resetDateFilter() {
165
+ this.$refs.filterTable.clearFilter('date');
166
+ },
167
+ clearFilter() {
168
+ this.$refs.filterTable.clearFilter();
169
+ },
170
+ formatter(row, column) {
171
+ return row.address;
172
+ },
173
+ filterTag(value, row) {
174
+ return row.tag === value;
175
+ },
176
+ filterHandler(value, row, column) {
177
+ console.log(row, column, value);
178
+ const property = column['property'];
179
+ return row[property] === value;
180
+ },
181
+ handleSizeChange(val) {
182
+ console.log(`${val} items per page`);
183
+ },
184
+ handleCurrentChange(val) {
185
+ console.log(`current page: ${val}`);
186
+ },
187
+ },
188
+ });
189
+ </script>
@@ -1,30 +1,43 @@
1
1
  <template>
2
- <div class="container">
3
- <el-tabs v-model="activeName" @tab-click="handleClick">
4
- <el-tab-pane label="Button" name="first"><ThemeButtons></ThemeButtons></el-tab-pane>
5
- <el-tab-pane label="Typography" name="second"><ThemeTypo></ThemeTypo></el-tab-pane>
6
- <el-tab-pane label="Inputs" name="third"><ThemeInputs></ThemeInputs></el-tab-pane>
7
- <el-tab-pane label="Numbers" name="fourth"><ThemeInputNumbers></ThemeInputNumbers></el-tab-pane>
8
- <el-tab-pane label="TimePicker" name="five"><ThemeTimePicker></ThemeTimePicker></el-tab-pane>
9
- <el-tab-pane label="Form" name="six"><ThemeForm></ThemeForm>></el-tab-pane>
10
- </el-tabs>
11
- </div>
2
+ <div class="container">
3
+ <el-tabs v-model="activeName" @tab-click="handleClick">
4
+ <el-tab-pane label="Button" name="first"><ThemeButtons></ThemeButtons></el-tab-pane>
5
+ <el-tab-pane label="Typo" name="second"><ThemeTypo></ThemeTypo></el-tab-pane>
6
+ <el-tab-pane label="Input" name="third"><ThemeInputs></ThemeInputs></el-tab-pane>
7
+ <el-tab-pane label="Checkbox" name="fourth"><ThemeCheckbox></ThemeCheckbox></el-tab-pane>
8
+ <el-tab-pane label="Radio" name="five"><ThemeRadio></ThemeRadio></el-tab-pane>
9
+ <el-tab-pane label="Number" name="six"><ThemeInputNumbers></ThemeInputNumbers></el-tab-pane>
10
+ <el-tab-pane label="Picker" name="seven"><ThemeTimePicker></ThemeTimePicker></el-tab-pane>
11
+ <el-tab-pane label="Select" name="eight"><ThemeSelect></ThemeSelect></el-tab-pane>
12
+ <el-tab-pane label="Form" name="nine"><ThemeForm></ThemeForm></el-tab-pane>
13
+ <el-tab-pane label="Link" name="ten"><ThemeLink></ThemeLink></el-tab-pane>
14
+ <el-tab-pane label="Tag" name="eleven"><ThemeTag></ThemeTag></el-tab-pane>
15
+ <el-tab-pane label="Switch" name="twelve"><ThemeToggle></ThemeToggle></el-tab-pane>
16
+ <el-tab-pane label="Table" name="thirteen"><ThemeTable></ThemeTable></el-tab-pane>
17
+ <el-tab-pane label="Tooltip" name="fourteen"><ThemeTooltip></ThemeTooltip></el-tab-pane>
18
+ <el-tab-pane label="Alert" name="fifteen"><ThemeAlert></ThemeAlert></el-tab-pane>
19
+ <el-tab-pane label="Cascader" name="sixteen"><ThemeCascader></ThemeCascader></el-tab-pane>
20
+ <el-tab-pane label="Badge" name="seventeen"><ThemeBadge></ThemeBadge></el-tab-pane>
21
+ <el-tab-pane label="Avatar" name="eighteen"><ThemeAvatar></ThemeAvatar></el-tab-pane>
22
+ <el-tab-pane label="Logo" name="nineteen"><ThemeLogo></ThemeLogo></el-tab-pane>
23
+ </el-tabs>
24
+ </div>
12
25
  </template>
13
26
  <script>
14
27
  import ThemeInputNumbers from './ThemeInputNumbers.vue';
15
28
  import ThemeInputs from './ThemeInputs.vue';
16
29
 
17
30
  export default {
18
- data() {
19
- return {
20
- activeName: 'first',
21
- };
22
- },
23
- methods: {
24
- handleClick(tab, event) {
25
- console.log(tab, event);
31
+ data() {
32
+ return {
33
+ activeName: 'first',
34
+ };
26
35
  },
27
- },
28
- components: { ThemeInputs, ThemeInputNumbers },
36
+ methods: {
37
+ handleClick(tab, event) {
38
+ console.log(tab, event);
39
+ },
40
+ },
41
+ components: { ThemeInputs, ThemeInputNumbers },
29
42
  };
30
43
  </script>
@@ -1,9 +1,9 @@
1
1
  const components = {};
2
2
  const requireComponent = require.context(
3
- '.', // bu klasördeki bileşenleri oku
4
- false, // alt klasörleri okuma
5
- /[A-Z]\w+\.(vue)$/, // Vue bileşenlerini al
6
- // EXPERIMENTAL: /[A-Z]\w+\.(vue|js)$/, // Vue bileşenlerini veya JS dosyalarını al
3
+ '.', // read from current directory
4
+ false, // don't look in subdirectories
5
+ /[A-Z]\w+\.(vue)$/, // only look for Vue files
6
+ // EXPERIMENTAL: /[A-Z]\w+\.(vue|js)$/, // only look for Vue or JS files
7
7
  );
8
8
 
9
9
  requireComponent.keys().forEach((fileName) => {
@@ -11,7 +11,7 @@ requireComponent.keys().forEach((fileName) => {
11
11
  const componentName = fileName
12
12
  .split('/')
13
13
  .pop()
14
- .replace(/\.\w+$/, ''); // Dosya adını bileşen adı olarak al
14
+ .replace(/\.\w+$/, ''); // remove file extension and set file name as component name
15
15
 
16
16
  components[componentName] = componentConfig.default || componentConfig;
17
17
  });
@@ -0,0 +1,76 @@
1
+ <template>
2
+ <div class="pt-8 pb-16 flex gap-12 flex-col">
3
+ <section>
4
+ <h1>Alert</h1>
5
+ <p class="p-lg-c my-6">Uyarı bileşenleri, sayfada otomatik olarak kaybolmayan non-overlay mesajlarını görüntülemek için kullanılır.</p>
6
+ <div class="grid grid-flow-col auto-cols-max gap-4">
7
+ <el-alert :title="`${item}`" :type="item" class="isax-activity" v-for="(item, key) in colors" :key="key"></el-alert>
8
+ </div>
9
+ <div class="my-4 p-4 border-l-4 border-blue-600 bg-blue-100">
10
+ <p class="text-xs">
11
+ <code>&lt;el-alert title="Success alert" type="success" class="isax-activity"&gt;&lt;/el-alert&gt;</code>
12
+ </p>
13
+ </div>
14
+ </section>
15
+ </div>
16
+ </template>
17
+ <script>
18
+ import Vue from 'vue';
19
+
20
+ export default Vue.extend({
21
+ name: 'ThemeTable',
22
+ computed: {
23
+ gridSize() {
24
+ const grids = {
25
+ 5: 'grid-cols-5',
26
+ 6: 'grid-cols-6',
27
+ 7: 'grid-cols-7',
28
+ 8: 'grid-cols-8',
29
+ };
30
+ return grids;
31
+ },
32
+ },
33
+ data() {
34
+ return {
35
+ colors: ['primary', 'secondary', 'gray', 'warning', 'danger', 'info', 'success'],
36
+ };
37
+ },
38
+ methods: {
39
+ toggleSelection(rows) {
40
+ if (rows) {
41
+ rows.forEach((row) => {
42
+ this.$refs.multipleTable.toggleRowSelection(row);
43
+ });
44
+ } else {
45
+ this.$refs.multipleTable.clearSelection();
46
+ }
47
+ },
48
+ handleSelectionChange(val) {
49
+ this.multipleSelection = val;
50
+ },
51
+ resetDateFilter() {
52
+ this.$refs.filterTable.clearFilter('date');
53
+ },
54
+ clearFilter() {
55
+ this.$refs.filterTable.clearFilter();
56
+ },
57
+ formatter(row, column) {
58
+ return row.address;
59
+ },
60
+ filterTag(value, row) {
61
+ return row.tag === value;
62
+ },
63
+ filterHandler(value, row, column) {
64
+ console.log(row, column, value);
65
+ const property = column['property'];
66
+ return row[property] === value;
67
+ },
68
+ handleSizeChange(val) {
69
+ console.log(`${val} items per page`);
70
+ },
71
+ handleCurrentChange(val) {
72
+ console.log(`current page: ${val}`);
73
+ },
74
+ },
75
+ });
76
+ </script>
@@ -0,0 +1,55 @@
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
+ Avatarlar, resimler, ikonlar veya alfanumerik karakterleri destekler. Avatar'ın şeklini ve boyutunu ayarlamak için `shape` ve `size`
7
+ özelliklerini kullanabilirsiniz. Ayrıca avatarın resim kaynağını belirlemek için `src` özelliğini kullanabilirsiniz. Şekil tipleri
8
+ <b>'circle | square'</b> şeklindedir. Boyutlar ise <b>'xlarge', 'large', 'medium', 'small', 'xsmall'</b> şeklindedir. Veya boyutu manuel
9
+ olarak `size` özelliğini kullanarak belirleyebilirsiniz, örneğin <b>size='50'</b>.
10
+ </p>
11
+ <div class="grid grid-flow-col auto-cols-max gap-4 items-center">
12
+ <el-avatar :size="50">SK</el-avatar>
13
+ <el-avatar :size="size" v-for="size in sizeList" :key="size + ''">SK</el-avatar>
14
+ <el-divider direction="vertical" content-position="center"></el-divider>
15
+ <el-avatar shape="square" :size="50" :src="url"></el-avatar>
16
+ <el-avatar shape="square" :size="size" :src="url" v-for="size in sizeList" :key="size"></el-avatar>
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;el-avatar :size="50"&gt;SK&lt;/el-avatar&gt;</code>
21
+ </p>
22
+ </div>
23
+ </section>
24
+
25
+ <section>
26
+ <h1>Types</h1>
27
+ <p class="p-md-c my-6">Resimler, ikonlar veya alfanumerik karakterleri destekler</p>
28
+ <div class="grid grid-flow-col auto-cols-max gap-4 items-center">
29
+ <el-avatar icon="isax-add-circle"></el-avatar>
30
+ <el-avatar icon="isax-add-circle" size="xlarge"></el-avatar>
31
+ <el-avatar :src="url"></el-avatar>
32
+ <el-avatar>SK</el-avatar>
33
+ </div>
34
+ <div class="my-4 p-4 border-l-4 border-blue-600 bg-blue-100">
35
+ <p class="text-xs">
36
+ <code>&lt;el-avatar icon="isax-add-circle" size="xlarge"&gt;&lt;/el-avatar&gt;</code>
37
+ </p>
38
+ </div>
39
+ </section>
40
+ </div>
41
+ </template>
42
+
43
+ <script>
44
+ import Vue from 'vue';
45
+
46
+ export default Vue.extend({
47
+ name: 'TimusCascader',
48
+ data() {
49
+ return {
50
+ url: 'https://api.dicebear.com/7.x/adventurer-neutral/svg?seed=Princess',
51
+ sizeList: ['xlarge', 'large', 'medium', 'small', 'xsmall'],
52
+ };
53
+ },
54
+ });
55
+ </script>
@@ -0,0 +1,86 @@
1
+ <template>
2
+ <div class="pt-8 pb-16 flex gap-12 flex-col">
3
+ <section>
4
+ <h1>Temel Kullanım</h1>
5
+ <p class="p-md-c my-6">
6
+ Butonlar ve simgeler üzerinde sayı veya durum işareti. Yeni mesajların miktarını görüntüler. Miktar, `Number` veya `String` kabul eden `value`
7
+ ile tanımlanır.
8
+ </p>
9
+ <div class="grid grid-flow-col auto-cols-max gap-4">
10
+ <el-badge :value="12"> <el-button size="small">Yorumlar</el-button> </el-badge>
11
+ <el-badge :value="randomNumber()" :type="item" v-for="(item, key) in colors" :key="key">
12
+ <el-button size="small" :class="randomButtonType()" :type="randomColor()">{{ item }}</el-button>
13
+ </el-badge>
14
+ <el-dropdown trigger="click">
15
+ <span class="el-dropdown-link"> Beni Tıkla<i class="el-icon-caret-bottom el-icon--right"></i> </span>
16
+ <el-dropdown-menu slot="dropdown">
17
+ <el-dropdown-item class="clearfix">
18
+ Yorumlar
19
+ <el-badge class="mark" :value="12" />
20
+ </el-dropdown-item>
21
+ <el-dropdown-item class="clearfix">
22
+ Yanıtlar
23
+ <el-badge class="mark" :value="3" />
24
+ </el-dropdown-item>
25
+ </el-dropdown-menu>
26
+ </el-dropdown>
27
+ </div>
28
+ <div class="my-4 p-4 border-l-4 border-blue-600 bg-blue-100">
29
+ <p class="text-xs">
30
+ <code>&lt;el-badge :value="12"&gt; &lt;el-button size="small"&gt;Comments&lt;/el-button&gt; &lt;/el-badge&gt;</code>
31
+ </p>
32
+ </div>
33
+ </section>
34
+
35
+ <section>
36
+ <h1>Max Değer</h1>
37
+ <p class="p-md-c my-6">
38
+ Maksimum değer, bir Sayı (Number) olan max özelliği ile belirlenir. Unutmayın ki, bu özellik yalnızca value özelliği de bir Sayı (Number)
39
+ olduğunda çalışır.
40
+ </p>
41
+ <div class="grid grid-flow-col auto-cols-max gap-4">
42
+ <el-badge :value="200" :max="99" class="item">
43
+ <el-button size="small">Yorumlar</el-button>
44
+ </el-badge>
45
+ <el-badge :value="100" :max="10" class="item">
46
+ <el-button size="small">Yanıtlar</el-button>
47
+ </el-badge>
48
+ </div>
49
+ <div class="my-4 p-4 border-l-4 border-blue-600 bg-blue-100">
50
+ <p class="text-xs">
51
+ <code>&lt;el-badge :value="12"&gt; &lt;el-button size="small"&gt;Yorumlar&lt;/el-button&gt; &lt;/el-badge&gt;</code>
52
+ </p>
53
+ </div>
54
+ </section>
55
+ </div>
56
+ </template>
57
+
58
+ <script>
59
+ import Vue from 'vue';
60
+
61
+ export default Vue.extend({
62
+ name: 'TimusCascader',
63
+ data() {
64
+ return {
65
+ colors: ['primary', 'secondary', 'gray', 'info', 'success', 'warning', 'danger'],
66
+ };
67
+ },
68
+ methods: {
69
+ handleChange(value) {
70
+ console.log(value);
71
+ },
72
+ },
73
+ methods: {
74
+ randomNumber() {
75
+ return Math.round(Math.random() * 1000);
76
+ },
77
+ randomColor() {
78
+ return this.colors[Math.round(Math.random() * 7)];
79
+ },
80
+ randomButtonType() {
81
+ const type = ['outline'];
82
+ return type[Math.round(Math.random() * 2)];
83
+ },
84
+ },
85
+ });
86
+ </script>
@@ -97,7 +97,7 @@
97
97
  <section>
98
98
  <h1>Groups</h1>
99
99
  <p class="p-lg my-6">Buton gruplarımız, ilgili işlemleri bir arada toplayarak kullanıcı arayüzünü düzenler.</p>
100
- <div class="my-4 p-4 border-l-4 border-info-600 bg-info-100">
100
+ <div class="grid grid-flow-col auto-cols-max gap-4">
101
101
  <el-button-group>
102
102
  <el-button type="primary" class="isax-arrow-left">Previous Page</el-button>
103
103
  <el-button type="primary" class="isax-arrow-right-1 icon-right">Next Page</el-button>
@@ -121,7 +121,7 @@ export default Vue.extend({
121
121
  name: 'TimusButtonSample',
122
122
  data() {
123
123
  return {
124
- colors: ['primary', 'secondary', 'gray', 'info', 'success', 'wanring', 'danger'],
124
+ colors: ['primary', 'secondary', 'gray', 'info', 'success', 'warning', 'danger'],
125
125
  status: ['outline', 'ghost', 'rounder', 'disabled'],
126
126
  sizes: ['large', 'medium', 'small', 'mini'],
127
127
  icons: ['isax-bag', 'isax-calculator'],