@aquera/nile-elements 0.1.49-beta-1.4 → 0.1.50-beta-1.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.
Files changed (55) hide show
  1. package/README.md +3 -0
  2. package/demo/index.html +106 -29
  3. package/dist/nile-select/nile-select.cjs.js +1 -1
  4. package/dist/nile-select/nile-select.cjs.js.map +1 -1
  5. package/dist/nile-select/nile-select.esm.js +2 -2
  6. package/dist/nile-select/virtual-scroll-helper.cjs.js +1 -1
  7. package/dist/nile-select/virtual-scroll-helper.cjs.js.map +1 -1
  8. package/dist/nile-select/virtual-scroll-helper.esm.js +1 -1
  9. package/dist/nile-virtual-select/nile-virtual-select.cjs.js +1 -1
  10. package/dist/nile-virtual-select/nile-virtual-select.cjs.js.map +1 -1
  11. package/dist/nile-virtual-select/nile-virtual-select.esm.js +2 -2
  12. package/dist/nile-virtual-select/nile-virtual-select.test.cjs.js +1 -1
  13. package/dist/nile-virtual-select/nile-virtual-select.test.cjs.js.map +1 -1
  14. package/dist/nile-virtual-select/nile-virtual-select.test.esm.js +12 -12
  15. package/dist/nile-virtual-select/renderer.cjs.js +1 -1
  16. package/dist/nile-virtual-select/renderer.cjs.js.map +1 -1
  17. package/dist/nile-virtual-select/renderer.esm.js +8 -7
  18. package/dist/nile-virtual-select/search-manager.cjs.js +1 -1
  19. package/dist/nile-virtual-select/search-manager.cjs.js.map +1 -1
  20. package/dist/nile-virtual-select/search-manager.esm.js +1 -1
  21. package/dist/nile-virtual-select/selection-manager.cjs.js +1 -1
  22. package/dist/nile-virtual-select/selection-manager.cjs.js.map +1 -1
  23. package/dist/nile-virtual-select/selection-manager.esm.js +1 -1
  24. package/dist/src/nile-select/nile-select.d.ts +3 -1
  25. package/dist/src/nile-select/nile-select.js +1 -2
  26. package/dist/src/nile-select/nile-select.js.map +1 -1
  27. package/dist/src/nile-select/virtual-scroll-helper.js +1 -1
  28. package/dist/src/nile-select/virtual-scroll-helper.js.map +1 -1
  29. package/dist/src/nile-virtual-select/nile-virtual-select.d.ts +16 -4
  30. package/dist/src/nile-virtual-select/nile-virtual-select.js +35 -10
  31. package/dist/src/nile-virtual-select/nile-virtual-select.js.map +1 -1
  32. package/dist/src/nile-virtual-select/nile-virtual-select.test.js +36 -12
  33. package/dist/src/nile-virtual-select/nile-virtual-select.test.js.map +1 -1
  34. package/dist/src/nile-virtual-select/renderer.d.ts +2 -2
  35. package/dist/src/nile-virtual-select/renderer.js +8 -5
  36. package/dist/src/nile-virtual-select/renderer.js.map +1 -1
  37. package/dist/src/nile-virtual-select/search-manager.d.ts +1 -1
  38. package/dist/src/nile-virtual-select/search-manager.js +3 -2
  39. package/dist/src/nile-virtual-select/search-manager.js.map +1 -1
  40. package/dist/src/nile-virtual-select/selection-manager.d.ts +1 -1
  41. package/dist/src/nile-virtual-select/selection-manager.js +10 -3
  42. package/dist/src/nile-virtual-select/selection-manager.js.map +1 -1
  43. package/dist/src/nile-virtual-select/types.d.ts +6 -1
  44. package/dist/src/nile-virtual-select/types.js.map +1 -1
  45. package/dist/tsconfig.tsbuildinfo +1 -1
  46. package/package.json +1 -1
  47. package/src/nile-select/nile-select.ts +3 -1
  48. package/src/nile-select/virtual-scroll-helper.ts +1 -1
  49. package/src/nile-virtual-select/nile-virtual-select.test.ts +36 -12
  50. package/src/nile-virtual-select/nile-virtual-select.ts +44 -10
  51. package/src/nile-virtual-select/renderer.ts +13 -5
  52. package/src/nile-virtual-select/search-manager.ts +4 -2
  53. package/src/nile-virtual-select/selection-manager.ts +16 -5
  54. package/src/nile-virtual-select/types.ts +7 -1
  55. package/vscode-html-custom-data.json +2 -2
package/README.md CHANGED
@@ -79,6 +79,9 @@ To run a local development server that serves the basic demo located in `demo/in
79
79
 
80
80
  In this section, you can find the updates for each release of `nile-elements`. It's a good practice to maintain detailed release notes to help users and developers understand what changes have been made from one version to another and how these changes might affect their projects.
81
81
 
82
+ #### Version 0.1.50-beta-1.0
83
+ - Nile Virtual Select: renderconfig added.
84
+
82
85
  #### Version 0.1.49-beta-1.4
83
86
  - Nile Virtual Select: Update from master.
84
87
 
package/demo/index.html CHANGED
@@ -14,47 +14,62 @@
14
14
 
15
15
  <body>
16
16
  <div class="component-viewer">
17
- <div>Default Select</div>
18
- <nile-select placeholder="Please select">
19
- <nile-option value="1"> One </nile-option>
20
- <nile-option value="2"> Two </nile-option>
21
- <nile-option value="3"> Three </nile-option>
22
- <nile-option value="4"> Four </nile-option>
23
- <nile-option value="5"> Five </nile-option>
24
- <nile-option value="6"> Six </nile-option>
25
- <nile-option value="7"> Seven </nile-option>
26
- <nile-option value="8"> Eight </nile-option>
27
- <nile-option value="9"> Nine </nile-option>
28
- <nile-option value="10"> Ten </nile-option>
29
- <nile-option value="11"> Eleven </nile-option>
30
- <nile-option value="12"> Tweleve </nile-option>
17
+ <div>Virtual Select - Basic String</div>
18
+ <nile-select
19
+ class="virtual-scroll-string"
20
+ placeholder="Please Select"
21
+ searchEnabled="true"
22
+ enableVirtualScroll="true"
23
+ >
31
24
  </nile-select>
32
25
  <br />
33
- <nile-divider></nile-divider>
26
+ <div>Virtual Select - Basic Object</div>
27
+ <nile-select
28
+ class="virtual-scroll"
29
+ placeholder="Please Select"
30
+ searchEnabled="true"
31
+ enableVirtualScroll="true"
32
+ >
33
+ </nile-select>
34
34
  <br />
35
- <div>Multi Select</div>
36
- <nile-select multiple placeholder="Select multiple options">
37
- <nile-option value="apple">Apple</nile-option>
38
- <nile-option value="banana">Banana</nile-option>
39
- <nile-option value="cherry">Cherry</nile-option>
40
- <nile-option value="date">Date</nile-option>
41
- <nile-option value="elderberry">Elderberry</nile-option>
35
+ <nile-select
36
+ multiple
37
+ class="virtual-scroll-multiple"
38
+ placeholder="Please Select"
39
+ searchEnabled="true"
40
+ enableVirtualScroll="true"
41
+ >
42
42
  </nile-select>
43
+
43
44
  <br />
44
45
  <nile-divider></nile-divider>
45
46
  <br />
46
- <div>Virtual Select</div>
47
+
48
+ <div>Virtual Select - Enhanced (renderItemConfig)</div>
47
49
  <nile-select
48
- class="virtual-scroll"
50
+ class="virtual-scroll-enhanced"
49
51
  placeholder="Please Select"
50
52
  searchEnabled="true"
51
53
  enableVirtualScroll="true"
52
54
  >
53
55
  </nile-select>
54
-
56
+ <br />
55
57
  <nile-select
56
58
  multiple
57
- class="virtual-scroll-multiple"
59
+ class="virtual-scroll-enhanced-multiple"
60
+ placeholder="Please Select"
61
+ searchEnabled="true"
62
+ enableVirtualScroll="true"
63
+ >
64
+ </nile-select>
65
+
66
+ <br />
67
+ <nile-divider></nile-divider>
68
+ <br />
69
+
70
+ <div>Virtual Select - Complex Data Structure</div>
71
+ <nile-select
72
+ class="virtual-scroll-complex"
58
73
  placeholder="Please Select"
59
74
  searchEnabled="true"
60
75
  enableVirtualScroll="true"
@@ -62,18 +77,80 @@
62
77
  </nile-select>
63
78
  </div>
64
79
  <script>
80
+
81
+ // Basic Array of String example
82
+ const optionsString = Array.from({ length: 1000 }, (_, i) => `Option ${i + 1}`);
83
+ const basicString = document.querySelector('nile-select.virtual-scroll-string');
84
+ basicString.data = optionsString;
85
+
86
+
87
+ // Basic data structure
65
88
  const options = Array.from({ length: 1000 }, (_, i) => ({
66
89
  value: `option-${i + 1}`,
67
90
  label: `Option ${i + 1}`,
68
91
  }));
92
+
93
+
94
+ // Enhanced data structure with more fields
95
+ const enhancedOptions = Array.from({ length: 1000 }, (_, i) => ({
96
+ id: i + 1,
97
+ firstName: `User${i + 1}`,
98
+ lastName: `Name${i + 1}`,
99
+ email: `user${i + 1}@example.com`,
100
+ department: `Dept${Math.floor(i / 100) + 1}`,
101
+ displayName: `User${i + 1} Name${i + 1}`,
102
+ value: `user-${i + 1}`
103
+ }));
104
+
105
+ // Complex data structure
106
+ const complexOptions = Array.from({ length: 1000 }, (_, i) => ({
107
+ code: `CODE-${String(i + 1).padStart(3, '0')}`,
108
+ name: `Product ${i + 1}`,
109
+ category: `Category ${Math.floor(i / 50) + 1}`,
110
+ description: `This is a detailed description for product ${i + 1}`,
111
+ price: Math.floor(Math.random() * 1000) + 100,
112
+ value: `product-${i + 1}`
113
+ }));
114
+
115
+ // Basic example
69
116
  const e = document.querySelector('nile-select.virtual-scroll');
70
- e.renderItemFunction = item => item.label;
71
117
  e.data = options;
72
118
 
73
- const me = document.querySelector('nile-select.virtual-scroll-multiple');
74
- me.renderItemFunction = item => item.label;
119
+ const me = document.querySelector('nile-select.virtual-scroll-multiple');
120
+ me.renderItemConfig = {
121
+ getDisplayText: (item) => item.label
122
+ };
75
123
  me.data = options;
76
124
  me.value = ['option-2', 'option-4'];
125
+
126
+ // Enhanced examples using renderItemConfig (new way)
127
+ const enhanced = document.querySelector('nile-select.virtual-scroll-enhanced');
128
+ enhanced.renderItemConfig = {
129
+ getDisplayText: (item) => `${item.firstName} ${item.lastName}`,
130
+ getValue: (item) => item.value,
131
+ getSearchText: (item) => `${item.firstName} ${item.lastName} ${item.email} ${item.department}`
132
+ };
133
+ enhanced.data = enhancedOptions;
134
+
135
+ const enhancedMultiple = document.querySelector('nile-select.virtual-scroll-enhanced-multiple');
136
+ enhancedMultiple.renderItemConfig = {
137
+ getDisplayText: (item) => `${item.firstName} ${item.lastName}`,
138
+ getValue: (item) => item.value,
139
+ getSearchText: (item) => `${item.firstName} ${item.lastName} ${item.email} ${item.department}`
140
+ };
141
+ enhancedMultiple.data = enhancedOptions;
142
+ enhancedMultiple.value = ['user-2', 'user-4', 'user-6'];
143
+
144
+
145
+ // Complex example with different display, value, and search text
146
+ const complex = document.querySelector('nile-select.virtual-scroll-complex');
147
+ complex.renderItemConfig = {
148
+ getDisplayText: (item) => `${item.name} (${item.code}) - $${item.price}`,
149
+ getValue: (item) => item.value,
150
+ getSearchText: (item) => `${item.name} ${item.category} ${item.description}`
151
+ };
152
+ complex.data = complexOptions;
153
+
77
154
  </script>
78
155
  </body>
79
156
  </html>