snice 4.9.0 → 4.11.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 (763) hide show
  1. package/adapters/react/app-tiles.d.ts +28 -0
  2. package/adapters/react/app-tiles.d.ts.map +1 -0
  3. package/adapters/react/app-tiles.js +24 -0
  4. package/adapters/react/app-tiles.js.map +1 -0
  5. package/adapters/react/app-tiles.tsx +36 -0
  6. package/adapters/react/book.d.ts +28 -0
  7. package/adapters/react/book.d.ts.map +1 -0
  8. package/adapters/react/book.js +24 -0
  9. package/adapters/react/book.js.map +1 -0
  10. package/adapters/react/book.tsx +36 -0
  11. package/adapters/react/carousel.d.ts +1 -0
  12. package/adapters/react/carousel.d.ts.map +1 -1
  13. package/adapters/react/carousel.js +1 -1
  14. package/adapters/react/carousel.js.map +1 -1
  15. package/adapters/react/carousel.tsx +2 -1
  16. package/adapters/react/comments.d.ts +29 -0
  17. package/adapters/react/comments.d.ts.map +1 -0
  18. package/adapters/react/comments.js +24 -0
  19. package/adapters/react/comments.js.map +1 -0
  20. package/adapters/react/comments.tsx +37 -0
  21. package/adapters/react/components.d.ts +52 -0
  22. package/adapters/react/components.d.ts.map +1 -1
  23. package/adapters/react/components.js +26 -0
  24. package/adapters/react/components.js.map +1 -1
  25. package/adapters/react/components.ts +52 -0
  26. package/adapters/react/countdown.d.ts +31 -0
  27. package/adapters/react/countdown.d.ts.map +1 -0
  28. package/adapters/react/countdown.js +24 -0
  29. package/adapters/react/countdown.js.map +1 -0
  30. package/adapters/react/countdown.tsx +39 -0
  31. package/adapters/react/cropper.d.ts +29 -0
  32. package/adapters/react/cropper.d.ts.map +1 -0
  33. package/adapters/react/cropper.js +24 -0
  34. package/adapters/react/cropper.js.map +1 -0
  35. package/adapters/react/cropper.tsx +37 -0
  36. package/adapters/react/diff.d.ts +31 -0
  37. package/adapters/react/diff.d.ts.map +1 -0
  38. package/adapters/react/diff.js +24 -0
  39. package/adapters/react/diff.js.map +1 -0
  40. package/adapters/react/diff.tsx +39 -0
  41. package/adapters/react/flip-card.d.ts +28 -0
  42. package/adapters/react/flip-card.d.ts.map +1 -0
  43. package/adapters/react/flip-card.js +24 -0
  44. package/adapters/react/flip-card.js.map +1 -0
  45. package/adapters/react/flip-card.tsx +36 -0
  46. package/adapters/react/flow.d.ts +32 -0
  47. package/adapters/react/flow.d.ts.map +1 -0
  48. package/adapters/react/flow.js +24 -0
  49. package/adapters/react/flow.js.map +1 -0
  50. package/adapters/react/flow.tsx +40 -0
  51. package/adapters/react/gantt.d.ts +27 -0
  52. package/adapters/react/gantt.d.ts.map +1 -0
  53. package/adapters/react/gantt.js +24 -0
  54. package/adapters/react/gantt.js.map +1 -0
  55. package/adapters/react/gantt.tsx +35 -0
  56. package/adapters/react/map.d.ts +30 -0
  57. package/adapters/react/map.d.ts.map +1 -0
  58. package/adapters/react/map.js +24 -0
  59. package/adapters/react/map.js.map +1 -0
  60. package/adapters/react/map.tsx +38 -0
  61. package/adapters/react/markdown.d.ts +26 -0
  62. package/adapters/react/markdown.d.ts.map +1 -0
  63. package/adapters/react/markdown.js +24 -0
  64. package/adapters/react/markdown.js.map +1 -0
  65. package/adapters/react/markdown.tsx +34 -0
  66. package/adapters/react/notification-center.d.ts +26 -0
  67. package/adapters/react/notification-center.d.ts.map +1 -0
  68. package/adapters/react/notification-center.js +24 -0
  69. package/adapters/react/notification-center.js.map +1 -0
  70. package/adapters/react/notification-center.tsx +34 -0
  71. package/adapters/react/org-chart.d.ts +28 -0
  72. package/adapters/react/org-chart.d.ts.map +1 -0
  73. package/adapters/react/org-chart.js +24 -0
  74. package/adapters/react/org-chart.js.map +1 -0
  75. package/adapters/react/org-chart.tsx +36 -0
  76. package/adapters/react/pdf-viewer.d.ts +28 -0
  77. package/adapters/react/pdf-viewer.d.ts.map +1 -0
  78. package/adapters/react/pdf-viewer.js +24 -0
  79. package/adapters/react/pdf-viewer.js.map +1 -0
  80. package/adapters/react/pdf-viewer.tsx +36 -0
  81. package/adapters/react/podcast-player.d.ts +40 -0
  82. package/adapters/react/podcast-player.d.ts.map +1 -0
  83. package/adapters/react/podcast-player.js +24 -0
  84. package/adapters/react/podcast-player.js.map +1 -0
  85. package/adapters/react/podcast-player.tsx +48 -0
  86. package/adapters/react/pricing-table.d.ts +27 -0
  87. package/adapters/react/pricing-table.d.ts.map +1 -0
  88. package/adapters/react/pricing-table.js +24 -0
  89. package/adapters/react/pricing-table.js.map +1 -0
  90. package/adapters/react/pricing-table.tsx +35 -0
  91. package/adapters/react/rating.d.ts +30 -0
  92. package/adapters/react/rating.d.ts.map +1 -0
  93. package/adapters/react/rating.js +24 -0
  94. package/adapters/react/rating.js.map +1 -0
  95. package/adapters/react/rating.tsx +38 -0
  96. package/adapters/react/recipe.d.ts +43 -0
  97. package/adapters/react/recipe.d.ts.map +1 -0
  98. package/adapters/react/recipe.js +24 -0
  99. package/adapters/react/recipe.js.map +1 -0
  100. package/adapters/react/recipe.tsx +51 -0
  101. package/adapters/react/sortable.d.ts +28 -0
  102. package/adapters/react/sortable.d.ts.map +1 -0
  103. package/adapters/react/sortable.js +24 -0
  104. package/adapters/react/sortable.js.map +1 -0
  105. package/adapters/react/sortable.tsx +36 -0
  106. package/adapters/react/spotlight.d.ts +27 -0
  107. package/adapters/react/spotlight.d.ts.map +1 -0
  108. package/adapters/react/spotlight.js +24 -0
  109. package/adapters/react/spotlight.js.map +1 -0
  110. package/adapters/react/spotlight.tsx +35 -0
  111. package/adapters/react/spreadsheet.d.ts +27 -0
  112. package/adapters/react/spreadsheet.d.ts.map +1 -0
  113. package/adapters/react/spreadsheet.js +24 -0
  114. package/adapters/react/spreadsheet.js.map +1 -0
  115. package/adapters/react/spreadsheet.tsx +35 -0
  116. package/adapters/react/tag-input.d.ts +33 -0
  117. package/adapters/react/tag-input.d.ts.map +1 -0
  118. package/adapters/react/tag-input.js +24 -0
  119. package/adapters/react/tag-input.js.map +1 -0
  120. package/adapters/react/tag-input.tsx +41 -0
  121. package/adapters/react/testimonial.d.ts +31 -0
  122. package/adapters/react/testimonial.d.ts.map +1 -0
  123. package/adapters/react/testimonial.js +24 -0
  124. package/adapters/react/testimonial.js.map +1 -0
  125. package/adapters/react/testimonial.tsx +39 -0
  126. package/adapters/react/video-player.d.ts +34 -0
  127. package/adapters/react/video-player.d.ts.map +1 -0
  128. package/adapters/react/video-player.js +24 -0
  129. package/adapters/react/video-player.js.map +1 -0
  130. package/adapters/react/video-player.tsx +42 -0
  131. package/adapters/react/waterfall.d.ts +29 -0
  132. package/adapters/react/waterfall.d.ts.map +1 -0
  133. package/adapters/react/waterfall.js +24 -0
  134. package/adapters/react/waterfall.js.map +1 -0
  135. package/adapters/react/waterfall.tsx +37 -0
  136. package/adapters/react/weather.d.ts +27 -0
  137. package/adapters/react/weather.d.ts.map +1 -0
  138. package/adapters/react/weather.js +24 -0
  139. package/adapters/react/weather.js.map +1 -0
  140. package/adapters/react/weather.tsx +35 -0
  141. package/bin/templates/CLAUDE.md +169 -113
  142. package/bin/templates/pwa/README.md +72 -94
  143. package/bin/templates/pwa/src/components/app-header.ts +218 -0
  144. package/bin/templates/pwa/src/components/notification-badge.ts +68 -0
  145. package/bin/templates/pwa/src/components/search-bar.ts +99 -0
  146. package/bin/templates/pwa/src/controllers/notification-controller.ts +42 -0
  147. package/bin/templates/pwa/src/guards/auth.ts +1 -1
  148. package/bin/templates/pwa/src/main.ts +19 -0
  149. package/bin/templates/pwa/src/pages/dashboard.ts +124 -23
  150. package/bin/templates/pwa/src/pages/data.ts +329 -0
  151. package/bin/templates/pwa/src/pages/notifications.ts +112 -30
  152. package/bin/templates/pwa/src/pages/profile.ts +86 -52
  153. package/bin/templates/pwa/src/pages/settings.ts +291 -0
  154. package/bin/templates/pwa/src/styles/global.css +12 -3
  155. package/dist/cdn/accordion/snice-accordion.js +1 -1
  156. package/dist/cdn/accordion/snice-accordion.min.js +1 -1
  157. package/dist/cdn/alert/snice-alert.js +1 -1
  158. package/dist/cdn/alert/snice-alert.min.js +1 -1
  159. package/dist/cdn/app-tiles/README.md +27 -0
  160. package/dist/cdn/app-tiles/snice-app-tiles.js +333 -0
  161. package/dist/cdn/app-tiles/snice-app-tiles.js.map +1 -0
  162. package/dist/cdn/app-tiles/snice-app-tiles.min.js +11 -0
  163. package/dist/cdn/app-tiles/snice-app-tiles.min.js.map +1 -0
  164. package/dist/cdn/audio-recorder/snice-audio-recorder.js +1 -1
  165. package/dist/cdn/audio-recorder/snice-audio-recorder.min.js +1 -1
  166. package/dist/cdn/avatar/snice-avatar.js +1 -1
  167. package/dist/cdn/avatar/snice-avatar.min.js +1 -1
  168. package/dist/cdn/badge/snice-badge.js +1 -1
  169. package/dist/cdn/badge/snice-badge.min.js +1 -1
  170. package/dist/cdn/banner/snice-banner.js +1 -1
  171. package/dist/cdn/banner/snice-banner.min.js +1 -1
  172. package/dist/cdn/book/README.md +27 -0
  173. package/dist/cdn/book/snice-book.js +353 -0
  174. package/dist/cdn/book/snice-book.js.map +1 -0
  175. package/dist/cdn/book/snice-book.min.js +13 -0
  176. package/dist/cdn/book/snice-book.min.js.map +1 -0
  177. package/dist/cdn/breadcrumbs/snice-breadcrumbs.js +1 -1
  178. package/dist/cdn/breadcrumbs/snice-breadcrumbs.min.js +1 -1
  179. package/dist/cdn/button/snice-button.js +1 -1
  180. package/dist/cdn/button/snice-button.min.js +1 -1
  181. package/dist/cdn/calendar/snice-calendar.js +1 -1
  182. package/dist/cdn/calendar/snice-calendar.min.js +1 -1
  183. package/dist/cdn/camera/README.md +1 -1
  184. package/dist/cdn/camera/snice-camera.js +1 -1
  185. package/dist/cdn/camera/snice-camera.min.js +1 -1
  186. package/dist/cdn/camera-annotate/snice-camera-annotate.js +1 -1
  187. package/dist/cdn/camera-annotate/snice-camera-annotate.min.js +1 -1
  188. package/dist/cdn/candlestick/snice-candlestick.js +1 -1
  189. package/dist/cdn/candlestick/snice-candlestick.min.js +1 -1
  190. package/dist/cdn/card/snice-card.js +1 -1
  191. package/dist/cdn/card/snice-card.min.js +1 -1
  192. package/dist/cdn/carousel/README.md +2 -2
  193. package/dist/cdn/carousel/snice-carousel.js +9 -3
  194. package/dist/cdn/carousel/snice-carousel.js.map +1 -1
  195. package/dist/cdn/carousel/snice-carousel.min.js +3 -3
  196. package/dist/cdn/carousel/snice-carousel.min.js.map +1 -1
  197. package/dist/cdn/chart/snice-chart.js +1 -1
  198. package/dist/cdn/chart/snice-chart.min.js +1 -1
  199. package/dist/cdn/chat/snice-chat.js +1 -1
  200. package/dist/cdn/chat/snice-chat.min.js +1 -1
  201. package/dist/cdn/checkbox/snice-checkbox.js +1 -1
  202. package/dist/cdn/checkbox/snice-checkbox.min.js +1 -1
  203. package/dist/cdn/chip/snice-chip.js +1 -1
  204. package/dist/cdn/chip/snice-chip.min.js +1 -1
  205. package/dist/cdn/code-block/snice-code-block.js +1 -1
  206. package/dist/cdn/code-block/snice-code-block.min.js +1 -1
  207. package/dist/cdn/color-display/snice-color-display.js +1 -1
  208. package/dist/cdn/color-display/snice-color-display.min.js +1 -1
  209. package/dist/cdn/color-picker/snice-color-picker.js +1 -1
  210. package/dist/cdn/color-picker/snice-color-picker.min.js +1 -1
  211. package/dist/cdn/command-palette/snice-command-palette.js +1 -1
  212. package/dist/cdn/command-palette/snice-command-palette.min.js +1 -1
  213. package/dist/cdn/comments/README.md +27 -0
  214. package/dist/cdn/comments/snice-comments.js +544 -0
  215. package/dist/cdn/comments/snice-comments.js.map +1 -0
  216. package/dist/cdn/comments/snice-comments.min.js +100 -0
  217. package/dist/cdn/comments/snice-comments.min.js.map +1 -0
  218. package/dist/cdn/countdown/README.md +27 -0
  219. package/dist/cdn/countdown/snice-countdown.js +235 -0
  220. package/dist/cdn/countdown/snice-countdown.js.map +1 -0
  221. package/dist/cdn/countdown/snice-countdown.min.js +14 -0
  222. package/dist/cdn/countdown/snice-countdown.min.js.map +1 -0
  223. package/dist/cdn/cropper/README.md +27 -0
  224. package/dist/cdn/cropper/snice-cropper.js +352 -0
  225. package/dist/cdn/cropper/snice-cropper.js.map +1 -0
  226. package/dist/cdn/cropper/snice-cropper.min.js +25 -0
  227. package/dist/cdn/cropper/snice-cropper.min.js.map +1 -0
  228. package/dist/cdn/date-picker/snice-date-picker.js +1 -1
  229. package/dist/cdn/date-picker/snice-date-picker.min.js +1 -1
  230. package/dist/cdn/diff/README.md +27 -0
  231. package/dist/cdn/diff/snice-diff.js +441 -0
  232. package/dist/cdn/diff/snice-diff.js.map +1 -0
  233. package/dist/cdn/diff/snice-diff.min.js +54 -0
  234. package/dist/cdn/diff/snice-diff.min.js.map +1 -0
  235. package/dist/cdn/divider/snice-divider.js +1 -1
  236. package/dist/cdn/divider/snice-divider.min.js +1 -1
  237. package/dist/cdn/doc/snice-doc.js +1 -1
  238. package/dist/cdn/doc/snice-doc.min.js +1 -1
  239. package/dist/cdn/draw/snice-draw.js +1 -1
  240. package/dist/cdn/draw/snice-draw.min.js +1 -1
  241. package/dist/cdn/drawer/snice-drawer.js +1 -1
  242. package/dist/cdn/drawer/snice-drawer.min.js +1 -1
  243. package/dist/cdn/empty-state/snice-empty-state.js +1 -1
  244. package/dist/cdn/empty-state/snice-empty-state.min.js +1 -1
  245. package/dist/cdn/file-gallery/snice-file-gallery.js +1 -1
  246. package/dist/cdn/file-gallery/snice-file-gallery.min.js +1 -1
  247. package/dist/cdn/file-upload/snice-file-upload.js +1 -1
  248. package/dist/cdn/file-upload/snice-file-upload.min.js +1 -1
  249. package/dist/cdn/flip-card/README.md +27 -0
  250. package/dist/cdn/flip-card/snice-flip-card.js +183 -0
  251. package/dist/cdn/flip-card/snice-flip-card.js.map +1 -0
  252. package/dist/cdn/flip-card/snice-flip-card.min.js +22 -0
  253. package/dist/cdn/flip-card/snice-flip-card.min.js.map +1 -0
  254. package/dist/cdn/flow/README.md +27 -0
  255. package/dist/cdn/flow/snice-flow.js +822 -0
  256. package/dist/cdn/flow/snice-flow.js.map +1 -0
  257. package/dist/cdn/flow/snice-flow.min.js +17 -0
  258. package/dist/cdn/flow/snice-flow.min.js.map +1 -0
  259. package/dist/cdn/funnel/snice-funnel.js +1 -1
  260. package/dist/cdn/funnel/snice-funnel.min.js +1 -1
  261. package/dist/cdn/gantt/README.md +27 -0
  262. package/dist/cdn/gantt/snice-gantt.js +436 -0
  263. package/dist/cdn/gantt/snice-gantt.js.map +1 -0
  264. package/dist/cdn/gantt/snice-gantt.min.js +60 -0
  265. package/dist/cdn/gantt/snice-gantt.min.js.map +1 -0
  266. package/dist/cdn/gauge/snice-gauge.js +1 -1
  267. package/dist/cdn/gauge/snice-gauge.min.js +1 -1
  268. package/dist/cdn/heatmap/snice-heatmap.js +1 -1
  269. package/dist/cdn/heatmap/snice-heatmap.min.js +1 -1
  270. package/dist/cdn/image/snice-image.js +1 -1
  271. package/dist/cdn/image/snice-image.min.js +1 -1
  272. package/dist/cdn/input/snice-input.js +1 -1
  273. package/dist/cdn/input/snice-input.min.js +1 -1
  274. package/dist/cdn/kanban/snice-kanban.js +1 -1
  275. package/dist/cdn/kanban/snice-kanban.min.js +1 -1
  276. package/dist/cdn/kpi/snice-kpi.js +1 -1
  277. package/dist/cdn/kpi/snice-kpi.min.js +1 -1
  278. package/dist/cdn/layout/snice-layout.js +1 -1
  279. package/dist/cdn/layout/snice-layout.min.js +1 -1
  280. package/dist/cdn/link/snice-link.js +1 -1
  281. package/dist/cdn/link/snice-link.min.js +1 -1
  282. package/dist/cdn/link-preview/snice-link-preview.js +1 -1
  283. package/dist/cdn/link-preview/snice-link-preview.min.js +1 -1
  284. package/dist/cdn/list/snice-list.js +1 -1
  285. package/dist/cdn/list/snice-list.min.js +1 -1
  286. package/dist/cdn/location/snice-location.js +1 -1
  287. package/dist/cdn/location/snice-location.min.js +1 -1
  288. package/dist/cdn/login/snice-login.js +1 -1
  289. package/dist/cdn/login/snice-login.min.js +1 -1
  290. package/dist/cdn/map/README.md +27 -0
  291. package/dist/cdn/map/snice-map.js +415 -0
  292. package/dist/cdn/map/snice-map.js.map +1 -0
  293. package/dist/cdn/map/snice-map.min.js +52 -0
  294. package/dist/cdn/map/snice-map.min.js.map +1 -0
  295. package/dist/cdn/markdown/README.md +27 -0
  296. package/dist/cdn/markdown/snice-markdown.js +317 -0
  297. package/dist/cdn/markdown/snice-markdown.js.map +1 -0
  298. package/dist/cdn/markdown/snice-markdown.min.js +11 -0
  299. package/dist/cdn/markdown/snice-markdown.min.js.map +1 -0
  300. package/dist/cdn/masonry/snice-masonry.js +1 -1
  301. package/dist/cdn/masonry/snice-masonry.min.js +1 -1
  302. package/dist/cdn/menu/snice-menu.js +1 -1
  303. package/dist/cdn/menu/snice-menu.min.js +1 -1
  304. package/dist/cdn/modal/snice-modal.js +1 -1
  305. package/dist/cdn/modal/snice-modal.min.js +1 -1
  306. package/dist/cdn/music-player/snice-music-player.js +1 -1
  307. package/dist/cdn/music-player/snice-music-player.min.js +1 -1
  308. package/dist/cdn/nav/snice-nav.js +1 -1
  309. package/dist/cdn/nav/snice-nav.min.js +1 -1
  310. package/dist/cdn/network-graph/snice-network-graph.js +1 -1
  311. package/dist/cdn/network-graph/snice-network-graph.min.js +1 -1
  312. package/dist/cdn/notification-center/README.md +27 -0
  313. package/dist/cdn/notification-center/snice-notification-center.js +204 -0
  314. package/dist/cdn/notification-center/snice-notification-center.js.map +1 -0
  315. package/dist/cdn/notification-center/snice-notification-center.min.js +33 -0
  316. package/dist/cdn/notification-center/snice-notification-center.min.js.map +1 -0
  317. package/dist/cdn/org-chart/README.md +27 -0
  318. package/dist/cdn/org-chart/snice-org-chart.js +294 -0
  319. package/dist/cdn/org-chart/snice-org-chart.js.map +1 -0
  320. package/dist/cdn/org-chart/snice-org-chart.min.js +32 -0
  321. package/dist/cdn/org-chart/snice-org-chart.min.js.map +1 -0
  322. package/dist/cdn/pagination/snice-pagination.js +1 -1
  323. package/dist/cdn/pagination/snice-pagination.min.js +1 -1
  324. package/dist/cdn/paint/snice-paint.js +1 -1
  325. package/dist/cdn/paint/snice-paint.min.js +1 -1
  326. package/dist/cdn/pdf-viewer/README.md +27 -0
  327. package/dist/cdn/pdf-viewer/snice-pdf-viewer.js +588 -0
  328. package/dist/cdn/pdf-viewer/snice-pdf-viewer.js.map +1 -0
  329. package/dist/cdn/pdf-viewer/snice-pdf-viewer.min.js +88 -0
  330. package/dist/cdn/pdf-viewer/snice-pdf-viewer.min.js.map +1 -0
  331. package/dist/cdn/podcast-player/README.md +27 -0
  332. package/dist/cdn/podcast-player/snice-podcast-player.js +835 -0
  333. package/dist/cdn/podcast-player/snice-podcast-player.js.map +1 -0
  334. package/dist/cdn/podcast-player/snice-podcast-player.min.js +209 -0
  335. package/dist/cdn/podcast-player/snice-podcast-player.min.js.map +1 -0
  336. package/dist/cdn/pricing-table/README.md +27 -0
  337. package/dist/cdn/pricing-table/snice-pricing-table.js +491 -0
  338. package/dist/cdn/pricing-table/snice-pricing-table.js.map +1 -0
  339. package/dist/cdn/pricing-table/snice-pricing-table.min.js +141 -0
  340. package/dist/cdn/pricing-table/snice-pricing-table.min.js.map +1 -0
  341. package/dist/cdn/progress/snice-progress.js +1 -1
  342. package/dist/cdn/progress/snice-progress.min.js +1 -1
  343. package/dist/cdn/qr-code/snice-qr-code.js +1 -1
  344. package/dist/cdn/qr-code/snice-qr-code.min.js +1 -1
  345. package/dist/cdn/qr-reader/snice-qr-reader.js +1 -1
  346. package/dist/cdn/qr-reader/snice-qr-reader.min.js +1 -1
  347. package/dist/cdn/radio/snice-radio.js +1 -1
  348. package/dist/cdn/radio/snice-radio.min.js +1 -1
  349. package/dist/cdn/rating/README.md +27 -0
  350. package/dist/cdn/rating/snice-rating.js +210 -0
  351. package/dist/cdn/rating/snice-rating.js.map +1 -0
  352. package/dist/cdn/rating/snice-rating.min.js +25 -0
  353. package/dist/cdn/rating/snice-rating.min.js.map +1 -0
  354. package/dist/cdn/recipe/README.md +27 -0
  355. package/dist/cdn/recipe/snice-recipe.js +619 -0
  356. package/dist/cdn/recipe/snice-recipe.js.map +1 -0
  357. package/dist/cdn/recipe/snice-recipe.min.js +185 -0
  358. package/dist/cdn/recipe/snice-recipe.min.js.map +1 -0
  359. package/dist/cdn/runtime/README.md +1 -1
  360. package/dist/cdn/runtime/snice-runtime.esm.js +10 -3
  361. package/dist/cdn/runtime/snice-runtime.esm.js.map +1 -1
  362. package/dist/cdn/runtime/snice-runtime.esm.min.js +4 -4
  363. package/dist/cdn/runtime/snice-runtime.esm.min.js.map +1 -1
  364. package/dist/cdn/runtime/snice-runtime.js +10 -3
  365. package/dist/cdn/runtime/snice-runtime.js.map +1 -1
  366. package/dist/cdn/runtime/snice-runtime.min.js +4 -4
  367. package/dist/cdn/runtime/snice-runtime.min.js.map +1 -1
  368. package/dist/cdn/sankey/snice-sankey.js +1 -1
  369. package/dist/cdn/sankey/snice-sankey.min.js +1 -1
  370. package/dist/cdn/select/snice-select.js +1 -1
  371. package/dist/cdn/select/snice-select.min.js +1 -1
  372. package/dist/cdn/skeleton/snice-skeleton.js +1 -1
  373. package/dist/cdn/skeleton/snice-skeleton.min.js +1 -1
  374. package/dist/cdn/slider/snice-slider.js +1 -1
  375. package/dist/cdn/slider/snice-slider.min.js +1 -1
  376. package/dist/cdn/sortable/README.md +27 -0
  377. package/dist/cdn/sortable/snice-sortable.js +254 -0
  378. package/dist/cdn/sortable/snice-sortable.js.map +1 -0
  379. package/dist/cdn/sortable/snice-sortable.min.js +12 -0
  380. package/dist/cdn/sortable/snice-sortable.min.js.map +1 -0
  381. package/dist/cdn/sparkline/snice-sparkline.js +1 -1
  382. package/dist/cdn/sparkline/snice-sparkline.min.js +1 -1
  383. package/dist/cdn/spinner/snice-spinner.js +1 -1
  384. package/dist/cdn/spinner/snice-spinner.min.js +1 -1
  385. package/dist/cdn/split-pane/snice-split-pane.js +1 -1
  386. package/dist/cdn/split-pane/snice-split-pane.min.js +1 -1
  387. package/dist/cdn/spotlight/README.md +27 -0
  388. package/dist/cdn/spotlight/snice-spotlight.js +397 -0
  389. package/dist/cdn/spotlight/snice-spotlight.js.map +1 -0
  390. package/dist/cdn/spotlight/snice-spotlight.min.js +8 -0
  391. package/dist/cdn/spotlight/snice-spotlight.min.js.map +1 -0
  392. package/dist/cdn/spreadsheet/README.md +27 -0
  393. package/dist/cdn/spreadsheet/snice-spreadsheet.js +1171 -0
  394. package/dist/cdn/spreadsheet/snice-spreadsheet.js.map +1 -0
  395. package/dist/cdn/spreadsheet/snice-spreadsheet.min.js +30 -0
  396. package/dist/cdn/spreadsheet/snice-spreadsheet.min.js.map +1 -0
  397. package/dist/cdn/stepper/snice-stepper.js +1 -1
  398. package/dist/cdn/stepper/snice-stepper.min.js +1 -1
  399. package/dist/cdn/switch/snice-switch.js +1 -1
  400. package/dist/cdn/switch/snice-switch.min.js +1 -1
  401. package/dist/cdn/table/snice-table.js +1 -1
  402. package/dist/cdn/table/snice-table.min.js +1 -1
  403. package/dist/cdn/tabs/snice-tabs.js +1 -1
  404. package/dist/cdn/tabs/snice-tabs.min.js +1 -1
  405. package/dist/cdn/tag-input/README.md +27 -0
  406. package/dist/cdn/tag-input/snice-tag-input.js +387 -0
  407. package/dist/cdn/tag-input/snice-tag-input.js.map +1 -0
  408. package/dist/cdn/tag-input/snice-tag-input.min.js +65 -0
  409. package/dist/cdn/tag-input/snice-tag-input.min.js.map +1 -0
  410. package/dist/cdn/terminal/snice-terminal.js +1 -1
  411. package/dist/cdn/terminal/snice-terminal.min.js +1 -1
  412. package/dist/cdn/testimonial/README.md +27 -0
  413. package/dist/cdn/testimonial/snice-testimonial.js +187 -0
  414. package/dist/cdn/testimonial/snice-testimonial.js.map +1 -0
  415. package/dist/cdn/testimonial/snice-testimonial.min.js +21 -0
  416. package/dist/cdn/testimonial/snice-testimonial.min.js.map +1 -0
  417. package/dist/cdn/textarea/snice-textarea.js +1 -1
  418. package/dist/cdn/textarea/snice-textarea.min.js +1 -1
  419. package/dist/cdn/time-range-picker/snice-time-range-picker.js +1 -1
  420. package/dist/cdn/time-range-picker/snice-time-range-picker.min.js +1 -1
  421. package/dist/cdn/timeline/snice-timeline.js +1 -1
  422. package/dist/cdn/timeline/snice-timeline.min.js +1 -1
  423. package/dist/cdn/timer/snice-timer.js +1 -1
  424. package/dist/cdn/timer/snice-timer.min.js +1 -1
  425. package/dist/cdn/toast/snice-toast.js +1 -1
  426. package/dist/cdn/toast/snice-toast.min.js +1 -1
  427. package/dist/cdn/tooltip/snice-tooltip.js +1 -1
  428. package/dist/cdn/tooltip/snice-tooltip.min.js +1 -1
  429. package/dist/cdn/tree/snice-tree.js +1 -1
  430. package/dist/cdn/tree/snice-tree.min.js +1 -1
  431. package/dist/cdn/treemap/snice-treemap.js +1 -1
  432. package/dist/cdn/treemap/snice-treemap.min.js +1 -1
  433. package/dist/cdn/video-player/README.md +27 -0
  434. package/dist/cdn/video-player/snice-video-player.js +721 -0
  435. package/dist/cdn/video-player/snice-video-player.js.map +1 -0
  436. package/dist/cdn/video-player/snice-video-player.min.js +153 -0
  437. package/dist/cdn/video-player/snice-video-player.min.js.map +1 -0
  438. package/dist/cdn/virtual-scroller/snice-virtual-scroller.js +1 -1
  439. package/dist/cdn/virtual-scroller/snice-virtual-scroller.min.js +1 -1
  440. package/dist/cdn/waterfall/README.md +27 -0
  441. package/dist/cdn/waterfall/snice-waterfall.js +292 -0
  442. package/dist/cdn/waterfall/snice-waterfall.js.map +1 -0
  443. package/dist/cdn/waterfall/snice-waterfall.min.js +12 -0
  444. package/dist/cdn/waterfall/snice-waterfall.min.js.map +1 -0
  445. package/dist/cdn/weather/README.md +27 -0
  446. package/dist/cdn/weather/snice-weather.js +194 -0
  447. package/dist/cdn/weather/snice-weather.js.map +1 -0
  448. package/dist/cdn/weather/snice-weather.min.js +42 -0
  449. package/dist/cdn/weather/snice-weather.min.js.map +1 -0
  450. package/dist/components/app-tiles/snice-app-tiles.d.ts +36 -0
  451. package/dist/components/app-tiles/snice-app-tiles.js +265 -0
  452. package/dist/components/app-tiles/snice-app-tiles.js.map +1 -0
  453. package/dist/components/app-tiles/snice-app-tiles.types.d.ts +22 -0
  454. package/dist/components/book/snice-book.d.ts +46 -0
  455. package/dist/components/book/snice-book.js +285 -0
  456. package/dist/components/book/snice-book.js.map +1 -0
  457. package/dist/components/book/snice-book.types.d.ts +21 -0
  458. package/dist/components/carousel/snice-carousel.js +8 -2
  459. package/dist/components/carousel/snice-carousel.js.map +1 -1
  460. package/dist/components/comments/snice-comments.d.ts +62 -0
  461. package/dist/components/comments/snice-comments.js +476 -0
  462. package/dist/components/comments/snice-comments.js.map +1 -0
  463. package/dist/components/comments/snice-comments.types.d.ts +64 -0
  464. package/dist/components/countdown/snice-countdown.d.ts +21 -0
  465. package/dist/components/countdown/snice-countdown.js +168 -0
  466. package/dist/components/countdown/snice-countdown.js.map +1 -0
  467. package/dist/components/countdown/snice-countdown.types.d.ts +18 -0
  468. package/dist/components/cropper/snice-cropper.d.ts +32 -0
  469. package/dist/components/cropper/snice-cropper.js +285 -0
  470. package/dist/components/cropper/snice-cropper.js.map +1 -0
  471. package/dist/components/cropper/snice-cropper.types.d.ts +26 -0
  472. package/dist/components/diff/snice-diff.d.ts +32 -0
  473. package/dist/components/diff/snice-diff.js +374 -0
  474. package/dist/components/diff/snice-diff.js.map +1 -0
  475. package/dist/components/diff/snice-diff.types.d.ts +26 -0
  476. package/dist/components/flip-card/snice-flip-card.d.ts +15 -0
  477. package/dist/components/flip-card/snice-flip-card.js +116 -0
  478. package/dist/components/flip-card/snice-flip-card.js.map +1 -0
  479. package/dist/components/flip-card/snice-flip-card.types.d.ts +16 -0
  480. package/dist/components/flow/snice-flow.d.ts +91 -0
  481. package/dist/components/flow/snice-flow.js +755 -0
  482. package/dist/components/flow/snice-flow.js.map +1 -0
  483. package/dist/components/flow/snice-flow.types.d.ts +64 -0
  484. package/dist/components/gantt/snice-gantt.d.ts +34 -0
  485. package/dist/components/gantt/snice-gantt.js +369 -0
  486. package/dist/components/gantt/snice-gantt.js.map +1 -0
  487. package/dist/components/gantt/snice-gantt.types.d.ts +37 -0
  488. package/dist/components/map/snice-map.d.ts +44 -0
  489. package/dist/components/map/snice-map.js +348 -0
  490. package/dist/components/map/snice-map.js.map +1 -0
  491. package/dist/components/map/snice-map.types.d.ts +41 -0
  492. package/dist/components/markdown/snice-markdown.d.ts +24 -0
  493. package/dist/components/markdown/snice-markdown.js +250 -0
  494. package/dist/components/markdown/snice-markdown.js.map +1 -0
  495. package/dist/components/markdown/snice-markdown.types.d.ts +16 -0
  496. package/dist/components/notification-center/snice-notification-center.d.ts +18 -0
  497. package/dist/components/notification-center/snice-notification-center.js +137 -0
  498. package/dist/components/notification-center/snice-notification-center.js.map +1 -0
  499. package/dist/components/notification-center/snice-notification-center.types.d.ts +24 -0
  500. package/dist/components/org-chart/snice-org-chart.d.ts +28 -0
  501. package/dist/components/org-chart/snice-org-chart.js +227 -0
  502. package/dist/components/org-chart/snice-org-chart.js.map +1 -0
  503. package/dist/components/org-chart/snice-org-chart.types.d.ts +28 -0
  504. package/dist/components/pdf-viewer/pdf.min.mjs +21 -0
  505. package/dist/components/pdf-viewer/pdf.worker.min.mjs +21 -0
  506. package/dist/components/pdf-viewer/snice-pdf-viewer.d.ts +60 -0
  507. package/dist/components/pdf-viewer/snice-pdf-viewer.js +521 -0
  508. package/dist/components/pdf-viewer/snice-pdf-viewer.js.map +1 -0
  509. package/dist/components/pdf-viewer/snice-pdf-viewer.types.d.ts +25 -0
  510. package/dist/components/podcast-player/snice-podcast-player.d.ts +72 -0
  511. package/dist/components/podcast-player/snice-podcast-player.js +768 -0
  512. package/dist/components/podcast-player/snice-podcast-player.js.map +1 -0
  513. package/dist/components/podcast-player/snice-podcast-player.types.d.ts +79 -0
  514. package/dist/components/pricing-table/snice-pricing-table.d.ts +51 -0
  515. package/dist/components/pricing-table/snice-pricing-table.js +422 -0
  516. package/dist/components/pricing-table/snice-pricing-table.js.map +1 -0
  517. package/dist/components/pricing-table/snice-pricing-table.types.d.ts +49 -0
  518. package/dist/components/rating/snice-rating.d.ts +15 -0
  519. package/dist/components/rating/snice-rating.js +143 -0
  520. package/dist/components/rating/snice-rating.js.map +1 -0
  521. package/dist/components/rating/snice-rating.types.d.ts +15 -0
  522. package/dist/components/recipe/snice-recipe.d.ts +53 -0
  523. package/dist/components/recipe/snice-recipe.js +552 -0
  524. package/dist/components/recipe/snice-recipe.js.map +1 -0
  525. package/dist/components/recipe/snice-recipe.types.d.ts +56 -0
  526. package/dist/components/sortable/snice-sortable.d.ts +24 -0
  527. package/dist/components/sortable/snice-sortable.js +187 -0
  528. package/dist/components/sortable/snice-sortable.js.map +1 -0
  529. package/dist/components/sortable/snice-sortable.types.d.ts +20 -0
  530. package/dist/components/spotlight/snice-spotlight.d.ts +42 -0
  531. package/dist/components/spotlight/snice-spotlight.js +330 -0
  532. package/dist/components/spotlight/snice-spotlight.js.map +1 -0
  533. package/dist/components/spotlight/snice-spotlight.types.d.ts +26 -0
  534. package/dist/components/spreadsheet/snice-spreadsheet.d.ts +102 -0
  535. package/dist/components/spreadsheet/snice-spreadsheet.js +1104 -0
  536. package/dist/components/spreadsheet/snice-spreadsheet.js.map +1 -0
  537. package/dist/components/spreadsheet/snice-spreadsheet.types.d.ts +54 -0
  538. package/dist/components/tag-input/snice-tag-input.d.ts +40 -0
  539. package/dist/components/tag-input/snice-tag-input.js +320 -0
  540. package/dist/components/tag-input/snice-tag-input.js.map +1 -0
  541. package/dist/components/tag-input/snice-tag-input.types.d.ts +29 -0
  542. package/dist/components/testimonial/snice-testimonial.d.ts +15 -0
  543. package/dist/components/testimonial/snice-testimonial.js +120 -0
  544. package/dist/components/testimonial/snice-testimonial.js.map +1 -0
  545. package/dist/components/testimonial/snice-testimonial.types.d.ts +10 -0
  546. package/dist/components/video-player/snice-video-player.d.ts +78 -0
  547. package/dist/components/video-player/snice-video-player.js +654 -0
  548. package/dist/components/video-player/snice-video-player.js.map +1 -0
  549. package/dist/components/video-player/snice-video-player.types.d.ts +47 -0
  550. package/dist/components/waterfall/snice-waterfall.d.ts +30 -0
  551. package/dist/components/waterfall/snice-waterfall.js +225 -0
  552. package/dist/components/waterfall/snice-waterfall.js.map +1 -0
  553. package/dist/components/waterfall/snice-waterfall.types.d.ts +23 -0
  554. package/dist/components/weather/snice-weather.d.ts +10 -0
  555. package/dist/components/weather/snice-weather.js +127 -0
  556. package/dist/components/weather/snice-weather.js.map +1 -0
  557. package/dist/components/weather/snice-weather.types.d.ts +22 -0
  558. package/dist/index.cjs +8 -1
  559. package/dist/index.cjs.map +1 -1
  560. package/dist/index.esm.js +8 -1
  561. package/dist/index.esm.js.map +1 -1
  562. package/dist/index.iife.js +8 -1
  563. package/dist/index.iife.js.map +1 -1
  564. package/dist/symbols.cjs +1 -1
  565. package/dist/symbols.esm.js +1 -1
  566. package/dist/transitions.cjs +1 -1
  567. package/dist/transitions.esm.js +1 -1
  568. package/docs/ai/DEVELOPMENT.md +1 -1
  569. package/docs/ai/api.md +6 -3
  570. package/docs/ai/components/accordion.md +0 -34
  571. package/docs/ai/components/app-tiles.md +77 -0
  572. package/docs/ai/components/audio-recorder.md +2 -0
  573. package/docs/ai/components/badge.md +7 -0
  574. package/docs/ai/components/book.md +78 -0
  575. package/docs/ai/components/button.md +5 -0
  576. package/docs/ai/components/chart.md +0 -24
  577. package/docs/ai/components/chat.md +7 -95
  578. package/docs/ai/components/code-block.md +3 -82
  579. package/docs/ai/components/color-display.md +3 -3
  580. package/docs/ai/components/color-picker.md +4 -4
  581. package/docs/ai/components/comments.md +75 -0
  582. package/docs/ai/components/countdown.md +54 -0
  583. package/docs/ai/components/cropper.md +57 -0
  584. package/docs/ai/components/date-picker.md +15 -9
  585. package/docs/ai/components/diff.md +66 -0
  586. package/docs/ai/components/divider.md +1 -1
  587. package/docs/ai/components/draw.md +5 -5
  588. package/docs/ai/components/drawer.md +5 -5
  589. package/docs/ai/components/empty-state.md +2 -2
  590. package/docs/ai/components/file-gallery.md +16 -87
  591. package/docs/ai/components/file-upload.md +6 -6
  592. package/docs/ai/components/flip-card.md +52 -0
  593. package/docs/ai/components/flow.md +104 -0
  594. package/docs/ai/components/funnel.md +3 -3
  595. package/docs/ai/components/gantt.md +63 -0
  596. package/docs/ai/components/gauge.md +1 -1
  597. package/docs/ai/components/heatmap.md +5 -5
  598. package/docs/ai/components/input.md +20 -18
  599. package/docs/ai/components/kanban.md +2 -2
  600. package/docs/ai/components/kpi.md +4 -53
  601. package/docs/ai/components/layout.md +10 -235
  602. package/docs/ai/components/link-preview.md +20 -29
  603. package/docs/ai/components/link.md +27 -47
  604. package/docs/ai/components/list.md +51 -31
  605. package/docs/ai/components/location.md +15 -27
  606. package/docs/ai/components/login.md +43 -94
  607. package/docs/ai/components/map.md +72 -0
  608. package/docs/ai/components/markdown.md +63 -0
  609. package/docs/ai/components/masonry.md +10 -6
  610. package/docs/ai/components/menu.md +40 -72
  611. package/docs/ai/components/modal.md +25 -42
  612. package/docs/ai/components/music-player.md +37 -89
  613. package/docs/ai/components/nav.md +25 -39
  614. package/docs/ai/components/network-graph.md +39 -43
  615. package/docs/ai/components/notification-center.md +79 -0
  616. package/docs/ai/components/org-chart.md +62 -0
  617. package/docs/ai/components/pagination.md +16 -18
  618. package/docs/ai/components/pdf-viewer.md +57 -0
  619. package/docs/ai/components/podcast-player.md +94 -0
  620. package/docs/ai/components/pricing-table.md +87 -0
  621. package/docs/ai/components/progress.md +23 -39
  622. package/docs/ai/components/qr-code.md +37 -84
  623. package/docs/ai/components/qr-reader.md +51 -61
  624. package/docs/ai/components/radio.md +27 -39
  625. package/docs/ai/components/rating.md +56 -0
  626. package/docs/ai/components/recipe.md +90 -0
  627. package/docs/ai/components/skeleton.md +0 -8
  628. package/docs/ai/components/slider.md +10 -50
  629. package/docs/ai/components/sortable.md +57 -0
  630. package/docs/ai/components/sparkline.md +26 -152
  631. package/docs/ai/components/spinner.md +0 -21
  632. package/docs/ai/components/split-pane.md +16 -38
  633. package/docs/ai/components/spotlight.md +61 -0
  634. package/docs/ai/components/spreadsheet.md +138 -0
  635. package/docs/ai/components/stepper.md +37 -183
  636. package/docs/ai/components/switch.md +28 -35
  637. package/docs/ai/components/table.md +43 -172
  638. package/docs/ai/components/tabs.md +31 -52
  639. package/docs/ai/components/tag-input.md +70 -0
  640. package/docs/ai/components/terminal.md +34 -116
  641. package/docs/ai/components/testimonial.md +56 -0
  642. package/docs/ai/components/textarea.md +11 -43
  643. package/docs/ai/components/theme.md +120 -0
  644. package/docs/ai/components/time-range-picker.md +17 -49
  645. package/docs/ai/components/timeline.md +7 -46
  646. package/docs/ai/components/timer.md +41 -37
  647. package/docs/ai/components/toast.md +19 -90
  648. package/docs/ai/components/tooltip.md +17 -104
  649. package/docs/ai/components/tree.md +38 -162
  650. package/docs/ai/components/treemap.md +23 -44
  651. package/docs/ai/components/video-player.md +91 -0
  652. package/docs/ai/components/virtual-scroller.md +23 -46
  653. package/docs/ai/components/waterfall.md +56 -0
  654. package/docs/ai/components/weather.md +78 -0
  655. package/docs/ai/decorators.md +25 -3
  656. package/docs/ai/patterns.md +18 -2
  657. package/docs/components/accordion.md +8 -6
  658. package/docs/components/alert.md +2 -0
  659. package/docs/components/app-tiles.md +162 -0
  660. package/docs/components/audio-recorder.md +6 -0
  661. package/docs/components/avatar.md +225 -0
  662. package/docs/components/badge.md +2 -0
  663. package/docs/components/banner.md +2 -0
  664. package/docs/components/book.md +184 -0
  665. package/docs/components/breadcrumbs.md +2 -0
  666. package/docs/components/button.md +15 -0
  667. package/docs/components/calendar.md +2 -0
  668. package/docs/components/camera-annotate.md +2 -0
  669. package/docs/components/camera.md +2 -0
  670. package/docs/components/candlestick.md +2 -0
  671. package/docs/components/card.md +2 -0
  672. package/docs/components/carousel.md +205 -36
  673. package/docs/components/chart.md +2 -0
  674. package/docs/components/chat.md +2 -0
  675. package/docs/components/checkbox.md +2 -0
  676. package/docs/components/chip.md +2 -0
  677. package/docs/components/code-block.md +2 -0
  678. package/docs/components/color-display.md +2 -0
  679. package/docs/components/color-picker.md +6 -4
  680. package/docs/components/command-palette.md +2 -0
  681. package/docs/components/comments.md +235 -0
  682. package/docs/components/countdown.md +121 -0
  683. package/docs/components/cropper.md +152 -0
  684. package/docs/components/date-picker.md +201 -0
  685. package/docs/components/diff.md +177 -0
  686. package/docs/components/divider.md +132 -0
  687. package/docs/components/doc.md +2 -0
  688. package/docs/components/draw.md +2 -0
  689. package/docs/components/drawer.md +2 -0
  690. package/docs/components/empty-state.md +2 -0
  691. package/docs/components/file-gallery.md +2 -0
  692. package/docs/components/file-upload.md +2 -0
  693. package/docs/components/flip-card.md +169 -0
  694. package/docs/components/flow.md +208 -0
  695. package/docs/components/funnel.md +2 -0
  696. package/docs/components/gantt.md +187 -0
  697. package/docs/components/gauge.md +2 -0
  698. package/docs/components/heatmap.md +2 -0
  699. package/docs/components/image.md +2 -0
  700. package/docs/components/input.md +242 -0
  701. package/docs/components/kanban.md +2 -0
  702. package/docs/components/kpi.md +2 -0
  703. package/docs/components/layout.md +84 -0
  704. package/docs/components/link-preview.md +66 -92
  705. package/docs/components/link.md +73 -157
  706. package/docs/components/list.md +140 -44
  707. package/docs/components/location.md +96 -283
  708. package/docs/components/login.md +131 -498
  709. package/docs/components/map.md +203 -0
  710. package/docs/components/markdown.md +220 -0
  711. package/docs/components/masonry.md +57 -102
  712. package/docs/components/menu.md +87 -494
  713. package/docs/components/modal.md +83 -436
  714. package/docs/components/music-player.md +116 -221
  715. package/docs/components/nav.md +107 -170
  716. package/docs/components/network-graph.md +83 -111
  717. package/docs/components/notification-center.md +256 -0
  718. package/docs/components/org-chart.md +275 -0
  719. package/docs/components/pagination.md +75 -218
  720. package/docs/components/paint.md +108 -73
  721. package/docs/components/pdf-viewer.md +204 -0
  722. package/docs/components/podcast-player.md +277 -0
  723. package/docs/components/pricing-table.md +249 -0
  724. package/docs/components/progress.md +169 -0
  725. package/docs/components/qr-code.md +95 -378
  726. package/docs/components/qr-reader.md +83 -258
  727. package/docs/components/radio.md +151 -0
  728. package/docs/components/rating.md +154 -0
  729. package/docs/components/recipe.md +323 -0
  730. package/docs/components/sankey.md +84 -107
  731. package/docs/components/select.md +114 -485
  732. package/docs/components/skeleton.md +96 -0
  733. package/docs/components/slider.md +92 -235
  734. package/docs/components/sortable.md +267 -0
  735. package/docs/components/sparkline.md +76 -222
  736. package/docs/components/spinner.md +37 -18
  737. package/docs/components/split-pane.md +62 -226
  738. package/docs/components/spotlight.md +240 -0
  739. package/docs/components/spreadsheet.md +405 -0
  740. package/docs/components/stepper.md +72 -306
  741. package/docs/components/switch.md +69 -293
  742. package/docs/components/table.md +250 -0
  743. package/docs/components/tabs.md +92 -471
  744. package/docs/components/tag-input.md +257 -0
  745. package/docs/components/terminal.md +87 -391
  746. package/docs/components/testimonial.md +185 -0
  747. package/docs/components/textarea.md +96 -181
  748. package/docs/components/theme.md +216 -0
  749. package/docs/components/time-range-picker.md +99 -151
  750. package/docs/components/timeline.md +67 -115
  751. package/docs/components/timer.md +44 -86
  752. package/docs/components/toast.md +93 -432
  753. package/docs/components/tooltip.md +75 -419
  754. package/docs/components/tree.md +110 -436
  755. package/docs/components/treemap.md +86 -129
  756. package/docs/components/video-player.md +336 -0
  757. package/docs/components/virtual-scroller.md +86 -226
  758. package/docs/components/waterfall.md +217 -0
  759. package/docs/components/weather.md +239 -0
  760. package/docs/routing.md +2 -2
  761. package/package.json +1 -1
  762. package/docs/ai/components/popover.md +0 -70
  763. package/docs/components/popover.md +0 -333
@@ -0,0 +1 @@
1
+ {"version":3,"file":"snice-book.js","sources":["../../../node_modules/tslib/tslib.es6.mjs","../../components/book/snice-book.js"],"sourcesContent":["/******************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\n\nvar extendStatics = function(d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n};\n\nexport function __extends(d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\n\nexport var __assign = function() {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n }\n return __assign.apply(this, arguments);\n}\n\nexport function __rest(s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n}\n\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\n\nexport function __param(paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n}\n\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for (var i = decorators.length - 1; i >= 0; i--) {\n var context = {};\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n }\n else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\n\nexport function __runInitializers(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for (var i = 0; i < initializers.length; i++) {\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n }\n return useValue ? value : void 0;\n};\n\nexport function __propKey(x) {\n return typeof x === \"symbol\" ? x : \"\".concat(x);\n};\n\nexport function __setFunctionName(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\n\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\n\nexport function __generator(thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n}\n\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nexport function __exportStar(m, o) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n}\n\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\n\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n}\n\n/** @deprecated */\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++)\n ar = ar.concat(__read(arguments[i]));\n return ar;\n}\n\n/** @deprecated */\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n}\n\nexport function __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\n\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\n\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n}\n\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\n}\n\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n}\n\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n\nvar __setModuleDefault = Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n};\n\nvar ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n};\n\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n}\n\nexport function __importDefault(mod) {\n return (mod && mod.__esModule) ? mod : { default: mod };\n}\n\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\n\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n}\n\nexport function __classPrivateFieldIn(state, receiver) {\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\n\nexport function __addDisposableResource(env, value, async) {\n if (value !== null && value !== void 0) {\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\n var dispose, inner;\n if (async) {\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n dispose = value[Symbol.asyncDispose];\n }\n if (dispose === void 0) {\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n dispose = value[Symbol.dispose];\n if (async) inner = dispose;\n }\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\n env.stack.push({ value: value, dispose: dispose, async: async });\n }\n else if (async) {\n env.stack.push({ async: true });\n }\n return value;\n}\n\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n var e = new Error(message);\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\n\nexport function __disposeResources(env) {\n function fail(e) {\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n env.hasError = true;\n }\n var r, s = 0;\n function next() {\n while (r = env.stack.pop()) {\n try {\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\n if (r.dispose) {\n var result = r.dispose.call(r.value);\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\n }\n else s |= 1;\n }\n catch (e) {\n fail(e);\n }\n }\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\n if (env.hasError) throw env.error;\n }\n return next();\n}\n\nexport function __rewriteRelativeImportExtension(path, preserveJsx) {\n if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\n return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\n return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\n });\n }\n return path;\n}\n\nexport default {\n __extends,\n __assign,\n __rest,\n __decorate,\n __param,\n __esDecorate,\n __runInitializers,\n __propKey,\n __setFunctionName,\n __metadata,\n __awaiter,\n __generator,\n __createBinding,\n __exportStar,\n __values,\n __read,\n __spread,\n __spreadArrays,\n __spreadArray,\n __await,\n __asyncGenerator,\n __asyncDelegator,\n __asyncValues,\n __makeTemplateObject,\n __importStar,\n __importDefault,\n __classPrivateFieldGet,\n __classPrivateFieldSet,\n __classPrivateFieldIn,\n __addDisposableResource,\n __disposeResources,\n __rewriteRelativeImportExtension,\n};\n","import { __esDecorate, __runInitializers } from 'tslib';\nimport { element, render, styles, html, css, property, query, ready, on, watch, dispatch } from 'snice';\n\nvar cssContent = \":host{display:block;--page-bg:#F5F5F5;--dark-text:#2A2935;--baseline:12px;--book-title:'Tulpen One',sans-serif;--title:'Cormorant Garamond',serif;--body:'Cormorant Garamond',serif;--base-size:calc(var(--baseline) * 1.2)}*{box-sizing:border-box}.cover{width:calc(var(--baseline) * 60);height:calc(var(--baseline) * 42.6);box-shadow:0 0 100px rgba(0,0,0,.3)}.book{width:100%;height:100%;display:flex;perspective:1200px;color:var(--dark-text)}.book__page{position:relative;width:50%;height:100%;display:grid;transform:rotateY(0);transition:transform .9s cubic-bezier(.645, .045, .355, 1);transform-origin:0% 0%;background-color:var(--page-bg);background-image:linear-gradient(90deg,#e3e3e3 0,rgba(247,247,247,0) 18%)}.book__page:first-of-type{background-image:linear-gradient(-90deg,#e3e3e3 0,rgba(247,247,247,0) 18%)}.book__page--1{cursor:pointer;overflow:hidden}.book__page--1 img{width:100%;max-width:100%;height:auto}.book__page--2{position:absolute;right:0;pointer-events:none;transform-style:preserve-3d;background-color:var(--page-bg);background-image:linear-gradient(90deg,#e3e3e3 0,rgba(247,247,247,0) 18%)}.book__page--4{cursor:pointer;padding:0 calc(var(--baseline) * 3)}.book__page-front{position:absolute;width:100%;height:100%;transform:rotateY(0) translateZ(1px)}.book__page-back{position:absolute;width:100%;height:100%;padding:0 calc(var(--baseline) * 1.8);transform:rotateY(180deg) translateZ(1px)}.page__content{padding:var(--baseline);height:100%;position:relative;text-align:center}.page__content-book-title{font-family:var(--book-title);font-size:calc(var(--base-size) * 3);font-weight:700;text-transform:uppercase;letter-spacing:3px;color:var(--dark-text);margin-top:calc(var(--baseline) * 5);margin-bottom:calc(var(--baseline) * 2)}.page__content-author{font-family:var(--title);font-size:calc(var(--base-size) * 1.2);font-weight:100;text-transform:uppercase;color:var(--dark-text);border-top:1px solid var(--dark-text);border-bottom:1px solid var(--dark-text);display:inline-block;padding:calc(var(--baseline)/ 2) calc(var(--baseline)/ 5);margin-bottom:calc(var(--baseline) * 6)}.page__content-credits{font-family:var(--title);text-transform:uppercase;font-size:calc(var(--base-size) * .8);margin-bottom:calc(var(--baseline) * 2);letter-spacing:1px}.page__content-credits span{display:block;font-size:calc(var(--base-size) * 1.2);letter-spacing:0}.page__content-copyright{position:absolute;width:calc(100% - (var(--baseline) * 2));bottom:calc(var(--baseline) * 2);font-family:var(--title);font-size:calc(var(--base-size) * .8);text-transform:uppercase}.page__content-title{font-family:var(--title);font-size:calc(var(--base-size) * 1);text-transform:uppercase;letter-spacing:1px;margin-top:calc(var(--baseline) * 5);margin-bottom:calc(var(--baseline) * 3)}.page__content-table{width:100%;margin-top:calc(var(--baseline) * 2)}.page__content-table td{font-family:var(--title);font-size:calc(var(--base-size) * 1);padding-bottom:calc(var(--baseline) * 1.5);text-transform:uppercase}.page__content-blockquote{margin-bottom:calc(var(--baseline) * 2)}.page__content-blockquote-text{font-family:var(--title);font-size:calc(var(--base-size) * .67);font-style:italic;text-align:justify}.page__content-blockquote-reference{font-family:var(--title);font-size:calc(var(--base-size) * .7);margin-top:calc(var(--baseline) * .3);float:right;text-transform:uppercase}.page__content-text{font-family:var(--title);font-size:calc(var(--base-size) * .67);text-align:justify;text-indent:var(--baseline)}.page__number{position:absolute;bottom:var(--baseline);width:calc(100% - (var(--baseline) * 2));font-family:var(--title);font-size:calc(var(--base-size) * .67);text-align:center}.book input[type=radio]{display:none}.book input[type=radio]:checked+.book__page{transition:transform .9s cubic-bezier(.645, .045, .355, 1);transform:rotateY(-180deg)}\";\n\nlet SniceBookPage = (() => {\n let _classDecorators = [element('snice-book-page')];\n let _classDescriptor;\n let _classExtraInitializers = [];\n let _classThis;\n let _classSuper = HTMLElement;\n let _instanceExtraInitializers = [];\n let _renderContent_decorators;\n let _componentStyles_decorators;\n (class extends _classSuper {\n static { _classThis = this; }\n static {\n const _metadata = typeof Symbol === \"function\" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;\n _renderContent_decorators = [render()];\n _componentStyles_decorators = [styles()];\n __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);\n __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);\n __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: \"class\", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);\n _classThis = _classDescriptor.value;\n if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });\n __runInitializers(_classThis, _classExtraInitializers);\n }\n renderContent() {\n return html `<slot></slot>`;\n }\n componentStyles() {\n return css `:host { display: none; }`;\n }\n constructor() {\n super(...arguments);\n __runInitializers(this, _instanceExtraInitializers);\n }\n });\n return _classThis;\n})();\nlet SniceBook = (() => {\n let _classDecorators = [element('snice-book')];\n let _classDescriptor;\n let _classExtraInitializers = [];\n let _classThis;\n let _classSuper = HTMLElement;\n let _instanceExtraInitializers = [];\n let _currentPage_decorators;\n let _currentPage_initializers = [];\n let _currentPage_extraInitializers = [];\n let _coverImage_decorators;\n let _coverImage_initializers = [];\n let _coverImage_extraInitializers = [];\n let _title_decorators;\n let _title_initializers = [];\n let _title_extraInitializers = [];\n let _author_decorators;\n let _author_initializers = [];\n let _author_extraInitializers = [];\n let _$book_decorators;\n let _$book_initializers = [];\n let _$book_extraInitializers = [];\n let _init_decorators;\n let _handleSlotChange_decorators;\n let _onPageChange_decorators;\n let _onCoverChange_decorators;\n let _handleKeydown_decorators;\n let _emitPageTurn_decorators;\n let _renderContent_decorators;\n let _componentStyles_decorators;\n (class extends _classSuper {\n static { _classThis = this; }\n constructor() {\n super(...arguments);\n this.currentPage = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _currentPage_initializers, 0));\n this.coverImage = (__runInitializers(this, _currentPage_extraInitializers), __runInitializers(this, _coverImage_initializers, ''));\n this.title = (__runInitializers(this, _coverImage_extraInitializers), __runInitializers(this, _title_initializers, ''));\n this.author = (__runInitializers(this, _title_extraInitializers), __runInitializers(this, _author_initializers, ''));\n this.$book = (__runInitializers(this, _author_extraInitializers), __runInitializers(this, _$book_initializers, void 0));\n this.pages = (__runInitializers(this, _$book_extraInitializers), []);\n this.radioName = `book_${Math.random().toString(36).slice(2, 8)}`;\n }\n static {\n const _metadata = typeof Symbol === \"function\" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;\n _currentPage_decorators = [property({ type: Number, attribute: 'current-page' })];\n _coverImage_decorators = [property({ attribute: 'cover-image' })];\n _title_decorators = [property()];\n _author_decorators = [property()];\n _$book_decorators = [query('.book')];\n _init_decorators = [ready()];\n _handleSlotChange_decorators = [on('slotchange', { target: 'slot' })];\n _onPageChange_decorators = [watch('currentPage')];\n _onCoverChange_decorators = [watch('coverImage')];\n _handleKeydown_decorators = [on('keydown')];\n _emitPageTurn_decorators = [dispatch('page-turn', { bubbles: true, composed: true })];\n _renderContent_decorators = [render({ once: true })];\n _componentStyles_decorators = [styles()];\n __esDecorate(this, null, _init_decorators, { kind: \"method\", name: \"init\", static: false, private: false, access: { has: obj => \"init\" in obj, get: obj => obj.init }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _handleSlotChange_decorators, { kind: \"method\", name: \"handleSlotChange\", static: false, private: false, access: { has: obj => \"handleSlotChange\" in obj, get: obj => obj.handleSlotChange }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _onPageChange_decorators, { kind: \"method\", name: \"onPageChange\", static: false, private: false, access: { has: obj => \"onPageChange\" in obj, get: obj => obj.onPageChange }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _onCoverChange_decorators, { kind: \"method\", name: \"onCoverChange\", static: false, private: false, access: { has: obj => \"onCoverChange\" in obj, get: obj => obj.onCoverChange }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _handleKeydown_decorators, { kind: \"method\", name: \"handleKeydown\", static: false, private: false, access: { has: obj => \"handleKeydown\" in obj, get: obj => obj.handleKeydown }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _emitPageTurn_decorators, { kind: \"method\", name: \"emitPageTurn\", static: false, private: false, access: { has: obj => \"emitPageTurn\" in obj, get: obj => obj.emitPageTurn }, metadata: _metadata }, null, _instanceExtraInitializers);\n __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);\n __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);\n __esDecorate(null, null, _currentPage_decorators, { kind: \"field\", name: \"currentPage\", static: false, private: false, access: { has: obj => \"currentPage\" in obj, get: obj => obj.currentPage, set: (obj, value) => { obj.currentPage = value; } }, metadata: _metadata }, _currentPage_initializers, _currentPage_extraInitializers);\n __esDecorate(null, null, _coverImage_decorators, { kind: \"field\", name: \"coverImage\", static: false, private: false, access: { has: obj => \"coverImage\" in obj, get: obj => obj.coverImage, set: (obj, value) => { obj.coverImage = value; } }, metadata: _metadata }, _coverImage_initializers, _coverImage_extraInitializers);\n __esDecorate(null, null, _title_decorators, { kind: \"field\", name: \"title\", static: false, private: false, access: { has: obj => \"title\" in obj, get: obj => obj.title, set: (obj, value) => { obj.title = value; } }, metadata: _metadata }, _title_initializers, _title_extraInitializers);\n __esDecorate(null, null, _author_decorators, { kind: \"field\", name: \"author\", static: false, private: false, access: { has: obj => \"author\" in obj, get: obj => obj.author, set: (obj, value) => { obj.author = value; } }, metadata: _metadata }, _author_initializers, _author_extraInitializers);\n __esDecorate(null, null, _$book_decorators, { kind: \"field\", name: \"$book\", static: false, private: false, access: { has: obj => \"$book\" in obj, get: obj => obj.$book, set: (obj, value) => { obj.$book = value; } }, metadata: _metadata }, _$book_initializers, _$book_extraInitializers);\n __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: \"class\", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);\n _classThis = _classDescriptor.value;\n if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });\n __runInitializers(_classThis, _classExtraInitializers);\n }\n get totalPages() {\n return this.pages.length;\n }\n init() {\n this.collectPages();\n this.buildPages();\n this.setAttribute('tabindex', '0');\n }\n handleSlotChange() {\n this.collectPages();\n this.buildPages();\n }\n onPageChange() {\n this.syncRadio();\n }\n onCoverChange() {\n if (!this.$book)\n return;\n const img = this.$book.querySelector('.book__page--1 img');\n if (img)\n img.src = this.coverImage;\n }\n handleKeydown(e) {\n if (e.key === 'ArrowRight') {\n e.preventDefault();\n this.nextPage();\n }\n if (e.key === 'ArrowLeft') {\n e.preventDefault();\n this.prevPage();\n }\n }\n collectPages() {\n this.pages = Array.from(this.querySelectorAll(':scope > snice-book-page'));\n }\n /**\n * Exact CodePen DOM structure:\n *\n * <label for=\"page-1\" class=\"book__page book__page--1\"> ← left: cover image\n * <label for=\"page-2\" class=\"book__page book__page--4\"> ← right: last page content\n * <input type=\"radio\" name=\"page\" id=\"page-1\"/> ← resets (closes)\n * <input type=\"radio\" name=\"page\" id=\"page-2\"/> ← opens page\n * <label class=\"book__page book__page--2\"> ← flippable page\n * <div class=\"book__page-front\">...</div>\n * <div class=\"book__page-back\">...</div>\n * </label>\n *\n * CSS: input:checked + .book__page { transform: rotateY(-180deg) }\n */\n buildPages() {\n if (!this.$book)\n return;\n const n = this.pages.length;\n if (n === 0) {\n this.$book.innerHTML = '';\n return;\n }\n const resetId = `${this.radioName}_0`;\n const lastId = `${this.radioName}_${n}`;\n let h = '';\n // Left label: cover image, click resets (closes all)\n h += `<label for=\"${resetId}\" class=\"book__page book__page--1\">`;\n if (this.coverImage) {\n h += `<img src=\"${this.esc(this.coverImage)}\" alt=\"${this.esc(this.title || '')}\">`;\n }\n h += `</label>`;\n // Right label: last page content, click opens last page\n h += `<label for=\"${lastId}\" class=\"book__page book__page--4\">`;\n h += `<div class=\"page__content\" data-slot=\"last\"></div>`;\n h += `</label>`;\n // Reset radio (no adjacent flippable label — unchecks everything)\n h += `<input type=\"radio\" name=\"${this.radioName}\" id=\"${resetId}\">`;\n // For each page: radio + adjacent flippable label (CSS + combinator)\n for (let i = 0; i < n; i++) {\n const radioId = `${this.radioName}_${i + 1}`;\n h += `<input type=\"radio\" name=\"${this.radioName}\" id=\"${radioId}\" data-page=\"${i}\">`;\n h += `<label class=\"book__page book__page--2\">`;\n h += `<div class=\"book__page-front\"><div class=\"page__content\" data-slot=\"front-${i}\"></div></div>`;\n h += `<div class=\"book__page-back\"><div class=\"page__content\" data-slot=\"back-${i}\"></div></div>`;\n h += `</label>`;\n }\n this.$book.innerHTML = h;\n // Project slotted content into page containers\n for (let i = 0; i < n; i++) {\n const page = this.pages[i];\n const front = page.querySelector('[slot=\"front\"]') || page.children[0];\n const back = page.querySelector('[slot=\"back\"]');\n const frontEl = this.$book.querySelector(`[data-slot=\"front-${i}\"]`);\n const backEl = this.$book.querySelector(`[data-slot=\"back-${i}\"]`);\n if (frontEl && front)\n frontEl.appendChild(front.cloneNode(true));\n if (backEl && back)\n backEl.appendChild(back.cloneNode(true));\n }\n // Right side: front of last page\n const lastSlot = this.$book.querySelector('[data-slot=\"last\"]');\n if (lastSlot && n > 0) {\n const lastPage = this.pages[n - 1];\n const lastFront = lastPage.querySelector('[slot=\"front\"]') || lastPage.children[0];\n if (lastFront)\n lastSlot.appendChild(lastFront.cloneNode(true));\n }\n // Radio change listeners for page-turn events\n this.$book.querySelectorAll('input[type=\"radio\"]').forEach(radio => {\n radio.addEventListener('change', () => {\n const idx = radio.dataset.page;\n const old = this.currentPage;\n this.currentPage = idx !== undefined ? Number(idx) + 1 : 0;\n if (old !== this.currentPage) {\n const direction = this.currentPage > old ? 'forward' : 'backward';\n this.emitPageTurn({ page: this.currentPage, direction });\n }\n });\n });\n this.syncRadio();\n }\n syncRadio() {\n if (!this.$book)\n return;\n const id = this.currentPage === 0\n ? `${this.radioName}_0`\n : `${this.radioName}_${this.currentPage}`;\n const radio = this.$book.querySelector(`#${id}`);\n if (radio)\n radio.checked = true;\n }\n goToPage(page) {\n const old = this.currentPage;\n this.currentPage = Math.max(0, Math.min(page, this.totalPages));\n if (old !== this.currentPage) {\n this.emitPageTurn({ page: this.currentPage, direction: this.currentPage > old ? 'forward' : 'backward' });\n }\n }\n nextPage() {\n if (this.currentPage < this.totalPages)\n this.goToPage(this.currentPage + 1);\n }\n prevPage() {\n if (this.currentPage > 0)\n this.goToPage(this.currentPage - 1);\n }\n firstPage() {\n this.goToPage(0);\n }\n lastPage() {\n this.goToPage(this.totalPages);\n }\n esc(str) {\n return str.replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;').replace(/\"/g, '&quot;');\n }\n emitPageTurn(detail) {\n return detail;\n }\n renderContent() {\n return html /*html*/ `\n <div class=\"cover\">\n <div class=\"book\"></div>\n </div>\n <div hidden><slot></slot></div>\n `;\n }\n componentStyles() {\n return css `${cssContent}`;\n }\n });\n return _classThis;\n})();\n\nexport { SniceBook, SniceBookPage };\n//# sourceMappingURL=snice-book.js.map\n"],"names":["element","render","styles","html","css","property","query","ready","on","watch","dispatch"],"mappings":"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","x_google_ignoreList":[0]}
@@ -0,0 +1,13 @@
1
+ /*!
2
+ * snice v4.10.0
3
+ * Imperative TypeScript framework for building vanilla web components with decorators, differential rendering, routing, and controllers. No virtual DOM, no build complexity.
4
+ * (c) 2024
5
+ * Released under the MIT License.
6
+ */
7
+ void 0===globalThis.Snice&&console.warn("[snice] snice-runtime.min.js must be loaded before snice-book.min.js");var SniceBook=function(e,t){"use strict";function a(e,t,a,n,o,i){function r(e){if(void 0!==e&&"function"!=typeof e)throw new TypeError("Function expected");return e}for(var s,l=n.kind,c="getter"===l?"get":"setter"===l?"set":"value",d=!t&&e?n.static?e:e.prototype:null,g=t||(d?Object.getOwnPropertyDescriptor(d,n.name):{}),h=!1,p=a.length-1;p>=0;p--){var u={};for(var b in n)u[b]="access"===b?{}:n[b];for(var b in n.access)u.access[b]=n.access[b];u.addInitializer=function(e){if(h)throw new TypeError("Cannot add initializers after decoration has completed");i.push(r(e||null))};var m=(0,a[p])("accessor"===l?{get:g.get,set:g.set}:g[c],u);if("accessor"===l){if(void 0===m)continue;if(null===m||"object"!=typeof m)throw new TypeError("Object expected");(s=r(m.get))&&(g.get=s),(s=r(m.set))&&(g.set=s),(s=r(m.init))&&o.unshift(s)}else(s=r(m))&&("field"===l?o.unshift(s):g[c]=s)}d&&Object.defineProperty(d,n.name,g),h=!0}function n(e,t,a){for(var n=arguments.length>2,o=0;o<t.length;o++)a=n?t[o].call(e,a):t[o].call(e);return n?a:void 0}"function"==typeof SuppressedError&&SuppressedError;let o=(()=>{let e,o,i,r,s=[t.element("snice-book-page")],l=[],c=HTMLElement,d=[];return class extends c{static{o=this}static{const g="function"==typeof Symbol&&Symbol.metadata?Object.create(c[Symbol.metadata]??null):void 0;i=[t.render()],r=[t.styles()],a(this,null,i,{kind:"method",name:"renderContent",static:!1,private:!1,access:{has:e=>"renderContent"in e,get:e=>e.renderContent},metadata:g},null,d),a(this,null,r,{kind:"method",name:"componentStyles",static:!1,private:!1,access:{has:e=>"componentStyles"in e,get:e=>e.componentStyles},metadata:g},null,d),a(null,e={value:o},s,{kind:"class",name:o.name,metadata:g},null,l),o=e.value,g&&Object.defineProperty(o,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:g}),n(o,l)}renderContent(){return t.html`<slot></slot>`}componentStyles(){return t.css`:host { display: none; }`}constructor(){super(...arguments),n(this,d)}},o})(),i=(()=>{let e,o,i,r,s,l,c,d,g,h,p,u,b,m,v,f=[t.element("snice-book")],k=[],y=HTMLElement,_=[],P=[],x=[],$=[],S=[],w=[],C=[],z=[],T=[],q=[],N=[];return class extends y{static{o=this}constructor(){super(...arguments),this.currentPage=(n(this,_),n(this,P,0)),this.coverImage=(n(this,x),n(this,$,"")),this.title=(n(this,S),n(this,w,"")),this.author=(n(this,C),n(this,z,"")),this.$book=(n(this,T),n(this,q,void 0)),this.pages=(n(this,N),[]),this.radioName=`book_${Math.random().toString(36).slice(2,8)}`}static{const j="function"==typeof Symbol&&Symbol.metadata?Object.create(y[Symbol.metadata]??null):void 0;i=[t.property({type:Number,attribute:"current-page"})],r=[t.property({attribute:"cover-image"})],s=[t.property()],l=[t.property()],c=[t.query(".book")],d=[t.ready()],g=[t.on("slotchange",{target:"slot"})],h=[t.watch("currentPage")],p=[t.watch("coverImage")],u=[t.on("keydown")],b=[t.dispatch("page-turn",{bubbles:!0,composed:!0})],m=[t.render({once:!0})],v=[t.styles()],a(this,null,d,{kind:"method",name:"init",static:!1,private:!1,access:{has:e=>"init"in e,get:e=>e.init},metadata:j},null,_),a(this,null,g,{kind:"method",name:"handleSlotChange",static:!1,private:!1,access:{has:e=>"handleSlotChange"in e,get:e=>e.handleSlotChange},metadata:j},null,_),a(this,null,h,{kind:"method",name:"onPageChange",static:!1,private:!1,access:{has:e=>"onPageChange"in e,get:e=>e.onPageChange},metadata:j},null,_),a(this,null,p,{kind:"method",name:"onCoverChange",static:!1,private:!1,access:{has:e=>"onCoverChange"in e,get:e=>e.onCoverChange},metadata:j},null,_),a(this,null,u,{kind:"method",name:"handleKeydown",static:!1,private:!1,access:{has:e=>"handleKeydown"in e,get:e=>e.handleKeydown},metadata:j},null,_),a(this,null,b,{kind:"method",name:"emitPageTurn",static:!1,private:!1,access:{has:e=>"emitPageTurn"in e,get:e=>e.emitPageTurn},metadata:j},null,_),a(this,null,m,{kind:"method",name:"renderContent",static:!1,private:!1,access:{has:e=>"renderContent"in e,get:e=>e.renderContent},metadata:j},null,_),a(this,null,v,{kind:"method",name:"componentStyles",static:!1,private:!1,access:{has:e=>"componentStyles"in e,get:e=>e.componentStyles},metadata:j},null,_),a(null,null,i,{kind:"field",name:"currentPage",static:!1,private:!1,access:{has:e=>"currentPage"in e,get:e=>e.currentPage,set:(e,t)=>{e.currentPage=t}},metadata:j},P,x),a(null,null,r,{kind:"field",name:"coverImage",static:!1,private:!1,access:{has:e=>"coverImage"in e,get:e=>e.coverImage,set:(e,t)=>{e.coverImage=t}},metadata:j},$,S),a(null,null,s,{kind:"field",name:"title",static:!1,private:!1,access:{has:e=>"title"in e,get:e=>e.title,set:(e,t)=>{e.title=t}},metadata:j},w,C),a(null,null,l,{kind:"field",name:"author",static:!1,private:!1,access:{has:e=>"author"in e,get:e=>e.author,set:(e,t)=>{e.author=t}},metadata:j},z,T),a(null,null,c,{kind:"field",name:"$book",static:!1,private:!1,access:{has:e=>"$book"in e,get:e=>e.$book,set:(e,t)=>{e.$book=t}},metadata:j},q,N),a(null,e={value:o},f,{kind:"class",name:o.name,metadata:j},null,k),o=e.value,j&&Object.defineProperty(o,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:j}),n(o,k)}get totalPages(){return this.pages.length}init(){this.collectPages(),this.buildPages(),this.setAttribute("tabindex","0")}handleSlotChange(){this.collectPages(),this.buildPages()}onPageChange(){this.syncRadio()}onCoverChange(){if(!this.$book)return;const e=this.$book.querySelector(".book__page--1 img");e&&(e.src=this.coverImage)}handleKeydown(e){"ArrowRight"===e.key&&(e.preventDefault(),this.nextPage()),"ArrowLeft"===e.key&&(e.preventDefault(),this.prevPage())}collectPages(){this.pages=Array.from(this.querySelectorAll(":scope > snice-book-page"))}buildPages(){if(!this.$book)return;const e=this.pages.length;if(0===e)return void(this.$book.innerHTML="");const t=`${this.radioName}_0`,a=`${this.radioName}_${e}`;let n="";n+=`<label for="${t}" class="book__page book__page--1">`,this.coverImage&&(n+=`<img src="${this.esc(this.coverImage)}" alt="${this.esc(this.title||"")}">`),n+="</label>",n+=`<label for="${a}" class="book__page book__page--4">`,n+='<div class="page__content" data-slot="last"></div>',n+="</label>",n+=`<input type="radio" name="${this.radioName}" id="${t}">`;for(let t=0;t<e;t++){const e=`${this.radioName}_${t+1}`;n+=`<input type="radio" name="${this.radioName}" id="${e}" data-page="${t}">`,n+='<label class="book__page book__page--2">',n+=`<div class="book__page-front"><div class="page__content" data-slot="front-${t}"></div></div>`,n+=`<div class="book__page-back"><div class="page__content" data-slot="back-${t}"></div></div>`,n+="</label>"}this.$book.innerHTML=n;for(let t=0;t<e;t++){const e=this.pages[t],a=e.querySelector('[slot="front"]')||e.children[0],n=e.querySelector('[slot="back"]'),o=this.$book.querySelector(`[data-slot="front-${t}"]`),i=this.$book.querySelector(`[data-slot="back-${t}"]`);o&&a&&o.appendChild(a.cloneNode(!0)),i&&n&&i.appendChild(n.cloneNode(!0))}const o=this.$book.querySelector('[data-slot="last"]');if(o&&e>0){const t=this.pages[e-1],a=t.querySelector('[slot="front"]')||t.children[0];a&&o.appendChild(a.cloneNode(!0))}this.$book.querySelectorAll('input[type="radio"]').forEach(e=>{e.addEventListener("change",()=>{const t=e.dataset.page,a=this.currentPage;if(this.currentPage=void 0!==t?Number(t)+1:0,a!==this.currentPage){const e=this.currentPage>a?"forward":"backward";this.emitPageTurn({page:this.currentPage,direction:e})}})}),this.syncRadio()}syncRadio(){if(!this.$book)return;const e=0===this.currentPage?`${this.radioName}_0`:`${this.radioName}_${this.currentPage}`,t=this.$book.querySelector(`#${e}`);t&&(t.checked=!0)}goToPage(e){const t=this.currentPage;this.currentPage=Math.max(0,Math.min(e,this.totalPages)),t!==this.currentPage&&this.emitPageTurn({page:this.currentPage,direction:this.currentPage>t?"forward":"backward"})}nextPage(){this.currentPage<this.totalPages&&this.goToPage(this.currentPage+1)}prevPage(){this.currentPage>0&&this.goToPage(this.currentPage-1)}firstPage(){this.goToPage(0)}lastPage(){this.goToPage(this.totalPages)}esc(e){return e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")}emitPageTurn(e){return e}renderContent(){return t.html`
8
+ <div class="cover">
9
+ <div class="book"></div>
10
+ </div>
11
+ <div hidden><slot></slot></div>
12
+ `}componentStyles(){return t.css`${":host{display:block;--page-bg:#F5F5F5;--dark-text:#2A2935;--baseline:12px;--book-title:'Tulpen One',sans-serif;--title:'Cormorant Garamond',serif;--body:'Cormorant Garamond',serif;--base-size:calc(var(--baseline) * 1.2)}*{box-sizing:border-box}.cover{width:calc(var(--baseline) * 60);height:calc(var(--baseline) * 42.6);box-shadow:0 0 100px rgba(0,0,0,.3)}.book{width:100%;height:100%;display:flex;perspective:1200px;color:var(--dark-text)}.book__page{position:relative;width:50%;height:100%;display:grid;transform:rotateY(0);transition:transform .9s cubic-bezier(.645, .045, .355, 1);transform-origin:0% 0%;background-color:var(--page-bg);background-image:linear-gradient(90deg,#e3e3e3 0,rgba(247,247,247,0) 18%)}.book__page:first-of-type{background-image:linear-gradient(-90deg,#e3e3e3 0,rgba(247,247,247,0) 18%)}.book__page--1{cursor:pointer;overflow:hidden}.book__page--1 img{width:100%;max-width:100%;height:auto}.book__page--2{position:absolute;right:0;pointer-events:none;transform-style:preserve-3d;background-color:var(--page-bg);background-image:linear-gradient(90deg,#e3e3e3 0,rgba(247,247,247,0) 18%)}.book__page--4{cursor:pointer;padding:0 calc(var(--baseline) * 3)}.book__page-front{position:absolute;width:100%;height:100%;transform:rotateY(0) translateZ(1px)}.book__page-back{position:absolute;width:100%;height:100%;padding:0 calc(var(--baseline) * 1.8);transform:rotateY(180deg) translateZ(1px)}.page__content{padding:var(--baseline);height:100%;position:relative;text-align:center}.page__content-book-title{font-family:var(--book-title);font-size:calc(var(--base-size) * 3);font-weight:700;text-transform:uppercase;letter-spacing:3px;color:var(--dark-text);margin-top:calc(var(--baseline) * 5);margin-bottom:calc(var(--baseline) * 2)}.page__content-author{font-family:var(--title);font-size:calc(var(--base-size) * 1.2);font-weight:100;text-transform:uppercase;color:var(--dark-text);border-top:1px solid var(--dark-text);border-bottom:1px solid var(--dark-text);display:inline-block;padding:calc(var(--baseline)/ 2) calc(var(--baseline)/ 5);margin-bottom:calc(var(--baseline) * 6)}.page__content-credits{font-family:var(--title);text-transform:uppercase;font-size:calc(var(--base-size) * .8);margin-bottom:calc(var(--baseline) * 2);letter-spacing:1px}.page__content-credits span{display:block;font-size:calc(var(--base-size) * 1.2);letter-spacing:0}.page__content-copyright{position:absolute;width:calc(100% - (var(--baseline) * 2));bottom:calc(var(--baseline) * 2);font-family:var(--title);font-size:calc(var(--base-size) * .8);text-transform:uppercase}.page__content-title{font-family:var(--title);font-size:calc(var(--base-size) * 1);text-transform:uppercase;letter-spacing:1px;margin-top:calc(var(--baseline) * 5);margin-bottom:calc(var(--baseline) * 3)}.page__content-table{width:100%;margin-top:calc(var(--baseline) * 2)}.page__content-table td{font-family:var(--title);font-size:calc(var(--base-size) * 1);padding-bottom:calc(var(--baseline) * 1.5);text-transform:uppercase}.page__content-blockquote{margin-bottom:calc(var(--baseline) * 2)}.page__content-blockquote-text{font-family:var(--title);font-size:calc(var(--base-size) * .67);font-style:italic;text-align:justify}.page__content-blockquote-reference{font-family:var(--title);font-size:calc(var(--base-size) * .7);margin-top:calc(var(--baseline) * .3);float:right;text-transform:uppercase}.page__content-text{font-family:var(--title);font-size:calc(var(--base-size) * .67);text-align:justify;text-indent:var(--baseline)}.page__number{position:absolute;bottom:var(--baseline);width:calc(100% - (var(--baseline) * 2));font-family:var(--title);font-size:calc(var(--base-size) * .67);text-align:center}.book input[type=radio]{display:none}.book input[type=radio]:checked+.book__page{transition:transform .9s cubic-bezier(.645, .045, .355, 1);transform:rotateY(-180deg)}"}`}},o})();return e.SniceBook=i,e.SniceBookPage=o,e}({},Snice);
13
+ //# sourceMappingURL=snice-book.min.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"snice-book.min.js","sources":["../../../node_modules/tslib/tslib.es6.mjs","../../components/book/snice-book.js"],"sourcesContent":["/******************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\n\nvar extendStatics = function(d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n};\n\nexport function __extends(d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\n\nexport var __assign = function() {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n }\n return __assign.apply(this, arguments);\n}\n\nexport function __rest(s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n}\n\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\n\nexport function __param(paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n}\n\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for (var i = decorators.length - 1; i >= 0; i--) {\n var context = {};\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n }\n else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\n\nexport function __runInitializers(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for (var i = 0; i < initializers.length; i++) {\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n }\n return useValue ? value : void 0;\n};\n\nexport function __propKey(x) {\n return typeof x === \"symbol\" ? x : \"\".concat(x);\n};\n\nexport function __setFunctionName(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\n\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\n\nexport function __generator(thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n}\n\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nexport function __exportStar(m, o) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n}\n\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\n\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n}\n\n/** @deprecated */\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++)\n ar = ar.concat(__read(arguments[i]));\n return ar;\n}\n\n/** @deprecated */\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n}\n\nexport function __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\n\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\n\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n}\n\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\n}\n\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n}\n\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n\nvar __setModuleDefault = Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n};\n\nvar ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n};\n\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n}\n\nexport function __importDefault(mod) {\n return (mod && mod.__esModule) ? mod : { default: mod };\n}\n\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\n\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n}\n\nexport function __classPrivateFieldIn(state, receiver) {\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\n\nexport function __addDisposableResource(env, value, async) {\n if (value !== null && value !== void 0) {\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\n var dispose, inner;\n if (async) {\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n dispose = value[Symbol.asyncDispose];\n }\n if (dispose === void 0) {\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n dispose = value[Symbol.dispose];\n if (async) inner = dispose;\n }\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\n env.stack.push({ value: value, dispose: dispose, async: async });\n }\n else if (async) {\n env.stack.push({ async: true });\n }\n return value;\n}\n\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n var e = new Error(message);\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\n\nexport function __disposeResources(env) {\n function fail(e) {\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n env.hasError = true;\n }\n var r, s = 0;\n function next() {\n while (r = env.stack.pop()) {\n try {\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\n if (r.dispose) {\n var result = r.dispose.call(r.value);\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\n }\n else s |= 1;\n }\n catch (e) {\n fail(e);\n }\n }\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\n if (env.hasError) throw env.error;\n }\n return next();\n}\n\nexport function __rewriteRelativeImportExtension(path, preserveJsx) {\n if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\n return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\n return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\n });\n }\n return path;\n}\n\nexport default {\n __extends,\n __assign,\n __rest,\n __decorate,\n __param,\n __esDecorate,\n __runInitializers,\n __propKey,\n __setFunctionName,\n __metadata,\n __awaiter,\n __generator,\n __createBinding,\n __exportStar,\n __values,\n __read,\n __spread,\n __spreadArrays,\n __spreadArray,\n __await,\n __asyncGenerator,\n __asyncDelegator,\n __asyncValues,\n __makeTemplateObject,\n __importStar,\n __importDefault,\n __classPrivateFieldGet,\n __classPrivateFieldSet,\n __classPrivateFieldIn,\n __addDisposableResource,\n __disposeResources,\n __rewriteRelativeImportExtension,\n};\n","import { __esDecorate, __runInitializers } from 'tslib';\nimport { element, render, styles, html, css, property, query, ready, on, watch, dispatch } from 'snice';\n\nvar cssContent = \":host{display:block;--page-bg:#F5F5F5;--dark-text:#2A2935;--baseline:12px;--book-title:'Tulpen One',sans-serif;--title:'Cormorant Garamond',serif;--body:'Cormorant Garamond',serif;--base-size:calc(var(--baseline) * 1.2)}*{box-sizing:border-box}.cover{width:calc(var(--baseline) * 60);height:calc(var(--baseline) * 42.6);box-shadow:0 0 100px rgba(0,0,0,.3)}.book{width:100%;height:100%;display:flex;perspective:1200px;color:var(--dark-text)}.book__page{position:relative;width:50%;height:100%;display:grid;transform:rotateY(0);transition:transform .9s cubic-bezier(.645, .045, .355, 1);transform-origin:0% 0%;background-color:var(--page-bg);background-image:linear-gradient(90deg,#e3e3e3 0,rgba(247,247,247,0) 18%)}.book__page:first-of-type{background-image:linear-gradient(-90deg,#e3e3e3 0,rgba(247,247,247,0) 18%)}.book__page--1{cursor:pointer;overflow:hidden}.book__page--1 img{width:100%;max-width:100%;height:auto}.book__page--2{position:absolute;right:0;pointer-events:none;transform-style:preserve-3d;background-color:var(--page-bg);background-image:linear-gradient(90deg,#e3e3e3 0,rgba(247,247,247,0) 18%)}.book__page--4{cursor:pointer;padding:0 calc(var(--baseline) * 3)}.book__page-front{position:absolute;width:100%;height:100%;transform:rotateY(0) translateZ(1px)}.book__page-back{position:absolute;width:100%;height:100%;padding:0 calc(var(--baseline) * 1.8);transform:rotateY(180deg) translateZ(1px)}.page__content{padding:var(--baseline);height:100%;position:relative;text-align:center}.page__content-book-title{font-family:var(--book-title);font-size:calc(var(--base-size) * 3);font-weight:700;text-transform:uppercase;letter-spacing:3px;color:var(--dark-text);margin-top:calc(var(--baseline) * 5);margin-bottom:calc(var(--baseline) * 2)}.page__content-author{font-family:var(--title);font-size:calc(var(--base-size) * 1.2);font-weight:100;text-transform:uppercase;color:var(--dark-text);border-top:1px solid var(--dark-text);border-bottom:1px solid var(--dark-text);display:inline-block;padding:calc(var(--baseline)/ 2) calc(var(--baseline)/ 5);margin-bottom:calc(var(--baseline) * 6)}.page__content-credits{font-family:var(--title);text-transform:uppercase;font-size:calc(var(--base-size) * .8);margin-bottom:calc(var(--baseline) * 2);letter-spacing:1px}.page__content-credits span{display:block;font-size:calc(var(--base-size) * 1.2);letter-spacing:0}.page__content-copyright{position:absolute;width:calc(100% - (var(--baseline) * 2));bottom:calc(var(--baseline) * 2);font-family:var(--title);font-size:calc(var(--base-size) * .8);text-transform:uppercase}.page__content-title{font-family:var(--title);font-size:calc(var(--base-size) * 1);text-transform:uppercase;letter-spacing:1px;margin-top:calc(var(--baseline) * 5);margin-bottom:calc(var(--baseline) * 3)}.page__content-table{width:100%;margin-top:calc(var(--baseline) * 2)}.page__content-table td{font-family:var(--title);font-size:calc(var(--base-size) * 1);padding-bottom:calc(var(--baseline) * 1.5);text-transform:uppercase}.page__content-blockquote{margin-bottom:calc(var(--baseline) * 2)}.page__content-blockquote-text{font-family:var(--title);font-size:calc(var(--base-size) * .67);font-style:italic;text-align:justify}.page__content-blockquote-reference{font-family:var(--title);font-size:calc(var(--base-size) * .7);margin-top:calc(var(--baseline) * .3);float:right;text-transform:uppercase}.page__content-text{font-family:var(--title);font-size:calc(var(--base-size) * .67);text-align:justify;text-indent:var(--baseline)}.page__number{position:absolute;bottom:var(--baseline);width:calc(100% - (var(--baseline) * 2));font-family:var(--title);font-size:calc(var(--base-size) * .67);text-align:center}.book input[type=radio]{display:none}.book input[type=radio]:checked+.book__page{transition:transform .9s cubic-bezier(.645, .045, .355, 1);transform:rotateY(-180deg)}\";\n\nlet SniceBookPage = (() => {\n let _classDecorators = [element('snice-book-page')];\n let _classDescriptor;\n let _classExtraInitializers = [];\n let _classThis;\n let _classSuper = HTMLElement;\n let _instanceExtraInitializers = [];\n let _renderContent_decorators;\n let _componentStyles_decorators;\n (class extends _classSuper {\n static { _classThis = this; }\n static {\n const _metadata = typeof Symbol === \"function\" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;\n _renderContent_decorators = [render()];\n _componentStyles_decorators = [styles()];\n __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);\n __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);\n __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: \"class\", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);\n _classThis = _classDescriptor.value;\n if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });\n __runInitializers(_classThis, _classExtraInitializers);\n }\n renderContent() {\n return html `<slot></slot>`;\n }\n componentStyles() {\n return css `:host { display: none; }`;\n }\n constructor() {\n super(...arguments);\n __runInitializers(this, _instanceExtraInitializers);\n }\n });\n return _classThis;\n})();\nlet SniceBook = (() => {\n let _classDecorators = [element('snice-book')];\n let _classDescriptor;\n let _classExtraInitializers = [];\n let _classThis;\n let _classSuper = HTMLElement;\n let _instanceExtraInitializers = [];\n let _currentPage_decorators;\n let _currentPage_initializers = [];\n let _currentPage_extraInitializers = [];\n let _coverImage_decorators;\n let _coverImage_initializers = [];\n let _coverImage_extraInitializers = [];\n let _title_decorators;\n let _title_initializers = [];\n let _title_extraInitializers = [];\n let _author_decorators;\n let _author_initializers = [];\n let _author_extraInitializers = [];\n let _$book_decorators;\n let _$book_initializers = [];\n let _$book_extraInitializers = [];\n let _init_decorators;\n let _handleSlotChange_decorators;\n let _onPageChange_decorators;\n let _onCoverChange_decorators;\n let _handleKeydown_decorators;\n let _emitPageTurn_decorators;\n let _renderContent_decorators;\n let _componentStyles_decorators;\n (class extends _classSuper {\n static { _classThis = this; }\n constructor() {\n super(...arguments);\n this.currentPage = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _currentPage_initializers, 0));\n this.coverImage = (__runInitializers(this, _currentPage_extraInitializers), __runInitializers(this, _coverImage_initializers, ''));\n this.title = (__runInitializers(this, _coverImage_extraInitializers), __runInitializers(this, _title_initializers, ''));\n this.author = (__runInitializers(this, _title_extraInitializers), __runInitializers(this, _author_initializers, ''));\n this.$book = (__runInitializers(this, _author_extraInitializers), __runInitializers(this, _$book_initializers, void 0));\n this.pages = (__runInitializers(this, _$book_extraInitializers), []);\n this.radioName = `book_${Math.random().toString(36).slice(2, 8)}`;\n }\n static {\n const _metadata = typeof Symbol === \"function\" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;\n _currentPage_decorators = [property({ type: Number, attribute: 'current-page' })];\n _coverImage_decorators = [property({ attribute: 'cover-image' })];\n _title_decorators = [property()];\n _author_decorators = [property()];\n _$book_decorators = [query('.book')];\n _init_decorators = [ready()];\n _handleSlotChange_decorators = [on('slotchange', { target: 'slot' })];\n _onPageChange_decorators = [watch('currentPage')];\n _onCoverChange_decorators = [watch('coverImage')];\n _handleKeydown_decorators = [on('keydown')];\n _emitPageTurn_decorators = [dispatch('page-turn', { bubbles: true, composed: true })];\n _renderContent_decorators = [render({ once: true })];\n _componentStyles_decorators = [styles()];\n __esDecorate(this, null, _init_decorators, { kind: \"method\", name: \"init\", static: false, private: false, access: { has: obj => \"init\" in obj, get: obj => obj.init }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _handleSlotChange_decorators, { kind: \"method\", name: \"handleSlotChange\", static: false, private: false, access: { has: obj => \"handleSlotChange\" in obj, get: obj => obj.handleSlotChange }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _onPageChange_decorators, { kind: \"method\", name: \"onPageChange\", static: false, private: false, access: { has: obj => \"onPageChange\" in obj, get: obj => obj.onPageChange }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _onCoverChange_decorators, { kind: \"method\", name: \"onCoverChange\", static: false, private: false, access: { has: obj => \"onCoverChange\" in obj, get: obj => obj.onCoverChange }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _handleKeydown_decorators, { kind: \"method\", name: \"handleKeydown\", static: false, private: false, access: { has: obj => \"handleKeydown\" in obj, get: obj => obj.handleKeydown }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _emitPageTurn_decorators, { kind: \"method\", name: \"emitPageTurn\", static: false, private: false, access: { has: obj => \"emitPageTurn\" in obj, get: obj => obj.emitPageTurn }, metadata: _metadata }, null, _instanceExtraInitializers);\n __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);\n __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);\n __esDecorate(null, null, _currentPage_decorators, { kind: \"field\", name: \"currentPage\", static: false, private: false, access: { has: obj => \"currentPage\" in obj, get: obj => obj.currentPage, set: (obj, value) => { obj.currentPage = value; } }, metadata: _metadata }, _currentPage_initializers, _currentPage_extraInitializers);\n __esDecorate(null, null, _coverImage_decorators, { kind: \"field\", name: \"coverImage\", static: false, private: false, access: { has: obj => \"coverImage\" in obj, get: obj => obj.coverImage, set: (obj, value) => { obj.coverImage = value; } }, metadata: _metadata }, _coverImage_initializers, _coverImage_extraInitializers);\n __esDecorate(null, null, _title_decorators, { kind: \"field\", name: \"title\", static: false, private: false, access: { has: obj => \"title\" in obj, get: obj => obj.title, set: (obj, value) => { obj.title = value; } }, metadata: _metadata }, _title_initializers, _title_extraInitializers);\n __esDecorate(null, null, _author_decorators, { kind: \"field\", name: \"author\", static: false, private: false, access: { has: obj => \"author\" in obj, get: obj => obj.author, set: (obj, value) => { obj.author = value; } }, metadata: _metadata }, _author_initializers, _author_extraInitializers);\n __esDecorate(null, null, _$book_decorators, { kind: \"field\", name: \"$book\", static: false, private: false, access: { has: obj => \"$book\" in obj, get: obj => obj.$book, set: (obj, value) => { obj.$book = value; } }, metadata: _metadata }, _$book_initializers, _$book_extraInitializers);\n __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: \"class\", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);\n _classThis = _classDescriptor.value;\n if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });\n __runInitializers(_classThis, _classExtraInitializers);\n }\n get totalPages() {\n return this.pages.length;\n }\n init() {\n this.collectPages();\n this.buildPages();\n this.setAttribute('tabindex', '0');\n }\n handleSlotChange() {\n this.collectPages();\n this.buildPages();\n }\n onPageChange() {\n this.syncRadio();\n }\n onCoverChange() {\n if (!this.$book)\n return;\n const img = this.$book.querySelector('.book__page--1 img');\n if (img)\n img.src = this.coverImage;\n }\n handleKeydown(e) {\n if (e.key === 'ArrowRight') {\n e.preventDefault();\n this.nextPage();\n }\n if (e.key === 'ArrowLeft') {\n e.preventDefault();\n this.prevPage();\n }\n }\n collectPages() {\n this.pages = Array.from(this.querySelectorAll(':scope > snice-book-page'));\n }\n /**\n * Exact CodePen DOM structure:\n *\n * <label for=\"page-1\" class=\"book__page book__page--1\"> ← left: cover image\n * <label for=\"page-2\" class=\"book__page book__page--4\"> ← right: last page content\n * <input type=\"radio\" name=\"page\" id=\"page-1\"/> ← resets (closes)\n * <input type=\"radio\" name=\"page\" id=\"page-2\"/> ← opens page\n * <label class=\"book__page book__page--2\"> ← flippable page\n * <div class=\"book__page-front\">...</div>\n * <div class=\"book__page-back\">...</div>\n * </label>\n *\n * CSS: input:checked + .book__page { transform: rotateY(-180deg) }\n */\n buildPages() {\n if (!this.$book)\n return;\n const n = this.pages.length;\n if (n === 0) {\n this.$book.innerHTML = '';\n return;\n }\n const resetId = `${this.radioName}_0`;\n const lastId = `${this.radioName}_${n}`;\n let h = '';\n // Left label: cover image, click resets (closes all)\n h += `<label for=\"${resetId}\" class=\"book__page book__page--1\">`;\n if (this.coverImage) {\n h += `<img src=\"${this.esc(this.coverImage)}\" alt=\"${this.esc(this.title || '')}\">`;\n }\n h += `</label>`;\n // Right label: last page content, click opens last page\n h += `<label for=\"${lastId}\" class=\"book__page book__page--4\">`;\n h += `<div class=\"page__content\" data-slot=\"last\"></div>`;\n h += `</label>`;\n // Reset radio (no adjacent flippable label — unchecks everything)\n h += `<input type=\"radio\" name=\"${this.radioName}\" id=\"${resetId}\">`;\n // For each page: radio + adjacent flippable label (CSS + combinator)\n for (let i = 0; i < n; i++) {\n const radioId = `${this.radioName}_${i + 1}`;\n h += `<input type=\"radio\" name=\"${this.radioName}\" id=\"${radioId}\" data-page=\"${i}\">`;\n h += `<label class=\"book__page book__page--2\">`;\n h += `<div class=\"book__page-front\"><div class=\"page__content\" data-slot=\"front-${i}\"></div></div>`;\n h += `<div class=\"book__page-back\"><div class=\"page__content\" data-slot=\"back-${i}\"></div></div>`;\n h += `</label>`;\n }\n this.$book.innerHTML = h;\n // Project slotted content into page containers\n for (let i = 0; i < n; i++) {\n const page = this.pages[i];\n const front = page.querySelector('[slot=\"front\"]') || page.children[0];\n const back = page.querySelector('[slot=\"back\"]');\n const frontEl = this.$book.querySelector(`[data-slot=\"front-${i}\"]`);\n const backEl = this.$book.querySelector(`[data-slot=\"back-${i}\"]`);\n if (frontEl && front)\n frontEl.appendChild(front.cloneNode(true));\n if (backEl && back)\n backEl.appendChild(back.cloneNode(true));\n }\n // Right side: front of last page\n const lastSlot = this.$book.querySelector('[data-slot=\"last\"]');\n if (lastSlot && n > 0) {\n const lastPage = this.pages[n - 1];\n const lastFront = lastPage.querySelector('[slot=\"front\"]') || lastPage.children[0];\n if (lastFront)\n lastSlot.appendChild(lastFront.cloneNode(true));\n }\n // Radio change listeners for page-turn events\n this.$book.querySelectorAll('input[type=\"radio\"]').forEach(radio => {\n radio.addEventListener('change', () => {\n const idx = radio.dataset.page;\n const old = this.currentPage;\n this.currentPage = idx !== undefined ? Number(idx) + 1 : 0;\n if (old !== this.currentPage) {\n const direction = this.currentPage > old ? 'forward' : 'backward';\n this.emitPageTurn({ page: this.currentPage, direction });\n }\n });\n });\n this.syncRadio();\n }\n syncRadio() {\n if (!this.$book)\n return;\n const id = this.currentPage === 0\n ? `${this.radioName}_0`\n : `${this.radioName}_${this.currentPage}`;\n const radio = this.$book.querySelector(`#${id}`);\n if (radio)\n radio.checked = true;\n }\n goToPage(page) {\n const old = this.currentPage;\n this.currentPage = Math.max(0, Math.min(page, this.totalPages));\n if (old !== this.currentPage) {\n this.emitPageTurn({ page: this.currentPage, direction: this.currentPage > old ? 'forward' : 'backward' });\n }\n }\n nextPage() {\n if (this.currentPage < this.totalPages)\n this.goToPage(this.currentPage + 1);\n }\n prevPage() {\n if (this.currentPage > 0)\n this.goToPage(this.currentPage - 1);\n }\n firstPage() {\n this.goToPage(0);\n }\n lastPage() {\n this.goToPage(this.totalPages);\n }\n esc(str) {\n return str.replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;').replace(/\"/g, '&quot;');\n }\n emitPageTurn(detail) {\n return detail;\n }\n renderContent() {\n return html /*html*/ `\n <div class=\"cover\">\n <div class=\"book\"></div>\n </div>\n <div hidden><slot></slot></div>\n `;\n }\n componentStyles() {\n return css `${cssContent}`;\n }\n });\n return _classThis;\n})();\n\nexport { SniceBook, SniceBookPage };\n//# sourceMappingURL=snice-book.js.map\n"],"names":["__esDecorate","ctor","descriptorIn","decorators","contextIn","initializers","extraInitializers","accept","f","TypeError","_","kind","key","target","prototype","descriptor","Object","getOwnPropertyDescriptor","name","done","i","length","context","p","access","addInitializer","push","result","get","set","init","unshift","defineProperty","__runInitializers","thisArg","value","useValue","arguments","call","SuppressedError","SniceBookPage","_classDescriptor","_classThis","_renderContent_decorators","_componentStyles_decorators","_classDecorators","element","_classExtraInitializers","_classSuper","HTMLElement","_instanceExtraInitializers","this","_metadata","Symbol","metadata","create","render","styles","static","private","has","obj","renderContent","componentStyles","enumerable","configurable","writable","html","css","constructor","super","SniceBook","_currentPage_decorators","_coverImage_decorators","_title_decorators","_author_decorators","_$book_decorators","_init_decorators","_handleSlotChange_decorators","_onPageChange_decorators","_onCoverChange_decorators","_handleKeydown_decorators","_emitPageTurn_decorators","_currentPage_initializers","_currentPage_extraInitializers","_coverImage_initializers","_coverImage_extraInitializers","_title_initializers","_title_extraInitializers","_author_initializers","_author_extraInitializers","_$book_initializers","_$book_extraInitializers","currentPage","coverImage","title","author","$book","pages","radioName","Math","random","toString","slice","property","type","Number","attribute","query","ready","on","watch","dispatch","bubbles","composed","once","handleSlotChange","onPageChange","onCoverChange","handleKeydown","emitPageTurn","totalPages","collectPages","buildPages","setAttribute","syncRadio","img","querySelector","src","e","preventDefault","nextPage","prevPage","Array","from","querySelectorAll","n","innerHTML","resetId","lastId","h","esc","radioId","page","front","children","back","frontEl","backEl","appendChild","cloneNode","lastSlot","lastPage","lastFront","forEach","radio","addEventListener","idx","dataset","old","undefined","direction","id","checked","goToPage","max","min","firstPage","str","replace","detail"],"mappings":";;;;;;yJAiEO,SAASA,EAAaC,EAAMC,EAAcC,EAAYC,EAAWC,EAAcC,GACpF,SAASC,EAAOC,GAAK,QAAU,IAANA,GAA6B,mBAANA,EAAkB,MAAM,IAAIC,UAAU,qBAAsB,OAAOD,CAAG,CAKtH,IAJA,IAGIE,EAHAC,EAAOP,EAAUO,KAAMC,EAAe,WAATD,EAAoB,MAAiB,WAATA,EAAoB,MAAQ,QACrFE,GAAUX,GAAgBD,EAAOG,EAAkB,OAAIH,EAAOA,EAAKa,UAAY,KAC/EC,EAAab,IAAiBW,EAASG,OAAOC,yBAAyBJ,EAAQT,EAAUc,MAAQ,IAC9FC,GAAO,EACLC,EAAIjB,EAAWkB,OAAS,EAAGD,GAAK,EAAGA,IAAK,CAC7C,IAAIE,EAAU,CAAA,EACd,IAAK,IAAIC,KAAKnB,EAAWkB,EAAQC,GAAW,WAANA,EAAiB,CAAA,EAAKnB,EAAUmB,GACtE,IAAK,IAAIA,KAAKnB,EAAUoB,OAAQF,EAAQE,OAAOD,GAAKnB,EAAUoB,OAAOD,GACrED,EAAQG,eAAiB,SAAUjB,GAAK,GAAIW,EAAM,MAAM,IAAIV,UAAU,0DAA2DH,EAAkBoB,KAAKnB,EAAOC,GAAK,MAAQ,EAC5K,IAAImB,GAAS,EAAIxB,EAAWiB,IAAa,aAATT,EAAsB,CAAEiB,IAAKb,EAAWa,IAAKC,IAAKd,EAAWc,KAAQd,EAAWH,GAAMU,GACtH,GAAa,aAATX,EAAqB,CACrB,QAAe,IAAXgB,EAAmB,SACvB,GAAe,OAAXA,GAAqC,iBAAXA,EAAqB,MAAM,IAAIlB,UAAU,oBACnEC,EAAIH,EAAOoB,EAAOC,QAAMb,EAAWa,IAAMlB,IACzCA,EAAIH,EAAOoB,EAAOE,QAAMd,EAAWc,IAAMnB,IACzCA,EAAIH,EAAOoB,EAAOG,QAAOzB,EAAa0B,QAAQrB,EACtD,MACSA,EAAIH,EAAOoB,MACH,UAAThB,EAAkBN,EAAa0B,QAAQrB,GACtCK,EAAWH,GAAOF,EAE/B,CACIG,GAAQG,OAAOgB,eAAenB,EAAQT,EAAUc,KAAMH,GAC1DI,GAAO,CACT,CAEO,SAASc,EAAkBC,EAAS7B,EAAc8B,GAEvD,IADA,IAAIC,EAAWC,UAAUhB,OAAS,EACzBD,EAAI,EAAGA,EAAIf,EAAagB,OAAQD,IACrCe,EAAQC,EAAW/B,EAAae,GAAGkB,KAAKJ,EAASC,GAAS9B,EAAae,GAAGkB,KAAKJ,GAEnF,OAAOE,EAAWD,OAAQ,CAC5B,CAoOkD,mBAApBI,iBAAiCA,gBClU5D,IAACC,EAAgB,MAChB,IACIC,EAEAC,EAGAC,EACAC,EAPAC,EAAmB,CAACC,UAAQ,oBAE5BC,EAA0B,GAE1BC,EAAcC,YACdC,EAA6B,GA2BjC,OAxBA,cAAeF,SACFN,EAAaS,IAAK,QAEvB,MAAMC,EAA8B,mBAAXC,QAAyBA,OAAOC,SAAWtC,OAAOuC,OAAOP,EAAYK,OAAOC,WAAa,WAAQ,EAC1HX,EAA4B,CAACa,EAAAA,UAC7BZ,EAA8B,CAACa,EAAAA,UAC/BzD,EAAamD,KAAM,KAAMR,EAA2B,CAAEhC,KAAM,SAAUO,KAAM,gBAAiBwC,QAAQ,EAAOC,SAAS,EAAOnC,OAAQ,CAAEoC,IAAKC,GAAO,kBAAmBA,EAAKjC,IAAKiC,GAAOA,EAAIC,eAAiBR,SAAUF,GAAa,KAAMF,GACxOlD,EAAamD,KAAM,KAAMP,EAA6B,CAAEjC,KAAM,SAAUO,KAAM,kBAAmBwC,QAAQ,EAAOC,SAAS,EAAOnC,OAAQ,CAAEoC,IAAKC,GAAO,oBAAqBA,EAAKjC,IAAKiC,GAAOA,EAAIE,iBAAmBT,SAAUF,GAAa,KAAMF,GAChPlD,EAAa,KAAMyC,EAAmB,CAAEN,MAAOO,GAAcG,EAAkB,CAAElC,KAAM,QAASO,KAAMwB,EAAWxB,KAAMoC,SAAUF,GAAa,KAAML,GACpJL,EAAaD,EAAiBN,MAC1BiB,GAAWpC,OAAOgB,eAAeU,EAAYW,OAAOC,SAAU,CAAEU,YAAY,EAAMC,cAAc,EAAMC,UAAU,EAAM/B,MAAOiB,IACjInB,EAAkBS,EAAYK,EAC1C,CACQ,aAAAe,GACI,OAAOK,EAAAA,IAAK,eAChB,CACA,eAAAJ,GACI,OAAOK,EAAAA,GAAI,0BACf,CACA,WAAAC,GACIC,SAASjC,WACTJ,EAAkBkB,KAAMD,EAC5B,GAEGR,CACV,EAlCmB,GAmChB6B,EAAY,MACZ,IACI9B,EAEAC,EAGA8B,EAGAC,EAGAC,EAGAC,EAGAC,EAGAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAvC,EACAC,EA5BAC,EAAmB,CAACC,UAAQ,eAE5BC,EAA0B,GAE1BC,EAAcC,YACdC,EAA6B,GAE7BiC,EAA4B,GAC5BC,EAAiC,GAEjCC,EAA2B,GAC3BC,EAAgC,GAEhCC,EAAsB,GACtBC,EAA2B,GAE3BC,EAAuB,GACvBC,EAA4B,GAE5BC,EAAsB,GACtBC,EAA2B,GA2N/B,OAlNA,cAAe5C,SACFN,EAAaS,IAAK,CAC3B,WAAAkB,GACIC,SAASjC,WACTc,KAAK0C,aAAe5D,EAAkBkB,KAAMD,GAA6BjB,EAAkBkB,KAAMgC,EAA2B,IAC5HhC,KAAK2C,YAAc7D,EAAkBkB,KAAMiC,GAAiCnD,EAAkBkB,KAAMkC,EAA0B,KAC9HlC,KAAK4C,OAAS9D,EAAkBkB,KAAMmC,GAAgCrD,EAAkBkB,KAAMoC,EAAqB,KACnHpC,KAAK6C,QAAU/D,EAAkBkB,KAAMqC,GAA2BvD,EAAkBkB,KAAMsC,EAAsB,KAChHtC,KAAK8C,OAAShE,EAAkBkB,KAAMuC,GAA4BzD,EAAkBkB,KAAMwC,OAAqB,IAC/GxC,KAAK+C,OAASjE,EAAkBkB,KAAMyC,GAA2B,IACjEzC,KAAKgD,UAAY,QAAQC,KAAKC,SAASC,SAAS,IAAIC,MAAM,EAAG,IACjE,QAEI,MAAMnD,EAA8B,mBAAXC,QAAyBA,OAAOC,SAAWtC,OAAOuC,OAAOP,EAAYK,OAAOC,WAAa,WAAQ,EAC1HkB,EAA0B,CAACgC,EAAAA,SAAS,CAAEC,KAAMC,OAAQC,UAAW,kBAC/DlC,EAAyB,CAAC+B,EAAAA,SAAS,CAAEG,UAAW,iBAChDjC,EAAoB,CAAC8B,EAAAA,YACrB7B,EAAqB,CAAC6B,EAAAA,YACtB5B,EAAoB,CAACgC,QAAM,UAC3B/B,EAAmB,CAACgC,EAAAA,SACpB/B,EAA+B,CAACgC,EAAAA,GAAG,aAAc,CAAEjG,OAAQ,UAC3DkE,EAA2B,CAACgC,QAAM,gBAClC/B,EAA4B,CAAC+B,QAAM,eACnC9B,EAA4B,CAAC6B,KAAG,YAChC5B,EAA2B,CAAC8B,EAAAA,SAAS,YAAa,CAAEC,SAAS,EAAMC,UAAU,KAC7EvE,EAA4B,CAACa,EAAAA,OAAO,CAAE2D,MAAM,KAC5CvE,EAA8B,CAACa,EAAAA,UAC/BzD,EAAamD,KAAM,KAAM0B,EAAkB,CAAElE,KAAM,SAAUO,KAAM,OAAQwC,QAAQ,EAAOC,SAAS,EAAOnC,OAAQ,CAAEoC,IAAKC,GAAO,SAAUA,EAAKjC,IAAKiC,GAAOA,EAAI/B,MAAQwB,SAAUF,GAAa,KAAMF,GACpMlD,EAAamD,KAAM,KAAM2B,EAA8B,CAAEnE,KAAM,SAAUO,KAAM,mBAAoBwC,QAAQ,EAAOC,SAAS,EAAOnC,OAAQ,CAAEoC,IAAKC,GAAO,qBAAsBA,EAAKjC,IAAKiC,GAAOA,EAAIuD,kBAAoB9D,SAAUF,GAAa,KAAMF,GACpPlD,EAAamD,KAAM,KAAM4B,EAA0B,CAAEpE,KAAM,SAAUO,KAAM,eAAgBwC,QAAQ,EAAOC,SAAS,EAAOnC,OAAQ,CAAEoC,IAAKC,GAAO,iBAAkBA,EAAKjC,IAAKiC,GAAOA,EAAIwD,cAAgB/D,SAAUF,GAAa,KAAMF,GACpOlD,EAAamD,KAAM,KAAM6B,EAA2B,CAAErE,KAAM,SAAUO,KAAM,gBAAiBwC,QAAQ,EAAOC,SAAS,EAAOnC,OAAQ,CAAEoC,IAAKC,GAAO,kBAAmBA,EAAKjC,IAAKiC,GAAOA,EAAIyD,eAAiBhE,SAAUF,GAAa,KAAMF,GACxOlD,EAAamD,KAAM,KAAM8B,EAA2B,CAAEtE,KAAM,SAAUO,KAAM,gBAAiBwC,QAAQ,EAAOC,SAAS,EAAOnC,OAAQ,CAAEoC,IAAKC,GAAO,kBAAmBA,EAAKjC,IAAKiC,GAAOA,EAAI0D,eAAiBjE,SAAUF,GAAa,KAAMF,GACxOlD,EAAamD,KAAM,KAAM+B,EAA0B,CAAEvE,KAAM,SAAUO,KAAM,eAAgBwC,QAAQ,EAAOC,SAAS,EAAOnC,OAAQ,CAAEoC,IAAKC,GAAO,iBAAkBA,EAAKjC,IAAKiC,GAAOA,EAAI2D,cAAgBlE,SAAUF,GAAa,KAAMF,GACpOlD,EAAamD,KAAM,KAAMR,EAA2B,CAAEhC,KAAM,SAAUO,KAAM,gBAAiBwC,QAAQ,EAAOC,SAAS,EAAOnC,OAAQ,CAAEoC,IAAKC,GAAO,kBAAmBA,EAAKjC,IAAKiC,GAAOA,EAAIC,eAAiBR,SAAUF,GAAa,KAAMF,GACxOlD,EAAamD,KAAM,KAAMP,EAA6B,CAAEjC,KAAM,SAAUO,KAAM,kBAAmBwC,QAAQ,EAAOC,SAAS,EAAOnC,OAAQ,CAAEoC,IAAKC,GAAO,oBAAqBA,EAAKjC,IAAKiC,GAAOA,EAAIE,iBAAmBT,SAAUF,GAAa,KAAMF,GAChPlD,EAAa,KAAM,KAAMwE,EAAyB,CAAE7D,KAAM,QAASO,KAAM,cAAewC,QAAQ,EAAOC,SAAS,EAAOnC,OAAQ,CAAEoC,IAAKC,GAAO,gBAAiBA,EAAKjC,IAAKiC,GAAOA,EAAIgC,YAAahE,IAAK,CAACgC,EAAK1B,KAAY0B,EAAIgC,YAAc1D,IAAYmB,SAAUF,GAAa+B,EAA2BC,GACvSpF,EAAa,KAAM,KAAMyE,EAAwB,CAAE9D,KAAM,QAASO,KAAM,aAAcwC,QAAQ,EAAOC,SAAS,EAAOnC,OAAQ,CAAEoC,IAAKC,GAAO,eAAgBA,EAAKjC,IAAKiC,GAAOA,EAAIiC,WAAYjE,IAAK,CAACgC,EAAK1B,KAAY0B,EAAIiC,WAAa3D,IAAYmB,SAAUF,GAAaiC,EAA0BC,GACjStF,EAAa,KAAM,KAAM0E,EAAmB,CAAE/D,KAAM,QAASO,KAAM,QAASwC,QAAQ,EAAOC,SAAS,EAAOnC,OAAQ,CAAEoC,IAAKC,GAAO,UAAWA,EAAKjC,IAAKiC,GAAOA,EAAIkC,MAAOlE,IAAK,CAACgC,EAAK1B,KAAY0B,EAAIkC,MAAQ5D,IAAYmB,SAAUF,GAAamC,EAAqBC,GACnQxF,EAAa,KAAM,KAAM2E,EAAoB,CAAEhE,KAAM,QAASO,KAAM,SAAUwC,QAAQ,EAAOC,SAAS,EAAOnC,OAAQ,CAAEoC,IAAKC,GAAO,WAAYA,EAAKjC,IAAKiC,GAAOA,EAAImC,OAAQnE,IAAK,CAACgC,EAAK1B,KAAY0B,EAAImC,OAAS7D,IAAYmB,SAAUF,GAAaqC,EAAsBC,GACzQ1F,EAAa,KAAM,KAAM4E,EAAmB,CAAEjE,KAAM,QAASO,KAAM,QAASwC,QAAQ,EAAOC,SAAS,EAAOnC,OAAQ,CAAEoC,IAAKC,GAAO,UAAWA,EAAKjC,IAAKiC,GAAOA,EAAIoC,MAAOpE,IAAK,CAACgC,EAAK1B,KAAY0B,EAAIoC,MAAQ9D,IAAYmB,SAAUF,GAAauC,EAAqBC,GACnQ5F,EAAa,KAAMyC,EAAmB,CAAEN,MAAOO,GAAcG,EAAkB,CAAElC,KAAM,QAASO,KAAMwB,EAAWxB,KAAMoC,SAAUF,GAAa,KAAML,GACpJL,EAAaD,EAAiBN,MAC1BiB,GAAWpC,OAAOgB,eAAeU,EAAYW,OAAOC,SAAU,CAAEU,YAAY,EAAMC,cAAc,EAAMC,UAAU,EAAM/B,MAAOiB,IACjInB,EAAkBS,EAAYK,EAC1C,CACQ,cAAI0E,GACA,OAAOtE,KAAK+C,MAAM7E,MACtB,CACA,IAAAS,GACIqB,KAAKuE,eACLvE,KAAKwE,aACLxE,KAAKyE,aAAa,WAAY,IAClC,CACA,gBAAAR,GACIjE,KAAKuE,eACLvE,KAAKwE,YACT,CACA,YAAAN,GACIlE,KAAK0E,WACT,CACA,aAAAP,GACI,IAAKnE,KAAK8C,MACN,OACJ,MAAM6B,EAAM3E,KAAK8C,MAAM8B,cAAc,sBACjCD,IACAA,EAAIE,IAAM7E,KAAK2C,WACvB,CACA,aAAAyB,CAAcU,GACI,eAAVA,EAAErH,MACFqH,EAAEC,iBACF/E,KAAKgF,YAEK,cAAVF,EAAErH,MACFqH,EAAEC,iBACF/E,KAAKiF,WAEb,CACA,YAAAV,GACIvE,KAAK+C,MAAQmC,MAAMC,KAAKnF,KAAKoF,iBAAiB,4BAClD,CAeA,UAAAZ,GACI,IAAKxE,KAAK8C,MACN,OACJ,MAAMuC,EAAIrF,KAAK+C,MAAM7E,OACrB,GAAU,IAANmH,EAEA,YADArF,KAAK8C,MAAMwC,UAAY,IAG3B,MAAMC,EAAU,GAAGvF,KAAKgD,cAClBwC,EAAS,GAAGxF,KAAKgD,aAAaqC,IACpC,IAAII,EAAI,GAERA,GAAK,eAAeF,uCAChBvF,KAAK2C,aACL8C,GAAK,aAAazF,KAAK0F,IAAI1F,KAAK2C,qBAAqB3C,KAAK0F,IAAI1F,KAAK4C,OAAS,SAEhF6C,GAAK,WAELA,GAAK,eAAeD,uCACpBC,GAAK,qDACLA,GAAK,WAELA,GAAK,6BAA6BzF,KAAKgD,kBAAkBuC,MAEzD,IAAK,IAAItH,EAAI,EAAGA,EAAIoH,EAAGpH,IAAK,CACxB,MAAM0H,EAAU,GAAG3F,KAAKgD,aAAa/E,EAAI,IACzCwH,GAAK,6BAA6BzF,KAAKgD,kBAAkB2C,iBAAuB1H,MAChFwH,GAAK,2CACLA,GAAK,6EAA6ExH,kBAClFwH,GAAK,2EAA2ExH,kBAChFwH,GAAK,UACT,CACAzF,KAAK8C,MAAMwC,UAAYG,EAEvB,IAAK,IAAIxH,EAAI,EAAGA,EAAIoH,EAAGpH,IAAK,CACxB,MAAM2H,EAAO5F,KAAK+C,MAAM9E,GAClB4H,EAAQD,EAAKhB,cAAc,mBAAqBgB,EAAKE,SAAS,GAC9DC,EAAOH,EAAKhB,cAAc,iBAC1BoB,EAAUhG,KAAK8C,MAAM8B,cAAc,qBAAqB3G,OACxDgI,EAASjG,KAAK8C,MAAM8B,cAAc,oBAAoB3G,OACxD+H,GAAWH,GACXG,EAAQE,YAAYL,EAAMM,WAAU,IACpCF,GAAUF,GACVE,EAAOC,YAAYH,EAAKI,WAAU,GAC1C,CAEA,MAAMC,EAAWpG,KAAK8C,MAAM8B,cAAc,sBAC1C,GAAIwB,GAAYf,EAAI,EAAG,CACnB,MAAMgB,EAAWrG,KAAK+C,MAAMsC,EAAI,GAC1BiB,EAAYD,EAASzB,cAAc,mBAAqByB,EAASP,SAAS,GAC5EQ,GACAF,EAASF,YAAYI,EAAUH,WAAU,GACjD,CAEAnG,KAAK8C,MAAMsC,iBAAiB,uBAAuBmB,QAAQC,IACvDA,EAAMC,iBAAiB,SAAU,KAC7B,MAAMC,EAAMF,EAAMG,QAAQf,KACpBgB,EAAM5G,KAAK0C,YAEjB,GADA1C,KAAK0C,iBAAsBmE,IAARH,EAAoBnD,OAAOmD,GAAO,EAAI,EACrDE,IAAQ5G,KAAK0C,YAAa,CAC1B,MAAMoE,EAAY9G,KAAK0C,YAAckE,EAAM,UAAY,WACvD5G,KAAKqE,aAAa,CAAEuB,KAAM5F,KAAK0C,YAAaoE,aAChD,MAGR9G,KAAK0E,WACT,CACA,SAAAA,GACI,IAAK1E,KAAK8C,MACN,OACJ,MAAMiE,EAA0B,IAArB/G,KAAK0C,YACV,GAAG1C,KAAKgD,cACR,GAAGhD,KAAKgD,aAAahD,KAAK0C,cAC1B8D,EAAQxG,KAAK8C,MAAM8B,cAAc,IAAImC,KACvCP,IACAA,EAAMQ,SAAU,EACxB,CACA,QAAAC,CAASrB,GACL,MAAMgB,EAAM5G,KAAK0C,YACjB1C,KAAK0C,YAAcO,KAAKiE,IAAI,EAAGjE,KAAKkE,IAAIvB,EAAM5F,KAAKsE,aAC/CsC,IAAQ5G,KAAK0C,aACb1C,KAAKqE,aAAa,CAAEuB,KAAM5F,KAAK0C,YAAaoE,UAAW9G,KAAK0C,YAAckE,EAAM,UAAY,YAEpG,CACA,QAAA5B,GACQhF,KAAK0C,YAAc1C,KAAKsE,YACxBtE,KAAKiH,SAASjH,KAAK0C,YAAc,EACzC,CACA,QAAAuC,GACQjF,KAAK0C,YAAc,GACnB1C,KAAKiH,SAASjH,KAAK0C,YAAc,EACzC,CACA,SAAA0E,GACIpH,KAAKiH,SAAS,EAClB,CACA,QAAAZ,GACIrG,KAAKiH,SAASjH,KAAKsE,WACvB,CACA,GAAAoB,CAAI2B,GACA,OAAOA,EAAIC,QAAQ,KAAM,SAASA,QAAQ,KAAM,QAAQA,QAAQ,KAAM,QAAQA,QAAQ,KAAM,SAChG,CACA,YAAAjD,CAAakD,GACT,OAAOA,CACX,CACA,aAAA5G,GACI,OAAOK,MAAc;;;;;KAMzB,CACA,eAAAJ,GACI,OAAOK,EAAAA,GAAI,GAlRN,6wHAmRT,GAEG1B,CACV,EAjPe","x_google_ignoreList":[0]}
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * snice v4.8.0
2
+ * snice v4.10.0
3
3
  * Imperative TypeScript framework for building vanilla web components with decorators, differential rendering, routing, and controllers. No virtual DOM, no build complexity.
4
4
  * (c) 2024
5
5
  * Released under the MIT License.
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * snice v4.8.0
2
+ * snice v4.10.0
3
3
  * Imperative TypeScript framework for building vanilla web components with decorators, differential rendering, routing, and controllers. No virtual DOM, no build complexity.
4
4
  * (c) 2024
5
5
  * Released under the MIT License.
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * snice v4.8.0
2
+ * snice v4.10.0
3
3
  * Imperative TypeScript framework for building vanilla web components with decorators, differential rendering, routing, and controllers. No virtual DOM, no build complexity.
4
4
  * (c) 2024
5
5
  * Released under the MIT License.
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * snice v4.8.0
2
+ * snice v4.10.0
3
3
  * Imperative TypeScript framework for building vanilla web components with decorators, differential rendering, routing, and controllers. No virtual DOM, no build complexity.
4
4
  * (c) 2024
5
5
  * Released under the MIT License.
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * snice v4.8.0
2
+ * snice v4.10.0
3
3
  * Imperative TypeScript framework for building vanilla web components with decorators, differential rendering, routing, and controllers. No virtual DOM, no build complexity.
4
4
  * (c) 2024
5
5
  * Released under the MIT License.
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * snice v4.8.0
2
+ * snice v4.10.0
3
3
  * Imperative TypeScript framework for building vanilla web components with decorators, differential rendering, routing, and controllers. No virtual DOM, no build complexity.
4
4
  * (c) 2024
5
5
  * Released under the MIT License.
@@ -11,7 +11,7 @@ CDN build of the Snice camera component. Requires the Snice runtime (`snice-runt
11
11
  ```
12
12
 
13
13
  ## Size
14
- - Minified: 14.5 KB
14
+ - Minified: 14.6 KB
15
15
  - Gzipped: 4.3 KB
16
16
 
17
17
  ## Theme
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * snice v4.8.0
2
+ * snice v4.10.0
3
3
  * Imperative TypeScript framework for building vanilla web components with decorators, differential rendering, routing, and controllers. No virtual DOM, no build complexity.
4
4
  * (c) 2024
5
5
  * Released under the MIT License.
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * snice v4.8.0
2
+ * snice v4.10.0
3
3
  * Imperative TypeScript framework for building vanilla web components with decorators, differential rendering, routing, and controllers. No virtual DOM, no build complexity.
4
4
  * (c) 2024
5
5
  * Released under the MIT License.
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * snice v4.8.0
2
+ * snice v4.10.0
3
3
  * Imperative TypeScript framework for building vanilla web components with decorators, differential rendering, routing, and controllers. No virtual DOM, no build complexity.
4
4
  * (c) 2024
5
5
  * Released under the MIT License.
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * snice v4.8.0
2
+ * snice v4.10.0
3
3
  * Imperative TypeScript framework for building vanilla web components with decorators, differential rendering, routing, and controllers. No virtual DOM, no build complexity.
4
4
  * (c) 2024
5
5
  * Released under the MIT License.
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * snice v4.8.0
2
+ * snice v4.10.0
3
3
  * Imperative TypeScript framework for building vanilla web components with decorators, differential rendering, routing, and controllers. No virtual DOM, no build complexity.
4
4
  * (c) 2024
5
5
  * Released under the MIT License.
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * snice v4.8.0
2
+ * snice v4.10.0
3
3
  * Imperative TypeScript framework for building vanilla web components with decorators, differential rendering, routing, and controllers. No virtual DOM, no build complexity.
4
4
  * (c) 2024
5
5
  * Released under the MIT License.
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * snice v4.8.0
2
+ * snice v4.10.0
3
3
  * Imperative TypeScript framework for building vanilla web components with decorators, differential rendering, routing, and controllers. No virtual DOM, no build complexity.
4
4
  * (c) 2024
5
5
  * Released under the MIT License.
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * snice v4.8.0
2
+ * snice v4.10.0
3
3
  * Imperative TypeScript framework for building vanilla web components with decorators, differential rendering, routing, and controllers. No virtual DOM, no build complexity.
4
4
  * (c) 2024
5
5
  * Released under the MIT License.
@@ -11,8 +11,8 @@ CDN build of the Snice carousel component. Requires the Snice runtime (`snice-ru
11
11
  ```
12
12
 
13
13
  ## Size
14
- - Minified: 10.9 KB
15
- - Gzipped: 3.3 KB
14
+ - Minified: 11.1 KB
15
+ - Gzipped: 3.4 KB
16
16
 
17
17
  ## Theme
18
18
  For proper styling, link the Snice theme CSS:
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * snice v4.8.0
2
+ * snice v4.10.0
3
3
  * Imperative TypeScript framework for building vanilla web components with decorators, differential rendering, routing, and controllers. No virtual DOM, no build complexity.
4
4
  * (c) 2024
5
5
  * Released under the MIT License.
@@ -106,6 +106,9 @@ var SniceCarousel = (function (exports, snice) {
106
106
  let _slotElement_decorators;
107
107
  let _slotElement_initializers = [];
108
108
  let _slotElement_extraInitializers = [];
109
+ let _slideCount_decorators;
110
+ let _slideCount_initializers = [];
111
+ let _slideCount_extraInitializers = [];
109
112
  let _init_decorators;
110
113
  let _handleSlotChange_decorators;
111
114
  let _cleanup_decorators;
@@ -129,7 +132,8 @@ var SniceCarousel = (function (exports, snice) {
129
132
  this.spaceBetween = (__runInitializers(this, _slidesPerView_extraInitializers), __runInitializers(this, _spaceBetween_initializers, 0));
130
133
  this.container = (__runInitializers(this, _spaceBetween_extraInitializers), __runInitializers(this, _container_initializers, void 0));
131
134
  this.slotElement = (__runInitializers(this, _container_extraInitializers), __runInitializers(this, _slotElement_initializers, void 0));
132
- this.slideCount = (__runInitializers(this, _slotElement_extraInitializers), 0);
135
+ this.slideCount = (__runInitializers(this, _slotElement_extraInitializers), __runInitializers(this, _slideCount_initializers, 0));
136
+ this.autoplayTimer = __runInitializers(this, _slideCount_extraInitializers);
133
137
  this.previousIndex = 0;
134
138
  }
135
139
  static {
@@ -145,6 +149,7 @@ var SniceCarousel = (function (exports, snice) {
145
149
  _spaceBetween_decorators = [snice.property({ type: Number, attribute: 'space-between' })];
146
150
  _container_decorators = [snice.query('.carousel__container')];
147
151
  _slotElement_decorators = [snice.query('slot')];
152
+ _slideCount_decorators = [snice.property({ type: Number })];
148
153
  _init_decorators = [snice.ready()];
149
154
  _handleSlotChange_decorators = [snice.on('slotchange', { target: 'slot' })];
150
155
  _cleanup_decorators = [snice.dispose()];
@@ -172,6 +177,7 @@ var SniceCarousel = (function (exports, snice) {
172
177
  __esDecorate(null, null, _spaceBetween_decorators, { kind: "field", name: "spaceBetween", static: false, private: false, access: { has: obj => "spaceBetween" in obj, get: obj => obj.spaceBetween, set: (obj, value) => { obj.spaceBetween = value; } }, metadata: _metadata }, _spaceBetween_initializers, _spaceBetween_extraInitializers);
173
178
  __esDecorate(null, null, _container_decorators, { kind: "field", name: "container", static: false, private: false, access: { has: obj => "container" in obj, get: obj => obj.container, set: (obj, value) => { obj.container = value; } }, metadata: _metadata }, _container_initializers, _container_extraInitializers);
174
179
  __esDecorate(null, null, _slotElement_decorators, { kind: "field", name: "slotElement", static: false, private: false, access: { has: obj => "slotElement" in obj, get: obj => obj.slotElement, set: (obj, value) => { obj.slotElement = value; } }, metadata: _metadata }, _slotElement_initializers, _slotElement_extraInitializers);
180
+ __esDecorate(null, null, _slideCount_decorators, { kind: "field", name: "slideCount", static: false, private: false, access: { has: obj => "slideCount" in obj, get: obj => obj.slideCount, set: (obj, value) => { obj.slideCount = value; } }, metadata: _metadata }, _slideCount_initializers, _slideCount_extraInitializers);
175
181
  __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
176
182
  _classThis = _classDescriptor.value;
177
183
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
@@ -253,7 +259,7 @@ var SniceCarousel = (function (exports, snice) {
253
259
 
254
260
  <if ${this.showIndicators}>
255
261
  <div class="carousel__indicators" part="indicators">
256
- ${Array.from({ length: this.slideCount - this.slidesPerView + 1 }).map((_, index) => {
262
+ ${Array.from({ length: Math.max(0, this.slideCount - this.slidesPerView + 1) }).map((_, index) => {
257
263
  const indicatorClasses = [
258
264
  'carousel__indicator',
259
265
  index === this.activeIndex ? 'carousel__indicator--active' : ''