slim-select 2.7.1 → 2.8.1

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.
@@ -1,120 +1,120 @@
1
- import Settings from './settings';
2
- import Store, { DataArray, Option, OptionOptional } from './store';
3
- export interface Callbacks {
4
- open: () => void;
5
- close: () => void;
6
- addable?: (value: string) => Promise<OptionOptional | string> | OptionOptional | string | false | undefined | null;
7
- setSelected: (value: string | string[], runAfterChange: boolean) => void;
8
- addOption: (option: Option) => void;
9
- search: (search: string) => void;
10
- beforeChange?: (newVal: Option[], oldVal: Option[]) => boolean | void;
11
- afterChange?: (newVal: Option[]) => void;
12
- }
13
- export interface Main {
14
- main: HTMLDivElement;
15
- values: HTMLDivElement;
16
- deselect: {
17
- main: HTMLDivElement;
18
- svg: SVGSVGElement;
19
- path: SVGPathElement;
20
- };
21
- arrow: {
22
- main: SVGSVGElement;
23
- path: SVGPathElement;
24
- };
25
- }
26
- export interface Content {
27
- main: HTMLDivElement;
28
- search: Search;
29
- list: HTMLDivElement;
30
- }
31
- export interface Search {
32
- main: HTMLDivElement;
33
- input: HTMLInputElement;
34
- addable?: {
35
- main: HTMLDivElement;
36
- svg: SVGSVGElement;
37
- path: SVGPathElement;
38
- };
39
- }
40
- export default class Render {
41
- settings: Settings;
42
- store: Store;
43
- callbacks: Callbacks;
44
- main: Main;
45
- content: Content;
46
- classes: {
47
- main: string;
48
- placeholder: string;
49
- values: string;
50
- single: string;
51
- max: string;
52
- value: string;
53
- valueText: string;
54
- valueDelete: string;
55
- valueOut: string;
56
- deselect: string;
57
- deselectPath: string;
58
- arrow: string;
59
- arrowClose: string;
60
- arrowOpen: string;
61
- content: string;
62
- openAbove: string;
63
- openBelow: string;
64
- search: string;
65
- searchHighlighter: string;
66
- searching: string;
67
- addable: string;
68
- addablePath: string;
69
- list: string;
70
- optgroup: string;
71
- optgroupLabel: string;
72
- optgroupLabelText: string;
73
- optgroupActions: string;
74
- optgroupSelectAll: string;
75
- optgroupSelectAllBox: string;
76
- optgroupSelectAllCheck: string;
77
- optgroupClosable: string;
78
- option: string;
79
- optionDelete: string;
80
- highlighted: string;
81
- open: string;
82
- close: string;
83
- selected: string;
84
- error: string;
85
- disabled: string;
86
- hide: string;
87
- };
88
- constructor(settings: Required<Settings>, store: Store, callbacks: Callbacks);
89
- enable(): void;
90
- disable(): void;
91
- open(): void;
92
- close(): void;
93
- updateClassStyles(): void;
94
- updateAriaAttributes(): void;
95
- mainDiv(): Main;
96
- mainFocus(eventType: string | null): void;
97
- placeholder(): HTMLDivElement;
98
- renderValues(): void;
99
- private renderSingleValue;
100
- private renderMultipleValues;
101
- multipleValue(option: Option): HTMLDivElement;
102
- contentDiv(): Content;
103
- moveContent(): void;
104
- searchDiv(): Search;
105
- searchFocus(): void;
106
- getOptions(notPlaceholder?: boolean, notDisabled?: boolean, notHidden?: boolean): HTMLDivElement[];
107
- highlight(dir: 'up' | 'down'): void;
108
- listDiv(): HTMLDivElement;
109
- renderError(error: string): void;
110
- renderSearching(): void;
111
- renderOptions(data: DataArray): void;
112
- option(option: Option): HTMLDivElement;
113
- destroy(): void;
114
- private highlightText;
115
- moveContentAbove(): void;
116
- moveContentBelow(): void;
117
- ensureElementInView(container: HTMLElement, element: HTMLElement): void;
118
- putContent(): 'up' | 'down';
119
- updateDeselectAll(): void;
120
- }
1
+ import Settings from './settings';
2
+ import Store, { DataArray, Option, OptionOptional } from './store';
3
+ export interface Callbacks {
4
+ open: () => void;
5
+ close: () => void;
6
+ addable?: (value: string) => Promise<OptionOptional | string> | OptionOptional | string | false | undefined | null;
7
+ setSelected: (value: string | string[], runAfterChange: boolean) => void;
8
+ addOption: (option: Option) => void;
9
+ search: (search: string) => void;
10
+ beforeChange?: (newVal: Option[], oldVal: Option[]) => boolean | void;
11
+ afterChange?: (newVal: Option[]) => void;
12
+ }
13
+ export interface Main {
14
+ main: HTMLDivElement;
15
+ values: HTMLDivElement;
16
+ deselect: {
17
+ main: HTMLDivElement;
18
+ svg: SVGSVGElement;
19
+ path: SVGPathElement;
20
+ };
21
+ arrow: {
22
+ main: SVGSVGElement;
23
+ path: SVGPathElement;
24
+ };
25
+ }
26
+ export interface Content {
27
+ main: HTMLDivElement;
28
+ search: Search;
29
+ list: HTMLDivElement;
30
+ }
31
+ export interface Search {
32
+ main: HTMLDivElement;
33
+ input: HTMLInputElement;
34
+ addable?: {
35
+ main: HTMLDivElement;
36
+ svg: SVGSVGElement;
37
+ path: SVGPathElement;
38
+ };
39
+ }
40
+ export default class Render {
41
+ settings: Settings;
42
+ store: Store;
43
+ callbacks: Callbacks;
44
+ main: Main;
45
+ content: Content;
46
+ classes: {
47
+ main: string;
48
+ placeholder: string;
49
+ values: string;
50
+ single: string;
51
+ max: string;
52
+ value: string;
53
+ valueText: string;
54
+ valueDelete: string;
55
+ valueOut: string;
56
+ deselect: string;
57
+ deselectPath: string;
58
+ arrow: string;
59
+ arrowClose: string;
60
+ arrowOpen: string;
61
+ content: string;
62
+ openAbove: string;
63
+ openBelow: string;
64
+ search: string;
65
+ searchHighlighter: string;
66
+ searching: string;
67
+ addable: string;
68
+ addablePath: string;
69
+ list: string;
70
+ optgroup: string;
71
+ optgroupLabel: string;
72
+ optgroupLabelText: string;
73
+ optgroupActions: string;
74
+ optgroupSelectAll: string;
75
+ optgroupSelectAllBox: string;
76
+ optgroupSelectAllCheck: string;
77
+ optgroupClosable: string;
78
+ option: string;
79
+ optionDelete: string;
80
+ highlighted: string;
81
+ open: string;
82
+ close: string;
83
+ selected: string;
84
+ error: string;
85
+ disabled: string;
86
+ hide: string;
87
+ };
88
+ constructor(settings: Required<Settings>, store: Store, callbacks: Callbacks);
89
+ enable(): void;
90
+ disable(): void;
91
+ open(): void;
92
+ close(): void;
93
+ updateClassStyles(): void;
94
+ updateAriaAttributes(): void;
95
+ mainDiv(): Main;
96
+ mainFocus(eventType: string | null): void;
97
+ placeholder(): HTMLDivElement;
98
+ renderValues(): void;
99
+ private renderSingleValue;
100
+ private renderMultipleValues;
101
+ multipleValue(option: Option): HTMLDivElement;
102
+ contentDiv(): Content;
103
+ moveContent(): void;
104
+ searchDiv(): Search;
105
+ searchFocus(): void;
106
+ getOptions(notPlaceholder?: boolean, notDisabled?: boolean, notHidden?: boolean): HTMLDivElement[];
107
+ highlight(dir: 'up' | 'down'): void;
108
+ listDiv(): HTMLDivElement;
109
+ renderError(error: string): void;
110
+ renderSearching(): void;
111
+ renderOptions(data: DataArray): void;
112
+ option(option: Option): HTMLDivElement;
113
+ destroy(): void;
114
+ private highlightText;
115
+ moveContentAbove(): void;
116
+ moveContentBelow(): void;
117
+ ensureElementInView(container: HTMLElement, element: HTMLElement): void;
118
+ putContent(): 'up' | 'down';
119
+ updateDeselectAll(): void;
120
+ }
@@ -1,28 +1,28 @@
1
- import { DataArray, DataArrayPartial, Optgroup, OptgroupOptional, Option } from './store';
2
- export default class Select {
3
- select: HTMLSelectElement;
4
- onValueChange?: (value: string[]) => void;
5
- onClassChange?: (classes: string[]) => void;
6
- onDisabledChange?: (disabled: boolean) => void;
7
- onOptionsChange?: (data: DataArrayPartial) => void;
8
- listen: boolean;
9
- private observer;
10
- constructor(select: HTMLSelectElement);
11
- enable(): void;
12
- disable(): void;
13
- hideUI(): void;
14
- showUI(): void;
15
- changeListen(listen: boolean): void;
16
- valueChange(ev: Event): boolean;
17
- private observeCall;
18
- getData(): DataArrayPartial;
19
- getDataFromOptgroup(optgroup: HTMLOptGroupElement): OptgroupOptional;
20
- getDataFromOption(option: HTMLOptionElement): Option;
21
- getSelectedValues(): string[];
22
- setSelected(value: string[]): void;
23
- updateSelect(id?: string, style?: string, classes?: string[]): void;
24
- updateOptions(data: DataArray): void;
25
- createOptgroup(optgroup: Optgroup): HTMLOptGroupElement;
26
- createOption(info: Option): HTMLOptionElement;
27
- destroy(): void;
28
- }
1
+ import { DataArray, DataArrayPartial, Optgroup, OptgroupOptional, Option } from './store';
2
+ export default class Select {
3
+ select: HTMLSelectElement;
4
+ onValueChange?: (value: string[]) => void;
5
+ onClassChange?: (classes: string[]) => void;
6
+ onDisabledChange?: (disabled: boolean) => void;
7
+ onOptionsChange?: (data: DataArrayPartial) => void;
8
+ listen: boolean;
9
+ private observer;
10
+ constructor(select: HTMLSelectElement);
11
+ enable(): void;
12
+ disable(): void;
13
+ hideUI(): void;
14
+ showUI(): void;
15
+ changeListen(listen: boolean): void;
16
+ valueChange(ev: Event): boolean;
17
+ private observeCall;
18
+ getData(): DataArrayPartial;
19
+ getDataFromOptgroup(optgroup: HTMLOptGroupElement): OptgroupOptional;
20
+ getDataFromOption(option: HTMLOptionElement): Option;
21
+ getSelectedValues(): string[];
22
+ setSelected(value: string[]): void;
23
+ updateSelect(id?: string, style?: string, classes?: string[]): void;
24
+ updateOptions(data: DataArray): void;
25
+ createOptgroup(optgroup: Optgroup): HTMLOptGroupElement;
26
+ createOption(info: Option): HTMLOptionElement;
27
+ destroy(): void;
28
+ }
@@ -1,33 +1,34 @@
1
- /// <reference types="node" />
2
- export type SettingsPartial = Partial<Settings>;
3
- export default class Settings {
4
- id: string;
5
- style: string;
6
- class: string[];
7
- isMultiple: boolean;
8
- isOpen: boolean;
9
- isFullOpen: boolean;
10
- intervalMove: NodeJS.Timeout | null;
11
- disabled: boolean;
12
- alwaysOpen: boolean;
13
- showSearch: boolean;
14
- ariaLabel: string;
15
- searchPlaceholder: string;
16
- searchText: string;
17
- searchingText: string;
18
- searchHighlight: boolean;
19
- closeOnSelect: boolean;
20
- contentLocation: HTMLElement;
21
- contentPosition: 'relative' | 'absolute';
22
- openPosition: 'auto' | 'up' | 'down';
23
- placeholderText: string;
24
- allowDeselect: boolean;
25
- hideSelected: boolean;
26
- showOptionTooltips: boolean;
27
- minSelected: number;
28
- maxSelected: number;
29
- timeoutDelay: number;
30
- maxValuesShown: number;
31
- maxValuesMessage: string;
32
- constructor(settings?: SettingsPartial);
33
- }
1
+ /// <reference types="node" />
2
+ export type SettingsPartial = Partial<Settings>;
3
+ export default class Settings {
4
+ id: string;
5
+ style: string;
6
+ class: string[];
7
+ isMultiple: boolean;
8
+ isOpen: boolean;
9
+ isFullOpen: boolean;
10
+ intervalMove: NodeJS.Timeout | null;
11
+ disabled: boolean;
12
+ alwaysOpen: boolean;
13
+ showSearch: boolean;
14
+ ariaLabel: string;
15
+ searchPlaceholder: string;
16
+ searchText: string;
17
+ searchingText: string;
18
+ searchHighlight: boolean;
19
+ closeOnSelect: boolean;
20
+ contentLocation: HTMLElement;
21
+ contentPosition: 'relative' | 'absolute';
22
+ openPosition: 'auto' | 'up' | 'down';
23
+ placeholderText: string;
24
+ allowDeselect: boolean;
25
+ hideSelected: boolean;
26
+ keepOrder: boolean;
27
+ showOptionTooltips: boolean;
28
+ minSelected: number;
29
+ maxSelected: number;
30
+ timeoutDelay: number;
31
+ maxValuesShown: number;
32
+ maxValuesMessage: string;
33
+ constructor(settings?: SettingsPartial);
34
+ }
@@ -1,80 +1,80 @@
1
- export type DataArray = DataObject[];
2
- export type DataObject = Optgroup | Option;
3
- export type DataArrayPartial = DataObjectPartial[];
4
- export type DataObjectPartial = OptgroupOptional | OptionOptional;
5
- type selectType = 'single' | 'multiple';
6
- export interface OptgroupOptional {
7
- id?: string;
8
- label: string;
9
- selectAll?: boolean;
10
- selectAllText?: string;
11
- closable?: 'off' | 'open' | 'close';
12
- options?: OptionOptional[];
13
- }
14
- export declare class Optgroup {
15
- id: string;
16
- label: string;
17
- selectAll: boolean;
18
- selectAllText: string;
19
- closable: 'off' | 'open' | 'close';
20
- options: Option[];
21
- constructor(optgroup: OptgroupOptional);
22
- }
23
- export interface OptionOptional {
24
- id?: string;
25
- value?: string;
26
- text: string;
27
- html?: string;
28
- selected?: boolean;
29
- display?: boolean;
30
- disabled?: boolean;
31
- mandatory?: boolean;
32
- placeholder?: boolean;
33
- class?: string;
34
- style?: string;
35
- data?: {
36
- [key: string]: string;
37
- };
38
- }
39
- export declare class Option {
40
- id: string;
41
- value: string;
42
- text: string;
43
- html: string;
44
- selected: boolean;
45
- display: boolean;
46
- disabled: boolean;
47
- placeholder: boolean;
48
- class: string;
49
- style: string;
50
- data: {
51
- [key: string]: string;
52
- };
53
- mandatory: boolean;
54
- constructor(option: OptionOptional);
55
- }
56
- export default class Store {
57
- private selectType;
58
- private data;
59
- constructor(type: selectType, data: DataArrayPartial);
60
- validateDataArray(data: DataArray | DataArrayPartial): Error | null;
61
- validateOption(option: Option | OptionOptional): Error | null;
62
- partialToFullData(data: DataArrayPartial): DataArray;
63
- setData(data: DataArray | DataArrayPartial): void;
64
- getData(): DataArray;
65
- getDataOptions(): Option[];
66
- addOption(option: OptionOptional): void;
67
- setSelectedBy(selectedType: 'id' | 'value', selectedValues: string[]): void;
68
- getSelected(): string[];
69
- getSelectedOptions(): Option[];
70
- getSelectedIDs(): string[];
71
- getOptgroupByID(id: string): Optgroup | null;
72
- getOptionByID(id: string): Option | null;
73
- getSelectType(): string;
74
- getFirstOption(): Option | null;
75
- search(search: string, searchFilter: (opt: Option, search: string) => boolean): DataArray;
76
- filter(filter: {
77
- (opt: Option): boolean;
78
- } | null, includeOptgroup: boolean): DataArray;
79
- }
80
- export {};
1
+ export type DataArray = DataObject[];
2
+ export type DataObject = Optgroup | Option;
3
+ export type DataArrayPartial = DataObjectPartial[];
4
+ export type DataObjectPartial = OptgroupOptional | OptionOptional;
5
+ type selectType = 'single' | 'multiple';
6
+ export interface OptgroupOptional {
7
+ id?: string;
8
+ label: string;
9
+ selectAll?: boolean;
10
+ selectAllText?: string;
11
+ closable?: 'off' | 'open' | 'close';
12
+ options?: OptionOptional[];
13
+ }
14
+ export declare class Optgroup {
15
+ id: string;
16
+ label: string;
17
+ selectAll: boolean;
18
+ selectAllText: string;
19
+ closable: 'off' | 'open' | 'close';
20
+ options: Option[];
21
+ constructor(optgroup: OptgroupOptional);
22
+ }
23
+ export interface OptionOptional {
24
+ id?: string;
25
+ value?: string;
26
+ text: string;
27
+ html?: string;
28
+ selected?: boolean;
29
+ display?: boolean;
30
+ disabled?: boolean;
31
+ mandatory?: boolean;
32
+ placeholder?: boolean;
33
+ class?: string;
34
+ style?: string;
35
+ data?: {
36
+ [key: string]: string;
37
+ };
38
+ }
39
+ export declare class Option {
40
+ id: string;
41
+ value: string;
42
+ text: string;
43
+ html: string;
44
+ selected: boolean;
45
+ display: boolean;
46
+ disabled: boolean;
47
+ placeholder: boolean;
48
+ class: string;
49
+ style: string;
50
+ data: {
51
+ [key: string]: string;
52
+ };
53
+ mandatory: boolean;
54
+ constructor(option: OptionOptional);
55
+ }
56
+ export default class Store {
57
+ private selectType;
58
+ private data;
59
+ constructor(type: selectType, data: DataArrayPartial);
60
+ validateDataArray(data: DataArray | DataArrayPartial): Error | null;
61
+ validateOption(option: Option | OptionOptional): Error | null;
62
+ partialToFullData(data: DataArrayPartial): DataArray;
63
+ setData(data: DataArray | DataArrayPartial): void;
64
+ getData(): DataArray;
65
+ getDataOptions(): Option[];
66
+ addOption(option: OptionOptional): void;
67
+ setSelectedBy(selectedType: 'id' | 'value', selectedValues: string[]): void;
68
+ getSelected(): string[];
69
+ getSelectedOptions(): Option[];
70
+ getSelectedIDs(): string[];
71
+ getOptgroupByID(id: string): Optgroup | null;
72
+ getOptionByID(id: string): Option | null;
73
+ getSelectType(): string;
74
+ getFirstOption(): Option | null;
75
+ search(search: string, searchFilter: (opt: Option, search: string) => boolean): DataArray;
76
+ filter(filter: {
77
+ (opt: Option): boolean;
78
+ } | null, includeOptgroup: boolean): DataArray;
79
+ }
80
+ export {};