snice 2.1.5 → 2.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (367) hide show
  1. package/dist/components/accordion/snice-accordion-item.d.ts +25 -0
  2. package/dist/components/accordion/snice-accordion-item.js +255 -0
  3. package/dist/components/accordion/snice-accordion-item.js.map +1 -0
  4. package/dist/components/accordion/snice-accordion.d.ts +28 -0
  5. package/dist/components/accordion/snice-accordion.js +206 -0
  6. package/dist/components/accordion/snice-accordion.js.map +1 -0
  7. package/dist/components/accordion/snice-accordion.types.d.ts +29 -0
  8. package/dist/components/alert/snice-alert.d.ts +26 -0
  9. package/dist/components/alert/snice-alert.js +180 -0
  10. package/dist/components/alert/snice-alert.js.map +1 -0
  11. package/{components/alert/snice-alert.types.ts → dist/components/alert/snice-alert.types.d.ts} +8 -9
  12. package/dist/components/avatar/snice-avatar.d.ts +24 -0
  13. package/dist/components/avatar/snice-avatar.js +180 -0
  14. package/dist/components/avatar/snice-avatar.js.map +1 -0
  15. package/dist/components/avatar/snice-avatar.types.d.ts +12 -0
  16. package/dist/components/badge/snice-badge.d.ts +25 -0
  17. package/dist/components/badge/snice-badge.js +169 -0
  18. package/dist/components/badge/snice-badge.js.map +1 -0
  19. package/{components/badge/snice-badge.types.ts → dist/components/badge/snice-badge.types.d.ts} +11 -12
  20. package/dist/components/breadcrumbs/snice-breadcrumbs.d.ts +27 -0
  21. package/dist/components/breadcrumbs/snice-breadcrumbs.js +214 -0
  22. package/dist/components/breadcrumbs/snice-breadcrumbs.js.map +1 -0
  23. package/dist/components/breadcrumbs/snice-breadcrumbs.types.d.ts +23 -0
  24. package/dist/components/breadcrumbs/snice-crumb.d.ts +9 -0
  25. package/dist/components/breadcrumbs/snice-crumb.js +63 -0
  26. package/dist/components/breadcrumbs/snice-crumb.js.map +1 -0
  27. package/dist/components/button/snice-button.d.ts +32 -0
  28. package/dist/components/button/snice-button.js +232 -0
  29. package/dist/components/button/snice-button.js.map +1 -0
  30. package/dist/components/button/snice-button.types.d.ts +23 -0
  31. package/dist/components/card/snice-card.d.ts +19 -0
  32. package/dist/components/card/snice-card.js +136 -0
  33. package/dist/components/card/snice-card.js.map +1 -0
  34. package/{components/card/snice-card.types.ts → dist/components/card/snice-card.types.d.ts} +6 -7
  35. package/dist/components/checkbox/snice-checkbox.d.ts +34 -0
  36. package/dist/components/checkbox/snice-checkbox.js +286 -0
  37. package/dist/components/checkbox/snice-checkbox.js.map +1 -0
  38. package/dist/components/checkbox/snice-checkbox.types.d.ts +20 -0
  39. package/dist/components/chip/snice-chip.d.ts +28 -0
  40. package/dist/components/chip/snice-chip.js +199 -0
  41. package/dist/components/chip/snice-chip.js.map +1 -0
  42. package/dist/components/chip/snice-chip.types.d.ts +14 -0
  43. package/dist/components/date-picker/snice-date-picker.d.ts +82 -0
  44. package/dist/components/date-picker/snice-date-picker.js +847 -0
  45. package/dist/components/date-picker/snice-date-picker.js.map +1 -0
  46. package/dist/components/date-picker/snice-date-picker.types.d.ts +71 -0
  47. package/dist/components/divider/snice-divider.d.ts +17 -0
  48. package/dist/components/divider/snice-divider.js +122 -0
  49. package/dist/components/divider/snice-divider.js.map +1 -0
  50. package/{components/divider/snice-divider.types.ts → dist/components/divider/snice-divider.types.d.ts} +9 -10
  51. package/dist/components/drawer/snice-drawer.d.ts +37 -0
  52. package/dist/components/drawer/snice-drawer.js +337 -0
  53. package/dist/components/drawer/snice-drawer.js.map +1 -0
  54. package/dist/components/drawer/snice-drawer.types.d.ts +16 -0
  55. package/dist/components/input/snice-input.d.ts +65 -0
  56. package/dist/components/input/snice-input.js +567 -0
  57. package/dist/components/input/snice-input.js.map +1 -0
  58. package/dist/components/input/snice-input.types.d.ts +53 -0
  59. package/dist/components/layout/snice-layout-blog.d.ts +4 -0
  60. package/dist/components/layout/snice-layout-blog.js +67 -0
  61. package/dist/components/layout/snice-layout-blog.js.map +1 -0
  62. package/dist/components/layout/snice-layout-card.d.ts +6 -0
  63. package/dist/components/layout/snice-layout-card.js +64 -0
  64. package/dist/components/layout/snice-layout-card.js.map +1 -0
  65. package/dist/components/layout/snice-layout-centered.d.ts +5 -0
  66. package/dist/components/layout/snice-layout-centered.js +48 -0
  67. package/dist/components/layout/snice-layout-centered.js.map +1 -0
  68. package/dist/components/layout/snice-layout-dashboard.d.ts +4 -0
  69. package/dist/components/layout/snice-layout-dashboard.js +64 -0
  70. package/dist/components/layout/snice-layout-dashboard.js.map +1 -0
  71. package/dist/components/layout/snice-layout-fullscreen.d.ts +5 -0
  72. package/dist/components/layout/snice-layout-fullscreen.js +60 -0
  73. package/dist/components/layout/snice-layout-fullscreen.js.map +1 -0
  74. package/dist/components/layout/snice-layout-landing.d.ts +4 -0
  75. package/dist/components/layout/snice-layout-landing.js +66 -0
  76. package/dist/components/layout/snice-layout-landing.js.map +1 -0
  77. package/dist/components/layout/snice-layout-minimal.d.ts +4 -0
  78. package/dist/components/layout/snice-layout-minimal.js +38 -0
  79. package/dist/components/layout/snice-layout-minimal.js.map +1 -0
  80. package/dist/components/layout/snice-layout-sidebar.d.ts +5 -0
  81. package/dist/components/layout/snice-layout-sidebar.js +74 -0
  82. package/dist/components/layout/snice-layout-sidebar.js.map +1 -0
  83. package/dist/components/layout/snice-layout-split.d.ts +6 -0
  84. package/dist/components/layout/snice-layout-split.js +58 -0
  85. package/dist/components/layout/snice-layout-split.js.map +1 -0
  86. package/dist/components/layout/snice-layout.d.ts +4 -0
  87. package/dist/components/layout/snice-layout.js +54 -0
  88. package/dist/components/layout/snice-layout.js.map +1 -0
  89. package/{components/layout/snice-layout.types.ts → dist/components/layout/snice-layout.types.d.ts} +1 -3
  90. package/dist/components/login/snice-login.d.ts +44 -0
  91. package/dist/components/login/snice-login.js +382 -0
  92. package/dist/components/login/snice-login.js.map +1 -0
  93. package/dist/components/login/snice-login.types.d.ts +26 -0
  94. package/dist/components/modal/snice-modal.d.ts +32 -0
  95. package/dist/components/modal/snice-modal.js +280 -0
  96. package/dist/components/modal/snice-modal.js.map +1 -0
  97. package/dist/components/modal/snice-modal.types.d.ts +18 -0
  98. package/dist/components/pagination/snice-pagination.d.ts +26 -0
  99. package/dist/components/pagination/snice-pagination.js +373 -0
  100. package/dist/components/pagination/snice-pagination.js.map +1 -0
  101. package/dist/components/pagination/snice-pagination.types.d.ts +18 -0
  102. package/dist/components/progress/snice-progress.d.ts +35 -0
  103. package/dist/components/progress/snice-progress.js +305 -0
  104. package/dist/components/progress/snice-progress.js.map +1 -0
  105. package/dist/components/progress/snice-progress.types.d.ts +18 -0
  106. package/dist/components/radio/snice-radio.d.ts +33 -0
  107. package/dist/components/radio/snice-radio.js +279 -0
  108. package/dist/components/radio/snice-radio.js.map +1 -0
  109. package/dist/components/radio/snice-radio.types.d.ts +19 -0
  110. package/dist/components/select/snice-option.d.ts +17 -0
  111. package/dist/components/select/snice-option.js +88 -0
  112. package/dist/components/select/snice-option.js.map +1 -0
  113. package/{components/select/snice-option.types.ts → dist/components/select/snice-option.types.d.ts} +8 -8
  114. package/dist/components/select/snice-select.d.ts +89 -0
  115. package/dist/components/select/snice-select.js +864 -0
  116. package/dist/components/select/snice-select.js.map +1 -0
  117. package/dist/components/select/snice-select.types.d.ts +49 -0
  118. package/dist/components/skeleton/snice-skeleton.d.ts +16 -0
  119. package/dist/components/skeleton/snice-skeleton.js +166 -0
  120. package/dist/components/skeleton/snice-skeleton.js.map +1 -0
  121. package/{components/skeleton/snice-skeleton.types.ts → dist/components/skeleton/snice-skeleton.types.d.ts} +7 -8
  122. package/dist/components/snice-cell-C9N6yGxQ.js +4 -0
  123. package/dist/components/snice-cell-C9N6yGxQ.js.map +1 -0
  124. package/dist/components/switch/snice-switch.d.ts +38 -0
  125. package/dist/components/switch/snice-switch.js +305 -0
  126. package/dist/components/switch/snice-switch.js.map +1 -0
  127. package/dist/components/switch/snice-switch.types.d.ts +21 -0
  128. package/dist/components/symbols.d.ts +1 -0
  129. package/dist/components/symbols.js +22 -0
  130. package/dist/components/symbols.js.map +1 -0
  131. package/dist/components/table/snice-cell-boolean.d.ts +21 -0
  132. package/dist/components/table/snice-cell-boolean.js +164 -0
  133. package/dist/components/table/snice-cell-boolean.js.map +1 -0
  134. package/dist/components/table/snice-cell-date.d.ts +24 -0
  135. package/dist/components/table/snice-cell-date.js +253 -0
  136. package/dist/components/table/snice-cell-date.js.map +1 -0
  137. package/dist/components/table/snice-cell-duration.d.ts +16 -0
  138. package/dist/components/table/snice-cell-duration.js +130 -0
  139. package/dist/components/table/snice-cell-duration.js.map +1 -0
  140. package/dist/components/table/snice-cell-filesize.d.ts +16 -0
  141. package/dist/components/table/snice-cell-filesize.js +126 -0
  142. package/dist/components/table/snice-cell-filesize.js.map +1 -0
  143. package/dist/components/table/snice-cell-number.d.ts +23 -0
  144. package/dist/components/table/snice-cell-number.js +215 -0
  145. package/dist/components/table/snice-cell-number.js.map +1 -0
  146. package/dist/components/table/snice-cell-progress.d.ts +17 -0
  147. package/dist/components/table/snice-cell-progress.js +121 -0
  148. package/dist/components/table/snice-cell-progress.js.map +1 -0
  149. package/dist/components/table/snice-cell-rating.d.ts +17 -0
  150. package/dist/components/table/snice-cell-rating.js +120 -0
  151. package/dist/components/table/snice-cell-rating.js.map +1 -0
  152. package/dist/components/table/snice-cell-sparkline.d.ts +29 -0
  153. package/dist/components/table/snice-cell-sparkline.js +306 -0
  154. package/dist/components/table/snice-cell-sparkline.js.map +1 -0
  155. package/dist/components/table/snice-cell-text.d.ts +19 -0
  156. package/dist/components/table/snice-cell-text.js +161 -0
  157. package/dist/components/table/snice-cell-text.js.map +1 -0
  158. package/dist/components/table/snice-cell.d.ts +32 -0
  159. package/dist/components/table/snice-cell.js +458 -0
  160. package/dist/components/table/snice-cell.js.map +1 -0
  161. package/dist/components/table/snice-column.d.ts +62 -0
  162. package/dist/components/table/snice-column.js +506 -0
  163. package/dist/components/table/snice-column.js.map +1 -0
  164. package/dist/components/table/snice-header.d.ts +33 -0
  165. package/dist/components/table/snice-header.js +289 -0
  166. package/dist/components/table/snice-header.js.map +1 -0
  167. package/dist/components/table/snice-progress.d.ts +10 -0
  168. package/dist/components/table/snice-progress.js +105 -0
  169. package/dist/components/table/snice-progress.js.map +1 -0
  170. package/dist/components/table/snice-rating.d.ts +9 -0
  171. package/dist/components/table/snice-rating.js +81 -0
  172. package/dist/components/table/snice-rating.js.map +1 -0
  173. package/dist/components/table/snice-row.d.ts +43 -0
  174. package/dist/components/table/snice-row.js +353 -0
  175. package/dist/components/table/snice-row.js.map +1 -0
  176. package/dist/components/table/snice-table.d.ts +69 -0
  177. package/dist/components/table/snice-table.js +792 -0
  178. package/dist/components/table/snice-table.js.map +1 -0
  179. package/dist/components/table/snice-table.types.d.ts +137 -0
  180. package/dist/components/tabs/snice-tab-panel.d.ts +12 -0
  181. package/dist/components/tabs/snice-tab-panel.js +87 -0
  182. package/dist/components/tabs/snice-tab-panel.js.map +1 -0
  183. package/dist/components/tabs/snice-tab.d.ts +13 -0
  184. package/dist/components/tabs/snice-tab.js +98 -0
  185. package/dist/components/tabs/snice-tab.js.map +1 -0
  186. package/dist/components/tabs/snice-tabs.d.ts +34 -0
  187. package/dist/components/tabs/snice-tabs.js +375 -0
  188. package/dist/components/tabs/snice-tabs.js.map +1 -0
  189. package/dist/components/tabs/snice-tabs.types.d.ts +23 -0
  190. package/dist/components/toast/snice-toast-container.d.ts +25 -0
  191. package/dist/components/toast/snice-toast-container.js +252 -0
  192. package/dist/components/toast/snice-toast-container.js.map +1 -0
  193. package/dist/components/toast/snice-toast.d.ts +23 -0
  194. package/dist/components/toast/snice-toast.js +321 -0
  195. package/dist/components/toast/snice-toast.js.map +1 -0
  196. package/dist/components/toast/snice-toast.types.d.ts +30 -0
  197. package/dist/components/tooltip/snice-tooltip.d.ts +50 -0
  198. package/dist/components/tooltip/snice-tooltip.js +644 -0
  199. package/dist/components/tooltip/snice-tooltip.js.map +1 -0
  200. package/dist/components/tooltip/snice-tooltip.types.d.ts +18 -0
  201. package/dist/components/transitions.d.ts +11 -0
  202. package/dist/components/transitions.js +72 -0
  203. package/dist/components/transitions.js.map +1 -0
  204. package/dist/index.cjs +1 -1
  205. package/dist/index.esm.js +1 -1
  206. package/dist/index.iife.js +1 -1
  207. package/dist/symbols.esm.js +1 -1
  208. package/dist/transitions.esm.js +1 -1
  209. package/package.json +10 -6
  210. package/components/accordion/demo.html +0 -403
  211. package/components/accordion/snice-accordion-item.css +0 -85
  212. package/components/accordion/snice-accordion-item.ts +0 -226
  213. package/components/accordion/snice-accordion.css +0 -31
  214. package/components/accordion/snice-accordion.ts +0 -182
  215. package/components/accordion/snice-accordion.types.ts +0 -32
  216. package/components/alert/demo.html +0 -445
  217. package/components/alert/snice-alert.css +0 -195
  218. package/components/alert/snice-alert.ts +0 -141
  219. package/components/avatar/demo.html +0 -598
  220. package/components/avatar/snice-avatar.css +0 -131
  221. package/components/avatar/snice-avatar.ts +0 -136
  222. package/components/avatar/snice-avatar.types.ts +0 -13
  223. package/components/badge/demo.html +0 -523
  224. package/components/badge/snice-badge.css +0 -161
  225. package/components/badge/snice-badge.ts +0 -117
  226. package/components/breadcrumbs/demo.html +0 -404
  227. package/components/breadcrumbs/snice-breadcrumbs.css +0 -133
  228. package/components/breadcrumbs/snice-breadcrumbs.ts +0 -191
  229. package/components/breadcrumbs/snice-breadcrumbs.types.ts +0 -26
  230. package/components/breadcrumbs/snice-crumb.ts +0 -26
  231. package/components/button/demo.html +0 -42
  232. package/components/button/snice-button.css +0 -230
  233. package/components/button/snice-button.ts +0 -169
  234. package/components/button/snice-button.types.ts +0 -25
  235. package/components/card/demo.html +0 -525
  236. package/components/card/snice-card.css +0 -140
  237. package/components/card/snice-card.ts +0 -102
  238. package/components/checkbox/demo.html +0 -253
  239. package/components/checkbox/snice-checkbox.css +0 -164
  240. package/components/checkbox/snice-checkbox.ts +0 -223
  241. package/components/checkbox/snice-checkbox.types.ts +0 -22
  242. package/components/chip/demo.html +0 -383
  243. package/components/chip/snice-chip.css +0 -195
  244. package/components/chip/snice-chip.ts +0 -139
  245. package/components/chip/snice-chip.types.ts +0 -15
  246. package/components/date-picker/README.md +0 -233
  247. package/components/date-picker/demo.html +0 -191
  248. package/components/date-picker/snice-date-picker.css +0 -330
  249. package/components/date-picker/snice-date-picker.ts +0 -777
  250. package/components/date-picker/snice-date-picker.types.ts +0 -83
  251. package/components/divider/demo.html +0 -233
  252. package/components/divider/snice-divider.css +0 -155
  253. package/components/divider/snice-divider.ts +0 -69
  254. package/components/drawer/demo.html +0 -328
  255. package/components/drawer/snice-drawer.css +0 -476
  256. package/components/drawer/snice-drawer.ts +0 -287
  257. package/components/drawer/snice-drawer.types.ts +0 -17
  258. package/components/global.d.ts +0 -14
  259. package/components/input/demo.html +0 -303
  260. package/components/input/snice-input.css +0 -257
  261. package/components/input/snice-input.ts +0 -442
  262. package/components/input/snice-input.types.ts +0 -59
  263. package/components/input/test.html +0 -77
  264. package/components/layout/README.md +0 -260
  265. package/components/layout/demo.html +0 -538
  266. package/components/layout/snice-layout-blog.css +0 -129
  267. package/components/layout/snice-layout-blog.ts +0 -48
  268. package/components/layout/snice-layout-card.css +0 -104
  269. package/components/layout/snice-layout-card.ts +0 -35
  270. package/components/layout/snice-layout-centered.css +0 -51
  271. package/components/layout/snice-layout-centered.ts +0 -22
  272. package/components/layout/snice-layout-dashboard.css +0 -98
  273. package/components/layout/snice-layout-dashboard.ts +0 -45
  274. package/components/layout/snice-layout-fullscreen.css +0 -72
  275. package/components/layout/snice-layout-fullscreen.ts +0 -34
  276. package/components/layout/snice-layout-landing.css +0 -92
  277. package/components/layout/snice-layout-landing.ts +0 -47
  278. package/components/layout/snice-layout-minimal.css +0 -16
  279. package/components/layout/snice-layout-minimal.ts +0 -19
  280. package/components/layout/snice-layout-sidebar.css +0 -117
  281. package/components/layout/snice-layout-sidebar.ts +0 -48
  282. package/components/layout/snice-layout-split.css +0 -103
  283. package/components/layout/snice-layout-split.ts +0 -29
  284. package/components/layout/snice-layout.css +0 -72
  285. package/components/layout/snice-layout.ts +0 -35
  286. package/components/login/demo-auth-controller.ts +0 -185
  287. package/components/login/demo.html +0 -470
  288. package/components/login/snice-login.css +0 -204
  289. package/components/login/snice-login.ts +0 -326
  290. package/components/login/snice-login.types.ts +0 -29
  291. package/components/modal/demo.html +0 -291
  292. package/components/modal/snice-modal.css +0 -203
  293. package/components/modal/snice-modal.ts +0 -233
  294. package/components/modal/snice-modal.types.ts +0 -21
  295. package/components/pagination/demo.html +0 -395
  296. package/components/pagination/snice-pagination.ts +0 -333
  297. package/components/pagination/snice-pagination.types.ts +0 -21
  298. package/components/progress/demo.html +0 -510
  299. package/components/progress/snice-progress.css +0 -267
  300. package/components/progress/snice-progress.ts +0 -247
  301. package/components/progress/snice-progress.types.ts +0 -19
  302. package/components/radio/demo.html +0 -287
  303. package/components/radio/snice-radio.css +0 -171
  304. package/components/radio/snice-radio.ts +0 -218
  305. package/components/radio/snice-radio.types.ts +0 -21
  306. package/components/select/demo.html +0 -511
  307. package/components/select/snice-option.ts +0 -52
  308. package/components/select/snice-select.css +0 -392
  309. package/components/select/snice-select.ts +0 -796
  310. package/components/select/snice-select.types.ts +0 -55
  311. package/components/skeleton/demo.html +0 -514
  312. package/components/skeleton/snice-skeleton.css +0 -109
  313. package/components/skeleton/snice-skeleton.ts +0 -126
  314. package/components/switch/demo.html +0 -284
  315. package/components/switch/snice-switch.css +0 -221
  316. package/components/switch/snice-switch.ts +0 -229
  317. package/components/switch/snice-switch.types.ts +0 -23
  318. package/components/symbols.ts +0 -23
  319. package/components/table/demo-table-controller.ts +0 -100
  320. package/components/table/demo.html +0 -480
  321. package/components/table/snice-cell-boolean.ts +0 -112
  322. package/components/table/snice-cell-date.ts +0 -210
  323. package/components/table/snice-cell-duration.ts +0 -91
  324. package/components/table/snice-cell-filesize.ts +0 -90
  325. package/components/table/snice-cell-number.ts +0 -165
  326. package/components/table/snice-cell-progress.ts +0 -83
  327. package/components/table/snice-cell-rating.ts +0 -82
  328. package/components/table/snice-cell-sparkline.ts +0 -253
  329. package/components/table/snice-cell-text.ts +0 -125
  330. package/components/table/snice-cell.css +0 -296
  331. package/components/table/snice-cell.ts +0 -473
  332. package/components/table/snice-column.ts +0 -353
  333. package/components/table/snice-header.css +0 -243
  334. package/components/table/snice-header.ts +0 -261
  335. package/components/table/snice-progress.ts +0 -66
  336. package/components/table/snice-rating.ts +0 -45
  337. package/components/table/snice-row.css +0 -255
  338. package/components/table/snice-row.ts +0 -331
  339. package/components/table/snice-table.css +0 -241
  340. package/components/table/snice-table.ts +0 -737
  341. package/components/table/snice-table.types.ts +0 -158
  342. package/components/tabs/demo.html +0 -487
  343. package/components/tabs/snice-tab-panel.css +0 -264
  344. package/components/tabs/snice-tab-panel.ts +0 -47
  345. package/components/tabs/snice-tab.css +0 -96
  346. package/components/tabs/snice-tab.ts +0 -65
  347. package/components/tabs/snice-tabs.css +0 -189
  348. package/components/tabs/snice-tabs.ts +0 -332
  349. package/components/tabs/snice-tabs.types.ts +0 -28
  350. package/components/theme/theme.css +0 -234
  351. package/components/toast/demo.html +0 -329
  352. package/components/toast/snice-toast-container.ts +0 -256
  353. package/components/toast/snice-toast.css +0 -213
  354. package/components/toast/snice-toast.ts +0 -276
  355. package/components/toast/snice-toast.types.ts +0 -35
  356. package/components/tooltip/demo.html +0 -350
  357. package/components/tooltip/snice-tooltip-portal.css +0 -79
  358. package/components/tooltip/snice-tooltip.css +0 -117
  359. package/components/tooltip/snice-tooltip.ts +0 -612
  360. package/components/tooltip/snice-tooltip.types.ts +0 -32
  361. package/components/transitions.ts +0 -94
  362. package/components/tsconfig.json +0 -18
  363. package/dist/index.cjs.min.map +0 -1
  364. package/dist/index.esm.min.js +0 -14
  365. package/dist/index.esm.min.js.map +0 -1
  366. package/dist/index.iife.min.js +0 -15
  367. package/dist/index.iife.min.js.map +0 -1
@@ -0,0 +1,180 @@
1
+ import { __runInitializers, __esDecorate } from 'tslib';
2
+ import { element, property, query, part, watch, on, dispatch } from 'snice';
3
+
4
+ var css = ":host {\n display: block;\n --alert-padding: 0.75rem 1rem; /* 12px 16px */\n --alert-border-radius: 6px;\n --alert-font-size: 0.875rem; /* 14px */\n --alert-icon-size: 1.25rem; /* 20px */\n --alert-border-width: 1px;\n}\n\n.alert {\n display: flex;\n align-items: flex-start;\n padding: var(--alert-padding);\n border-radius: var(--alert-border-radius);\n font-size: var(--alert-font-size);\n line-height: 1.5;\n border: var(--alert-border-width) solid;\n position: relative;\n animation: slideIn 0.3s ease;\n}\n\n.alert--hidden {\n display: none;\n}\n\n@keyframes slideIn {\n from {\n opacity: 0;\n transform: translateY(-10px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n}\n\n@keyframes slideOut {\n from {\n opacity: 1;\n transform: translateY(0);\n }\n to {\n opacity: 0;\n transform: translateY(-10px);\n }\n}\n\n.alert--hiding {\n animation: slideOut 0.3s ease forwards;\n}\n\n/* Variants */\n:host([variant=\"info\"]) .alert {\n background: rgb(var(--snice-color-blue-50, 239 246 255));\n border-color: rgb(var(--snice-color-blue-200, 191 219 254));\n color: rgb(var(--snice-color-blue-900, 30 58 138));\n}\n\n:host([variant=\"success\"]) .alert {\n background: rgb(var(--snice-color-green-50, 240 253 244));\n border-color: rgb(var(--snice-color-green-200, 187 247 208));\n color: rgb(var(--snice-color-green-900, 20 83 45));\n}\n\n:host([variant=\"warning\"]) .alert {\n background: rgb(var(--snice-color-yellow-50, 254 252 232));\n border-color: rgb(var(--snice-color-yellow-200, 254 240 138));\n color: rgb(var(--snice-color-yellow-900, 113 63 18));\n}\n\n:host([variant=\"error\"]) .alert {\n background: rgb(var(--snice-color-red-50, 254 242 242));\n border-color: rgb(var(--snice-color-red-200, 254 202 202));\n color: rgb(var(--snice-color-red-900, 127 29 29));\n}\n\n/* Icon */\n.alert-icon {\n flex-shrink: 0;\n width: var(--alert-icon-size);\n height: var(--alert-icon-size);\n margin-right: 0.75rem; /* 12px */\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.alert-icon svg {\n width: 100%;\n height: 100%;\n}\n\n/* Default icons */\n:host([variant=\"info\"]) .alert-icon--default::before {\n content: \"ℹ\";\n font-size: 1.125rem; /* 18px */\n font-weight: bold;\n}\n\n:host([variant=\"success\"]) .alert-icon--default::before {\n content: \"✓\";\n font-size: 1rem; /* 16px */\n font-weight: bold;\n}\n\n:host([variant=\"warning\"]) .alert-icon--default::before {\n content: \"⚠\";\n font-size: 1.125rem; /* 18px */\n}\n\n:host([variant=\"error\"]) .alert-icon--default::before {\n content: \"✕\";\n font-size: 1rem; /* 16px */\n font-weight: bold;\n}\n\n/* Content */\n.alert-content {\n flex: 1;\n min-width: 0;\n}\n\n.alert-title {\n font-weight: 600;\n margin-bottom: 0.25rem; /* 4px */\n}\n\n.alert-title:empty {\n display: none;\n}\n\n.alert-description {\n color: inherit;\n opacity: 0.9;\n}\n\n/* Dismiss button */\n.alert-dismiss {\n flex-shrink: 0;\n margin-left: 0.75rem; /* 12px */\n margin-right: -0.25rem; /* -4px */\n padding: 0.25rem; /* 4px */\n background: none;\n border: none;\n cursor: pointer;\n opacity: 0.6;\n transition: opacity 0.2s ease;\n border-radius: 4px;\n display: flex;\n align-items: center;\n justify-content: center;\n color: inherit;\n}\n\n.alert-dismiss:hover {\n opacity: 1;\n}\n\n.alert-dismiss:focus-visible {\n outline: 2px solid currentColor;\n outline-offset: 2px; /* Keep px for crisp outline */\n}\n\n.alert-dismiss svg {\n width: 1rem; /* 16px */\n height: 1rem; /* 16px */\n}\n\n/* Sizes */\n:host([size=\"small\"]) {\n --alert-padding: 0.5rem 0.75rem; /* 8px 12px */\n --alert-font-size: 0.75rem; /* 12px */\n --alert-icon-size: 1rem; /* 16px */\n --alert-border-radius: 4px;\n}\n\n:host([size=\"large\"]) {\n --alert-padding: 1rem 1.25rem; /* 16px 20px */\n --alert-font-size: 1rem; /* 16px */\n --alert-icon-size: 1.5rem; /* 24px */\n --alert-border-radius: 8px;\n}\n\n/* Accessibility */\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border: 0;\n}";
5
+
6
+ let SniceAlert = (() => {
7
+ let _classDecorators = [element('snice-alert')];
8
+ let _classDescriptor;
9
+ let _classExtraInitializers = [];
10
+ let _classThis;
11
+ let _classSuper = HTMLElement;
12
+ let _instanceExtraInitializers = [];
13
+ let _variant_decorators;
14
+ let _variant_initializers = [];
15
+ let _variant_extraInitializers = [];
16
+ let _size_decorators;
17
+ let _size_initializers = [];
18
+ let _size_extraInitializers = [];
19
+ let _title_decorators;
20
+ let _title_initializers = [];
21
+ let _title_extraInitializers = [];
22
+ let _dismissible_decorators;
23
+ let _dismissible_initializers = [];
24
+ let _dismissible_extraInitializers = [];
25
+ let _icon_decorators;
26
+ let _icon_initializers = [];
27
+ let _icon_extraInitializers = [];
28
+ let _alertElement_decorators;
29
+ let _alertElement_initializers = [];
30
+ let _alertElement_extraInitializers = [];
31
+ let _renderIconSection_decorators;
32
+ let _renderTitleSection_decorators;
33
+ let _renderDescriptionSection_decorators;
34
+ let _renderDismissSection_decorators;
35
+ let _handleDismiss_decorators;
36
+ let _handleAnimationEnd_decorators;
37
+ let _dispatchAlertHidden_decorators;
38
+ let _dispatchAlertShown_decorators;
39
+ (class extends _classSuper {
40
+ static { _classThis = this; }
41
+ constructor() {
42
+ super(...arguments);
43
+ this.variant = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _variant_initializers, 'info'));
44
+ this.size = (__runInitializers(this, _variant_extraInitializers), __runInitializers(this, _size_initializers, 'medium'));
45
+ this.title = (__runInitializers(this, _size_extraInitializers), __runInitializers(this, _title_initializers, ''));
46
+ this.dismissible = (__runInitializers(this, _title_extraInitializers), __runInitializers(this, _dismissible_initializers, false));
47
+ this.icon = (__runInitializers(this, _dismissible_extraInitializers), __runInitializers(this, _icon_initializers, ''));
48
+ this.alertElement = (__runInitializers(this, _icon_extraInitializers), __runInitializers(this, _alertElement_initializers, void 0));
49
+ this.isHidden = (__runInitializers(this, _alertElement_extraInitializers), false);
50
+ }
51
+ static {
52
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
53
+ _variant_decorators = [property({ reflect: true })];
54
+ _size_decorators = [property({ reflect: true })];
55
+ _title_decorators = [property({ reflect: true })];
56
+ _dismissible_decorators = [property({ type: Boolean, reflect: true })];
57
+ _icon_decorators = [property({ reflect: true })];
58
+ _alertElement_decorators = [query('.alert')];
59
+ _renderIconSection_decorators = [part('icon-section')];
60
+ _renderTitleSection_decorators = [watch('title'), part('title-section')];
61
+ _renderDescriptionSection_decorators = [part('description-section')];
62
+ _renderDismissSection_decorators = [watch('dismissible'), part('dismiss-section')];
63
+ _handleDismiss_decorators = [on('click', '.alert-dismiss'), dispatch('alert-dismiss')];
64
+ _handleAnimationEnd_decorators = [on('animationend', '.alert')];
65
+ _dispatchAlertHidden_decorators = [dispatch('alert-hidden')];
66
+ _dispatchAlertShown_decorators = [dispatch('alert-shown')];
67
+ __esDecorate(this, null, _renderIconSection_decorators, { kind: "method", name: "renderIconSection", static: false, private: false, access: { has: obj => "renderIconSection" in obj, get: obj => obj.renderIconSection }, metadata: _metadata }, null, _instanceExtraInitializers);
68
+ __esDecorate(this, null, _renderTitleSection_decorators, { kind: "method", name: "renderTitleSection", static: false, private: false, access: { has: obj => "renderTitleSection" in obj, get: obj => obj.renderTitleSection }, metadata: _metadata }, null, _instanceExtraInitializers);
69
+ __esDecorate(this, null, _renderDescriptionSection_decorators, { kind: "method", name: "renderDescriptionSection", static: false, private: false, access: { has: obj => "renderDescriptionSection" in obj, get: obj => obj.renderDescriptionSection }, metadata: _metadata }, null, _instanceExtraInitializers);
70
+ __esDecorate(this, null, _renderDismissSection_decorators, { kind: "method", name: "renderDismissSection", static: false, private: false, access: { has: obj => "renderDismissSection" in obj, get: obj => obj.renderDismissSection }, metadata: _metadata }, null, _instanceExtraInitializers);
71
+ __esDecorate(this, null, _handleDismiss_decorators, { kind: "method", name: "handleDismiss", static: false, private: false, access: { has: obj => "handleDismiss" in obj, get: obj => obj.handleDismiss }, metadata: _metadata }, null, _instanceExtraInitializers);
72
+ __esDecorate(this, null, _handleAnimationEnd_decorators, { kind: "method", name: "handleAnimationEnd", static: false, private: false, access: { has: obj => "handleAnimationEnd" in obj, get: obj => obj.handleAnimationEnd }, metadata: _metadata }, null, _instanceExtraInitializers);
73
+ __esDecorate(this, null, _dispatchAlertHidden_decorators, { kind: "method", name: "dispatchAlertHidden", static: false, private: false, access: { has: obj => "dispatchAlertHidden" in obj, get: obj => obj.dispatchAlertHidden }, metadata: _metadata }, null, _instanceExtraInitializers);
74
+ __esDecorate(this, null, _dispatchAlertShown_decorators, { kind: "method", name: "dispatchAlertShown", static: false, private: false, access: { has: obj => "dispatchAlertShown" in obj, get: obj => obj.dispatchAlertShown }, metadata: _metadata }, null, _instanceExtraInitializers);
75
+ __esDecorate(null, null, _variant_decorators, { kind: "field", name: "variant", static: false, private: false, access: { has: obj => "variant" in obj, get: obj => obj.variant, set: (obj, value) => { obj.variant = value; } }, metadata: _metadata }, _variant_initializers, _variant_extraInitializers);
76
+ __esDecorate(null, null, _size_decorators, { kind: "field", name: "size", static: false, private: false, access: { has: obj => "size" in obj, get: obj => obj.size, set: (obj, value) => { obj.size = value; } }, metadata: _metadata }, _size_initializers, _size_extraInitializers);
77
+ __esDecorate(null, null, _title_decorators, { kind: "field", name: "title", static: false, private: false, access: { has: obj => "title" in obj, get: obj => obj.title, set: (obj, value) => { obj.title = value; } }, metadata: _metadata }, _title_initializers, _title_extraInitializers);
78
+ __esDecorate(null, null, _dismissible_decorators, { kind: "field", name: "dismissible", static: false, private: false, access: { has: obj => "dismissible" in obj, get: obj => obj.dismissible, set: (obj, value) => { obj.dismissible = value; } }, metadata: _metadata }, _dismissible_initializers, _dismissible_extraInitializers);
79
+ __esDecorate(null, null, _icon_decorators, { kind: "field", name: "icon", static: false, private: false, access: { has: obj => "icon" in obj, get: obj => obj.icon, set: (obj, value) => { obj.icon = value; } }, metadata: _metadata }, _icon_initializers, _icon_extraInitializers);
80
+ __esDecorate(null, null, _alertElement_decorators, { kind: "field", name: "alertElement", static: false, private: false, access: { has: obj => "alertElement" in obj, get: obj => obj.alertElement, set: (obj, value) => { obj.alertElement = value; } }, metadata: _metadata }, _alertElement_initializers, _alertElement_extraInitializers);
81
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
82
+ _classThis = _classDescriptor.value;
83
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
84
+ __runInitializers(_classThis, _classExtraInitializers);
85
+ }
86
+ html() {
87
+ return /*html*/ `
88
+ <div class="alert ${this.isHidden ? 'alert--hidden' : ''}" role="alert" aria-live="polite">
89
+ <div part="icon-section"></div>
90
+ <div class="alert-content">
91
+ <div part="title-section"></div>
92
+ <div part="description-section"></div>
93
+ </div>
94
+ <div part="dismiss-section"></div>
95
+ </div>
96
+ `;
97
+ }
98
+ renderIconSection() {
99
+ const hasIcon = this.icon || this.shouldShowDefaultIcon();
100
+ return hasIcon ? /*html*/ `
101
+ <div class="alert-icon ${!this.icon ? 'alert-icon--default' : ''}">
102
+ ${this.icon || ''}
103
+ </div>
104
+ ` : '';
105
+ }
106
+ renderTitleSection() {
107
+ return this.title ? /*html*/ `
108
+ <div class="alert-title">${this.title}</div>
109
+ ` : '';
110
+ }
111
+ renderDescriptionSection() {
112
+ return /*html*/ `
113
+ <div class="alert-description">
114
+ <slot></slot>
115
+ </div>
116
+ `;
117
+ }
118
+ renderDismissSection() {
119
+ return this.dismissible ? /*html*/ `
120
+ <button class="alert-dismiss" type="button" aria-label="Dismiss alert">
121
+ <svg viewBox="0 0 24 24" fill="currentColor">
122
+ <path d="M19 6.41L17.59 5L12 10.59L6.41 5L5 6.41L10.59 12L5 17.59L6.41 19L12 13.41L17.59 19L19 17.59L13.41 12L19 6.41Z"/>
123
+ </svg>
124
+ </button>
125
+ ` : '';
126
+ }
127
+ css() {
128
+ return css;
129
+ }
130
+ shouldShowDefaultIcon() {
131
+ // Show default icons for variants unless explicitly disabled
132
+ return this.icon !== 'none';
133
+ }
134
+ handleDismiss() {
135
+ this.hide();
136
+ return {
137
+ variant: this.variant,
138
+ title: this.title
139
+ };
140
+ }
141
+ handleAnimationEnd(event) {
142
+ if (event.animationName === 'slideOut') {
143
+ this.isHidden = true;
144
+ if (this.alertElement) {
145
+ this.alertElement.classList.add('alert--hidden');
146
+ this.alertElement.classList.remove('alert--hiding');
147
+ }
148
+ this.dispatchAlertHidden();
149
+ }
150
+ }
151
+ dispatchAlertHidden() {
152
+ return {
153
+ variant: this.variant,
154
+ title: this.title
155
+ };
156
+ }
157
+ dispatchAlertShown() {
158
+ return {
159
+ variant: this.variant,
160
+ title: this.title
161
+ };
162
+ }
163
+ show() {
164
+ this.isHidden = false;
165
+ if (this.alertElement) {
166
+ this.alertElement.classList.remove('alert--hidden', 'alert--hiding');
167
+ }
168
+ this.dispatchAlertShown();
169
+ }
170
+ hide() {
171
+ if (this.alertElement && !this.isHidden) {
172
+ this.alertElement.classList.add('alert--hiding');
173
+ }
174
+ }
175
+ });
176
+ return _classThis;
177
+ })();
178
+
179
+ export { SniceAlert };
180
+ //# sourceMappingURL=snice-alert.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"snice-alert.js","sources":["../../../components/alert/snice-alert.css?inline","../../../../components/alert/snice-alert.ts"],"sourcesContent":["export default \":host {\\n display: block;\\n --alert-padding: 0.75rem 1rem; /* 12px 16px */\\n --alert-border-radius: 6px;\\n --alert-font-size: 0.875rem; /* 14px */\\n --alert-icon-size: 1.25rem; /* 20px */\\n --alert-border-width: 1px;\\n}\\n\\n.alert {\\n display: flex;\\n align-items: flex-start;\\n padding: var(--alert-padding);\\n border-radius: var(--alert-border-radius);\\n font-size: var(--alert-font-size);\\n line-height: 1.5;\\n border: var(--alert-border-width) solid;\\n position: relative;\\n animation: slideIn 0.3s ease;\\n}\\n\\n.alert--hidden {\\n display: none;\\n}\\n\\n@keyframes slideIn {\\n from {\\n opacity: 0;\\n transform: translateY(-10px);\\n }\\n to {\\n opacity: 1;\\n transform: translateY(0);\\n }\\n}\\n\\n@keyframes slideOut {\\n from {\\n opacity: 1;\\n transform: translateY(0);\\n }\\n to {\\n opacity: 0;\\n transform: translateY(-10px);\\n }\\n}\\n\\n.alert--hiding {\\n animation: slideOut 0.3s ease forwards;\\n}\\n\\n/* Variants */\\n:host([variant=\\\"info\\\"]) .alert {\\n background: rgb(var(--snice-color-blue-50, 239 246 255));\\n border-color: rgb(var(--snice-color-blue-200, 191 219 254));\\n color: rgb(var(--snice-color-blue-900, 30 58 138));\\n}\\n\\n:host([variant=\\\"success\\\"]) .alert {\\n background: rgb(var(--snice-color-green-50, 240 253 244));\\n border-color: rgb(var(--snice-color-green-200, 187 247 208));\\n color: rgb(var(--snice-color-green-900, 20 83 45));\\n}\\n\\n:host([variant=\\\"warning\\\"]) .alert {\\n background: rgb(var(--snice-color-yellow-50, 254 252 232));\\n border-color: rgb(var(--snice-color-yellow-200, 254 240 138));\\n color: rgb(var(--snice-color-yellow-900, 113 63 18));\\n}\\n\\n:host([variant=\\\"error\\\"]) .alert {\\n background: rgb(var(--snice-color-red-50, 254 242 242));\\n border-color: rgb(var(--snice-color-red-200, 254 202 202));\\n color: rgb(var(--snice-color-red-900, 127 29 29));\\n}\\n\\n/* Icon */\\n.alert-icon {\\n flex-shrink: 0;\\n width: var(--alert-icon-size);\\n height: var(--alert-icon-size);\\n margin-right: 0.75rem; /* 12px */\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n}\\n\\n.alert-icon svg {\\n width: 100%;\\n height: 100%;\\n}\\n\\n/* Default icons */\\n:host([variant=\\\"info\\\"]) .alert-icon--default::before {\\n content: \\\"ℹ\\\";\\n font-size: 1.125rem; /* 18px */\\n font-weight: bold;\\n}\\n\\n:host([variant=\\\"success\\\"]) .alert-icon--default::before {\\n content: \\\"✓\\\";\\n font-size: 1rem; /* 16px */\\n font-weight: bold;\\n}\\n\\n:host([variant=\\\"warning\\\"]) .alert-icon--default::before {\\n content: \\\"⚠\\\";\\n font-size: 1.125rem; /* 18px */\\n}\\n\\n:host([variant=\\\"error\\\"]) .alert-icon--default::before {\\n content: \\\"✕\\\";\\n font-size: 1rem; /* 16px */\\n font-weight: bold;\\n}\\n\\n/* Content */\\n.alert-content {\\n flex: 1;\\n min-width: 0;\\n}\\n\\n.alert-title {\\n font-weight: 600;\\n margin-bottom: 0.25rem; /* 4px */\\n}\\n\\n.alert-title:empty {\\n display: none;\\n}\\n\\n.alert-description {\\n color: inherit;\\n opacity: 0.9;\\n}\\n\\n/* Dismiss button */\\n.alert-dismiss {\\n flex-shrink: 0;\\n margin-left: 0.75rem; /* 12px */\\n margin-right: -0.25rem; /* -4px */\\n padding: 0.25rem; /* 4px */\\n background: none;\\n border: none;\\n cursor: pointer;\\n opacity: 0.6;\\n transition: opacity 0.2s ease;\\n border-radius: 4px;\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n color: inherit;\\n}\\n\\n.alert-dismiss:hover {\\n opacity: 1;\\n}\\n\\n.alert-dismiss:focus-visible {\\n outline: 2px solid currentColor;\\n outline-offset: 2px; /* Keep px for crisp outline */\\n}\\n\\n.alert-dismiss svg {\\n width: 1rem; /* 16px */\\n height: 1rem; /* 16px */\\n}\\n\\n/* Sizes */\\n:host([size=\\\"small\\\"]) {\\n --alert-padding: 0.5rem 0.75rem; /* 8px 12px */\\n --alert-font-size: 0.75rem; /* 12px */\\n --alert-icon-size: 1rem; /* 16px */\\n --alert-border-radius: 4px;\\n}\\n\\n:host([size=\\\"large\\\"]) {\\n --alert-padding: 1rem 1.25rem; /* 16px 20px */\\n --alert-font-size: 1rem; /* 16px */\\n --alert-icon-size: 1.5rem; /* 24px */\\n --alert-border-radius: 8px;\\n}\\n\\n/* Accessibility */\\n.sr-only {\\n position: absolute;\\n width: 1px;\\n height: 1px;\\n padding: 0;\\n margin: -1px;\\n overflow: hidden;\\n clip: rect(0, 0, 0, 0);\\n white-space: nowrap;\\n border: 0;\\n}\";",null],"names":[],"mappings":"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"}
@@ -1,12 +1,11 @@
1
1
  export type AlertVariant = 'info' | 'success' | 'warning' | 'error';
2
2
  export type AlertSize = 'small' | 'medium' | 'large';
3
-
4
3
  export interface SniceAlertElement extends HTMLElement {
5
- variant: AlertVariant;
6
- size: AlertSize;
7
- title: string;
8
- dismissible: boolean;
9
- icon: string;
10
- show(): void;
11
- hide(): void;
12
- }
4
+ variant: AlertVariant;
5
+ size: AlertSize;
6
+ title: string;
7
+ dismissible: boolean;
8
+ icon: string;
9
+ show(): void;
10
+ hide(): void;
11
+ }
@@ -0,0 +1,24 @@
1
+ import type { AvatarSize, AvatarShape, SniceAvatarElement } from './snice-avatar.types';
2
+ export declare class SniceAvatar extends HTMLElement implements SniceAvatarElement {
3
+ src: string;
4
+ alt: string;
5
+ name: string;
6
+ size: AvatarSize;
7
+ shape: AvatarShape;
8
+ fallbackColor: string;
9
+ fallbackBackground: string;
10
+ imageElement?: HTMLImageElement;
11
+ fallbackElement?: HTMLElement;
12
+ private imageError;
13
+ html(): string;
14
+ renderImageSection(): string;
15
+ renderFallbackSection(): string;
16
+ css(): string;
17
+ init(): void;
18
+ private setupImageHandlers;
19
+ handleImageLoad(): void;
20
+ handleImageError(): void;
21
+ getInitials(name: string): string;
22
+ private getColorClass;
23
+ private renderIcon;
24
+ }
@@ -0,0 +1,180 @@
1
+ import { __runInitializers, __esDecorate } from 'tslib';
2
+ import { element, property, query, watch, part, ready, on } from 'snice';
3
+
4
+ var css = ":host {\n display: inline-block;\n --avatar-size: 2.5rem; /* 40px */\n --avatar-bg: #6b7280;\n --avatar-color: #ffffff;\n}\n\n.avatar {\n position: relative;\n width: var(--avatar-size);\n height: var(--avatar-size);\n overflow: hidden;\n background: var(--avatar-bg);\n color: var(--avatar-color);\n display: flex;\n align-items: center;\n justify-content: center;\n font-weight: 600;\n user-select: none;\n}\n\n/* Shapes */\n:host([shape=\"circle\"]) .avatar {\n border-radius: 50%;\n}\n\n:host([shape=\"square\"]) .avatar {\n border-radius: 0;\n}\n\n:host([shape=\"rounded\"]) .avatar {\n border-radius: 8px;\n}\n\n/* Sizes */\n:host([size=\"xs\"]) {\n --avatar-size: 1.5rem; /* 24px */\n font-size: 0.625rem; /* 10px */\n}\n\n:host([size=\"small\"]) {\n --avatar-size: 2rem; /* 32px */\n font-size: 0.75rem; /* 12px */\n}\n\n:host([size=\"medium\"]) {\n --avatar-size: 2.5rem; /* 40px */\n font-size: 0.875rem; /* 14px */\n}\n\n:host([size=\"large\"]) {\n --avatar-size: 3rem; /* 48px */\n font-size: 1rem; /* 16px */\n}\n\n:host([size=\"xl\"]) {\n --avatar-size: 4rem; /* 64px */\n font-size: 1.25rem; /* 20px */\n}\n\n:host([size=\"xxl\"]) {\n --avatar-size: 6rem; /* 96px */\n font-size: 2rem; /* 32px */\n}\n\n/* Image */\n.avatar-image {\n width: 100%;\n height: 100%;\n object-fit: cover;\n display: block;\n}\n\n.avatar-image--error {\n display: none;\n}\n\n/* Fallback */\n.avatar-fallback {\n position: absolute;\n inset: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n opacity: 0;\n visibility: hidden;\n transition: opacity 0.2s ease;\n}\n\n.avatar-fallback--visible {\n opacity: 1;\n visibility: visible;\n}\n\n.avatar-icon {\n width: 60%;\n height: 60%;\n opacity: 0.9;\n}\n\n/* Avatar color classes for fallback backgrounds */\n.avatar--red { background: rgb(var(--avatar-color-red, 239 68 68)); }\n.avatar--orange { background: rgb(var(--avatar-color-orange, 251 146 60)); }\n.avatar--yellow { background: rgb(var(--avatar-color-yellow, 234 179 8)); }\n.avatar--lime { background: rgb(var(--avatar-color-lime, 163 230 53)); }\n.avatar--green { background: rgb(var(--avatar-color-green, 34 197 94)); }\n.avatar--teal { background: rgb(var(--avatar-color-teal, 20 184 166)); }\n.avatar--cyan { background: rgb(var(--avatar-color-cyan, 6 182 212)); }\n.avatar--sky { background: rgb(var(--avatar-color-sky, 14 165 233)); }\n.avatar--blue { background: rgb(var(--avatar-color-blue, 59 130 246)); }\n.avatar--indigo { background: rgb(var(--avatar-color-indigo, 99 102 241)); }\n.avatar--violet { background: rgb(var(--avatar-color-violet, 139 92 246)); }\n.avatar--purple { background: rgb(var(--avatar-color-purple, 168 85 247)); }\n.avatar--fuchsia { background: rgb(var(--avatar-color-fuchsia, 217 70 239)); }\n.avatar--pink { background: rgb(var(--avatar-color-pink, 236 72 153)); }\n.avatar--rose { background: rgb(var(--avatar-color-rose, 244 63 94)); }\n\n/* Group avatar support */\n:host(.avatar-group-item) {\n margin-left: -0.5rem; /* -8px */\n border: 2px solid white; /* Keep px for crisp borders */\n border-radius: 50%;\n}\n\n:host(.avatar-group-item:first-child) {\n margin-left: 0;\n}\n\n:host(.avatar-group-item) .avatar {\n border: 2px solid white;\n}";
5
+
6
+ let SniceAvatar = (() => {
7
+ let _classDecorators = [element('snice-avatar')];
8
+ let _classDescriptor;
9
+ let _classExtraInitializers = [];
10
+ let _classThis;
11
+ let _classSuper = HTMLElement;
12
+ let _instanceExtraInitializers = [];
13
+ let _src_decorators;
14
+ let _src_initializers = [];
15
+ let _src_extraInitializers = [];
16
+ let _alt_decorators;
17
+ let _alt_initializers = [];
18
+ let _alt_extraInitializers = [];
19
+ let _name_decorators;
20
+ let _name_initializers = [];
21
+ let _name_extraInitializers = [];
22
+ let _size_decorators;
23
+ let _size_initializers = [];
24
+ let _size_extraInitializers = [];
25
+ let _shape_decorators;
26
+ let _shape_initializers = [];
27
+ let _shape_extraInitializers = [];
28
+ let _fallbackColor_decorators;
29
+ let _fallbackColor_initializers = [];
30
+ let _fallbackColor_extraInitializers = [];
31
+ let _fallbackBackground_decorators;
32
+ let _fallbackBackground_initializers = [];
33
+ let _fallbackBackground_extraInitializers = [];
34
+ let _imageElement_decorators;
35
+ let _imageElement_initializers = [];
36
+ let _imageElement_extraInitializers = [];
37
+ let _fallbackElement_decorators;
38
+ let _fallbackElement_initializers = [];
39
+ let _fallbackElement_extraInitializers = [];
40
+ let _renderImageSection_decorators;
41
+ let _renderFallbackSection_decorators;
42
+ let _init_decorators;
43
+ let _handleImageLoad_decorators;
44
+ let _handleImageError_decorators;
45
+ (class extends _classSuper {
46
+ static { _classThis = this; }
47
+ constructor() {
48
+ super(...arguments);
49
+ this.src = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _src_initializers, ''));
50
+ this.alt = (__runInitializers(this, _src_extraInitializers), __runInitializers(this, _alt_initializers, ''));
51
+ this.name = (__runInitializers(this, _alt_extraInitializers), __runInitializers(this, _name_initializers, ''));
52
+ this.size = (__runInitializers(this, _name_extraInitializers), __runInitializers(this, _size_initializers, 'medium'));
53
+ this.shape = (__runInitializers(this, _size_extraInitializers), __runInitializers(this, _shape_initializers, 'circle'));
54
+ this.fallbackColor = (__runInitializers(this, _shape_extraInitializers), __runInitializers(this, _fallbackColor_initializers, '#ffffff'));
55
+ this.fallbackBackground = (__runInitializers(this, _fallbackColor_extraInitializers), __runInitializers(this, _fallbackBackground_initializers, ''));
56
+ this.imageElement = (__runInitializers(this, _fallbackBackground_extraInitializers), __runInitializers(this, _imageElement_initializers, void 0));
57
+ this.fallbackElement = (__runInitializers(this, _imageElement_extraInitializers), __runInitializers(this, _fallbackElement_initializers, void 0));
58
+ this.imageError = (__runInitializers(this, _fallbackElement_extraInitializers), false);
59
+ }
60
+ static {
61
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
62
+ _src_decorators = [property({ reflect: true })];
63
+ _alt_decorators = [property({ reflect: true })];
64
+ _name_decorators = [property({ reflect: true })];
65
+ _size_decorators = [property({ reflect: true })];
66
+ _shape_decorators = [property({ reflect: true })];
67
+ _fallbackColor_decorators = [property({ attribute: 'fallback-color', reflect: true })];
68
+ _fallbackBackground_decorators = [property({ attribute: 'fallback-background', reflect: true })];
69
+ _imageElement_decorators = [query('.avatar-image')];
70
+ _fallbackElement_decorators = [query('.avatar-fallback')];
71
+ _renderImageSection_decorators = [watch('src'), part('image-section')];
72
+ _renderFallbackSection_decorators = [watch('name'), part('fallback-section')];
73
+ _init_decorators = [ready()];
74
+ _handleImageLoad_decorators = [on('load', '.avatar-image')];
75
+ _handleImageError_decorators = [on('error', '.avatar-image')];
76
+ __esDecorate(this, null, _renderImageSection_decorators, { kind: "method", name: "renderImageSection", static: false, private: false, access: { has: obj => "renderImageSection" in obj, get: obj => obj.renderImageSection }, metadata: _metadata }, null, _instanceExtraInitializers);
77
+ __esDecorate(this, null, _renderFallbackSection_decorators, { kind: "method", name: "renderFallbackSection", static: false, private: false, access: { has: obj => "renderFallbackSection" in obj, get: obj => obj.renderFallbackSection }, metadata: _metadata }, null, _instanceExtraInitializers);
78
+ __esDecorate(this, null, _init_decorators, { kind: "method", name: "init", static: false, private: false, access: { has: obj => "init" in obj, get: obj => obj.init }, metadata: _metadata }, null, _instanceExtraInitializers);
79
+ __esDecorate(this, null, _handleImageLoad_decorators, { kind: "method", name: "handleImageLoad", static: false, private: false, access: { has: obj => "handleImageLoad" in obj, get: obj => obj.handleImageLoad }, metadata: _metadata }, null, _instanceExtraInitializers);
80
+ __esDecorate(this, null, _handleImageError_decorators, { kind: "method", name: "handleImageError", static: false, private: false, access: { has: obj => "handleImageError" in obj, get: obj => obj.handleImageError }, metadata: _metadata }, null, _instanceExtraInitializers);
81
+ __esDecorate(null, null, _src_decorators, { kind: "field", name: "src", static: false, private: false, access: { has: obj => "src" in obj, get: obj => obj.src, set: (obj, value) => { obj.src = value; } }, metadata: _metadata }, _src_initializers, _src_extraInitializers);
82
+ __esDecorate(null, null, _alt_decorators, { kind: "field", name: "alt", static: false, private: false, access: { has: obj => "alt" in obj, get: obj => obj.alt, set: (obj, value) => { obj.alt = value; } }, metadata: _metadata }, _alt_initializers, _alt_extraInitializers);
83
+ __esDecorate(null, null, _name_decorators, { kind: "field", name: "name", static: false, private: false, access: { has: obj => "name" in obj, get: obj => obj.name, set: (obj, value) => { obj.name = value; } }, metadata: _metadata }, _name_initializers, _name_extraInitializers);
84
+ __esDecorate(null, null, _size_decorators, { kind: "field", name: "size", static: false, private: false, access: { has: obj => "size" in obj, get: obj => obj.size, set: (obj, value) => { obj.size = value; } }, metadata: _metadata }, _size_initializers, _size_extraInitializers);
85
+ __esDecorate(null, null, _shape_decorators, { kind: "field", name: "shape", static: false, private: false, access: { has: obj => "shape" in obj, get: obj => obj.shape, set: (obj, value) => { obj.shape = value; } }, metadata: _metadata }, _shape_initializers, _shape_extraInitializers);
86
+ __esDecorate(null, null, _fallbackColor_decorators, { kind: "field", name: "fallbackColor", static: false, private: false, access: { has: obj => "fallbackColor" in obj, get: obj => obj.fallbackColor, set: (obj, value) => { obj.fallbackColor = value; } }, metadata: _metadata }, _fallbackColor_initializers, _fallbackColor_extraInitializers);
87
+ __esDecorate(null, null, _fallbackBackground_decorators, { kind: "field", name: "fallbackBackground", static: false, private: false, access: { has: obj => "fallbackBackground" in obj, get: obj => obj.fallbackBackground, set: (obj, value) => { obj.fallbackBackground = value; } }, metadata: _metadata }, _fallbackBackground_initializers, _fallbackBackground_extraInitializers);
88
+ __esDecorate(null, null, _imageElement_decorators, { kind: "field", name: "imageElement", static: false, private: false, access: { has: obj => "imageElement" in obj, get: obj => obj.imageElement, set: (obj, value) => { obj.imageElement = value; } }, metadata: _metadata }, _imageElement_initializers, _imageElement_extraInitializers);
89
+ __esDecorate(null, null, _fallbackElement_decorators, { kind: "field", name: "fallbackElement", static: false, private: false, access: { has: obj => "fallbackElement" in obj, get: obj => obj.fallbackElement, set: (obj, value) => { obj.fallbackElement = value; } }, metadata: _metadata }, _fallbackElement_initializers, _fallbackElement_extraInitializers);
90
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
91
+ _classThis = _classDescriptor.value;
92
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
93
+ __runInitializers(_classThis, _classExtraInitializers);
94
+ }
95
+ html() {
96
+ const colorClass = this.fallbackBackground ? '' : this.getColorClass(this.name);
97
+ const bgStyle = this.fallbackBackground ? `style="--avatar-bg: ${this.fallbackBackground}; --avatar-color: ${this.fallbackColor}"` : '';
98
+ return /*html*/ `
99
+ <div class="avatar ${colorClass}" ${bgStyle}>
100
+ <div part="image-section"></div>
101
+ <div part="fallback-section"></div>
102
+ </div>
103
+ `;
104
+ }
105
+ renderImageSection() {
106
+ return this.src ? /*html*/ `
107
+ <img class="avatar-image ${this.imageError ? 'avatar-image--error' : ''}"
108
+ src="${this.src}"
109
+ alt="${this.alt || this.name}"
110
+ loading="lazy">
111
+ ` : '';
112
+ }
113
+ renderFallbackSection() {
114
+ const initials = this.getInitials(this.name);
115
+ return /*html*/ `
116
+ <div class="avatar-fallback ${!this.src || this.imageError ? 'avatar-fallback--visible' : ''}">
117
+ ${initials || this.renderIcon()}
118
+ </div>
119
+ `;
120
+ }
121
+ css() {
122
+ return css;
123
+ }
124
+ init() {
125
+ this.setupImageHandlers();
126
+ }
127
+ setupImageHandlers() {
128
+ if (this.imageElement) {
129
+ this.imageElement.addEventListener('load', this.handleImageLoad.bind(this));
130
+ this.imageElement.addEventListener('error', this.handleImageError.bind(this));
131
+ }
132
+ }
133
+ handleImageLoad() {
134
+ this.imageError = false;
135
+ this.renderImageSection();
136
+ this.renderFallbackSection();
137
+ }
138
+ handleImageError() {
139
+ this.imageError = true;
140
+ this.renderImageSection();
141
+ this.renderFallbackSection();
142
+ }
143
+ getInitials(name) {
144
+ if (!name)
145
+ return '';
146
+ const words = name.trim().split(/\s+/);
147
+ if (words.length === 1) {
148
+ return words[0].substring(0, 2).toUpperCase();
149
+ }
150
+ return (words[0][0] + words[words.length - 1][0]).toUpperCase();
151
+ }
152
+ getColorClass(name) {
153
+ if (!name)
154
+ return '';
155
+ const colors = [
156
+ 'red', 'orange', 'yellow', 'lime', 'green',
157
+ 'teal', 'cyan', 'sky', 'blue', 'indigo',
158
+ 'violet', 'purple', 'fuchsia', 'pink', 'rose'
159
+ ];
160
+ // Hash the name to get a consistent index
161
+ let hash = 0;
162
+ for (let i = 0; i < name.length; i++) {
163
+ hash = name.charCodeAt(i) + ((hash << 5) - hash);
164
+ }
165
+ const colorIndex = Math.abs(hash) % colors.length;
166
+ return `avatar--${colors[colorIndex]}`;
167
+ }
168
+ renderIcon() {
169
+ return /*html*/ `
170
+ <svg class="avatar-icon" viewBox="0 0 24 24" fill="currentColor">
171
+ <path d="M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z"/>
172
+ </svg>
173
+ `;
174
+ }
175
+ });
176
+ return _classThis;
177
+ })();
178
+
179
+ export { SniceAvatar };
180
+ //# sourceMappingURL=snice-avatar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"snice-avatar.js","sources":["../../../components/avatar/snice-avatar.css?inline","../../../../components/avatar/snice-avatar.ts"],"sourcesContent":["export default \":host {\\n display: inline-block;\\n --avatar-size: 2.5rem; /* 40px */\\n --avatar-bg: #6b7280;\\n --avatar-color: #ffffff;\\n}\\n\\n.avatar {\\n position: relative;\\n width: var(--avatar-size);\\n height: var(--avatar-size);\\n overflow: hidden;\\n background: var(--avatar-bg);\\n color: var(--avatar-color);\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n font-weight: 600;\\n user-select: none;\\n}\\n\\n/* Shapes */\\n:host([shape=\\\"circle\\\"]) .avatar {\\n border-radius: 50%;\\n}\\n\\n:host([shape=\\\"square\\\"]) .avatar {\\n border-radius: 0;\\n}\\n\\n:host([shape=\\\"rounded\\\"]) .avatar {\\n border-radius: 8px;\\n}\\n\\n/* Sizes */\\n:host([size=\\\"xs\\\"]) {\\n --avatar-size: 1.5rem; /* 24px */\\n font-size: 0.625rem; /* 10px */\\n}\\n\\n:host([size=\\\"small\\\"]) {\\n --avatar-size: 2rem; /* 32px */\\n font-size: 0.75rem; /* 12px */\\n}\\n\\n:host([size=\\\"medium\\\"]) {\\n --avatar-size: 2.5rem; /* 40px */\\n font-size: 0.875rem; /* 14px */\\n}\\n\\n:host([size=\\\"large\\\"]) {\\n --avatar-size: 3rem; /* 48px */\\n font-size: 1rem; /* 16px */\\n}\\n\\n:host([size=\\\"xl\\\"]) {\\n --avatar-size: 4rem; /* 64px */\\n font-size: 1.25rem; /* 20px */\\n}\\n\\n:host([size=\\\"xxl\\\"]) {\\n --avatar-size: 6rem; /* 96px */\\n font-size: 2rem; /* 32px */\\n}\\n\\n/* Image */\\n.avatar-image {\\n width: 100%;\\n height: 100%;\\n object-fit: cover;\\n display: block;\\n}\\n\\n.avatar-image--error {\\n display: none;\\n}\\n\\n/* Fallback */\\n.avatar-fallback {\\n position: absolute;\\n inset: 0;\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n opacity: 0;\\n visibility: hidden;\\n transition: opacity 0.2s ease;\\n}\\n\\n.avatar-fallback--visible {\\n opacity: 1;\\n visibility: visible;\\n}\\n\\n.avatar-icon {\\n width: 60%;\\n height: 60%;\\n opacity: 0.9;\\n}\\n\\n/* Avatar color classes for fallback backgrounds */\\n.avatar--red { background: rgb(var(--avatar-color-red, 239 68 68)); }\\n.avatar--orange { background: rgb(var(--avatar-color-orange, 251 146 60)); }\\n.avatar--yellow { background: rgb(var(--avatar-color-yellow, 234 179 8)); }\\n.avatar--lime { background: rgb(var(--avatar-color-lime, 163 230 53)); }\\n.avatar--green { background: rgb(var(--avatar-color-green, 34 197 94)); }\\n.avatar--teal { background: rgb(var(--avatar-color-teal, 20 184 166)); }\\n.avatar--cyan { background: rgb(var(--avatar-color-cyan, 6 182 212)); }\\n.avatar--sky { background: rgb(var(--avatar-color-sky, 14 165 233)); }\\n.avatar--blue { background: rgb(var(--avatar-color-blue, 59 130 246)); }\\n.avatar--indigo { background: rgb(var(--avatar-color-indigo, 99 102 241)); }\\n.avatar--violet { background: rgb(var(--avatar-color-violet, 139 92 246)); }\\n.avatar--purple { background: rgb(var(--avatar-color-purple, 168 85 247)); }\\n.avatar--fuchsia { background: rgb(var(--avatar-color-fuchsia, 217 70 239)); }\\n.avatar--pink { background: rgb(var(--avatar-color-pink, 236 72 153)); }\\n.avatar--rose { background: rgb(var(--avatar-color-rose, 244 63 94)); }\\n\\n/* Group avatar support */\\n:host(.avatar-group-item) {\\n margin-left: -0.5rem; /* -8px */\\n border: 2px solid white; /* Keep px for crisp borders */\\n border-radius: 50%;\\n}\\n\\n:host(.avatar-group-item:first-child) {\\n margin-left: 0;\\n}\\n\\n:host(.avatar-group-item) .avatar {\\n border: 2px solid white;\\n}\";",null],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ export type AvatarSize = 'xs' | 'small' | 'medium' | 'large' | 'xl' | 'xxl';
2
+ export type AvatarShape = 'circle' | 'square' | 'rounded';
3
+ export interface SniceAvatarElement extends HTMLElement {
4
+ src: string;
5
+ alt: string;
6
+ name: string;
7
+ size: AvatarSize;
8
+ shape: AvatarShape;
9
+ fallbackColor: string;
10
+ fallbackBackground: string;
11
+ getInitials(name: string): string;
12
+ }
@@ -0,0 +1,25 @@
1
+ import type { BadgeVariant, BadgePosition, BadgeSize, SniceBadgeElement } from './snice-badge.types';
2
+ export declare class SniceBadge extends HTMLElement implements SniceBadgeElement {
3
+ content: string;
4
+ count: number;
5
+ max: number;
6
+ dot: boolean;
7
+ variant: BadgeVariant;
8
+ position: BadgePosition;
9
+ inline: boolean;
10
+ size: BadgeSize;
11
+ pulse: boolean;
12
+ offset: number;
13
+ badgeElement?: HTMLElement;
14
+ html(): string;
15
+ renderBadgeSection(): string;
16
+ css(): string;
17
+ private getDisplayContent;
18
+ private shouldShowBadge;
19
+ init(): void;
20
+ updateOffset(): void;
21
+ setBadgeContent(content: string): void;
22
+ setBadgeCount(count: number): void;
23
+ showDot(): void;
24
+ hide(): void;
25
+ }