@aquera/nile-elements 0.1.74-beta-1.0 → 0.1.75-beta-1.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.
Files changed (192) hide show
  1. package/README.md +3 -0
  2. package/demo/index.html +117 -22
  3. package/dist/{fixture-3bfb4490.cjs.js → fixture-5b79f853.cjs.js} +2 -2
  4. package/dist/{fixture-3bfb4490.cjs.js.map → fixture-5b79f853.cjs.js.map} +1 -1
  5. package/dist/{fixture-e7023246.esm.js → fixture-90b199c4.esm.js} +1 -1
  6. package/dist/{fixture-8edec91c.esm.js → fixture-cf7bfcf5.esm.js} +1 -1
  7. package/dist/{fixture-7bfb866e.cjs.js → fixture-dbd66009.cjs.js} +2 -2
  8. package/dist/{fixture-fe6c932e.cjs.js.map → fixture-dbd66009.cjs.js.map} +1 -1
  9. package/dist/index.js +10 -5
  10. package/dist/nile-accordion/nile-accordian.test.cjs.js +1 -1
  11. package/dist/nile-accordion/nile-accordian.test.esm.js +1 -1
  12. package/dist/nile-auto-complete/nile-auto-complete.test.cjs.js +1 -1
  13. package/dist/nile-auto-complete/nile-auto-complete.test.esm.js +1 -1
  14. package/dist/nile-avatar/nile-avatar.test.cjs.js +1 -1
  15. package/dist/nile-avatar/nile-avatar.test.esm.js +1 -1
  16. package/dist/nile-badge/nile-badge.test.cjs.js +1 -1
  17. package/dist/nile-badge/nile-badge.test.esm.js +1 -1
  18. package/dist/nile-button/nile-button.test.cjs.js +1 -1
  19. package/dist/nile-button/nile-button.test.esm.js +1 -1
  20. package/dist/nile-button-toggle-group/nile-button-toggle-group.test.cjs.js +1 -1
  21. package/dist/nile-button-toggle-group/nile-button-toggle-group.test.esm.js +1 -1
  22. package/dist/nile-calendar/nile-calendar.test.cjs.js +1 -1
  23. package/dist/nile-calendar/nile-calendar.test.esm.js +1 -1
  24. package/dist/nile-card/nile-card.test.cjs.js +1 -1
  25. package/dist/nile-card/nile-card.test.esm.js +1 -1
  26. package/dist/nile-checkbox/nile-checkbox.test.cjs.js +1 -1
  27. package/dist/nile-checkbox/nile-checkbox.test.esm.js +1 -1
  28. package/dist/nile-chip/nile-chip.test.cjs.js +1 -1
  29. package/dist/nile-chip/nile-chip.test.esm.js +1 -1
  30. package/dist/nile-dialog/nile-dialog.test.cjs.js +1 -1
  31. package/dist/nile-dialog/nile-dialog.test.esm.js +1 -1
  32. package/dist/nile-drawer/nile-drawer.test.cjs.js +1 -1
  33. package/dist/nile-drawer/nile-drawer.test.esm.js +1 -1
  34. package/dist/nile-dropdown/nile-dropdown.test.cjs.js +1 -1
  35. package/dist/nile-dropdown/nile-dropdown.test.esm.js +1 -1
  36. package/dist/nile-empty-state/nile-empty-state.test.cjs.js +1 -1
  37. package/dist/nile-empty-state/nile-empty-state.test.esm.js +1 -1
  38. package/dist/nile-error-message/nile-error-message.test.cjs.js +1 -1
  39. package/dist/nile-error-message/nile-error-message.test.esm.js +1 -1
  40. package/dist/nile-file-preview/nile-file-preview.test.cjs.js +1 -1
  41. package/dist/nile-file-preview/nile-file-preview.test.esm.js +1 -1
  42. package/dist/nile-file-upload/nile-file-upload.test.cjs.js +1 -1
  43. package/dist/nile-file-upload/nile-file-upload.test.esm.js +1 -1
  44. package/dist/nile-filter-chip/nile-filter-chip.test.cjs.js +1 -1
  45. package/dist/nile-filter-chip/nile-filter-chip.test.esm.js +1 -1
  46. package/dist/nile-form-group/nile-form-group.test.cjs.js +1 -1
  47. package/dist/nile-form-group/nile-form-group.test.esm.js +1 -1
  48. package/dist/nile-form-help-text/nile-form-help-text.test.cjs.js +1 -1
  49. package/dist/nile-form-help-text/nile-form-help-text.test.esm.js +1 -1
  50. package/dist/nile-hero/nile-hero.test.cjs.js +1 -1
  51. package/dist/nile-hero/nile-hero.test.esm.js +1 -1
  52. package/dist/nile-icon/nile-icon.test.cjs.js +1 -1
  53. package/dist/nile-icon/nile-icon.test.esm.js +1 -1
  54. package/dist/nile-input/nile-input.test.cjs.js +1 -1
  55. package/dist/nile-input/nile-input.test.esm.js +1 -1
  56. package/dist/nile-link/nile-link.test.cjs.js +1 -1
  57. package/dist/nile-link/nile-link.test.esm.js +1 -1
  58. package/dist/nile-loader/nile-loader.test.cjs.js +1 -1
  59. package/dist/nile-loader/nile-loader.test.esm.js +1 -1
  60. package/dist/nile-popover/nile-popover.test.cjs.js +1 -1
  61. package/dist/nile-popover/nile-popover.test.esm.js +1 -1
  62. package/dist/nile-popup/nile-popup.test.cjs.js +1 -1
  63. package/dist/nile-popup/nile-popup.test.esm.js +1 -1
  64. package/dist/nile-progress-bar/nile-progress-bar.test.cjs.js +1 -1
  65. package/dist/nile-progress-bar/nile-progress-bar.test.esm.js +1 -1
  66. package/dist/nile-radio/nile-radio.test.cjs.js +1 -1
  67. package/dist/nile-radio/nile-radio.test.esm.js +1 -1
  68. package/dist/nile-radio-group/nile-radio-group.test.cjs.js +1 -1
  69. package/dist/nile-radio-group/nile-radio-group.test.esm.js +1 -1
  70. package/dist/nile-select/nile-select.cjs.js +1 -1
  71. package/dist/nile-select/nile-select.cjs.js.map +1 -1
  72. package/dist/nile-select/nile-select.esm.js +1 -1
  73. package/dist/nile-select/nile-select.test.cjs.js +1 -1
  74. package/dist/nile-select/nile-select.test.esm.js +1 -1
  75. package/dist/nile-slide-toggle/nile-slide-toggle.test.cjs.js +1 -1
  76. package/dist/nile-slide-toggle/nile-slide-toggle.test.esm.js +1 -1
  77. package/dist/nile-tab-group/nile-tab-group.test.cjs.js +1 -1
  78. package/dist/nile-tab-group/nile-tab-group.test.esm.js +1 -1
  79. package/dist/nile-textarea/nile-textarea.test.cjs.js +1 -1
  80. package/dist/nile-textarea/nile-textarea.test.esm.js +1 -1
  81. package/dist/nile-virtual-select/nile-virtual-select.cjs.js +1 -1
  82. package/dist/nile-virtual-select/nile-virtual-select.cjs.js.map +1 -1
  83. package/dist/nile-virtual-select/nile-virtual-select.css.cjs.js +1 -1
  84. package/dist/nile-virtual-select/nile-virtual-select.css.cjs.js.map +1 -1
  85. package/dist/nile-virtual-select/nile-virtual-select.css.esm.js +4 -0
  86. package/dist/nile-virtual-select/nile-virtual-select.esm.js +2 -2
  87. package/dist/nile-virtual-select/nile-virtual-select.test.cjs.js +1 -1
  88. package/dist/nile-virtual-select/nile-virtual-select.test.esm.js +1 -1
  89. package/dist/nile-virtual-select/renderer.cjs.js +1 -1
  90. package/dist/nile-virtual-select/renderer.cjs.js.map +1 -1
  91. package/dist/nile-virtual-select/renderer.esm.js +4 -3
  92. package/dist/nile-virtual-select/temp_nile-virtual-select copy.cjs.js +2 -0
  93. package/dist/nile-virtual-select/temp_nile-virtual-select copy.cjs.js.map +1 -0
  94. package/dist/nile-virtual-select/temp_nile-virtual-select copy.esm.js +231 -0
  95. package/dist/src/internal/resizable-helper.d.ts +59 -0
  96. package/dist/src/internal/resizable-helper.js +115 -0
  97. package/dist/src/internal/resizable-helper.js.map +1 -0
  98. package/dist/src/internal/resizable-styles.d.ts +16 -0
  99. package/dist/src/internal/resizable-styles.js +144 -0
  100. package/dist/src/internal/resizable-styles.js.map +1 -0
  101. package/dist/src/internal/virtualizer-error-handler.d.ts +30 -0
  102. package/dist/src/internal/virtualizer-error-handler.js +82 -0
  103. package/dist/src/internal/virtualizer-error-handler.js.map +1 -0
  104. package/dist/src/lib/index.d.ts +7 -0
  105. package/dist/src/lib/index.js +8 -0
  106. package/dist/src/lib/index.js.map +1 -0
  107. package/dist/src/lib/virtualize.d.ts +32 -0
  108. package/dist/src/lib/virtualize.js +105 -0
  109. package/dist/src/lib/virtualize.js.map +1 -0
  110. package/dist/src/lib/virtualize.test.d.ts +7 -0
  111. package/dist/src/lib/virtualize.test.js +57 -0
  112. package/dist/src/lib/virtualize.test.js.map +1 -0
  113. package/dist/src/nile-badge/__snapshots__/nile-badge.test.snap.js +17 -0
  114. package/dist/src/nile-calendar/__snapshots__/nile-calendar.test.snap.js +310 -0
  115. package/dist/src/nile-card/__snapshots__/nile-card.test.snap.js +34 -0
  116. package/dist/src/nile-checkbox/__snapshots__/nile-checkbox.test.snap.js +31 -0
  117. package/dist/src/nile-grid/data-processor.d.ts +37 -0
  118. package/dist/src/nile-grid/data-processor.js +122 -0
  119. package/dist/src/nile-grid/data-processor.js.map +1 -0
  120. package/dist/src/nile-grid/event-handlers.d.ts +35 -0
  121. package/dist/src/nile-grid/event-handlers.js +158 -0
  122. package/dist/src/nile-grid/event-handlers.js.map +1 -0
  123. package/dist/src/nile-grid/index.d.ts +5 -0
  124. package/dist/src/nile-grid/index.js +6 -0
  125. package/dist/src/nile-grid/index.js.map +1 -0
  126. package/dist/src/nile-grid/nile-grid.css.d.ts +1 -0
  127. package/dist/src/nile-grid/nile-grid.css.js +120 -0
  128. package/dist/src/nile-grid/nile-grid.css.js.map +1 -0
  129. package/dist/src/nile-grid/nile-grid.d.ts +39 -0
  130. package/dist/src/nile-grid/nile-grid.js +182 -0
  131. package/dist/src/nile-grid/nile-grid.js.map +1 -0
  132. package/dist/src/nile-grid/renderer.d.ts +8 -0
  133. package/dist/src/nile-grid/renderer.js +78 -0
  134. package/dist/src/nile-grid/renderer.js.map +1 -0
  135. package/dist/src/nile-grid/resize-handler.d.ts +4 -0
  136. package/dist/src/nile-grid/resize-handler.js +36 -0
  137. package/dist/src/nile-grid/resize-handler.js.map +1 -0
  138. package/dist/src/nile-grid/types.d.ts +32 -0
  139. package/dist/src/nile-grid/types.js +2 -0
  140. package/dist/src/nile-grid/types.js.map +1 -0
  141. package/dist/src/nile-grid/utils.d.ts +4 -0
  142. package/dist/src/nile-grid/utils.js +32 -0
  143. package/dist/src/nile-grid/utils.js.map +1 -0
  144. package/dist/src/nile-hero/__snapshots__/nile-hero.test.snap.js +47 -0
  145. package/dist/src/nile-icon/__snapshots__/nile-icon.test.snap.js +16 -0
  146. package/dist/src/nile-input/__snapshots__/nile-input.test.snap.js +75 -0
  147. package/dist/src/nile-popover/__snapshots__/nile-popover.test.snap.js +22 -0
  148. package/dist/src/nile-select/nile-select.js +3 -2
  149. package/dist/src/nile-select/nile-select.js.map +1 -1
  150. package/dist/src/nile-table-body/virtual-scroll-helper.d.ts +9 -0
  151. package/dist/src/nile-table-body/virtual-scroll-helper.js +24 -0
  152. package/dist/src/nile-table-body/virtual-scroll-helper.js.map +1 -0
  153. package/dist/src/nile-virtual-select/nile-virtual-select.css.js +4 -0
  154. package/dist/src/nile-virtual-select/nile-virtual-select.css.js.map +1 -1
  155. package/dist/src/nile-virtual-select/nile-virtual-select.d.ts +10 -1
  156. package/dist/src/nile-virtual-select/nile-virtual-select.js +71 -9
  157. package/dist/src/nile-virtual-select/nile-virtual-select.js.map +1 -1
  158. package/dist/src/nile-virtual-select/renderer.d.ts +2 -2
  159. package/dist/src/nile-virtual-select/renderer.js +6 -5
  160. package/dist/src/nile-virtual-select/renderer.js.map +1 -1
  161. package/dist/src/nile-virtual-select/temp_nile-virtual-select copy.d.ts +273 -0
  162. package/dist/src/nile-virtual-select/temp_nile-virtual-select copy.js +1305 -0
  163. package/dist/src/nile-virtual-select/temp_nile-virtual-select copy.js.map +1 -0
  164. package/dist/src/nile-virtual-select/virtualizer-error-handler.d.ts +21 -0
  165. package/dist/src/nile-virtual-select/virtualizer-error-handler.js +56 -0
  166. package/dist/src/nile-virtual-select/virtualizer-error-handler.js.map +1 -0
  167. package/dist/src/nile-virtual-table-body/index.d.ts +2 -0
  168. package/dist/src/nile-virtual-table-body/index.js +3 -0
  169. package/dist/src/nile-virtual-table-body/index.js.map +1 -0
  170. package/dist/src/nile-virtual-table-body/nile-virtual-table-body.css.d.ts +1 -0
  171. package/dist/src/nile-virtual-table-body/nile-virtual-table-body.css.js +44 -0
  172. package/dist/src/nile-virtual-table-body/nile-virtual-table-body.css.js.map +1 -0
  173. package/dist/src/nile-virtual-table-body/nile-virtual-table-body.d.ts +50 -0
  174. package/dist/src/nile-virtual-table-body/nile-virtual-table-body.js +135 -0
  175. package/dist/src/nile-virtual-table-body/nile-virtual-table-body.js.map +1 -0
  176. package/dist/src/nile-virtual-table-body/renderer.d.ts +16 -0
  177. package/dist/src/nile-virtual-table-body/renderer.js +49 -0
  178. package/dist/src/nile-virtual-table-body/renderer.js.map +1 -0
  179. package/dist/tsconfig.tsbuildinfo +1 -1
  180. package/package.json +1 -1
  181. package/src/nile-select/nile-select.ts +3 -2
  182. package/src/nile-virtual-select/nile-virtual-select.css.ts +4 -0
  183. package/src/nile-virtual-select/nile-virtual-select.ts +86 -11
  184. package/src/nile-virtual-select/renderer.ts +7 -5
  185. package/src/nile-virtual-select/temp_nile-virtual-select copy.ts +1398 -0
  186. package/vscode-html-custom-data.json +246 -1
  187. package/dist/axe.min-2b379f29.cjs.js +0 -12
  188. package/dist/axe.min-2b379f29.cjs.js.map +0 -1
  189. package/dist/axe.min-c2cd8733.esm.js +0 -12
  190. package/dist/fixture-2b5b3aba.esm.js +0 -569
  191. package/dist/fixture-7bfb866e.cjs.js.map +0 -1
  192. package/dist/fixture-fe6c932e.cjs.js +0 -395
@@ -0,0 +1,310 @@
1
+ /* @web/test-runner snapshot v1 */
2
+ export const snapshots = {};
3
+
4
+ snapshots["NileCalendar renders correctly with default properties"] =
5
+ `<div class="base">
6
+ <div class="calendar-config hidden">
7
+ <div class="calendar-switcher">
8
+ <nile-tab-group
9
+ centered=""
10
+ value="absolute"
11
+ >
12
+ <nile-tab
13
+ active=""
14
+ aria-disabled="false"
15
+ aria-selected="true"
16
+ centered=""
17
+ id="nile-tab-1"
18
+ panel="absolute"
19
+ role="tab"
20
+ slot="nav"
21
+ >
22
+ Absolute
23
+ </nile-tab>
24
+ <nile-tab
25
+ aria-disabled="false"
26
+ aria-selected="false"
27
+ centered=""
28
+ id="nile-tab-2"
29
+ panel="relative"
30
+ role="tab"
31
+ slot="nav"
32
+ >
33
+ Relative
34
+ </nile-tab>
35
+ </nile-tab-group>
36
+ </div>
37
+ </div>
38
+ <div class="calendar-wrapper">
39
+ <div class="calendar-container">
40
+ <div class="calendar">
41
+ <div class="calendar-header">
42
+ <nile-icon
43
+ class="calendar-header__month-navigation"
44
+ color="black"
45
+ description=""
46
+ method="fill"
47
+ name="arrowleft"
48
+ set="local"
49
+ size="16"
50
+ style="--nile-svg-fill: black; --nile-svg-height: 16px; --nile-svg-width: 16px;"
51
+ >
52
+ </nile-icon>
53
+ <span>
54
+ August
55
+ 2025
56
+ </span>
57
+ <nile-icon
58
+ class="calendar-header__month-navigation"
59
+ color="black"
60
+ description=""
61
+ method="fill"
62
+ name="arrowright"
63
+ set="local"
64
+ size="16"
65
+ style="--nile-svg-fill: black; --nile-svg-height: 16px; --nile-svg-width: 16px;"
66
+ >
67
+ </nile-icon>
68
+ </div>
69
+ <div class="days_container">
70
+ <div class="day_name">
71
+ Su
72
+ </div>
73
+ <div class="day_name">
74
+ Mo
75
+ </div>
76
+ <div class="day_name">
77
+ Tu
78
+ </div>
79
+ <div class="day_name">
80
+ We
81
+ </div>
82
+ <div class="day_name">
83
+ Th
84
+ </div>
85
+ <div class="day_name">
86
+ Fr
87
+ </div>
88
+ <div class="day_name">
89
+ Sa
90
+ </div>
91
+ <div class="day_date filler">
92
+ <span style="position:relative;">
93
+ 27
94
+ </span>
95
+ </div>
96
+ <div class="day_date filler">
97
+ <span style="position:relative;">
98
+ 28
99
+ </span>
100
+ </div>
101
+ <div class="day_date filler">
102
+ <span style="position:relative;">
103
+ 29
104
+ </span>
105
+ </div>
106
+ <div class="day_date filler">
107
+ <span style="position:relative;">
108
+ 30
109
+ </span>
110
+ </div>
111
+ <div class="day_date filler">
112
+ <span style="position:relative;">
113
+ 31
114
+ </span>
115
+ </div>
116
+ <div class="day_date">
117
+ <span style="position:relative;">
118
+ 1
119
+ </span>
120
+ </div>
121
+ <div class="day_date">
122
+ <span style="position:relative;">
123
+ 2
124
+ </span>
125
+ </div>
126
+ <div class="day_date">
127
+ <span style="position:relative;">
128
+ 3
129
+ </span>
130
+ </div>
131
+ <div class="day_date">
132
+ <span style="position:relative;">
133
+ 4
134
+ <div class="current__date__dot">
135
+ </div>
136
+ </span>
137
+ </div>
138
+ <div class="day_date">
139
+ <span style="position:relative;">
140
+ 5
141
+ </span>
142
+ </div>
143
+ <div class="day_date">
144
+ <span style="position:relative;">
145
+ 6
146
+ </span>
147
+ </div>
148
+ <div class="day_date">
149
+ <span style="position:relative;">
150
+ 7
151
+ </span>
152
+ </div>
153
+ <div class="day_date">
154
+ <span style="position:relative;">
155
+ 8
156
+ </span>
157
+ </div>
158
+ <div class="day_date">
159
+ <span style="position:relative;">
160
+ 9
161
+ </span>
162
+ </div>
163
+ <div class="day_date">
164
+ <span style="position:relative;">
165
+ 10
166
+ </span>
167
+ </div>
168
+ <div class="day_date">
169
+ <span style="position:relative;">
170
+ 11
171
+ </span>
172
+ </div>
173
+ <div class="day_date">
174
+ <span style="position:relative;">
175
+ 12
176
+ </span>
177
+ </div>
178
+ <div class="day_date">
179
+ <span style="position:relative;">
180
+ 13
181
+ </span>
182
+ </div>
183
+ <div class="day_date">
184
+ <span style="position:relative;">
185
+ 14
186
+ </span>
187
+ </div>
188
+ <div class="day_date">
189
+ <span style="position:relative;">
190
+ 15
191
+ </span>
192
+ </div>
193
+ <div class="day_date">
194
+ <span style="position:relative;">
195
+ 16
196
+ </span>
197
+ </div>
198
+ <div class="day_date">
199
+ <span style="position:relative;">
200
+ 17
201
+ </span>
202
+ </div>
203
+ <div class="day_date">
204
+ <span style="position:relative;">
205
+ 18
206
+ </span>
207
+ </div>
208
+ <div class="day_date">
209
+ <span style="position:relative;">
210
+ 19
211
+ </span>
212
+ </div>
213
+ <div class="day_date">
214
+ <span style="position:relative;">
215
+ 20
216
+ </span>
217
+ </div>
218
+ <div class="day_date">
219
+ <span style="position:relative;">
220
+ 21
221
+ </span>
222
+ </div>
223
+ <div class="day_date">
224
+ <span style="position:relative;">
225
+ 22
226
+ </span>
227
+ </div>
228
+ <div class="day_date">
229
+ <span style="position:relative;">
230
+ 23
231
+ </span>
232
+ </div>
233
+ <div class="day_date">
234
+ <span style="position:relative;">
235
+ 24
236
+ </span>
237
+ </div>
238
+ <div class="day_date">
239
+ <span style="position:relative;">
240
+ 25
241
+ </span>
242
+ </div>
243
+ <div class="day_date">
244
+ <span style="position:relative;">
245
+ 26
246
+ </span>
247
+ </div>
248
+ <div class="day_date">
249
+ <span style="position:relative;">
250
+ 27
251
+ </span>
252
+ </div>
253
+ <div class="day_date">
254
+ <span style="position:relative;">
255
+ 28
256
+ </span>
257
+ </div>
258
+ <div class="day_date">
259
+ <span style="position:relative;">
260
+ 29
261
+ </span>
262
+ </div>
263
+ <div class="day_date">
264
+ <span style="position:relative;">
265
+ 30
266
+ </span>
267
+ </div>
268
+ <div class="day_date">
269
+ <span style="position:relative;">
270
+ 31
271
+ </span>
272
+ </div>
273
+ <div class="day_date filler">
274
+ <span style="position:relative;">
275
+ 1
276
+ </span>
277
+ </div>
278
+ <div class="day_date filler">
279
+ <span style="position:relative;">
280
+ 2
281
+ </span>
282
+ </div>
283
+ <div class="day_date filler">
284
+ <span style="position:relative;">
285
+ 3
286
+ </span>
287
+ </div>
288
+ <div class="day_date filler">
289
+ <span style="position:relative;">
290
+ 4
291
+ </span>
292
+ </div>
293
+ <div class="day_date filler">
294
+ <span style="position:relative;">
295
+ 5
296
+ </span>
297
+ </div>
298
+ <div class="day_date filler">
299
+ <span style="position:relative;">
300
+ 6
301
+ </span>
302
+ </div>
303
+ </div>
304
+ </div>
305
+ </div>
306
+ </div>
307
+ </div>
308
+ `;
309
+ /* end snapshot NileCalendar renders correctly with default properties */
310
+
@@ -0,0 +1,34 @@
1
+ /* @web/test-runner snapshot v1 */
2
+ export const snapshots = {};
3
+
4
+ snapshots["Nile Card should render the card properly"] =
5
+ `<div
6
+ class="card card--has-footer"
7
+ part="base"
8
+ >
9
+ <div
10
+ class="body__wrapper"
11
+ part="body__wrapper"
12
+ >
13
+ <slot
14
+ class="card__header"
15
+ name="header"
16
+ part="header"
17
+ >
18
+ </slot>
19
+ <slot
20
+ class="card__body"
21
+ part="body"
22
+ >
23
+ </slot>
24
+ </div>
25
+ <slot
26
+ class="card__footer"
27
+ name="footer"
28
+ part="footer"
29
+ >
30
+ </slot>
31
+ </div>
32
+ `;
33
+ /* end snapshot Nile Card should render the card properly */
34
+
@@ -0,0 +1,31 @@
1
+ /* @web/test-runner snapshot v1 */
2
+ export const snapshots = {};
3
+
4
+ snapshots["NileCheckbox renders correctly with default properties"] =
5
+ `<label
6
+ class="checkbox checkbox--medium"
7
+ part="base"
8
+ >
9
+ <input
10
+ aria-checked="false"
11
+ class="checkbox__input"
12
+ name=""
13
+ title=""
14
+ type="checkbox"
15
+ >
16
+ <span
17
+ class="checkbox__control"
18
+ part="control"
19
+ >
20
+ </span>
21
+ <div
22
+ class="checkbox__label"
23
+ part="label"
24
+ >
25
+ <slot>
26
+ </slot>
27
+ </div>
28
+ </label>
29
+ `;
30
+ /* end snapshot NileCheckbox renders correctly with default properties */
31
+
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Copyright Aquera Inc 2023
3
+ *
4
+ * This source code is licensed under the BSD-3-Clause license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+ import type { GridColumnDef, GridRowData, GridOptions } from './types.js';
8
+ export declare class GridDataProcessor {
9
+ private options;
10
+ private pageSize;
11
+ private currentPage;
12
+ private sortField;
13
+ private sortDirection;
14
+ private filterText;
15
+ constructor(options: GridOptions, pageSize?: number);
16
+ setOptions(options: GridOptions): void;
17
+ setPageSize(pageSize: number): void;
18
+ setCurrentPage(page: number): void;
19
+ setSortField(field: string): void;
20
+ setSortDirection(direction: 'asc' | 'desc'): void;
21
+ setFilterText(text: string): void;
22
+ processData(data: GridRowData[], columns: GridColumnDef[]): {
23
+ filteredData: GridRowData[];
24
+ sortedData: GridRowData[];
25
+ paginatedData: GridRowData[];
26
+ totalPages: number;
27
+ };
28
+ private applyFilters;
29
+ private applySorting;
30
+ private applyPagination;
31
+ getSortClass(column: GridColumnDef): string;
32
+ getSortIcon(column: GridColumnDef): string;
33
+ isAllSelected(paginatedData: GridRowData[]): boolean;
34
+ isPartiallySelected(paginatedData: GridRowData[]): boolean;
35
+ getSortField(): string;
36
+ getSortDirection(): 'asc' | 'desc';
37
+ }
@@ -0,0 +1,122 @@
1
+ /**
2
+ * Copyright Aquera Inc 2023
3
+ *
4
+ * This source code is licensed under the BSD-3-Clause license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+ export class GridDataProcessor {
8
+ constructor(options, pageSize = 20) {
9
+ this.options = options;
10
+ this.pageSize = pageSize;
11
+ this.currentPage = 1;
12
+ this.sortField = '';
13
+ this.sortDirection = 'asc';
14
+ this.filterText = '';
15
+ }
16
+ setOptions(options) {
17
+ this.options = options;
18
+ }
19
+ setPageSize(pageSize) {
20
+ this.pageSize = pageSize;
21
+ }
22
+ setCurrentPage(page) {
23
+ this.currentPage = page;
24
+ }
25
+ setSortField(field) {
26
+ this.sortField = field;
27
+ }
28
+ setSortDirection(direction) {
29
+ this.sortDirection = direction;
30
+ }
31
+ setFilterText(text) {
32
+ this.filterText = text;
33
+ }
34
+ processData(data, columns) {
35
+ // Apply filtering
36
+ const filteredData = this.applyFilters(data, columns);
37
+ // Apply sorting
38
+ const sortedData = this.applySorting(filteredData, columns);
39
+ // Apply pagination
40
+ const totalPages = Math.ceil(sortedData.length / this.pageSize);
41
+ const paginatedData = this.applyPagination(sortedData);
42
+ return {
43
+ filteredData,
44
+ sortedData,
45
+ paginatedData,
46
+ totalPages
47
+ };
48
+ }
49
+ applyFilters(data, columns) {
50
+ if (!this.filterText || !this.options.enableFiltering) {
51
+ return data;
52
+ }
53
+ return data.filter(row => {
54
+ return columns.some(column => {
55
+ const value = row[column.field];
56
+ if (value == null)
57
+ return false;
58
+ return String(value).toLowerCase().includes(this.filterText.toLowerCase());
59
+ });
60
+ });
61
+ }
62
+ applySorting(data, columns) {
63
+ if (!this.sortField || !this.options.enableSorting) {
64
+ return data;
65
+ }
66
+ const column = columns.find(col => col.field === this.sortField);
67
+ if (!column)
68
+ return data;
69
+ return [...data].sort((a, b) => {
70
+ const aVal = a[column.field];
71
+ const bVal = b[column.field];
72
+ if (aVal == null && bVal == null)
73
+ return 0;
74
+ if (aVal == null)
75
+ return 1;
76
+ if (bVal == null)
77
+ return -1;
78
+ if (typeof aVal === 'string' && typeof bVal === 'string') {
79
+ return this.sortDirection === 'asc'
80
+ ? aVal.localeCompare(bVal)
81
+ : bVal.localeCompare(aVal);
82
+ }
83
+ if (typeof aVal === 'number' && typeof bVal === 'number') {
84
+ return this.sortDirection === 'asc' ? aVal - bVal : bVal - aVal;
85
+ }
86
+ return 0;
87
+ });
88
+ }
89
+ applyPagination(data) {
90
+ if (!this.options.enablePagination) {
91
+ return data;
92
+ }
93
+ const startIndex = (this.currentPage - 1) * this.pageSize;
94
+ const endIndex = startIndex + this.pageSize;
95
+ return data.slice(startIndex, endIndex);
96
+ }
97
+ getSortClass(column) {
98
+ if (this.sortField !== column.field)
99
+ return '';
100
+ return this.sortDirection === 'asc' ? 'sort-asc' : 'sort-desc';
101
+ }
102
+ getSortIcon(column) {
103
+ if (this.sortField !== column.field)
104
+ return '↕';
105
+ return this.sortDirection === 'asc' ? '↑' : '↓';
106
+ }
107
+ isAllSelected(paginatedData) {
108
+ return paginatedData.length > 0 && paginatedData.every(row => row.selected);
109
+ }
110
+ isPartiallySelected(paginatedData) {
111
+ const selectedCount = paginatedData.filter(row => row.selected).length;
112
+ return selectedCount > 0 && selectedCount < paginatedData.length;
113
+ }
114
+ // Getters for event handlers
115
+ getSortField() {
116
+ return this.sortField;
117
+ }
118
+ getSortDirection() {
119
+ return this.sortDirection;
120
+ }
121
+ }
122
+ //# sourceMappingURL=data-processor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-processor.js","sourceRoot":"","sources":["../../../src/nile-grid/data-processor.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Copyright Aquera Inc 2023\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport type { GridColumnDef, GridRowData, GridOptions } from './types.js';\n\nexport class GridDataProcessor {\n private options: GridOptions;\n private pageSize: number;\n private currentPage: number;\n private sortField: string;\n private sortDirection: 'asc' | 'desc';\n private filterText: string;\n\n constructor(options: GridOptions, pageSize: number = 20) {\n this.options = options;\n this.pageSize = pageSize;\n this.currentPage = 1;\n this.sortField = '';\n this.sortDirection = 'asc';\n this.filterText = '';\n }\n\n setOptions(options: GridOptions): void {\n this.options = options;\n }\n\n setPageSize(pageSize: number): void {\n this.pageSize = pageSize;\n }\n\n setCurrentPage(page: number): void {\n this.currentPage = page;\n }\n\n setSortField(field: string): void {\n this.sortField = field;\n }\n\n setSortDirection(direction: 'asc' | 'desc'): void {\n this.sortDirection = direction;\n }\n\n setFilterText(text: string): void {\n this.filterText = text;\n }\n\n processData(data: GridRowData[], columns: GridColumnDef[]): {\n filteredData: GridRowData[];\n sortedData: GridRowData[];\n paginatedData: GridRowData[];\n totalPages: number;\n } {\n // Apply filtering\n const filteredData = this.applyFilters(data, columns);\n \n // Apply sorting\n const sortedData = this.applySorting(filteredData, columns);\n \n // Apply pagination\n const totalPages = Math.ceil(sortedData.length / this.pageSize);\n const paginatedData = this.applyPagination(sortedData);\n\n return {\n filteredData,\n sortedData,\n paginatedData,\n totalPages\n };\n }\n\n private applyFilters(data: GridRowData[], columns: GridColumnDef[]): GridRowData[] {\n if (!this.filterText || !this.options.enableFiltering) {\n return data;\n }\n\n return data.filter(row => {\n return columns.some(column => {\n const value = row[column.field];\n if (value == null) return false;\n return String(value).toLowerCase().includes(this.filterText.toLowerCase());\n });\n });\n }\n\n private applySorting(data: GridRowData[], columns: GridColumnDef[]): GridRowData[] {\n if (!this.sortField || !this.options.enableSorting) {\n return data;\n }\n\n const column = columns.find(col => col.field === this.sortField);\n if (!column) return data;\n\n return [...data].sort((a, b) => {\n const aVal = a[column.field];\n const bVal = b[column.field];\n \n if (aVal == null && bVal == null) return 0;\n if (aVal == null) return 1;\n if (bVal == null) return -1;\n\n if (typeof aVal === 'string' && typeof bVal === 'string') {\n return this.sortDirection === 'asc' \n ? aVal.localeCompare(bVal)\n : bVal.localeCompare(aVal);\n }\n\n if (typeof aVal === 'number' && typeof bVal === 'number') {\n return this.sortDirection === 'asc' ? aVal - bVal : bVal - aVal;\n }\n\n return 0;\n });\n }\n\n private applyPagination(data: GridRowData[]): GridRowData[] {\n if (!this.options.enablePagination) {\n return data;\n }\n\n const startIndex = (this.currentPage - 1) * this.pageSize;\n const endIndex = startIndex + this.pageSize;\n return data.slice(startIndex, endIndex);\n }\n\n getSortClass(column: GridColumnDef): string {\n if (this.sortField !== column.field) return '';\n return this.sortDirection === 'asc' ? 'sort-asc' : 'sort-desc';\n }\n\n getSortIcon(column: GridColumnDef): string {\n if (this.sortField !== column.field) return '↕';\n return this.sortDirection === 'asc' ? '↑' : '↓';\n }\n\n isAllSelected(paginatedData: GridRowData[]): boolean {\n return paginatedData.length > 0 && paginatedData.every(row => row.selected);\n }\n\n isPartiallySelected(paginatedData: GridRowData[]): boolean {\n const selectedCount = paginatedData.filter(row => row.selected).length;\n return selectedCount > 0 && selectedCount < paginatedData.length;\n }\n\n // Getters for event handlers\n getSortField(): string {\n return this.sortField;\n }\n\n getSortDirection(): 'asc' | 'desc' {\n return this.sortDirection;\n }\n}\n"]}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Copyright Aquera Inc 2023
3
+ *
4
+ * This source code is licensed under the BSD-3-Clause license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+ import type { GridColumnDef, GridRowData, GridOptions } from './types.js';
8
+ import type { GridDataProcessor } from './data-processor.js';
9
+ export declare class GridEventHandlers {
10
+ private options;
11
+ private dataProcessor;
12
+ private selectedRows;
13
+ private isResizing;
14
+ private resizingColumn;
15
+ private dragStartX;
16
+ private dragStartWidth;
17
+ constructor(options: GridOptions, dataProcessor: GridDataProcessor);
18
+ setOptions(options: GridOptions): void;
19
+ handleKeyDown(event: KeyboardEvent): void;
20
+ handleWheel(event: WheelEvent, updateVirtualScrolling: () => void): void;
21
+ handleColumnSort(column: GridColumnDef, onSort: (field: string, direction: 'asc' | 'desc') => void): void;
22
+ handleColumnFilter(column: GridColumnDef, value: string, onFilter: () => void): void;
23
+ handleRowSelection(row: GridRowData, event: Event, currentData: GridRowData[], onSelectionChange: () => void): void;
24
+ handleHeaderSelectionChange(event: Event, currentData: GridRowData[], onSelectionChange: () => void): void;
25
+ handleRowClick(row: GridRowData, event: Event): void;
26
+ handleCellEdit(row: GridRowData, column: GridColumnDef, value: any, onCellEdit: (row: GridRowData, column: GridColumnDef, oldValue: any, newValue: any) => void): void;
27
+ handleColumnResizeStart(column: GridColumnDef, event: MouseEvent): void;
28
+ private handleColumnResizeMove;
29
+ private handleColumnResizeEnd;
30
+ private handleArrowKeyNavigation;
31
+ private emit;
32
+ getSelectedRows(): GridRowData[];
33
+ isResizingColumn(): boolean;
34
+ getResizingColumn(): GridColumnDef | null;
35
+ }