snice 3.2.0 → 3.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (413) hide show
  1. package/bin/templates/base/src/components/counter-button.ts +2 -2
  2. package/bin/templates/base/src/pages/about-page.ts +8 -5
  3. package/bin/templates/base/src/pages/home-page.ts +9 -6
  4. package/bin/templates/base/src/pages/not-found-page.ts +7 -4
  5. package/dist/components/accordion/snice-accordion-item.d.ts +2 -2
  6. package/dist/components/accordion/snice-accordion-item.js +9 -9
  7. package/dist/components/accordion/snice-accordion-item.js.map +1 -1
  8. package/dist/components/accordion/snice-accordion.d.ts +2 -2
  9. package/dist/components/accordion/snice-accordion.js +9 -9
  10. package/dist/components/accordion/snice-accordion.js.map +1 -1
  11. package/dist/components/actions/snice-actions.d.ts +28 -0
  12. package/dist/components/actions/snice-actions.js +220 -0
  13. package/dist/components/actions/snice-actions.js.map +1 -0
  14. package/dist/components/actions/snice-actions.types.d.ts +27 -0
  15. package/dist/components/alert/snice-alert.d.ts +2 -2
  16. package/dist/components/alert/snice-alert.js +8 -8
  17. package/dist/components/alert/snice-alert.js.map +1 -1
  18. package/dist/components/audio-recorder/snice-audio-recorder.d.ts +58 -0
  19. package/dist/components/audio-recorder/snice-audio-recorder.js +413 -0
  20. package/dist/components/audio-recorder/snice-audio-recorder.js.map +1 -0
  21. package/dist/components/audio-recorder/snice-audio-recorder.types.d.ts +28 -0
  22. package/dist/components/avatar/snice-avatar.d.ts +2 -2
  23. package/dist/components/avatar/snice-avatar.js +9 -9
  24. package/dist/components/avatar/snice-avatar.js.map +1 -1
  25. package/dist/components/badge/snice-badge.d.ts +2 -2
  26. package/dist/components/badge/snice-badge.js +10 -10
  27. package/dist/components/badge/snice-badge.js.map +1 -1
  28. package/dist/components/banner/snice-banner.d.ts +2 -2
  29. package/dist/components/banner/snice-banner.js +8 -8
  30. package/dist/components/banner/snice-banner.js.map +1 -1
  31. package/dist/components/breadcrumbs/snice-breadcrumbs.d.ts +2 -2
  32. package/dist/components/breadcrumbs/snice-breadcrumbs.js +11 -11
  33. package/dist/components/breadcrumbs/snice-breadcrumbs.js.map +1 -1
  34. package/dist/components/button/snice-button.d.ts +2 -2
  35. package/dist/components/button/snice-button.js +8 -8
  36. package/dist/components/button/snice-button.js.map +1 -1
  37. package/dist/components/calendar/snice-calendar.d.ts +46 -0
  38. package/dist/components/calendar/snice-calendar.js +294 -0
  39. package/dist/components/calendar/snice-calendar.js.map +1 -0
  40. package/dist/components/calendar/snice-calendar.types.d.ts +34 -0
  41. package/dist/components/camera/snice-camera.d.ts +39 -0
  42. package/dist/components/camera/snice-camera.js +286 -0
  43. package/dist/components/camera/snice-camera.js.map +1 -0
  44. package/dist/components/camera/snice-camera.types.d.ts +28 -0
  45. package/dist/components/card/snice-card.d.ts +2 -2
  46. package/dist/components/card/snice-card.js +9 -9
  47. package/dist/components/card/snice-card.js.map +1 -1
  48. package/dist/components/carousel/snice-carousel.d.ts +32 -0
  49. package/dist/components/carousel/snice-carousel.js +279 -0
  50. package/dist/components/carousel/snice-carousel.js.map +1 -0
  51. package/dist/components/carousel/snice-carousel.types.d.ts +22 -0
  52. package/dist/components/chart/snice-chart.d.ts +73 -0
  53. package/dist/components/chart/snice-chart.js +946 -0
  54. package/dist/components/chart/snice-chart.js.map +1 -0
  55. package/dist/components/chart/snice-chart.types.d.ts +71 -0
  56. package/dist/components/chat/snice-chat.d.ts +98 -0
  57. package/dist/components/chat/snice-chat.js +589 -0
  58. package/dist/components/chat/snice-chat.js.map +1 -0
  59. package/dist/components/chat/snice-chat.types.d.ts +141 -0
  60. package/dist/components/checkbox/snice-checkbox.d.ts +2 -2
  61. package/dist/components/checkbox/snice-checkbox.js +8 -8
  62. package/dist/components/checkbox/snice-checkbox.js.map +1 -1
  63. package/dist/components/chip/snice-chip.d.ts +2 -2
  64. package/dist/components/chip/snice-chip.js +8 -8
  65. package/dist/components/chip/snice-chip.js.map +1 -1
  66. package/dist/components/code-block/snice-code-block.d.ts +15 -0
  67. package/dist/components/code-block/snice-code-block.js +141 -0
  68. package/dist/components/code-block/snice-code-block.js.map +1 -0
  69. package/dist/components/code-block/snice-code-block.types.d.ts +15 -0
  70. package/dist/components/color-display/snice-color-display.d.ts +2 -2
  71. package/dist/components/color-display/snice-color-display.js +10 -10
  72. package/dist/components/color-display/snice-color-display.js.map +1 -1
  73. package/dist/components/color-picker/snice-color-picker.d.ts +2 -2
  74. package/dist/components/color-picker/snice-color-picker.js +8 -8
  75. package/dist/components/color-picker/snice-color-picker.js.map +1 -1
  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 +9 -9
  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 +10 -10
  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 +2 -2
  98. package/dist/components/empty-state/snice-empty-state.js +8 -8
  99. package/dist/components/empty-state/snice-empty-state.js.map +1 -1
  100. package/dist/components/file-upload/snice-file-upload.d.ts +2 -3
  101. package/dist/components/file-upload/snice-file-upload.js +8 -15
  102. package/dist/components/file-upload/snice-file-upload.js.map +1 -1
  103. package/dist/components/gantt/snice-gantt.d.ts +29 -0
  104. package/dist/components/gantt/snice-gantt.js +268 -0
  105. package/dist/components/gantt/snice-gantt.js.map +1 -0
  106. package/dist/components/gantt/snice-gantt.types.d.ts +23 -0
  107. package/dist/components/image/snice-image.d.ts +2 -2
  108. package/dist/components/image/snice-image.js +11 -11
  109. package/dist/components/image/snice-image.js.map +1 -1
  110. package/dist/components/input/snice-input.d.ts +2 -2
  111. package/dist/components/input/snice-input.js +8 -8
  112. package/dist/components/input/snice-input.js.map +1 -1
  113. package/dist/components/kanban/snice-kanban.d.ts +31 -0
  114. package/dist/components/kanban/snice-kanban.js +243 -0
  115. package/dist/components/kanban/snice-kanban.js.map +1 -0
  116. package/dist/components/kanban/snice-kanban.types.d.ts +29 -0
  117. package/dist/components/kpi/snice-kpi.d.ts +2 -2
  118. package/dist/components/kpi/snice-kpi.js +11 -11
  119. package/dist/components/kpi/snice-kpi.js.map +1 -1
  120. package/dist/components/layout/snice-layout-blog.d.ts +2 -2
  121. package/dist/components/layout/snice-layout-blog.js +8 -8
  122. package/dist/components/layout/snice-layout-blog.js.map +1 -1
  123. package/dist/components/layout/snice-layout-card.d.ts +2 -2
  124. package/dist/components/layout/snice-layout-card.js +8 -8
  125. package/dist/components/layout/snice-layout-card.js.map +1 -1
  126. package/dist/components/layout/snice-layout-centered.d.ts +2 -2
  127. package/dist/components/layout/snice-layout-centered.js +8 -8
  128. package/dist/components/layout/snice-layout-centered.js.map +1 -1
  129. package/dist/components/layout/snice-layout-dashboard.d.ts +2 -2
  130. package/dist/components/layout/snice-layout-dashboard.js +8 -8
  131. package/dist/components/layout/snice-layout-dashboard.js.map +1 -1
  132. package/dist/components/layout/snice-layout-fullscreen.d.ts +2 -2
  133. package/dist/components/layout/snice-layout-fullscreen.js +8 -8
  134. package/dist/components/layout/snice-layout-fullscreen.js.map +1 -1
  135. package/dist/components/layout/snice-layout-landing.d.ts +2 -2
  136. package/dist/components/layout/snice-layout-landing.js +8 -8
  137. package/dist/components/layout/snice-layout-landing.js.map +1 -1
  138. package/dist/components/layout/snice-layout-minimal.d.ts +2 -2
  139. package/dist/components/layout/snice-layout-minimal.js +8 -8
  140. package/dist/components/layout/snice-layout-minimal.js.map +1 -1
  141. package/dist/components/layout/snice-layout-sidebar.d.ts +2 -2
  142. package/dist/components/layout/snice-layout-sidebar.js +8 -8
  143. package/dist/components/layout/snice-layout-sidebar.js.map +1 -1
  144. package/dist/components/layout/snice-layout-split.d.ts +2 -2
  145. package/dist/components/layout/snice-layout-split.js +8 -8
  146. package/dist/components/layout/snice-layout-split.js.map +1 -1
  147. package/dist/components/layout/snice-layout.d.ts +2 -2
  148. package/dist/components/layout/snice-layout.js +8 -8
  149. package/dist/components/layout/snice-layout.js.map +1 -1
  150. package/dist/components/link/snice-link.d.ts +2 -2
  151. package/dist/components/link/snice-link.js +10 -10
  152. package/dist/components/link/snice-link.js.map +1 -1
  153. package/dist/components/list/snice-list-item.d.ts +6 -0
  154. package/dist/components/list/snice-list-item.js +68 -0
  155. package/dist/components/list/snice-list-item.js.map +1 -0
  156. package/dist/components/list/snice-list.d.ts +23 -0
  157. package/dist/components/list/snice-list.js +276 -0
  158. package/dist/components/list/snice-list.js.map +1 -0
  159. package/dist/components/list/snice-list.types.d.ts +10 -0
  160. package/dist/components/location/snice-location.d.ts +35 -0
  161. package/dist/components/location/snice-location.js +238 -0
  162. package/dist/components/location/snice-location.js.map +1 -0
  163. package/dist/components/location/snice-location.types.d.ts +35 -0
  164. package/dist/components/login/snice-login.d.ts +2 -2
  165. package/dist/components/login/snice-login.js +8 -8
  166. package/dist/components/login/snice-login.js.map +1 -1
  167. package/dist/components/menu/snice-menu-divider.d.ts +4 -0
  168. package/dist/components/menu/snice-menu-divider.js +53 -0
  169. package/dist/components/menu/snice-menu-divider.js.map +1 -0
  170. package/dist/components/menu/snice-menu-item.d.ts +10 -0
  171. package/dist/components/menu/snice-menu-item.js +99 -0
  172. package/dist/components/menu/snice-menu-item.js.map +1 -0
  173. package/dist/components/menu/snice-menu-item.types.d.ts +9 -0
  174. package/dist/components/menu/snice-menu.d.ts +27 -0
  175. package/dist/components/menu/snice-menu.js +199 -0
  176. package/dist/components/menu/snice-menu.js.map +1 -0
  177. package/dist/components/menu/snice-menu.types.d.ts +18 -0
  178. package/dist/components/modal/snice-modal.d.ts +2 -2
  179. package/dist/components/modal/snice-modal.js +8 -8
  180. package/dist/components/modal/snice-modal.js.map +1 -1
  181. package/dist/components/nav/snice-nav.js.map +1 -1
  182. package/dist/components/pagination/snice-pagination.d.ts +2 -2
  183. package/dist/components/pagination/snice-pagination.js +8 -8
  184. package/dist/components/pagination/snice-pagination.js.map +1 -1
  185. package/dist/components/progress/snice-progress.d.ts +2 -2
  186. package/dist/components/progress/snice-progress.js +10 -10
  187. package/dist/components/progress/snice-progress.js.map +1 -1
  188. package/dist/components/qr-code/qrcode.d.ts +28 -0
  189. package/dist/components/qr-code/qrcode.js +916 -0
  190. package/dist/components/qr-code/qrcode.js.map +1 -0
  191. package/dist/components/qr-code/snice-qr-code.d.ts +35 -0
  192. package/dist/components/qr-code/snice-qr-code.js +263 -0
  193. package/dist/components/qr-code/snice-qr-code.js.map +1 -0
  194. package/dist/components/qr-code/snice-qr-code.types.d.ts +33 -0
  195. package/dist/components/radio/snice-radio.d.ts +2 -2
  196. package/dist/components/radio/snice-radio.js +8 -8
  197. package/dist/components/radio/snice-radio.js.map +1 -1
  198. package/dist/components/select/snice-option.d.ts +2 -2
  199. package/dist/components/select/snice-option.js +8 -8
  200. package/dist/components/select/snice-option.js.map +1 -1
  201. package/dist/components/select/snice-select.d.ts +2 -2
  202. package/dist/components/select/snice-select.js +9 -9
  203. package/dist/components/select/snice-select.js.map +1 -1
  204. package/dist/components/skeleton/snice-skeleton.d.ts +2 -2
  205. package/dist/components/skeleton/snice-skeleton.js +9 -9
  206. package/dist/components/skeleton/snice-skeleton.js.map +1 -1
  207. package/dist/components/slider/snice-slider.d.ts +2 -2
  208. package/dist/components/slider/snice-slider.js +8 -8
  209. package/dist/components/slider/snice-slider.js.map +1 -1
  210. package/dist/components/sparkline/snice-sparkline.d.ts +2 -2
  211. package/dist/components/sparkline/snice-sparkline.js +10 -10
  212. package/dist/components/sparkline/snice-sparkline.js.map +1 -1
  213. package/dist/components/spinner/snice-spinner.d.ts +2 -2
  214. package/dist/components/spinner/snice-spinner.js +10 -10
  215. package/dist/components/spinner/snice-spinner.js.map +1 -1
  216. package/dist/components/split-pane/snice-split-pane.d.ts +32 -0
  217. package/dist/components/split-pane/snice-split-pane.js +191 -0
  218. package/dist/components/split-pane/snice-split-pane.js.map +1 -0
  219. package/dist/components/split-pane/snice-split-pane.types.d.ts +19 -0
  220. package/dist/components/stat/snice-stat.d.ts +14 -0
  221. package/dist/components/stat/snice-stat.js +140 -0
  222. package/dist/components/stat/snice-stat.js.map +1 -0
  223. package/dist/components/stat/snice-stat.types.d.ts +12 -0
  224. package/dist/components/stepper/snice-stepper-panel.d.ts +2 -2
  225. package/dist/components/stepper/snice-stepper-panel.js +10 -10
  226. package/dist/components/stepper/snice-stepper-panel.js.map +1 -1
  227. package/dist/components/stepper/snice-stepper.d.ts +2 -2
  228. package/dist/components/stepper/snice-stepper.js +11 -11
  229. package/dist/components/stepper/snice-stepper.js.map +1 -1
  230. package/dist/components/switch/snice-switch.d.ts +2 -2
  231. package/dist/components/switch/snice-switch.js +8 -8
  232. package/dist/components/switch/snice-switch.js.map +1 -1
  233. package/dist/components/table/snice-cell-actions.d.ts +2 -2
  234. package/dist/components/table/snice-cell-actions.js +8 -8
  235. package/dist/components/table/snice-cell-actions.js.map +1 -1
  236. package/dist/components/table/snice-cell-boolean.d.ts +2 -2
  237. package/dist/components/table/snice-cell-boolean.js +8 -8
  238. package/dist/components/table/snice-cell-boolean.js.map +1 -1
  239. package/dist/components/table/snice-cell-color.d.ts +2 -2
  240. package/dist/components/table/snice-cell-color.js +8 -8
  241. package/dist/components/table/snice-cell-color.js.map +1 -1
  242. package/dist/components/table/snice-cell-currency.d.ts +2 -2
  243. package/dist/components/table/snice-cell-currency.js +8 -8
  244. package/dist/components/table/snice-cell-currency.js.map +1 -1
  245. package/dist/components/table/snice-cell-date.d.ts +2 -2
  246. package/dist/components/table/snice-cell-date.js +8 -8
  247. package/dist/components/table/snice-cell-date.js.map +1 -1
  248. package/dist/components/table/snice-cell-duration.d.ts +2 -2
  249. package/dist/components/table/snice-cell-duration.js +8 -8
  250. package/dist/components/table/snice-cell-duration.js.map +1 -1
  251. package/dist/components/table/snice-cell-email.d.ts +2 -2
  252. package/dist/components/table/snice-cell-email.js +8 -8
  253. package/dist/components/table/snice-cell-email.js.map +1 -1
  254. package/dist/components/table/snice-cell-filesize.d.ts +2 -2
  255. package/dist/components/table/snice-cell-filesize.js +8 -8
  256. package/dist/components/table/snice-cell-filesize.js.map +1 -1
  257. package/dist/components/table/snice-cell-image.d.ts +2 -2
  258. package/dist/components/table/snice-cell-image.js +8 -8
  259. package/dist/components/table/snice-cell-image.js.map +1 -1
  260. package/dist/components/table/snice-cell-json.d.ts +2 -2
  261. package/dist/components/table/snice-cell-json.js +8 -8
  262. package/dist/components/table/snice-cell-json.js.map +1 -1
  263. package/dist/components/table/snice-cell-link.d.ts +2 -2
  264. package/dist/components/table/snice-cell-link.js +8 -8
  265. package/dist/components/table/snice-cell-link.js.map +1 -1
  266. package/dist/components/table/snice-cell-location.d.ts +2 -2
  267. package/dist/components/table/snice-cell-location.js +8 -8
  268. package/dist/components/table/snice-cell-location.js.map +1 -1
  269. package/dist/components/table/snice-cell-number.d.ts +2 -2
  270. package/dist/components/table/snice-cell-number.js +8 -8
  271. package/dist/components/table/snice-cell-number.js.map +1 -1
  272. package/dist/components/table/snice-cell-percentage.d.ts +2 -2
  273. package/dist/components/table/snice-cell-percentage.js +8 -8
  274. package/dist/components/table/snice-cell-percentage.js.map +1 -1
  275. package/dist/components/table/snice-cell-phone.d.ts +2 -2
  276. package/dist/components/table/snice-cell-phone.js +8 -8
  277. package/dist/components/table/snice-cell-phone.js.map +1 -1
  278. package/dist/components/table/snice-cell-progress.d.ts +2 -2
  279. package/dist/components/table/snice-cell-progress.js +8 -8
  280. package/dist/components/table/snice-cell-progress.js.map +1 -1
  281. package/dist/components/table/snice-cell-rating.d.ts +2 -2
  282. package/dist/components/table/snice-cell-rating.js +8 -8
  283. package/dist/components/table/snice-cell-rating.js.map +1 -1
  284. package/dist/components/table/snice-cell-sparkline.d.ts +2 -2
  285. package/dist/components/table/snice-cell-sparkline.js +8 -8
  286. package/dist/components/table/snice-cell-sparkline.js.map +1 -1
  287. package/dist/components/table/snice-cell-status.d.ts +2 -2
  288. package/dist/components/table/snice-cell-status.js +8 -8
  289. package/dist/components/table/snice-cell-status.js.map +1 -1
  290. package/dist/components/table/snice-cell-tag.d.ts +2 -2
  291. package/dist/components/table/snice-cell-tag.js +8 -8
  292. package/dist/components/table/snice-cell-tag.js.map +1 -1
  293. package/dist/components/table/snice-cell-text.d.ts +2 -2
  294. package/dist/components/table/snice-cell-text.js +8 -8
  295. package/dist/components/table/snice-cell-text.js.map +1 -1
  296. package/dist/components/table/snice-cell.d.ts +2 -2
  297. package/dist/components/table/snice-cell.js +8 -8
  298. package/dist/components/table/snice-cell.js.map +1 -1
  299. package/dist/components/table/snice-column.d.ts +1 -1
  300. package/dist/components/table/snice-column.js +4 -4
  301. package/dist/components/table/snice-column.js.map +1 -1
  302. package/dist/components/table/snice-header.d.ts +2 -2
  303. package/dist/components/table/snice-header.js +8 -8
  304. package/dist/components/table/snice-header.js.map +1 -1
  305. package/dist/components/table/snice-progress.d.ts +2 -2
  306. package/dist/components/table/snice-progress.js +8 -8
  307. package/dist/components/table/snice-progress.js.map +1 -1
  308. package/dist/components/table/snice-rating.d.ts +2 -2
  309. package/dist/components/table/snice-rating.js +8 -8
  310. package/dist/components/table/snice-rating.js.map +1 -1
  311. package/dist/components/table/snice-row.d.ts +2 -2
  312. package/dist/components/table/snice-row.js +8 -8
  313. package/dist/components/table/snice-row.js.map +1 -1
  314. package/dist/components/table/snice-table.d.ts +2 -3
  315. package/dist/components/table/snice-table.js +8 -13
  316. package/dist/components/table/snice-table.js.map +1 -1
  317. package/dist/components/tabs/snice-tab-panel.d.ts +2 -2
  318. package/dist/components/tabs/snice-tab-panel.js +8 -8
  319. package/dist/components/tabs/snice-tab-panel.js.map +1 -1
  320. package/dist/components/tabs/snice-tab.d.ts +2 -2
  321. package/dist/components/tabs/snice-tab.js +8 -8
  322. package/dist/components/tabs/snice-tab.js.map +1 -1
  323. package/dist/components/tabs/snice-tabs.d.ts +2 -2
  324. package/dist/components/tabs/snice-tabs.js +8 -8
  325. package/dist/components/tabs/snice-tabs.js.map +1 -1
  326. package/dist/components/terminal/snice-terminal.types.d.ts +133 -0
  327. package/dist/components/textarea/snice-textarea.d.ts +2 -2
  328. package/dist/components/textarea/snice-textarea.js +8 -8
  329. package/dist/components/textarea/snice-textarea.js.map +1 -1
  330. package/dist/components/timeline/snice-timeline.d.ts +1 -1
  331. package/dist/components/timeline/snice-timeline.js +7 -7
  332. package/dist/components/timeline/snice-timeline.js.map +1 -1
  333. package/dist/components/toast/snice-toast-container.d.ts +2 -2
  334. package/dist/components/toast/snice-toast-container.js +8 -8
  335. package/dist/components/toast/snice-toast-container.js.map +1 -1
  336. package/dist/components/toast/snice-toast.d.ts +2 -2
  337. package/dist/components/toast/snice-toast.js +8 -8
  338. package/dist/components/toast/snice-toast.js.map +1 -1
  339. package/dist/components/tooltip/snice-tooltip.d.ts +2 -2
  340. package/dist/components/tooltip/snice-tooltip.js +8 -8
  341. package/dist/components/tooltip/snice-tooltip.js.map +1 -1
  342. package/dist/components/tree/snice-tree-item.d.ts +35 -0
  343. package/dist/components/tree/snice-tree-item.js +301 -0
  344. package/dist/components/tree/snice-tree-item.js.map +1 -0
  345. package/dist/components/tree/snice-tree-item.types.d.ts +30 -0
  346. package/dist/components/tree/snice-tree.d.ts +45 -0
  347. package/dist/components/tree/snice-tree.js +390 -0
  348. package/dist/components/tree/snice-tree.js.map +1 -0
  349. package/dist/components/tree/snice-tree.types.d.ts +65 -0
  350. package/dist/components/virtual-scroller/snice-virtual-scroller.d.ts +31 -0
  351. package/dist/components/virtual-scroller/snice-virtual-scroller.js +160 -0
  352. package/dist/components/virtual-scroller/snice-virtual-scroller.js.map +1 -0
  353. package/dist/components/virtual-scroller/snice-virtual-scroller.types.d.ts +19 -0
  354. package/dist/index.cjs +1 -1
  355. package/dist/index.esm.js +1 -1
  356. package/dist/index.iife.js +1 -1
  357. package/dist/symbols.cjs +1 -1
  358. package/dist/symbols.esm.js +1 -1
  359. package/dist/transitions.cjs +1 -1
  360. package/dist/transitions.esm.js +1 -1
  361. package/docs/ai/components/actions.md +81 -0
  362. package/docs/ai/components/audio-recorder.md +97 -0
  363. package/docs/ai/components/calendar.md +95 -0
  364. package/docs/ai/components/camera.md +130 -0
  365. package/docs/ai/components/carousel.md +49 -0
  366. package/docs/ai/components/chart.md +160 -0
  367. package/docs/ai/components/chat.md +189 -0
  368. package/docs/ai/components/code-block.md +32 -0
  369. package/docs/ai/components/command-palette.md +117 -0
  370. package/docs/ai/components/doc.md +154 -0
  371. package/docs/ai/components/draw.md +140 -0
  372. package/docs/ai/components/gantt.md +95 -0
  373. package/docs/ai/components/kanban.md +102 -0
  374. package/docs/ai/components/layout.md +261 -0
  375. package/docs/ai/components/list.md +50 -0
  376. package/docs/ai/components/location.md +75 -0
  377. package/docs/ai/components/menu.md +114 -0
  378. package/docs/ai/components/popover.md +70 -0
  379. package/docs/ai/components/qr-code.md +106 -0
  380. package/docs/ai/components/split-pane.md +71 -0
  381. package/docs/ai/components/stat.md +29 -0
  382. package/docs/ai/components/tree.md +191 -0
  383. package/docs/ai/components/virtual-scroller.md +71 -0
  384. package/docs/components/actions.md +317 -0
  385. package/docs/components/alert.md +540 -0
  386. package/docs/components/audio-recorder.md +152 -0
  387. package/docs/components/badge.md +593 -0
  388. package/docs/components/breadcrumbs.md +568 -0
  389. package/docs/components/button.md +648 -0
  390. package/docs/components/calendar.md +397 -0
  391. package/docs/components/camera.md +383 -0
  392. package/docs/components/card.md +778 -0
  393. package/docs/components/carousel.md +63 -0
  394. package/docs/components/chart.md +526 -0
  395. package/docs/components/chat.md +482 -0
  396. package/docs/components/checkbox.md +714 -0
  397. package/docs/components/chip.md +670 -0
  398. package/docs/components/code-block.md +49 -0
  399. package/docs/components/command-palette.md +159 -0
  400. package/docs/components/doc.md +357 -0
  401. package/docs/components/draw.md +307 -0
  402. package/docs/components/gantt.md +347 -0
  403. package/docs/components/kanban.md +410 -0
  404. package/docs/components/list.md +65 -0
  405. package/docs/components/location.md +369 -0
  406. package/docs/components/menu.md +633 -0
  407. package/docs/components/popover.md +333 -0
  408. package/docs/components/qr-code.md +464 -0
  409. package/docs/components/split-pane.md +315 -0
  410. package/docs/components/stat.md +45 -0
  411. package/docs/components/tree.md +536 -0
  412. package/docs/components/virtual-scroller.md +298 -0
  413. package/package.json +1 -1
@@ -0,0 +1,27 @@
1
+ export type ActionButtonSize = 'small' | 'medium' | 'large';
2
+ export type ActionButtonVariant = 'text' | 'outlined' | 'filled';
3
+ export interface ActionButton {
4
+ id: string;
5
+ label?: string;
6
+ icon?: string;
7
+ iconImage?: string;
8
+ variant?: ActionButtonVariant;
9
+ disabled?: boolean;
10
+ danger?: boolean;
11
+ tooltip?: string;
12
+ action?: () => void | Promise<void>;
13
+ href?: string;
14
+ target?: string;
15
+ data?: any;
16
+ }
17
+ export interface SniceActionsElement extends HTMLElement {
18
+ actions: ActionButton[];
19
+ size: ActionButtonSize;
20
+ variant: ActionButtonVariant;
21
+ showLabels: boolean;
22
+ maxVisible: number;
23
+ moreLabel: string;
24
+ moreIcon: string;
25
+ triggerAction(id: string): void;
26
+ getAction(id: string): ActionButton | undefined;
27
+ }
@@ -7,8 +7,8 @@ export declare class SniceAlert extends HTMLElement implements SniceAlertElement
7
7
  icon: string;
8
8
  alertElement?: HTMLElement;
9
9
  private isHidden;
10
- renderContent(): import("snice").TemplateResult;
11
- componentStyles(): import("snice").CSSResult;
10
+ render(): import("snice").TemplateResult;
11
+ styles(): import("snice").CSSResult;
12
12
  private shouldShowDefaultIcon;
13
13
  handleDismiss(): {
14
14
  variant: AlertVariant;
@@ -28,8 +28,8 @@ let SniceAlert = (() => {
28
28
  let _alertElement_decorators;
29
29
  let _alertElement_initializers = [];
30
30
  let _alertElement_extraInitializers = [];
31
- let _renderContent_decorators;
32
- let _componentStyles_decorators;
31
+ let _render_decorators;
32
+ let _styles_decorators;
33
33
  let _handleDismiss_decorators;
34
34
  let _dispatchAlertHidden_decorators;
35
35
  let _dispatchAlertShown_decorators;
@@ -53,13 +53,13 @@ let SniceAlert = (() => {
53
53
  _dismissible_decorators = [property({ type: Boolean, })];
54
54
  _icon_decorators = [property({})];
55
55
  _alertElement_decorators = [query('.alert')];
56
- _renderContent_decorators = [render()];
57
- _componentStyles_decorators = [styles()];
56
+ _render_decorators = [render()];
57
+ _styles_decorators = [styles()];
58
58
  _handleDismiss_decorators = [dispatch('alert-dismiss')];
59
59
  _dispatchAlertHidden_decorators = [dispatch('alert-hidden')];
60
60
  _dispatchAlertShown_decorators = [dispatch('alert-shown')];
61
- __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);
62
- __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);
61
+ __esDecorate(this, null, _render_decorators, { kind: "method", name: "render", static: false, private: false, access: { has: obj => "render" in obj, get: obj => obj.render }, metadata: _metadata }, null, _instanceExtraInitializers);
62
+ __esDecorate(this, null, _styles_decorators, { kind: "method", name: "styles", static: false, private: false, access: { has: obj => "styles" in obj, get: obj => obj.styles }, metadata: _metadata }, null, _instanceExtraInitializers);
63
63
  __esDecorate(this, null, _handleDismiss_decorators, { kind: "method", name: "handleDismiss", static: false, private: false, access: { has: obj => "handleDismiss" in obj, get: obj => obj.handleDismiss }, metadata: _metadata }, null, _instanceExtraInitializers);
64
64
  __esDecorate(this, null, _dispatchAlertHidden_decorators, { kind: "method", name: "dispatchAlertHidden", static: false, private: false, access: { has: obj => "dispatchAlertHidden" in obj, get: obj => obj.dispatchAlertHidden }, metadata: _metadata }, null, _instanceExtraInitializers);
65
65
  __esDecorate(this, null, _dispatchAlertShown_decorators, { kind: "method", name: "dispatchAlertShown", static: false, private: false, access: { has: obj => "dispatchAlertShown" in obj, get: obj => obj.dispatchAlertShown }, metadata: _metadata }, null, _instanceExtraInitializers);
@@ -74,7 +74,7 @@ let SniceAlert = (() => {
74
74
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
75
75
  __runInitializers(_classThis, _classExtraInitializers);
76
76
  }
77
- renderContent() {
77
+ render() {
78
78
  const hasIcon = this.icon ? this.icon !== 'none' : this.shouldShowDefaultIcon();
79
79
  const classes = [
80
80
  'alert',
@@ -109,7 +109,7 @@ let SniceAlert = (() => {
109
109
  </div>
110
110
  `;
111
111
  }
112
- componentStyles() {
112
+ styles() {
113
113
  return css /*css*/ `${cssContent}`;
114
114
  }
115
115
  shouldShowDefaultIcon() {
@@ -1 +1 @@
1
- {"version":3,"file":"snice-alert.js","sources":["../../../components/alert/snice-alert.css?inline","../../../../components/alert/snice-alert.ts"],"sourcesContent":["export default \":host{display:block;--alert-padding:0.75rem 1rem;--alert-border-radius:6px;--alert-font-size:0.875rem;--alert-icon-size:1.25rem;--alert-border-width:1px}.alert{display:flex;align-items:flex-start;padding:var(--alert-padding);border-radius:var(--alert-border-radius);font-size:var(--alert-font-size);line-height:1.5;border:var(--alert-border-width) solid;position:relative;animation:.3s slideIn}.alert--hidden{display:none}@keyframes slideIn{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideOut{from{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-10px)}}.alert--hiding{animation:.3s forwards slideOut}:host([variant=info]) .alert{background:rgb(var(--snice-color-blue-50,239 246 255));border-color:rgb(var(--snice-color-blue-200,191 219 254));color:rgb(var(--snice-color-blue-900,30 58 138))}:host([variant=success]) .alert{background:rgb(var(--snice-color-green-50,240 253 244));border-color:rgb(var(--snice-color-green-200,187 247 208));color:rgb(var(--snice-color-green-900,20 83 45))}:host([variant=warning]) .alert{background:rgb(var(--snice-color-yellow-50,254 252 232));border-color:rgb(var(--snice-color-yellow-200,254 240 138));color:rgb(var(--snice-color-yellow-900,113 63 18))}:host([variant=error]) .alert{background:rgb(var(--snice-color-red-50,254 242 242));border-color:rgb(var(--snice-color-red-200,254 202 202));color:rgb(var(--snice-color-red-900,127 29 29))}.alert-icon{flex-shrink:0;width:var(--alert-icon-size);height:var(--alert-icon-size);margin-right:.75rem;display:flex;align-items:center;justify-content:center}.alert-icon svg{width:100%;height:100%}:host([variant=info]) .alert-icon--default::before{content:\\\"ℹ\\\";font-size:1.125rem;font-weight:700}:host([variant=success]) .alert-icon--default::before{content:\\\"✓\\\";font-size:1rem;font-weight:700}:host([variant=warning]) .alert-icon--default::before{content:\\\"⚠\\\";font-size:1.125rem}:host([variant=error]) .alert-icon--default::before{content:\\\"✕\\\";font-size:1rem;font-weight:700}.alert-content{flex:1;min-width:0}.alert-title{font-weight:600;margin-bottom:.25rem}.alert-title:empty{display:none}.alert-description{color:inherit;opacity:.9}.alert-dismiss{flex-shrink:0;margin-left:.75rem;margin-right:-.25rem;padding:.25rem;background:0 0;border:none;cursor:pointer;opacity:.6;transition:opacity .2s;border-radius:4px;display:flex;align-items:center;justify-content:center;color:inherit}.alert-dismiss:hover{opacity:1}.alert-dismiss:focus-visible{outline:currentColor solid 2px;outline-offset:2px}.alert-dismiss svg{width:1rem;height:1rem}:host([size=small]){--alert-padding:0.5rem 0.75rem;--alert-font-size:0.75rem;--alert-icon-size:1rem;--alert-border-radius:4px}:host([size=large]){--alert-padding:1rem 1.25rem;--alert-font-size:1rem;--alert-icon-size:1.5rem;--alert-border-radius:8px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}\";",null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"snice-alert.js","sources":["../../../components/alert/snice-alert.css?inline","../../../../components/alert/snice-alert.ts"],"sourcesContent":["export default \":host{display:block;--alert-padding:0.75rem 1rem;--alert-border-radius:6px;--alert-font-size:0.875rem;--alert-icon-size:1.25rem;--alert-border-width:1px}.alert{display:flex;align-items:flex-start;padding:var(--alert-padding);border-radius:var(--alert-border-radius);font-size:var(--alert-font-size);line-height:1.5;border:var(--alert-border-width) solid;position:relative;animation:.3s slideIn}.alert--hidden{display:none}@keyframes slideIn{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideOut{from{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-10px)}}.alert--hiding{animation:.3s forwards slideOut}:host([variant=info]) .alert{background:rgb(var(--snice-color-blue-50,239 246 255));border-color:rgb(var(--snice-color-blue-200,191 219 254));color:rgb(var(--snice-color-blue-900,30 58 138))}:host([variant=success]) .alert{background:rgb(var(--snice-color-green-50,240 253 244));border-color:rgb(var(--snice-color-green-200,187 247 208));color:rgb(var(--snice-color-green-900,20 83 45))}:host([variant=warning]) .alert{background:rgb(var(--snice-color-yellow-50,254 252 232));border-color:rgb(var(--snice-color-yellow-200,254 240 138));color:rgb(var(--snice-color-yellow-900,113 63 18))}:host([variant=error]) .alert{background:rgb(var(--snice-color-red-50,254 242 242));border-color:rgb(var(--snice-color-red-200,254 202 202));color:rgb(var(--snice-color-red-900,127 29 29))}.alert-icon{flex-shrink:0;width:var(--alert-icon-size);height:var(--alert-icon-size);margin-right:.75rem;display:flex;align-items:center;justify-content:center}.alert-icon svg{width:100%;height:100%}:host([variant=info]) .alert-icon--default::before{content:\\\"ℹ\\\";font-size:1.125rem;font-weight:700}:host([variant=success]) .alert-icon--default::before{content:\\\"✓\\\";font-size:1rem;font-weight:700}:host([variant=warning]) .alert-icon--default::before{content:\\\"⚠\\\";font-size:1.125rem}:host([variant=error]) .alert-icon--default::before{content:\\\"✕\\\";font-size:1rem;font-weight:700}.alert-content{flex:1;min-width:0}.alert-title{font-weight:600;margin-bottom:.25rem}.alert-title:empty{display:none}.alert-description{color:inherit;opacity:.9}.alert-dismiss{flex-shrink:0;margin-left:.75rem;margin-right:-.25rem;padding:.25rem;background:0 0;border:none;cursor:pointer;opacity:.6;transition:opacity .2s;border-radius:4px;display:flex;align-items:center;justify-content:center;color:inherit}.alert-dismiss:hover{opacity:1}.alert-dismiss:focus-visible{outline:currentColor solid 2px;outline-offset:2px}.alert-dismiss svg{width:1rem;height:1rem}:host([size=small]){--alert-padding:0.5rem 0.75rem;--alert-font-size:0.75rem;--alert-icon-size:1rem;--alert-border-radius:4px}:host([size=large]){--alert-padding:1rem 1.25rem;--alert-font-size:1rem;--alert-icon-size:1.5rem;--alert-border-radius:8px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}\";",null],"names":[],"mappings":";;;AAAA,iBAAe,25FAA25F;;ICK75F,UAAU,GAAA,CAAA,MAAA;4BADtB,OAAO,CAAC,aAAa,CAAC,CAAA;;;;sBACS,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;AAAnB,KAAA,cAAQ,WAAW,CAAA;;;;AAEzC,YAAA,IAAA,CAAA,OAAO,IAFI,iBAAA,CAAA,IAAA,EAAA,0BAAA,CAAU,EAAA,iBAAA,CAAA,IAAA,EAAA,qBAAA,EAEG,MAAM,CAAA,CAAA;YAG9B,IAAA,CAAA,IAAI,IAAA,iBAAA,CAAA,IAAA,EAAA,0BAAA,CAAA,EAAA,iBAAA,CAAA,IAAA,EAAA,kBAAA,EAAc,QAAQ,CAAA,CAAA;YAG1B,IAAA,CAAA,KAAK,IAAA,iBAAA,CAAA,IAAA,EAAA,uBAAA,CAAA,EAAA,iBAAA,CAAA,IAAA,EAAA,mBAAA,EAAG,EAAE,CAAA,CAAA;YAGV,IAAA,CAAA,WAAW,IAAA,iBAAA,CAAA,IAAA,EAAA,wBAAA,CAAA,EAAA,iBAAA,CAAA,IAAA,EAAA,yBAAA,EAAG,KAAK,CAAA,CAAA;YAGnB,IAAA,CAAA,IAAI,IAAA,iBAAA,CAAA,IAAA,EAAA,8BAAA,CAAA,EAAA,iBAAA,CAAA,IAAA,EAAA,kBAAA,EAAG,EAAE,CAAA,CAAA;AAGT,YAAA,IAAA,CAAA,YAAY,IAAA,iBAAA,CAAA,IAAA,EAAA,uBAAA,CAAA,EAAA,iBAAA,CAAA,IAAA,EAAA,0BAAA,EAAA,MAAA,CAAA,CAAA;YAEJ,IAAA,CAAA,QAAQ,IAAA,iBAAA,CAAA,IAAA,EAAA,+BAAA,CAAA,EAAG,KAAK,CAAA;QAsG1B;;;mCAxHG,QAAQ,CAAC,EAAI,CAAC,CAAA;gCAGd,QAAQ,CAAC,EAAI,CAAC,CAAA;iCAGd,QAAQ,CAAC,EAAI,CAAC,CAAA;AAGd,YAAA,uBAAA,GAAA,CAAA,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,GAAI,CAAC,CAAA;gCAG7B,QAAQ,CAAC,EAAI,CAAC,CAAA;wCAGd,KAAK,CAAC,QAAQ,CAAC,CAAA;AAKf,YAAA,kBAAA,GAAA,CAAA,MAAM,EAAE,CAAA;AAuCR,YAAA,kBAAA,GAAA,CAAA,MAAM,EAAE,CAAA;yCAWR,QAAQ,CAAC,eAAe,CAAC,CAAA;+CAoBzB,QAAQ,CAAC,cAAc,CAAC,CAAA;8CAQxB,QAAQ,CAAC,aAAa,CAAC,CAAA;AA7ExB,YAAA,YAAA,CAAA,IAAA,EAAA,IAAA,EAAA,kBAAA,EAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,QAAA,EAAA,MAAA,EAAA,KAAA,EAAA,OAAA,EAAA,KAAA,EAAA,MAAA,EAAA,EAAA,GAAA,EAAA,GAAA,IAAA,QAAA,IAAA,GAAA,EAAA,GAAA,EAAA,GAAA,IAAA,GAAA,CAAA,MAAM,EAAA,EAAA,QAAA,EAAA,SAAA,EAAA,EAAA,IAAA,EAAA,0BAAA,CAAA;AAuCN,YAAA,YAAA,CAAA,IAAA,EAAA,IAAA,EAAA,kBAAA,EAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,QAAA,EAAA,MAAA,EAAA,KAAA,EAAA,OAAA,EAAA,KAAA,EAAA,MAAA,EAAA,EAAA,GAAA,EAAA,GAAA,IAAA,QAAA,IAAA,GAAA,EAAA,GAAA,EAAA,GAAA,IAAA,GAAA,CAAA,MAAM,EAAA,EAAA,QAAA,EAAA,SAAA,EAAA,EAAA,IAAA,EAAA,0BAAA,CAAA;AAWN,YAAA,YAAA,CAAA,IAAA,EAAA,IAAA,EAAA,yBAAA,EAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,MAAA,EAAA,KAAA,EAAA,OAAA,EAAA,KAAA,EAAA,MAAA,EAAA,EAAA,GAAA,EAAA,GAAA,IAAA,eAAA,IAAA,GAAA,EAAA,GAAA,EAAA,GAAA,IAAA,GAAA,CAAA,aAAa,EAAA,EAAA,QAAA,EAAA,SAAA,EAAA,EAAA,IAAA,EAAA,0BAAA,CAAA;AAoBb,YAAA,YAAA,CAAA,IAAA,EAAA,IAAA,EAAA,+BAAA,EAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,KAAA,EAAA,OAAA,EAAA,KAAA,EAAA,MAAA,EAAA,EAAA,GAAA,EAAA,GAAA,IAAA,qBAAA,IAAA,GAAA,EAAA,GAAA,EAAA,GAAA,IAAA,GAAA,CAAQ,mBAAmB,EAAA,EAAA,QAAA,EAAA,SAAA,EAAA,EAAA,IAAA,EAAA,0BAAA,CAAA;AAQ3B,YAAA,YAAA,CAAA,IAAA,EAAA,IAAA,EAAA,8BAAA,EAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,KAAA,EAAA,OAAA,EAAA,KAAA,EAAA,MAAA,EAAA,EAAA,GAAA,EAAA,GAAA,IAAA,oBAAA,IAAA,GAAA,EAAA,GAAA,EAAA,GAAA,IAAA,GAAA,CAAQ,kBAAkB,EAAA,EAAA,QAAA,EAAA,SAAA,EAAA,EAAA,IAAA,EAAA,0BAAA,CAAA;YAlG1B,YAAA,CAAA,IAAA,EAAA,IAAA,EAAA,mBAAA,EAAA,EAAA,IAAA,EAAA,OAAA,EAAA,IAAA,EAAA,SAAA,EAAA,MAAA,EAAA,KAAA,EAAA,OAAA,EAAA,KAAA,EAAA,MAAA,EAAA,EAAA,GAAA,EAAA,GAAA,IAAA,SAAA,IAAA,GAAA,EAAA,GAAA,EAAA,GAAA,IAAA,GAAA,CAAA,OAAO,EAAA,GAAA,EAAA,CAAA,GAAA,EAAA,KAAA,KAAA,EAAA,GAAA,CAAP,OAAO,GAAA,KAAA,CAAA,CAAA,CAAA,EAAA,EAAA,QAAA,EAAA,SAAA,EAAA,EAAA,qBAAA,EAAA,0BAAA,CAAA;YAGP,YAAA,CAAA,IAAA,EAAA,IAAA,EAAA,gBAAA,EAAA,EAAA,IAAA,EAAA,OAAA,EAAA,IAAA,EAAA,MAAA,EAAA,MAAA,EAAA,KAAA,EAAA,OAAA,EAAA,KAAA,EAAA,MAAA,EAAA,EAAA,GAAA,EAAA,GAAA,IAAA,MAAA,IAAA,GAAA,EAAA,GAAA,EAAA,GAAA,IAAA,GAAA,CAAA,IAAI,EAAA,GAAA,EAAA,CAAA,GAAA,EAAA,KAAA,KAAA,EAAA,GAAA,CAAJ,IAAI,GAAA,KAAA,CAAA,CAAA,CAAA,EAAA,EAAA,QAAA,EAAA,SAAA,EAAA,EAAA,kBAAA,EAAA,uBAAA,CAAA;YAGJ,YAAA,CAAA,IAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,EAAA,IAAA,EAAA,OAAA,EAAA,IAAA,EAAA,OAAA,EAAA,MAAA,EAAA,KAAA,EAAA,OAAA,EAAA,KAAA,EAAA,MAAA,EAAA,EAAA,GAAA,EAAA,GAAA,IAAA,OAAA,IAAA,GAAA,EAAA,GAAA,EAAA,GAAA,IAAA,GAAA,CAAA,KAAK,EAAA,GAAA,EAAA,CAAA,GAAA,EAAA,KAAA,KAAA,EAAA,GAAA,CAAL,KAAK,GAAA,KAAA,CAAA,CAAA,CAAA,EAAA,EAAA,QAAA,EAAA,SAAA,EAAA,EAAA,mBAAA,EAAA,wBAAA,CAAA;YAGL,YAAA,CAAA,IAAA,EAAA,IAAA,EAAA,uBAAA,EAAA,EAAA,IAAA,EAAA,OAAA,EAAA,IAAA,EAAA,aAAA,EAAA,MAAA,EAAA,KAAA,EAAA,OAAA,EAAA,KAAA,EAAA,MAAA,EAAA,EAAA,GAAA,EAAA,GAAA,IAAA,aAAA,IAAA,GAAA,EAAA,GAAA,EAAA,GAAA,IAAA,GAAA,CAAA,WAAW,EAAA,GAAA,EAAA,CAAA,GAAA,EAAA,KAAA,KAAA,EAAA,GAAA,CAAX,WAAW,GAAA,KAAA,CAAA,CAAA,CAAA,EAAA,EAAA,QAAA,EAAA,SAAA,EAAA,EAAA,yBAAA,EAAA,8BAAA,CAAA;YAGX,YAAA,CAAA,IAAA,EAAA,IAAA,EAAA,gBAAA,EAAA,EAAA,IAAA,EAAA,OAAA,EAAA,IAAA,EAAA,MAAA,EAAA,MAAA,EAAA,KAAA,EAAA,OAAA,EAAA,KAAA,EAAA,MAAA,EAAA,EAAA,GAAA,EAAA,GAAA,IAAA,MAAA,IAAA,GAAA,EAAA,GAAA,EAAA,GAAA,IAAA,GAAA,CAAA,IAAI,EAAA,GAAA,EAAA,CAAA,GAAA,EAAA,KAAA,KAAA,EAAA,GAAA,CAAJ,IAAI,GAAA,KAAA,CAAA,CAAA,CAAA,EAAA,EAAA,QAAA,EAAA,SAAA,EAAA,EAAA,kBAAA,EAAA,uBAAA,CAAA;YAGJ,YAAA,CAAA,IAAA,EAAA,IAAA,EAAA,wBAAA,EAAA,EAAA,IAAA,EAAA,OAAA,EAAA,IAAA,EAAA,cAAA,EAAA,MAAA,EAAA,KAAA,EAAA,OAAA,EAAA,KAAA,EAAA,MAAA,EAAA,EAAA,GAAA,EAAA,GAAA,IAAA,cAAA,IAAA,GAAA,EAAA,GAAA,EAAA,GAAA,IAAA,GAAA,CAAA,YAAY,EAAA,GAAA,EAAA,CAAA,GAAA,EAAA,KAAA,KAAA,EAAA,GAAA,CAAZ,YAAY,GAAA,KAAA,CAAA,CAAA,CAAA,EAAA,EAAA,QAAA,EAAA,SAAA,EAAA,EAAA,0BAAA,EAAA,+BAAA,CAAA;YAjBd,YAAA,CAAA,IAAA,EAAA,gBAAA,GAAA,EAAA,KAAA,EAAA,UAAA,EAAA,EAAA,gBAAA,EAAA,EAAA,IAAA,EAAA,OAAA,EAAA,IAAA,EAAA,UAAA,CAAA,IAAA,EAAA,QAAA,EAAA,SAAA,EAAA,EAAA,IAAA,EAAA,uBAAA,CAAA;;;YAAa,iBAAA,CAAA,UAAA,EAAA,uBAAA,CAAA;;QAsBX,MAAM,GAAA;YACJ,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,KAAK,MAAM,GAAG,IAAI,CAAC,qBAAqB,EAAE;AAC/E,YAAA,MAAM,OAAO,GAAG;gBACd,OAAO;gBACP,CAAA,OAAA,EAAU,IAAI,CAAC,OAAO,CAAA,CAAE;gBACxB,CAAA,OAAA,EAAU,IAAI,CAAC,IAAI,CAAA,CAAE;gBACrB,IAAI,CAAC,QAAQ,GAAG,eAAe,GAAG;aACnC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;AAE3B,YAAA,MAAM,eAAe,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM;YAC1D,MAAM,WAAW,GAAG,eAAe,GAAG,gCAAgC,GAAG,YAAY;YAErF,OAAO,IAAI,UAAQ;oBACH,OAAO,CAAA,gDAAA,EAAmD,IAAI,CAAC,kBAAkB,CAAA;qBAChF,OAAO,CAAA;wBACJ,WAAW,CAAA;cACrB,IAAI,CAAC,IAAI,IAAI,EAAE;;;;AAIN,qBAAA,EAAA,IAAI,CAAC,KAAK,CAAA;AACM,qCAAA,EAAA,IAAI,CAAC,KAAK,CAAA;;;;;;AAM5B,mBAAA,EAAA,IAAI,CAAC,WAAW,CAAA;AACqD,wFAAA,EAAA,IAAI,CAAC,aAAa,CAAA;;;;;;;KAOvG;QACH;QAGA,MAAM,GAAA;AACJ,YAAA,OAAO,GAAG,SAAO,CAAA,EAAG,UAAU,EAAE;QAClC;QAEQ,qBAAqB,GAAA;;AAE3B,YAAA,OAAO,IAAI,CAAC,IAAI,KAAK,MAAM;QAC7B;QAIA,aAAa,GAAA;YACX,IAAI,CAAC,IAAI,EAAE;YACX,OAAO;gBACL,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,KAAK,EAAE,IAAI,CAAC;aACb;QACH;AAEA,QAAA,kBAAkB,CAAC,KAAqB,EAAA;AACtC,YAAA,IAAI,KAAK,CAAC,aAAa,KAAK,UAAU,EAAE;AACtC,gBAAA,IAAI,CAAC,QAAQ,GAAG,IAAI;AACpB,gBAAA,IAAI,IAAI,CAAC,YAAY,EAAE;oBACrB,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,GAAG,CAAC,eAAe,CAAC;oBAChD,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,MAAM,CAAC,eAAe,CAAC;gBACrD;gBACA,IAAI,CAAC,mBAAmB,EAAE;YAC5B;QACF;QAGQ,mBAAmB,GAAA;YACzB,OAAO;gBACL,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,KAAK,EAAE,IAAI,CAAC;aACb;QACH;QAGQ,kBAAkB,GAAA;YACxB,OAAO;gBACL,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,KAAK,EAAE,IAAI,CAAC;aACb;QACH;QAEA,IAAI,GAAA;AACF,YAAA,IAAI,CAAC,QAAQ,GAAG,KAAK;AACrB,YAAA,IAAI,IAAI,CAAC,YAAY,EAAE;gBACrB,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,MAAM,CAAC,eAAe,EAAE,eAAe,CAAC;YACtE;YACA,IAAI,CAAC,kBAAkB,EAAE;QAC3B;QAEA,IAAI,GAAA;YACF,IAAI,IAAI,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;gBACvC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,GAAG,CAAC,eAAe,CAAC;YAClD;QACF;;;;;;;"}
@@ -0,0 +1,58 @@
1
+ import type { AudioFormat, RecorderState, AudioRecording, SniceAudioRecorderElement } from './snice-audio-recorder.types';
2
+ export declare class SniceAudioRecorder extends HTMLElement implements SniceAudioRecorderElement {
3
+ autoStart: boolean;
4
+ format: AudioFormat;
5
+ bitrate: number;
6
+ showControls: boolean;
7
+ showVisualizer: boolean;
8
+ maxDuration: number;
9
+ showTimer: boolean;
10
+ private mediaRecorder;
11
+ private stream;
12
+ private audioChunks;
13
+ private state;
14
+ private startTime;
15
+ private pausedTime;
16
+ private duration;
17
+ private timerInterval;
18
+ private errorMessage;
19
+ private audioContext;
20
+ private analyser;
21
+ private visualizerData;
22
+ private animationFrame;
23
+ private recordedUrl;
24
+ styles(): import("snice").CSSResult;
25
+ connectedCallback(): void;
26
+ disconnectedCallback(): void;
27
+ render(): import("snice").TemplateResult;
28
+ private renderVisualizer;
29
+ private renderControls;
30
+ private getStateLabel;
31
+ private formatTime;
32
+ private getVisualizerHeight;
33
+ start(): Promise<void>;
34
+ stop(): Promise<AudioRecording>;
35
+ pause(): void;
36
+ resume(): void;
37
+ cancel(): void;
38
+ getState(): RecorderState;
39
+ getDuration(): number;
40
+ isRecording(): boolean;
41
+ download(filename?: string): void;
42
+ private handleRecordingComplete;
43
+ private startTimer;
44
+ private stopTimer;
45
+ private updateVisualizer;
46
+ private cleanup;
47
+ private emitRecorderStart;
48
+ private emitRecorderError;
49
+ private emitRecorderPause;
50
+ private emitRecorderResume;
51
+ private emitRecorderCancel;
52
+ private emitRecorderStop;
53
+ }
54
+ declare global {
55
+ interface HTMLElementTagNameMap {
56
+ 'snice-audio-recorder': SniceAudioRecorder;
57
+ }
58
+ }
@@ -0,0 +1,413 @@
1
+ import { __runInitializers, __esDecorate } from 'tslib';
2
+ import { element, property, styles, render, dispatch, css, html } from 'snice';
3
+
4
+ var recorderStyles = ":host{display:block;width:100%;max-width:500px;font-family:var(--font-family, system-ui, -apple-system, sans-serif)}.recorder-container{background:var(--recorder-bg,#f5f5f5);border-radius:var(--recorder-border-radius,12px);padding:24px;box-shadow:0 2px 8px rgba(0,0,0,.1)}.recorder-status{text-align:center;margin-bottom:20px}.recorder-state{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border-radius:20px;font-size:14px;font-weight:500}.recorder-state.inactive{background:#e0e0e0;color:#666}.recorder-state.recording{background:#f443361a;color:#f44336}.recorder-state.paused{background:#ff98001a;color:#ff9800}.recorder-state-icon{width:8px;height:8px;border-radius:50%;background:currentColor}.recorder-state.recording .recorder-state-icon{animation:1.5s ease-in-out infinite pulse}@keyframes pulse{0%,100%{opacity:1}50%{opacity:.3}}.recorder-timer{font-size:32px;font-weight:300;text-align:center;margin:20px 0;font-variant-numeric:tabular-nums;color:var(--text-color,#333)}.recorder-visualizer{height:80px;display:flex;align-items:center;justify-content:center;gap:2px;margin:20px 0;background:rgba(0,0,0,.05);border-radius:8px;padding:10px}.visualizer-bar{flex:1;max-width:4px;background:var(--primary-color,#2196f3);border-radius:2px;transition:height .1s}.recorder-controls{display:flex;justify-content:center;align-items:center;gap:12px;margin-top:20px}.recorder-btn{width:56px;height:56px;border-radius:50%;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.2s;color:#fff;font-size:20px;background:var(--primary-color,#2196f3)}.recorder-btn:hover{transform:scale(1.1)}.recorder-btn:active{transform:scale(.95)}.recorder-btn.record{width:64px;height:64px;background:#f44336}.recorder-btn.record:hover{background:#d32f2f}.recorder-btn.pause{background:#ff9800}.recorder-btn.pause:hover{background:#f57c00}.recorder-btn.stop{background:#666}.recorder-btn.stop:hover{background:#555}.recorder-btn.cancel{background:0 0;color:#666;border:2px solid #e0e0e0}.recorder-btn.cancel:hover{border-color:#666;color:#333}.recorder-btn.download{background:#4caf50}.recorder-btn.download:hover{background:#45a049}.recorder-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.recorder-info{display:flex;justify-content:space-between;align-items:center;margin-top:16px;padding-top:16px;border-top:1px solid #e0e0e0;font-size:12px;color:#666}.recorder-error{margin-top:12px;padding:12px;background:#ffebee;color:#c62828;border-radius:6px;font-size:14px;text-align:center}.recorder-playback{margin-top:20px}.recorder-playback audio{width:100%;border-radius:8px}";
5
+
6
+ let SniceAudioRecorder = (() => {
7
+ let _classDecorators = [element('snice-audio-recorder')];
8
+ let _classDescriptor;
9
+ let _classExtraInitializers = [];
10
+ let _classThis;
11
+ let _classSuper = HTMLElement;
12
+ let _instanceExtraInitializers = [];
13
+ let _autoStart_decorators;
14
+ let _autoStart_initializers = [];
15
+ let _autoStart_extraInitializers = [];
16
+ let _format_decorators;
17
+ let _format_initializers = [];
18
+ let _format_extraInitializers = [];
19
+ let _bitrate_decorators;
20
+ let _bitrate_initializers = [];
21
+ let _bitrate_extraInitializers = [];
22
+ let _showControls_decorators;
23
+ let _showControls_initializers = [];
24
+ let _showControls_extraInitializers = [];
25
+ let _showVisualizer_decorators;
26
+ let _showVisualizer_initializers = [];
27
+ let _showVisualizer_extraInitializers = [];
28
+ let _maxDuration_decorators;
29
+ let _maxDuration_initializers = [];
30
+ let _maxDuration_extraInitializers = [];
31
+ let _showTimer_decorators;
32
+ let _showTimer_initializers = [];
33
+ let _showTimer_extraInitializers = [];
34
+ let _styles_decorators;
35
+ let _render_decorators;
36
+ let _emitRecorderStart_decorators;
37
+ let _emitRecorderError_decorators;
38
+ let _emitRecorderPause_decorators;
39
+ let _emitRecorderResume_decorators;
40
+ let _emitRecorderCancel_decorators;
41
+ let _emitRecorderStop_decorators;
42
+ (class extends _classSuper {
43
+ static { _classThis = this; }
44
+ constructor() {
45
+ super(...arguments);
46
+ this.autoStart = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _autoStart_initializers, false));
47
+ this.format = (__runInitializers(this, _autoStart_extraInitializers), __runInitializers(this, _format_initializers, 'audio/webm'));
48
+ this.bitrate = (__runInitializers(this, _format_extraInitializers), __runInitializers(this, _bitrate_initializers, 128000));
49
+ this.showControls = (__runInitializers(this, _bitrate_extraInitializers), __runInitializers(this, _showControls_initializers, true));
50
+ this.showVisualizer = (__runInitializers(this, _showControls_extraInitializers), __runInitializers(this, _showVisualizer_initializers, true));
51
+ this.maxDuration = (__runInitializers(this, _showVisualizer_extraInitializers), __runInitializers(this, _maxDuration_initializers, 0)); // 0 = unlimited
52
+ this.showTimer = (__runInitializers(this, _maxDuration_extraInitializers), __runInitializers(this, _showTimer_initializers, true));
53
+ this.mediaRecorder = (__runInitializers(this, _showTimer_extraInitializers), null);
54
+ this.stream = null;
55
+ this.audioChunks = [];
56
+ this.state = 'inactive';
57
+ this.startTime = 0;
58
+ this.pausedTime = 0;
59
+ this.duration = 0;
60
+ this.timerInterval = null;
61
+ this.errorMessage = '';
62
+ this.audioContext = null;
63
+ this.analyser = null;
64
+ this.visualizerData = null;
65
+ this.animationFrame = null;
66
+ this.recordedUrl = '';
67
+ }
68
+ static {
69
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
70
+ _autoStart_decorators = [property({ type: Boolean, attribute: 'auto-start' })];
71
+ _format_decorators = [property({ type: String })];
72
+ _bitrate_decorators = [property({ type: Number })];
73
+ _showControls_decorators = [property({ type: Boolean, attribute: 'show-controls' })];
74
+ _showVisualizer_decorators = [property({ type: Boolean, attribute: 'show-visualizer' })];
75
+ _maxDuration_decorators = [property({ type: Number, attribute: 'max-duration' })];
76
+ _showTimer_decorators = [property({ type: Boolean, attribute: 'show-timer' })];
77
+ _styles_decorators = [styles()];
78
+ _render_decorators = [render()];
79
+ _emitRecorderStart_decorators = [dispatch('@snice/recorder-start', { bubbles: true, composed: true })];
80
+ _emitRecorderError_decorators = [dispatch('@snice/recorder-error', { bubbles: true, composed: true })];
81
+ _emitRecorderPause_decorators = [dispatch('@snice/recorder-pause', { bubbles: true, composed: true })];
82
+ _emitRecorderResume_decorators = [dispatch('@snice/recorder-resume', { bubbles: true, composed: true })];
83
+ _emitRecorderCancel_decorators = [dispatch('@snice/recorder-cancel', { bubbles: true, composed: true })];
84
+ _emitRecorderStop_decorators = [dispatch('@snice/recorder-stop', { bubbles: true, composed: true })];
85
+ __esDecorate(this, null, _styles_decorators, { kind: "method", name: "styles", static: false, private: false, access: { has: obj => "styles" in obj, get: obj => obj.styles }, metadata: _metadata }, null, _instanceExtraInitializers);
86
+ __esDecorate(this, null, _render_decorators, { kind: "method", name: "render", static: false, private: false, access: { has: obj => "render" in obj, get: obj => obj.render }, metadata: _metadata }, null, _instanceExtraInitializers);
87
+ __esDecorate(this, null, _emitRecorderStart_decorators, { kind: "method", name: "emitRecorderStart", static: false, private: false, access: { has: obj => "emitRecorderStart" in obj, get: obj => obj.emitRecorderStart }, metadata: _metadata }, null, _instanceExtraInitializers);
88
+ __esDecorate(this, null, _emitRecorderError_decorators, { kind: "method", name: "emitRecorderError", static: false, private: false, access: { has: obj => "emitRecorderError" in obj, get: obj => obj.emitRecorderError }, metadata: _metadata }, null, _instanceExtraInitializers);
89
+ __esDecorate(this, null, _emitRecorderPause_decorators, { kind: "method", name: "emitRecorderPause", static: false, private: false, access: { has: obj => "emitRecorderPause" in obj, get: obj => obj.emitRecorderPause }, metadata: _metadata }, null, _instanceExtraInitializers);
90
+ __esDecorate(this, null, _emitRecorderResume_decorators, { kind: "method", name: "emitRecorderResume", static: false, private: false, access: { has: obj => "emitRecorderResume" in obj, get: obj => obj.emitRecorderResume }, metadata: _metadata }, null, _instanceExtraInitializers);
91
+ __esDecorate(this, null, _emitRecorderCancel_decorators, { kind: "method", name: "emitRecorderCancel", static: false, private: false, access: { has: obj => "emitRecorderCancel" in obj, get: obj => obj.emitRecorderCancel }, metadata: _metadata }, null, _instanceExtraInitializers);
92
+ __esDecorate(this, null, _emitRecorderStop_decorators, { kind: "method", name: "emitRecorderStop", static: false, private: false, access: { has: obj => "emitRecorderStop" in obj, get: obj => obj.emitRecorderStop }, metadata: _metadata }, null, _instanceExtraInitializers);
93
+ __esDecorate(null, null, _autoStart_decorators, { kind: "field", name: "autoStart", static: false, private: false, access: { has: obj => "autoStart" in obj, get: obj => obj.autoStart, set: (obj, value) => { obj.autoStart = value; } }, metadata: _metadata }, _autoStart_initializers, _autoStart_extraInitializers);
94
+ __esDecorate(null, null, _format_decorators, { kind: "field", name: "format", static: false, private: false, access: { has: obj => "format" in obj, get: obj => obj.format, set: (obj, value) => { obj.format = value; } }, metadata: _metadata }, _format_initializers, _format_extraInitializers);
95
+ __esDecorate(null, null, _bitrate_decorators, { kind: "field", name: "bitrate", static: false, private: false, access: { has: obj => "bitrate" in obj, get: obj => obj.bitrate, set: (obj, value) => { obj.bitrate = value; } }, metadata: _metadata }, _bitrate_initializers, _bitrate_extraInitializers);
96
+ __esDecorate(null, null, _showControls_decorators, { kind: "field", name: "showControls", static: false, private: false, access: { has: obj => "showControls" in obj, get: obj => obj.showControls, set: (obj, value) => { obj.showControls = value; } }, metadata: _metadata }, _showControls_initializers, _showControls_extraInitializers);
97
+ __esDecorate(null, null, _showVisualizer_decorators, { kind: "field", name: "showVisualizer", static: false, private: false, access: { has: obj => "showVisualizer" in obj, get: obj => obj.showVisualizer, set: (obj, value) => { obj.showVisualizer = value; } }, metadata: _metadata }, _showVisualizer_initializers, _showVisualizer_extraInitializers);
98
+ __esDecorate(null, null, _maxDuration_decorators, { kind: "field", name: "maxDuration", static: false, private: false, access: { has: obj => "maxDuration" in obj, get: obj => obj.maxDuration, set: (obj, value) => { obj.maxDuration = value; } }, metadata: _metadata }, _maxDuration_initializers, _maxDuration_extraInitializers);
99
+ __esDecorate(null, null, _showTimer_decorators, { kind: "field", name: "showTimer", static: false, private: false, access: { has: obj => "showTimer" in obj, get: obj => obj.showTimer, set: (obj, value) => { obj.showTimer = value; } }, metadata: _metadata }, _showTimer_initializers, _showTimer_extraInitializers);
100
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
101
+ _classThis = _classDescriptor.value;
102
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
103
+ __runInitializers(_classThis, _classExtraInitializers);
104
+ }
105
+ styles() {
106
+ return css /*css*/ `${recorderStyles}`;
107
+ }
108
+ connectedCallback() {
109
+ if (this.autoStart) {
110
+ this.start();
111
+ }
112
+ }
113
+ disconnectedCallback() {
114
+ this.cleanup();
115
+ }
116
+ render() {
117
+ return html /*html*/ `
118
+ <div class="recorder-container">
119
+ <div class="recorder-status">
120
+ <div class="recorder-state ${this.state}">
121
+ <div class="recorder-state-icon"></div>
122
+ <span>${this.getStateLabel()}</span>
123
+ </div>
124
+ </div>
125
+
126
+ ${this.showTimer ? html `
127
+ <div class="recorder-timer">${this.formatTime(this.duration)}</div>
128
+ ` : ''}
129
+
130
+ ${this.showVisualizer ? this.renderVisualizer() : ''}
131
+
132
+ ${this.showControls ? this.renderControls() : ''}
133
+
134
+ ${this.errorMessage ? html `
135
+ <div class="recorder-error">${this.errorMessage}</div>
136
+ ` : ''}
137
+
138
+ ${this.recordedUrl ? html `
139
+ <div class="recorder-playback">
140
+ <audio src="${this.recordedUrl}" controls></audio>
141
+ </div>
142
+ ` : ''}
143
+
144
+ <div class="recorder-info">
145
+ <span>Format: ${this.format.split('/')[1].toUpperCase()}</span>
146
+ <span>Bitrate: ${this.bitrate / 1000}kbps</span>
147
+ </div>
148
+ </div>
149
+ `;
150
+ }
151
+ renderVisualizer() {
152
+ const bars = Array.from({ length: 32 }, (_, i) => {
153
+ const height = this.getVisualizerHeight(i);
154
+ return html /*html*/ `<div class="visualizer-bar" style="height: ${height}px;"></div>`;
155
+ });
156
+ return html /*html*/ `<div class="recorder-visualizer">${bars}</div>`;
157
+ }
158
+ renderControls() {
159
+ if (this.state === 'inactive') {
160
+ return html /*html*/ `
161
+ <div class="recorder-controls">
162
+ <button class="recorder-btn record" @click=${() => this.start()} title="Start Recording">
163
+ <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="currentColor">
164
+ <circle cx="12" cy="12" r="8"/>
165
+ </svg>
166
+ </button>
167
+ </div>
168
+ `;
169
+ }
170
+ if (this.state === 'recording') {
171
+ return html /*html*/ `
172
+ <div class="recorder-controls">
173
+ <button class="recorder-btn cancel" @click=${() => this.cancel()} title="Cancel">
174
+ <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
175
+ <line x1="18" y1="6" x2="6" y2="18"></line>
176
+ <line x1="6" y1="6" x2="18" y2="18"></line>
177
+ </svg>
178
+ </button>
179
+ <button class="recorder-btn pause" @click=${() => this.pause()} title="Pause">
180
+ <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="currentColor">
181
+ <rect x="6" y="4" width="4" height="16"></rect>
182
+ <rect x="14" y="4" width="4" height="16"></rect>
183
+ </svg>
184
+ </button>
185
+ <button class="recorder-btn stop" @click=${() => this.stop()} title="Stop">
186
+ <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="currentColor">
187
+ <rect x="6" y="6" width="12" height="12"></rect>
188
+ </svg>
189
+ </button>
190
+ </div>
191
+ `;
192
+ }
193
+ if (this.state === 'paused') {
194
+ return html /*html*/ `
195
+ <div class="recorder-controls">
196
+ <button class="recorder-btn cancel" @click=${() => this.cancel()} title="Cancel">
197
+ <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
198
+ <line x1="18" y1="6" x2="6" y2="18"></line>
199
+ <line x1="6" y1="6" x2="18" y2="18"></line>
200
+ </svg>
201
+ </button>
202
+ <button class="recorder-btn record" @click=${() => this.resume()} title="Resume">
203
+ <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="currentColor">
204
+ <path d="M8 5v14l11-7z"/>
205
+ </svg>
206
+ </button>
207
+ <button class="recorder-btn stop" @click=${() => this.stop()} title="Stop">
208
+ <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="currentColor">
209
+ <rect x="6" y="6" width="12" height="12"></rect>
210
+ </svg>
211
+ </button>
212
+ </div>
213
+ `;
214
+ }
215
+ return '';
216
+ }
217
+ getStateLabel() {
218
+ switch (this.state) {
219
+ case 'recording': return 'Recording';
220
+ case 'paused': return 'Paused';
221
+ default: return 'Ready';
222
+ }
223
+ }
224
+ formatTime(seconds) {
225
+ const mins = Math.floor(seconds / 60);
226
+ const secs = Math.floor(seconds % 60);
227
+ return `${mins.toString().padStart(2, '0')}:${secs.toString().padStart(2, '0')}`;
228
+ }
229
+ getVisualizerHeight(index) {
230
+ if (!this.visualizerData || this.state !== 'recording') {
231
+ return 4;
232
+ }
233
+ const value = this.visualizerData[index * 4] || 0;
234
+ return 4 + (value / 255) * 60;
235
+ }
236
+ async start() {
237
+ try {
238
+ this.errorMessage = '';
239
+ this.audioChunks = [];
240
+ this.recordedUrl = '';
241
+ this.stream = await navigator.mediaDevices.getUserMedia({ audio: true });
242
+ // Setup visualizer
243
+ if (this.showVisualizer) {
244
+ this.audioContext = new AudioContext();
245
+ this.analyser = this.audioContext.createAnalyser();
246
+ const source = this.audioContext.createMediaStreamSource(this.stream);
247
+ source.connect(this.analyser);
248
+ this.analyser.fftSize = 256;
249
+ this.visualizerData = new Uint8Array(this.analyser.frequencyBinCount);
250
+ this.updateVisualizer();
251
+ }
252
+ const options = {
253
+ mimeType: this.format,
254
+ audioBitsPerSecond: this.bitrate
255
+ };
256
+ this.mediaRecorder = new MediaRecorder(this.stream, options);
257
+ this.mediaRecorder.ondataavailable = (event) => {
258
+ if (event.data.size > 0) {
259
+ this.audioChunks.push(event.data);
260
+ }
261
+ };
262
+ this.mediaRecorder.onstop = () => {
263
+ this.handleRecordingComplete();
264
+ };
265
+ this.mediaRecorder.start();
266
+ this.state = 'recording';
267
+ this.startTime = Date.now();
268
+ this.startTimer();
269
+ this.emitRecorderStart();
270
+ }
271
+ catch (error) {
272
+ this.errorMessage = error instanceof Error ? error.message : 'Failed to start recording';
273
+ this.emitRecorderError(error);
274
+ }
275
+ }
276
+ async stop() {
277
+ if (!this.mediaRecorder || this.state === 'inactive') {
278
+ throw new Error('No active recording');
279
+ }
280
+ return new Promise((resolve) => {
281
+ const resolveWithRecording = () => {
282
+ const blob = new Blob(this.audioChunks, { type: this.format });
283
+ const url = URL.createObjectURL(blob);
284
+ const recording = {
285
+ blob,
286
+ url,
287
+ duration: this.duration,
288
+ size: blob.size,
289
+ format: this.format,
290
+ timestamp: Date.now()
291
+ };
292
+ this.recordedUrl = url;
293
+ resolve(recording);
294
+ };
295
+ this.mediaRecorder.addEventListener('stop', resolveWithRecording, { once: true });
296
+ this.mediaRecorder.stop();
297
+ this.stopTimer();
298
+ this.cleanup();
299
+ this.state = 'inactive';
300
+ });
301
+ }
302
+ pause() {
303
+ if (this.mediaRecorder && this.state === 'recording') {
304
+ this.mediaRecorder.pause();
305
+ this.pausedTime = Date.now();
306
+ this.state = 'paused';
307
+ this.stopTimer();
308
+ this.emitRecorderPause();
309
+ }
310
+ }
311
+ resume() {
312
+ if (this.mediaRecorder && this.state === 'paused') {
313
+ this.mediaRecorder.resume();
314
+ const pauseDuration = (Date.now() - this.pausedTime) / 1000;
315
+ this.startTime += pauseDuration * 1000;
316
+ this.state = 'recording';
317
+ this.startTimer();
318
+ this.emitRecorderResume();
319
+ }
320
+ }
321
+ cancel() {
322
+ if (this.mediaRecorder) {
323
+ this.mediaRecorder.stop();
324
+ }
325
+ this.audioChunks = [];
326
+ this.stopTimer();
327
+ this.cleanup();
328
+ this.state = 'inactive';
329
+ this.duration = 0;
330
+ this.emitRecorderCancel();
331
+ }
332
+ getState() {
333
+ return this.state;
334
+ }
335
+ getDuration() {
336
+ return this.duration;
337
+ }
338
+ isRecording() {
339
+ return this.state === 'recording';
340
+ }
341
+ download(filename = `recording-${Date.now()}.webm`) {
342
+ if (!this.recordedUrl) {
343
+ throw new Error('No recording available');
344
+ }
345
+ const a = document.createElement('a');
346
+ a.href = this.recordedUrl;
347
+ a.download = filename;
348
+ a.click();
349
+ }
350
+ handleRecordingComplete() {
351
+ this.emitRecorderStop();
352
+ }
353
+ startTimer() {
354
+ this.timerInterval = window.setInterval(() => {
355
+ this.duration = (Date.now() - this.startTime) / 1000;
356
+ if (this.maxDuration > 0 && this.duration >= this.maxDuration) {
357
+ this.stop();
358
+ }
359
+ }, 100);
360
+ }
361
+ stopTimer() {
362
+ if (this.timerInterval !== null) {
363
+ clearInterval(this.timerInterval);
364
+ this.timerInterval = null;
365
+ }
366
+ }
367
+ updateVisualizer() {
368
+ if (!this.analyser || !this.visualizerData || this.state !== 'recording') {
369
+ return;
370
+ }
371
+ this.analyser.getByteFrequencyData(this.visualizerData);
372
+ this.animationFrame = requestAnimationFrame(() => this.updateVisualizer());
373
+ }
374
+ cleanup() {
375
+ if (this.stream) {
376
+ this.stream.getTracks().forEach(track => track.stop());
377
+ this.stream = null;
378
+ }
379
+ if (this.audioContext) {
380
+ this.audioContext.close();
381
+ this.audioContext = null;
382
+ }
383
+ if (this.animationFrame !== null) {
384
+ cancelAnimationFrame(this.animationFrame);
385
+ this.animationFrame = null;
386
+ }
387
+ this.analyser = null;
388
+ this.visualizerData = null;
389
+ }
390
+ emitRecorderStart() {
391
+ return { recorder: this };
392
+ }
393
+ emitRecorderError(error) {
394
+ return { recorder: this, error };
395
+ }
396
+ emitRecorderPause() {
397
+ return { recorder: this };
398
+ }
399
+ emitRecorderResume() {
400
+ return { recorder: this };
401
+ }
402
+ emitRecorderCancel() {
403
+ return { recorder: this };
404
+ }
405
+ emitRecorderStop() {
406
+ return { recorder: this };
407
+ }
408
+ });
409
+ return _classThis;
410
+ })();
411
+
412
+ export { SniceAudioRecorder };
413
+ //# sourceMappingURL=snice-audio-recorder.js.map