slim-select 2.2.0 → 2.2.2
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.
- package/dist/helpers.d.ts +1 -0
- package/dist/index.d.ts +1 -1
- package/dist/select.d.ts +1 -1
- package/dist/slimselect.cjs.js +62 -40
- package/dist/slimselect.es.js +62 -40
- package/dist/slimselect.global.js +62 -40
- package/dist/slimselect.js +62 -40
- package/dist/slimselect.min.js +1 -1
- package/dist/slimselect.umd.js +62 -40
- package/dist/slimselect.umd.min.js +1 -1
- package/package.json +1 -3
- package/src/slim-select/helpers.ts +4 -0
- package/src/slim-select/index.ts +26 -2
- package/src/slim-select/render.ts +5 -3
- package/src/slim-select/select.ts +12 -3
- package/src/vue/dist/slim-select/helpers.d.ts +5 -0
- package/src/vue/dist/slim-select/index.d.ts +45 -0
- package/src/vue/dist/slim-select/render.d.ts +116 -0
- package/src/vue/dist/slim-select/select.d.ts +33 -0
- package/src/vue/dist/slim-select/settings.d.ts +30 -0
- package/src/vue/dist/slim-select/store.d.ts +76 -0
- package/src/vue/dist/slimselectvue.es.js +114 -43
- package/src/vue/dist/slimselectvue.global.js +114 -43
- package/src/vue/dist/slimselectvue.ssr.js +114 -43
- package/src/vue/dist/vue/hello.d.ts +2 -0
- package/src/vue/dist/vue/slimselect.vue.d.ts +309 -0
- package/src/vue/package.json +2 -3
- package/src/vue/slimselect.vue +66 -2
- package/src/vue/tsconfig.json +3 -3
- package/tsconfig.json +9 -2
- package/.github/FUNDING.yml +0 -12
- package/.github/ISSUE_TEMPLATE/issue-report.md +0 -14
- package/.vscode/extensions.json +0 -3
- package/.vscode/settings.json +0 -17
- package/docs/404.html +0 -42
- package/docs/CNAME +0 -1
- package/docs/assets/check-mark.svg +0 -6
- package/docs/assets/data.js +0 -63
- package/docs/assets/home.css +0 -1
- package/docs/assets/home.js +0 -1
- package/docs/assets/index.css +0 -1
- package/docs/assets/index.js +0 -16
- package/docs/assets/index2.js +0 -358
- package/docs/assets/index3.js +0 -142
- package/docs/assets/index4.js +0 -60
- package/docs/assets/index5.js +0 -149
- package/docs/assets/install.js +0 -34
- package/docs/assets/selects.js +0 -55
- package/docs/favicon.ico +0 -0
- package/docs/index.html +0 -36
- package/public/404.html +0 -42
- package/public/CNAME +0 -1
- package/public/favicon.ico +0 -0
- package/slimselect.gif +0 -0
- package/src/docs/app.vue +0 -228
- package/src/docs/assets/images/check-mark.svg +0 -6
- package/src/docs/assets/images/chrome.svg +0 -22
- package/src/docs/assets/images/firefox.svg +0 -58
- package/src/docs/assets/images/github.png +0 -0
- package/src/docs/assets/images/ie.svg +0 -11
- package/src/docs/assets/images/npm.png +0 -0
- package/src/docs/assets/images/opera.svg +0 -15
- package/src/docs/assets/images/safari.svg +0 -22
- package/src/docs/assets/scss/_variables.scss +0 -26
- package/src/docs/assets/scss/alert.scss +0 -12
- package/src/docs/assets/scss/animations.scss +0 -8
- package/src/docs/assets/scss/button.scss +0 -21
- package/src/docs/assets/scss/index.scss +0 -8
- package/src/docs/assets/scss/input.scss +0 -3
- package/src/docs/assets/scss/layout.scss +0 -250
- package/src/docs/assets/scss/misc.scss +0 -162
- package/src/docs/assets/scss/prism.scss +0 -157
- package/src/docs/env.d.ts +0 -13
- package/src/docs/main.ts +0 -27
- package/src/docs/pages/data.vue +0 -134
- package/src/docs/pages/events/addable.vue +0 -95
- package/src/docs/pages/events/before_after_change.vue +0 -154
- package/src/docs/pages/events/before_after_open_close.vue +0 -122
- package/src/docs/pages/events/error.vue +0 -59
- package/src/docs/pages/events/index.vue +0 -33
- package/src/docs/pages/events/search.vue +0 -169
- package/src/docs/pages/events/search_filter.vue +0 -45
- package/src/docs/pages/frameworks/index.vue +0 -18
- package/src/docs/pages/frameworks/vue.vue +0 -407
- package/src/docs/pages/home.vue +0 -241
- package/src/docs/pages/install.vue +0 -105
- package/src/docs/pages/methods/destroy.vue +0 -66
- package/src/docs/pages/methods/enable_disable.vue +0 -70
- package/src/docs/pages/methods/get_data.vue +0 -82
- package/src/docs/pages/methods/get_selected.vue +0 -78
- package/src/docs/pages/methods/index.vue +0 -36
- package/src/docs/pages/methods/open_close.vue +0 -63
- package/src/docs/pages/methods/search.vue +0 -62
- package/src/docs/pages/methods/set_data.vue +0 -106
- package/src/docs/pages/methods/set_selected.vue +0 -70
- package/src/docs/pages/selects.vue +0 -213
- package/src/docs/pages/settings/always_open.vue +0 -88
- package/src/docs/pages/settings/closable.vue +0 -128
- package/src/docs/pages/settings/close_on_select.vue +0 -69
- package/src/docs/pages/settings/content_location.vue +0 -64
- package/src/docs/pages/settings/content_position.vue +0 -86
- package/src/docs/pages/settings/css.vue +0 -73
- package/src/docs/pages/settings/data_attributes.vue +0 -39
- package/src/docs/pages/settings/deselect.vue +0 -69
- package/src/docs/pages/settings/display.vue +0 -88
- package/src/docs/pages/settings/hide_selected.vue +0 -73
- package/src/docs/pages/settings/html.vue +0 -86
- package/src/docs/pages/settings/index.vue +0 -76
- package/src/docs/pages/settings/mandatory.vue +0 -91
- package/src/docs/pages/settings/min_max.vue +0 -61
- package/src/docs/pages/settings/open_position.vue +0 -60
- package/src/docs/pages/settings/placeholder.vue +0 -72
- package/src/docs/pages/settings/search.vue +0 -140
- package/src/docs/pages/settings/select.vue +0 -32
- package/src/docs/pages/settings/select_all.vue +0 -88
- package/src/docs/pages/settings/show_tooltip.vue +0 -44
- package/src/docs/pages/settings/styles.vue +0 -51
- package/src/docs/router.ts +0 -50
|
@@ -1,128 +0,0 @@
|
|
|
1
|
-
<script lang="ts">
|
|
2
|
-
import { defineComponent } from 'vue'
|
|
3
|
-
|
|
4
|
-
import SlimSelect from '../../../slim-select'
|
|
5
|
-
|
|
6
|
-
export default defineComponent({
|
|
7
|
-
name: 'Closable',
|
|
8
|
-
mounted() {
|
|
9
|
-
new SlimSelect({
|
|
10
|
-
select: this.$refs.closableSingle as HTMLSelectElement,
|
|
11
|
-
})
|
|
12
|
-
new SlimSelect({
|
|
13
|
-
select: this.$refs.closableMultiple as HTMLSelectElement,
|
|
14
|
-
})
|
|
15
|
-
},
|
|
16
|
-
})
|
|
17
|
-
</script>
|
|
18
|
-
|
|
19
|
-
<template>
|
|
20
|
-
<div id="closable" class="content">
|
|
21
|
-
<h2 class="header">closable</h2>
|
|
22
|
-
<p>closable is a optgroup settings that adds the ability to have closable optgroup options.</p>
|
|
23
|
-
<p>Values: <strong>"off"</strong> | <strong>"open"</strong> | <strong>"close"</strong></p>
|
|
24
|
-
<p>Default: <strong>"off"</strong></p>
|
|
25
|
-
|
|
26
|
-
<div class="alert info">You can set closable either by data or by html dataset added to the optgroup element</div>
|
|
27
|
-
|
|
28
|
-
<div class="row">
|
|
29
|
-
<select ref="closableSingle">
|
|
30
|
-
<optgroup label="Label 1" data-closable="off">
|
|
31
|
-
<option value="value1">Value 1</option>
|
|
32
|
-
<option value="value2">Value 2</option>
|
|
33
|
-
<option value="value3">Value 3</option>
|
|
34
|
-
</optgroup>
|
|
35
|
-
<optgroup label="Label 2" data-closable="open">
|
|
36
|
-
<option value="value4">Value 4</option>
|
|
37
|
-
<option value="value5">Value 5</option>
|
|
38
|
-
<option value="value6">Value 6</option>
|
|
39
|
-
</optgroup>
|
|
40
|
-
<optgroup label="Label 3" data-closable="close">
|
|
41
|
-
<option value="value7">Value 7</option>
|
|
42
|
-
<option value="value8">Value 8</option>
|
|
43
|
-
<option value="value9">Value 9</option>
|
|
44
|
-
</optgroup>
|
|
45
|
-
</select>
|
|
46
|
-
<select ref="closableMultiple" multiple>
|
|
47
|
-
<optgroup label="Label 1" data-selectall="true" data-closable="off">
|
|
48
|
-
<option value="value1">Value 1</option>
|
|
49
|
-
<option value="value2">Value 2</option>
|
|
50
|
-
<option value="value3">Value 3</option>
|
|
51
|
-
</optgroup>
|
|
52
|
-
<optgroup label="Label 2" data-selectall="true" data-closable="open">
|
|
53
|
-
<option value="value4">Value 4</option>
|
|
54
|
-
<option value="value5">Value 5</option>
|
|
55
|
-
<option value="value6">Value 6</option>
|
|
56
|
-
</optgroup>
|
|
57
|
-
<optgroup label="Label 3" data-selectall="true" data-closable="close">
|
|
58
|
-
<option value="value7">Value 7</option>
|
|
59
|
-
<option value="value8">Value 8</option>
|
|
60
|
-
<option value="value9">Value 9</option>
|
|
61
|
-
</optgroup>
|
|
62
|
-
</select>
|
|
63
|
-
</div>
|
|
64
|
-
<br />
|
|
65
|
-
|
|
66
|
-
<h3>Via data</h3>
|
|
67
|
-
<pre>
|
|
68
|
-
<code class="language-javascript">
|
|
69
|
-
new SlimSelect({
|
|
70
|
-
select: '#selectElement',
|
|
71
|
-
data: [
|
|
72
|
-
{
|
|
73
|
-
label: 'Label 1',
|
|
74
|
-
closable: 'off',
|
|
75
|
-
options: [
|
|
76
|
-
{ text: 'Option 1', value: '1' },
|
|
77
|
-
{ text: 'Option 2', value: '2' },
|
|
78
|
-
{ text: 'Option 3', value: '3' },
|
|
79
|
-
],
|
|
80
|
-
},
|
|
81
|
-
{
|
|
82
|
-
label: 'Label 2',
|
|
83
|
-
closable: 'open',
|
|
84
|
-
options: [
|
|
85
|
-
{ text: 'Option 4', value: '4' },
|
|
86
|
-
{ text: 'Option 5', value: '5' },
|
|
87
|
-
{ text: 'Option 6', value: '6' },
|
|
88
|
-
],
|
|
89
|
-
},
|
|
90
|
-
{
|
|
91
|
-
label: 'Label 3',
|
|
92
|
-
closable: 'close',
|
|
93
|
-
options: [
|
|
94
|
-
{ text: 'Option 7', value: '7' },
|
|
95
|
-
{ text: 'Option 8', value: '8' },
|
|
96
|
-
{ text: 'Option 9', value: '9' },
|
|
97
|
-
],
|
|
98
|
-
},
|
|
99
|
-
],
|
|
100
|
-
})
|
|
101
|
-
</code>
|
|
102
|
-
</pre>
|
|
103
|
-
<br />
|
|
104
|
-
|
|
105
|
-
<h3>Via html</h3>
|
|
106
|
-
<pre>
|
|
107
|
-
<code class="language-html">
|
|
108
|
-
<select ref="closable" multiple>
|
|
109
|
-
<optgroup label="Label 1" data-closable="off">
|
|
110
|
-
<option value="value1">Value 1</option>
|
|
111
|
-
<option value="value2">Value 2</option>
|
|
112
|
-
<option value="value3">Value 3</option>
|
|
113
|
-
</optgroup>
|
|
114
|
-
<optgroup label="Label 2" data-closable="open">
|
|
115
|
-
<option value="value4">Value 4</option>
|
|
116
|
-
<option value="value5">Value 5</option>
|
|
117
|
-
<option value="value6">Value 6</option>
|
|
118
|
-
</optgroup>
|
|
119
|
-
<optgroup label="Label 3" data-closable="close">
|
|
120
|
-
<option value="value7">Value 7</option>
|
|
121
|
-
<option value="value8">Value 8</option>
|
|
122
|
-
<option value="value9">Value 9</option>
|
|
123
|
-
</optgroup>
|
|
124
|
-
</select>
|
|
125
|
-
</code>
|
|
126
|
-
</pre>
|
|
127
|
-
</div>
|
|
128
|
-
</template>
|
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
<script lang="ts">
|
|
2
|
-
import { defineComponent } from 'vue'
|
|
3
|
-
|
|
4
|
-
import SlimSelect from '../../../slim-select'
|
|
5
|
-
|
|
6
|
-
export default defineComponent({
|
|
7
|
-
name: 'CloseOnSelect',
|
|
8
|
-
mounted() {
|
|
9
|
-
new SlimSelect({
|
|
10
|
-
select: this.$refs.closeOnSelectSingle as HTMLSelectElement,
|
|
11
|
-
settings: {
|
|
12
|
-
closeOnSelect: false,
|
|
13
|
-
},
|
|
14
|
-
})
|
|
15
|
-
|
|
16
|
-
new SlimSelect({
|
|
17
|
-
select: this.$refs.closeOnSelectMultiple as HTMLSelectElement,
|
|
18
|
-
settings: {
|
|
19
|
-
closeOnSelect: false,
|
|
20
|
-
selectByGroup: true,
|
|
21
|
-
},
|
|
22
|
-
})
|
|
23
|
-
},
|
|
24
|
-
})
|
|
25
|
-
</script>
|
|
26
|
-
|
|
27
|
-
<template>
|
|
28
|
-
<div id="closeOnSelect" class="content">
|
|
29
|
-
<h2 class="header">closeOnSelect</h2>
|
|
30
|
-
<p>
|
|
31
|
-
closeOnSelect is a boolean value in which determines whether or not to close the content area upon selecting a
|
|
32
|
-
value.
|
|
33
|
-
</p>
|
|
34
|
-
|
|
35
|
-
<div class="row">
|
|
36
|
-
<select ref="closeOnSelectSingle">
|
|
37
|
-
<option value="value1">Value 1</option>
|
|
38
|
-
<option value="value2">Value 2</option>
|
|
39
|
-
<option value="value3">Value 3</option>
|
|
40
|
-
<optgroup label="Super Values">
|
|
41
|
-
<option value="value11">Value 1</option>
|
|
42
|
-
<option value="value22">Value 2</option>
|
|
43
|
-
<option value="value33">Value 3</option>
|
|
44
|
-
</optgroup>
|
|
45
|
-
</select>
|
|
46
|
-
<select ref="closeOnSelectMultiple" multiple>
|
|
47
|
-
<option value="value1">Value 1</option>
|
|
48
|
-
<option value="value2">Value 2</option>
|
|
49
|
-
<option value="value3">Value 3</option>
|
|
50
|
-
<optgroup label="Super Values">
|
|
51
|
-
<option value="value11">Value 1</option>
|
|
52
|
-
<option value="value22">Value 2</option>
|
|
53
|
-
<option value="value33">Value 3</option>
|
|
54
|
-
</optgroup>
|
|
55
|
-
</select>
|
|
56
|
-
</div>
|
|
57
|
-
|
|
58
|
-
<pre>
|
|
59
|
-
<code class="language-javascript">
|
|
60
|
-
new SlimSelect({
|
|
61
|
-
select: '#search',
|
|
62
|
-
settings: {
|
|
63
|
-
closeOnSelect: false,
|
|
64
|
-
},
|
|
65
|
-
})
|
|
66
|
-
</code>
|
|
67
|
-
</pre>
|
|
68
|
-
</div>
|
|
69
|
-
</template>
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
<script lang="ts">
|
|
2
|
-
import { defineComponent } from 'vue'
|
|
3
|
-
|
|
4
|
-
import SlimSelect from '../../../slim-select'
|
|
5
|
-
|
|
6
|
-
export default defineComponent({
|
|
7
|
-
name: 'ContentLocation',
|
|
8
|
-
mounted() {
|
|
9
|
-
new SlimSelect({
|
|
10
|
-
select: this.$refs.contentLocation as HTMLSelectElement,
|
|
11
|
-
settings: {
|
|
12
|
-
contentLocation: this.$refs.local as HTMLElement,
|
|
13
|
-
},
|
|
14
|
-
})
|
|
15
|
-
},
|
|
16
|
-
})
|
|
17
|
-
</script>
|
|
18
|
-
|
|
19
|
-
<template>
|
|
20
|
-
<div id="contentLocation" class="content">
|
|
21
|
-
<h2 class="header">contentLocation</h2>
|
|
22
|
-
<p>
|
|
23
|
-
contentLocation will allow you to set the location of where the content section of slim select. By default every
|
|
24
|
-
content div is appended to the body.
|
|
25
|
-
</p>
|
|
26
|
-
<p>
|
|
27
|
-
The content container is the bottom half of slim select. This includes the search input field and available
|
|
28
|
-
options
|
|
29
|
-
</p>
|
|
30
|
-
|
|
31
|
-
<div class="row">
|
|
32
|
-
<select ref="contentLocation" style="width: 50%">
|
|
33
|
-
<option value="value1">Value 1</option>
|
|
34
|
-
<option value="value2">Value 2</option>
|
|
35
|
-
<option value="value3">Value 3</option>
|
|
36
|
-
</select>
|
|
37
|
-
<div ref="local"></div>
|
|
38
|
-
</div>
|
|
39
|
-
|
|
40
|
-
<pre>
|
|
41
|
-
<code class="language-javascript">
|
|
42
|
-
new SlimSelect({
|
|
43
|
-
select: '#selectElement',
|
|
44
|
-
settings: {
|
|
45
|
-
contentLocation: document.getElementById('local')
|
|
46
|
-
}
|
|
47
|
-
})
|
|
48
|
-
</code>
|
|
49
|
-
</pre>
|
|
50
|
-
|
|
51
|
-
<pre>
|
|
52
|
-
<code class="language-html">
|
|
53
|
-
<select id="contentLocation">
|
|
54
|
-
<option value="value1">Value 1</option>
|
|
55
|
-
<option value="value2">Value 2</option>
|
|
56
|
-
<option value="value3">Value 3</option>
|
|
57
|
-
</select>
|
|
58
|
-
|
|
59
|
-
<!-- The content will go in this div -->
|
|
60
|
-
<div id="local"></div>
|
|
61
|
-
</code>
|
|
62
|
-
</pre>
|
|
63
|
-
</div>
|
|
64
|
-
</template>
|
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
<script lang="ts">
|
|
2
|
-
import { defineComponent } from 'vue'
|
|
3
|
-
|
|
4
|
-
import SlimSelect from '../../../slim-select'
|
|
5
|
-
|
|
6
|
-
export default defineComponent({
|
|
7
|
-
name: 'ContentPosition',
|
|
8
|
-
mounted() {
|
|
9
|
-
new SlimSelect({
|
|
10
|
-
select: this.$refs.contentPositionRelative as HTMLSelectElement,
|
|
11
|
-
settings: {
|
|
12
|
-
contentPosition: 'relative',
|
|
13
|
-
contentLocation: this.$refs.contentPositionRelativeContent as HTMLElement,
|
|
14
|
-
},
|
|
15
|
-
})
|
|
16
|
-
|
|
17
|
-
new SlimSelect({
|
|
18
|
-
select: this.$refs.contentPositionAbsolute as HTMLSelectElement,
|
|
19
|
-
settings: {
|
|
20
|
-
contentPosition: 'absolute',
|
|
21
|
-
},
|
|
22
|
-
})
|
|
23
|
-
},
|
|
24
|
-
})
|
|
25
|
-
</script>
|
|
26
|
-
|
|
27
|
-
<style lang="scss">
|
|
28
|
-
#contentPosition {
|
|
29
|
-
.row {
|
|
30
|
-
.ss-main {
|
|
31
|
-
height: 30px;
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
.relative {
|
|
35
|
-
width: 200px;
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
.absolute {
|
|
39
|
-
width: 200px;
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
</style>
|
|
44
|
-
|
|
45
|
-
<template>
|
|
46
|
-
<div id="contentPosition" class="content">
|
|
47
|
-
<h2 class="header">contentPosition</h2>
|
|
48
|
-
<p>contentPosition will set the css position to either relative. Default is <b>'absolute'</b></p>
|
|
49
|
-
|
|
50
|
-
<div class="alert info">
|
|
51
|
-
If you do use relative position be sure to set the contentLocation to an element that will work best for your use
|
|
52
|
-
case. Otherwise SlimSelect will add you content to the body of the html. See example usage below.
|
|
53
|
-
</div>
|
|
54
|
-
|
|
55
|
-
<div class="row">
|
|
56
|
-
<select ref="contentPositionRelative" class="relative">
|
|
57
|
-
<option data-placeholder="true">Relative</option>
|
|
58
|
-
<option value="value1">Value 1</option>
|
|
59
|
-
<option value="value2">Value 2</option>
|
|
60
|
-
<option value="value3">Value 3</option>
|
|
61
|
-
</select>
|
|
62
|
-
<div ref="contentPositionRelativeContent"></div>
|
|
63
|
-
<select ref="contentPositionAbsolute" class="absolute">
|
|
64
|
-
<option data-placeholder="true">Absolute</option>
|
|
65
|
-
<option value="value1">Value 1</option>
|
|
66
|
-
<option value="value2">Value 2</option>
|
|
67
|
-
<option value="value3">Value 3</option>
|
|
68
|
-
</select>
|
|
69
|
-
</div>
|
|
70
|
-
|
|
71
|
-
<pre>
|
|
72
|
-
<code class="language-javascript">
|
|
73
|
-
new SlimSelect({
|
|
74
|
-
select: '#selectElement',
|
|
75
|
-
settings: {
|
|
76
|
-
contentPosition: 'relative' // 'absolute' or 'relative'
|
|
77
|
-
|
|
78
|
-
// To help with relative positioning
|
|
79
|
-
// you can set the contentLocation
|
|
80
|
-
contentLocation: document.getElementById('local')
|
|
81
|
-
}
|
|
82
|
-
})
|
|
83
|
-
</code>
|
|
84
|
-
</pre>
|
|
85
|
-
</div>
|
|
86
|
-
</template>
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
<script lang="ts">
|
|
2
|
-
import { defineComponent } from 'vue'
|
|
3
|
-
|
|
4
|
-
import SlimSelect from '../../../slim-select'
|
|
5
|
-
|
|
6
|
-
export default defineComponent({
|
|
7
|
-
name: 'Css',
|
|
8
|
-
mounted() {
|
|
9
|
-
new SlimSelect({ select: this.$refs.selectClass as HTMLSelectElement })
|
|
10
|
-
new SlimSelect({ select: this.$refs.optionClass as HTMLSelectElement })
|
|
11
|
-
},
|
|
12
|
-
})
|
|
13
|
-
</script>
|
|
14
|
-
|
|
15
|
-
<style lang="scss">
|
|
16
|
-
.select-class.ss-main {
|
|
17
|
-
background-color: #5897fb;
|
|
18
|
-
color: white;
|
|
19
|
-
border: none;
|
|
20
|
-
|
|
21
|
-
.ss-arrow * {
|
|
22
|
-
border-color: white;
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
.ss-option {
|
|
27
|
-
&.red {
|
|
28
|
-
color: white;
|
|
29
|
-
background-color: red;
|
|
30
|
-
}
|
|
31
|
-
&.green {
|
|
32
|
-
color: white;
|
|
33
|
-
background-color: green;
|
|
34
|
-
}
|
|
35
|
-
&.blue {
|
|
36
|
-
color: white;
|
|
37
|
-
background-color: blue;
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
</style>
|
|
41
|
-
|
|
42
|
-
<template>
|
|
43
|
-
<div id="cssClass" class="content">
|
|
44
|
-
<h2 class="header">css class</h2>
|
|
45
|
-
<p>
|
|
46
|
-
Slim select will inherit any classes that were added to the original select element. This includes options as
|
|
47
|
-
well.
|
|
48
|
-
</p>
|
|
49
|
-
|
|
50
|
-
<div class="row">
|
|
51
|
-
<select ref="selectClass" class="select-class">
|
|
52
|
-
<option value="value1">Value 1</option>
|
|
53
|
-
<option value="value2">Value 2</option>
|
|
54
|
-
<option value="value3">Value 3</option>
|
|
55
|
-
</select>
|
|
56
|
-
<select ref="optionClass" class="option-class">
|
|
57
|
-
<option class="red" value="value1">Red</option>
|
|
58
|
-
<option class="green" value="value2">Green</option>
|
|
59
|
-
<option class="blue" value="value3">Blue</option>
|
|
60
|
-
</select>
|
|
61
|
-
</div>
|
|
62
|
-
|
|
63
|
-
<pre>
|
|
64
|
-
<code class="language-html">
|
|
65
|
-
<select id="select-class" class="classItems">
|
|
66
|
-
<option class="red" value="value1">Value 1</option>
|
|
67
|
-
<option class="green" value="value2">Value 2</option>
|
|
68
|
-
<option class="blue" value="value3">Value 3</option>
|
|
69
|
-
</select>
|
|
70
|
-
</code>
|
|
71
|
-
</pre>
|
|
72
|
-
</div>
|
|
73
|
-
</template>
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
<script lang="ts">
|
|
2
|
-
import { defineComponent } from 'vue'
|
|
3
|
-
|
|
4
|
-
import SlimSelect from '../../../slim-select'
|
|
5
|
-
|
|
6
|
-
export default defineComponent({
|
|
7
|
-
name: 'DataAttributes',
|
|
8
|
-
mounted() {
|
|
9
|
-
new SlimSelect({ select: this.$refs.optionsSingle as HTMLSelectElement })
|
|
10
|
-
new SlimSelect({ select: this.$refs.optionsMultiple as HTMLSelectElement })
|
|
11
|
-
},
|
|
12
|
-
})
|
|
13
|
-
</script>
|
|
14
|
-
|
|
15
|
-
<template>
|
|
16
|
-
<div id="dataAttributes" class="content">
|
|
17
|
-
<h2 class="header">Data Attributes</h2>
|
|
18
|
-
<p>
|
|
19
|
-
Slim select will take on attributes of the original as best as possible. Below are example usages of attributes
|
|
20
|
-
added to the underlining select options that slim select picked up and used
|
|
21
|
-
</p>
|
|
22
|
-
|
|
23
|
-
<div class="row">
|
|
24
|
-
<select ref="optionsSingle">
|
|
25
|
-
<option data-placeholder="true"></option>
|
|
26
|
-
<option value="value1" data-info="Here is info">Data Attributes</option>
|
|
27
|
-
<option value="value2" disabled>Disabled Option</option>
|
|
28
|
-
<option value="value3" class="green">Class Green</option>
|
|
29
|
-
<option value="value4" style="color: purple">Inline Style</option>
|
|
30
|
-
</select>
|
|
31
|
-
<select ref="optionsMultiple" multiple>
|
|
32
|
-
<option value="value1" data-info="Here is info">Data Attributes</option>
|
|
33
|
-
<option value="value2" disabled>Disabled Option</option>
|
|
34
|
-
<option value="value3" class="green">Class Green</option>
|
|
35
|
-
<option value="value4" style="color: purple">Inline Style</option>
|
|
36
|
-
</select>
|
|
37
|
-
</div>
|
|
38
|
-
</div>
|
|
39
|
-
</template>
|
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
<script lang="ts">
|
|
2
|
-
import { defineComponent } from 'vue'
|
|
3
|
-
|
|
4
|
-
import SlimSelect from '../../../slim-select'
|
|
5
|
-
|
|
6
|
-
export default defineComponent({
|
|
7
|
-
name: 'Deselect',
|
|
8
|
-
mounted() {
|
|
9
|
-
new SlimSelect({
|
|
10
|
-
select: this.$refs.allowDeselectSingle as HTMLSelectElement,
|
|
11
|
-
settings: {
|
|
12
|
-
allowDeselect: true,
|
|
13
|
-
},
|
|
14
|
-
})
|
|
15
|
-
|
|
16
|
-
new SlimSelect({
|
|
17
|
-
select: this.$refs.allowDeselectMultiple as HTMLSelectElement,
|
|
18
|
-
settings: {
|
|
19
|
-
allowDeselect: true,
|
|
20
|
-
},
|
|
21
|
-
})
|
|
22
|
-
},
|
|
23
|
-
})
|
|
24
|
-
</script>
|
|
25
|
-
|
|
26
|
-
<template>
|
|
27
|
-
<div id="allowDeselect" class="content">
|
|
28
|
-
<h2 class="header">allowDeselect</h2>
|
|
29
|
-
<p>This will allow you to deselect a value on a single/multiple select dropdown.</p>
|
|
30
|
-
<p>Be sure to have an empty option data placeholder so slim select has an empty string value to select.</p>
|
|
31
|
-
|
|
32
|
-
<div class="row">
|
|
33
|
-
<select ref="allowDeselectSingle">
|
|
34
|
-
<option data-placeholder="true"></option>
|
|
35
|
-
<option value="value1">Value 1</option>
|
|
36
|
-
<option value="value2">Value 2</option>
|
|
37
|
-
<option value="value3">Value 3</option>
|
|
38
|
-
</select>
|
|
39
|
-
<select ref="allowDeselectMultiple" multiple>
|
|
40
|
-
<option data-placeholder="true"></option>
|
|
41
|
-
<option value="value1">Value 1</option>
|
|
42
|
-
<option value="value2">Value 2</option>
|
|
43
|
-
<option value="value3">Value 3</option>
|
|
44
|
-
</select>
|
|
45
|
-
</div>
|
|
46
|
-
|
|
47
|
-
<pre>
|
|
48
|
-
<code class="language-javascript">
|
|
49
|
-
new SlimSelect({
|
|
50
|
-
select: '#selectElement',
|
|
51
|
-
settings: {
|
|
52
|
-
allowDeselect: true
|
|
53
|
-
}
|
|
54
|
-
})
|
|
55
|
-
</code>
|
|
56
|
-
</pre>
|
|
57
|
-
<pre>
|
|
58
|
-
<code class="language-html">
|
|
59
|
-
<!-- Requires emtpy data-placeholder option -->
|
|
60
|
-
<select id="allowDeselect">
|
|
61
|
-
<option data-placeholder="true"></option>
|
|
62
|
-
<option value="value1">Value 1</option>
|
|
63
|
-
<option value="value2">Value 2</option>
|
|
64
|
-
<option value="value3">Value 3</option>
|
|
65
|
-
</select>
|
|
66
|
-
</code>
|
|
67
|
-
</pre>
|
|
68
|
-
</div>
|
|
69
|
-
</template>
|
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
<script lang="ts">
|
|
2
|
-
import { defineComponent } from 'vue'
|
|
3
|
-
|
|
4
|
-
import SlimSelect from '../../../slim-select'
|
|
5
|
-
|
|
6
|
-
export default defineComponent({
|
|
7
|
-
name: 'Display',
|
|
8
|
-
mounted() {
|
|
9
|
-
const displaySelect = new SlimSelect({
|
|
10
|
-
select: this.$refs.selectdisplay as HTMLSelectElement,
|
|
11
|
-
})
|
|
12
|
-
|
|
13
|
-
const displayData = [
|
|
14
|
-
{ value: 'value1', text: 'Value 1', display: false },
|
|
15
|
-
{ value: 'value2', text: 'Value 2' },
|
|
16
|
-
{ value: 'value3', text: 'Value 3' },
|
|
17
|
-
]
|
|
18
|
-
|
|
19
|
-
displaySelect.setData(displayData)
|
|
20
|
-
displaySelect.setSelected(['value1', 'value3'])
|
|
21
|
-
|
|
22
|
-
new SlimSelect({
|
|
23
|
-
select: this.$refs.selectdisplay2 as HTMLSelectElement,
|
|
24
|
-
})
|
|
25
|
-
},
|
|
26
|
-
})
|
|
27
|
-
</script>
|
|
28
|
-
|
|
29
|
-
<template>
|
|
30
|
-
<div id="display" class="content">
|
|
31
|
-
<h2 class="header">display</h2>
|
|
32
|
-
<p>Allows to hide elements of selected values.</p>
|
|
33
|
-
|
|
34
|
-
<div class="row">
|
|
35
|
-
<select ref="selectdisplay" multiple></select>
|
|
36
|
-
</div>
|
|
37
|
-
|
|
38
|
-
<pre>
|
|
39
|
-
<code class="language-javascript">
|
|
40
|
-
const displaySelect = new SlimSelect({
|
|
41
|
-
select: '#selectElement'
|
|
42
|
-
})
|
|
43
|
-
|
|
44
|
-
const displayData = [
|
|
45
|
-
{ value: 'value1', text: 'Value 1', display: false },
|
|
46
|
-
{ value: 'value2', text: 'Value 2' },
|
|
47
|
-
{ value: 'value3', text: 'Value 3' },
|
|
48
|
-
]
|
|
49
|
-
|
|
50
|
-
displaySelect.setData(displayData)
|
|
51
|
-
displaySelect.set(['value1', 'value3'])
|
|
52
|
-
</code>
|
|
53
|
-
</pre>
|
|
54
|
-
|
|
55
|
-
<pre>
|
|
56
|
-
<code class="language-html">
|
|
57
|
-
<select id="selectMultiMandatory" multiple></select>
|
|
58
|
-
</code>
|
|
59
|
-
</pre>
|
|
60
|
-
|
|
61
|
-
<p>Or</p>
|
|
62
|
-
<div class="row">
|
|
63
|
-
<select ref="selectdisplay2" multiple>
|
|
64
|
-
<option value="value1" style="display: none" selected>Value 1</option>
|
|
65
|
-
<option value="value2" selected>Value 2</option>
|
|
66
|
-
<option value="value3">Value 3</option>
|
|
67
|
-
</select>
|
|
68
|
-
</div>
|
|
69
|
-
|
|
70
|
-
<pre>
|
|
71
|
-
<code class="language-javascript">
|
|
72
|
-
const slim = new SlimSelect({
|
|
73
|
-
select: '#selectElement'
|
|
74
|
-
});
|
|
75
|
-
</code>
|
|
76
|
-
</pre>
|
|
77
|
-
|
|
78
|
-
<pre>
|
|
79
|
-
<code class="language-html">
|
|
80
|
-
<select id="selectdisplay2" multiple>
|
|
81
|
-
<option value="value1" style="display: none;" selected>Value 1</option>
|
|
82
|
-
<option value="value2" selected>Value 2</option>
|
|
83
|
-
<option value="value3">Value 3</option>
|
|
84
|
-
</select>
|
|
85
|
-
</code>
|
|
86
|
-
</pre>
|
|
87
|
-
</div>
|
|
88
|
-
</template>
|