Skip to content

Commit d8d154b

Browse files
committed
1.2.0
1 parent 7593997 commit d8d154b

File tree

536 files changed

+31011
-49
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

536 files changed

+31011
-49
lines changed

.gitignore

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
.DS_Store
2-
node_modules
2+
/node_modules
33
#/dist
4-
gh-pages-src
5-
gh-pages-build
4+
#/gh-pages-src
5+
/gh-pages-build
66

77
/tests/e2e/videos/
88
/tests/e2e/screenshots/

README.md

+11-4

dist/vue-cool-select.common.js

+68-11
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/vue-cool-select.common.js.map

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/vue-cool-select.umd.js

+68-11
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/vue-cool-select.umd.js.map

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/vue-cool-select.umd.min.js

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/vue-cool-select.umd.min.js.map

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

example/AsyncData.vue renamed to examples/AsyncData.vue

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<template>
22
<div class="demo-page-wrap">
33
<div>
4-
<h1 style="text-align: center;">Usage Example 2</h1>
4+
<h1 style="text-align: center;">Async Data Example</h1>
55

66
<p>
77
This example shows how to work with asynchronous data through REST API.
@@ -62,7 +62,7 @@
6262
</template>
6363

6464
<script>
65-
import { CoolSelect } from '../../../src/main'
65+
import { CoolSelect } from 'vue-cool-select'
6666
6767
export default {
6868
components: { CoolSelect },

examples/Simple.vue

+34
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
<template>
2+
<div class="demo-page-wrap">
3+
<div>
4+
<h1 style="text-align: center;">Simple Example</h1>
5+
6+
<b>Selected:</b> {{ selected || 'not chosen' }}.
7+
<br><br>
8+
9+
<cool-select
10+
v-model="selected"
11+
:items="items"
12+
placeholder="Select name"
13+
/>
14+
</div>
15+
</div>
16+
</template>
17+
18+
<script>
19+
import { CoolSelect } from 'vue-cool-select'
20+
21+
export default {
22+
components: { CoolSelect },
23+
data: () => ({
24+
selected: null,
25+
items: [
26+
'Anton',
27+
'Andrey',
28+
'Sasha',
29+
'Vladimir',
30+
'Dima'
31+
]
32+
})
33+
}
34+
</script>

example/Timezones.vue renamed to examples/Timezones/Timezones.vue

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<template>
22
<div class="demo-page-wrap">
33
<div>
4-
<h1 style="text-align: center;">Usage Example 1</h1>
4+
<h1 style="text-align: center;">Timezones Example</h1>
55

66
<b>Selected timezone:</b> {{ selectedTimezone || 'not chosen' }}.
77
<br><br>
@@ -65,7 +65,7 @@
6565
</template>
6666

6767
<script>
68-
import countries from '../../countries'
68+
import countries from './countries'
6969
import { CoolSelect } from 'vue-cool-select'
7070
7171
export default {
@@ -77,7 +77,7 @@ export default {
7777
methods: {
7878
getFlag (flagName) {
7979
try {
80-
return require(`./flags/${flagName.toLowerCase()}.svg`)
80+
return require(`./Timezones/flags`)
8181
} catch (e) {
8282
return require('./flags/undefined.svg')
8383
}
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.

examples/Validation.vue

+42
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
<template>
2+
<div class="demo-page-wrap">
3+
<div>
4+
<h1 style="text-align: center;">Validation Example</h1>
5+
6+
<b>Selected:</b> {{ selected || 'not chosen' }}.
7+
<br><br>
8+
9+
<cool-select
10+
v-model="selected"
11+
:items="items"
12+
:error-message="errorMessage"
13+
placeholder="Select name"
14+
@blur="validate"
15+
/>
16+
</div>
17+
</div>
18+
</template>
19+
20+
<script>
21+
import { CoolSelect } from 'vue-cool-select'
22+
23+
export default {
24+
components: { CoolSelect },
25+
data: () => ({
26+
selected: null,
27+
items: [
28+
'Anton',
29+
'Andrey',
30+
'Sasha',
31+
'Vladimir',
32+
'Dima'
33+
],
34+
errorMessage: null
35+
}),
36+
methods: {
37+
validate () {
38+
this.errorMessage = !this.selected ? 'This is required field!' : null
39+
}
40+
}
41+
}
42+
</script>

gh-pages-src/App.vue

+91
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,91 @@
1+
<template>
2+
<div id="app">
3+
<p style="text-align: center; font-size: 20px;">
4+
<router-link :to="{ name: 'Example1' }">
5+
Countries example
6+
</router-link>
7+
|
8+
<router-link :to="{ name: 'Example2' }">
9+
Async search example
10+
</router-link>
11+
|
12+
<router-link :to="{ name: 'Example3' }">
13+
Simple example
14+
</router-link>
15+
|
16+
<router-link :to="{ name: 'Example4' }">
17+
Validation example
18+
</router-link>
19+
20+
<br>
21+
22+
<router-link :to="{ name: 'Docs' }">
23+
Documentation 🗎
24+
</router-link>
25+
</p>
26+
27+
<!--Роуты для разработки-->
28+
<p
29+
v-if="env === 'development'"
30+
style="text-align: center; font-size: 20px;"
31+
>
32+
<router-link to="/dev/">
33+
Dev 1
34+
</router-link>
35+
|
36+
<router-link to="/dev/2">
37+
Dev 2
38+
</router-link>
39+
|
40+
<router-link to="/dev/3">
41+
Dev 3
42+
</router-link>
43+
|
44+
<router-link to="/dev/4">
45+
Dev 4
46+
</router-link>
47+
48+
<switch-theme v-if="$route.fullPath.includes('dev')" />
49+
</p>
50+
51+
<router-view/>
52+
</div>
53+
</template>
54+
55+
<script>
56+
import SwitchTheme from './SwitchTheme.vue'
57+
58+
export default {
59+
components: { SwitchTheme },
60+
data: () => ({
61+
env: process.env.NODE_ENV
62+
})
63+
}
64+
</script>
65+
66+
<style>
67+
.example-frame {
68+
width: 100%;
69+
height: 800px;
70+
border:0;
71+
border-radius: 4px;
72+
overflow: hidden;
73+
}
74+
75+
/* Page styles (no need) */
76+
.demo-page-wrap {
77+
display: flex;
78+
justify-content: center;
79+
/*align-items: center;*/
80+
height: 100vh;
81+
}
82+
83+
.demo-page-wrap > div {
84+
width: 450px;
85+
height: 100%;
86+
}
87+
88+
body {
89+
margin: 0;
90+
}
91+
</style>

gh-pages-src/SwitchTheme.vue

+83
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
<template>
2+
<div class="theme-wrapp">
3+
<template
4+
v-for="(theme, i) of themes"
5+
>
6+
<div
7+
:key="theme.name"
8+
class="theme"
9+
@click="changeTheme(theme.name)"
10+
>
11+
<img :src="theme.img">
12+
<img
13+
v-if="theme.name === currentTheme"
14+
src="https://cdn3.iconfinder.com/data/icons/flat-actions-icons-9/792/Tick_Mark_Dark-128.png"
15+
style="width: 20px; position: absolute; transform: translateX(-5px) translateY(-5px)"
16+
>
17+
<br>
18+
{{ theme.name }}
19+
</div>
20+
21+
<span
22+
v-if="i !== themes.length - 1"
23+
:key="i"
24+
>
25+
or
26+
</span>
27+
</template>
28+
29+
</div>
30+
</template>
31+
32+
<script>
33+
import { getTheme, setTheme } from './themeHelpers'
34+
35+
export default {
36+
data: () => ({
37+
themes: [
38+
{
39+
name: 'bootstrap',
40+
img: 'http://wordyblend.com/wp-content/uploads/2017/03/bootstrap-solid.jpg'
41+
},
42+
{
43+
name: 'material-design',
44+
img: 'https://upload.wikimedia.org/wikipedia/commons/c/c7/Google_Material_Design_Logo.svg'
45+
}
46+
]
47+
}),
48+
computed: {
49+
currentTheme: getTheme
50+
},
51+
methods: {
52+
changeTheme: setTheme
53+
}
54+
}
55+
</script>
56+
57+
<style>
58+
.theme-wrapp {
59+
display: flex;
60+
justify-content: center;
61+
align-items: center;
62+
height: 120px;
63+
margin: 30px 0;
64+
}
65+
66+
.theme {
67+
text-align: center;
68+
width: 120px;
69+
}
70+
71+
.theme img {
72+
width: 50%;
73+
}
74+
75+
.theme:hover {
76+
font-weight: bold;
77+
cursor: pointer;
78+
}
79+
80+
.theme:hover img {
81+
width: 55%;
82+
}
83+
</style>

gh-pages-src/countries.json

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{
2+
"data": [
3+
{"name":"Africa/Conakry","countryCode":"GIN","offset":"(UTC+00:00)","offsetPrefix":"+"},{"name":"Africa/Lome","countryCode":"TGO","offset":"(UTC+00:00)","offsetPrefix":"+"},{"name":"Atlantic/Reykjavik","countryCode":"ISL","offset":"(UTC+00:00)","offsetPrefix":"+"},{"name":"Africa/Monrovia","countryCode":"LBR","offset":"(UTC+00:00)","offsetPrefix":"+"},{"name":"America/Scoresbysund","countryCode":"GRL","offset":"(UTC+00:00)","offsetPrefix":"+"},{"name":"America/Danmarkshavn","countryCode":"GRL","offset":"(UTC+00:00)","offsetPrefix":"+"},{"name":"Africa/Bissau","countryCode":"GNB","offset":"(UTC+00:00)","offsetPrefix":"+"},{"name":"Africa/Banjul","countryCode":"GMB","offset":"(UTC+00:00)","offsetPrefix":"+"},{"name":"Africa/Bamako","countryCode":"MLI","offset":"(UTC+00:00)","offsetPrefix":"+"},{"name":"Africa/Dakar","countryCode":"SEN","offset":"(UTC+00:00)","offsetPrefix":"+"},{"name":"Africa/Ouagadougou","countryCode":"BFA","offset":"(UTC+00:00)","offsetPrefix":"+"},{"name":"Africa/Accra","countryCode":"GHA","offset":"(UTC+00:00)","offsetPrefix":"+"},{"name":"Africa/Freetown","countryCode":"SLE","offset":"(UTC+00:00)","offsetPrefix":"+"},{"name":"Africa/Sao_Tome","countryCode":"STP","offset":"(UTC+00:00)","offsetPrefix":"+"},{"name":"Atlantic/Azores","countryCode":"PRT","offset":"(UTC+00:00)","offsetPrefix":"+"},{"name":"Africa/Abidjan","countryCode":"CIV","offset":"(UTC+00:00)","offsetPrefix":"+"},{"name":"Africa/Nouakchott","countryCode":"MRT","offset":"(UTC+00:00)","offsetPrefix":"+"},{"name":"Atlantic/St_Helena","countryCode":"SHN","offset":"(UTC+00:00)","offsetPrefix":"+"},{"name":"America/North_Dakota/Beulah","countryCode":"USA","offset":"(UTC-05:00)","offsetPrefix":"-"},{"name":"America/Monterrey","countryCode":"MEX","offset":"(UTC-05:00)","offsetPrefix":"-"},{"name":"America/Bogota","countryCode":"COL","offset":"(UTC-05:00)","offsetPrefix":"-"},{"name":"America/Matamoros","countryCode":"MEX","offset":"(UTC-05:00)","offsetPrefix":"-"},{"name":"America/Jamaica","countryCode":"JAM","offset":"(UTC-05:00)","offsetPrefix":"-"},{"name":"America/Mexico_City","countryCode":"MEX","offset":"(UTC-05:00)","offsetPrefix":"-"},{"name":"America/Rio_Branco","countryCode":"BRA","offset":"(UTC-05:00)","offsetPrefix":"-"},{"name":"Pacific/Easter","countryCode":"CHL","offset":"(UTC-05:00)","offsetPrefix":"-"},{"name":"America/Merida","countryCode":"MEX","offset":"(UTC-05:00)","offsetPrefix":"-"},{"name":"America/Eirunepe","countryCode":"BRA","offset":"(UTC-05:00)","offsetPrefix":"-"},{"name":"America/North_Dakota/New_Salem","countryCode":"USA","offset":"(UTC-05:00)","offsetPrefix":"-"},{"name":"America/Atikokan","countryCode":"CAN","offset":"(UTC-05:00)","offsetPrefix":"-"},{"name":"America/Bahia_Banderas","countryCode":"MEX","offset":"(UTC-05:00)","offsetPrefix":"-"},{"name":"America/Cancun","countryCode":"MEX","offset":"(UTC-05:00)","offsetPrefix":"-"},{"name":"America/Guayaquil","countryCode":"ECU","offset":"(UTC-05:00)","offsetPrefix":"-"},{"name":"America/Winnipeg","countryCode":"CAN","offset":"(UTC-05:00)","offsetPrefix":"-"},{"name":"America/Regina","countryCode":"CAN","offset":"(UTC-06:00)","offsetPrefix":"-"},{"name":"America/Yellowknife","countryCode":"CAN","offset":"(UTC-06:00)","offsetPrefix":"-"},{"name":"America/Swift_Current","countryCode":"CAN","offset":"(UTC-06:00)","offsetPrefix":"-"},{"name":"Pacific/Galapagos","countryCode":"ECU","offset":"(UTC-06:00)","offsetPrefix":"-"},{"name":"America/Costa_Rica","countryCode":"CRI","offset":"(UTC-06:00)","offsetPrefix":"-"},{"name":"America/Tegucigalpa","countryCode":"HND","offset":"(UTC-06:00)","offsetPrefix":"-"},{"name":"America/Denver","countryCode":"USA","offset":"(UTC-06:00)","offsetPrefix":"-"},{"name":"America/Cambridge_Bay","countryCode":"CAN","offset":"(UTC-06:00)","offsetPrefix":"-"},{"name":"America/Managua","countryCode":"NIC","offset":"(UTC-06:00)","offsetPrefix":"-"},{"name":"America/Belize","countryCode":"BLZ","offset":"(UTC-06:00)","offsetPrefix":"-"},{"name":"America/Inuvik","countryCode":"CAN","offset":"(UTC-06:00)","offsetPrefix":"-"},{"name":"America/Ojinaga","countryCode":"MEX","offset":"(UTC-06:00)","offsetPrefix":"-"},{"name":"America/Guatemala","countryCode":"GTM","offset":"(UTC-06:00)","offsetPrefix":"-"},{"name":"America/El_Salvador","countryCode":"SLV","offset":"(UTC-06:00)","offsetPrefix":"-"},{"name":"America/Mazatlan","countryCode":"MEX","offset":"(UTC-06:00)","offsetPrefix":"-"},{"name":"America/Edmonton","countryCode":"CAN","offset":"(UTC-06:00)","offsetPrefix":"-"},{"name":"America/Chihuahua","countryCode":"MEX","offset":"(UTC-06:00)","offsetPrefix":"-"},{"name":"America/Boise","countryCode":"USA","offset":"(UTC-06:00)","offsetPrefix":"-"},{"name":"America/Tijuana","countryCode":"MEX","offset":"(UTC-07:00)","offsetPrefix":"-"},{"name":"America/Hermosillo","countryCode":"MEX","offset":"(UTC-07:00)","offsetPrefix":"-"},{"name":"America/Whitehorse","countryCode":"CAN","offset":"(UTC-07:00)","offsetPrefix":"-"},{"name":"America/Vancouver","countryCode":"CAN","offset":"(UTC-07:00)","offsetPrefix":"-"},{"name":"America/Phoenix","countryCode":"USA","offset":"(UTC-07:00)","offsetPrefix":"-"},{"name":"America/Dawson","countryCode":"CAN","offset":"(UTC-07:00)","offsetPrefix":"-"},{"name":"America/Creston","countryCode":"CAN","offset":"(UTC-07:00)","offsetPrefix":"-"},{"name":"America/Dawson_Creek","countryCode":"CAN","offset":"(UTC-07:00)","offsetPrefix":"-"},{"name":"America/Los_Angeles","countryCode":"USA","offset":"(UTC-07:00)","offsetPrefix":"-"},{"name":"America/Fort_Nelson","countryCode":"CAN","offset":"(UTC-07:00)","offsetPrefix":"-"},{"name":"America/Nome","countryCode":"USA","offset":"(UTC-08:00)","offsetPrefix":"-"},{"name":"America/Sitka","countryCode":"USA","offset":"(UTC-08:00)","offsetPrefix":"-"},{"name":"America/Yakutat","countryCode":"USA","offset":"(UTC-08:00)","offsetPrefix":"-"},{"name":"America/Metlakatla","countryCode":"USA","offset":"(UTC-08:00)","offsetPrefix":"-"},{"name":"Pacific/Pitcairn","countryCode":"PCN","offset":"(UTC-08:00)","offsetPrefix":"-"},{"name":"America/Juneau","countryCode":"USA","offset":"(UTC-08:00)","offsetPrefix":"-"},{"name":"America/Anchorage","countryCode":"USA","offset":"(UTC-08:00)","offsetPrefix":"-"},{"name":"America/Adak","countryCode":"USA","offset":"(UTC-09:00)","offsetPrefix":"-"},{"name":"Pacific/Gambier","countryCode":"PYF","offset":"(UTC-09:00)","offsetPrefix":"-"},{"name":"Pacific/Marquesas","countryCode":"PYF","offset":"(UTC-09:30)","offsetPrefix":"-"},{"name":"Pacific/Rarotonga","countryCode":"COK","offset":"(UTC-10:00)","offsetPrefix":"-"},{"name":"Pacific/Honolulu","countryCode":"USA","offset":"(UTC-10:00)","offsetPrefix":"-"},{"name":"Pacific/Tahiti","countryCode":"PYF","offset":"(UTC-10:00)","offsetPrefix":"-"},{"name":"Pacific/Midway","countryCode":"UMI","offset":"(UTC-11:00)","offsetPrefix":"-"},{"name":"Pacific/Niue","countryCode":"NIU","offset":"(UTC-11:00)","offsetPrefix":"-"}
4+
]
5+
}

gh-pages-src/flags/abw.svg

+9

0 commit comments

Comments
 (0)