snice 4.10.0 → 4.12.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 (269) hide show
  1. package/adapters/react/carousel.d.ts +1 -0
  2. package/adapters/react/carousel.d.ts.map +1 -1
  3. package/adapters/react/carousel.js +1 -1
  4. package/adapters/react/carousel.js.map +1 -1
  5. package/adapters/react/carousel.tsx +2 -1
  6. package/bin/templates/CLAUDE.md +169 -113
  7. package/bin/templates/pwa/README.md +72 -94
  8. package/bin/templates/pwa/src/components/app-header.ts +218 -0
  9. package/bin/templates/pwa/src/components/notification-badge.ts +68 -0
  10. package/bin/templates/pwa/src/components/search-bar.ts +99 -0
  11. package/bin/templates/pwa/src/controllers/notification-controller.ts +42 -0
  12. package/bin/templates/pwa/src/guards/auth.ts +1 -1
  13. package/bin/templates/pwa/src/main.ts +19 -0
  14. package/bin/templates/pwa/src/pages/dashboard.ts +124 -23
  15. package/bin/templates/pwa/src/pages/data.ts +329 -0
  16. package/bin/templates/pwa/src/pages/notifications.ts +112 -30
  17. package/bin/templates/pwa/src/pages/profile.ts +86 -52
  18. package/bin/templates/pwa/src/pages/settings.ts +291 -0
  19. package/bin/templates/pwa/src/styles/global.css +12 -3
  20. package/dist/cdn/accordion/snice-accordion.js +1 -1
  21. package/dist/cdn/accordion/snice-accordion.min.js +1 -1
  22. package/dist/cdn/alert/snice-alert.js +1 -1
  23. package/dist/cdn/alert/snice-alert.min.js +1 -1
  24. package/dist/cdn/app-tiles/snice-app-tiles.js +1 -1
  25. package/dist/cdn/app-tiles/snice-app-tiles.min.js +1 -1
  26. package/dist/cdn/audio-recorder/snice-audio-recorder.js +1 -1
  27. package/dist/cdn/audio-recorder/snice-audio-recorder.min.js +1 -1
  28. package/dist/cdn/avatar/snice-avatar.js +1 -1
  29. package/dist/cdn/avatar/snice-avatar.min.js +1 -1
  30. package/dist/cdn/badge/snice-badge.js +1 -1
  31. package/dist/cdn/badge/snice-badge.min.js +1 -1
  32. package/dist/cdn/banner/snice-banner.js +1 -1
  33. package/dist/cdn/banner/snice-banner.min.js +1 -1
  34. package/dist/cdn/book/snice-book.js +1 -1
  35. package/dist/cdn/book/snice-book.min.js +1 -1
  36. package/dist/cdn/breadcrumbs/snice-breadcrumbs.js +1 -1
  37. package/dist/cdn/breadcrumbs/snice-breadcrumbs.min.js +1 -1
  38. package/dist/cdn/button/snice-button.js +1 -1
  39. package/dist/cdn/button/snice-button.min.js +1 -1
  40. package/dist/cdn/calendar/snice-calendar.js +1 -1
  41. package/dist/cdn/calendar/snice-calendar.min.js +1 -1
  42. package/dist/cdn/camera/README.md +1 -1
  43. package/dist/cdn/camera/snice-camera.js +1 -1
  44. package/dist/cdn/camera/snice-camera.min.js +1 -1
  45. package/dist/cdn/camera-annotate/snice-camera-annotate.js +1 -1
  46. package/dist/cdn/camera-annotate/snice-camera-annotate.min.js +1 -1
  47. package/dist/cdn/candlestick/snice-candlestick.js +1 -1
  48. package/dist/cdn/candlestick/snice-candlestick.min.js +1 -1
  49. package/dist/cdn/card/snice-card.js +1 -1
  50. package/dist/cdn/card/snice-card.min.js +1 -1
  51. package/dist/cdn/carousel/README.md +2 -2
  52. package/dist/cdn/carousel/snice-carousel.js +9 -3
  53. package/dist/cdn/carousel/snice-carousel.js.map +1 -1
  54. package/dist/cdn/carousel/snice-carousel.min.js +3 -3
  55. package/dist/cdn/carousel/snice-carousel.min.js.map +1 -1
  56. package/dist/cdn/chart/snice-chart.js +1 -1
  57. package/dist/cdn/chart/snice-chart.min.js +1 -1
  58. package/dist/cdn/chat/snice-chat.js +1 -1
  59. package/dist/cdn/chat/snice-chat.min.js +1 -1
  60. package/dist/cdn/checkbox/snice-checkbox.js +1 -1
  61. package/dist/cdn/checkbox/snice-checkbox.min.js +1 -1
  62. package/dist/cdn/chip/snice-chip.js +1 -1
  63. package/dist/cdn/chip/snice-chip.min.js +1 -1
  64. package/dist/cdn/code-block/snice-code-block.js +1 -1
  65. package/dist/cdn/code-block/snice-code-block.min.js +1 -1
  66. package/dist/cdn/color-display/snice-color-display.js +1 -1
  67. package/dist/cdn/color-display/snice-color-display.min.js +1 -1
  68. package/dist/cdn/color-picker/snice-color-picker.js +1 -1
  69. package/dist/cdn/color-picker/snice-color-picker.min.js +1 -1
  70. package/dist/cdn/command-palette/snice-command-palette.js +1 -1
  71. package/dist/cdn/command-palette/snice-command-palette.min.js +1 -1
  72. package/dist/cdn/comments/snice-comments.js +1 -1
  73. package/dist/cdn/comments/snice-comments.min.js +1 -1
  74. package/dist/cdn/countdown/snice-countdown.js +1 -1
  75. package/dist/cdn/countdown/snice-countdown.min.js +1 -1
  76. package/dist/cdn/cropper/snice-cropper.js +1 -1
  77. package/dist/cdn/cropper/snice-cropper.min.js +1 -1
  78. package/dist/cdn/date-picker/snice-date-picker.js +1 -1
  79. package/dist/cdn/date-picker/snice-date-picker.min.js +1 -1
  80. package/dist/cdn/diff/snice-diff.js +1 -1
  81. package/dist/cdn/diff/snice-diff.min.js +1 -1
  82. package/dist/cdn/divider/snice-divider.js +1 -1
  83. package/dist/cdn/divider/snice-divider.min.js +1 -1
  84. package/dist/cdn/doc/snice-doc.js +1 -1
  85. package/dist/cdn/doc/snice-doc.min.js +1 -1
  86. package/dist/cdn/draw/snice-draw.js +1 -1
  87. package/dist/cdn/draw/snice-draw.min.js +1 -1
  88. package/dist/cdn/drawer/snice-drawer.js +1 -1
  89. package/dist/cdn/drawer/snice-drawer.min.js +1 -1
  90. package/dist/cdn/empty-state/snice-empty-state.js +1 -1
  91. package/dist/cdn/empty-state/snice-empty-state.min.js +1 -1
  92. package/dist/cdn/file-gallery/snice-file-gallery.js +1 -1
  93. package/dist/cdn/file-gallery/snice-file-gallery.min.js +1 -1
  94. package/dist/cdn/file-upload/snice-file-upload.js +1 -1
  95. package/dist/cdn/file-upload/snice-file-upload.min.js +1 -1
  96. package/dist/cdn/flip-card/snice-flip-card.js +1 -1
  97. package/dist/cdn/flip-card/snice-flip-card.min.js +1 -1
  98. package/dist/cdn/flow/snice-flow.js +1 -1
  99. package/dist/cdn/flow/snice-flow.min.js +1 -1
  100. package/dist/cdn/funnel/snice-funnel.js +1 -1
  101. package/dist/cdn/funnel/snice-funnel.min.js +1 -1
  102. package/dist/cdn/gantt/README.md +1 -1
  103. package/dist/cdn/gantt/snice-gantt.js +1 -1
  104. package/dist/cdn/gantt/snice-gantt.min.js +1 -1
  105. package/dist/cdn/gauge/snice-gauge.js +1 -1
  106. package/dist/cdn/gauge/snice-gauge.min.js +1 -1
  107. package/dist/cdn/heatmap/snice-heatmap.js +1 -1
  108. package/dist/cdn/heatmap/snice-heatmap.min.js +1 -1
  109. package/dist/cdn/image/snice-image.js +1 -1
  110. package/dist/cdn/image/snice-image.min.js +1 -1
  111. package/dist/cdn/input/snice-input.js +1 -1
  112. package/dist/cdn/input/snice-input.min.js +1 -1
  113. package/dist/cdn/kanban/snice-kanban.js +1 -1
  114. package/dist/cdn/kanban/snice-kanban.min.js +1 -1
  115. package/dist/cdn/kpi/snice-kpi.js +1 -1
  116. package/dist/cdn/kpi/snice-kpi.min.js +1 -1
  117. package/dist/cdn/layout/snice-layout.js +1 -1
  118. package/dist/cdn/layout/snice-layout.min.js +1 -1
  119. package/dist/cdn/link/snice-link.js +1 -1
  120. package/dist/cdn/link/snice-link.min.js +1 -1
  121. package/dist/cdn/link-preview/snice-link-preview.js +1 -1
  122. package/dist/cdn/link-preview/snice-link-preview.min.js +1 -1
  123. package/dist/cdn/list/snice-list.js +1 -1
  124. package/dist/cdn/list/snice-list.min.js +1 -1
  125. package/dist/cdn/location/snice-location.js +1 -1
  126. package/dist/cdn/location/snice-location.min.js +1 -1
  127. package/dist/cdn/login/snice-login.js +1 -1
  128. package/dist/cdn/login/snice-login.min.js +1 -1
  129. package/dist/cdn/map/snice-map.js +1 -1
  130. package/dist/cdn/map/snice-map.min.js +1 -1
  131. package/dist/cdn/markdown/README.md +1 -1
  132. package/dist/cdn/markdown/snice-markdown.js +2 -2
  133. package/dist/cdn/markdown/snice-markdown.js.map +1 -1
  134. package/dist/cdn/markdown/snice-markdown.min.js +2 -2
  135. package/dist/cdn/markdown/snice-markdown.min.js.map +1 -1
  136. package/dist/cdn/masonry/snice-masonry.js +1 -1
  137. package/dist/cdn/masonry/snice-masonry.min.js +1 -1
  138. package/dist/cdn/menu/snice-menu.js +1 -1
  139. package/dist/cdn/menu/snice-menu.min.js +1 -1
  140. package/dist/cdn/modal/snice-modal.js +1 -1
  141. package/dist/cdn/modal/snice-modal.min.js +1 -1
  142. package/dist/cdn/music-player/snice-music-player.js +1 -1
  143. package/dist/cdn/music-player/snice-music-player.min.js +1 -1
  144. package/dist/cdn/nav/snice-nav.js +1 -1
  145. package/dist/cdn/nav/snice-nav.min.js +1 -1
  146. package/dist/cdn/network-graph/snice-network-graph.js +1 -1
  147. package/dist/cdn/network-graph/snice-network-graph.min.js +1 -1
  148. package/dist/cdn/notification-center/snice-notification-center.js +1 -1
  149. package/dist/cdn/notification-center/snice-notification-center.min.js +1 -1
  150. package/dist/cdn/org-chart/snice-org-chart.js +1 -1
  151. package/dist/cdn/org-chart/snice-org-chart.min.js +1 -1
  152. package/dist/cdn/pagination/snice-pagination.js +1 -1
  153. package/dist/cdn/pagination/snice-pagination.min.js +1 -1
  154. package/dist/cdn/paint/snice-paint.js +1 -1
  155. package/dist/cdn/paint/snice-paint.min.js +1 -1
  156. package/dist/cdn/pdf-viewer/README.md +2 -2
  157. package/dist/cdn/pdf-viewer/snice-pdf-viewer.js +72 -78
  158. package/dist/cdn/pdf-viewer/snice-pdf-viewer.js.map +1 -1
  159. package/dist/cdn/pdf-viewer/snice-pdf-viewer.min.js +3 -3
  160. package/dist/cdn/pdf-viewer/snice-pdf-viewer.min.js.map +1 -1
  161. package/dist/cdn/podcast-player/README.md +1 -1
  162. package/dist/cdn/podcast-player/snice-podcast-player.js +2 -2
  163. package/dist/cdn/podcast-player/snice-podcast-player.js.map +1 -1
  164. package/dist/cdn/podcast-player/snice-podcast-player.min.js +2 -2
  165. package/dist/cdn/podcast-player/snice-podcast-player.min.js.map +1 -1
  166. package/dist/cdn/pricing-table/snice-pricing-table.js +1 -1
  167. package/dist/cdn/pricing-table/snice-pricing-table.min.js +1 -1
  168. package/dist/cdn/progress/snice-progress.js +1 -1
  169. package/dist/cdn/progress/snice-progress.min.js +1 -1
  170. package/dist/cdn/qr-code/snice-qr-code.js +1 -1
  171. package/dist/cdn/qr-code/snice-qr-code.min.js +1 -1
  172. package/dist/cdn/qr-reader/snice-qr-reader.js +1 -1
  173. package/dist/cdn/qr-reader/snice-qr-reader.min.js +1 -1
  174. package/dist/cdn/radio/snice-radio.js +1 -1
  175. package/dist/cdn/radio/snice-radio.min.js +1 -1
  176. package/dist/cdn/rating/snice-rating.js +1 -1
  177. package/dist/cdn/rating/snice-rating.min.js +1 -1
  178. package/dist/cdn/recipe/snice-recipe.js +1 -1
  179. package/dist/cdn/recipe/snice-recipe.min.js +1 -1
  180. package/dist/cdn/runtime/README.md +1 -1
  181. package/dist/cdn/runtime/snice-runtime.esm.js +10 -3
  182. package/dist/cdn/runtime/snice-runtime.esm.js.map +1 -1
  183. package/dist/cdn/runtime/snice-runtime.esm.min.js +4 -4
  184. package/dist/cdn/runtime/snice-runtime.esm.min.js.map +1 -1
  185. package/dist/cdn/runtime/snice-runtime.js +10 -3
  186. package/dist/cdn/runtime/snice-runtime.js.map +1 -1
  187. package/dist/cdn/runtime/snice-runtime.min.js +4 -4
  188. package/dist/cdn/runtime/snice-runtime.min.js.map +1 -1
  189. package/dist/cdn/sankey/snice-sankey.js +1 -1
  190. package/dist/cdn/sankey/snice-sankey.min.js +1 -1
  191. package/dist/cdn/select/snice-select.js +1 -1
  192. package/dist/cdn/select/snice-select.min.js +1 -1
  193. package/dist/cdn/skeleton/snice-skeleton.js +1 -1
  194. package/dist/cdn/skeleton/snice-skeleton.min.js +1 -1
  195. package/dist/cdn/slider/snice-slider.js +1 -1
  196. package/dist/cdn/slider/snice-slider.min.js +1 -1
  197. package/dist/cdn/sortable/snice-sortable.js +1 -1
  198. package/dist/cdn/sortable/snice-sortable.min.js +1 -1
  199. package/dist/cdn/sparkline/snice-sparkline.js +1 -1
  200. package/dist/cdn/sparkline/snice-sparkline.min.js +1 -1
  201. package/dist/cdn/spinner/snice-spinner.js +1 -1
  202. package/dist/cdn/spinner/snice-spinner.min.js +1 -1
  203. package/dist/cdn/split-pane/snice-split-pane.js +1 -1
  204. package/dist/cdn/split-pane/snice-split-pane.min.js +1 -1
  205. package/dist/cdn/spotlight/snice-spotlight.js +1 -1
  206. package/dist/cdn/spotlight/snice-spotlight.min.js +1 -1
  207. package/dist/cdn/spreadsheet/snice-spreadsheet.js +1 -1
  208. package/dist/cdn/spreadsheet/snice-spreadsheet.min.js +1 -1
  209. package/dist/cdn/stepper/snice-stepper.js +1 -1
  210. package/dist/cdn/stepper/snice-stepper.min.js +1 -1
  211. package/dist/cdn/switch/snice-switch.js +1 -1
  212. package/dist/cdn/switch/snice-switch.min.js +1 -1
  213. package/dist/cdn/table/snice-table.js +1 -1
  214. package/dist/cdn/table/snice-table.min.js +1 -1
  215. package/dist/cdn/tabs/snice-tabs.js +1 -1
  216. package/dist/cdn/tabs/snice-tabs.min.js +1 -1
  217. package/dist/cdn/tag-input/snice-tag-input.js +1 -1
  218. package/dist/cdn/tag-input/snice-tag-input.min.js +1 -1
  219. package/dist/cdn/terminal/snice-terminal.js +1 -1
  220. package/dist/cdn/terminal/snice-terminal.min.js +1 -1
  221. package/dist/cdn/testimonial/snice-testimonial.js +1 -1
  222. package/dist/cdn/testimonial/snice-testimonial.min.js +1 -1
  223. package/dist/cdn/textarea/snice-textarea.js +1 -1
  224. package/dist/cdn/textarea/snice-textarea.min.js +1 -1
  225. package/dist/cdn/time-range-picker/snice-time-range-picker.js +1 -1
  226. package/dist/cdn/time-range-picker/snice-time-range-picker.min.js +1 -1
  227. package/dist/cdn/timeline/snice-timeline.js +1 -1
  228. package/dist/cdn/timeline/snice-timeline.min.js +1 -1
  229. package/dist/cdn/timer/snice-timer.js +1 -1
  230. package/dist/cdn/timer/snice-timer.min.js +1 -1
  231. package/dist/cdn/toast/snice-toast.js +1 -1
  232. package/dist/cdn/toast/snice-toast.min.js +1 -1
  233. package/dist/cdn/tooltip/snice-tooltip.js +1 -1
  234. package/dist/cdn/tooltip/snice-tooltip.min.js +1 -1
  235. package/dist/cdn/tree/snice-tree.js +1 -1
  236. package/dist/cdn/tree/snice-tree.min.js +1 -1
  237. package/dist/cdn/treemap/snice-treemap.js +1 -1
  238. package/dist/cdn/treemap/snice-treemap.min.js +1 -1
  239. package/dist/cdn/video-player/snice-video-player.js +1 -1
  240. package/dist/cdn/video-player/snice-video-player.min.js +1 -1
  241. package/dist/cdn/virtual-scroller/snice-virtual-scroller.js +1 -1
  242. package/dist/cdn/virtual-scroller/snice-virtual-scroller.min.js +1 -1
  243. package/dist/cdn/waterfall/snice-waterfall.js +1 -1
  244. package/dist/cdn/waterfall/snice-waterfall.min.js +1 -1
  245. package/dist/cdn/weather/snice-weather.js +1 -1
  246. package/dist/cdn/weather/snice-weather.min.js +1 -1
  247. package/dist/components/carousel/snice-carousel.js +8 -2
  248. package/dist/components/carousel/snice-carousel.js.map +1 -1
  249. package/dist/components/code-block/grammars/html.json +48 -0
  250. package/dist/components/markdown/snice-markdown.js +1 -1
  251. package/dist/components/markdown/snice-markdown.js.map +1 -1
  252. package/dist/components/pdf-viewer/snice-pdf-viewer.d.ts +9 -8
  253. package/dist/components/pdf-viewer/snice-pdf-viewer.js +71 -77
  254. package/dist/components/pdf-viewer/snice-pdf-viewer.js.map +1 -1
  255. package/dist/components/podcast-player/snice-podcast-player.js +1 -1
  256. package/dist/components/podcast-player/snice-podcast-player.js.map +1 -1
  257. package/dist/index.cjs +8 -1
  258. package/dist/index.cjs.map +1 -1
  259. package/dist/index.esm.js +8 -1
  260. package/dist/index.esm.js.map +1 -1
  261. package/dist/index.iife.js +8 -1
  262. package/dist/index.iife.js.map +1 -1
  263. package/dist/symbols.cjs +1 -1
  264. package/dist/symbols.esm.js +1 -1
  265. package/dist/transitions.cjs +1 -1
  266. package/dist/transitions.esm.js +1 -1
  267. package/docs/ai/patterns.md +1 -1
  268. package/docs/routing.md +2 -2
  269. package/package.json +4 -2
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * snice v4.9.0
2
+ * snice v4.11.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.
@@ -147,24 +147,6 @@ var SnicePdfViewer = (function (exports, snice) {
147
147
  let _zoomInfoEl_decorators;
148
148
  let _zoomInfoEl_initializers = [];
149
149
  let _zoomInfoEl_extraInitializers = [];
150
- let _btnPrev_decorators;
151
- let _btnPrev_initializers = [];
152
- let _btnPrev_extraInitializers = [];
153
- let _btnNext_decorators;
154
- let _btnNext_initializers = [];
155
- let _btnNext_extraInitializers = [];
156
- let _btnZoomOut_decorators;
157
- let _btnZoomOut_initializers = [];
158
- let _btnZoomOut_extraInitializers = [];
159
- let _btnZoomIn_decorators;
160
- let _btnZoomIn_initializers = [];
161
- let _btnZoomIn_extraInitializers = [];
162
- let _btnDownload_decorators;
163
- let _btnDownload_initializers = [];
164
- let _btnDownload_extraInitializers = [];
165
- let _btnPrint_decorators;
166
- let _btnPrint_initializers = [];
167
- let _btnPrint_extraInitializers = [];
168
150
  let _fitSelectEl_decorators;
169
151
  let _fitSelectEl_initializers = [];
170
152
  let _fitSelectEl_extraInitializers = [];
@@ -175,6 +157,15 @@ var SnicePdfViewer = (function (exports, snice) {
175
157
  let _handlePageChange_decorators;
176
158
  let _handleZoomChange_decorators;
177
159
  let _handleFitChange_decorators;
160
+ let _handlePrevClick_decorators;
161
+ let _handleNextClick_decorators;
162
+ let _handleZoomOutClick_decorators;
163
+ let _handleZoomInClick_decorators;
164
+ let _handleDownloadClick_decorators;
165
+ let _handlePrintClick_decorators;
166
+ let _handlePageInputChange_decorators;
167
+ let _handlePageInputKeydown_decorators;
168
+ let _handleFitSelectChange_decorators;
178
169
  let _handleKeydown_decorators;
179
170
  let _emitPageChange_decorators;
180
171
  let _emitLoaded_decorators;
@@ -198,12 +189,6 @@ var SnicePdfViewer = (function (exports, snice) {
198
189
  _pageInputEl_decorators = [snice.query('.pdf-page-input')];
199
190
  _pageTotalEl_decorators = [snice.query('.pdf-page-total')];
200
191
  _zoomInfoEl_decorators = [snice.query('.pdf-zoom-info')];
201
- _btnPrev_decorators = [snice.query('.pdf-btn-prev')];
202
- _btnNext_decorators = [snice.query('.pdf-btn-next')];
203
- _btnZoomOut_decorators = [snice.query('.pdf-btn-zoom-out')];
204
- _btnZoomIn_decorators = [snice.query('.pdf-btn-zoom-in')];
205
- _btnDownload_decorators = [snice.query('.pdf-btn-download')];
206
- _btnPrint_decorators = [snice.query('.pdf-btn-print')];
207
192
  _fitSelectEl_decorators = [snice.query('.pdf-fit-select')];
208
193
  _componentStyles_decorators = [snice.styles()];
209
194
  _init_decorators = [snice.ready()];
@@ -212,6 +197,15 @@ var SnicePdfViewer = (function (exports, snice) {
212
197
  _handlePageChange_decorators = [snice.watch('page')];
213
198
  _handleZoomChange_decorators = [snice.watch('zoom')];
214
199
  _handleFitChange_decorators = [snice.watch('fit')];
200
+ _handlePrevClick_decorators = [snice.on('click', '.pdf-btn-prev')];
201
+ _handleNextClick_decorators = [snice.on('click', '.pdf-btn-next')];
202
+ _handleZoomOutClick_decorators = [snice.on('click', '.pdf-btn-zoom-out')];
203
+ _handleZoomInClick_decorators = [snice.on('click', '.pdf-btn-zoom-in')];
204
+ _handleDownloadClick_decorators = [snice.on('click', '.pdf-btn-download')];
205
+ _handlePrintClick_decorators = [snice.on('click', '.pdf-btn-print')];
206
+ _handlePageInputChange_decorators = [snice.on('change', '.pdf-page-input')];
207
+ _handlePageInputKeydown_decorators = [snice.on('keydown', '.pdf-page-input')];
208
+ _handleFitSelectChange_decorators = [snice.on('change', '.pdf-fit-select')];
215
209
  _handleKeydown_decorators = [snice.on('keydown')];
216
210
  _emitPageChange_decorators = [snice.dispatch('page-change', { bubbles: true, composed: true })];
217
211
  _emitLoaded_decorators = [snice.dispatch('pdf-loaded', { bubbles: true, composed: true })];
@@ -224,6 +218,15 @@ var SnicePdfViewer = (function (exports, snice) {
224
218
  __esDecorate(this, null, _handlePageChange_decorators, { kind: "method", name: "handlePageChange", static: false, private: false, access: { has: obj => "handlePageChange" in obj, get: obj => obj.handlePageChange }, metadata: _metadata }, null, _instanceExtraInitializers);
225
219
  __esDecorate(this, null, _handleZoomChange_decorators, { kind: "method", name: "handleZoomChange", static: false, private: false, access: { has: obj => "handleZoomChange" in obj, get: obj => obj.handleZoomChange }, metadata: _metadata }, null, _instanceExtraInitializers);
226
220
  __esDecorate(this, null, _handleFitChange_decorators, { kind: "method", name: "handleFitChange", static: false, private: false, access: { has: obj => "handleFitChange" in obj, get: obj => obj.handleFitChange }, metadata: _metadata }, null, _instanceExtraInitializers);
221
+ __esDecorate(this, null, _handlePrevClick_decorators, { kind: "method", name: "handlePrevClick", static: false, private: false, access: { has: obj => "handlePrevClick" in obj, get: obj => obj.handlePrevClick }, metadata: _metadata }, null, _instanceExtraInitializers);
222
+ __esDecorate(this, null, _handleNextClick_decorators, { kind: "method", name: "handleNextClick", static: false, private: false, access: { has: obj => "handleNextClick" in obj, get: obj => obj.handleNextClick }, metadata: _metadata }, null, _instanceExtraInitializers);
223
+ __esDecorate(this, null, _handleZoomOutClick_decorators, { kind: "method", name: "handleZoomOutClick", static: false, private: false, access: { has: obj => "handleZoomOutClick" in obj, get: obj => obj.handleZoomOutClick }, metadata: _metadata }, null, _instanceExtraInitializers);
224
+ __esDecorate(this, null, _handleZoomInClick_decorators, { kind: "method", name: "handleZoomInClick", static: false, private: false, access: { has: obj => "handleZoomInClick" in obj, get: obj => obj.handleZoomInClick }, metadata: _metadata }, null, _instanceExtraInitializers);
225
+ __esDecorate(this, null, _handleDownloadClick_decorators, { kind: "method", name: "handleDownloadClick", static: false, private: false, access: { has: obj => "handleDownloadClick" in obj, get: obj => obj.handleDownloadClick }, metadata: _metadata }, null, _instanceExtraInitializers);
226
+ __esDecorate(this, null, _handlePrintClick_decorators, { kind: "method", name: "handlePrintClick", static: false, private: false, access: { has: obj => "handlePrintClick" in obj, get: obj => obj.handlePrintClick }, metadata: _metadata }, null, _instanceExtraInitializers);
227
+ __esDecorate(this, null, _handlePageInputChange_decorators, { kind: "method", name: "handlePageInputChange", static: false, private: false, access: { has: obj => "handlePageInputChange" in obj, get: obj => obj.handlePageInputChange }, metadata: _metadata }, null, _instanceExtraInitializers);
228
+ __esDecorate(this, null, _handlePageInputKeydown_decorators, { kind: "method", name: "handlePageInputKeydown", static: false, private: false, access: { has: obj => "handlePageInputKeydown" in obj, get: obj => obj.handlePageInputKeydown }, metadata: _metadata }, null, _instanceExtraInitializers);
229
+ __esDecorate(this, null, _handleFitSelectChange_decorators, { kind: "method", name: "handleFitSelectChange", static: false, private: false, access: { has: obj => "handleFitSelectChange" in obj, get: obj => obj.handleFitSelectChange }, metadata: _metadata }, null, _instanceExtraInitializers);
227
230
  __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);
228
231
  __esDecorate(this, null, _emitPageChange_decorators, { kind: "method", name: "emitPageChange", static: false, private: false, access: { has: obj => "emitPageChange" in obj, get: obj => obj.emitPageChange }, metadata: _metadata }, null, _instanceExtraInitializers);
229
232
  __esDecorate(this, null, _emitLoaded_decorators, { kind: "method", name: "emitLoaded", static: false, private: false, access: { has: obj => "emitLoaded" in obj, get: obj => obj.emitLoaded }, metadata: _metadata }, null, _instanceExtraInitializers);
@@ -243,12 +246,6 @@ var SnicePdfViewer = (function (exports, snice) {
243
246
  __esDecorate(null, null, _pageInputEl_decorators, { kind: "field", name: "pageInputEl", static: false, private: false, access: { has: obj => "pageInputEl" in obj, get: obj => obj.pageInputEl, set: (obj, value) => { obj.pageInputEl = value; } }, metadata: _metadata }, _pageInputEl_initializers, _pageInputEl_extraInitializers);
244
247
  __esDecorate(null, null, _pageTotalEl_decorators, { kind: "field", name: "pageTotalEl", static: false, private: false, access: { has: obj => "pageTotalEl" in obj, get: obj => obj.pageTotalEl, set: (obj, value) => { obj.pageTotalEl = value; } }, metadata: _metadata }, _pageTotalEl_initializers, _pageTotalEl_extraInitializers);
245
248
  __esDecorate(null, null, _zoomInfoEl_decorators, { kind: "field", name: "zoomInfoEl", static: false, private: false, access: { has: obj => "zoomInfoEl" in obj, get: obj => obj.zoomInfoEl, set: (obj, value) => { obj.zoomInfoEl = value; } }, metadata: _metadata }, _zoomInfoEl_initializers, _zoomInfoEl_extraInitializers);
246
- __esDecorate(null, null, _btnPrev_decorators, { kind: "field", name: "btnPrev", static: false, private: false, access: { has: obj => "btnPrev" in obj, get: obj => obj.btnPrev, set: (obj, value) => { obj.btnPrev = value; } }, metadata: _metadata }, _btnPrev_initializers, _btnPrev_extraInitializers);
247
- __esDecorate(null, null, _btnNext_decorators, { kind: "field", name: "btnNext", static: false, private: false, access: { has: obj => "btnNext" in obj, get: obj => obj.btnNext, set: (obj, value) => { obj.btnNext = value; } }, metadata: _metadata }, _btnNext_initializers, _btnNext_extraInitializers);
248
- __esDecorate(null, null, _btnZoomOut_decorators, { kind: "field", name: "btnZoomOut", static: false, private: false, access: { has: obj => "btnZoomOut" in obj, get: obj => obj.btnZoomOut, set: (obj, value) => { obj.btnZoomOut = value; } }, metadata: _metadata }, _btnZoomOut_initializers, _btnZoomOut_extraInitializers);
249
- __esDecorate(null, null, _btnZoomIn_decorators, { kind: "field", name: "btnZoomIn", static: false, private: false, access: { has: obj => "btnZoomIn" in obj, get: obj => obj.btnZoomIn, set: (obj, value) => { obj.btnZoomIn = value; } }, metadata: _metadata }, _btnZoomIn_initializers, _btnZoomIn_extraInitializers);
250
- __esDecorate(null, null, _btnDownload_decorators, { kind: "field", name: "btnDownload", static: false, private: false, access: { has: obj => "btnDownload" in obj, get: obj => obj.btnDownload, set: (obj, value) => { obj.btnDownload = value; } }, metadata: _metadata }, _btnDownload_initializers, _btnDownload_extraInitializers);
251
- __esDecorate(null, null, _btnPrint_decorators, { kind: "field", name: "btnPrint", static: false, private: false, access: { has: obj => "btnPrint" in obj, get: obj => obj.btnPrint, set: (obj, value) => { obj.btnPrint = value; } }, metadata: _metadata }, _btnPrint_initializers, _btnPrint_extraInitializers);
252
249
  __esDecorate(null, null, _fitSelectEl_decorators, { kind: "field", name: "fitSelectEl", static: false, private: false, access: { has: obj => "fitSelectEl" in obj, get: obj => obj.fitSelectEl, set: (obj, value) => { obj.fitSelectEl = value; } }, metadata: _metadata }, _fitSelectEl_initializers, _fitSelectEl_extraInitializers);
253
250
  __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
254
251
  _classThis = _classDescriptor.value;
@@ -259,7 +256,6 @@ var SnicePdfViewer = (function (exports, snice) {
259
256
  return snice.css `${viewerStyles}`;
260
257
  }
261
258
  init() {
262
- this.attachListeners();
263
259
  this.updateView();
264
260
  if (this.src)
265
261
  this.loadDocument();
@@ -387,6 +383,31 @@ var SnicePdfViewer = (function (exports, snice) {
387
383
  }
388
384
  zoomIn() { this.zoom = Math.min(5, Math.round((this.zoom + 0.25) * 100) / 100); }
389
385
  zoomOut() { this.zoom = Math.max(0.25, Math.round((this.zoom - 0.25) * 100) / 100); }
386
+ // ── Toolbar Event Delegation ──
387
+ // Uses @on with CSS selectors for event delegation on the shadow root.
388
+ // This avoids timing issues with @query + manual addEventListener in @ready,
389
+ // since the shadow DOM render is deferred to a microtask after @ready runs.
390
+ handlePrevClick() { this.prevPage(); }
391
+ handleNextClick() { this.nextPage(); }
392
+ handleZoomOutClick() { this.zoomOut(); }
393
+ handleZoomInClick() { this.zoomIn(); }
394
+ handleDownloadClick() { this.download(); }
395
+ handlePrintClick() { this.print(); }
396
+ handlePageInputChange(e) {
397
+ const val = parseInt(e.target.value, 10);
398
+ if (!isNaN(val))
399
+ this.goToPage(val);
400
+ }
401
+ handlePageInputKeydown(e) {
402
+ if (e.key === 'Enter') {
403
+ const val = parseInt(e.target.value, 10);
404
+ if (!isNaN(val))
405
+ this.goToPage(val);
406
+ }
407
+ }
408
+ handleFitSelectChange(e) {
409
+ this.fit = e.target.value;
410
+ }
390
411
  handleKeydown(e) {
391
412
  switch (e.key) {
392
413
  case 'ArrowRight':
@@ -445,44 +466,24 @@ var SnicePdfViewer = (function (exports, snice) {
445
466
  this.pageTotalEl.textContent = `/ ${this.totalPages || '-'}`;
446
467
  if (this.zoomInfoEl)
447
468
  this.zoomInfoEl.textContent = `${Math.round(this.zoom * 100)}%`;
448
- if (this.btnPrev)
449
- this.btnPrev.disabled = this.page <= 1;
450
- if (this.btnNext)
451
- this.btnNext.disabled = this.page >= this.totalPages;
452
- if (this.btnZoomOut)
453
- this.btnZoomOut.disabled = this.zoom <= 0.25;
454
- if (this.btnZoomIn)
455
- this.btnZoomIn.disabled = this.zoom >= 5;
456
- if (this.btnDownload)
457
- this.btnDownload.disabled = !this.src;
458
- if (this.btnPrint)
459
- this.btnPrint.disabled = !this.src;
460
- }
461
- attachListeners() {
462
- if (this.listenersAttached)
463
- return;
464
- this.listenersAttached = true;
465
- this.btnPrev?.addEventListener('click', () => this.prevPage());
466
- this.btnNext?.addEventListener('click', () => this.nextPage());
467
- this.btnZoomOut?.addEventListener('click', () => this.zoomOut());
468
- this.btnZoomIn?.addEventListener('click', () => this.zoomIn());
469
- this.btnDownload?.addEventListener('click', () => this.download());
470
- this.btnPrint?.addEventListener('click', () => this.print());
471
- this.pageInputEl?.addEventListener('change', (e) => {
472
- const val = parseInt(e.target.value, 10);
473
- if (!isNaN(val))
474
- this.goToPage(val);
475
- });
476
- this.pageInputEl?.addEventListener('keydown', (e) => {
477
- if (e.key === 'Enter') {
478
- const val = parseInt(e.target.value, 10);
479
- if (!isNaN(val))
480
- this.goToPage(val);
481
- }
482
- });
483
- this.fitSelectEl?.addEventListener('change', (e) => {
484
- this.fit = e.target.value;
485
- });
469
+ const btnPrev = this.shadowRoot?.querySelector('.pdf-btn-prev');
470
+ const btnNext = this.shadowRoot?.querySelector('.pdf-btn-next');
471
+ const btnZoomOut = this.shadowRoot?.querySelector('.pdf-btn-zoom-out');
472
+ const btnZoomIn = this.shadowRoot?.querySelector('.pdf-btn-zoom-in');
473
+ const btnDownload = this.shadowRoot?.querySelector('.pdf-btn-download');
474
+ const btnPrint = this.shadowRoot?.querySelector('.pdf-btn-print');
475
+ if (btnPrev)
476
+ btnPrev.disabled = this.page <= 1;
477
+ if (btnNext)
478
+ btnNext.disabled = this.page >= this.totalPages;
479
+ if (btnZoomOut)
480
+ btnZoomOut.disabled = this.zoom <= 0.25;
481
+ if (btnZoomIn)
482
+ btnZoomIn.disabled = this.zoom >= 5;
483
+ if (btnDownload)
484
+ btnDownload.disabled = !this.src;
485
+ if (btnPrint)
486
+ btnPrint.disabled = !this.src;
486
487
  }
487
488
  // ── Events ──
488
489
  emitPageChange() { return { page: this.page, totalPages: this.totalPages }; }
@@ -562,7 +563,6 @@ var SnicePdfViewer = (function (exports, snice) {
562
563
  this.loading = false;
563
564
  this.error = '';
564
565
  this.rendering = false;
565
- this.listenersAttached = false;
566
566
  this.viewportEl = __runInitializers(this, _viewportEl_initializers, void 0);
567
567
  this.canvas = (__runInitializers(this, _viewportEl_extraInitializers), __runInitializers(this, _canvas_initializers, void 0));
568
568
  this.loadingEl = (__runInitializers(this, _canvas_extraInitializers), __runInitializers(this, _loadingEl_initializers, void 0));
@@ -573,13 +573,7 @@ var SnicePdfViewer = (function (exports, snice) {
573
573
  this.pageInputEl = (__runInitializers(this, _canvasWrapperEl_extraInitializers), __runInitializers(this, _pageInputEl_initializers, void 0));
574
574
  this.pageTotalEl = (__runInitializers(this, _pageInputEl_extraInitializers), __runInitializers(this, _pageTotalEl_initializers, void 0));
575
575
  this.zoomInfoEl = (__runInitializers(this, _pageTotalEl_extraInitializers), __runInitializers(this, _zoomInfoEl_initializers, void 0));
576
- this.btnPrev = (__runInitializers(this, _zoomInfoEl_extraInitializers), __runInitializers(this, _btnPrev_initializers, void 0));
577
- this.btnNext = (__runInitializers(this, _btnPrev_extraInitializers), __runInitializers(this, _btnNext_initializers, void 0));
578
- this.btnZoomOut = (__runInitializers(this, _btnNext_extraInitializers), __runInitializers(this, _btnZoomOut_initializers, void 0));
579
- this.btnZoomIn = (__runInitializers(this, _btnZoomOut_extraInitializers), __runInitializers(this, _btnZoomIn_initializers, void 0));
580
- this.btnDownload = (__runInitializers(this, _btnZoomIn_extraInitializers), __runInitializers(this, _btnDownload_initializers, void 0));
581
- this.btnPrint = (__runInitializers(this, _btnDownload_extraInitializers), __runInitializers(this, _btnPrint_initializers, void 0));
582
- this.fitSelectEl = (__runInitializers(this, _btnPrint_extraInitializers), __runInitializers(this, _fitSelectEl_initializers, void 0));
576
+ this.fitSelectEl = (__runInitializers(this, _zoomInfoEl_extraInitializers), __runInitializers(this, _fitSelectEl_initializers, void 0));
583
577
  __runInitializers(this, _fitSelectEl_extraInitializers);
584
578
  }
585
579
  });