snice 2.5.4 → 3.2.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 (411) hide show
  1. package/README.md +537 -869
  2. package/bin/templates/base/src/components/counter-button.ts +13 -26
  3. package/bin/templates/base/src/controllers/counter-controller.ts +3 -3
  4. package/dist/components/accordion/snice-accordion-item.d.ts +4 -5
  5. package/dist/components/accordion/snice-accordion-item.js +37 -39
  6. package/dist/components/accordion/snice-accordion-item.js.map +1 -1
  7. package/dist/components/accordion/snice-accordion.d.ts +5 -11
  8. package/dist/components/accordion/snice-accordion.js +51 -52
  9. package/dist/components/accordion/snice-accordion.js.map +1 -1
  10. package/dist/components/alert/snice-alert.d.ts +2 -6
  11. package/dist/components/alert/snice-alert.js +41 -56
  12. package/dist/components/alert/snice-alert.js.map +1 -1
  13. package/dist/components/avatar/snice-avatar.d.ts +2 -6
  14. package/dist/components/avatar/snice-avatar.js +64 -71
  15. package/dist/components/avatar/snice-avatar.js.map +1 -1
  16. package/dist/components/badge/snice-badge.d.ts +2 -3
  17. package/dist/components/badge/snice-badge.js +22 -23
  18. package/dist/components/badge/snice-badge.js.map +1 -1
  19. package/dist/components/banner/snice-banner.d.ts +22 -0
  20. package/dist/components/banner/snice-banner.js +180 -0
  21. package/dist/components/banner/snice-banner.js.map +1 -0
  22. package/dist/components/banner/snice-banner.types.d.ts +14 -0
  23. package/dist/components/breadcrumbs/snice-breadcrumbs.d.ts +5 -12
  24. package/dist/components/breadcrumbs/snice-breadcrumbs.js +88 -89
  25. package/dist/components/breadcrumbs/snice-breadcrumbs.js.map +1 -1
  26. package/dist/components/button/snice-button.d.ts +3 -7
  27. package/dist/components/button/snice-button.js +37 -58
  28. package/dist/components/button/snice-button.js.map +1 -1
  29. package/dist/components/card/snice-card.d.ts +5 -8
  30. package/dist/components/card/snice-card.js +71 -56
  31. package/dist/components/card/snice-card.js.map +1 -1
  32. package/dist/components/checkbox/snice-checkbox.d.ts +4 -13
  33. package/dist/components/checkbox/snice-checkbox.js +66 -137
  34. package/dist/components/checkbox/snice-checkbox.js.map +1 -1
  35. package/dist/components/chip/snice-chip.d.ts +5 -11
  36. package/dist/components/chip/snice-chip.js +44 -47
  37. package/dist/components/chip/snice-chip.js.map +1 -1
  38. package/dist/components/color-display/snice-color-display.d.ts +14 -0
  39. package/dist/components/color-display/snice-color-display.js +151 -0
  40. package/dist/components/color-display/snice-color-display.js.map +1 -0
  41. package/dist/components/color-display/snice-color-display.types.d.ts +10 -0
  42. package/dist/components/color-picker/snice-color-picker.d.ts +50 -0
  43. package/dist/components/color-picker/snice-color-picker.js +489 -0
  44. package/dist/components/color-picker/snice-color-picker.js.map +1 -0
  45. package/dist/components/color-picker/snice-color-picker.types.d.ts +19 -0
  46. package/dist/components/date-picker/snice-date-picker.d.ts +11 -11
  47. package/dist/components/date-picker/snice-date-picker.js +134 -133
  48. package/dist/components/date-picker/snice-date-picker.js.map +1 -1
  49. package/dist/components/divider/snice-divider.d.ts +2 -4
  50. package/dist/components/divider/snice-divider.js +14 -22
  51. package/dist/components/divider/snice-divider.js.map +1 -1
  52. package/dist/components/drawer/snice-drawer.d.ts +4 -4
  53. package/dist/components/drawer/snice-drawer.js +25 -19
  54. package/dist/components/drawer/snice-drawer.js.map +1 -1
  55. package/dist/components/empty-state/snice-empty-state.d.ts +13 -0
  56. package/dist/components/empty-state/snice-empty-state.js +121 -0
  57. package/dist/components/empty-state/snice-empty-state.js.map +1 -0
  58. package/dist/components/empty-state/snice-empty-state.types.d.ts +9 -0
  59. package/dist/components/file-upload/snice-file-upload.d.ts +45 -0
  60. package/dist/components/file-upload/snice-file-upload.js +394 -0
  61. package/dist/components/file-upload/snice-file-upload.js.map +1 -0
  62. package/dist/components/file-upload/snice-file-upload.types.d.ts +22 -0
  63. package/dist/components/image/snice-image.d.ts +22 -0
  64. package/dist/components/image/snice-image.js +201 -0
  65. package/dist/components/image/snice-image.js.map +1 -0
  66. package/dist/components/image/snice-image.types.d.ts +17 -0
  67. package/dist/components/input/snice-input.d.ts +8 -6
  68. package/dist/components/input/snice-input.js +122 -105
  69. package/dist/components/input/snice-input.js.map +1 -1
  70. package/dist/components/kpi/snice-kpi.d.ts +16 -0
  71. package/dist/components/kpi/snice-kpi.js +162 -0
  72. package/dist/components/kpi/snice-kpi.js.map +1 -0
  73. package/dist/components/kpi/snice-kpi.types.d.ts +12 -0
  74. package/dist/components/layout/snice-layout-blog.d.ts +4 -4
  75. package/dist/components/layout/snice-layout-blog.js +21 -19
  76. package/dist/components/layout/snice-layout-blog.js.map +1 -1
  77. package/dist/components/layout/snice-layout-card.d.ts +2 -2
  78. package/dist/components/layout/snice-layout-card.js +16 -9
  79. package/dist/components/layout/snice-layout-card.js.map +1 -1
  80. package/dist/components/layout/snice-layout-centered.d.ts +2 -2
  81. package/dist/components/layout/snice-layout-centered.js +14 -7
  82. package/dist/components/layout/snice-layout-centered.js.map +1 -1
  83. package/dist/components/layout/snice-layout-dashboard.d.ts +5 -5
  84. package/dist/components/layout/snice-layout-dashboard.js +38 -30
  85. package/dist/components/layout/snice-layout-dashboard.js.map +1 -1
  86. package/dist/components/layout/snice-layout-fullscreen.d.ts +2 -2
  87. package/dist/components/layout/snice-layout-fullscreen.js +17 -10
  88. package/dist/components/layout/snice-layout-fullscreen.js.map +1 -1
  89. package/dist/components/layout/snice-layout-landing.d.ts +4 -4
  90. package/dist/components/layout/snice-layout-landing.js +21 -19
  91. package/dist/components/layout/snice-layout-landing.js.map +1 -1
  92. package/dist/components/layout/snice-layout-minimal.d.ts +2 -2
  93. package/dist/components/layout/snice-layout-minimal.js +17 -6
  94. package/dist/components/layout/snice-layout-minimal.js.map +1 -1
  95. package/dist/components/layout/snice-layout-sidebar.d.ts +5 -4
  96. package/dist/components/layout/snice-layout-sidebar.js +42 -20
  97. package/dist/components/layout/snice-layout-sidebar.js.map +1 -1
  98. package/dist/components/layout/snice-layout-split.d.ts +2 -2
  99. package/dist/components/layout/snice-layout-split.js +14 -7
  100. package/dist/components/layout/snice-layout-split.js.map +1 -1
  101. package/dist/components/layout/snice-layout.d.ts +4 -4
  102. package/dist/components/layout/snice-layout.js +16 -10
  103. package/dist/components/layout/snice-layout.js.map +1 -1
  104. package/dist/components/link/snice-link.d.ts +13 -0
  105. package/dist/components/link/snice-link.js +137 -0
  106. package/dist/components/link/snice-link.js.map +1 -0
  107. package/dist/components/link/snice-link.types.d.ts +11 -0
  108. package/dist/components/login/snice-login.d.ts +6 -11
  109. package/dist/components/login/snice-login.js +97 -71
  110. package/dist/components/login/snice-login.js.map +1 -1
  111. package/dist/components/modal/snice-modal.d.ts +5 -9
  112. package/dist/components/modal/snice-modal.js +47 -78
  113. package/dist/components/modal/snice-modal.js.map +1 -1
  114. package/dist/components/nav/snice-nav.d.ts +13 -7
  115. package/dist/components/nav/snice-nav.js +191 -100
  116. package/dist/components/nav/snice-nav.js.map +1 -1
  117. package/dist/components/nav/snice-nav.types.d.ts +3 -3
  118. package/dist/components/pagination/snice-pagination.d.ts +6 -7
  119. package/dist/components/pagination/snice-pagination.js +94 -81
  120. package/dist/components/pagination/snice-pagination.js.map +1 -1
  121. package/dist/components/progress/snice-progress.d.ts +2 -7
  122. package/dist/components/progress/snice-progress.js +41 -98
  123. package/dist/components/progress/snice-progress.js.map +1 -1
  124. package/dist/components/radio/snice-radio.d.ts +4 -4
  125. package/dist/components/radio/snice-radio.js +52 -44
  126. package/dist/components/radio/snice-radio.js.map +1 -1
  127. package/dist/components/select/snice-option.d.ts +2 -1
  128. package/dist/components/select/snice-option.js +12 -5
  129. package/dist/components/select/snice-option.js.map +1 -1
  130. package/dist/components/select/snice-select.d.ts +9 -21
  131. package/dist/components/select/snice-select.js +98 -170
  132. package/dist/components/select/snice-select.js.map +1 -1
  133. package/dist/components/skeleton/snice-skeleton.d.ts +2 -6
  134. package/dist/components/skeleton/snice-skeleton.js +18 -49
  135. package/dist/components/skeleton/snice-skeleton.js.map +1 -1
  136. package/dist/components/slider/snice-slider.d.ts +53 -0
  137. package/dist/components/slider/snice-slider.js +479 -0
  138. package/dist/components/slider/snice-slider.js.map +1 -0
  139. package/dist/components/slider/snice-slider.types.d.ts +26 -0
  140. package/dist/components/snice-cell-C0slgOpe.js +4 -0
  141. package/dist/components/snice-cell-C0slgOpe.js.map +1 -0
  142. package/dist/components/sparkline/snice-sparkline.d.ts +21 -0
  143. package/dist/components/sparkline/snice-sparkline.js +228 -0
  144. package/dist/components/sparkline/snice-sparkline.js.map +1 -0
  145. package/dist/components/sparkline/snice-sparkline.types.d.ts +16 -0
  146. package/dist/components/spinner/snice-spinner.d.ts +10 -0
  147. package/dist/components/spinner/snice-spinner.js +109 -0
  148. package/dist/components/spinner/snice-spinner.js.map +1 -0
  149. package/dist/components/spinner/snice-spinner.types.d.ts +8 -0
  150. package/dist/components/stepper/snice-stepper-panel.d.ts +8 -0
  151. package/dist/components/stepper/snice-stepper-panel.js +70 -0
  152. package/dist/components/stepper/snice-stepper-panel.js.map +1 -0
  153. package/dist/components/stepper/snice-stepper-panel.types.d.ts +4 -0
  154. package/dist/components/stepper/snice-stepper.d.ts +15 -0
  155. package/dist/components/stepper/snice-stepper.js +163 -0
  156. package/dist/components/stepper/snice-stepper.js.map +1 -0
  157. package/dist/components/stepper/snice-stepper.types.d.ts +13 -0
  158. package/dist/components/switch/snice-switch.d.ts +2 -2
  159. package/dist/components/switch/snice-switch.js +38 -26
  160. package/dist/components/switch/snice-switch.js.map +1 -1
  161. package/dist/components/table/snice-cell-actions.d.ts +24 -0
  162. package/dist/components/table/snice-cell-actions.js +149 -0
  163. package/dist/components/table/snice-cell-actions.js.map +1 -0
  164. package/dist/components/table/snice-cell-boolean.d.ts +2 -2
  165. package/dist/components/table/snice-cell-boolean.js +13 -7
  166. package/dist/components/table/snice-cell-boolean.js.map +1 -1
  167. package/dist/components/table/snice-cell-color.d.ts +18 -0
  168. package/dist/components/table/snice-cell-color.js +149 -0
  169. package/dist/components/table/snice-cell-color.js.map +1 -0
  170. package/dist/components/table/snice-cell-currency.d.ts +24 -0
  171. package/dist/components/table/snice-cell-currency.js +235 -0
  172. package/dist/components/table/snice-cell-currency.js.map +1 -0
  173. package/dist/components/table/snice-cell-date.d.ts +2 -2
  174. package/dist/components/table/snice-cell-date.js +14 -8
  175. package/dist/components/table/snice-cell-date.js.map +1 -1
  176. package/dist/components/table/snice-cell-duration.d.ts +2 -2
  177. package/dist/components/table/snice-cell-duration.js +12 -6
  178. package/dist/components/table/snice-cell-duration.js.map +1 -1
  179. package/dist/components/table/snice-cell-email.d.ts +15 -0
  180. package/dist/components/table/snice-cell-email.js +125 -0
  181. package/dist/components/table/snice-cell-email.js.map +1 -0
  182. package/dist/components/table/snice-cell-filesize.d.ts +2 -2
  183. package/dist/components/table/snice-cell-filesize.js +12 -6
  184. package/dist/components/table/snice-cell-filesize.js.map +1 -1
  185. package/dist/components/table/snice-cell-image.d.ts +20 -0
  186. package/dist/components/table/snice-cell-image.js +162 -0
  187. package/dist/components/table/snice-cell-image.js.map +1 -0
  188. package/dist/components/table/snice-cell-json.d.ts +20 -0
  189. package/dist/components/table/snice-cell-json.js +186 -0
  190. package/dist/components/table/snice-cell-json.js.map +1 -0
  191. package/dist/components/table/snice-cell-link.d.ts +17 -0
  192. package/dist/components/table/snice-cell-link.js +142 -0
  193. package/dist/components/table/snice-cell-link.js.map +1 -0
  194. package/dist/components/table/snice-cell-location.d.ts +19 -0
  195. package/dist/components/table/snice-cell-location.js +185 -0
  196. package/dist/components/table/snice-cell-location.js.map +1 -0
  197. package/dist/components/table/snice-cell-number.d.ts +2 -2
  198. package/dist/components/table/snice-cell-number.js +12 -6
  199. package/dist/components/table/snice-cell-number.js.map +1 -1
  200. package/dist/components/table/snice-cell-percentage.d.ts +22 -0
  201. package/dist/components/table/snice-cell-percentage.js +208 -0
  202. package/dist/components/table/snice-cell-percentage.js.map +1 -0
  203. package/dist/components/table/snice-cell-phone.d.ts +18 -0
  204. package/dist/components/table/snice-cell-phone.js +153 -0
  205. package/dist/components/table/snice-cell-phone.js.map +1 -0
  206. package/dist/components/table/snice-cell-progress.d.ts +2 -2
  207. package/dist/components/table/snice-cell-progress.js +12 -6
  208. package/dist/components/table/snice-cell-progress.js.map +1 -1
  209. package/dist/components/table/snice-cell-rating.d.ts +2 -2
  210. package/dist/components/table/snice-cell-rating.js +12 -6
  211. package/dist/components/table/snice-cell-rating.js.map +1 -1
  212. package/dist/components/table/snice-cell-sparkline.d.ts +2 -2
  213. package/dist/components/table/snice-cell-sparkline.js +13 -7
  214. package/dist/components/table/snice-cell-sparkline.js.map +1 -1
  215. package/dist/components/table/snice-cell-status.d.ts +17 -0
  216. package/dist/components/table/snice-cell-status.js +144 -0
  217. package/dist/components/table/snice-cell-status.js.map +1 -0
  218. package/dist/components/table/snice-cell-tag.d.ts +16 -0
  219. package/dist/components/table/snice-cell-tag.js +131 -0
  220. package/dist/components/table/snice-cell-tag.js.map +1 -0
  221. package/dist/components/table/snice-cell-text.d.ts +2 -2
  222. package/dist/components/table/snice-cell-text.js +14 -8
  223. package/dist/components/table/snice-cell-text.js.map +1 -1
  224. package/dist/components/table/snice-cell.d.ts +2 -2
  225. package/dist/components/table/snice-cell.js +12 -6
  226. package/dist/components/table/snice-cell.js.map +1 -1
  227. package/dist/components/table/snice-column.d.ts +1 -1
  228. package/dist/components/table/snice-column.js +6 -3
  229. package/dist/components/table/snice-column.js.map +1 -1
  230. package/dist/components/table/snice-header.d.ts +5 -5
  231. package/dist/components/table/snice-header.js +60 -50
  232. package/dist/components/table/snice-header.js.map +1 -1
  233. package/dist/components/table/snice-progress.d.ts +2 -2
  234. package/dist/components/table/snice-progress.js +18 -11
  235. package/dist/components/table/snice-progress.js.map +1 -1
  236. package/dist/components/table/snice-rating.d.ts +2 -2
  237. package/dist/components/table/snice-rating.js +15 -8
  238. package/dist/components/table/snice-rating.js.map +1 -1
  239. package/dist/components/table/snice-row.d.ts +17 -6
  240. package/dist/components/table/snice-row.js +95 -44
  241. package/dist/components/table/snice-row.js.map +1 -1
  242. package/dist/components/table/snice-table.d.ts +18 -10
  243. package/dist/components/table/snice-table.js +355 -173
  244. package/dist/components/table/snice-table.js.map +1 -1
  245. package/dist/components/table/snice-table.types.d.ts +101 -2
  246. package/dist/components/tabs/snice-tab-panel.d.ts +2 -2
  247. package/dist/components/tabs/snice-tab-panel.js +12 -6
  248. package/dist/components/tabs/snice-tab-panel.js.map +1 -1
  249. package/dist/components/tabs/snice-tab.d.ts +6 -5
  250. package/dist/components/tabs/snice-tab.js +36 -19
  251. package/dist/components/tabs/snice-tab.js.map +1 -1
  252. package/dist/components/tabs/snice-tabs.d.ts +5 -5
  253. package/dist/components/tabs/snice-tabs.js +38 -28
  254. package/dist/components/tabs/snice-tabs.js.map +1 -1
  255. package/dist/components/textarea/snice-textarea.d.ts +52 -0
  256. package/dist/components/textarea/snice-textarea.js +407 -0
  257. package/dist/components/textarea/snice-textarea.js.map +1 -0
  258. package/dist/components/textarea/snice-textarea.types.d.ts +30 -0
  259. package/dist/components/timeline/snice-timeline.d.ts +11 -0
  260. package/dist/components/timeline/snice-timeline.js +112 -0
  261. package/dist/components/timeline/snice-timeline.js.map +1 -0
  262. package/dist/components/timeline/snice-timeline.types.d.ts +16 -0
  263. package/dist/components/toast/snice-toast-container.d.ts +7 -7
  264. package/dist/components/toast/snice-toast-container.js +19 -12
  265. package/dist/components/toast/snice-toast-container.js.map +1 -1
  266. package/dist/components/toast/snice-toast.d.ts +3 -15
  267. package/dist/components/toast/snice-toast.js +49 -108
  268. package/dist/components/toast/snice-toast.js.map +1 -1
  269. package/dist/components/tooltip/snice-tooltip.d.ts +2 -2
  270. package/dist/components/tooltip/snice-tooltip.js +15 -8
  271. package/dist/components/tooltip/snice-tooltip.js.map +1 -1
  272. package/dist/context.d.ts +44 -0
  273. package/dist/element-ready.d.ts +40 -0
  274. package/dist/{types/element.d.ts → element.d.ts} +2 -8
  275. package/dist/{types/events.d.ts → events.d.ts} +0 -4
  276. package/dist/index.cjs +2556 -605
  277. package/dist/index.cjs.map +1 -1
  278. package/dist/index.d.ts +21 -0
  279. package/dist/index.esm.js +2535 -604
  280. package/dist/index.esm.js.map +1 -1
  281. package/dist/index.iife.js +2556 -605
  282. package/dist/index.iife.js.map +1 -1
  283. package/dist/method-decorators.d.ts +121 -0
  284. package/dist/on.d.ts +59 -0
  285. package/dist/parts.d.ts +156 -0
  286. package/dist/render-debug.d.ts +27 -0
  287. package/dist/render-tracker.d.ts +14 -0
  288. package/dist/render.d.ts +96 -0
  289. package/dist/symbols.cjs +163 -0
  290. package/dist/symbols.cjs.map +1 -1
  291. package/dist/{types/symbols.d.ts → symbols.d.ts} +22 -0
  292. package/dist/symbols.esm.js +27 -3
  293. package/dist/symbols.esm.js.map +1 -1
  294. package/dist/template.d.ts +99 -0
  295. package/dist/transitions.cjs +219 -0
  296. package/dist/transitions.esm.js +2 -2
  297. package/dist/types/context.d.ts +48 -0
  298. package/dist/types/element-options.d.ts +26 -0
  299. package/dist/types/index.d.ts +25 -9
  300. package/dist/types/nav-context.d.ts +19 -0
  301. package/dist/types/{types/on-options.d.ts → on-options.d.ts} +2 -0
  302. package/dist/types/{types/placard.d.ts → placard.d.ts} +0 -1
  303. package/docs/ai/README.md +26 -0
  304. package/docs/ai/api.md +175 -0
  305. package/docs/ai/architecture.md +160 -0
  306. package/docs/ai/components/accordion.md +174 -0
  307. package/docs/ai/components/alert.md +77 -0
  308. package/docs/ai/components/avatar.md +61 -0
  309. package/docs/ai/components/badge.md +69 -0
  310. package/docs/ai/components/banner.md +84 -0
  311. package/docs/ai/components/breadcrumbs.md +74 -0
  312. package/docs/ai/components/button.md +75 -0
  313. package/docs/ai/components/card.md +61 -0
  314. package/docs/ai/components/checkbox.md +74 -0
  315. package/docs/ai/components/chip.md +73 -0
  316. package/docs/ai/components/color-display.md +48 -0
  317. package/docs/ai/components/color-picker.md +75 -0
  318. package/docs/ai/components/date-picker.md +75 -0
  319. package/docs/ai/components/divider.md +66 -0
  320. package/docs/ai/components/drawer.md +80 -0
  321. package/docs/ai/components/empty-state.md +72 -0
  322. package/docs/ai/components/file-upload.md +93 -0
  323. package/docs/ai/components/image.md +60 -0
  324. package/docs/ai/components/input.md +111 -0
  325. package/docs/ai/components/kpi.md +158 -0
  326. package/docs/ai/components/link.md +77 -0
  327. package/docs/ai/components/login.md +109 -0
  328. package/docs/ai/components/modal.md +67 -0
  329. package/docs/ai/components/nav.md +76 -0
  330. package/docs/ai/components/pagination.md +55 -0
  331. package/docs/ai/components/progress.md +72 -0
  332. package/docs/ai/components/radio.md +79 -0
  333. package/docs/ai/components/select.md +92 -0
  334. package/docs/ai/components/skeleton.md +57 -0
  335. package/docs/ai/components/slider.md +87 -0
  336. package/docs/ai/components/sparkline.md +168 -0
  337. package/docs/ai/components/spinner.md +47 -0
  338. package/docs/ai/components/stepper.md +216 -0
  339. package/docs/ai/components/switch.md +53 -0
  340. package/docs/ai/components/table.md +227 -0
  341. package/docs/ai/components/tabs.md +83 -0
  342. package/docs/ai/components/textarea.md +87 -0
  343. package/docs/ai/components/timeline.md +77 -0
  344. package/docs/ai/components/toast.md +140 -0
  345. package/docs/ai/components/tooltip.md +146 -0
  346. package/docs/ai/patterns.md +244 -0
  347. package/docs/components/accordion.md +558 -0
  348. package/docs/components/banner.md +106 -0
  349. package/docs/components/color-display.md +96 -0
  350. package/docs/components/color-picker.md +81 -0
  351. package/docs/components/drawer.md +602 -0
  352. package/docs/components/empty-state.md +79 -0
  353. package/docs/components/file-upload.md +263 -0
  354. package/docs/components/image.md +110 -0
  355. package/docs/components/kpi.md +251 -0
  356. package/docs/components/link.md +229 -0
  357. package/docs/components/modal.md +558 -0
  358. package/docs/components/nav.md +239 -0
  359. package/docs/components/pagination.md +289 -0
  360. package/docs/components/select.md +599 -0
  361. package/docs/components/slider.md +297 -0
  362. package/docs/components/sparkline.md +293 -0
  363. package/docs/components/spinner.md +63 -0
  364. package/docs/components/stepper.md +410 -0
  365. package/docs/components/switch.md +354 -0
  366. package/docs/components/tabs.md +546 -0
  367. package/docs/components/textarea.md +235 -0
  368. package/docs/components/timeline.md +192 -0
  369. package/docs/components/toast.md +506 -0
  370. package/docs/components/tooltip.md +523 -0
  371. package/docs/controllers.md +744 -0
  372. package/docs/elements.md +855 -0
  373. package/docs/events.md +807 -0
  374. package/docs/migration-v2-to-v3.md +569 -0
  375. package/docs/observe.md +588 -0
  376. package/docs/placards.md +401 -0
  377. package/docs/request-response.md +852 -0
  378. package/docs/routing.md +1186 -0
  379. package/package.json +11 -11
  380. package/dist/components/snice-cell-C9N6yGxQ.js +0 -4
  381. package/dist/components/snice-cell-C9N6yGxQ.js.map +0 -1
  382. package/dist/types/types/index.d.ts +0 -23
  383. /package/dist/{types/controller.d.ts → controller.d.ts} +0 -0
  384. /package/dist/{types/global.d.ts → global.d.ts} +0 -0
  385. /package/dist/{types/observe.d.ts → observe.d.ts} +0 -0
  386. /package/dist/{types/request-response.d.ts → request-response.d.ts} +0 -0
  387. /package/dist/{types/router.d.ts → router.d.ts} +0 -0
  388. /package/dist/{types/testing.d.ts → testing.d.ts} +0 -0
  389. /package/dist/{types/transitions.d.ts → transitions.d.ts} +0 -0
  390. /package/dist/types/{types/adopted-options.d.ts → adopted-options.d.ts} +0 -0
  391. /package/dist/types/{types/app-context.d.ts → app-context.d.ts} +0 -0
  392. /package/dist/types/{types/dispatch-options.d.ts → dispatch-options.d.ts} +0 -0
  393. /package/dist/types/{types/guard.d.ts → guard.d.ts} +0 -0
  394. /package/dist/types/{types/i-controller.d.ts → i-controller.d.ts} +0 -0
  395. /package/dist/types/{types/moved-options.d.ts → moved-options.d.ts} +0 -0
  396. /package/dist/types/{types/observe-options.d.ts → observe-options.d.ts} +0 -0
  397. /package/dist/types/{types/page-options.d.ts → page-options.d.ts} +0 -0
  398. /package/dist/types/{types/part-options.d.ts → part-options.d.ts} +0 -0
  399. /package/dist/types/{types/property-converter.d.ts → property-converter.d.ts} +0 -0
  400. /package/dist/types/{types/property-options.d.ts → property-options.d.ts} +0 -0
  401. /package/dist/types/{types/query-options.d.ts → query-options.d.ts} +0 -0
  402. /package/dist/types/{types/request-options.d.ts → request-options.d.ts} +0 -0
  403. /package/dist/types/{types/respond-options.d.ts → respond-options.d.ts} +0 -0
  404. /package/dist/types/{types/route-params.d.ts → route-params.d.ts} +0 -0
  405. /package/dist/types/{types/router-instance.d.ts → router-instance.d.ts} +0 -0
  406. /package/dist/types/{types/router-options.d.ts → router-options.d.ts} +0 -0
  407. /package/dist/types/{types/simple-array.d.ts → simple-array.d.ts} +0 -0
  408. /package/dist/types/{types/snice-element.d.ts → snice-element.d.ts} +0 -0
  409. /package/dist/types/{types/snice-global.d.ts → snice-global.d.ts} +0 -0
  410. /package/dist/types/{types/transition.d.ts → transition.d.ts} +0 -0
  411. /package/dist/{types/utils.d.ts → utils.d.ts} +0 -0
@@ -1,7 +1,7 @@
1
1
  import { __esDecorate, __runInitializers } from 'tslib';
2
- import { element, property, query, ready, on, watch, dispatch } from 'snice';
2
+ import { element, property, query, render, styles, html, css } from 'snice';
3
3
 
4
- var css = ":host {\n display: inline-block;\n font-family: var(--snice-font-family);\n}\n\n.checkbox-wrapper {\n display: inline-flex;\n align-items: center;\n position: relative;\n cursor: pointer;\n user-select: none;\n}\n\n.checkbox-wrapper--disabled {\n cursor: not-allowed;\n opacity: 0.6;\n}\n\n/* Hide native checkbox */\n.checkbox-input {\n position: absolute;\n opacity: 0;\n width: 0;\n height: 0;\n}\n\n/* Custom checkbox */\n.checkbox {\n position: relative;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n background: var(--snice-color-background);\n border: 2px solid var(--snice-color-border);\n border-radius: var(--snice-border-radius-sm);\n transition: all var(--snice-transition-fast) ease;\n}\n\n/* Size variants */\n.checkbox--small {\n width: 1rem; /* 16px */\n height: 1rem; /* 16px */\n}\n\n.checkbox--medium {\n width: 1.25rem; /* 20px */\n height: 1.25rem; /* 20px */\n}\n\n.checkbox--large {\n width: 1.5rem; /* 24px */\n height: 1.5rem; /* 24px */\n}\n\n/* States */\n.checkbox-input:checked ~ .checkbox {\n background: var(--snice-color-primary);\n border-color: var(--snice-color-primary);\n}\n\n.checkbox-input:focus-visible ~ .checkbox {\n box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);\n}\n\n.checkbox-input:disabled ~ .checkbox {\n background: var(--snice-color-background-secondary);\n border-color: var(--snice-color-border);\n}\n\n.checkbox-input:disabled:checked ~ .checkbox {\n background: var(--snice-color-text-secondary);\n border-color: var(--snice-color-text-secondary);\n}\n\n/* Invalid state */\n.checkbox--invalid {\n border-color: var(--snice-color-danger);\n}\n\n.checkbox-input:checked ~ .checkbox--invalid {\n background: var(--snice-color-danger);\n border-color: var(--snice-color-danger);\n}\n\n/* Checkmark */\n.checkbox-icon {\n position: absolute;\n display: none;\n color: white;\n}\n\n.checkbox-input:checked ~ .checkbox .checkbox-icon--check {\n display: block;\n}\n\n.checkbox--indeterminate .checkbox-icon--check {\n display: none !important;\n}\n\n.checkbox--indeterminate .checkbox-icon--indeterminate {\n display: block !important;\n}\n\n/* Icon sizes */\n.checkbox--small .checkbox-icon {\n width: 0.75rem; /* 12px */\n height: 0.75rem; /* 12px */\n}\n\n.checkbox--medium .checkbox-icon {\n width: 0.875rem; /* 14px */\n height: 0.875rem; /* 14px */\n}\n\n.checkbox--large .checkbox-icon {\n width: 1.125rem; /* 18px */\n height: 1.125rem; /* 18px */\n}\n\n/* Label */\n.checkbox-label {\n margin-left: 0.5rem; /* 8px */\n color: var(--snice-color-text);\n cursor: pointer;\n}\n\n.checkbox-label--small {\n font-size: var(--snice-font-size-sm);\n}\n\n.checkbox-label--medium {\n font-size: var(--snice-font-size-md);\n}\n\n.checkbox-label--large {\n font-size: var(--snice-font-size-lg);\n}\n\n.checkbox-wrapper--disabled .checkbox-label {\n color: var(--snice-color-text-secondary);\n cursor: not-allowed;\n}\n\n/* Required indicator */\n.checkbox-label--required::after {\n content: ' *';\n color: var(--snice-color-danger);\n}\n\n/* Focus ring for keyboard navigation */\n.checkbox-input:focus-visible ~ .checkbox {\n outline: 2px solid var(--snice-color-primary);\n outline-offset: 2px;\n}\n\n/* Hover effect */\n.checkbox-wrapper:not(.checkbox-wrapper--disabled):hover .checkbox {\n border-color: var(--snice-color-primary);\n}\n\n.checkbox-wrapper:not(.checkbox-wrapper--disabled):hover .checkbox-input:checked ~ .checkbox {\n background: var(--snice-color-primary-hover);\n border-color: var(--snice-color-primary-hover);\n}";
4
+ var cssContent = ":host{display:inline-block;font-family:var(--snice-font-family)}.checkbox-wrapper{display:inline-flex;align-items:center;position:relative;cursor:pointer;user-select:none;min-height:1.25rem}.checkbox-wrapper--disabled{cursor:not-allowed;opacity:.6}.checkbox-input{position:absolute;opacity:0;left:0;top:0;width:100%;height:100%;margin:0;cursor:pointer;z-index:1;pointer-events:all}.checkbox{position:relative;display:inline-flex;align-items:center;justify-content:center;background:var(--snice-color-background);border:2px solid var(--snice-color-border);border-radius:var(--snice-border-radius-sm);transition:all var(--snice-transition-fast) ease}.checkbox--small{width:1rem;height:1rem}.checkbox--medium{width:1.25rem;height:1.25rem}.checkbox--large{width:1.5rem;height:1.5rem}.checkbox-input:checked~.checkbox{background:var(--snice-color-primary);border-color:var(--snice-color-primary)}.checkbox-input:focus-visible~.checkbox{box-shadow:0 0 0 3px rgba(59,130,246,.1);outline:2px solid var(--snice-color-primary);outline-offset:2px}.checkbox-input:disabled~.checkbox{background:var(--snice-color-background-secondary);border-color:var(--snice-color-border)}.checkbox-input:disabled:checked~.checkbox{background:var(--snice-color-text-secondary);border-color:var(--snice-color-text-secondary)}.checkbox--invalid{border-color:var(--snice-color-danger)}.checkbox-input:checked~.checkbox--invalid{background:var(--snice-color-danger);border-color:var(--snice-color-danger)}.checkbox-icon{position:absolute;display:none;color:#fff}.checkbox-input:checked~.checkbox .checkbox-icon--check{display:block}.checkbox--indeterminate .checkbox-icon--check{display:none!important}.checkbox--indeterminate .checkbox-icon--indeterminate{display:block!important}.checkbox--small .checkbox-icon{width:.75rem;height:.75rem}.checkbox--medium .checkbox-icon{width:.875rem;height:.875rem}.checkbox--large .checkbox-icon{width:1.125rem;height:1.125rem}.checkbox-label{margin-left:.5rem;color:var(--snice-color-text);cursor:pointer}.checkbox-label--small{font-size:var(--snice-font-size-sm)}.checkbox-label--medium{font-size:var(--snice-font-size-md)}.checkbox-label--large{font-size:var(--snice-font-size-lg)}.checkbox-wrapper--disabled .checkbox-label{color:var(--snice-color-text-secondary);cursor:not-allowed}.checkbox-label--required::after{content:' *';color:var(--snice-color-danger)}.checkbox-wrapper:not(.checkbox-wrapper--disabled):hover .checkbox{border-color:var(--snice-color-primary)}.checkbox-wrapper:not(.checkbox-wrapper--disabled):hover .checkbox-input:checked~.checkbox{background:var(--snice-color-primary-hover);border-color:var(--snice-color-primary-hover)}";
5
5
 
6
6
  let SniceCheckbox = (() => {
7
7
  let _classDecorators = [element('snice-checkbox')];
@@ -49,16 +49,8 @@ let SniceCheckbox = (() => {
49
49
  let _wrapper_decorators;
50
50
  let _wrapper_initializers = [];
51
51
  let _wrapper_extraInitializers = [];
52
- let _init_decorators;
53
- let _handleChange_decorators;
54
- let _handleClick_decorators;
55
- let _handleCheckedChange_decorators;
56
- let _handleIndeterminateChange_decorators;
57
- let _handleDisabledChange_decorators;
58
- let _handleInvalidChange_decorators;
59
- let _handleRequiredChange_decorators;
60
- let _handleLabelChange_decorators;
61
- let _dispatchChangeEvent_decorators;
52
+ let _renderContent_decorators;
53
+ let _componentStyles_decorators;
62
54
  (class extends _classSuper {
63
55
  static { _classThis = this; }
64
56
  static {
@@ -76,26 +68,10 @@ let SniceCheckbox = (() => {
76
68
  _checkbox_decorators = [query('.checkbox')];
77
69
  _labelElement_decorators = [query('.checkbox-label')];
78
70
  _wrapper_decorators = [query('.checkbox-wrapper')];
79
- _init_decorators = [ready()];
80
- _handleChange_decorators = [on('change', '.checkbox-input')];
81
- _handleClick_decorators = [on('click', '.checkbox-input')];
82
- _handleCheckedChange_decorators = [watch('checked')];
83
- _handleIndeterminateChange_decorators = [watch('indeterminate')];
84
- _handleDisabledChange_decorators = [watch('disabled')];
85
- _handleInvalidChange_decorators = [watch('invalid')];
86
- _handleRequiredChange_decorators = [watch('required')];
87
- _handleLabelChange_decorators = [watch('label')];
88
- _dispatchChangeEvent_decorators = [dispatch('@snice/checkbox-change', { bubbles: true, composed: true })];
89
- __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);
90
- __esDecorate(this, null, _handleChange_decorators, { kind: "method", name: "handleChange", static: false, private: false, access: { has: obj => "handleChange" in obj, get: obj => obj.handleChange }, metadata: _metadata }, null, _instanceExtraInitializers);
91
- __esDecorate(this, null, _handleClick_decorators, { kind: "method", name: "handleClick", static: false, private: false, access: { has: obj => "handleClick" in obj, get: obj => obj.handleClick }, metadata: _metadata }, null, _instanceExtraInitializers);
92
- __esDecorate(this, null, _handleCheckedChange_decorators, { kind: "method", name: "handleCheckedChange", static: false, private: false, access: { has: obj => "handleCheckedChange" in obj, get: obj => obj.handleCheckedChange }, metadata: _metadata }, null, _instanceExtraInitializers);
93
- __esDecorate(this, null, _handleIndeterminateChange_decorators, { kind: "method", name: "handleIndeterminateChange", static: false, private: false, access: { has: obj => "handleIndeterminateChange" in obj, get: obj => obj.handleIndeterminateChange }, metadata: _metadata }, null, _instanceExtraInitializers);
94
- __esDecorate(this, null, _handleDisabledChange_decorators, { kind: "method", name: "handleDisabledChange", static: false, private: false, access: { has: obj => "handleDisabledChange" in obj, get: obj => obj.handleDisabledChange }, metadata: _metadata }, null, _instanceExtraInitializers);
95
- __esDecorate(this, null, _handleInvalidChange_decorators, { kind: "method", name: "handleInvalidChange", static: false, private: false, access: { has: obj => "handleInvalidChange" in obj, get: obj => obj.handleInvalidChange }, metadata: _metadata }, null, _instanceExtraInitializers);
96
- __esDecorate(this, null, _handleRequiredChange_decorators, { kind: "method", name: "handleRequiredChange", static: false, private: false, access: { has: obj => "handleRequiredChange" in obj, get: obj => obj.handleRequiredChange }, metadata: _metadata }, null, _instanceExtraInitializers);
97
- __esDecorate(this, null, _handleLabelChange_decorators, { kind: "method", name: "handleLabelChange", static: false, private: false, access: { has: obj => "handleLabelChange" in obj, get: obj => obj.handleLabelChange }, metadata: _metadata }, null, _instanceExtraInitializers);
98
- __esDecorate(this, null, _dispatchChangeEvent_decorators, { kind: "method", name: "dispatchChangeEvent", static: false, private: false, access: { has: obj => "dispatchChangeEvent" in obj, get: obj => obj.dispatchChangeEvent }, metadata: _metadata }, null, _instanceExtraInitializers);
71
+ _renderContent_decorators = [render()];
72
+ _componentStyles_decorators = [styles()];
73
+ __esDecorate(this, null, _renderContent_decorators, { kind: "method", name: "renderContent", static: false, private: false, access: { has: obj => "renderContent" in obj, get: obj => obj.renderContent }, metadata: _metadata }, null, _instanceExtraInitializers);
74
+ __esDecorate(this, null, _componentStyles_decorators, { kind: "method", name: "componentStyles", static: false, private: false, access: { has: obj => "componentStyles" in obj, get: obj => obj.componentStyles }, metadata: _metadata }, null, _instanceExtraInitializers);
99
75
  __esDecorate(null, null, _checked_decorators, { kind: "field", name: "checked", static: false, private: false, access: { has: obj => "checked" in obj, get: obj => obj.checked, set: (obj, value) => { obj.checked = value; } }, metadata: _metadata }, _checked_initializers, _checked_extraInitializers);
100
76
  __esDecorate(null, null, _indeterminate_decorators, { kind: "field", name: "indeterminate", static: false, private: false, access: { has: obj => "indeterminate" in obj, get: obj => obj.indeterminate, set: (obj, value) => { obj.indeterminate = value; } }, metadata: _metadata }, _indeterminate_initializers, _indeterminate_extraInitializers);
101
77
  __esDecorate(null, null, _disabled_decorators, { kind: "field", name: "disabled", static: false, private: false, access: { has: obj => "disabled" in obj, get: obj => obj.disabled, set: (obj, value) => { obj.disabled = value; } }, metadata: _metadata }, _disabled_initializers, _disabled_extraInitializers);
@@ -114,132 +90,69 @@ let SniceCheckbox = (() => {
114
90
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
115
91
  __runInitializers(_classThis, _classExtraInitializers);
116
92
  }
117
- html() {
118
- return /*html*/ `
119
- <label class="checkbox-wrapper ${this.disabled ? 'checkbox-wrapper--disabled' : ''}">
93
+ connectedCallback() {
94
+ this.addEventListener('click', (e) => {
95
+ if (!this.disabled && e.target === this)
96
+ this.input?.click();
97
+ });
98
+ }
99
+ renderContent() {
100
+ const wrapperClasses = `checkbox-wrapper${this.disabled ? ' checkbox-wrapper--disabled' : ''}`;
101
+ const checkboxClasses = `checkbox checkbox--${this.size}${this.invalid ? ' checkbox--invalid' : ''}${this.indeterminate ? ' checkbox--indeterminate' : ''}`;
102
+ const labelClasses = `checkbox-label checkbox-label--${this.size}${this.required ? ' checkbox-label--required' : ''}`;
103
+ return html /*html*/ `
104
+ <label class="${wrapperClasses}" @change="${(e) => this.handleInternalChange(e)}">
120
105
  <input
121
106
  type="checkbox"
122
107
  class="checkbox-input"
123
- ${this.checked ? 'checked' : ''}
124
- ${this.disabled ? 'disabled' : ''}
125
- ${this.required ? 'required' : ''}
126
- ${this.name ? `name="${this.name}"` : ''}
127
- ${this.value ? `value="${this.value}"` : ''}
108
+ ?checked="${this.checked}"
109
+ ?disabled="${this.disabled}"
110
+ ?required="${this.required}"
111
+ name="${this.name}"
112
+ value="${this.value}"
128
113
  aria-invalid="${this.invalid}"
129
114
  aria-checked="${this.indeterminate ? 'mixed' : this.checked}"
130
115
  part="input"
131
116
  />
132
-
133
- <span class="checkbox
134
- checkbox--${this.size}
135
- ${this.invalid ? 'checkbox--invalid' : ''}
136
- ${this.indeterminate ? 'checkbox--indeterminate' : ''}"
137
- part="checkbox">
138
-
117
+
118
+ <span class="${checkboxClasses}" part="checkbox">
139
119
  <svg class="checkbox-icon checkbox-icon--check" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3">
140
120
  <polyline points="20 6 9 17 4 12"></polyline>
141
121
  </svg>
142
-
122
+
143
123
  <svg class="checkbox-icon checkbox-icon--indeterminate" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3">
144
124
  <line x1="5" y1="12" x2="19" y2="12"></line>
145
125
  </svg>
146
126
  </span>
147
-
148
- ${this.label ? /*html*/ `
149
- <span class="checkbox-label checkbox-label--${this.size} ${this.required ? 'checkbox-label--required' : ''}" part="label">
127
+
128
+ <if ${this.label}>
129
+ <span class="${labelClasses}" part="label">
150
130
  ${this.label}
151
131
  </span>
152
- ` : ''}
132
+ </if>
153
133
  </label>
154
134
  `;
155
135
  }
156
- css() {
157
- return css;
158
- }
159
- init() {
160
- // Set initial states
161
- if (this.input) {
162
- this.input.checked = this.checked;
163
- this.input.indeterminate = this.indeterminate;
164
- // Set form value
165
- if (this.name) {
166
- this.input.name = this.name;
167
- }
168
- if (this.value) {
169
- this.input.value = this.value;
170
- }
171
- }
172
- // Update visual state
173
- this.updateCheckboxState();
174
- }
175
- handleChange(e) {
176
- const target = e.target;
136
+ handleInternalChange(event) {
137
+ const target = event.target;
138
+ // Only handle change events from the checkbox input
139
+ if (target.type !== 'checkbox')
140
+ return;
177
141
  this.checked = target.checked;
178
142
  this.indeterminate = false; // Clear indeterminate on user interaction
179
- this.dispatchChangeEvent();
180
- }
181
- handleClick(e) {
182
- // Allow click to propagate for label association
183
- e.stopPropagation();
184
- }
185
- handleCheckedChange() {
186
- if (this.input) {
187
- this.input.checked = this.checked;
188
- }
189
- this.updateCheckboxState();
190
- }
191
- handleIndeterminateChange() {
192
- if (this.input) {
193
- this.input.indeterminate = this.indeterminate;
194
- }
195
- this.updateCheckboxState();
196
- }
197
- handleDisabledChange() {
198
- if (this.input) {
199
- this.input.disabled = this.disabled;
200
- }
201
- if (this.wrapper) {
202
- this.wrapper.classList.toggle('checkbox-wrapper--disabled', this.disabled);
203
- }
204
- }
205
- handleInvalidChange() {
206
- if (this.input) {
207
- this.input.setAttribute('aria-invalid', String(this.invalid));
208
- }
209
- if (this.checkbox) {
210
- this.checkbox.classList.toggle('checkbox--invalid', this.invalid);
211
- }
212
- }
213
- handleRequiredChange() {
214
- if (this.input) {
215
- this.input.required = this.required;
216
- }
217
- if (this.labelElement) {
218
- this.labelElement.classList.toggle('checkbox-label--required', this.required);
219
- }
220
- }
221
- handleLabelChange() {
222
- if (this.labelElement) {
223
- this.labelElement.textContent = this.label;
224
- this.labelElement.style.display = this.label ? '' : 'none';
225
- }
226
- }
227
- updateCheckboxState() {
228
- if (this.checkbox) {
229
- // Update indeterminate state
230
- this.checkbox.classList.toggle('checkbox--indeterminate', this.indeterminate);
231
- // Update aria-checked
232
- if (this.input) {
233
- this.input.setAttribute('aria-checked', this.indeterminate ? 'mixed' : String(this.checked));
143
+ // Dispatch custom event
144
+ this.dispatchEvent(new CustomEvent('@snice/change', {
145
+ bubbles: true,
146
+ composed: true,
147
+ detail: {
148
+ checked: this.checked,
149
+ indeterminate: this.indeterminate,
150
+ checkbox: this
234
151
  }
235
- }
152
+ }));
236
153
  }
237
- dispatchChangeEvent() {
238
- return {
239
- checked: this.checked,
240
- indeterminate: this.indeterminate,
241
- checkbox: this
242
- };
154
+ componentStyles() {
155
+ return css /*css*/ `${cssContent}`;
243
156
  }
244
157
  // Public API
245
158
  focus() {
@@ -254,12 +167,28 @@ let SniceCheckbox = (() => {
254
167
  toggle() {
255
168
  this.checked = !this.checked;
256
169
  this.indeterminate = false;
257
- this.dispatchChangeEvent();
170
+ this.dispatchEvent(new CustomEvent('@snice/change', {
171
+ bubbles: true,
172
+ composed: true,
173
+ detail: {
174
+ checked: this.checked,
175
+ indeterminate: this.indeterminate,
176
+ checkbox: this
177
+ }
178
+ }));
258
179
  }
259
180
  setIndeterminate() {
260
181
  this.indeterminate = true;
261
182
  this.checked = false;
262
- this.dispatchChangeEvent();
183
+ this.dispatchEvent(new CustomEvent('@snice/change', {
184
+ bubbles: true,
185
+ composed: true,
186
+ detail: {
187
+ checked: this.checked,
188
+ indeterminate: this.indeterminate,
189
+ checkbox: this
190
+ }
191
+ }));
263
192
  }
264
193
  constructor() {
265
194
  super(...arguments);
@@ -1 +1 @@
1
- {"version":3,"file":"snice-checkbox.js","sources":["../../../components/checkbox/snice-checkbox.css?inline","../../../../components/checkbox/snice-checkbox.ts"],"sourcesContent":["export default \":host {\\n display: inline-block;\\n font-family: var(--snice-font-family);\\n}\\n\\n.checkbox-wrapper {\\n display: inline-flex;\\n align-items: center;\\n position: relative;\\n cursor: pointer;\\n user-select: none;\\n}\\n\\n.checkbox-wrapper--disabled {\\n cursor: not-allowed;\\n opacity: 0.6;\\n}\\n\\n/* Hide native checkbox */\\n.checkbox-input {\\n position: absolute;\\n opacity: 0;\\n width: 0;\\n height: 0;\\n}\\n\\n/* Custom checkbox */\\n.checkbox {\\n position: relative;\\n display: inline-flex;\\n align-items: center;\\n justify-content: center;\\n background: var(--snice-color-background);\\n border: 2px solid var(--snice-color-border);\\n border-radius: var(--snice-border-radius-sm);\\n transition: all var(--snice-transition-fast) ease;\\n}\\n\\n/* Size variants */\\n.checkbox--small {\\n width: 1rem; /* 16px */\\n height: 1rem; /* 16px */\\n}\\n\\n.checkbox--medium {\\n width: 1.25rem; /* 20px */\\n height: 1.25rem; /* 20px */\\n}\\n\\n.checkbox--large {\\n width: 1.5rem; /* 24px */\\n height: 1.5rem; /* 24px */\\n}\\n\\n/* States */\\n.checkbox-input:checked ~ .checkbox {\\n background: var(--snice-color-primary);\\n border-color: var(--snice-color-primary);\\n}\\n\\n.checkbox-input:focus-visible ~ .checkbox {\\n box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);\\n}\\n\\n.checkbox-input:disabled ~ .checkbox {\\n background: var(--snice-color-background-secondary);\\n border-color: var(--snice-color-border);\\n}\\n\\n.checkbox-input:disabled:checked ~ .checkbox {\\n background: var(--snice-color-text-secondary);\\n border-color: var(--snice-color-text-secondary);\\n}\\n\\n/* Invalid state */\\n.checkbox--invalid {\\n border-color: var(--snice-color-danger);\\n}\\n\\n.checkbox-input:checked ~ .checkbox--invalid {\\n background: var(--snice-color-danger);\\n border-color: var(--snice-color-danger);\\n}\\n\\n/* Checkmark */\\n.checkbox-icon {\\n position: absolute;\\n display: none;\\n color: white;\\n}\\n\\n.checkbox-input:checked ~ .checkbox .checkbox-icon--check {\\n display: block;\\n}\\n\\n.checkbox--indeterminate .checkbox-icon--check {\\n display: none !important;\\n}\\n\\n.checkbox--indeterminate .checkbox-icon--indeterminate {\\n display: block !important;\\n}\\n\\n/* Icon sizes */\\n.checkbox--small .checkbox-icon {\\n width: 0.75rem; /* 12px */\\n height: 0.75rem; /* 12px */\\n}\\n\\n.checkbox--medium .checkbox-icon {\\n width: 0.875rem; /* 14px */\\n height: 0.875rem; /* 14px */\\n}\\n\\n.checkbox--large .checkbox-icon {\\n width: 1.125rem; /* 18px */\\n height: 1.125rem; /* 18px */\\n}\\n\\n/* Label */\\n.checkbox-label {\\n margin-left: 0.5rem; /* 8px */\\n color: var(--snice-color-text);\\n cursor: pointer;\\n}\\n\\n.checkbox-label--small {\\n font-size: var(--snice-font-size-sm);\\n}\\n\\n.checkbox-label--medium {\\n font-size: var(--snice-font-size-md);\\n}\\n\\n.checkbox-label--large {\\n font-size: var(--snice-font-size-lg);\\n}\\n\\n.checkbox-wrapper--disabled .checkbox-label {\\n color: var(--snice-color-text-secondary);\\n cursor: not-allowed;\\n}\\n\\n/* Required indicator */\\n.checkbox-label--required::after {\\n content: ' *';\\n color: var(--snice-color-danger);\\n}\\n\\n/* Focus ring for keyboard navigation */\\n.checkbox-input:focus-visible ~ .checkbox {\\n outline: 2px solid var(--snice-color-primary);\\n outline-offset: 2px;\\n}\\n\\n/* Hover effect */\\n.checkbox-wrapper:not(.checkbox-wrapper--disabled):hover .checkbox {\\n border-color: var(--snice-color-primary);\\n}\\n\\n.checkbox-wrapper:not(.checkbox-wrapper--disabled):hover .checkbox-input:checked ~ .checkbox {\\n background: var(--snice-color-primary-hover);\\n border-color: var(--snice-color-primary-hover);\\n}\";",null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"snice-checkbox.js","sources":["../../../components/checkbox/snice-checkbox.css?inline","../../../../components/checkbox/snice-checkbox.ts"],"sourcesContent":["export default \":host{display:inline-block;font-family:var(--snice-font-family)}.checkbox-wrapper{display:inline-flex;align-items:center;position:relative;cursor:pointer;user-select:none;min-height:1.25rem}.checkbox-wrapper--disabled{cursor:not-allowed;opacity:.6}.checkbox-input{position:absolute;opacity:0;left:0;top:0;width:100%;height:100%;margin:0;cursor:pointer;z-index:1;pointer-events:all}.checkbox{position:relative;display:inline-flex;align-items:center;justify-content:center;background:var(--snice-color-background);border:2px solid var(--snice-color-border);border-radius:var(--snice-border-radius-sm);transition:all var(--snice-transition-fast) ease}.checkbox--small{width:1rem;height:1rem}.checkbox--medium{width:1.25rem;height:1.25rem}.checkbox--large{width:1.5rem;height:1.5rem}.checkbox-input:checked~.checkbox{background:var(--snice-color-primary);border-color:var(--snice-color-primary)}.checkbox-input:focus-visible~.checkbox{box-shadow:0 0 0 3px rgba(59,130,246,.1);outline:2px solid var(--snice-color-primary);outline-offset:2px}.checkbox-input:disabled~.checkbox{background:var(--snice-color-background-secondary);border-color:var(--snice-color-border)}.checkbox-input:disabled:checked~.checkbox{background:var(--snice-color-text-secondary);border-color:var(--snice-color-text-secondary)}.checkbox--invalid{border-color:var(--snice-color-danger)}.checkbox-input:checked~.checkbox--invalid{background:var(--snice-color-danger);border-color:var(--snice-color-danger)}.checkbox-icon{position:absolute;display:none;color:#fff}.checkbox-input:checked~.checkbox .checkbox-icon--check{display:block}.checkbox--indeterminate .checkbox-icon--check{display:none!important}.checkbox--indeterminate .checkbox-icon--indeterminate{display:block!important}.checkbox--small .checkbox-icon{width:.75rem;height:.75rem}.checkbox--medium .checkbox-icon{width:.875rem;height:.875rem}.checkbox--large .checkbox-icon{width:1.125rem;height:1.125rem}.checkbox-label{margin-left:.5rem;color:var(--snice-color-text);cursor:pointer}.checkbox-label--small{font-size:var(--snice-font-size-sm)}.checkbox-label--medium{font-size:var(--snice-font-size-md)}.checkbox-label--large{font-size:var(--snice-font-size-lg)}.checkbox-wrapper--disabled .checkbox-label{color:var(--snice-color-text-secondary);cursor:not-allowed}.checkbox-label--required::after{content:' *';color:var(--snice-color-danger)}.checkbox-wrapper:not(.checkbox-wrapper--disabled):hover .checkbox{border-color:var(--snice-color-primary)}.checkbox-wrapper:not(.checkbox-wrapper--disabled):hover .checkbox-input:checked~.checkbox{background:var(--snice-color-primary-hover);border-color:var(--snice-color-primary-hover)}\";",null],"names":[],"mappings":"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"}
@@ -10,17 +10,11 @@ export declare class SniceChip extends HTMLElement implements SniceChipElement {
10
10
  avatar: string;
11
11
  chipElement?: HTMLElement;
12
12
  removeButton?: HTMLButtonElement;
13
- html(): string;
14
- css(): string;
15
- handleClick(event: MouseEvent): {
16
- label: string;
17
- selected: boolean;
18
- } | undefined;
19
- handleRemove(event: MouseEvent): {
20
- label: string;
21
- } | undefined;
22
- handleKeyPress(event: KeyboardEvent): void;
23
- handleDelete(event: KeyboardEvent): void;
13
+ renderContent(): import("snice").TemplateResult;
14
+ componentStyles(): import("snice").CSSResult;
15
+ private handleChipClick;
16
+ private handleRemoveClick;
17
+ private handleKeydown;
24
18
  updateSelected(): void;
25
19
  updateDisabled(): void;
26
20
  private dispatchChipClick;
@@ -1,7 +1,7 @@
1
1
  import { __esDecorate, __runInitializers } from 'tslib';
2
- import { element, property, query, on, dispatch, watch } from 'snice';
2
+ import { element, property, query, render, styles, watch, dispatch, html, css } from 'snice';
3
3
 
4
- var css = ":host {\n display: inline-block;\n --chip-height: 2rem; /* 32px */\n --chip-padding: 0 0.75rem; /* 0 12px */\n --chip-font-size: 0.875rem; /* 14px */\n --chip-border-radius: 16px;\n}\n\n.chip {\n display: inline-flex;\n align-items: center;\n height: var(--chip-height);\n padding: var(--chip-padding);\n border-radius: var(--chip-border-radius);\n font-size: var(--chip-font-size);\n font-weight: 500;\n cursor: pointer;\n user-select: none;\n transition: box-shadow 0.2s ease, opacity 0.2s ease, transform 0.1s ease;\n position: relative;\n gap: 0.375rem; /* 6px */\n white-space: nowrap;\n outline: none;\n}\n\n.chip:focus-visible {\n box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.4);\n}\n\n.chip[aria-disabled=\"true\"] {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n/* Sizes */\n:host([size=\"small\"]) {\n --chip-height: 24px;\n --chip-padding: 0 8px;\n --chip-font-size: 12px;\n --chip-border-radius: 12px;\n}\n\n:host([size=\"large\"]) {\n --chip-height: 40px;\n --chip-padding: 0 16px;\n --chip-font-size: 16px;\n --chip-border-radius: 20px;\n}\n\n/* Variants */\n:host([variant=\"default\"]) .chip,\n:host(:not([variant])) .chip {\n background: #f3f4f6;\n color: #374151;\n}\n\n:host([variant=\"default\"]) .chip:hover:not([aria-disabled=\"true\"]):not(.chip--selected),\n:host(:not([variant])) .chip:hover:not([aria-disabled=\"true\"]):not(.chip--selected) {\n background: #e5e7eb;\n}\n\n:host([variant=\"default\"]) .chip--selected,\n:host(:not([variant])) .chip--selected {\n background: #374151;\n color: white;\n text-shadow: 0 0 3px rgba(0, 0, 0, 0.6), 0 1px 2px rgba(0, 0, 0, 0.4);\n}\n\n:host([variant=\"primary\"]) .chip {\n background: #dbeafe;\n color: #1e40af;\n}\n\n:host([variant=\"primary\"]) .chip:hover:not([aria-disabled=\"true\"]):not(.chip--selected) {\n background: #bfdbfe;\n}\n\n:host([variant=\"primary\"]) .chip--selected {\n background: #3b82f6;\n color: white;\n text-shadow: 0 0 3px rgba(0, 0, 0, 0.6), 0 1px 2px rgba(0, 0, 0, 0.4);\n}\n\n:host([variant=\"success\"]) .chip {\n background: #d1fae5;\n color: #065f46;\n}\n\n:host([variant=\"success\"]) .chip:hover:not([aria-disabled=\"true\"]):not(.chip--selected) {\n background: #a7f3d0;\n}\n\n:host([variant=\"success\"]) .chip--selected {\n background: #10b981;\n color: white;\n text-shadow: 0 0 3px rgba(0, 0, 0, 0.6), 0 1px 2px rgba(0, 0, 0, 0.4);\n}\n\n:host([variant=\"warning\"]) .chip {\n background: #fed7aa;\n color: #92400e;\n}\n\n:host([variant=\"warning\"]) .chip:hover:not([aria-disabled=\"true\"]):not(.chip--selected) {\n background: #fde68a;\n}\n\n:host([variant=\"warning\"]) .chip--selected {\n background: #f59e0b;\n color: white;\n text-shadow: 0 0 3px rgba(0, 0, 0, 0.6), 0 1px 2px rgba(0, 0, 0, 0.4);\n}\n\n:host([variant=\"error\"]) .chip {\n background: #fee2e2;\n color: #991b1b;\n}\n\n:host([variant=\"error\"]) .chip:hover:not([aria-disabled=\"true\"]):not(.chip--selected) {\n background: #fecaca;\n}\n\n:host([variant=\"error\"]) .chip--selected {\n background: #ef4444;\n color: white;\n text-shadow: 0 0 3px rgba(0, 0, 0, 0.6), 0 1px 2px rgba(0, 0, 0, 0.4);\n}\n\n:host([variant=\"info\"]) .chip {\n background: #e0e7ff;\n color: #3730a3;\n}\n\n:host([variant=\"info\"]) .chip:hover:not([aria-disabled=\"true\"]):not(.chip--selected) {\n background: #c7d2fe;\n}\n\n:host([variant=\"info\"]) .chip--selected {\n background: #6366f1;\n color: white;\n text-shadow: 0 0 3px rgba(0, 0, 0, 0.6), 0 1px 2px rgba(0, 0, 0, 0.4);\n}\n\n/* Avatar */\n.chip-avatar {\n width: calc(var(--chip-height) - 8px);\n height: calc(var(--chip-height) - 8px);\n border-radius: 50%;\n object-fit: cover;\n margin-left: -6px;\n}\n\n/* Icon */\n.chip-icon {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 18px;\n height: 18px;\n margin-left: -4px;\n}\n\n/* Label */\n.chip-label {\n flex: 1;\n line-height: 1;\n}\n\n/* Remove button */\n.chip-remove {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 18px;\n height: 18px;\n margin-right: -6px;\n margin-left: 4px;\n padding: 0;\n background: none;\n border: none;\n border-radius: 50%;\n cursor: pointer;\n opacity: 0.7;\n transition: opacity 0.2s ease;\n color: inherit;\n}\n\n.chip-remove:hover {\n opacity: 1;\n}\n\n.chip-remove svg {\n width: 12px;\n height: 12px;\n}";
4
+ var cssContent = ":host{display:inline-block;--chip-height:2rem;--chip-padding:0 0.75rem;--chip-font-size:0.875rem;--chip-border-radius:16px}.chip{display:inline-flex;align-items:center;height:var(--chip-height);padding:var(--chip-padding);border-radius:var(--chip-border-radius);font-size:var(--chip-font-size);font-weight:500;cursor:pointer;user-select:none;transition:box-shadow .2s,opacity .2s,transform .1s;position:relative;gap:.375rem;white-space:nowrap;outline:0}.chip:focus-visible{box-shadow:0 0 0 2px rgba(59,130,246,.4)}.chip[aria-disabled=true]{opacity:.5;cursor:not-allowed}:host([size=small]){--chip-height:24px;--chip-padding:0 8px;--chip-font-size:12px;--chip-border-radius:12px}:host([size=large]){--chip-height:40px;--chip-padding:0 16px;--chip-font-size:16px;--chip-border-radius:20px}:host(:not([variant])) .chip,:host([variant=default]) .chip{background:#f3f4f6;color:#374151}:host(:not([variant])) .chip:hover:not([aria-disabled=true]):not(.chip--selected),:host([variant=default]) .chip:hover:not([aria-disabled=true]):not(.chip--selected){background:#e5e7eb}:host(:not([variant])) .chip--selected,:host([variant=default]) .chip--selected{background:#374151;color:#fff;text-shadow:0 0 3px rgba(0,0,0,.6),0 1px 2px rgba(0,0,0,.4)}:host([variant=primary]) .chip{background:#dbeafe;color:#1e40af}:host([variant=primary]) .chip:hover:not([aria-disabled=true]):not(.chip--selected){background:#bfdbfe}:host([variant=primary]) .chip--selected{background:#3b82f6;color:#fff;text-shadow:0 0 3px rgba(0,0,0,.6),0 1px 2px rgba(0,0,0,.4)}:host([variant=success]) .chip{background:#d1fae5;color:#065f46}:host([variant=success]) .chip:hover:not([aria-disabled=true]):not(.chip--selected){background:#a7f3d0}:host([variant=success]) .chip--selected{background:#10b981;color:#fff;text-shadow:0 0 3px rgba(0,0,0,.6),0 1px 2px rgba(0,0,0,.4)}:host([variant=warning]) .chip{background:#fed7aa;color:#92400e}:host([variant=warning]) .chip:hover:not([aria-disabled=true]):not(.chip--selected){background:#fde68a}:host([variant=warning]) .chip--selected{background:#f59e0b;color:#fff;text-shadow:0 0 3px rgba(0,0,0,.6),0 1px 2px rgba(0,0,0,.4)}:host([variant=error]) .chip{background:#fee2e2;color:#991b1b}:host([variant=error]) .chip:hover:not([aria-disabled=true]):not(.chip--selected){background:#fecaca}:host([variant=error]) .chip--selected{background:#ef4444;color:#fff;text-shadow:0 0 3px rgba(0,0,0,.6),0 1px 2px rgba(0,0,0,.4)}:host([variant=info]) .chip{background:#e0e7ff;color:#3730a3}:host([variant=info]) .chip:hover:not([aria-disabled=true]):not(.chip--selected){background:#c7d2fe}:host([variant=info]) .chip--selected{background:#6366f1;color:#fff;text-shadow:0 0 3px rgba(0,0,0,.6),0 1px 2px rgba(0,0,0,.4)}.chip-avatar{width:calc(var(--chip-height) - 8px);height:calc(var(--chip-height) - 8px);border-radius:50%;object-fit:cover;margin-left:-6px}.chip-icon{display:flex;align-items:center;justify-content:center;width:18px;height:18px;margin-left:-4px}.chip-label{flex:1;line-height:1}.chip-remove{display:flex;align-items:center;justify-content:center;width:18px;height:18px;margin-right:-6px;margin-left:4px;padding:0;background:0 0;border:none;border-radius:50%;cursor:pointer;opacity:.7;transition:opacity .2s;color:inherit}.chip-remove:hover{opacity:1}.chip-remove svg{width:12px;height:12px}";
5
5
 
6
6
  let SniceChip = (() => {
7
7
  let _classDecorators = [element('snice-chip')];
@@ -40,10 +40,8 @@ let SniceChip = (() => {
40
40
  let _removeButton_decorators;
41
41
  let _removeButton_initializers = [];
42
42
  let _removeButton_extraInitializers = [];
43
- let _handleClick_decorators;
44
- let _handleRemove_decorators;
45
- let _handleKeyPress_decorators;
46
- let _handleDelete_decorators;
43
+ let _renderContent_decorators;
44
+ let _componentStyles_decorators;
47
45
  let _updateSelected_decorators;
48
46
  let _updateDisabled_decorators;
49
47
  let _dispatchChipClick_decorators;
@@ -62,18 +60,14 @@ let SniceChip = (() => {
62
60
  _avatar_decorators = [property({})];
63
61
  _chipElement_decorators = [query('.chip')];
64
62
  _removeButton_decorators = [query('.chip-remove')];
65
- _handleClick_decorators = [on('click', '.chip'), dispatch('chip-click')];
66
- _handleRemove_decorators = [on('click', '.chip-remove'), dispatch('chip-remove')];
67
- _handleKeyPress_decorators = [on(['keydown:Enter', 'keydown:Space'], '.chip')];
68
- _handleDelete_decorators = [on(['keydown:Delete', 'keydown:Backspace'], '.chip')];
63
+ _renderContent_decorators = [render()];
64
+ _componentStyles_decorators = [styles()];
69
65
  _updateSelected_decorators = [watch('selected')];
70
66
  _updateDisabled_decorators = [watch('disabled')];
71
67
  _dispatchChipClick_decorators = [dispatch('chip-click')];
72
68
  _dispatchChipRemove_decorators = [dispatch('chip-remove')];
73
- __esDecorate(this, null, _handleClick_decorators, { kind: "method", name: "handleClick", static: false, private: false, access: { has: obj => "handleClick" in obj, get: obj => obj.handleClick }, metadata: _metadata }, null, _instanceExtraInitializers);
74
- __esDecorate(this, null, _handleRemove_decorators, { kind: "method", name: "handleRemove", static: false, private: false, access: { has: obj => "handleRemove" in obj, get: obj => obj.handleRemove }, metadata: _metadata }, null, _instanceExtraInitializers);
75
- __esDecorate(this, null, _handleKeyPress_decorators, { kind: "method", name: "handleKeyPress", static: false, private: false, access: { has: obj => "handleKeyPress" in obj, get: obj => obj.handleKeyPress }, metadata: _metadata }, null, _instanceExtraInitializers);
76
- __esDecorate(this, null, _handleDelete_decorators, { kind: "method", name: "handleDelete", static: false, private: false, access: { has: obj => "handleDelete" in obj, get: obj => obj.handleDelete }, metadata: _metadata }, null, _instanceExtraInitializers);
69
+ __esDecorate(this, null, _renderContent_decorators, { kind: "method", name: "renderContent", static: false, private: false, access: { has: obj => "renderContent" in obj, get: obj => obj.renderContent }, metadata: _metadata }, null, _instanceExtraInitializers);
70
+ __esDecorate(this, null, _componentStyles_decorators, { kind: "method", name: "componentStyles", static: false, private: false, access: { has: obj => "componentStyles" in obj, get: obj => obj.componentStyles }, metadata: _metadata }, null, _instanceExtraInitializers);
77
71
  __esDecorate(this, null, _updateSelected_decorators, { kind: "method", name: "updateSelected", static: false, private: false, access: { has: obj => "updateSelected" in obj, get: obj => obj.updateSelected }, metadata: _metadata }, null, _instanceExtraInitializers);
78
72
  __esDecorate(this, null, _updateDisabled_decorators, { kind: "method", name: "updateDisabled", static: false, private: false, access: { has: obj => "updateDisabled" in obj, get: obj => obj.updateDisabled }, metadata: _metadata }, null, _instanceExtraInitializers);
79
73
  __esDecorate(this, null, _dispatchChipClick_decorators, { kind: "method", name: "dispatchChipClick", static: false, private: false, access: { has: obj => "dispatchChipClick" in obj, get: obj => obj.dispatchChipClick }, metadata: _metadata }, null, _instanceExtraInitializers);
@@ -93,68 +87,71 @@ let SniceChip = (() => {
93
87
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
94
88
  __runInitializers(_classThis, _classExtraInitializers);
95
89
  }
96
- html() {
97
- return /*html*/ `
98
- <div class="chip ${this.selected ? 'chip--selected' : ''}"
90
+ renderContent() {
91
+ const chipClasses = `chip${this.selected ? ' chip--selected' : ''}`;
92
+ return html /*html*/ `
93
+ <div class="${chipClasses}"
99
94
  role="${this.removable ? 'button' : 'status'}"
100
95
  tabindex="${this.disabled ? '-1' : '0'}"
101
96
  aria-disabled="${this.disabled}"
102
- aria-selected="${this.selected}">
103
- ${this.avatar ? /*html*/ `
97
+ aria-selected="${this.selected}"
98
+ @click=${(e) => this.handleChipClick(e)}
99
+ @keydown=${(e) => this.handleKeydown(e)}>
100
+ <if ${this.avatar}>
104
101
  <img class="chip-avatar" src="${this.avatar}" alt="">
105
- ` : this.icon ? /*html*/ `
102
+ </if>
103
+ <if ${!this.avatar && this.icon}>
106
104
  <span class="chip-icon">${this.icon}</span>
107
- ` : ''}
105
+ </if>
108
106
  <span class="chip-label">${this.label}</span>
109
- ${this.removable && !this.disabled ? /*html*/ `
110
- <button class="chip-remove"
111
- type="button"
107
+ <if ${this.removable && !this.disabled}>
108
+ <button class="chip-remove"
109
+ type="button"
112
110
  tabindex="-1"
113
- aria-label="Remove ${this.label}">
111
+ aria-label="Remove ${this.label}"
112
+ @click=${(e) => this.handleRemoveClick(e)}>
114
113
  <svg width="14" height="14" viewBox="0 0 14 14" fill="currentColor">
115
114
  <path d="M14 1.41L12.59 0L7 5.59L1.41 0L0 1.41L5.59 7L0 12.59L1.41 14L7 8.41L12.59 14L14 12.59L8.41 7L14 1.41Z"/>
116
115
  </svg>
117
116
  </button>
118
- ` : ''}
117
+ </if>
119
118
  </div>
120
119
  `;
121
120
  }
122
- css() {
123
- return css;
121
+ componentStyles() {
122
+ return css /*css*/ `${cssContent}`;
124
123
  }
125
- handleClick(event) {
124
+ handleChipClick(event) {
126
125
  if (this.disabled)
127
126
  return;
128
- if (event.target.closest('.chip-remove'))
127
+ const target = event.target;
128
+ if (target.closest('.chip-remove'))
129
129
  return;
130
130
  if (!this.removable) {
131
131
  this.selected = !this.selected;
132
132
  }
133
- return {
134
- label: this.label,
135
- selected: this.selected
136
- };
133
+ this.dispatchChipClick();
137
134
  }
138
- handleRemove(event) {
135
+ handleRemoveClick(event) {
139
136
  event.stopPropagation();
140
137
  if (this.disabled)
141
138
  return;
142
- return { label: this.label };
139
+ this.dispatchChipRemove();
143
140
  }
144
- handleKeyPress(event) {
145
- event.preventDefault();
141
+ handleKeydown(event) {
146
142
  if (this.disabled)
147
143
  return;
148
- if (!this.removable) {
149
- this.selected = !this.selected;
150
- this.dispatchChipClick();
144
+ if (event.key === 'Enter' || event.key === ' ') {
145
+ event.preventDefault();
146
+ if (!this.removable) {
147
+ this.selected = !this.selected;
148
+ this.dispatchChipClick();
149
+ }
150
+ }
151
+ else if ((event.key === 'Delete' || event.key === 'Backspace') && this.removable) {
152
+ event.preventDefault();
153
+ this.dispatchChipRemove();
151
154
  }
152
- }
153
- handleDelete(event) {
154
- if (this.disabled || !this.removable)
155
- return;
156
- event.preventDefault();
157
- this.dispatchChipRemove();
158
155
  }
159
156
  updateSelected() {
160
157
  if (this.chipElement) {