slim-select 1.27.0 → 2.0.0
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/.nvmrc +1 -0
- package/.prettierrc +6 -0
- package/.vscode/extensions.json +3 -0
- package/.vscode/settings.json +15 -5
- package/README.md +2 -1
- package/dist/helper.d.ts +1 -4
- package/dist/index.d.ts +38 -58
- package/dist/render.d.ts +109 -0
- package/dist/select.d.ts +31 -20
- package/dist/settings.d.ts +33 -0
- package/dist/slimselect.cjs.js +2 -0
- package/dist/slimselect.cjs.js.map +1 -0
- package/dist/slimselect.css +1 -2
- package/dist/slimselect.css.map +1 -0
- package/dist/slimselect.es.js +2 -0
- package/dist/slimselect.es.js.map +1 -0
- package/dist/slimselect.global.js +2 -0
- package/dist/slimselect.global.js.map +1 -0
- package/dist/slimselect.js +2 -1956
- package/dist/slimselect.js.map +1 -0
- package/dist/slimselect.umd.js +2 -0
- package/dist/slimselect.umd.js.map +1 -0
- package/dist/store.d.ts +71 -0
- package/docs/assets/check-mark.svg +6 -0
- package/docs/assets/data.js +59 -0
- package/docs/assets/home.css +1 -0
- package/docs/assets/home.js +1 -0
- package/docs/assets/index.css +1 -0
- package/docs/assets/index.js +16 -0
- package/docs/assets/index2.js +274 -0
- package/docs/assets/index3.js +126 -0
- package/docs/assets/index4.js +60 -0
- package/docs/assets/install.js +34 -0
- package/docs/assets/selects.js +55 -0
- package/docs/index.html +18 -5
- package/docs.go +3 -1
- package/index.html +16 -0
- package/jest.config.js +7 -0
- package/package.json +39 -39
- package/src/docs/app.vue +185 -76
- package/src/docs/assets/scss/_variables.scss +26 -10
- package/src/docs/assets/scss/alert.scss +12 -0
- package/src/docs/assets/scss/animations.scss +5 -3
- package/src/docs/assets/scss/button.scss +21 -0
- package/src/docs/assets/scss/index.scss +8 -6
- package/src/docs/assets/scss/input.scss +2 -2
- package/src/docs/assets/scss/layout.scss +195 -65
- package/src/docs/assets/scss/misc.scss +144 -34
- package/src/docs/assets/scss/prism.scss +155 -153
- package/src/docs/env.d.ts +12 -0
- package/src/docs/images/check-mark.svg +6 -0
- package/src/docs/images/chrome.svg +22 -0
- package/src/docs/images/firefox.svg +58 -0
- package/src/docs/images/github.png +0 -0
- package/src/docs/images/ie.svg +11 -0
- package/src/docs/images/npm.png +0 -0
- package/src/docs/images/opera.svg +15 -0
- package/src/docs/images/safari.svg +22 -0
- package/src/docs/main.ts +27 -0
- package/src/docs/pages/data.vue +130 -0
- package/src/docs/pages/events/addable.vue +79 -0
- package/src/docs/pages/events/before_after_change.vue +140 -0
- package/src/docs/pages/events/before_after_open_close.vue +122 -0
- package/src/docs/pages/events/error.vue +59 -0
- package/src/docs/pages/events/index.vue +33 -0
- package/src/docs/pages/events/search.vue +154 -0
- package/src/docs/pages/events/search_filter.vue +45 -0
- package/src/docs/pages/home.vue +96 -116
- package/src/docs/pages/install.vue +47 -74
- package/src/docs/pages/methods/destroy.vue +66 -0
- package/src/docs/pages/methods/enable_disable.vue +70 -0
- package/src/docs/pages/methods/get_data.vue +81 -0
- package/src/docs/pages/methods/get_selected.vue +78 -0
- package/src/docs/pages/methods/index.vue +36 -0
- package/src/docs/pages/methods/open_close.vue +63 -0
- package/src/docs/pages/methods/search.vue +62 -0
- package/src/docs/pages/methods/set_data.vue +106 -0
- package/src/docs/pages/methods/set_selected.vue +70 -0
- package/src/docs/pages/selects.vue +108 -114
- package/src/docs/pages/settings/always_open.vue +88 -0
- package/src/docs/pages/settings/close_on_select.vue +69 -0
- package/src/docs/pages/settings/content_location.vue +64 -0
- package/src/docs/pages/settings/content_position.vue +86 -0
- package/src/docs/pages/settings/css.vue +73 -0
- package/src/docs/pages/settings/data_attributes.vue +39 -0
- package/src/docs/pages/settings/deselect.vue +69 -0
- package/src/docs/pages/settings/display.vue +88 -0
- package/src/docs/pages/settings/hide_selected.vue +73 -0
- package/src/docs/pages/settings/html.vue +86 -0
- package/src/docs/pages/settings/index.vue +73 -0
- package/src/docs/pages/settings/mandatory.vue +91 -0
- package/src/docs/pages/settings/min_max.vue +61 -0
- package/src/docs/pages/settings/open_position.vue +60 -0
- package/src/docs/pages/settings/placeholder.vue +72 -0
- package/src/docs/pages/settings/search.vue +140 -0
- package/src/docs/pages/settings/select.vue +32 -0
- package/src/docs/pages/settings/select_by_group.vue +46 -0
- package/src/docs/pages/settings/show_tooltip.vue +44 -0
- package/src/docs/pages/settings/styles.vue +51 -0
- package/src/docs/router.ts +41 -13
- package/src/slim-select/helper.ts +25 -86
- package/src/slim-select/index.ts +318 -413
- package/src/slim-select/render.test.ts +39 -0
- package/src/slim-select/render.ts +1129 -0
- package/src/slim-select/rollup.config.mjs +39 -0
- package/src/slim-select/select.test.ts +155 -0
- package/src/slim-select/select.ts +280 -107
- package/src/slim-select/settings.ts +68 -0
- package/src/slim-select/slimselect.scss +263 -278
- package/src/slim-select/store.test.ts +220 -0
- package/src/slim-select/store.ts +320 -0
- package/src/slim-select/tsconfig.json +11 -5
- package/src/vue/slimselect.vue +61 -0
- package/tsconfig.json +10 -29
- package/vite.config.ts +18 -0
- package/.browserslistrc +0 -4
- package/.postcssrc.js +0 -5
- package/.travis.yml +0 -22
- package/babel.config.js +0 -5
- package/dist/config.d.ts +0 -83
- package/dist/data.d.ts +0 -50
- package/dist/slim.d.ts +0 -50
- package/dist/slimselect.min.css +0 -1
- package/dist/slimselect.min.js +0 -1
- package/dist/slimselect.min.mjs +0 -1
- package/docs/css/app.d5840d21.css +0 -1
- package/docs/css/chunk-vendors.4db6930d.css +0 -1
- package/docs/css/home.57020178.css +0 -1
- package/docs/css/install.baa5d3fb.css +0 -1
- package/docs/css/methods.728c742a.css +0 -1
- package/docs/css/options.b28a32ef.css +0 -1
- package/docs/css/selects.1a7e1e6a.css +0 -1
- package/docs/js/app.db13c724.js +0 -2
- package/docs/js/app.db13c724.js.map +0 -1
- package/docs/js/chunk-vendors.cc40aa28.js +0 -28
- package/docs/js/chunk-vendors.cc40aa28.js.map +0 -1
- package/docs/js/home.8bcb44fd.js +0 -2
- package/docs/js/home.8bcb44fd.js.map +0 -1
- package/docs/js/install.02f31028.js +0 -2
- package/docs/js/install.02f31028.js.map +0 -1
- package/docs/js/methods.1b31e988.js +0 -11
- package/docs/js/methods.1b31e988.js.map +0 -1
- package/docs/js/options.39fe1005.js +0 -2
- package/docs/js/options.39fe1005.js.map +0 -1
- package/docs/js/selects.f4d0b859.js +0 -2
- package/docs/js/selects.f4d0b859.js.map +0 -1
- package/src/docs/pages/methods.vue +0 -427
- package/src/docs/pages/options.vue +0 -1480
- package/src/main.ts +0 -29
- package/src/shims-vue.d.ts +0 -8
- package/src/slim-select/config.ts +0 -118
- package/src/slim-select/data.ts +0 -377
- package/src/slim-select/slim.ts +0 -770
- package/tslint.json +0 -26
- package/vue.config.js +0 -23
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { generateID } from './helper'
|
|
2
|
+
|
|
3
|
+
export type SettingsPartial = Partial<Settings>
|
|
4
|
+
|
|
5
|
+
export default class Settings {
|
|
6
|
+
public id: string = '' // Primary ID for the select
|
|
7
|
+
public style: string = '' // Style attribute from the select element
|
|
8
|
+
public class: string[] = [] // Class attribute from the select element
|
|
9
|
+
|
|
10
|
+
// Dynamic settings
|
|
11
|
+
public isMultiple: boolean = false
|
|
12
|
+
public isOpen: boolean = false
|
|
13
|
+
public triggerFocus: boolean = true
|
|
14
|
+
public intervalMove: NodeJS.Timeout | null = null
|
|
15
|
+
|
|
16
|
+
// Fields set from constructor
|
|
17
|
+
public mainHeight: number = 30
|
|
18
|
+
public contentHeight: number = 0
|
|
19
|
+
public isEnabled: boolean
|
|
20
|
+
public alwaysOpen: boolean
|
|
21
|
+
public showSearch: boolean
|
|
22
|
+
public searchPlaceholder: string
|
|
23
|
+
public searchText: string
|
|
24
|
+
public searchingText: string
|
|
25
|
+
public searchHighlight: boolean
|
|
26
|
+
public closeOnSelect: boolean
|
|
27
|
+
public contentLocation: HTMLElement
|
|
28
|
+
public contentPosition: 'relative' | 'absolute'
|
|
29
|
+
public openPosition: 'auto' | 'up' | 'down'
|
|
30
|
+
public placeholderText: string
|
|
31
|
+
public allowDeselect: boolean
|
|
32
|
+
public hideSelected: boolean
|
|
33
|
+
public showOptionTooltips: boolean
|
|
34
|
+
public selectByGroup: boolean
|
|
35
|
+
public minSelected: number
|
|
36
|
+
public maxSelected: number
|
|
37
|
+
public timeoutDelay: number
|
|
38
|
+
|
|
39
|
+
constructor(settings?: SettingsPartial) {
|
|
40
|
+
if (!settings) {
|
|
41
|
+
settings = {}
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
this.id = 'ss-' + generateID()
|
|
45
|
+
this.style = settings.style || ''
|
|
46
|
+
this.class = settings.class || []
|
|
47
|
+
|
|
48
|
+
this.isEnabled = settings.isEnabled !== undefined ? settings.isEnabled : true
|
|
49
|
+
this.alwaysOpen = settings.alwaysOpen !== undefined ? settings.alwaysOpen : false
|
|
50
|
+
this.showSearch = settings.showSearch !== undefined ? settings.showSearch : true
|
|
51
|
+
this.searchPlaceholder = settings.searchPlaceholder || 'Search'
|
|
52
|
+
this.searchText = settings.searchText || 'No Results'
|
|
53
|
+
this.searchingText = settings.searchingText || 'Searching...'
|
|
54
|
+
this.searchHighlight = settings.searchHighlight !== undefined ? settings.searchHighlight : false
|
|
55
|
+
this.closeOnSelect = settings.closeOnSelect !== undefined ? settings.closeOnSelect : true
|
|
56
|
+
this.contentLocation = settings.contentLocation || document.body
|
|
57
|
+
this.contentPosition = settings.contentPosition || 'absolute'
|
|
58
|
+
this.openPosition = settings.openPosition || 'auto' // options: auto, up, down
|
|
59
|
+
this.placeholderText = settings.placeholderText || 'Select Value'
|
|
60
|
+
this.allowDeselect = settings.allowDeselect !== undefined ? settings.allowDeselect : false
|
|
61
|
+
this.hideSelected = settings.hideSelected !== undefined ? settings.hideSelected : false
|
|
62
|
+
this.showOptionTooltips = settings.showOptionTooltips !== undefined ? settings.showOptionTooltips : false
|
|
63
|
+
this.selectByGroup = settings.selectByGroup !== undefined ? settings.selectByGroup : false
|
|
64
|
+
this.minSelected = settings.minSelected || 0
|
|
65
|
+
this.maxSelected = settings.maxSelected || 1000
|
|
66
|
+
this.timeoutDelay = settings.timeoutDelay || 200
|
|
67
|
+
}
|
|
68
|
+
}
|