snice 1.14.2 → 2.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 (311) hide show
  1. package/bin/templates/base/tsconfig.json +5 -4
  2. package/components/accordion/demo.html +403 -0
  3. package/components/alert/demo.html +445 -0
  4. package/components/avatar/demo.html +598 -0
  5. package/components/badge/demo.html +523 -0
  6. package/components/breadcrumbs/demo.html +404 -0
  7. package/components/button/demo.html +42 -0
  8. package/components/card/demo.html +525 -0
  9. package/components/checkbox/demo.html +253 -0
  10. package/components/chip/demo.html +383 -0
  11. package/components/date-picker/demo.html +191 -0
  12. package/components/divider/demo.html +233 -0
  13. package/components/drawer/demo.html +328 -0
  14. package/components/input/demo.html +303 -0
  15. package/components/input/test.html +77 -0
  16. package/components/layout/demo.html +538 -0
  17. package/components/login/demo-auth-controller.ts +185 -0
  18. package/components/login/demo.html +470 -0
  19. package/components/login/snice-login.ts +2 -2
  20. package/components/modal/demo.html +291 -0
  21. package/components/pagination/demo.html +395 -0
  22. package/components/progress/demo.html +510 -0
  23. package/components/radio/demo.html +287 -0
  24. package/components/select/demo.html +511 -0
  25. package/components/skeleton/demo.html +514 -0
  26. package/components/switch/demo.html +284 -0
  27. package/components/table/demo-table-controller.ts +100 -0
  28. package/components/table/demo.html +480 -0
  29. package/components/table/snice-table.ts +2 -2
  30. package/components/tabs/demo.html +487 -0
  31. package/components/toast/demo.html +329 -0
  32. package/components/tooltip/demo.html +350 -0
  33. package/dist/index.cjs +441 -329
  34. package/dist/index.cjs.map +1 -1
  35. package/dist/index.cjs.min.map +1 -1
  36. package/dist/index.esm.js +441 -329
  37. package/dist/index.esm.js.map +1 -1
  38. package/dist/index.esm.min.js +3 -3
  39. package/dist/index.esm.min.js.map +1 -1
  40. package/dist/index.iife.js +441 -329
  41. package/dist/index.iife.js.map +1 -1
  42. package/dist/index.iife.min.js +3 -3
  43. package/dist/index.iife.min.js.map +1 -1
  44. package/dist/symbols.esm.js +1 -1
  45. package/dist/transitions.esm.js +1 -1
  46. package/dist/types/controller.d.ts +1 -1
  47. package/dist/types/element.d.ts +10 -10
  48. package/dist/types/events.d.ts +2 -2
  49. package/dist/types/index.d.ts +1 -1
  50. package/dist/types/observe.d.ts +1 -1
  51. package/dist/types/request-response.d.ts +2 -3
  52. package/dist/types/router.d.ts +1 -1
  53. package/package.json +9 -10
  54. package/dist/components/accordion/snice-accordion-item.d.ts +0 -25
  55. package/dist/components/accordion/snice-accordion-item.js +0 -260
  56. package/dist/components/accordion/snice-accordion-item.js.map +0 -1
  57. package/dist/components/accordion/snice-accordion.d.ts +0 -28
  58. package/dist/components/accordion/snice-accordion.js +0 -221
  59. package/dist/components/accordion/snice-accordion.js.map +0 -1
  60. package/dist/components/accordion/snice-accordion.types.d.ts +0 -29
  61. package/dist/components/accordion/snice-accordion.types.js +0 -2
  62. package/dist/components/accordion/snice-accordion.types.js.map +0 -1
  63. package/dist/components/alert/snice-alert.d.ts +0 -26
  64. package/dist/components/alert/snice-alert.js +0 -191
  65. package/dist/components/alert/snice-alert.js.map +0 -1
  66. package/dist/components/alert/snice-alert.types.d.ts +0 -11
  67. package/dist/components/alert/snice-alert.types.js +0 -2
  68. package/dist/components/alert/snice-alert.types.js.map +0 -1
  69. package/dist/components/avatar/snice-avatar.d.ts +0 -24
  70. package/dist/components/avatar/snice-avatar.js +0 -177
  71. package/dist/components/avatar/snice-avatar.js.map +0 -1
  72. package/dist/components/avatar/snice-avatar.types.d.ts +0 -12
  73. package/dist/components/avatar/snice-avatar.types.js +0 -2
  74. package/dist/components/avatar/snice-avatar.types.js.map +0 -1
  75. package/dist/components/badge/snice-badge.d.ts +0 -25
  76. package/dist/components/badge/snice-badge.js +0 -157
  77. package/dist/components/badge/snice-badge.js.map +0 -1
  78. package/dist/components/badge/snice-badge.types.d.ts +0 -15
  79. package/dist/components/badge/snice-badge.types.js +0 -2
  80. package/dist/components/badge/snice-badge.types.js.map +0 -1
  81. package/dist/components/breadcrumbs/snice-breadcrumbs.d.ts +0 -27
  82. package/dist/components/breadcrumbs/snice-breadcrumbs.js +0 -212
  83. package/dist/components/breadcrumbs/snice-breadcrumbs.js.map +0 -1
  84. package/dist/components/breadcrumbs/snice-breadcrumbs.types.d.ts +0 -23
  85. package/dist/components/breadcrumbs/snice-breadcrumbs.types.js +0 -2
  86. package/dist/components/breadcrumbs/snice-breadcrumbs.types.js.map +0 -1
  87. package/dist/components/breadcrumbs/snice-crumb.d.ts +0 -9
  88. package/dist/components/breadcrumbs/snice-crumb.js +0 -50
  89. package/dist/components/breadcrumbs/snice-crumb.js.map +0 -1
  90. package/dist/components/button/snice-button.d.ts +0 -32
  91. package/dist/components/button/snice-button.js +0 -212
  92. package/dist/components/button/snice-button.js.map +0 -1
  93. package/dist/components/button/snice-button.types.d.ts +0 -23
  94. package/dist/components/button/snice-button.types.js +0 -2
  95. package/dist/components/button/snice-button.types.js.map +0 -1
  96. package/dist/components/card/snice-card.d.ts +0 -19
  97. package/dist/components/card/snice-card.js +0 -132
  98. package/dist/components/card/snice-card.js.map +0 -1
  99. package/dist/components/card/snice-card.types.d.ts +0 -9
  100. package/dist/components/card/snice-card.types.js +0 -2
  101. package/dist/components/card/snice-card.types.js.map +0 -1
  102. package/dist/components/checkbox/snice-checkbox.d.ts +0 -34
  103. package/dist/components/checkbox/snice-checkbox.js +0 -289
  104. package/dist/components/checkbox/snice-checkbox.js.map +0 -1
  105. package/dist/components/checkbox/snice-checkbox.types.d.ts +0 -20
  106. package/dist/components/checkbox/snice-checkbox.types.js +0 -2
  107. package/dist/components/checkbox/snice-checkbox.types.js.map +0 -1
  108. package/dist/components/chip/snice-chip.d.ts +0 -28
  109. package/dist/components/chip/snice-chip.js +0 -203
  110. package/dist/components/chip/snice-chip.js.map +0 -1
  111. package/dist/components/chip/snice-chip.types.d.ts +0 -14
  112. package/dist/components/chip/snice-chip.types.js +0 -2
  113. package/dist/components/chip/snice-chip.types.js.map +0 -1
  114. package/dist/components/date-picker/snice-date-picker.d.ts +0 -82
  115. package/dist/components/date-picker/snice-date-picker.js +0 -880
  116. package/dist/components/date-picker/snice-date-picker.js.map +0 -1
  117. package/dist/components/date-picker/snice-date-picker.types.d.ts +0 -71
  118. package/dist/components/date-picker/snice-date-picker.types.js +0 -2
  119. package/dist/components/date-picker/snice-date-picker.types.js.map +0 -1
  120. package/dist/components/divider/snice-divider.d.ts +0 -17
  121. package/dist/components/divider/snice-divider.js +0 -111
  122. package/dist/components/divider/snice-divider.js.map +0 -1
  123. package/dist/components/divider/snice-divider.types.d.ts +0 -14
  124. package/dist/components/divider/snice-divider.types.js +0 -2
  125. package/dist/components/divider/snice-divider.types.js.map +0 -1
  126. package/dist/components/drawer/snice-drawer.d.ts +0 -37
  127. package/dist/components/drawer/snice-drawer.js +0 -335
  128. package/dist/components/drawer/snice-drawer.js.map +0 -1
  129. package/dist/components/drawer/snice-drawer.types.d.ts +0 -16
  130. package/dist/components/drawer/snice-drawer.types.js +0 -2
  131. package/dist/components/drawer/snice-drawer.types.js.map +0 -1
  132. package/dist/components/input/snice-input.d.ts +0 -65
  133. package/dist/components/input/snice-input.js +0 -603
  134. package/dist/components/input/snice-input.js.map +0 -1
  135. package/dist/components/input/snice-input.types.d.ts +0 -53
  136. package/dist/components/input/snice-input.types.js +0 -2
  137. package/dist/components/input/snice-input.types.js.map +0 -1
  138. package/dist/components/layout/snice-layout-blog.d.ts +0 -4
  139. package/dist/components/layout/snice-layout-blog.js +0 -56
  140. package/dist/components/layout/snice-layout-blog.js.map +0 -1
  141. package/dist/components/layout/snice-layout-card.d.ts +0 -6
  142. package/dist/components/layout/snice-layout-card.js +0 -53
  143. package/dist/components/layout/snice-layout-card.js.map +0 -1
  144. package/dist/components/layout/snice-layout-centered.d.ts +0 -5
  145. package/dist/components/layout/snice-layout-centered.js +0 -38
  146. package/dist/components/layout/snice-layout-centered.js.map +0 -1
  147. package/dist/components/layout/snice-layout-dashboard.d.ts +0 -4
  148. package/dist/components/layout/snice-layout-dashboard.js +0 -53
  149. package/dist/components/layout/snice-layout-dashboard.js.map +0 -1
  150. package/dist/components/layout/snice-layout-fullscreen.d.ts +0 -5
  151. package/dist/components/layout/snice-layout-fullscreen.js +0 -50
  152. package/dist/components/layout/snice-layout-fullscreen.js.map +0 -1
  153. package/dist/components/layout/snice-layout-landing.d.ts +0 -4
  154. package/dist/components/layout/snice-layout-landing.js +0 -55
  155. package/dist/components/layout/snice-layout-landing.js.map +0 -1
  156. package/dist/components/layout/snice-layout-minimal.d.ts +0 -4
  157. package/dist/components/layout/snice-layout-minimal.js +0 -27
  158. package/dist/components/layout/snice-layout-minimal.js.map +0 -1
  159. package/dist/components/layout/snice-layout-sidebar.d.ts +0 -5
  160. package/dist/components/layout/snice-layout-sidebar.js +0 -64
  161. package/dist/components/layout/snice-layout-sidebar.js.map +0 -1
  162. package/dist/components/layout/snice-layout-split.d.ts +0 -6
  163. package/dist/components/layout/snice-layout-split.js +0 -47
  164. package/dist/components/layout/snice-layout-split.js.map +0 -1
  165. package/dist/components/layout/snice-layout.d.ts +0 -4
  166. package/dist/components/layout/snice-layout.js +0 -43
  167. package/dist/components/layout/snice-layout.js.map +0 -1
  168. package/dist/components/layout/snice-layout.types.d.ts +0 -3
  169. package/dist/components/layout/snice-layout.types.js +0 -2
  170. package/dist/components/layout/snice-layout.types.js.map +0 -1
  171. package/dist/components/login/snice-login.d.ts +0 -45
  172. package/dist/components/login/snice-login.js +0 -385
  173. package/dist/components/login/snice-login.js.map +0 -1
  174. package/dist/components/login/snice-login.types.d.ts +0 -31
  175. package/dist/components/login/snice-login.types.js +0 -2
  176. package/dist/components/login/snice-login.types.js.map +0 -1
  177. package/dist/components/modal/snice-modal.d.ts +0 -32
  178. package/dist/components/modal/snice-modal.js +0 -288
  179. package/dist/components/modal/snice-modal.js.map +0 -1
  180. package/dist/components/modal/snice-modal.types.d.ts +0 -18
  181. package/dist/components/modal/snice-modal.types.js +0 -2
  182. package/dist/components/modal/snice-modal.types.js.map +0 -1
  183. package/dist/components/pagination/snice-pagination.d.ts +0 -26
  184. package/dist/components/pagination/snice-pagination.js +0 -373
  185. package/dist/components/pagination/snice-pagination.js.map +0 -1
  186. package/dist/components/pagination/snice-pagination.types.d.ts +0 -18
  187. package/dist/components/pagination/snice-pagination.types.js +0 -2
  188. package/dist/components/pagination/snice-pagination.types.js.map +0 -1
  189. package/dist/components/progress/snice-progress.d.ts +0 -35
  190. package/dist/components/progress/snice-progress.js +0 -295
  191. package/dist/components/progress/snice-progress.js.map +0 -1
  192. package/dist/components/progress/snice-progress.types.d.ts +0 -18
  193. package/dist/components/progress/snice-progress.types.js +0 -2
  194. package/dist/components/progress/snice-progress.types.js.map +0 -1
  195. package/dist/components/radio/snice-radio.d.ts +0 -33
  196. package/dist/components/radio/snice-radio.js +0 -286
  197. package/dist/components/radio/snice-radio.js.map +0 -1
  198. package/dist/components/radio/snice-radio.types.d.ts +0 -19
  199. package/dist/components/radio/snice-radio.types.js +0 -2
  200. package/dist/components/radio/snice-radio.types.js.map +0 -1
  201. package/dist/components/select/snice-option.d.ts +0 -17
  202. package/dist/components/select/snice-option.js +0 -77
  203. package/dist/components/select/snice-option.js.map +0 -1
  204. package/dist/components/select/snice-option.types.d.ts +0 -14
  205. package/dist/components/select/snice-option.types.js +0 -2
  206. package/dist/components/select/snice-option.types.js.map +0 -1
  207. package/dist/components/select/snice-select.d.ts +0 -89
  208. package/dist/components/select/snice-select.js +0 -900
  209. package/dist/components/select/snice-select.js.map +0 -1
  210. package/dist/components/select/snice-select.types.d.ts +0 -49
  211. package/dist/components/select/snice-select.types.js +0 -2
  212. package/dist/components/select/snice-select.types.js.map +0 -1
  213. package/dist/components/skeleton/snice-skeleton.d.ts +0 -16
  214. package/dist/components/skeleton/snice-skeleton.js +0 -159
  215. package/dist/components/skeleton/snice-skeleton.js.map +0 -1
  216. package/dist/components/skeleton/snice-skeleton.types.d.ts +0 -10
  217. package/dist/components/skeleton/snice-skeleton.types.js +0 -2
  218. package/dist/components/skeleton/snice-skeleton.types.js.map +0 -1
  219. package/dist/components/switch/snice-switch.d.ts +0 -38
  220. package/dist/components/switch/snice-switch.js +0 -309
  221. package/dist/components/switch/snice-switch.js.map +0 -1
  222. package/dist/components/switch/snice-switch.types.d.ts +0 -21
  223. package/dist/components/switch/snice-switch.types.js +0 -2
  224. package/dist/components/switch/snice-switch.types.js.map +0 -1
  225. package/dist/components/symbols.d.ts +0 -1
  226. package/dist/components/symbols.js +0 -20
  227. package/dist/components/symbols.js.map +0 -1
  228. package/dist/components/table/snice-cell-boolean.d.ts +0 -21
  229. package/dist/components/table/snice-cell-boolean.js +0 -152
  230. package/dist/components/table/snice-cell-boolean.js.map +0 -1
  231. package/dist/components/table/snice-cell-date.d.ts +0 -24
  232. package/dist/components/table/snice-cell-date.js +0 -240
  233. package/dist/components/table/snice-cell-date.js.map +0 -1
  234. package/dist/components/table/snice-cell-duration.d.ts +0 -16
  235. package/dist/components/table/snice-cell-duration.js +0 -123
  236. package/dist/components/table/snice-cell-duration.js.map +0 -1
  237. package/dist/components/table/snice-cell-filesize.d.ts +0 -16
  238. package/dist/components/table/snice-cell-filesize.js +0 -119
  239. package/dist/components/table/snice-cell-filesize.js.map +0 -1
  240. package/dist/components/table/snice-cell-number.d.ts +0 -23
  241. package/dist/components/table/snice-cell-number.js +0 -202
  242. package/dist/components/table/snice-cell-number.js.map +0 -1
  243. package/dist/components/table/snice-cell-progress.d.ts +0 -17
  244. package/dist/components/table/snice-cell-progress.js +0 -114
  245. package/dist/components/table/snice-cell-progress.js.map +0 -1
  246. package/dist/components/table/snice-cell-rating.d.ts +0 -17
  247. package/dist/components/table/snice-cell-rating.js +0 -113
  248. package/dist/components/table/snice-cell-rating.js.map +0 -1
  249. package/dist/components/table/snice-cell-sparkline.d.ts +0 -29
  250. package/dist/components/table/snice-cell-sparkline.js +0 -290
  251. package/dist/components/table/snice-cell-sparkline.js.map +0 -1
  252. package/dist/components/table/snice-cell-text.d.ts +0 -19
  253. package/dist/components/table/snice-cell-text.js +0 -153
  254. package/dist/components/table/snice-cell-text.js.map +0 -1
  255. package/dist/components/table/snice-cell.d.ts +0 -32
  256. package/dist/components/table/snice-cell.js +0 -451
  257. package/dist/components/table/snice-cell.js.map +0 -1
  258. package/dist/components/table/snice-column.d.ts +0 -62
  259. package/dist/components/table/snice-column.js +0 -440
  260. package/dist/components/table/snice-column.js.map +0 -1
  261. package/dist/components/table/snice-header.d.ts +0 -33
  262. package/dist/components/table/snice-header.js +0 -303
  263. package/dist/components/table/snice-header.js.map +0 -1
  264. package/dist/components/table/snice-progress.d.ts +0 -10
  265. package/dist/components/table/snice-progress.js +0 -91
  266. package/dist/components/table/snice-progress.js.map +0 -1
  267. package/dist/components/table/snice-rating.d.ts +0 -9
  268. package/dist/components/table/snice-rating.js +0 -68
  269. package/dist/components/table/snice-rating.js.map +0 -1
  270. package/dist/components/table/snice-row.d.ts +0 -43
  271. package/dist/components/table/snice-row.js +0 -365
  272. package/dist/components/table/snice-row.js.map +0 -1
  273. package/dist/components/table/snice-table.d.ts +0 -69
  274. package/dist/components/table/snice-table.js +0 -814
  275. package/dist/components/table/snice-table.js.map +0 -1
  276. package/dist/components/table/snice-table.types.d.ts +0 -137
  277. package/dist/components/table/snice-table.types.js +0 -2
  278. package/dist/components/table/snice-table.types.js.map +0 -1
  279. package/dist/components/tabs/snice-tab-panel.d.ts +0 -12
  280. package/dist/components/tabs/snice-tab-panel.js +0 -78
  281. package/dist/components/tabs/snice-tab-panel.js.map +0 -1
  282. package/dist/components/tabs/snice-tab.d.ts +0 -13
  283. package/dist/components/tabs/snice-tab.js +0 -90
  284. package/dist/components/tabs/snice-tab.js.map +0 -1
  285. package/dist/components/tabs/snice-tabs.d.ts +0 -34
  286. package/dist/components/tabs/snice-tabs.js +0 -367
  287. package/dist/components/tabs/snice-tabs.js.map +0 -1
  288. package/dist/components/tabs/snice-tabs.types.d.ts +0 -23
  289. package/dist/components/tabs/snice-tabs.types.js +0 -2
  290. package/dist/components/tabs/snice-tabs.types.js.map +0 -1
  291. package/dist/components/toast/snice-toast-container.d.ts +0 -25
  292. package/dist/components/toast/snice-toast-container.js +0 -251
  293. package/dist/components/toast/snice-toast-container.js.map +0 -1
  294. package/dist/components/toast/snice-toast.d.ts +0 -23
  295. package/dist/components/toast/snice-toast.js +0 -316
  296. package/dist/components/toast/snice-toast.js.map +0 -1
  297. package/dist/components/toast/snice-toast.types.d.ts +0 -30
  298. package/dist/components/toast/snice-toast.types.js +0 -2
  299. package/dist/components/toast/snice-toast.types.js.map +0 -1
  300. package/dist/components/tooltip/snice-tooltip.d.ts +0 -50
  301. package/dist/components/tooltip/snice-tooltip.js +0 -656
  302. package/dist/components/tooltip/snice-tooltip.js.map +0 -1
  303. package/dist/components/tooltip/snice-tooltip.types.d.ts +0 -18
  304. package/dist/components/tooltip/snice-tooltip.types.js +0 -2
  305. package/dist/components/tooltip/snice-tooltip.types.js.map +0 -1
  306. package/dist/components/transitions.d.ts +0 -11
  307. package/dist/components/transitions.js +0 -69
  308. package/dist/components/transitions.js.map +0 -1
  309. package/dist/index.cjs.min +0 -15
  310. package/dist/symbols.cjs +0 -103
  311. package/dist/transitions.cjs +0 -219
@@ -1,814 +0,0 @@
1
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
- return c > 3 && r && Object.defineProperty(target, key, r), r;
6
- };
7
- var __metadata = (this && this.__metadata) || function (k, v) {
8
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
- };
10
- import { element, on, property, query, request, dispatch, watch } from 'snice';
11
- import 'snice/input/snice-input';
12
- import 'snice/select/snice-select';
13
- import './snice-cell.ts';
14
- import './snice-cell-text.ts';
15
- import './snice-cell-number.ts';
16
- import './snice-cell-date.ts';
17
- import './snice-cell-boolean.ts';
18
- import './snice-cell-rating.ts';
19
- import './snice-cell-progress.ts';
20
- import './snice-cell-duration.ts';
21
- import './snice-cell-filesize.ts';
22
- import './snice-cell-sparkline.ts';
23
- let SniceTable = class SniceTable extends HTMLElement {
24
- constructor() {
25
- super(...arguments);
26
- this.striped = false;
27
- this.searchable = false;
28
- this.sortable = false;
29
- this.selectable = false;
30
- this.hoverable = true;
31
- this.clickable = false;
32
- this.columns = [];
33
- this.data = [];
34
- this.currentSort = [];
35
- this.searchText = '';
36
- this.selector = '';
37
- this.selectorOptions = [];
38
- this.loading = false;
39
- this.selectedRows = [];
40
- this.dataRequestTimeout = null;
41
- }
42
- async *getTableConfig() {
43
- const config = await (yield {});
44
- this.columns = config.columns || [];
45
- this.selectorOptions = config.selectorOptions || [];
46
- this.render();
47
- return config;
48
- }
49
- async *getTableData() {
50
- this.loading = true;
51
- this.selectedRows = []; // Clear selections when loading new data
52
- try {
53
- const params = {
54
- search: this.searchText,
55
- sort: this.currentSort,
56
- selector: this.selector
57
- };
58
- console.log('Requesting table data with params:', params);
59
- const response = await (yield params);
60
- console.log('Received table data response:', response);
61
- this.data = response.data || [];
62
- this.loading = false;
63
- this.render();
64
- return response;
65
- }
66
- catch (error) {
67
- console.error('Error loading table data:', error);
68
- this.data = [];
69
- this.loading = false;
70
- this.render();
71
- }
72
- }
73
- debouncedDataRequest() {
74
- // Set loading immediately for instant feedback
75
- if (!this.loading) {
76
- this.loading = true;
77
- }
78
- if (this.dataRequestTimeout) {
79
- clearTimeout(this.dataRequestTimeout);
80
- }
81
- this.dataRequestTimeout = setTimeout(() => {
82
- this.getTableData();
83
- this.dataRequestTimeout = null;
84
- }, 500);
85
- }
86
- css() {
87
- return /*css*/ `
88
- :host {
89
- display: block;
90
- }
91
-
92
- .snice-table {
93
- border-collapse: collapse;
94
- width: 100%;
95
- }
96
-
97
- table {
98
- width: 100%;
99
- border-collapse: separate;
100
- border-spacing: 0;
101
- border-radius: var(--snice-border-radius-lg);
102
- overflow: hidden;
103
- border: 1px solid var(--snice-color-border);
104
- }
105
-
106
- th, td {
107
- padding: var(--snice-spacing-sm);
108
- border: 1px solid var(--snice-color-border);
109
- text-align: left;
110
- color: var(--snice-color-text);
111
- }
112
-
113
- th {
114
- background-color: var(--snice-color-background-secondary);
115
- color: var(--snice-color-text);
116
- font-weight: var(--snice-font-weight-semibold);
117
- border-bottom: 2px solid var(--snice-color-border);
118
- }
119
-
120
- th.sortable {
121
- cursor: pointer;
122
- user-select: none;
123
- }
124
-
125
- th.sortable:hover {
126
- background-color: var(--snice-color-background-tertiary);
127
- }
128
-
129
- /* Row styling */
130
- :host([striped]) tbody tr:nth-child(even) {
131
- background-color: var(--snice-color-background-secondary);
132
- }
133
-
134
- :host([hoverable]) tbody tr:hover {
135
- background-color: var(--snice-color-background-tertiary);
136
- }
137
-
138
- :host([clickable]) tbody tr {
139
- cursor: pointer;
140
- }
141
-
142
- :host([selectable]) tbody tr {
143
- cursor: pointer;
144
- }
145
-
146
- tbody tr[data-selected="true"] {
147
- background-color: var(--snice-color-background-tertiary);
148
- border-left: 3px solid var(--snice-color-primary);
149
- }
150
-
151
- tbody tr[data-selected="true"]:hover {
152
- background-color: var(--snice-color-background-tertiary);
153
- }
154
-
155
- [part="header"] {
156
- background-color: var(--snice-color-background);
157
- }
158
-
159
- [part="body"] {
160
- background-color: var(--snice-table-body-bg, --snice-color-background);
161
- display: block;
162
- }
163
-
164
- .table-controls {
165
- display: flex;
166
- gap: var(--snice-spacing-md);
167
- align-items: center;
168
- flex-wrap: wrap;
169
- }
170
-
171
- :host(:not([searchable])) .search-input {
172
- display: none;
173
- }
174
-
175
- :host(.selector-options-empty) .selector-input {
176
- display: none;
177
- }
178
-
179
- .search-input {
180
- min-width: 200px;
181
- flex: 1;
182
- }
183
-
184
- .selector-input {
185
- min-width: 150px;
186
- }
187
-
188
- /* Sort indicators */
189
- .sort-header {
190
- display: flex;
191
- align-items: center;
192
- gap: var(--snice-spacing-xs);
193
- justify-content: space-between;
194
- }
195
-
196
-
197
- .sort-indicator {
198
- display: flex;
199
- flex-direction: column;
200
- font-size: 0.7em;
201
- line-height: 1;
202
- opacity: 0.3;
203
- transition: opacity var(--snice-transition-fast);
204
- }
205
-
206
- .sort-indicator.active {
207
- opacity: 1;
208
- }
209
-
210
- .sort-order {
211
- font-size: 0.6em;
212
- background: var(--snice-color-primary);
213
- color: var(--snice-color-text-inverse);
214
- border-radius: var(--snice-border-radius-sm);
215
- padding: 1px 3px;
216
- min-width: 12px;
217
- text-align: center;
218
- }
219
-
220
- /* Loading fade */
221
- tbody {
222
- transition: opacity var(--snice-transition-normal);
223
- }
224
-
225
- :host([loading]) tbody {
226
- opacity: 0.5;
227
- }
228
-
229
- .no-data {
230
- text-align: center;
231
- padding: var(--snice-spacing-lg);
232
- color: var(--snice-color-text-secondary);
233
- }
234
- `;
235
- }
236
- html() {
237
- return /*html*/ `
238
- <div class="snice-table">
239
- ${this.renderControls()}
240
- <table>
241
- <thead></thead>
242
- <tbody></tbody>
243
- </table>
244
- </div>
245
- `;
246
- }
247
- renderControls() {
248
- return /*html*/ `
249
- <div class="table-controls" part="controls">
250
- <snice-input
251
- class="search-input"
252
- type="search"
253
- placeholder="Search..."
254
- value="${this.searchText}"
255
- size="medium"
256
- ></snice-input>
257
- <snice-select
258
- class="selector-input"
259
- multiple
260
- searchable
261
- clearable
262
- placeholder="Filter..."
263
- size="medium"
264
- >
265
- ${this.selectorOptions.map(opt => `<snice-option value="${opt.value}">${opt.label}</snice-option>`).join('')}
266
- </snice-select>
267
- </div>
268
- `;
269
- }
270
- render() {
271
- console.log('render() called');
272
- this.renderHeader();
273
- this.renderBody();
274
- }
275
- handleSelectorOptionsChange() {
276
- // Update CSS class to show/hide selector
277
- if (this.selectorOptions.length === 0) {
278
- this.classList.add('selector-options-empty');
279
- }
280
- else {
281
- this.classList.remove('selector-options-empty');
282
- }
283
- }
284
- handleSortableChange() {
285
- this.renderHeader(); // Re-render header to show/hide sort indicators
286
- }
287
- handleSelectableChange() {
288
- this.render(); // Re-render both header and body for checkbox columns
289
- }
290
- handleColumnsChange() {
291
- this.renderHeader();
292
- }
293
- handleDataChange() {
294
- this.renderBody();
295
- }
296
- handleSelectedRowsChange() {
297
- this.updateRowSelectionState();
298
- this.updateSelectAllState();
299
- }
300
- handleSortChange() {
301
- this.renderHeader();
302
- }
303
- renderHeader() {
304
- if (!this.thead)
305
- return;
306
- const headerRow = document.createElement('tr');
307
- if (this.selectable) {
308
- const selectCell = document.createElement('th');
309
- const allSelected = this.selectedRows.length === this.data.length && this.data.length > 0;
310
- const someSelected = this.selectedRows.length > 0 && this.selectedRows.length < this.data.length;
311
- selectCell.innerHTML = `<input type="checkbox" class="select-all" ${allSelected ? 'checked' : ''} />`;
312
- headerRow.appendChild(selectCell);
313
- // Set indeterminate after insertion
314
- setTimeout(() => {
315
- const checkbox = selectCell.querySelector('.select-all');
316
- if (checkbox) {
317
- checkbox.indeterminate = someSelected;
318
- }
319
- }, 0);
320
- }
321
- this.columns.forEach(column => {
322
- const th = document.createElement('th');
323
- th.setAttribute('data-key', column.key);
324
- if (this.sortable && column.sortable !== false) {
325
- th.classList.add('sortable');
326
- th.setAttribute('role', 'button');
327
- th.innerHTML = this.renderSortableHeader(column);
328
- }
329
- else {
330
- th.textContent = column.label;
331
- }
332
- headerRow.appendChild(th);
333
- });
334
- this.thead.innerHTML = '';
335
- this.thead.appendChild(headerRow);
336
- }
337
- renderSortableHeader(column) {
338
- const sortItem = this.currentSort.find(s => s.column === column.key);
339
- const sortIndex = this.currentSort.findIndex(s => s.column === column.key);
340
- const isActive = !!sortItem;
341
- let indicator = '▲▼'; // Default unsorted state
342
- let orderNumber = '';
343
- if (sortItem) {
344
- if (sortItem.direction === 'asc') {
345
- indicator = '▲';
346
- }
347
- else if (sortItem.direction === 'desc') {
348
- indicator = '▼';
349
- }
350
- if (this.currentSort.length > 1) {
351
- orderNumber = `<span class="sort-order">${sortIndex + 1}</span>`;
352
- }
353
- }
354
- return `
355
- <div class="sort-header">
356
- <span>${column.label}</span>
357
- <div class="sort-indicator ${isActive ? 'active' : ''}">
358
- ${indicator}
359
- ${orderNumber}
360
- </div>
361
- </div>
362
- `;
363
- }
364
- renderBody() {
365
- if (!this.tbody)
366
- return;
367
- console.log('renderBody called with data:', this.data.length, 'columns:', this.columns.length, 'loading:', this.loading);
368
- this.tbody.innerHTML = '';
369
- if (this.data.length === 0 && this.columns.length > 0) {
370
- if (this.loading) {
371
- // Show loading spinner
372
- const tr = document.createElement('tr');
373
- const td = document.createElement('td');
374
- const colSpan = this.columns.length + (this.selectable ? 1 : 0);
375
- td.colSpan = colSpan;
376
- td.className = 'no-data';
377
- td.innerHTML = '<snice-progress variant="circular" indeterminate size="small"></snice-progress>';
378
- tr.appendChild(td);
379
- this.tbody.appendChild(tr);
380
- return;
381
- }
382
- else {
383
- // Show "No Data" message
384
- const tr = document.createElement('tr');
385
- const td = document.createElement('td');
386
- const colSpan = this.columns.length + (this.selectable ? 1 : 0);
387
- td.colSpan = colSpan;
388
- td.className = 'no-data';
389
- td.textContent = 'No Data';
390
- tr.appendChild(td);
391
- this.tbody.appendChild(tr);
392
- return;
393
- }
394
- }
395
- this.data.forEach((rowData, index) => {
396
- const tr = document.createElement('tr');
397
- tr.setAttribute('data-index', String(index));
398
- // Set row selection state
399
- const isSelected = this.selectedRows.includes(index);
400
- tr.setAttribute('data-selected', String(isSelected));
401
- if (this.selectable) {
402
- const selectCell = document.createElement('td');
403
- selectCell.innerHTML = `<input type="checkbox" class="row-select" ${isSelected ? 'checked' : ''} data-row-index="${index}" />`;
404
- tr.appendChild(selectCell);
405
- }
406
- this.columns.forEach(column => {
407
- const td = document.createElement('td');
408
- const value = rowData[column.key];
409
- // Create cell component as HTML string
410
- const cellTagName = this.getCellTagName(column.type);
411
- const attributes = this.getCellAttributes(column, value);
412
- td.innerHTML = `<${cellTagName} ${attributes}></${cellTagName}>`;
413
- tr.appendChild(td);
414
- });
415
- this.tbody.appendChild(tr);
416
- });
417
- }
418
- getCellAttributes(column, value) {
419
- const attributes = [
420
- `type="${column.type}"`,
421
- `align="${column.align || 'left'}"`,
422
- `value="${String(value || '').replace(/"/g, '&quot;')}"`,
423
- `in-table="true"`
424
- ];
425
- // Add type-specific attributes
426
- if (column.type === 'number' || column.type === 'currency') {
427
- if (column.decimals !== undefined)
428
- attributes.push(`decimals="${column.decimals}"`);
429
- if (column.thousandsSeparator)
430
- attributes.push(`thousands-separator="true"`);
431
- if (column.prefix)
432
- attributes.push(`prefix="${column.prefix}"`);
433
- if (column.suffix)
434
- attributes.push(`suffix="${column.suffix}"`);
435
- }
436
- if (column.type === 'date') {
437
- if (column.dateFormat)
438
- attributes.push(`date-format="${column.dateFormat}"`);
439
- }
440
- if (column.type === 'boolean') {
441
- if (column.useSymbols)
442
- attributes.push(`use-symbols="true"`);
443
- if (column.trueSymbol)
444
- attributes.push(`true-symbol="${column.trueSymbol}"`);
445
- if (column.falseSymbol)
446
- attributes.push(`false-symbol="${column.falseSymbol}"`);
447
- if (column.trueValue)
448
- attributes.push(`true-value="${column.trueValue}"`);
449
- if (column.falseValue)
450
- attributes.push(`false-value="${column.falseValue}"`);
451
- }
452
- return attributes.join(' ');
453
- }
454
- getCellTagName(type) {
455
- switch (type) {
456
- case 'text':
457
- return 'snice-cell-text';
458
- case 'number':
459
- case 'currency':
460
- return 'snice-cell-number';
461
- case 'date':
462
- return 'snice-cell-date';
463
- case 'boolean':
464
- return 'snice-cell-boolean';
465
- case 'rating':
466
- return 'snice-cell-rating';
467
- case 'progress':
468
- return 'snice-cell-progress';
469
- case 'duration':
470
- return 'snice-cell-duration';
471
- case 'filesize':
472
- return 'snice-cell-filesize';
473
- case 'sparkline':
474
- return 'snice-cell-sparkline';
475
- default:
476
- return 'snice-cell';
477
- }
478
- }
479
- handleSort(e) {
480
- const th = e.target.closest('th.sortable');
481
- if (!th)
482
- return;
483
- const columnKey = th.getAttribute('data-key');
484
- if (columnKey) {
485
- console.log('Sorting column:', columnKey);
486
- this.toggleSort(columnKey, true); // Always multi-sort
487
- }
488
- }
489
- handleRowSelect(e) {
490
- const checkbox = e.target;
491
- const rowIndex = parseInt(checkbox.getAttribute('data-row-index') || '0');
492
- if (checkbox.checked) {
493
- if (!this.selectedRows.includes(rowIndex)) {
494
- this.selectedRows = [...this.selectedRows, rowIndex];
495
- }
496
- }
497
- else {
498
- this.selectedRows = this.selectedRows.filter(i => i !== rowIndex);
499
- }
500
- this.updateRowSelectionState();
501
- this.updateSelectAllState();
502
- this.dispatchRowSelectionChanged(rowIndex, checkbox.checked);
503
- }
504
- handleSelectAll(e) {
505
- const checkbox = e.target;
506
- if (checkbox.checked) {
507
- this.selectedRows = this.data.map((_, index) => index);
508
- }
509
- else {
510
- this.selectedRows = [];
511
- }
512
- this.updateRowSelectionState();
513
- this.dispatchSelectAllChanged(checkbox.checked);
514
- }
515
- handleRowClick(e) {
516
- const tr = e.target.closest('tr');
517
- if (!tr)
518
- return;
519
- const target = e.target;
520
- // Don't trigger if clicking on checkbox or other interactive elements
521
- if (target.matches('input[type="checkbox"], button, a, .interactive')) {
522
- return;
523
- }
524
- const rowIndex = parseInt(tr.getAttribute('data-index') || '0');
525
- const rowData = this.data[rowIndex];
526
- // Handle row selection if selectable
527
- if (this.selectable) {
528
- const isCurrentlySelected = this.selectedRows.includes(rowIndex);
529
- if (isCurrentlySelected) {
530
- this.selectedRows = this.selectedRows.filter(i => i !== rowIndex);
531
- }
532
- else {
533
- this.selectedRows = [...this.selectedRows, rowIndex];
534
- }
535
- this.updateRowSelectionState();
536
- this.updateSelectAllState();
537
- this.dispatchRowSelectionChanged(rowIndex, !isCurrentlySelected);
538
- }
539
- // Handle clickable row event
540
- if (this.clickable) {
541
- this.dispatchEvent(new CustomEvent('row-clicked', {
542
- detail: { rowData, rowIndex }
543
- }));
544
- }
545
- }
546
- onAttached() {
547
- console.log('Controller attached, loading config and data...');
548
- this.getTableConfig();
549
- this.getTableData();
550
- }
551
- handleSearchChange(e) {
552
- const input = e.target;
553
- this.searchText = input.value;
554
- this.debouncedDataRequest();
555
- }
556
- handleSelectorChange(e) {
557
- this.selector = Array.isArray(e.detail.value) ? e.detail.value.join(',') : e.detail.value;
558
- this.debouncedDataRequest();
559
- }
560
- updateRowSelectionState() {
561
- if (!this.tbody)
562
- return;
563
- const rows = this.tbody.querySelectorAll('tr');
564
- rows.forEach((row, index) => {
565
- const isSelected = this.selectedRows.includes(index);
566
- row.setAttribute('data-selected', String(isSelected));
567
- const checkbox = row.querySelector('.row-select');
568
- if (checkbox) {
569
- checkbox.checked = isSelected;
570
- }
571
- });
572
- }
573
- updateSelectAllState() {
574
- const selectAllCheckbox = this.thead?.querySelector('.select-all');
575
- if (!selectAllCheckbox)
576
- return;
577
- const allSelected = this.selectedRows.length === this.data.length;
578
- const someSelected = this.selectedRows.length > 0 && this.selectedRows.length < this.data.length;
579
- selectAllCheckbox.checked = allSelected;
580
- selectAllCheckbox.indeterminate = someSelected;
581
- }
582
- toggleSort(columnKey, multiSort = false) {
583
- console.log('toggleSort called:', { columnKey, multiSort, currentSort: this.currentSort });
584
- if (!multiSort) {
585
- // Single column sort - clear all other sorts
586
- const existingSort = this.currentSort.find(s => s.column === columnKey);
587
- if (!existingSort) {
588
- this.currentSort = [{ column: columnKey, direction: 'asc' }];
589
- }
590
- else if (existingSort.direction === 'asc') {
591
- this.currentSort = [{ column: columnKey, direction: 'desc' }];
592
- }
593
- else {
594
- this.currentSort = [];
595
- }
596
- }
597
- else {
598
- // Multi column sort - modify existing or add new
599
- const existingSortIndex = this.currentSort.findIndex(s => s.column === columnKey);
600
- if (existingSortIndex === -1) {
601
- // Add new sort
602
- this.currentSort = [...this.currentSort, { column: columnKey, direction: 'asc' }];
603
- }
604
- else {
605
- const existingSort = this.currentSort[existingSortIndex];
606
- if (existingSort.direction === 'asc') {
607
- // Change to desc - create new array to trigger reactivity
608
- this.currentSort = this.currentSort.map((sort, index) => index === existingSortIndex ? { ...sort, direction: 'desc' } : sort);
609
- }
610
- else {
611
- // Remove this sort
612
- this.currentSort = this.currentSort.filter(s => s.column !== columnKey);
613
- }
614
- }
615
- }
616
- console.log('New sort state:', this.currentSort);
617
- this.renderHeader(); // Update sort indicators immediately
618
- this.debouncedDataRequest(); // Show loading immediately, debounce the actual request
619
- }
620
- dispatchRowSelectionChanged(rowIndex, selected) {
621
- return {
622
- selectedRows: this.selectedRows,
623
- rowIndex,
624
- selected
625
- };
626
- }
627
- dispatchSelectAllChanged(allSelected) {
628
- return {
629
- selectedRows: this.selectedRows,
630
- allSelected
631
- };
632
- }
633
- };
634
- __decorate([
635
- property({ type: Boolean, reflect: true, attribute: 'striped' }),
636
- __metadata("design:type", Object)
637
- ], SniceTable.prototype, "striped", void 0);
638
- __decorate([
639
- property({ type: Boolean, reflect: true, attribute: 'searchable' }),
640
- __metadata("design:type", Object)
641
- ], SniceTable.prototype, "searchable", void 0);
642
- __decorate([
643
- property({ type: Boolean, reflect: true, attribute: 'sortable' }),
644
- __metadata("design:type", Object)
645
- ], SniceTable.prototype, "sortable", void 0);
646
- __decorate([
647
- property({ type: Boolean, reflect: true, attribute: 'selectable' }),
648
- __metadata("design:type", Object)
649
- ], SniceTable.prototype, "selectable", void 0);
650
- __decorate([
651
- property({ type: Boolean, reflect: true, attribute: 'hoverable' }),
652
- __metadata("design:type", Object)
653
- ], SniceTable.prototype, "hoverable", void 0);
654
- __decorate([
655
- property({ type: Boolean, reflect: true, attribute: 'clickable' }),
656
- __metadata("design:type", Object)
657
- ], SniceTable.prototype, "clickable", void 0);
658
- __decorate([
659
- property({ type: Array, attribute: 'columns' }),
660
- __metadata("design:type", Array)
661
- ], SniceTable.prototype, "columns", void 0);
662
- __decorate([
663
- property({ type: Array, attribute: 'data' }),
664
- __metadata("design:type", Array)
665
- ], SniceTable.prototype, "data", void 0);
666
- __decorate([
667
- property({ type: Array, attribute: 'current-sort' }),
668
- __metadata("design:type", Array)
669
- ], SniceTable.prototype, "currentSort", void 0);
670
- __decorate([
671
- property({ type: String, attribute: 'search-text' }),
672
- __metadata("design:type", String)
673
- ], SniceTable.prototype, "searchText", void 0);
674
- __decorate([
675
- property({ type: String, attribute: 'selector' }),
676
- __metadata("design:type", String)
677
- ], SniceTable.prototype, "selector", void 0);
678
- __decorate([
679
- property({ type: Array, attribute: 'selector-options' }),
680
- __metadata("design:type", Array)
681
- ], SniceTable.prototype, "selectorOptions", void 0);
682
- __decorate([
683
- property({ type: Boolean, reflect: true, attribute: 'loading' }),
684
- __metadata("design:type", Boolean)
685
- ], SniceTable.prototype, "loading", void 0);
686
- __decorate([
687
- property({ type: Array, attribute: 'selected-rows' }),
688
- __metadata("design:type", Array)
689
- ], SniceTable.prototype, "selectedRows", void 0);
690
- __decorate([
691
- query('table'),
692
- __metadata("design:type", HTMLTableElement)
693
- ], SniceTable.prototype, "table", void 0);
694
- __decorate([
695
- query('thead'),
696
- __metadata("design:type", HTMLTableSectionElement)
697
- ], SniceTable.prototype, "thead", void 0);
698
- __decorate([
699
- query('tbody'),
700
- __metadata("design:type", HTMLTableSectionElement)
701
- ], SniceTable.prototype, "tbody", void 0);
702
- __decorate([
703
- request('@snice/table/config'),
704
- __metadata("design:type", Function),
705
- __metadata("design:paramtypes", []),
706
- __metadata("design:returntype", Object)
707
- ], SniceTable.prototype, "getTableConfig", null);
708
- __decorate([
709
- request('@snice/table/data'),
710
- __metadata("design:type", Function),
711
- __metadata("design:paramtypes", []),
712
- __metadata("design:returntype", Object)
713
- ], SniceTable.prototype, "getTableData", null);
714
- __decorate([
715
- watch('selector-options'),
716
- __metadata("design:type", Function),
717
- __metadata("design:paramtypes", []),
718
- __metadata("design:returntype", void 0)
719
- ], SniceTable.prototype, "handleSelectorOptionsChange", null);
720
- __decorate([
721
- watch('sortable'),
722
- __metadata("design:type", Function),
723
- __metadata("design:paramtypes", []),
724
- __metadata("design:returntype", void 0)
725
- ], SniceTable.prototype, "handleSortableChange", null);
726
- __decorate([
727
- watch('selectable'),
728
- __metadata("design:type", Function),
729
- __metadata("design:paramtypes", []),
730
- __metadata("design:returntype", void 0)
731
- ], SniceTable.prototype, "handleSelectableChange", null);
732
- __decorate([
733
- watch('columns'),
734
- __metadata("design:type", Function),
735
- __metadata("design:paramtypes", []),
736
- __metadata("design:returntype", void 0)
737
- ], SniceTable.prototype, "handleColumnsChange", null);
738
- __decorate([
739
- watch('data', 'loading'),
740
- __metadata("design:type", Function),
741
- __metadata("design:paramtypes", []),
742
- __metadata("design:returntype", void 0)
743
- ], SniceTable.prototype, "handleDataChange", null);
744
- __decorate([
745
- watch('selected-rows'),
746
- __metadata("design:type", Function),
747
- __metadata("design:paramtypes", []),
748
- __metadata("design:returntype", void 0)
749
- ], SniceTable.prototype, "handleSelectedRowsChange", null);
750
- __decorate([
751
- watch('current-sort'),
752
- __metadata("design:type", Function),
753
- __metadata("design:paramtypes", []),
754
- __metadata("design:returntype", void 0)
755
- ], SniceTable.prototype, "handleSortChange", null);
756
- __decorate([
757
- on('click', 'th.sortable'),
758
- __metadata("design:type", Function),
759
- __metadata("design:paramtypes", [MouseEvent]),
760
- __metadata("design:returntype", void 0)
761
- ], SniceTable.prototype, "handleSort", null);
762
- __decorate([
763
- on('change', '.row-select'),
764
- __metadata("design:type", Function),
765
- __metadata("design:paramtypes", [Event]),
766
- __metadata("design:returntype", void 0)
767
- ], SniceTable.prototype, "handleRowSelect", null);
768
- __decorate([
769
- on('change', '.select-all'),
770
- __metadata("design:type", Function),
771
- __metadata("design:paramtypes", [Event]),
772
- __metadata("design:returntype", void 0)
773
- ], SniceTable.prototype, "handleSelectAll", null);
774
- __decorate([
775
- on('click', 'tbody tr'),
776
- __metadata("design:type", Function),
777
- __metadata("design:paramtypes", [Event]),
778
- __metadata("design:returntype", void 0)
779
- ], SniceTable.prototype, "handleRowClick", null);
780
- __decorate([
781
- on('@snice/controller-attached'),
782
- __metadata("design:type", Function),
783
- __metadata("design:paramtypes", []),
784
- __metadata("design:returntype", void 0)
785
- ], SniceTable.prototype, "onAttached", null);
786
- __decorate([
787
- on('input', '.search-input', { debounce: 500 }),
788
- __metadata("design:type", Function),
789
- __metadata("design:paramtypes", [Event]),
790
- __metadata("design:returntype", void 0)
791
- ], SniceTable.prototype, "handleSearchChange", null);
792
- __decorate([
793
- on('@snice/select/change', '.selector-input', { debounce: 150 }),
794
- __metadata("design:type", Function),
795
- __metadata("design:paramtypes", [CustomEvent]),
796
- __metadata("design:returntype", void 0)
797
- ], SniceTable.prototype, "handleSelectorChange", null);
798
- __decorate([
799
- dispatch('@snice/table/row-selection-changed', { bubbles: true, composed: true }),
800
- __metadata("design:type", Function),
801
- __metadata("design:paramtypes", [Number, Boolean]),
802
- __metadata("design:returntype", void 0)
803
- ], SniceTable.prototype, "dispatchRowSelectionChanged", null);
804
- __decorate([
805
- dispatch('@snice/table/select-all-changed', { bubbles: true, composed: true }),
806
- __metadata("design:type", Function),
807
- __metadata("design:paramtypes", [Boolean]),
808
- __metadata("design:returntype", void 0)
809
- ], SniceTable.prototype, "dispatchSelectAllChanged", null);
810
- SniceTable = __decorate([
811
- element('snice-table')
812
- ], SniceTable);
813
- export { SniceTable };
814
- //# sourceMappingURL=snice-table.js.map