snice 3.1.0 → 3.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (464) hide show
  1. package/README.md +90 -41
  2. package/dist/components/accordion/snice-accordion-item.d.ts +2 -2
  3. package/dist/components/accordion/snice-accordion-item.js +9 -9
  4. package/dist/components/accordion/snice-accordion-item.js.map +1 -1
  5. package/dist/components/accordion/snice-accordion.d.ts +2 -2
  6. package/dist/components/accordion/snice-accordion.js +9 -9
  7. package/dist/components/accordion/snice-accordion.js.map +1 -1
  8. package/dist/components/actions/snice-actions.d.ts +28 -0
  9. package/dist/components/actions/snice-actions.js +220 -0
  10. package/dist/components/actions/snice-actions.js.map +1 -0
  11. package/dist/components/actions/snice-actions.types.d.ts +27 -0
  12. package/dist/components/alert/snice-alert.d.ts +2 -2
  13. package/dist/components/alert/snice-alert.js +9 -9
  14. package/dist/components/alert/snice-alert.js.map +1 -1
  15. package/dist/components/audio-recorder/snice-audio-recorder.d.ts +58 -0
  16. package/dist/components/audio-recorder/snice-audio-recorder.js +413 -0
  17. package/dist/components/audio-recorder/snice-audio-recorder.js.map +1 -0
  18. package/dist/components/audio-recorder/snice-audio-recorder.types.d.ts +28 -0
  19. package/dist/components/avatar/snice-avatar.d.ts +2 -2
  20. package/dist/components/avatar/snice-avatar.js +9 -9
  21. package/dist/components/avatar/snice-avatar.js.map +1 -1
  22. package/dist/components/badge/snice-badge.d.ts +2 -2
  23. package/dist/components/badge/snice-badge.js +10 -10
  24. package/dist/components/badge/snice-badge.js.map +1 -1
  25. package/dist/components/banner/snice-banner.d.ts +22 -0
  26. package/dist/components/banner/snice-banner.js +180 -0
  27. package/dist/components/banner/snice-banner.js.map +1 -0
  28. package/dist/components/banner/snice-banner.types.d.ts +14 -0
  29. package/dist/components/breadcrumbs/snice-breadcrumbs.d.ts +2 -2
  30. package/dist/components/breadcrumbs/snice-breadcrumbs.js +9 -9
  31. package/dist/components/breadcrumbs/snice-breadcrumbs.js.map +1 -1
  32. package/dist/components/button/snice-button.d.ts +2 -2
  33. package/dist/components/button/snice-button.js +9 -9
  34. package/dist/components/button/snice-button.js.map +1 -1
  35. package/dist/components/calendar/snice-calendar.d.ts +46 -0
  36. package/dist/components/calendar/snice-calendar.js +294 -0
  37. package/dist/components/calendar/snice-calendar.js.map +1 -0
  38. package/dist/components/calendar/snice-calendar.types.d.ts +34 -0
  39. package/dist/components/camera/snice-camera.d.ts +39 -0
  40. package/dist/components/camera/snice-camera.js +286 -0
  41. package/dist/components/camera/snice-camera.js.map +1 -0
  42. package/dist/components/camera/snice-camera.types.d.ts +28 -0
  43. package/dist/components/card/snice-card.d.ts +2 -2
  44. package/dist/components/card/snice-card.js +9 -9
  45. package/dist/components/card/snice-card.js.map +1 -1
  46. package/dist/components/carousel/snice-carousel.d.ts +32 -0
  47. package/dist/components/carousel/snice-carousel.js +279 -0
  48. package/dist/components/carousel/snice-carousel.js.map +1 -0
  49. package/dist/components/carousel/snice-carousel.types.d.ts +22 -0
  50. package/dist/components/chart/snice-chart.d.ts +73 -0
  51. package/dist/components/chart/snice-chart.js +940 -0
  52. package/dist/components/chart/snice-chart.js.map +1 -0
  53. package/dist/components/chart/snice-chart.types.d.ts +71 -0
  54. package/dist/components/chat/snice-chat.d.ts +98 -0
  55. package/dist/components/chat/snice-chat.js +589 -0
  56. package/dist/components/chat/snice-chat.js.map +1 -0
  57. package/dist/components/chat/snice-chat.types.d.ts +141 -0
  58. package/dist/components/checkbox/snice-checkbox.d.ts +2 -2
  59. package/dist/components/checkbox/snice-checkbox.js +9 -9
  60. package/dist/components/checkbox/snice-checkbox.js.map +1 -1
  61. package/dist/components/chip/snice-chip.d.ts +2 -2
  62. package/dist/components/chip/snice-chip.js +9 -9
  63. package/dist/components/chip/snice-chip.js.map +1 -1
  64. package/dist/components/code-block/snice-code-block.d.ts +15 -0
  65. package/dist/components/code-block/snice-code-block.js +141 -0
  66. package/dist/components/code-block/snice-code-block.js.map +1 -0
  67. package/dist/components/code-block/snice-code-block.types.d.ts +15 -0
  68. package/dist/components/color-display/snice-color-display.d.ts +14 -0
  69. package/dist/components/color-display/snice-color-display.js +151 -0
  70. package/dist/components/color-display/snice-color-display.js.map +1 -0
  71. package/dist/components/color-display/snice-color-display.types.d.ts +10 -0
  72. package/dist/components/color-picker/snice-color-picker.d.ts +50 -0
  73. package/dist/components/color-picker/snice-color-picker.js +489 -0
  74. package/dist/components/color-picker/snice-color-picker.js.map +1 -0
  75. package/dist/components/color-picker/snice-color-picker.types.d.ts +19 -0
  76. package/dist/components/command-palette/snice-command-palette.d.ts +47 -0
  77. package/dist/components/command-palette/snice-command-palette.js +428 -0
  78. package/dist/components/command-palette/snice-command-palette.js.map +1 -0
  79. package/dist/components/command-palette/snice-command-palette.types.d.ts +49 -0
  80. package/dist/components/date-picker/snice-date-picker.d.ts +2 -2
  81. package/dist/components/date-picker/snice-date-picker.js +10 -10
  82. package/dist/components/date-picker/snice-date-picker.js.map +1 -1
  83. package/dist/components/divider/snice-divider.d.ts +2 -2
  84. package/dist/components/divider/snice-divider.js +9 -9
  85. package/dist/components/divider/snice-divider.js.map +1 -1
  86. package/dist/components/doc/snice-doc.d.ts +93 -0
  87. package/dist/components/doc/snice-doc.js +626 -0
  88. package/dist/components/doc/snice-doc.js.map +1 -0
  89. package/dist/components/doc/snice-doc.types.d.ts +118 -0
  90. package/dist/components/draw/snice-draw.d.ts +71 -0
  91. package/dist/components/draw/snice-draw.js +709 -0
  92. package/dist/components/draw/snice-draw.js.map +1 -0
  93. package/dist/components/draw/snice-draw.types.d.ts +41 -0
  94. package/dist/components/drawer/snice-drawer.d.ts +2 -2
  95. package/dist/components/drawer/snice-drawer.js +9 -9
  96. package/dist/components/drawer/snice-drawer.js.map +1 -1
  97. package/dist/components/empty-state/snice-empty-state.d.ts +13 -0
  98. package/dist/components/empty-state/snice-empty-state.js +121 -0
  99. package/dist/components/empty-state/snice-empty-state.js.map +1 -0
  100. package/dist/components/empty-state/snice-empty-state.types.d.ts +9 -0
  101. package/dist/components/file-upload/snice-file-upload.d.ts +44 -0
  102. package/dist/components/file-upload/snice-file-upload.js +387 -0
  103. package/dist/components/file-upload/snice-file-upload.js.map +1 -0
  104. package/dist/components/file-upload/snice-file-upload.types.d.ts +22 -0
  105. package/dist/components/gantt/snice-gantt.d.ts +29 -0
  106. package/dist/components/gantt/snice-gantt.js +268 -0
  107. package/dist/components/gantt/snice-gantt.js.map +1 -0
  108. package/dist/components/gantt/snice-gantt.types.d.ts +23 -0
  109. package/dist/components/image/snice-image.d.ts +22 -0
  110. package/dist/components/image/snice-image.js +201 -0
  111. package/dist/components/image/snice-image.js.map +1 -0
  112. package/dist/components/image/snice-image.types.d.ts +17 -0
  113. package/dist/components/input/snice-input.d.ts +2 -2
  114. package/dist/components/input/snice-input.js +9 -9
  115. package/dist/components/input/snice-input.js.map +1 -1
  116. package/dist/components/kanban/snice-kanban.d.ts +31 -0
  117. package/dist/components/kanban/snice-kanban.js +243 -0
  118. package/dist/components/kanban/snice-kanban.js.map +1 -0
  119. package/dist/components/kanban/snice-kanban.types.d.ts +29 -0
  120. package/dist/components/kpi/snice-kpi.d.ts +16 -0
  121. package/dist/components/kpi/snice-kpi.js +162 -0
  122. package/dist/components/kpi/snice-kpi.js.map +1 -0
  123. package/dist/components/kpi/snice-kpi.types.d.ts +12 -0
  124. package/dist/components/layout/snice-layout-blog.d.ts +2 -2
  125. package/dist/components/layout/snice-layout-blog.js +9 -9
  126. package/dist/components/layout/snice-layout-blog.js.map +1 -1
  127. package/dist/components/layout/snice-layout-card.d.ts +2 -2
  128. package/dist/components/layout/snice-layout-card.js +9 -9
  129. package/dist/components/layout/snice-layout-card.js.map +1 -1
  130. package/dist/components/layout/snice-layout-centered.d.ts +2 -2
  131. package/dist/components/layout/snice-layout-centered.js +9 -9
  132. package/dist/components/layout/snice-layout-centered.js.map +1 -1
  133. package/dist/components/layout/snice-layout-dashboard.d.ts +2 -2
  134. package/dist/components/layout/snice-layout-dashboard.js +9 -9
  135. package/dist/components/layout/snice-layout-dashboard.js.map +1 -1
  136. package/dist/components/layout/snice-layout-fullscreen.d.ts +2 -2
  137. package/dist/components/layout/snice-layout-fullscreen.js +9 -9
  138. package/dist/components/layout/snice-layout-fullscreen.js.map +1 -1
  139. package/dist/components/layout/snice-layout-landing.d.ts +2 -2
  140. package/dist/components/layout/snice-layout-landing.js +9 -9
  141. package/dist/components/layout/snice-layout-landing.js.map +1 -1
  142. package/dist/components/layout/snice-layout-minimal.d.ts +2 -2
  143. package/dist/components/layout/snice-layout-minimal.js +9 -9
  144. package/dist/components/layout/snice-layout-minimal.js.map +1 -1
  145. package/dist/components/layout/snice-layout-sidebar.d.ts +2 -2
  146. package/dist/components/layout/snice-layout-sidebar.js +9 -9
  147. package/dist/components/layout/snice-layout-sidebar.js.map +1 -1
  148. package/dist/components/layout/snice-layout-split.d.ts +2 -2
  149. package/dist/components/layout/snice-layout-split.js +9 -9
  150. package/dist/components/layout/snice-layout-split.js.map +1 -1
  151. package/dist/components/layout/snice-layout.d.ts +2 -2
  152. package/dist/components/layout/snice-layout.js +9 -9
  153. package/dist/components/layout/snice-layout.js.map +1 -1
  154. package/dist/components/link/snice-link.d.ts +13 -0
  155. package/dist/components/link/snice-link.js +137 -0
  156. package/dist/components/link/snice-link.js.map +1 -0
  157. package/dist/components/link/snice-link.types.d.ts +11 -0
  158. package/dist/components/list/snice-list-item.d.ts +6 -0
  159. package/dist/components/list/snice-list-item.js +68 -0
  160. package/dist/components/list/snice-list-item.js.map +1 -0
  161. package/dist/components/list/snice-list.d.ts +23 -0
  162. package/dist/components/list/snice-list.js +270 -0
  163. package/dist/components/list/snice-list.js.map +1 -0
  164. package/dist/components/list/snice-list.types.d.ts +28 -0
  165. package/dist/components/location/snice-location.d.ts +35 -0
  166. package/dist/components/location/snice-location.js +238 -0
  167. package/dist/components/location/snice-location.js.map +1 -0
  168. package/dist/components/location/snice-location.types.d.ts +35 -0
  169. package/dist/components/login/snice-login.d.ts +2 -2
  170. package/dist/components/login/snice-login.js +9 -9
  171. package/dist/components/login/snice-login.js.map +1 -1
  172. package/dist/components/menu/snice-menu-divider.d.ts +4 -0
  173. package/dist/components/menu/snice-menu-divider.js +53 -0
  174. package/dist/components/menu/snice-menu-divider.js.map +1 -0
  175. package/dist/components/menu/snice-menu-item.d.ts +10 -0
  176. package/dist/components/menu/snice-menu-item.js +99 -0
  177. package/dist/components/menu/snice-menu-item.js.map +1 -0
  178. package/dist/components/menu/snice-menu-item.types.d.ts +9 -0
  179. package/dist/components/menu/snice-menu.d.ts +27 -0
  180. package/dist/components/menu/snice-menu.js +199 -0
  181. package/dist/components/menu/snice-menu.js.map +1 -0
  182. package/dist/components/menu/snice-menu.types.d.ts +18 -0
  183. package/dist/components/modal/snice-modal.d.ts +2 -2
  184. package/dist/components/modal/snice-modal.js +9 -9
  185. package/dist/components/modal/snice-modal.js.map +1 -1
  186. package/dist/components/nav/snice-nav.js +1 -1
  187. package/dist/components/nav/snice-nav.js.map +1 -1
  188. package/dist/components/pagination/snice-pagination.d.ts +2 -2
  189. package/dist/components/pagination/snice-pagination.js +8 -8
  190. package/dist/components/pagination/snice-pagination.js.map +1 -1
  191. package/dist/components/progress/snice-progress.d.ts +2 -2
  192. package/dist/components/progress/snice-progress.js +9 -9
  193. package/dist/components/progress/snice-progress.js.map +1 -1
  194. package/dist/components/qr-code/qrcode.d.ts +28 -0
  195. package/dist/components/qr-code/qrcode.js +906 -0
  196. package/dist/components/qr-code/qrcode.js.map +1 -0
  197. package/dist/components/qr-code/snice-qr-code.d.ts +35 -0
  198. package/dist/components/qr-code/snice-qr-code.js +256 -0
  199. package/dist/components/qr-code/snice-qr-code.js.map +1 -0
  200. package/dist/components/qr-code/snice-qr-code.types.d.ts +33 -0
  201. package/dist/components/radio/snice-radio.d.ts +2 -2
  202. package/dist/components/radio/snice-radio.js +9 -9
  203. package/dist/components/radio/snice-radio.js.map +1 -1
  204. package/dist/components/select/snice-option.d.ts +2 -2
  205. package/dist/components/select/snice-option.js +8 -8
  206. package/dist/components/select/snice-option.js.map +1 -1
  207. package/dist/components/select/snice-select.d.ts +2 -2
  208. package/dist/components/select/snice-select.js +9 -9
  209. package/dist/components/select/snice-select.js.map +1 -1
  210. package/dist/components/skeleton/snice-skeleton.d.ts +2 -2
  211. package/dist/components/skeleton/snice-skeleton.js +9 -9
  212. package/dist/components/skeleton/snice-skeleton.js.map +1 -1
  213. package/dist/components/slider/snice-slider.d.ts +53 -0
  214. package/dist/components/slider/snice-slider.js +479 -0
  215. package/dist/components/slider/snice-slider.js.map +1 -0
  216. package/dist/components/slider/snice-slider.types.d.ts +26 -0
  217. package/dist/components/snice-cell-C0slgOpe.js +4 -0
  218. package/dist/components/snice-cell-C0slgOpe.js.map +1 -0
  219. package/dist/components/sparkline/snice-sparkline.d.ts +21 -0
  220. package/dist/components/sparkline/snice-sparkline.js +228 -0
  221. package/dist/components/sparkline/snice-sparkline.js.map +1 -0
  222. package/dist/components/sparkline/snice-sparkline.types.d.ts +16 -0
  223. package/dist/components/spinner/snice-spinner.d.ts +10 -0
  224. package/dist/components/spinner/snice-spinner.js +109 -0
  225. package/dist/components/spinner/snice-spinner.js.map +1 -0
  226. package/dist/components/spinner/snice-spinner.types.d.ts +8 -0
  227. package/dist/components/split-pane/snice-split-pane.d.ts +32 -0
  228. package/dist/components/split-pane/snice-split-pane.js +191 -0
  229. package/dist/components/split-pane/snice-split-pane.js.map +1 -0
  230. package/dist/components/split-pane/snice-split-pane.types.d.ts +19 -0
  231. package/dist/components/stat/snice-stat.d.ts +14 -0
  232. package/dist/components/stat/snice-stat.js +140 -0
  233. package/dist/components/stat/snice-stat.js.map +1 -0
  234. package/dist/components/stat/snice-stat.types.d.ts +12 -0
  235. package/dist/components/stepper/snice-stepper-panel.d.ts +8 -0
  236. package/dist/components/stepper/snice-stepper-panel.js +70 -0
  237. package/dist/components/stepper/snice-stepper-panel.js.map +1 -0
  238. package/dist/components/stepper/snice-stepper-panel.types.d.ts +4 -0
  239. package/dist/components/stepper/snice-stepper.d.ts +15 -0
  240. package/dist/components/stepper/snice-stepper.js +163 -0
  241. package/dist/components/stepper/snice-stepper.js.map +1 -0
  242. package/dist/components/stepper/snice-stepper.types.d.ts +13 -0
  243. package/dist/components/switch/snice-switch.d.ts +2 -2
  244. package/dist/components/switch/snice-switch.js +9 -9
  245. package/dist/components/switch/snice-switch.js.map +1 -1
  246. package/dist/components/table/snice-cell-actions.d.ts +2 -2
  247. package/dist/components/table/snice-cell-actions.js +9 -9
  248. package/dist/components/table/snice-cell-actions.js.map +1 -1
  249. package/dist/components/table/snice-cell-boolean.d.ts +2 -2
  250. package/dist/components/table/snice-cell-boolean.js +9 -9
  251. package/dist/components/table/snice-cell-boolean.js.map +1 -1
  252. package/dist/components/table/snice-cell-color.d.ts +2 -2
  253. package/dist/components/table/snice-cell-color.js +9 -9
  254. package/dist/components/table/snice-cell-color.js.map +1 -1
  255. package/dist/components/table/snice-cell-currency.d.ts +2 -2
  256. package/dist/components/table/snice-cell-currency.js +9 -9
  257. package/dist/components/table/snice-cell-currency.js.map +1 -1
  258. package/dist/components/table/snice-cell-date.d.ts +2 -2
  259. package/dist/components/table/snice-cell-date.js +9 -9
  260. package/dist/components/table/snice-cell-date.js.map +1 -1
  261. package/dist/components/table/snice-cell-duration.d.ts +2 -2
  262. package/dist/components/table/snice-cell-duration.js +9 -9
  263. package/dist/components/table/snice-cell-duration.js.map +1 -1
  264. package/dist/components/table/snice-cell-email.d.ts +2 -2
  265. package/dist/components/table/snice-cell-email.js +9 -9
  266. package/dist/components/table/snice-cell-email.js.map +1 -1
  267. package/dist/components/table/snice-cell-filesize.d.ts +2 -2
  268. package/dist/components/table/snice-cell-filesize.js +9 -9
  269. package/dist/components/table/snice-cell-filesize.js.map +1 -1
  270. package/dist/components/table/snice-cell-image.d.ts +2 -2
  271. package/dist/components/table/snice-cell-image.js +9 -9
  272. package/dist/components/table/snice-cell-image.js.map +1 -1
  273. package/dist/components/table/snice-cell-json.d.ts +2 -2
  274. package/dist/components/table/snice-cell-json.js +9 -9
  275. package/dist/components/table/snice-cell-json.js.map +1 -1
  276. package/dist/components/table/snice-cell-link.d.ts +2 -2
  277. package/dist/components/table/snice-cell-link.js +9 -9
  278. package/dist/components/table/snice-cell-link.js.map +1 -1
  279. package/dist/components/table/snice-cell-location.d.ts +2 -2
  280. package/dist/components/table/snice-cell-location.js +9 -9
  281. package/dist/components/table/snice-cell-location.js.map +1 -1
  282. package/dist/components/table/snice-cell-number.d.ts +2 -2
  283. package/dist/components/table/snice-cell-number.js +9 -9
  284. package/dist/components/table/snice-cell-number.js.map +1 -1
  285. package/dist/components/table/snice-cell-percentage.d.ts +2 -2
  286. package/dist/components/table/snice-cell-percentage.js +9 -9
  287. package/dist/components/table/snice-cell-percentage.js.map +1 -1
  288. package/dist/components/table/snice-cell-phone.d.ts +2 -2
  289. package/dist/components/table/snice-cell-phone.js +9 -9
  290. package/dist/components/table/snice-cell-phone.js.map +1 -1
  291. package/dist/components/table/snice-cell-progress.d.ts +2 -2
  292. package/dist/components/table/snice-cell-progress.js +9 -9
  293. package/dist/components/table/snice-cell-progress.js.map +1 -1
  294. package/dist/components/table/snice-cell-rating.d.ts +2 -2
  295. package/dist/components/table/snice-cell-rating.js +9 -9
  296. package/dist/components/table/snice-cell-rating.js.map +1 -1
  297. package/dist/components/table/snice-cell-sparkline.d.ts +2 -2
  298. package/dist/components/table/snice-cell-sparkline.js +9 -9
  299. package/dist/components/table/snice-cell-sparkline.js.map +1 -1
  300. package/dist/components/table/snice-cell-status.d.ts +2 -2
  301. package/dist/components/table/snice-cell-status.js +9 -9
  302. package/dist/components/table/snice-cell-status.js.map +1 -1
  303. package/dist/components/table/snice-cell-tag.d.ts +2 -2
  304. package/dist/components/table/snice-cell-tag.js +9 -9
  305. package/dist/components/table/snice-cell-tag.js.map +1 -1
  306. package/dist/components/table/snice-cell-text.d.ts +2 -2
  307. package/dist/components/table/snice-cell-text.js +9 -9
  308. package/dist/components/table/snice-cell-text.js.map +1 -1
  309. package/dist/components/table/snice-cell.d.ts +2 -2
  310. package/dist/components/table/snice-cell.js +9 -9
  311. package/dist/components/table/snice-cell.js.map +1 -1
  312. package/dist/components/table/snice-column.d.ts +1 -1
  313. package/dist/components/table/snice-column.js +4 -4
  314. package/dist/components/table/snice-column.js.map +1 -1
  315. package/dist/components/table/snice-header.d.ts +2 -2
  316. package/dist/components/table/snice-header.js +9 -9
  317. package/dist/components/table/snice-header.js.map +1 -1
  318. package/dist/components/table/snice-progress.d.ts +2 -2
  319. package/dist/components/table/snice-progress.js +8 -8
  320. package/dist/components/table/snice-progress.js.map +1 -1
  321. package/dist/components/table/snice-rating.d.ts +2 -2
  322. package/dist/components/table/snice-rating.js +8 -8
  323. package/dist/components/table/snice-rating.js.map +1 -1
  324. package/dist/components/table/snice-row.d.ts +2 -2
  325. package/dist/components/table/snice-row.js +10 -10
  326. package/dist/components/table/snice-row.js.map +1 -1
  327. package/dist/components/table/snice-table.d.ts +2 -3
  328. package/dist/components/table/snice-table.js +9 -14
  329. package/dist/components/table/snice-table.js.map +1 -1
  330. package/dist/components/tabs/snice-tab-panel.d.ts +2 -2
  331. package/dist/components/tabs/snice-tab-panel.js +9 -9
  332. package/dist/components/tabs/snice-tab-panel.js.map +1 -1
  333. package/dist/components/tabs/snice-tab.d.ts +2 -2
  334. package/dist/components/tabs/snice-tab.js +9 -9
  335. package/dist/components/tabs/snice-tab.js.map +1 -1
  336. package/dist/components/tabs/snice-tabs.d.ts +2 -2
  337. package/dist/components/tabs/snice-tabs.js +9 -9
  338. package/dist/components/tabs/snice-tabs.js.map +1 -1
  339. package/dist/components/terminal/snice-terminal.types.d.ts +133 -0
  340. package/dist/components/textarea/snice-textarea.d.ts +52 -0
  341. package/dist/components/textarea/snice-textarea.js +407 -0
  342. package/dist/components/textarea/snice-textarea.js.map +1 -0
  343. package/dist/components/textarea/snice-textarea.types.d.ts +30 -0
  344. package/dist/components/timeline/snice-timeline.d.ts +11 -0
  345. package/dist/components/timeline/snice-timeline.js +112 -0
  346. package/dist/components/timeline/snice-timeline.js.map +1 -0
  347. package/dist/components/timeline/snice-timeline.types.d.ts +16 -0
  348. package/dist/components/toast/snice-toast-container.d.ts +2 -2
  349. package/dist/components/toast/snice-toast-container.js +8 -8
  350. package/dist/components/toast/snice-toast-container.js.map +1 -1
  351. package/dist/components/toast/snice-toast.d.ts +2 -2
  352. package/dist/components/toast/snice-toast.js +8 -8
  353. package/dist/components/toast/snice-toast.js.map +1 -1
  354. package/dist/components/tooltip/snice-tooltip.d.ts +2 -2
  355. package/dist/components/tooltip/snice-tooltip.js +10 -10
  356. package/dist/components/tooltip/snice-tooltip.js.map +1 -1
  357. package/dist/components/tree/snice-tree-item.d.ts +35 -0
  358. package/dist/components/tree/snice-tree-item.js +301 -0
  359. package/dist/components/tree/snice-tree-item.js.map +1 -0
  360. package/dist/components/tree/snice-tree-item.types.d.ts +30 -0
  361. package/dist/components/tree/snice-tree.d.ts +45 -0
  362. package/dist/components/tree/snice-tree.js +390 -0
  363. package/dist/components/tree/snice-tree.js.map +1 -0
  364. package/dist/components/tree/snice-tree.types.d.ts +65 -0
  365. package/dist/components/virtual-scroller/snice-virtual-scroller.d.ts +31 -0
  366. package/dist/components/virtual-scroller/snice-virtual-scroller.js +160 -0
  367. package/dist/components/virtual-scroller/snice-virtual-scroller.js.map +1 -0
  368. package/dist/components/virtual-scroller/snice-virtual-scroller.types.d.ts +19 -0
  369. package/dist/index.cjs +125 -158
  370. package/dist/index.cjs.map +1 -1
  371. package/dist/index.esm.js +125 -158
  372. package/dist/index.esm.js.map +1 -1
  373. package/dist/index.iife.js +125 -158
  374. package/dist/index.iife.js.map +1 -1
  375. package/dist/parts.d.ts +13 -16
  376. package/dist/symbols.cjs +1 -1
  377. package/dist/symbols.esm.js +1 -1
  378. package/dist/template.d.ts +0 -1
  379. package/dist/transitions.cjs +1 -1
  380. package/dist/transitions.esm.js +1 -1
  381. package/docs/ai/README.md +10 -1
  382. package/docs/ai/components/actions.md +81 -0
  383. package/docs/ai/components/audio-recorder.md +97 -0
  384. package/docs/ai/components/banner.md +84 -0
  385. package/docs/ai/components/calendar.md +95 -0
  386. package/docs/ai/components/camera.md +130 -0
  387. package/docs/ai/components/carousel.md +49 -0
  388. package/docs/ai/components/chart.md +160 -0
  389. package/docs/ai/components/chat.md +189 -0
  390. package/docs/ai/components/code-block.md +32 -0
  391. package/docs/ai/components/color-display.md +48 -0
  392. package/docs/ai/components/color-picker.md +75 -0
  393. package/docs/ai/components/command-palette.md +117 -0
  394. package/docs/ai/components/doc.md +154 -0
  395. package/docs/ai/components/draw.md +140 -0
  396. package/docs/ai/components/empty-state.md +72 -0
  397. package/docs/ai/components/file-upload.md +93 -0
  398. package/docs/ai/components/gantt.md +95 -0
  399. package/docs/ai/components/image.md +60 -0
  400. package/docs/ai/components/kanban.md +102 -0
  401. package/docs/ai/components/kpi.md +158 -0
  402. package/docs/ai/components/layout.md +261 -0
  403. package/docs/ai/components/link.md +77 -0
  404. package/docs/ai/components/list.md +50 -0
  405. package/docs/ai/components/location.md +75 -0
  406. package/docs/ai/components/menu.md +114 -0
  407. package/docs/ai/components/popover.md +70 -0
  408. package/docs/ai/components/qr-code.md +106 -0
  409. package/docs/ai/components/slider.md +87 -0
  410. package/docs/ai/components/sparkline.md +168 -0
  411. package/docs/ai/components/spinner.md +47 -0
  412. package/docs/ai/components/split-pane.md +71 -0
  413. package/docs/ai/components/stat.md +29 -0
  414. package/docs/ai/components/stepper.md +216 -0
  415. package/docs/ai/components/textarea.md +87 -0
  416. package/docs/ai/components/timeline.md +77 -0
  417. package/docs/ai/components/tree.md +191 -0
  418. package/docs/ai/components/virtual-scroller.md +71 -0
  419. package/docs/components/actions.md +317 -0
  420. package/docs/components/alert.md +540 -0
  421. package/docs/components/audio-recorder.md +152 -0
  422. package/docs/components/badge.md +593 -0
  423. package/docs/components/banner.md +106 -0
  424. package/docs/components/breadcrumbs.md +568 -0
  425. package/docs/components/button.md +648 -0
  426. package/docs/components/calendar.md +397 -0
  427. package/docs/components/camera.md +383 -0
  428. package/docs/components/card.md +778 -0
  429. package/docs/components/carousel.md +63 -0
  430. package/docs/components/chart.md +526 -0
  431. package/docs/components/chat.md +482 -0
  432. package/docs/components/checkbox.md +714 -0
  433. package/docs/components/chip.md +670 -0
  434. package/docs/components/code-block.md +49 -0
  435. package/docs/components/color-display.md +96 -0
  436. package/docs/components/color-picker.md +81 -0
  437. package/docs/components/command-palette.md +159 -0
  438. package/docs/components/doc.md +357 -0
  439. package/docs/components/draw.md +307 -0
  440. package/docs/components/empty-state.md +79 -0
  441. package/docs/components/file-upload.md +263 -0
  442. package/docs/components/gantt.md +347 -0
  443. package/docs/components/image.md +110 -0
  444. package/docs/components/kanban.md +410 -0
  445. package/docs/components/kpi.md +251 -0
  446. package/docs/components/link.md +229 -0
  447. package/docs/components/list.md +65 -0
  448. package/docs/components/location.md +369 -0
  449. package/docs/components/menu.md +633 -0
  450. package/docs/components/popover.md +333 -0
  451. package/docs/components/qr-code.md +464 -0
  452. package/docs/components/slider.md +297 -0
  453. package/docs/components/sparkline.md +293 -0
  454. package/docs/components/spinner.md +63 -0
  455. package/docs/components/split-pane.md +315 -0
  456. package/docs/components/stat.md +45 -0
  457. package/docs/components/stepper.md +410 -0
  458. package/docs/components/textarea.md +235 -0
  459. package/docs/components/timeline.md +192 -0
  460. package/docs/components/tree.md +536 -0
  461. package/docs/components/virtual-scroller.md +298 -0
  462. package/package.json +2 -1
  463. package/dist/components/snice-cell-BLFVdxPp.js +0 -4
  464. package/dist/components/snice-cell-BLFVdxPp.js.map +0 -1
@@ -0,0 +1,229 @@
1
+ # Link Component
2
+
3
+ A customizable link component with multiple variants, external link handling, and accessibility features.
4
+
5
+ ## Features
6
+
7
+ - **Multiple Variants**: default, primary, secondary, muted
8
+ - **External Link Handling**: Automatic `target="_blank"` and security attributes
9
+ - **Hash Routing**: Built-in support for hash-based navigation
10
+ - **Router Integration**: Emits events for custom router integration
11
+ - **Accessibility**: Proper ARIA attributes and keyboard navigation
12
+ - **Disabled State**: Visual and functional disabled state
13
+ - **Customizable**: Full theme integration
14
+
15
+ ## Basic Usage
16
+
17
+ ```html
18
+ <snice-link href="/about">About Us</snice-link>
19
+ ```
20
+
21
+ ## Properties
22
+
23
+ | Property | Type | Default | Description |
24
+ |----------|------|---------|-------------|
25
+ | `href` | `string` | `''` | Link URL |
26
+ | `target` | `LinkTarget` | `'_self'` | Target attribute ('_self', '_blank', '_parent', '_top') |
27
+ | `variant` | `LinkVariant` | `'default'` | Visual style variant |
28
+ | `disabled` | `boolean` | `false` | Disable the link |
29
+ | `external` | `boolean` | `false` | Treat as external link (auto _blank + security) |
30
+ | `underline` | `boolean` | `false` | Show text underline |
31
+ | `hash` | `boolean` | `false` | Automatically prepend # to href (for hash routing) |
32
+
33
+ ## Variants
34
+
35
+ ### Default
36
+ ```html
37
+ <snice-link href="/page">Default link</snice-link>
38
+ ```
39
+
40
+ ### Primary
41
+ ```html
42
+ <snice-link href="/page" variant="primary">Primary link</snice-link>
43
+ ```
44
+
45
+ ### Secondary
46
+ ```html
47
+ <snice-link href="/page" variant="secondary">Secondary link</snice-link>
48
+ ```
49
+
50
+ ### Muted
51
+ ```html
52
+ <snice-link href="/page" variant="muted">Muted link</snice-link>
53
+ ```
54
+
55
+ ## External Links
56
+
57
+ External links automatically open in a new tab with security attributes:
58
+
59
+ ```html
60
+ <snice-link href="https://example.com" external>
61
+ External Link
62
+ </snice-link>
63
+ ```
64
+
65
+ This automatically adds:
66
+ - `target="_blank"`
67
+ - `rel="noopener noreferrer"`
68
+ - External link icon (↗)
69
+
70
+ ## Underline
71
+
72
+ ```html
73
+ <snice-link href="/page" underline>Underlined link</snice-link>
74
+ ```
75
+
76
+ ## Disabled State
77
+
78
+ ```html
79
+ <snice-link href="/page" disabled>Disabled link</snice-link>
80
+ ```
81
+
82
+ ## Hash Routing
83
+
84
+ For hash-based navigation (Single Page Applications):
85
+
86
+ ```html
87
+ <!-- Automatically prepends # to href -->
88
+ <snice-link href="home" hash>Home</snice-link>
89
+ <snice-link href="about" hash>About</snice-link>
90
+ <snice-link href="contact" hash>Contact</snice-link>
91
+
92
+ <!-- Renders as: <a href="#home">Home</a> -->
93
+ ```
94
+
95
+ ### Router Integration
96
+
97
+ The `navigate` event allows decoupled router integration:
98
+
99
+ ```html
100
+ <snice-link href="profile" hash id="profile-link">Profile</snice-link>
101
+
102
+ <script>
103
+ document.getElementById('profile-link').addEventListener('navigate', (e) => {
104
+ console.log('Navigating to:', e.detail.href);
105
+
106
+ // Custom routing logic
107
+ myRouter.navigate(e.detail.href);
108
+
109
+ // Optionally prevent default navigation
110
+ // e.preventDefault();
111
+ });
112
+ </script>
113
+ ```
114
+
115
+ ### Example Router Setup
116
+
117
+ ```html
118
+ <nav>
119
+ <snice-link href="home" hash>Home</snice-link>
120
+ <snice-link href="products" hash>Products</snice-link>
121
+ <snice-link href="about" hash>About</snice-link>
122
+ </nav>
123
+
124
+ <script>
125
+ // Listen to all navigate events
126
+ document.addEventListener('navigate', (e) => {
127
+ const route = e.detail.href;
128
+
129
+ // Update view based on route
130
+ switch(route) {
131
+ case 'home':
132
+ showHomeView();
133
+ break;
134
+ case 'products':
135
+ showProductsView();
136
+ break;
137
+ case 'about':
138
+ showAboutView();
139
+ break;
140
+ }
141
+ });
142
+ </script>
143
+ ```
144
+
145
+ ## In Context
146
+
147
+ Links work naturally within text:
148
+
149
+ ```html
150
+ <p>
151
+ This is a paragraph with an <snice-link href="/page">inline link</snice-link>
152
+ in the middle of the text.
153
+ </p>
154
+ ```
155
+
156
+ ## Events
157
+
158
+ | Event | Detail | Description |
159
+ |-------|--------|-------------|
160
+ | `click` | `MouseEvent` | Emitted when link is clicked (prevented if disabled) |
161
+ | `navigate` | `{ href: string }` | Emitted on hash link click (bubbles, composed, cancelable) |
162
+
163
+ ## CSS Parts
164
+
165
+ Use `::part()` to style internal elements:
166
+
167
+ ```css
168
+ snice-link::part(link) {
169
+ font-weight: bold;
170
+ }
171
+
172
+ snice-link::part(external-icon) {
173
+ color: blue;
174
+ }
175
+ ```
176
+
177
+ ## Theming
178
+
179
+ The component uses these CSS custom properties:
180
+
181
+ ```css
182
+ --snice-color-primary
183
+ --snice-color-primary-dark
184
+ --snice-color-primary-darker
185
+ --snice-color-text
186
+ --snice-color-text-secondary
187
+ --snice-color-text-muted
188
+ --snice-color-text-disabled
189
+ --snice-transition-fast
190
+ ```
191
+
192
+ ## Accessibility
193
+
194
+ - Proper `href` attribute for keyboard navigation
195
+ - Correct `rel` attributes for external links
196
+ - Disabled state prevents interaction
197
+ - Screen reader friendly
198
+
199
+ ## Examples
200
+
201
+ ### Navigation Menu
202
+ ```html
203
+ <nav>
204
+ <snice-link href="/">Home</snice-link>
205
+ <snice-link href="/about">About</snice-link>
206
+ <snice-link href="/contact">Contact</snice-link>
207
+ </nav>
208
+ ```
209
+
210
+ ### Footer Links
211
+ ```html
212
+ <footer>
213
+ <snice-link href="/privacy" variant="muted">Privacy</snice-link>
214
+ <snice-link href="/terms" variant="muted">Terms</snice-link>
215
+ <snice-link href="https://twitter.com" external variant="muted">
216
+ Twitter
217
+ </snice-link>
218
+ </footer>
219
+ ```
220
+
221
+ ### Action Links
222
+ ```html
223
+ <snice-link href="/download" variant="primary">
224
+ Download Now
225
+ </snice-link>
226
+ <snice-link href="/learn-more" variant="secondary">
227
+ Learn More
228
+ </snice-link>
229
+ ```
@@ -0,0 +1,65 @@
1
+ # List Component
2
+
3
+ Display a list of items with optional selection, icons, and descriptions.
4
+
5
+ ## Basic Usage
6
+
7
+ ```html
8
+ <snice-list id="list"></snice-list>
9
+ <script>
10
+ document.getElementById('list').items = [
11
+ { id: '1', label: 'Item 1', icon: '📄' },
12
+ { id: '2', label: 'Item 2', icon: '📄' }
13
+ ];
14
+ </script>
15
+ ```
16
+
17
+ ## Properties
18
+
19
+ | Property | Type | Default | Description |
20
+ |----------|------|---------|-------------|
21
+ | `items` | `ListItem[]` | `[]` | Array of items |
22
+ | `selectionMode` | `'single' \| 'multiple' \| 'none'` | `'none'` | Selection mode |
23
+ | `selectedItems` | `string[]` | `[]` | Selected item IDs |
24
+ | `hoverable` | `boolean` | `true` | Hover effects |
25
+ | `dividers` | `boolean` | `false` | Show dividers |
26
+ | `dense` | `boolean` | `false` | Compact spacing |
27
+
28
+ ## ListItem Interface
29
+
30
+ ```typescript
31
+ interface ListItem {
32
+ id: string;
33
+ label: string;
34
+ description?: string;
35
+ icon?: string;
36
+ iconImage?: string;
37
+ disabled?: boolean;
38
+ selected?: boolean;
39
+ data?: any;
40
+ }
41
+ ```
42
+
43
+ ## Methods
44
+
45
+ - `selectItem(id: string)` - Select item
46
+ - `deselectItem(id: string)` - Deselect item
47
+ - `toggleSelection(id: string)` - Toggle selection
48
+ - `getSelectedItems(): ListItem[]` - Get selected items
49
+
50
+ ## Events
51
+
52
+ - `@snice/list-item-select` - Item selected (detail: { item, selected, list })
53
+
54
+ ## Examples
55
+
56
+ ```html
57
+ <!-- With dividers -->
58
+ <snice-list dividers></snice-list>
59
+
60
+ <!-- Single selection -->
61
+ <snice-list selection-mode="single"></snice-list>
62
+
63
+ <!-- Dense -->
64
+ <snice-list dense></snice-list>
65
+ ```
@@ -0,0 +1,369 @@
1
+ # Location Component
2
+
3
+ Display location information with addresses, coordinates, maps, and custom icons.
4
+
5
+ ## Basic Usage
6
+
7
+ ```html
8
+ <snice-location
9
+ name="Central Park"
10
+ address="Central Park"
11
+ city="New York"
12
+ state="NY"
13
+ latitude="40.7829"
14
+ longitude="-73.9654">
15
+ </snice-location>
16
+ ```
17
+
18
+ ## Properties
19
+
20
+ | Property | Type | Default | Description |
21
+ |----------|------|---------|-------------|
22
+ | `mode` | `'full' \| 'compact' \| 'coordinates' \| 'address'` | `'full'` | Display mode |
23
+ | `name` | `string` | `''` | Location name |
24
+ | `address` | `string` | `''` | Street address |
25
+ | `city` | `string` | `''` | City name |
26
+ | `state` | `string` | `''` | State/province |
27
+ | `country` | `string` | `''` | Country name |
28
+ | `zipCode` | `string` | `''` | ZIP/postal code |
29
+ | `latitude` | `number \| string` | `''` | Latitude coordinate |
30
+ | `longitude` | `number \| string` | `''` | Longitude coordinate |
31
+ | `showMap` | `boolean` | `false` | Show embedded map |
32
+ | `showIcon` | `boolean` | `true` | Show location icon |
33
+ | `icon` | `string` | `'📍'` | Text/emoji icon |
34
+ | `iconImage` | `string` | `''` | Icon image URL |
35
+ | `mapUrl` | `string` | `''` | Custom map URL |
36
+ | `clickable` | `boolean` | `false` | Make location clickable |
37
+
38
+ ## Methods
39
+
40
+ ### `getData(): LocationData`
41
+ Get complete location data object.
42
+
43
+ ```javascript
44
+ const data = location.getData();
45
+ console.log(data.name, data.latitude, data.longitude);
46
+ ```
47
+
48
+ ### `getCoordinates(): { latitude: number; longitude: number } | null`
49
+ Get coordinate pair or null if invalid.
50
+
51
+ ```javascript
52
+ const coords = location.getCoordinates();
53
+ if (coords) {
54
+ console.log(`${coords.latitude}, ${coords.longitude}`);
55
+ }
56
+ ```
57
+
58
+ ### `getFullAddress(): string`
59
+ Get formatted full address string.
60
+
61
+ ```javascript
62
+ const address = location.getFullAddress();
63
+ // "123 Main St, New York, NY, 10001, USA"
64
+ ```
65
+
66
+ ### `openMap(): void`
67
+ Open location in maps application (new tab).
68
+
69
+ ```javascript
70
+ location.openMap();
71
+ ```
72
+
73
+ ## Events
74
+
75
+ ### `location-click`
76
+ Dispatched when clickable location is clicked.
77
+
78
+ ```javascript
79
+ location.addEventListener('location-click', (e) => {
80
+ console.log('Location clicked:', e.detail);
81
+ });
82
+ ```
83
+
84
+ **Detail:** `LocationData` object
85
+
86
+ ## Examples
87
+
88
+ ### Display Modes
89
+
90
+ ```html
91
+ <!-- Full mode (default) -->
92
+ <snice-location
93
+ name="Empire State Building"
94
+ address="350 5th Ave"
95
+ city="New York"
96
+ state="NY"
97
+ latitude="40.7484"
98
+ longitude="-73.9857"
99
+ mode="full">
100
+ </snice-location>
101
+
102
+ <!-- Compact mode -->
103
+ <snice-location
104
+ name="Times Square"
105
+ address="Times Square"
106
+ city="New York"
107
+ latitude="40.7580"
108
+ longitude="-73.9855"
109
+ mode="compact">
110
+ </snice-location>
111
+
112
+ <!-- Coordinates only -->
113
+ <snice-location
114
+ latitude="40.7580"
115
+ longitude="-73.9855"
116
+ mode="coordinates">
117
+ </snice-location>
118
+
119
+ <!-- Address only -->
120
+ <snice-location
121
+ name="Brooklyn Bridge"
122
+ address="Brooklyn Bridge"
123
+ city="New York"
124
+ state="NY"
125
+ mode="address">
126
+ </snice-location>
127
+ ```
128
+
129
+ ### Custom Icons
130
+
131
+ ```html
132
+ <!-- Emoji icon -->
133
+ <snice-location
134
+ name="Office"
135
+ address="123 Business Blvd"
136
+ icon="🏢">
137
+ </snice-location>
138
+
139
+ <!-- Image icon -->
140
+ <snice-location
141
+ name="Store"
142
+ address="456 Shopping Ave"
143
+ icon-image="/icons/store.svg">
144
+ </snice-location>
145
+
146
+ <!-- No icon -->
147
+ <snice-location
148
+ name="Home"
149
+ address="789 Residential St"
150
+ show-icon="false">
151
+ </snice-location>
152
+ ```
153
+
154
+ ### Interactive Locations
155
+
156
+ ```html
157
+ <!-- Clickable location -->
158
+ <snice-location
159
+ name="Golden Gate Bridge"
160
+ latitude="37.8199"
161
+ longitude="-122.4783"
162
+ clickable>
163
+ </snice-location>
164
+
165
+ <!-- Custom map URL -->
166
+ <snice-location
167
+ name="Custom Location"
168
+ latitude="34.0522"
169
+ longitude="-118.2437"
170
+ clickable
171
+ map-url="https://www.openstreetmap.org/?mlat=34.0522&mlon=-118.2437">
172
+ </snice-location>
173
+ ```
174
+
175
+ ### Embedded Maps
176
+
177
+ ```html
178
+ <!-- Show embedded map -->
179
+ <snice-location
180
+ name="Statue of Liberty"
181
+ address="Liberty Island"
182
+ city="New York"
183
+ state="NY"
184
+ latitude="40.6892"
185
+ longitude="-74.0445"
186
+ show-map>
187
+ </snice-location>
188
+ ```
189
+
190
+ ### Complete Address
191
+
192
+ ```html
193
+ <snice-location
194
+ name="White House"
195
+ address="1600 Pennsylvania Avenue NW"
196
+ city="Washington"
197
+ state="DC"
198
+ zip-code="20500"
199
+ country="USA"
200
+ latitude="38.8977"
201
+ longitude="-77.0365"
202
+ clickable>
203
+ </snice-location>
204
+ ```
205
+
206
+ ### Restaurant Location
207
+
208
+ ```html
209
+ <snice-location
210
+ name="Blue Hill"
211
+ address="75 Washington Pl"
212
+ city="New York"
213
+ state="NY"
214
+ zip-code="10011"
215
+ latitude="40.7308"
216
+ longitude="-73.9973"
217
+ icon="🍽️"
218
+ clickable>
219
+ </snice-location>
220
+ ```
221
+
222
+ ### Park Location
223
+
224
+ ```html
225
+ <snice-location
226
+ name="Millennium Park"
227
+ address="201 E Randolph St"
228
+ city="Chicago"
229
+ state="IL"
230
+ latitude="41.8826"
231
+ longitude="-87.6226"
232
+ icon="🌳"
233
+ mode="full"
234
+ clickable>
235
+ </snice-location>
236
+ ```
237
+
238
+ ### Airport Location
239
+
240
+ ```html
241
+ <snice-location
242
+ name="LAX"
243
+ address="1 World Way"
244
+ city="Los Angeles"
245
+ state="CA"
246
+ zip-code="90045"
247
+ latitude="33.9416"
248
+ longitude="-118.4085"
249
+ icon="✈️"
250
+ clickable>
251
+ </snice-location>
252
+ ```
253
+
254
+ ### Hospital Location
255
+
256
+ ```html
257
+ <snice-location
258
+ name="Mayo Clinic"
259
+ address="200 First St SW"
260
+ city="Rochester"
261
+ state="MN"
262
+ zip-code="55905"
263
+ latitude="44.0225"
264
+ longitude="-92.4666"
265
+ icon="🏥"
266
+ show-map>
267
+ </snice-location>
268
+ ```
269
+
270
+ ### University Location
271
+
272
+ ```html
273
+ <snice-location
274
+ name="MIT"
275
+ address="77 Massachusetts Ave"
276
+ city="Cambridge"
277
+ state="MA"
278
+ zip-code="02139"
279
+ latitude="42.3601"
280
+ longitude="-71.0942"
281
+ icon="🎓"
282
+ mode="compact"
283
+ clickable>
284
+ </snice-location>
285
+ ```
286
+
287
+ ### Hotel Location
288
+
289
+ ```html
290
+ <snice-location
291
+ name="The Plaza Hotel"
292
+ address="768 5th Ave"
293
+ city="New York"
294
+ state="NY"
295
+ zip-code="10019"
296
+ latitude="40.7643"
297
+ longitude="-73.9747"
298
+ icon="🏨"
299
+ clickable>
300
+ </snice-location>
301
+ ```
302
+
303
+ ### Museum Location
304
+
305
+ ```html
306
+ <snice-location
307
+ name="The Met"
308
+ address="1000 5th Ave"
309
+ city="New York"
310
+ state="NY"
311
+ zip-code="10028"
312
+ latitude="40.7794"
313
+ longitude="-73.9632"
314
+ icon="🏛️"
315
+ show-map>
316
+ </snice-location>
317
+ ```
318
+
319
+ ### Stadium Location
320
+
321
+ ```html
322
+ <snice-location
323
+ name="Yankee Stadium"
324
+ address="1 E 161st St"
325
+ city="Bronx"
326
+ state="NY"
327
+ zip-code="10451"
328
+ latitude="40.8296"
329
+ longitude="-73.9262"
330
+ icon="⚾"
331
+ clickable>
332
+ </snice-location>
333
+ ```
334
+
335
+ ## Programmatic Usage
336
+
337
+ ```javascript
338
+ const location = document.createElement('snice-location');
339
+ location.name = 'Central Park';
340
+ location.latitude = 40.7829;
341
+ location.longitude = -73.9654;
342
+ location.clickable = true;
343
+
344
+ location.addEventListener('location-click', (e) => {
345
+ console.log('Clicked:', e.detail);
346
+ });
347
+
348
+ // Get data
349
+ const data = location.getData();
350
+ const coords = location.getCoordinates();
351
+ const address = location.getFullAddress();
352
+
353
+ // Open in maps
354
+ location.openMap();
355
+ ```
356
+
357
+ ## Accessibility
358
+
359
+ - Use descriptive `name` attributes for screen readers
360
+ - Clickable locations are keyboard accessible
361
+ - Icons should be decorative; location name provides context
362
+ - Map iframes include proper loading attributes
363
+
364
+ ## Browser Support
365
+
366
+ - Modern browsers with Custom Elements v1 support
367
+ - Embedded maps require internet connection
368
+ - Default map provider is Google Maps
369
+ - Custom map URLs can use alternative providers