snice 3.1.0 → 3.3.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 (464) hide show
  1. package/README.md +90 -41
  2. package/dist/components/accordion/snice-accordion-item.d.ts +2 -2
  3. package/dist/components/accordion/snice-accordion-item.js +9 -9
  4. package/dist/components/accordion/snice-accordion-item.js.map +1 -1
  5. package/dist/components/accordion/snice-accordion.d.ts +2 -2
  6. package/dist/components/accordion/snice-accordion.js +9 -9
  7. package/dist/components/accordion/snice-accordion.js.map +1 -1
  8. package/dist/components/actions/snice-actions.d.ts +28 -0
  9. package/dist/components/actions/snice-actions.js +220 -0
  10. package/dist/components/actions/snice-actions.js.map +1 -0
  11. package/dist/components/actions/snice-actions.types.d.ts +27 -0
  12. package/dist/components/alert/snice-alert.d.ts +2 -2
  13. package/dist/components/alert/snice-alert.js +9 -9
  14. package/dist/components/alert/snice-alert.js.map +1 -1
  15. package/dist/components/audio-recorder/snice-audio-recorder.d.ts +58 -0
  16. package/dist/components/audio-recorder/snice-audio-recorder.js +413 -0
  17. package/dist/components/audio-recorder/snice-audio-recorder.js.map +1 -0
  18. package/dist/components/audio-recorder/snice-audio-recorder.types.d.ts +28 -0
  19. package/dist/components/avatar/snice-avatar.d.ts +2 -2
  20. package/dist/components/avatar/snice-avatar.js +9 -9
  21. package/dist/components/avatar/snice-avatar.js.map +1 -1
  22. package/dist/components/badge/snice-badge.d.ts +2 -2
  23. package/dist/components/badge/snice-badge.js +10 -10
  24. package/dist/components/badge/snice-badge.js.map +1 -1
  25. package/dist/components/banner/snice-banner.d.ts +22 -0
  26. package/dist/components/banner/snice-banner.js +180 -0
  27. package/dist/components/banner/snice-banner.js.map +1 -0
  28. package/dist/components/banner/snice-banner.types.d.ts +14 -0
  29. package/dist/components/breadcrumbs/snice-breadcrumbs.d.ts +2 -2
  30. package/dist/components/breadcrumbs/snice-breadcrumbs.js +9 -9
  31. package/dist/components/breadcrumbs/snice-breadcrumbs.js.map +1 -1
  32. package/dist/components/button/snice-button.d.ts +2 -2
  33. package/dist/components/button/snice-button.js +9 -9
  34. package/dist/components/button/snice-button.js.map +1 -1
  35. package/dist/components/calendar/snice-calendar.d.ts +46 -0
  36. package/dist/components/calendar/snice-calendar.js +294 -0
  37. package/dist/components/calendar/snice-calendar.js.map +1 -0
  38. package/dist/components/calendar/snice-calendar.types.d.ts +34 -0
  39. package/dist/components/camera/snice-camera.d.ts +39 -0
  40. package/dist/components/camera/snice-camera.js +286 -0
  41. package/dist/components/camera/snice-camera.js.map +1 -0
  42. package/dist/components/camera/snice-camera.types.d.ts +28 -0
  43. package/dist/components/card/snice-card.d.ts +2 -2
  44. package/dist/components/card/snice-card.js +9 -9
  45. package/dist/components/card/snice-card.js.map +1 -1
  46. package/dist/components/carousel/snice-carousel.d.ts +32 -0
  47. package/dist/components/carousel/snice-carousel.js +279 -0
  48. package/dist/components/carousel/snice-carousel.js.map +1 -0
  49. package/dist/components/carousel/snice-carousel.types.d.ts +22 -0
  50. package/dist/components/chart/snice-chart.d.ts +73 -0
  51. package/dist/components/chart/snice-chart.js +940 -0
  52. package/dist/components/chart/snice-chart.js.map +1 -0
  53. package/dist/components/chart/snice-chart.types.d.ts +71 -0
  54. package/dist/components/chat/snice-chat.d.ts +98 -0
  55. package/dist/components/chat/snice-chat.js +589 -0
  56. package/dist/components/chat/snice-chat.js.map +1 -0
  57. package/dist/components/chat/snice-chat.types.d.ts +141 -0
  58. package/dist/components/checkbox/snice-checkbox.d.ts +2 -2
  59. package/dist/components/checkbox/snice-checkbox.js +9 -9
  60. package/dist/components/checkbox/snice-checkbox.js.map +1 -1
  61. package/dist/components/chip/snice-chip.d.ts +2 -2
  62. package/dist/components/chip/snice-chip.js +9 -9
  63. package/dist/components/chip/snice-chip.js.map +1 -1
  64. package/dist/components/code-block/snice-code-block.d.ts +15 -0
  65. package/dist/components/code-block/snice-code-block.js +141 -0
  66. package/dist/components/code-block/snice-code-block.js.map +1 -0
  67. package/dist/components/code-block/snice-code-block.types.d.ts +15 -0
  68. package/dist/components/color-display/snice-color-display.d.ts +14 -0
  69. package/dist/components/color-display/snice-color-display.js +151 -0
  70. package/dist/components/color-display/snice-color-display.js.map +1 -0
  71. package/dist/components/color-display/snice-color-display.types.d.ts +10 -0
  72. package/dist/components/color-picker/snice-color-picker.d.ts +50 -0
  73. package/dist/components/color-picker/snice-color-picker.js +489 -0
  74. package/dist/components/color-picker/snice-color-picker.js.map +1 -0
  75. package/dist/components/color-picker/snice-color-picker.types.d.ts +19 -0
  76. package/dist/components/command-palette/snice-command-palette.d.ts +47 -0
  77. package/dist/components/command-palette/snice-command-palette.js +428 -0
  78. package/dist/components/command-palette/snice-command-palette.js.map +1 -0
  79. package/dist/components/command-palette/snice-command-palette.types.d.ts +49 -0
  80. package/dist/components/date-picker/snice-date-picker.d.ts +2 -2
  81. package/dist/components/date-picker/snice-date-picker.js +10 -10
  82. package/dist/components/date-picker/snice-date-picker.js.map +1 -1
  83. package/dist/components/divider/snice-divider.d.ts +2 -2
  84. package/dist/components/divider/snice-divider.js +9 -9
  85. package/dist/components/divider/snice-divider.js.map +1 -1
  86. package/dist/components/doc/snice-doc.d.ts +93 -0
  87. package/dist/components/doc/snice-doc.js +626 -0
  88. package/dist/components/doc/snice-doc.js.map +1 -0
  89. package/dist/components/doc/snice-doc.types.d.ts +118 -0
  90. package/dist/components/draw/snice-draw.d.ts +71 -0
  91. package/dist/components/draw/snice-draw.js +709 -0
  92. package/dist/components/draw/snice-draw.js.map +1 -0
  93. package/dist/components/draw/snice-draw.types.d.ts +41 -0
  94. package/dist/components/drawer/snice-drawer.d.ts +2 -2
  95. package/dist/components/drawer/snice-drawer.js +9 -9
  96. package/dist/components/drawer/snice-drawer.js.map +1 -1
  97. package/dist/components/empty-state/snice-empty-state.d.ts +13 -0
  98. package/dist/components/empty-state/snice-empty-state.js +121 -0
  99. package/dist/components/empty-state/snice-empty-state.js.map +1 -0
  100. package/dist/components/empty-state/snice-empty-state.types.d.ts +9 -0
  101. package/dist/components/file-upload/snice-file-upload.d.ts +44 -0
  102. package/dist/components/file-upload/snice-file-upload.js +387 -0
  103. package/dist/components/file-upload/snice-file-upload.js.map +1 -0
  104. package/dist/components/file-upload/snice-file-upload.types.d.ts +22 -0
  105. package/dist/components/gantt/snice-gantt.d.ts +29 -0
  106. package/dist/components/gantt/snice-gantt.js +268 -0
  107. package/dist/components/gantt/snice-gantt.js.map +1 -0
  108. package/dist/components/gantt/snice-gantt.types.d.ts +23 -0
  109. package/dist/components/image/snice-image.d.ts +22 -0
  110. package/dist/components/image/snice-image.js +201 -0
  111. package/dist/components/image/snice-image.js.map +1 -0
  112. package/dist/components/image/snice-image.types.d.ts +17 -0
  113. package/dist/components/input/snice-input.d.ts +2 -2
  114. package/dist/components/input/snice-input.js +9 -9
  115. package/dist/components/input/snice-input.js.map +1 -1
  116. package/dist/components/kanban/snice-kanban.d.ts +31 -0
  117. package/dist/components/kanban/snice-kanban.js +243 -0
  118. package/dist/components/kanban/snice-kanban.js.map +1 -0
  119. package/dist/components/kanban/snice-kanban.types.d.ts +29 -0
  120. package/dist/components/kpi/snice-kpi.d.ts +16 -0
  121. package/dist/components/kpi/snice-kpi.js +162 -0
  122. package/dist/components/kpi/snice-kpi.js.map +1 -0
  123. package/dist/components/kpi/snice-kpi.types.d.ts +12 -0
  124. package/dist/components/layout/snice-layout-blog.d.ts +2 -2
  125. package/dist/components/layout/snice-layout-blog.js +9 -9
  126. package/dist/components/layout/snice-layout-blog.js.map +1 -1
  127. package/dist/components/layout/snice-layout-card.d.ts +2 -2
  128. package/dist/components/layout/snice-layout-card.js +9 -9
  129. package/dist/components/layout/snice-layout-card.js.map +1 -1
  130. package/dist/components/layout/snice-layout-centered.d.ts +2 -2
  131. package/dist/components/layout/snice-layout-centered.js +9 -9
  132. package/dist/components/layout/snice-layout-centered.js.map +1 -1
  133. package/dist/components/layout/snice-layout-dashboard.d.ts +2 -2
  134. package/dist/components/layout/snice-layout-dashboard.js +9 -9
  135. package/dist/components/layout/snice-layout-dashboard.js.map +1 -1
  136. package/dist/components/layout/snice-layout-fullscreen.d.ts +2 -2
  137. package/dist/components/layout/snice-layout-fullscreen.js +9 -9
  138. package/dist/components/layout/snice-layout-fullscreen.js.map +1 -1
  139. package/dist/components/layout/snice-layout-landing.d.ts +2 -2
  140. package/dist/components/layout/snice-layout-landing.js +9 -9
  141. package/dist/components/layout/snice-layout-landing.js.map +1 -1
  142. package/dist/components/layout/snice-layout-minimal.d.ts +2 -2
  143. package/dist/components/layout/snice-layout-minimal.js +9 -9
  144. package/dist/components/layout/snice-layout-minimal.js.map +1 -1
  145. package/dist/components/layout/snice-layout-sidebar.d.ts +2 -2
  146. package/dist/components/layout/snice-layout-sidebar.js +9 -9
  147. package/dist/components/layout/snice-layout-sidebar.js.map +1 -1
  148. package/dist/components/layout/snice-layout-split.d.ts +2 -2
  149. package/dist/components/layout/snice-layout-split.js +9 -9
  150. package/dist/components/layout/snice-layout-split.js.map +1 -1
  151. package/dist/components/layout/snice-layout.d.ts +2 -2
  152. package/dist/components/layout/snice-layout.js +9 -9
  153. package/dist/components/layout/snice-layout.js.map +1 -1
  154. package/dist/components/link/snice-link.d.ts +13 -0
  155. package/dist/components/link/snice-link.js +137 -0
  156. package/dist/components/link/snice-link.js.map +1 -0
  157. package/dist/components/link/snice-link.types.d.ts +11 -0
  158. package/dist/components/list/snice-list-item.d.ts +6 -0
  159. package/dist/components/list/snice-list-item.js +68 -0
  160. package/dist/components/list/snice-list-item.js.map +1 -0
  161. package/dist/components/list/snice-list.d.ts +23 -0
  162. package/dist/components/list/snice-list.js +270 -0
  163. package/dist/components/list/snice-list.js.map +1 -0
  164. package/dist/components/list/snice-list.types.d.ts +28 -0
  165. package/dist/components/location/snice-location.d.ts +35 -0
  166. package/dist/components/location/snice-location.js +238 -0
  167. package/dist/components/location/snice-location.js.map +1 -0
  168. package/dist/components/location/snice-location.types.d.ts +35 -0
  169. package/dist/components/login/snice-login.d.ts +2 -2
  170. package/dist/components/login/snice-login.js +9 -9
  171. package/dist/components/login/snice-login.js.map +1 -1
  172. package/dist/components/menu/snice-menu-divider.d.ts +4 -0
  173. package/dist/components/menu/snice-menu-divider.js +53 -0
  174. package/dist/components/menu/snice-menu-divider.js.map +1 -0
  175. package/dist/components/menu/snice-menu-item.d.ts +10 -0
  176. package/dist/components/menu/snice-menu-item.js +99 -0
  177. package/dist/components/menu/snice-menu-item.js.map +1 -0
  178. package/dist/components/menu/snice-menu-item.types.d.ts +9 -0
  179. package/dist/components/menu/snice-menu.d.ts +27 -0
  180. package/dist/components/menu/snice-menu.js +199 -0
  181. package/dist/components/menu/snice-menu.js.map +1 -0
  182. package/dist/components/menu/snice-menu.types.d.ts +18 -0
  183. package/dist/components/modal/snice-modal.d.ts +2 -2
  184. package/dist/components/modal/snice-modal.js +9 -9
  185. package/dist/components/modal/snice-modal.js.map +1 -1
  186. package/dist/components/nav/snice-nav.js +1 -1
  187. package/dist/components/nav/snice-nav.js.map +1 -1
  188. package/dist/components/pagination/snice-pagination.d.ts +2 -2
  189. package/dist/components/pagination/snice-pagination.js +8 -8
  190. package/dist/components/pagination/snice-pagination.js.map +1 -1
  191. package/dist/components/progress/snice-progress.d.ts +2 -2
  192. package/dist/components/progress/snice-progress.js +9 -9
  193. package/dist/components/progress/snice-progress.js.map +1 -1
  194. package/dist/components/qr-code/qrcode.d.ts +28 -0
  195. package/dist/components/qr-code/qrcode.js +906 -0
  196. package/dist/components/qr-code/qrcode.js.map +1 -0
  197. package/dist/components/qr-code/snice-qr-code.d.ts +35 -0
  198. package/dist/components/qr-code/snice-qr-code.js +256 -0
  199. package/dist/components/qr-code/snice-qr-code.js.map +1 -0
  200. package/dist/components/qr-code/snice-qr-code.types.d.ts +33 -0
  201. package/dist/components/radio/snice-radio.d.ts +2 -2
  202. package/dist/components/radio/snice-radio.js +9 -9
  203. package/dist/components/radio/snice-radio.js.map +1 -1
  204. package/dist/components/select/snice-option.d.ts +2 -2
  205. package/dist/components/select/snice-option.js +8 -8
  206. package/dist/components/select/snice-option.js.map +1 -1
  207. package/dist/components/select/snice-select.d.ts +2 -2
  208. package/dist/components/select/snice-select.js +9 -9
  209. package/dist/components/select/snice-select.js.map +1 -1
  210. package/dist/components/skeleton/snice-skeleton.d.ts +2 -2
  211. package/dist/components/skeleton/snice-skeleton.js +9 -9
  212. package/dist/components/skeleton/snice-skeleton.js.map +1 -1
  213. package/dist/components/slider/snice-slider.d.ts +53 -0
  214. package/dist/components/slider/snice-slider.js +479 -0
  215. package/dist/components/slider/snice-slider.js.map +1 -0
  216. package/dist/components/slider/snice-slider.types.d.ts +26 -0
  217. package/dist/components/snice-cell-C0slgOpe.js +4 -0
  218. package/dist/components/snice-cell-C0slgOpe.js.map +1 -0
  219. package/dist/components/sparkline/snice-sparkline.d.ts +21 -0
  220. package/dist/components/sparkline/snice-sparkline.js +228 -0
  221. package/dist/components/sparkline/snice-sparkline.js.map +1 -0
  222. package/dist/components/sparkline/snice-sparkline.types.d.ts +16 -0
  223. package/dist/components/spinner/snice-spinner.d.ts +10 -0
  224. package/dist/components/spinner/snice-spinner.js +109 -0
  225. package/dist/components/spinner/snice-spinner.js.map +1 -0
  226. package/dist/components/spinner/snice-spinner.types.d.ts +8 -0
  227. package/dist/components/split-pane/snice-split-pane.d.ts +32 -0
  228. package/dist/components/split-pane/snice-split-pane.js +191 -0
  229. package/dist/components/split-pane/snice-split-pane.js.map +1 -0
  230. package/dist/components/split-pane/snice-split-pane.types.d.ts +19 -0
  231. package/dist/components/stat/snice-stat.d.ts +14 -0
  232. package/dist/components/stat/snice-stat.js +140 -0
  233. package/dist/components/stat/snice-stat.js.map +1 -0
  234. package/dist/components/stat/snice-stat.types.d.ts +12 -0
  235. package/dist/components/stepper/snice-stepper-panel.d.ts +8 -0
  236. package/dist/components/stepper/snice-stepper-panel.js +70 -0
  237. package/dist/components/stepper/snice-stepper-panel.js.map +1 -0
  238. package/dist/components/stepper/snice-stepper-panel.types.d.ts +4 -0
  239. package/dist/components/stepper/snice-stepper.d.ts +15 -0
  240. package/dist/components/stepper/snice-stepper.js +163 -0
  241. package/dist/components/stepper/snice-stepper.js.map +1 -0
  242. package/dist/components/stepper/snice-stepper.types.d.ts +13 -0
  243. package/dist/components/switch/snice-switch.d.ts +2 -2
  244. package/dist/components/switch/snice-switch.js +9 -9
  245. package/dist/components/switch/snice-switch.js.map +1 -1
  246. package/dist/components/table/snice-cell-actions.d.ts +2 -2
  247. package/dist/components/table/snice-cell-actions.js +9 -9
  248. package/dist/components/table/snice-cell-actions.js.map +1 -1
  249. package/dist/components/table/snice-cell-boolean.d.ts +2 -2
  250. package/dist/components/table/snice-cell-boolean.js +9 -9
  251. package/dist/components/table/snice-cell-boolean.js.map +1 -1
  252. package/dist/components/table/snice-cell-color.d.ts +2 -2
  253. package/dist/components/table/snice-cell-color.js +9 -9
  254. package/dist/components/table/snice-cell-color.js.map +1 -1
  255. package/dist/components/table/snice-cell-currency.d.ts +2 -2
  256. package/dist/components/table/snice-cell-currency.js +9 -9
  257. package/dist/components/table/snice-cell-currency.js.map +1 -1
  258. package/dist/components/table/snice-cell-date.d.ts +2 -2
  259. package/dist/components/table/snice-cell-date.js +9 -9
  260. package/dist/components/table/snice-cell-date.js.map +1 -1
  261. package/dist/components/table/snice-cell-duration.d.ts +2 -2
  262. package/dist/components/table/snice-cell-duration.js +9 -9
  263. package/dist/components/table/snice-cell-duration.js.map +1 -1
  264. package/dist/components/table/snice-cell-email.d.ts +2 -2
  265. package/dist/components/table/snice-cell-email.js +9 -9
  266. package/dist/components/table/snice-cell-email.js.map +1 -1
  267. package/dist/components/table/snice-cell-filesize.d.ts +2 -2
  268. package/dist/components/table/snice-cell-filesize.js +9 -9
  269. package/dist/components/table/snice-cell-filesize.js.map +1 -1
  270. package/dist/components/table/snice-cell-image.d.ts +2 -2
  271. package/dist/components/table/snice-cell-image.js +9 -9
  272. package/dist/components/table/snice-cell-image.js.map +1 -1
  273. package/dist/components/table/snice-cell-json.d.ts +2 -2
  274. package/dist/components/table/snice-cell-json.js +9 -9
  275. package/dist/components/table/snice-cell-json.js.map +1 -1
  276. package/dist/components/table/snice-cell-link.d.ts +2 -2
  277. package/dist/components/table/snice-cell-link.js +9 -9
  278. package/dist/components/table/snice-cell-link.js.map +1 -1
  279. package/dist/components/table/snice-cell-location.d.ts +2 -2
  280. package/dist/components/table/snice-cell-location.js +9 -9
  281. package/dist/components/table/snice-cell-location.js.map +1 -1
  282. package/dist/components/table/snice-cell-number.d.ts +2 -2
  283. package/dist/components/table/snice-cell-number.js +9 -9
  284. package/dist/components/table/snice-cell-number.js.map +1 -1
  285. package/dist/components/table/snice-cell-percentage.d.ts +2 -2
  286. package/dist/components/table/snice-cell-percentage.js +9 -9
  287. package/dist/components/table/snice-cell-percentage.js.map +1 -1
  288. package/dist/components/table/snice-cell-phone.d.ts +2 -2
  289. package/dist/components/table/snice-cell-phone.js +9 -9
  290. package/dist/components/table/snice-cell-phone.js.map +1 -1
  291. package/dist/components/table/snice-cell-progress.d.ts +2 -2
  292. package/dist/components/table/snice-cell-progress.js +9 -9
  293. package/dist/components/table/snice-cell-progress.js.map +1 -1
  294. package/dist/components/table/snice-cell-rating.d.ts +2 -2
  295. package/dist/components/table/snice-cell-rating.js +9 -9
  296. package/dist/components/table/snice-cell-rating.js.map +1 -1
  297. package/dist/components/table/snice-cell-sparkline.d.ts +2 -2
  298. package/dist/components/table/snice-cell-sparkline.js +9 -9
  299. package/dist/components/table/snice-cell-sparkline.js.map +1 -1
  300. package/dist/components/table/snice-cell-status.d.ts +2 -2
  301. package/dist/components/table/snice-cell-status.js +9 -9
  302. package/dist/components/table/snice-cell-status.js.map +1 -1
  303. package/dist/components/table/snice-cell-tag.d.ts +2 -2
  304. package/dist/components/table/snice-cell-tag.js +9 -9
  305. package/dist/components/table/snice-cell-tag.js.map +1 -1
  306. package/dist/components/table/snice-cell-text.d.ts +2 -2
  307. package/dist/components/table/snice-cell-text.js +9 -9
  308. package/dist/components/table/snice-cell-text.js.map +1 -1
  309. package/dist/components/table/snice-cell.d.ts +2 -2
  310. package/dist/components/table/snice-cell.js +9 -9
  311. package/dist/components/table/snice-cell.js.map +1 -1
  312. package/dist/components/table/snice-column.d.ts +1 -1
  313. package/dist/components/table/snice-column.js +4 -4
  314. package/dist/components/table/snice-column.js.map +1 -1
  315. package/dist/components/table/snice-header.d.ts +2 -2
  316. package/dist/components/table/snice-header.js +9 -9
  317. package/dist/components/table/snice-header.js.map +1 -1
  318. package/dist/components/table/snice-progress.d.ts +2 -2
  319. package/dist/components/table/snice-progress.js +8 -8
  320. package/dist/components/table/snice-progress.js.map +1 -1
  321. package/dist/components/table/snice-rating.d.ts +2 -2
  322. package/dist/components/table/snice-rating.js +8 -8
  323. package/dist/components/table/snice-rating.js.map +1 -1
  324. package/dist/components/table/snice-row.d.ts +2 -2
  325. package/dist/components/table/snice-row.js +10 -10
  326. package/dist/components/table/snice-row.js.map +1 -1
  327. package/dist/components/table/snice-table.d.ts +2 -3
  328. package/dist/components/table/snice-table.js +9 -14
  329. package/dist/components/table/snice-table.js.map +1 -1
  330. package/dist/components/tabs/snice-tab-panel.d.ts +2 -2
  331. package/dist/components/tabs/snice-tab-panel.js +9 -9
  332. package/dist/components/tabs/snice-tab-panel.js.map +1 -1
  333. package/dist/components/tabs/snice-tab.d.ts +2 -2
  334. package/dist/components/tabs/snice-tab.js +9 -9
  335. package/dist/components/tabs/snice-tab.js.map +1 -1
  336. package/dist/components/tabs/snice-tabs.d.ts +2 -2
  337. package/dist/components/tabs/snice-tabs.js +9 -9
  338. package/dist/components/tabs/snice-tabs.js.map +1 -1
  339. package/dist/components/terminal/snice-terminal.types.d.ts +133 -0
  340. package/dist/components/textarea/snice-textarea.d.ts +52 -0
  341. package/dist/components/textarea/snice-textarea.js +407 -0
  342. package/dist/components/textarea/snice-textarea.js.map +1 -0
  343. package/dist/components/textarea/snice-textarea.types.d.ts +30 -0
  344. package/dist/components/timeline/snice-timeline.d.ts +11 -0
  345. package/dist/components/timeline/snice-timeline.js +112 -0
  346. package/dist/components/timeline/snice-timeline.js.map +1 -0
  347. package/dist/components/timeline/snice-timeline.types.d.ts +16 -0
  348. package/dist/components/toast/snice-toast-container.d.ts +2 -2
  349. package/dist/components/toast/snice-toast-container.js +8 -8
  350. package/dist/components/toast/snice-toast-container.js.map +1 -1
  351. package/dist/components/toast/snice-toast.d.ts +2 -2
  352. package/dist/components/toast/snice-toast.js +8 -8
  353. package/dist/components/toast/snice-toast.js.map +1 -1
  354. package/dist/components/tooltip/snice-tooltip.d.ts +2 -2
  355. package/dist/components/tooltip/snice-tooltip.js +10 -10
  356. package/dist/components/tooltip/snice-tooltip.js.map +1 -1
  357. package/dist/components/tree/snice-tree-item.d.ts +35 -0
  358. package/dist/components/tree/snice-tree-item.js +301 -0
  359. package/dist/components/tree/snice-tree-item.js.map +1 -0
  360. package/dist/components/tree/snice-tree-item.types.d.ts +30 -0
  361. package/dist/components/tree/snice-tree.d.ts +45 -0
  362. package/dist/components/tree/snice-tree.js +390 -0
  363. package/dist/components/tree/snice-tree.js.map +1 -0
  364. package/dist/components/tree/snice-tree.types.d.ts +65 -0
  365. package/dist/components/virtual-scroller/snice-virtual-scroller.d.ts +31 -0
  366. package/dist/components/virtual-scroller/snice-virtual-scroller.js +160 -0
  367. package/dist/components/virtual-scroller/snice-virtual-scroller.js.map +1 -0
  368. package/dist/components/virtual-scroller/snice-virtual-scroller.types.d.ts +19 -0
  369. package/dist/index.cjs +125 -158
  370. package/dist/index.cjs.map +1 -1
  371. package/dist/index.esm.js +125 -158
  372. package/dist/index.esm.js.map +1 -1
  373. package/dist/index.iife.js +125 -158
  374. package/dist/index.iife.js.map +1 -1
  375. package/dist/parts.d.ts +13 -16
  376. package/dist/symbols.cjs +1 -1
  377. package/dist/symbols.esm.js +1 -1
  378. package/dist/template.d.ts +0 -1
  379. package/dist/transitions.cjs +1 -1
  380. package/dist/transitions.esm.js +1 -1
  381. package/docs/ai/README.md +10 -1
  382. package/docs/ai/components/actions.md +81 -0
  383. package/docs/ai/components/audio-recorder.md +97 -0
  384. package/docs/ai/components/banner.md +84 -0
  385. package/docs/ai/components/calendar.md +95 -0
  386. package/docs/ai/components/camera.md +130 -0
  387. package/docs/ai/components/carousel.md +49 -0
  388. package/docs/ai/components/chart.md +160 -0
  389. package/docs/ai/components/chat.md +189 -0
  390. package/docs/ai/components/code-block.md +32 -0
  391. package/docs/ai/components/color-display.md +48 -0
  392. package/docs/ai/components/color-picker.md +75 -0
  393. package/docs/ai/components/command-palette.md +117 -0
  394. package/docs/ai/components/doc.md +154 -0
  395. package/docs/ai/components/draw.md +140 -0
  396. package/docs/ai/components/empty-state.md +72 -0
  397. package/docs/ai/components/file-upload.md +93 -0
  398. package/docs/ai/components/gantt.md +95 -0
  399. package/docs/ai/components/image.md +60 -0
  400. package/docs/ai/components/kanban.md +102 -0
  401. package/docs/ai/components/kpi.md +158 -0
  402. package/docs/ai/components/layout.md +261 -0
  403. package/docs/ai/components/link.md +77 -0
  404. package/docs/ai/components/list.md +50 -0
  405. package/docs/ai/components/location.md +75 -0
  406. package/docs/ai/components/menu.md +114 -0
  407. package/docs/ai/components/popover.md +70 -0
  408. package/docs/ai/components/qr-code.md +106 -0
  409. package/docs/ai/components/slider.md +87 -0
  410. package/docs/ai/components/sparkline.md +168 -0
  411. package/docs/ai/components/spinner.md +47 -0
  412. package/docs/ai/components/split-pane.md +71 -0
  413. package/docs/ai/components/stat.md +29 -0
  414. package/docs/ai/components/stepper.md +216 -0
  415. package/docs/ai/components/textarea.md +87 -0
  416. package/docs/ai/components/timeline.md +77 -0
  417. package/docs/ai/components/tree.md +191 -0
  418. package/docs/ai/components/virtual-scroller.md +71 -0
  419. package/docs/components/actions.md +317 -0
  420. package/docs/components/alert.md +540 -0
  421. package/docs/components/audio-recorder.md +152 -0
  422. package/docs/components/badge.md +593 -0
  423. package/docs/components/banner.md +106 -0
  424. package/docs/components/breadcrumbs.md +568 -0
  425. package/docs/components/button.md +648 -0
  426. package/docs/components/calendar.md +397 -0
  427. package/docs/components/camera.md +383 -0
  428. package/docs/components/card.md +778 -0
  429. package/docs/components/carousel.md +63 -0
  430. package/docs/components/chart.md +526 -0
  431. package/docs/components/chat.md +482 -0
  432. package/docs/components/checkbox.md +714 -0
  433. package/docs/components/chip.md +670 -0
  434. package/docs/components/code-block.md +49 -0
  435. package/docs/components/color-display.md +96 -0
  436. package/docs/components/color-picker.md +81 -0
  437. package/docs/components/command-palette.md +159 -0
  438. package/docs/components/doc.md +357 -0
  439. package/docs/components/draw.md +307 -0
  440. package/docs/components/empty-state.md +79 -0
  441. package/docs/components/file-upload.md +263 -0
  442. package/docs/components/gantt.md +347 -0
  443. package/docs/components/image.md +110 -0
  444. package/docs/components/kanban.md +410 -0
  445. package/docs/components/kpi.md +251 -0
  446. package/docs/components/link.md +229 -0
  447. package/docs/components/list.md +65 -0
  448. package/docs/components/location.md +369 -0
  449. package/docs/components/menu.md +633 -0
  450. package/docs/components/popover.md +333 -0
  451. package/docs/components/qr-code.md +464 -0
  452. package/docs/components/slider.md +297 -0
  453. package/docs/components/sparkline.md +293 -0
  454. package/docs/components/spinner.md +63 -0
  455. package/docs/components/split-pane.md +315 -0
  456. package/docs/components/stat.md +45 -0
  457. package/docs/components/stepper.md +410 -0
  458. package/docs/components/textarea.md +235 -0
  459. package/docs/components/timeline.md +192 -0
  460. package/docs/components/tree.md +536 -0
  461. package/docs/components/virtual-scroller.md +298 -0
  462. package/package.json +2 -1
  463. package/dist/components/snice-cell-BLFVdxPp.js +0 -4
  464. package/dist/components/snice-cell-BLFVdxPp.js.map +0 -1
@@ -0,0 +1,298 @@
1
+ # Virtual Scroller Component
2
+
3
+ Efficiently render large lists by only displaying visible items.
4
+
5
+ ## Basic Usage
6
+
7
+ ```javascript
8
+ const scroller = document.querySelector('snice-virtual-scroller');
9
+
10
+ scroller.items = Array.from({ length: 10000 }, (_, i) => ({
11
+ id: i,
12
+ data: `Item ${i}`
13
+ }));
14
+
15
+ scroller.renderItem = (item, index) => {
16
+ return `<div>${item.data}</div>`;
17
+ };
18
+ ```
19
+
20
+ ## Properties
21
+
22
+ | Property | Type | Default | Description |
23
+ |----------|------|---------|-------------|
24
+ | `items` | `VirtualScrollerItem[]` | `[]` | Array of items to render |
25
+ | `itemHeight` | `number` | `50` | Height of each item (px) |
26
+ | `bufferSize` | `number` | `5` | Extra items to render outside viewport |
27
+ | `estimatedItemHeight` | `number` | `50` | Estimated height for variable items |
28
+ | `renderItem` | `Function` | - | Function to render each item |
29
+
30
+ ## VirtualScrollerItem Interface
31
+
32
+ ```typescript
33
+ interface VirtualScrollerItem {
34
+ id: string | number; // Unique identifier
35
+ data: any; // Item data
36
+ height?: number; // Optional custom height
37
+ }
38
+ ```
39
+
40
+ ## Methods
41
+
42
+ ### `scrollToIndex(index: number): void`
43
+ Scroll to specific item index.
44
+
45
+ ```javascript
46
+ scroller.scrollToIndex(500);
47
+ ```
48
+
49
+ ### `scrollToItem(id: string | number): void`
50
+ Scroll to item by ID.
51
+
52
+ ```javascript
53
+ scroller.scrollToItem('item-123');
54
+ ```
55
+
56
+ ### `refresh(): void`
57
+ Recalculate visible range and re-render.
58
+
59
+ ```javascript
60
+ scroller.refresh();
61
+ ```
62
+
63
+ ### `getVisibleRange(): { start: number; end: number }`
64
+ Get currently visible item indices.
65
+
66
+ ```javascript
67
+ const range = scroller.getVisibleRange();
68
+ console.log(`Showing items ${range.start} to ${range.end}`);
69
+ ```
70
+
71
+ ## Examples
72
+
73
+ ### Simple List
74
+
75
+ ```javascript
76
+ const scroller = document.querySelector('snice-virtual-scroller');
77
+
78
+ scroller.items = Array.from({ length: 10000 }, (_, i) => ({
79
+ id: i,
80
+ data: `Item ${i + 1}`
81
+ }));
82
+
83
+ scroller.renderItem = (item) => {
84
+ return `<div style="padding: 15px; border-bottom: 1px solid #eee;">
85
+ ${item.data}
86
+ </div>`;
87
+ };
88
+ ```
89
+
90
+ ### User List
91
+
92
+ ```javascript
93
+ scroller.items = Array.from({ length: 5000 }, (_, i) => ({
94
+ id: i,
95
+ data: {
96
+ name: `User ${i + 1}`,
97
+ email: `user${i + 1}@example.com`
98
+ }
99
+ }));
100
+
101
+ scroller.renderItem = (item) => {
102
+ return `<div class="user-item">
103
+ <div class="user-name">${item.data.name}</div>
104
+ <div class="user-email">${item.data.email}</div>
105
+ </div>`;
106
+ };
107
+ ```
108
+
109
+ ### Variable Height Items
110
+
111
+ ```javascript
112
+ scroller.items = Array.from({ length: 1000 }, (_, i) => ({
113
+ id: i,
114
+ data: {
115
+ title: `Post ${i + 1}`,
116
+ content: i % 2 === 0 ? 'Short content' : 'Longer content with more text...'
117
+ },
118
+ height: i % 2 === 0 ? 60 : 100
119
+ }));
120
+
121
+ scroller.renderItem = (item) => {
122
+ return `<div style="padding: 15px;">
123
+ <h3>${item.data.title}</h3>
124
+ <p>${item.data.content}</p>
125
+ </div>`;
126
+ };
127
+ ```
128
+
129
+ ### Custom Item Height
130
+
131
+ ```html
132
+ <snice-virtual-scroller
133
+ style="height: 600px;"
134
+ item-height="80">
135
+ </snice-virtual-scroller>
136
+ ```
137
+
138
+ ### Custom Buffer Size
139
+
140
+ ```html
141
+ <snice-virtual-scroller
142
+ buffer-size="10"
143
+ style="height: 400px;">
144
+ </snice-virtual-scroller>
145
+ ```
146
+
147
+ ### Programmatic Scrolling
148
+
149
+ ```javascript
150
+ // Scroll to top
151
+ scroller.scrollToIndex(0);
152
+
153
+ // Scroll to middle
154
+ scroller.scrollToIndex(Math.floor(scroller.items.length / 2));
155
+
156
+ // Scroll to specific item
157
+ scroller.scrollToItem('item-500');
158
+ ```
159
+
160
+ ### With Search
161
+
162
+ ```javascript
163
+ const allItems = Array.from({ length: 10000 }, (_, i) => ({
164
+ id: i,
165
+ data: { name: `Item ${i + 1}`, value: i }
166
+ }));
167
+
168
+ scroller.items = allItems;
169
+
170
+ // Filter items
171
+ function filterItems(query) {
172
+ if (!query) {
173
+ scroller.items = allItems;
174
+ } else {
175
+ scroller.items = allItems.filter(item =>
176
+ item.data.name.toLowerCase().includes(query.toLowerCase())
177
+ );
178
+ }
179
+ scroller.refresh();
180
+ }
181
+ ```
182
+
183
+ ### With Sorting
184
+
185
+ ```javascript
186
+ function sortItems(field, order = 'asc') {
187
+ scroller.items = [...scroller.items].sort((a, b) => {
188
+ const aVal = a.data[field];
189
+ const bVal = b.data[field];
190
+ return order === 'asc' ? aVal - bVal : bVal - aVal;
191
+ });
192
+ scroller.refresh();
193
+ }
194
+ ```
195
+
196
+ ### Complex Item Rendering
197
+
198
+ ```javascript
199
+ scroller.renderItem = (item, index) => {
200
+ return `
201
+ <div class="complex-item" data-id="${item.id}">
202
+ <div class="item-header">
203
+ <img src="${item.data.avatar}" alt="${item.data.name}">
204
+ <span>${item.data.name}</span>
205
+ <span class="badge">${item.data.status}</span>
206
+ </div>
207
+ <div class="item-content">
208
+ ${item.data.description}
209
+ </div>
210
+ <div class="item-footer">
211
+ <button onclick="handleEdit(${item.id})">Edit</button>
212
+ <button onclick="handleDelete(${item.id})">Delete</button>
213
+ </div>
214
+ </div>
215
+ `;
216
+ };
217
+ ```
218
+
219
+ ### Infinite Scroll
220
+
221
+ ```javascript
222
+ let currentPage = 1;
223
+ const itemsPerPage = 100;
224
+
225
+ async function loadMore() {
226
+ const newItems = await fetchItems(currentPage);
227
+
228
+ scroller.items = [
229
+ ...scroller.items,
230
+ ...newItems
231
+ ];
232
+
233
+ scroller.refresh();
234
+ currentPage++;
235
+ }
236
+
237
+ scroller.addEventListener('scroll', (e) => {
238
+ const { scrollTop, scrollHeight, clientHeight } = e.target;
239
+
240
+ // Load more when near bottom
241
+ if (scrollHeight - scrollTop - clientHeight < 200) {
242
+ loadMore();
243
+ }
244
+ });
245
+ ```
246
+
247
+ ### Dynamic Updates
248
+
249
+ ```javascript
250
+ // Add item
251
+ function addItem(data) {
252
+ scroller.items = [
253
+ ...scroller.items,
254
+ { id: Date.now(), data }
255
+ ];
256
+ scroller.refresh();
257
+ }
258
+
259
+ // Remove item
260
+ function removeItem(id) {
261
+ scroller.items = scroller.items.filter(item => item.id !== id);
262
+ scroller.refresh();
263
+ }
264
+
265
+ // Update item
266
+ function updateItem(id, newData) {
267
+ scroller.items = scroller.items.map(item =>
268
+ item.id === id ? { ...item, data: { ...item.data, ...newData } } : item
269
+ );
270
+ scroller.refresh();
271
+ }
272
+ ```
273
+
274
+ ## Performance
275
+
276
+ Virtual scrolling provides significant performance benefits for large lists:
277
+
278
+ - **Without virtual scrolling:** 10,000 items = 10,000 DOM elements
279
+ - **With virtual scrolling:** 10,000 items = ~20-30 DOM elements (only visible items)
280
+
281
+ This results in:
282
+ - Faster initial render
283
+ - Smooth 60fps scrolling
284
+ - Lower memory usage
285
+ - Better overall UX
286
+
287
+ ## Accessibility
288
+
289
+ - Maintains scroll position
290
+ - Keyboard navigation supported
291
+ - Screen readers can navigate items
292
+ - Supports ARIA attributes in rendered items
293
+
294
+ ## Browser Support
295
+
296
+ - Modern browsers with Custom Elements v1 support
297
+ - Uses CSS transforms for smooth scrolling
298
+ - Efficient rendering with minimal reflows
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "snice",
3
- "version": "3.1.0",
3
+ "version": "3.3.0",
4
4
  "type": "module",
5
5
  "description": "Imperative TypeScript framework for building vanilla web components with decorators, differential rendering, routing, and controllers. No virtual DOM, no build complexity.",
6
6
  "main": "dist/index.cjs",
@@ -106,6 +106,7 @@
106
106
  "@swc/core": "^1.13.5",
107
107
  "@types/node": "^20.0.0",
108
108
  "@vitest/ui": "^1.0.0",
109
+ "clean-css": "^5.3.3",
109
110
  "happy-dom": "^12.0.0",
110
111
  "rollup": "^4.50.2",
111
112
  "semantic-release": "^24.2.7",
@@ -1,4 +0,0 @@
1
- var cssContent = "/* Cell Base */\n:host {\n display: flex;\n align-items: center;\n padding: 0 var(--snice-table-cell-padding, var(--snice-spacing-md, 0.75rem)); /* Default: 12px */\n min-height: 2.5rem; /* 40px */\n height: 2.5rem; /* 40px */\n min-width: 6.25rem; /* 100px */\n flex: 1;\n font-size: 0.875rem; /* 14px */\n line-height: 1.25rem; /* 20px */\n}\n\n.cell-content {\n width: 100%;\n min-width: 6.25rem; /* 100px */\n min-height: 1.25rem; /* 20px */\n word-wrap: break-word;\n}\n\n/* Text Alignment */\n:host([align=\"left\"]) {\n text-align: left;\n}\n\n:host([align=\"center\"]) {\n text-align: center;\n}\n\n:host([align=\"right\"]) {\n text-align: right;\n}\n\n/* Type Specific Styles */\n:host([type=\"number\"]),\n:host([type=\"currency\"]),\n:host([type=\"percent\"]),\n:host([type=\"accounting\"]),\n:host([type=\"scientific\"]),\n:host([type=\"fraction\"]) {\n font-variant-numeric: tabular-nums;\n text-align: right;\n}\n\n:host([type=\"date\"]) {\n font-variant-numeric: tabular-nums;\n}\n\n:host([type=\"boolean\"]) {\n text-align: center;\n font-size: 1rem; /* 16px */\n}\n\n:host([type=\"rating\"]) {\n text-align: center;\n}\n\n:host([type=\"progress\"]) {\n /* Remove padding */\n}\n\n:host([type=\"sparkline\"]) {\n text-align: center;\n /* Remove padding */\n}\n\n/* Text Content Specific */\n.cell-content--text {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.cell-content--text[data-multiline=\"true\"] {\n white-space: pre-wrap;\n word-wrap: break-word;\n overflow-wrap: break-word;\n}\n\n/* Number Content Specific */\n.cell-content--number {\n font-feature-settings: 'tnum';\n}\n\n/* Date Content Specific */\n.cell-content--date {\n font-feature-settings: 'tnum';\n}\n\n/* Boolean Content Styling */\n:host([type=\"boolean\"]) .cell-content {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n}\n\n/* Rating Content Styling */\n:host([type=\"rating\"]) .cell-content {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: 0.125rem; /* 2px */\n}\n\n/* Progress Content Styling */\n.cell-content--progress {\n width: 100%;\n min-width: 4rem; /* 64px */\n}\n\n/* Sparkline Content Styling */\n.cell-content--sparkline {\n display: flex;\n align-items: center;\n justify-content: center;\n min-width: 3rem; /* 48px */\n}\n\n/* Conditional Formatting Support */\n:host(.positive) {\n color: var(--snice-color-success);\n}\n\n:host(.negative) {\n color: var(--snice-color-danger);\n}\n\n:host(.warning) {\n color: var(--snice-color-warning);\n background-color: rgb(var(--snice-color-yellow-100));\n}\n\n:host(.danger) {\n color: var(--snice-color-danger);\n background-color: rgb(var(--snice-color-red-100));\n}\n\n:host(.success) {\n color: var(--snice-color-success);\n background-color: rgb(var(--snice-color-green-100));\n}\n\n:host(.info) {\n color: var(--snice-color-primary);\n background-color: rgb(var(--snice-color-blue-100));\n}\n\n/* Date-specific styling */\n:host(.date--today) {\n font-weight: var(--snice-font-weight-semibold);\n color: var(--snice-color-primary);\n}\n\n:host(.date--past) {\n color: var(--snice-color-text-secondary);\n}\n\n:host(.date--future) {\n color: var(--snice-color-success);\n}\n\n/* Number-specific styling */\n:host(.number--negative.number--negative-red) {\n color: var(--snice-color-danger);\n}\n\n:host(.number--positive.number--highlighted) {\n color: var(--snice-color-success);\n font-weight: var(--snice-font-weight-semibold);\n}\n\n:host(.number--zero) {\n color: var(--snice-color-text-secondary);\n}\n\n/* Truncation Support */\n:host([truncate]) .cell-content {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n/* Wrap Support */\n:host([wrap]) .cell-content {\n white-space: pre-wrap;\n word-wrap: break-word;\n overflow-wrap: break-word;\n}\n\n/* Empty State */\n:host([value=\"\"]) .cell-content,\n:host(:not([value])) .cell-content {\n color: #6c757d;\n}\n\n/* Loading State */\n:host(.loading) {\n position: relative;\n overflow: hidden;\n}\n\n:host(.loading) .cell-content {\n opacity: 0.6;\n}\n\n:host(.loading)::after {\n content: '';\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.6), transparent);\n animation: cell-shimmer 1.5s infinite;\n}\n\n@keyframes cell-shimmer {\n 0% {\n transform: translateX(-100%);\n }\n 100% {\n transform: translateX(100%);\n }\n}\n\n/* Focus States */\n:host(:focus-within) {\n outline: 2px solid #007bff;\n outline-offset: -2px;\n}\n\n/* Interactive Elements */\n.cell-content button,\n.cell-content input,\n.cell-content select {\n font-size: inherit;\n line-height: inherit;\n}\n\n.cell-content a {\n color: #007bff;\n text-decoration: none;\n}\n\n.cell-content a:hover {\n text-decoration: underline;\n}\n\n/* Responsive Design */\n@media (max-width: 768px) {\n :host {\n font-size: 0.75rem; /* 12px */\n line-height: 1rem; /* 16px */\n }\n \n :host([type=\"boolean\"]) {\n font-size: 0.875rem; /* 14px */\n }\n}\n\n/* Accessibility */\n@media (prefers-reduced-motion: reduce) {\n :host(.loading)::after {\n animation: none;\n }\n}\n\n/* High Contrast Mode */\n@media (prefers-contrast: high) {\n :host(.positive) {\n background-color: #d4edda;\n }\n \n :host(.negative) {\n background-color: #f8d7da;\n }\n \n .cell-content a {\n text-decoration: underline;\n }\n}\n\n/* Print Styles */\n@media print {\n :host {\n font-size: 0.75rem; /* 12px */\n }\n \n :host(.loading)::after {\n display: none;\n }\n \n .cell-content a {\n text-decoration: underline;\n }\n}";
2
-
3
- export { cssContent as c };
4
- //# sourceMappingURL=snice-cell-BLFVdxPp.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"snice-cell-BLFVdxPp.js","sources":["../../components/table/snice-cell.css?inline"],"sourcesContent":["export default \"/* Cell Base */\\n:host {\\n display: flex;\\n align-items: center;\\n padding: 0 var(--snice-table-cell-padding, var(--snice-spacing-md, 0.75rem)); /* Default: 12px */\\n min-height: 2.5rem; /* 40px */\\n height: 2.5rem; /* 40px */\\n min-width: 6.25rem; /* 100px */\\n flex: 1;\\n font-size: 0.875rem; /* 14px */\\n line-height: 1.25rem; /* 20px */\\n}\\n\\n.cell-content {\\n width: 100%;\\n min-width: 6.25rem; /* 100px */\\n min-height: 1.25rem; /* 20px */\\n word-wrap: break-word;\\n}\\n\\n/* Text Alignment */\\n:host([align=\\\"left\\\"]) {\\n text-align: left;\\n}\\n\\n:host([align=\\\"center\\\"]) {\\n text-align: center;\\n}\\n\\n:host([align=\\\"right\\\"]) {\\n text-align: right;\\n}\\n\\n/* Type Specific Styles */\\n:host([type=\\\"number\\\"]),\\n:host([type=\\\"currency\\\"]),\\n:host([type=\\\"percent\\\"]),\\n:host([type=\\\"accounting\\\"]),\\n:host([type=\\\"scientific\\\"]),\\n:host([type=\\\"fraction\\\"]) {\\n font-variant-numeric: tabular-nums;\\n text-align: right;\\n}\\n\\n:host([type=\\\"date\\\"]) {\\n font-variant-numeric: tabular-nums;\\n}\\n\\n:host([type=\\\"boolean\\\"]) {\\n text-align: center;\\n font-size: 1rem; /* 16px */\\n}\\n\\n:host([type=\\\"rating\\\"]) {\\n text-align: center;\\n}\\n\\n:host([type=\\\"progress\\\"]) {\\n /* Remove padding */\\n}\\n\\n:host([type=\\\"sparkline\\\"]) {\\n text-align: center;\\n /* Remove padding */\\n}\\n\\n/* Text Content Specific */\\n.cell-content--text {\\n overflow: hidden;\\n text-overflow: ellipsis;\\n white-space: nowrap;\\n}\\n\\n.cell-content--text[data-multiline=\\\"true\\\"] {\\n white-space: pre-wrap;\\n word-wrap: break-word;\\n overflow-wrap: break-word;\\n}\\n\\n/* Number Content Specific */\\n.cell-content--number {\\n font-feature-settings: 'tnum';\\n}\\n\\n/* Date Content Specific */\\n.cell-content--date {\\n font-feature-settings: 'tnum';\\n}\\n\\n/* Boolean Content Styling */\\n:host([type=\\\"boolean\\\"]) .cell-content {\\n display: inline-flex;\\n align-items: center;\\n justify-content: center;\\n}\\n\\n/* Rating Content Styling */\\n:host([type=\\\"rating\\\"]) .cell-content {\\n display: inline-flex;\\n align-items: center;\\n justify-content: center;\\n gap: 0.125rem; /* 2px */\\n}\\n\\n/* Progress Content Styling */\\n.cell-content--progress {\\n width: 100%;\\n min-width: 4rem; /* 64px */\\n}\\n\\n/* Sparkline Content Styling */\\n.cell-content--sparkline {\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n min-width: 3rem; /* 48px */\\n}\\n\\n/* Conditional Formatting Support */\\n:host(.positive) {\\n color: var(--snice-color-success);\\n}\\n\\n:host(.negative) {\\n color: var(--snice-color-danger);\\n}\\n\\n:host(.warning) {\\n color: var(--snice-color-warning);\\n background-color: rgb(var(--snice-color-yellow-100));\\n}\\n\\n:host(.danger) {\\n color: var(--snice-color-danger);\\n background-color: rgb(var(--snice-color-red-100));\\n}\\n\\n:host(.success) {\\n color: var(--snice-color-success);\\n background-color: rgb(var(--snice-color-green-100));\\n}\\n\\n:host(.info) {\\n color: var(--snice-color-primary);\\n background-color: rgb(var(--snice-color-blue-100));\\n}\\n\\n/* Date-specific styling */\\n:host(.date--today) {\\n font-weight: var(--snice-font-weight-semibold);\\n color: var(--snice-color-primary);\\n}\\n\\n:host(.date--past) {\\n color: var(--snice-color-text-secondary);\\n}\\n\\n:host(.date--future) {\\n color: var(--snice-color-success);\\n}\\n\\n/* Number-specific styling */\\n:host(.number--negative.number--negative-red) {\\n color: var(--snice-color-danger);\\n}\\n\\n:host(.number--positive.number--highlighted) {\\n color: var(--snice-color-success);\\n font-weight: var(--snice-font-weight-semibold);\\n}\\n\\n:host(.number--zero) {\\n color: var(--snice-color-text-secondary);\\n}\\n\\n/* Truncation Support */\\n:host([truncate]) .cell-content {\\n overflow: hidden;\\n text-overflow: ellipsis;\\n white-space: nowrap;\\n}\\n\\n/* Wrap Support */\\n:host([wrap]) .cell-content {\\n white-space: pre-wrap;\\n word-wrap: break-word;\\n overflow-wrap: break-word;\\n}\\n\\n/* Empty State */\\n:host([value=\\\"\\\"]) .cell-content,\\n:host(:not([value])) .cell-content {\\n color: #6c757d;\\n}\\n\\n/* Loading State */\\n:host(.loading) {\\n position: relative;\\n overflow: hidden;\\n}\\n\\n:host(.loading) .cell-content {\\n opacity: 0.6;\\n}\\n\\n:host(.loading)::after {\\n content: '';\\n position: absolute;\\n top: 0;\\n left: 0;\\n right: 0;\\n bottom: 0;\\n background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.6), transparent);\\n animation: cell-shimmer 1.5s infinite;\\n}\\n\\n@keyframes cell-shimmer {\\n 0% {\\n transform: translateX(-100%);\\n }\\n 100% {\\n transform: translateX(100%);\\n }\\n}\\n\\n/* Focus States */\\n:host(:focus-within) {\\n outline: 2px solid #007bff;\\n outline-offset: -2px;\\n}\\n\\n/* Interactive Elements */\\n.cell-content button,\\n.cell-content input,\\n.cell-content select {\\n font-size: inherit;\\n line-height: inherit;\\n}\\n\\n.cell-content a {\\n color: #007bff;\\n text-decoration: none;\\n}\\n\\n.cell-content a:hover {\\n text-decoration: underline;\\n}\\n\\n/* Responsive Design */\\n@media (max-width: 768px) {\\n :host {\\n font-size: 0.75rem; /* 12px */\\n line-height: 1rem; /* 16px */\\n }\\n \\n :host([type=\\\"boolean\\\"]) {\\n font-size: 0.875rem; /* 14px */\\n }\\n}\\n\\n/* Accessibility */\\n@media (prefers-reduced-motion: reduce) {\\n :host(.loading)::after {\\n animation: none;\\n }\\n}\\n\\n/* High Contrast Mode */\\n@media (prefers-contrast: high) {\\n :host(.positive) {\\n background-color: #d4edda;\\n }\\n \\n :host(.negative) {\\n background-color: #f8d7da;\\n }\\n \\n .cell-content a {\\n text-decoration: underline;\\n }\\n}\\n\\n/* Print Styles */\\n@media print {\\n :host {\\n font-size: 0.75rem; /* 12px */\\n }\\n \\n :host(.loading)::after {\\n display: none;\\n }\\n \\n .cell-content a {\\n text-decoration: underline;\\n }\\n}\";"],"names":[],"mappings":"AAAA,iBAAe,umLAAumL;;;;"}