@acorex/components 22.1.7 → 22.2.0-next.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 (324) hide show
  1. package/emoji/README.md +3 -0
  2. package/emojipicker/README.md +3 -0
  3. package/fesm2022/acorex-components-accordion.mjs +12 -12
  4. package/fesm2022/acorex-components-accordion.mjs.map +1 -1
  5. package/fesm2022/acorex-components-action-sheet.mjs +15 -14
  6. package/fesm2022/acorex-components-action-sheet.mjs.map +1 -1
  7. package/fesm2022/acorex-components-alert.mjs +7 -7
  8. package/fesm2022/acorex-components-alert.mjs.map +1 -1
  9. package/fesm2022/acorex-components-aspect-ratio.mjs +3 -3
  10. package/fesm2022/acorex-components-aspect-ratio.mjs.map +1 -1
  11. package/fesm2022/acorex-components-audio-wave.mjs +32 -11
  12. package/fesm2022/acorex-components-audio-wave.mjs.map +1 -1
  13. package/fesm2022/acorex-components-autocomplete.mjs +9 -8
  14. package/fesm2022/acorex-components-autocomplete.mjs.map +1 -1
  15. package/fesm2022/acorex-components-avatar.mjs +10 -10
  16. package/fesm2022/acorex-components-avatar.mjs.map +1 -1
  17. package/fesm2022/acorex-components-badge.mjs +7 -7
  18. package/fesm2022/acorex-components-badge.mjs.map +1 -1
  19. package/fesm2022/acorex-components-bottom-navigation.mjs +10 -10
  20. package/fesm2022/acorex-components-bottom-navigation.mjs.map +1 -1
  21. package/fesm2022/acorex-components-breadcrumbs.mjs +10 -10
  22. package/fesm2022/acorex-components-breadcrumbs.mjs.map +1 -1
  23. package/fesm2022/acorex-components-bubble.mjs +71 -0
  24. package/fesm2022/acorex-components-bubble.mjs.map +1 -0
  25. package/fesm2022/acorex-components-button-group.mjs +22 -15
  26. package/fesm2022/acorex-components-button-group.mjs.map +1 -1
  27. package/fesm2022/acorex-components-button.mjs +366 -56
  28. package/fesm2022/acorex-components-button.mjs.map +1 -1
  29. package/fesm2022/acorex-components-calendar.mjs +40 -37
  30. package/fesm2022/acorex-components-calendar.mjs.map +1 -1
  31. package/fesm2022/acorex-components-check-box.mjs +7 -7
  32. package/fesm2022/acorex-components-check-box.mjs.map +1 -1
  33. package/fesm2022/acorex-components-chips.mjs +7 -7
  34. package/fesm2022/acorex-components-chips.mjs.map +1 -1
  35. package/fesm2022/acorex-components-circular-progress.mjs +7 -7
  36. package/fesm2022/acorex-components-circular-progress.mjs.map +1 -1
  37. package/fesm2022/acorex-components-code-editor.mjs +44 -19
  38. package/fesm2022/acorex-components-code-editor.mjs.map +1 -1
  39. package/fesm2022/acorex-components-color-box.mjs +7 -7
  40. package/fesm2022/acorex-components-color-box.mjs.map +1 -1
  41. package/fesm2022/acorex-components-color-palette.mjs +28 -28
  42. package/fesm2022/acorex-components-color-palette.mjs.map +1 -1
  43. package/fesm2022/acorex-components-combo-box.mjs +188 -31
  44. package/fesm2022/acorex-components-combo-box.mjs.map +1 -1
  45. package/fesm2022/acorex-components-command.mjs +11 -7
  46. package/fesm2022/acorex-components-command.mjs.map +1 -1
  47. package/fesm2022/acorex-components-comment.mjs +28 -28
  48. package/fesm2022/acorex-components-comment.mjs.map +1 -1
  49. package/fesm2022/acorex-components-conversation-acorex-components-conversation-C1Lf9tAe.mjs +19538 -0
  50. package/fesm2022/acorex-components-conversation-acorex-components-conversation-C1Lf9tAe.mjs.map +1 -0
  51. package/fesm2022/acorex-components-conversation-composer-action-choice-dialog.component-F5fLD_SK.mjs +50 -0
  52. package/fesm2022/acorex-components-conversation-composer-action-choice-dialog.component-F5fLD_SK.mjs.map +1 -0
  53. package/fesm2022/acorex-components-conversation-emoji-categories-C7Gm95V0.mjs.map +1 -1
  54. package/fesm2022/acorex-components-conversation-image-picker-editor-dialog.component-Bk3ixvt2.mjs +87 -0
  55. package/fesm2022/acorex-components-conversation-image-picker-editor-dialog.component-Bk3ixvt2.mjs.map +1 -0
  56. package/fesm2022/{acorex-components-conversation-picker-rename-file-dialog.component-DuRLMEa3.mjs → acorex-components-conversation-picker-rename-file-dialog.component-DyOC1WEb.mjs} +5 -5
  57. package/fesm2022/{acorex-components-conversation-picker-rename-file-dialog.component-DuRLMEa3.mjs.map → acorex-components-conversation-picker-rename-file-dialog.component-DyOC1WEb.mjs.map} +1 -1
  58. package/fesm2022/acorex-components-conversation.mjs +1 -1
  59. package/fesm2022/acorex-components-cron-job.mjs +47 -47
  60. package/fesm2022/acorex-components-cron-job.mjs.map +1 -1
  61. package/fesm2022/acorex-components-data-list.mjs +3 -3
  62. package/fesm2022/acorex-components-data-list.mjs.map +1 -1
  63. package/fesm2022/acorex-components-data-pager.mjs +182 -184
  64. package/fesm2022/acorex-components-data-pager.mjs.map +1 -1
  65. package/fesm2022/acorex-components-data-table.mjs +809 -168
  66. package/fesm2022/acorex-components-data-table.mjs.map +1 -1
  67. package/fesm2022/acorex-components-datetime-box.mjs +7 -7
  68. package/fesm2022/acorex-components-datetime-box.mjs.map +1 -1
  69. package/fesm2022/acorex-components-datetime-input.mjs +7 -7
  70. package/fesm2022/acorex-components-datetime-input.mjs.map +1 -1
  71. package/fesm2022/acorex-components-datetime-picker.mjs +8 -8
  72. package/fesm2022/acorex-components-datetime-picker.mjs.map +1 -1
  73. package/fesm2022/acorex-components-decorators.mjs +59 -117
  74. package/fesm2022/acorex-components-decorators.mjs.map +1 -1
  75. package/fesm2022/acorex-components-dialog.mjs +11 -11
  76. package/fesm2022/acorex-components-dialog.mjs.map +1 -1
  77. package/fesm2022/acorex-components-drawer.mjs +11 -11
  78. package/fesm2022/acorex-components-drawer.mjs.map +1 -1
  79. package/fesm2022/acorex-components-dropdown-button.mjs +10 -9
  80. package/fesm2022/acorex-components-dropdown-button.mjs.map +1 -1
  81. package/fesm2022/acorex-components-dropdown.mjs +19 -14
  82. package/fesm2022/acorex-components-dropdown.mjs.map +1 -1
  83. package/fesm2022/acorex-components-editor.mjs +15 -14
  84. package/fesm2022/acorex-components-editor.mjs.map +1 -1
  85. package/fesm2022/acorex-components-emoji.mjs +74 -0
  86. package/fesm2022/acorex-components-emoji.mjs.map +1 -0
  87. package/fesm2022/acorex-components-emojipicker.mjs +425 -0
  88. package/fesm2022/acorex-components-emojipicker.mjs.map +1 -0
  89. package/fesm2022/acorex-components-fab.mjs +6 -6
  90. package/fesm2022/acorex-components-fab.mjs.map +1 -1
  91. package/fesm2022/acorex-components-file-viewer.mjs +250 -133
  92. package/fesm2022/acorex-components-file-viewer.mjs.map +1 -1
  93. package/fesm2022/acorex-components-form.mjs +17 -17
  94. package/fesm2022/acorex-components-form.mjs.map +1 -1
  95. package/fesm2022/acorex-components-grid-layout-builder.mjs +10 -10
  96. package/fesm2022/acorex-components-grid-layout-builder.mjs.map +1 -1
  97. package/fesm2022/acorex-components-highlight.mjs +80 -0
  98. package/fesm2022/acorex-components-highlight.mjs.map +1 -0
  99. package/fesm2022/acorex-components-image-editor.mjs +217 -79
  100. package/fesm2022/acorex-components-image-editor.mjs.map +1 -1
  101. package/fesm2022/acorex-components-image.mjs +7 -7
  102. package/fesm2022/acorex-components-image.mjs.map +1 -1
  103. package/fesm2022/acorex-components-inline-reaction.mjs +111 -0
  104. package/fesm2022/acorex-components-inline-reaction.mjs.map +1 -0
  105. package/fesm2022/acorex-components-json-viewer.mjs +7 -7
  106. package/fesm2022/acorex-components-json-viewer.mjs.map +1 -1
  107. package/fesm2022/acorex-components-kanban.mjs +3 -3
  108. package/fesm2022/acorex-components-kanban.mjs.map +1 -1
  109. package/fesm2022/acorex-components-kbd.mjs +6 -6
  110. package/fesm2022/acorex-components-kbd.mjs.map +1 -1
  111. package/fesm2022/acorex-components-label.mjs +7 -7
  112. package/fesm2022/acorex-components-label.mjs.map +1 -1
  113. package/fesm2022/acorex-components-list.mjs +28 -9
  114. package/fesm2022/acorex-components-list.mjs.map +1 -1
  115. package/fesm2022/acorex-components-loading-dialog.mjs +10 -10
  116. package/fesm2022/acorex-components-loading-dialog.mjs.map +1 -1
  117. package/fesm2022/acorex-components-loading.mjs +16 -16
  118. package/fesm2022/acorex-components-loading.mjs.map +1 -1
  119. package/fesm2022/acorex-components-lookup.mjs +919 -169
  120. package/fesm2022/acorex-components-lookup.mjs.map +1 -1
  121. package/fesm2022/acorex-components-map.mjs +20 -13
  122. package/fesm2022/acorex-components-map.mjs.map +1 -1
  123. package/fesm2022/acorex-components-media-viewer.mjs +215 -218
  124. package/fesm2022/acorex-components-media-viewer.mjs.map +1 -1
  125. package/fesm2022/acorex-components-menu.mjs +146 -45
  126. package/fesm2022/acorex-components-menu.mjs.map +1 -1
  127. package/fesm2022/acorex-components-message-status.mjs +71 -0
  128. package/fesm2022/acorex-components-message-status.mjs.map +1 -0
  129. package/fesm2022/acorex-components-message-time.mjs +36 -0
  130. package/fesm2022/acorex-components-message-time.mjs.map +1 -0
  131. package/fesm2022/acorex-components-message.mjs +120 -0
  132. package/fesm2022/acorex-components-message.mjs.map +1 -0
  133. package/fesm2022/acorex-components-navbar.mjs +7 -7
  134. package/fesm2022/acorex-components-navbar.mjs.map +1 -1
  135. package/fesm2022/acorex-components-notification.mjs +13 -14
  136. package/fesm2022/acorex-components-notification.mjs.map +1 -1
  137. package/fesm2022/acorex-components-number-box.mjs +17 -10
  138. package/fesm2022/acorex-components-number-box.mjs.map +1 -1
  139. package/fesm2022/acorex-components-otp.mjs +7 -7
  140. package/fesm2022/acorex-components-otp.mjs.map +1 -1
  141. package/fesm2022/acorex-components-page.mjs +10 -10
  142. package/fesm2022/acorex-components-page.mjs.map +1 -1
  143. package/fesm2022/acorex-components-paint.mjs +25 -25
  144. package/fesm2022/acorex-components-paint.mjs.map +1 -1
  145. package/fesm2022/acorex-components-password-box.mjs +10 -10
  146. package/fesm2022/acorex-components-password-box.mjs.map +1 -1
  147. package/fesm2022/acorex-components-pdf-reader.mjs +7 -7
  148. package/fesm2022/acorex-components-pdf-reader.mjs.map +1 -1
  149. package/fesm2022/acorex-components-phone-box.mjs +7 -7
  150. package/fesm2022/acorex-components-phone-box.mjs.map +1 -1
  151. package/fesm2022/acorex-components-picker.mjs +13 -13
  152. package/fesm2022/acorex-components-picker.mjs.map +1 -1
  153. package/fesm2022/acorex-components-popover.mjs +61 -13
  154. package/fesm2022/acorex-components-popover.mjs.map +1 -1
  155. package/fesm2022/acorex-components-popup.mjs +631 -167
  156. package/fesm2022/acorex-components-popup.mjs.map +1 -1
  157. package/fesm2022/acorex-components-progress-bar.mjs +7 -7
  158. package/fesm2022/acorex-components-progress-bar.mjs.map +1 -1
  159. package/fesm2022/acorex-components-qrcode.mjs +7 -7
  160. package/fesm2022/acorex-components-qrcode.mjs.map +1 -1
  161. package/fesm2022/acorex-components-radio.mjs +7 -7
  162. package/fesm2022/acorex-components-radio.mjs.map +1 -1
  163. package/fesm2022/acorex-components-rail-navigation.mjs +13 -13
  164. package/fesm2022/acorex-components-rail-navigation.mjs.map +1 -1
  165. package/fesm2022/acorex-components-range-slider.mjs +7 -7
  166. package/fesm2022/acorex-components-range-slider.mjs.map +1 -1
  167. package/fesm2022/acorex-components-rate-picker.mjs +7 -7
  168. package/fesm2022/acorex-components-rate-picker.mjs.map +1 -1
  169. package/fesm2022/acorex-components-reaction.mjs +144 -0
  170. package/fesm2022/acorex-components-reaction.mjs.map +1 -0
  171. package/fesm2022/acorex-components-rest-api-generator.mjs +23 -23
  172. package/fesm2022/acorex-components-rest-api-generator.mjs.map +1 -1
  173. package/fesm2022/acorex-components-result.mjs +7 -7
  174. package/fesm2022/acorex-components-result.mjs.map +1 -1
  175. package/fesm2022/acorex-components-routing-progress.mjs +7 -7
  176. package/fesm2022/acorex-components-routing-progress.mjs.map +1 -1
  177. package/fesm2022/acorex-components-rrule.mjs +9 -9
  178. package/fesm2022/acorex-components-rrule.mjs.map +1 -1
  179. package/fesm2022/acorex-components-scheduler-picker.mjs +56 -56
  180. package/fesm2022/acorex-components-scheduler-picker.mjs.map +1 -1
  181. package/fesm2022/acorex-components-scheduler.mjs +35 -35
  182. package/fesm2022/acorex-components-scheduler.mjs.map +1 -1
  183. package/fesm2022/acorex-components-search-box.mjs +7 -7
  184. package/fesm2022/acorex-components-search-box.mjs.map +1 -1
  185. package/fesm2022/acorex-components-select-box.mjs +9 -8
  186. package/fesm2022/acorex-components-select-box.mjs.map +1 -1
  187. package/fesm2022/acorex-components-selection-list.mjs +7 -8
  188. package/fesm2022/acorex-components-selection-list.mjs.map +1 -1
  189. package/fesm2022/acorex-components-side-menu.mjs +55 -42
  190. package/fesm2022/acorex-components-side-menu.mjs.map +1 -1
  191. package/fesm2022/acorex-components-sidebar.mjs +28 -28
  192. package/fesm2022/acorex-components-sidebar.mjs.map +1 -1
  193. package/fesm2022/acorex-components-skeleton.mjs +7 -7
  194. package/fesm2022/acorex-components-skeleton.mjs.map +1 -1
  195. package/fesm2022/acorex-components-slider.mjs +7 -7
  196. package/fesm2022/acorex-components-slider.mjs.map +1 -1
  197. package/fesm2022/acorex-components-sliding-item.mjs +13 -13
  198. package/fesm2022/acorex-components-sliding-item.mjs.map +1 -1
  199. package/fesm2022/acorex-components-step-wizard.mjs +16 -18
  200. package/fesm2022/acorex-components-step-wizard.mjs.map +1 -1
  201. package/fesm2022/acorex-components-switch.mjs +10 -10
  202. package/fesm2022/acorex-components-switch.mjs.map +1 -1
  203. package/fesm2022/acorex-components-tabs.mjs +393 -76
  204. package/fesm2022/acorex-components-tabs.mjs.map +1 -1
  205. package/fesm2022/acorex-components-tag-box.mjs +7 -7
  206. package/fesm2022/acorex-components-tag-box.mjs.map +1 -1
  207. package/fesm2022/acorex-components-tag.mjs +7 -7
  208. package/fesm2022/acorex-components-tag.mjs.map +1 -1
  209. package/fesm2022/acorex-components-text-area.mjs +7 -7
  210. package/fesm2022/acorex-components-text-area.mjs.map +1 -1
  211. package/fesm2022/acorex-components-text-box.mjs +7 -7
  212. package/fesm2022/acorex-components-text-box.mjs.map +1 -1
  213. package/fesm2022/acorex-components-time-duration.mjs +7 -7
  214. package/fesm2022/acorex-components-time-duration.mjs.map +1 -1
  215. package/fesm2022/acorex-components-time-line.mjs +10 -10
  216. package/fesm2022/acorex-components-time-line.mjs.map +1 -1
  217. package/fesm2022/acorex-components-toast.mjs +14 -14
  218. package/fesm2022/acorex-components-toast.mjs.map +1 -1
  219. package/fesm2022/acorex-components-toolbar.mjs +7 -7
  220. package/fesm2022/acorex-components-toolbar.mjs.map +1 -1
  221. package/fesm2022/acorex-components-tooltip.mjs +10 -10
  222. package/fesm2022/acorex-components-tooltip.mjs.map +1 -1
  223. package/fesm2022/acorex-components-tree-view.mjs +54 -14
  224. package/fesm2022/acorex-components-tree-view.mjs.map +1 -1
  225. package/fesm2022/acorex-components-uploader.mjs +13 -13
  226. package/fesm2022/acorex-components-uploader.mjs.map +1 -1
  227. package/fesm2022/acorex-components-video-player.mjs +7 -7
  228. package/fesm2022/acorex-components-video-player.mjs.map +1 -1
  229. package/fesm2022/acorex-components-wysiwyg.mjs +691 -295
  230. package/fesm2022/acorex-components-wysiwyg.mjs.map +1 -1
  231. package/fesm2022/acorex-components.mjs.map +1 -1
  232. package/highlight/README.md +13 -0
  233. package/inline-reaction/README.md +3 -0
  234. package/lookup/README.md +1 -1
  235. package/message/README.md +3 -0
  236. package/message-status/README.md +3 -0
  237. package/message-time/README.md +3 -0
  238. package/package.json +48 -13
  239. package/reaction/README.md +3 -0
  240. package/types/acorex-components-action-sheet.d.ts +1 -1
  241. package/types/acorex-components-audio-wave.d.ts +8 -0
  242. package/types/acorex-components-bubble.d.ts +31 -0
  243. package/types/acorex-components-button-group.d.ts +4 -0
  244. package/types/acorex-components-button.d.ts +75 -10
  245. package/types/acorex-components-calendar.d.ts +13 -4
  246. package/types/acorex-components-check-box.d.ts +1 -1
  247. package/types/acorex-components-code-editor.d.ts +4 -1
  248. package/types/acorex-components-color-box.d.ts +1 -1
  249. package/types/acorex-components-color-palette.d.ts +2 -2
  250. package/types/acorex-components-combo-box.d.ts +21 -2
  251. package/types/acorex-components-command.d.ts +3 -1
  252. package/types/acorex-components-conversation.d.ts +550 -242
  253. package/types/acorex-components-cron-job.d.ts +6 -6
  254. package/types/acorex-components-data-pager.d.ts +27 -9
  255. package/types/acorex-components-data-table.d.ts +226 -21
  256. package/types/acorex-components-datetime-box.d.ts +1 -1
  257. package/types/acorex-components-datetime-picker.d.ts +1 -1
  258. package/types/acorex-components-decorators.d.ts +15 -33
  259. package/types/acorex-components-dialog.d.ts +1 -1
  260. package/types/acorex-components-dropdown-button.d.ts +2 -1
  261. package/types/acorex-components-dropdown.d.ts +6 -1
  262. package/types/acorex-components-editor.d.ts +1 -1
  263. package/types/acorex-components-emoji.d.ts +42 -0
  264. package/types/acorex-components-emojipicker.d.ts +146 -0
  265. package/types/acorex-components-file-viewer.d.ts +14 -2
  266. package/types/acorex-components-highlight.d.ts +31 -0
  267. package/types/acorex-components-image-editor.d.ts +19 -2
  268. package/types/acorex-components-inline-reaction.d.ts +52 -0
  269. package/types/acorex-components-list.d.ts +12 -0
  270. package/types/acorex-components-loading-dialog.d.ts +1 -1
  271. package/types/acorex-components-loading.d.ts +1 -1
  272. package/types/acorex-components-lookup.d.ts +227 -79
  273. package/types/acorex-components-map.d.ts +7 -2
  274. package/types/acorex-components-media-viewer.d.ts +4 -3
  275. package/types/acorex-components-menu.d.ts +17 -5
  276. package/types/acorex-components-message-status.d.ts +23 -0
  277. package/types/acorex-components-message-time.d.ts +19 -0
  278. package/types/acorex-components-message.d.ts +59 -0
  279. package/types/acorex-components-notification.d.ts +1 -1
  280. package/types/acorex-components-number-box.d.ts +2 -1
  281. package/types/acorex-components-otp.d.ts +1 -1
  282. package/types/acorex-components-page.d.ts +2 -2
  283. package/types/acorex-components-paint.d.ts +2 -2
  284. package/types/acorex-components-password-box.d.ts +1 -1
  285. package/types/acorex-components-phone-box.d.ts +1 -1
  286. package/types/acorex-components-popover.d.ts +13 -1
  287. package/types/acorex-components-popup.d.ts +183 -50
  288. package/types/acorex-components-rail-navigation.d.ts +1 -1
  289. package/types/acorex-components-range-slider.d.ts +1 -1
  290. package/types/acorex-components-reaction.d.ts +85 -0
  291. package/types/acorex-components-rest-api-generator.d.ts +1 -1
  292. package/types/acorex-components-rrule.d.ts +1 -1
  293. package/types/acorex-components-scheduler-picker.d.ts +1 -1
  294. package/types/acorex-components-scheduler.d.ts +1 -1
  295. package/types/acorex-components-search-box.d.ts +1 -1
  296. package/types/acorex-components-selection-list.d.ts +1 -1
  297. package/types/acorex-components-side-menu.d.ts +6 -8
  298. package/types/acorex-components-slider.d.ts +1 -1
  299. package/types/acorex-components-step-wizard.d.ts +4 -4
  300. package/types/acorex-components-switch.d.ts +1 -1
  301. package/types/acorex-components-tabs.d.ts +109 -19
  302. package/types/acorex-components-tag-box.d.ts +2 -2
  303. package/types/acorex-components-text-area.d.ts +1 -1
  304. package/types/acorex-components-text-box.d.ts +1 -1
  305. package/types/acorex-components-time-duration.d.ts +1 -1
  306. package/types/acorex-components-toast.d.ts +1 -1
  307. package/types/acorex-components-tree-view.d.ts +23 -1
  308. package/types/acorex-components-wysiwyg.d.ts +426 -77
  309. package/fesm2022/acorex-components-conversation-acorex-components-conversation-EiqMwr9v.mjs +0 -16862
  310. package/fesm2022/acorex-components-conversation-acorex-components-conversation-EiqMwr9v.mjs.map +0 -1
  311. package/fesm2022/acorex-components-conversation-composer-action-choice-dialog.component-D4ca9Mvt.mjs +0 -51
  312. package/fesm2022/acorex-components-conversation-composer-action-choice-dialog.component-D4ca9Mvt.mjs.map +0 -1
  313. package/fesm2022/acorex-components-conversation-image-picker-editor-dialog.component-QVs1XWYf.mjs +0 -85
  314. package/fesm2022/acorex-components-conversation-image-picker-editor-dialog.component-QVs1XWYf.mjs.map +0 -1
  315. package/fesm2022/acorex-components-conversation-open-composer-picker-for-files-C7BnTUw2.mjs +0 -210
  316. package/fesm2022/acorex-components-conversation-open-composer-picker-for-files-C7BnTUw2.mjs.map +0 -1
  317. package/fesm2022/acorex-components-flow-chart.mjs +0 -735
  318. package/fesm2022/acorex-components-flow-chart.mjs.map +0 -1
  319. package/fesm2022/acorex-components-query-builder.mjs +0 -267
  320. package/fesm2022/acorex-components-query-builder.mjs.map +0 -1
  321. package/flow-chart/README.md +0 -3
  322. package/query-builder/README.md +0 -3
  323. package/types/acorex-components-flow-chart.d.ts +0 -187
  324. package/types/acorex-components-query-builder.d.ts +0 -52
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { signal, Injectable, ViewEncapsulation, ChangeDetectionStrategy, Component, input, inject, computed, TemplateRef, effect, output, ElementRef, viewChild, afterNextRender, ComponentRef, APP_INITIALIZER } from '@angular/core';
2
+ import { signal, Injectable, ViewEncapsulation, ChangeDetectionStrategy, Component, input, inject, computed, TemplateRef, effect, output, ElementRef, PLATFORM_ID, DestroyRef, viewChild, untracked, afterNextRender, ComponentRef, APP_INITIALIZER } from '@angular/core';
3
3
  import { AXComponentClosedPromise } from '@acorex/cdk/common';
4
4
  import { AXOverlayService } from '@acorex/cdk/overlay';
5
5
  import { Subject } from 'rxjs';
@@ -8,9 +8,8 @@ import { AXBadgeComponent } from '@acorex/components/badge';
8
8
  import { AXButtonComponent } from '@acorex/components/button';
9
9
  import { AXDecoratorIconComponent } from '@acorex/components/decorators';
10
10
  import { AXLoadingComponent } from '@acorex/components/loading';
11
- import { AXTooltipDirective } from '@acorex/components/tooltip';
12
11
  import { AXFullScreenService } from '@acorex/core/full-screen';
13
- import { NgComponentOutlet, NgTemplateOutlet } from '@angular/common';
12
+ import { NgComponentOutlet, NgTemplateOutlet, DOCUMENT, isPlatformBrowser } from '@angular/common';
14
13
  import { AXFileTypeRendererOutletComponent, defineFileType, AX_IMAGE_FILE_TYPE, AX_VIDEO_FILE_TYPE, AX_AUDIO_FILE_TYPE, AX_DOCUMENT_FILE_TYPE, AX_FILE_FILE_TYPE, AXFileTypeRegistryService } from '@acorex/core/file';
15
14
  import { AXPdfReaderComponent } from '@acorex/components/pdf-reader';
16
15
  import { DomSanitizer } from '@angular/platform-browser';
@@ -39,16 +38,16 @@ class AXFileViewerService {
39
38
  this.urlCache.set(cacheKey, resolved);
40
39
  return resolved;
41
40
  }
42
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXFileViewerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
43
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXFileViewerService }); }
41
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: AXFileViewerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
42
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: AXFileViewerService }); }
44
43
  }
45
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXFileViewerService, decorators: [{
44
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: AXFileViewerService, decorators: [{
46
45
  type: Injectable
47
46
  }] });
48
47
 
49
48
  class AXFileViewerEmptyStateComponent {
50
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXFileViewerEmptyStateComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
51
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.8", type: AXFileViewerEmptyStateComponent, isStandalone: true, selector: "ax-file-viewer-empty-state", ngImport: i0, template: `
49
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: AXFileViewerEmptyStateComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
50
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.1.6", type: AXFileViewerEmptyStateComponent, isStandalone: true, selector: "ax-file-viewer-empty-state", ngImport: i0, template: `
52
51
  <div class="ax-file-viewer-empty" role="status" aria-live="polite">
53
52
  <div class="ax-file-viewer-empty__icon-wrap" aria-hidden="true">
54
53
  <i class="fa-light fa-folder-open ax-file-viewer-empty__icon"></i>
@@ -60,7 +59,7 @@ class AXFileViewerEmptyStateComponent {
60
59
  </div>
61
60
  `, isInline: true, styles: ["@layer properties;@layer components{ax-file-viewer-empty-state{box-sizing:border-box;display:flex;height:100%;min-height:calc(var(--spacing, .25rem) * 0);width:100%;min-width:calc(var(--spacing, .25rem) * 0);align-items:center;justify-content:center}ax-file-viewer-empty-state .ax-file-viewer-empty{box-sizing:border-box;display:flex;max-width:var(--container-sm, 24rem);flex-direction:column;align-items:center;gap:calc(var(--spacing, .25rem) * 3);padding-inline:calc(var(--spacing, .25rem) * 6);padding-block:calc(var(--spacing, .25rem) * 8);text-align:center}ax-file-viewer-empty-state .ax-file-viewer-empty__icon-wrap{display:flex;align-items:center;justify-content:center;border-radius:var(--radius-2xl, 1rem);width:5.5rem;height:5.5rem;background:linear-gradient(160deg,rgba(var(--ax-sys-color-primary-500),.12),rgba(var(--ax-sys-color-lighter-surface),.95) 55%);border:1px solid rgb(var(--ax-sys-color-border-lighter-surface))}ax-file-viewer-empty-state .ax-file-viewer-empty__icon{font-size:var(--text-4xl, 2.25rem);line-height:var(--tw-leading, var(--text-4xl--line-height, calc(2.5 / 2.25)));color:rgb(var(--ax-sys-color-primary-500))}ax-file-viewer-empty-state .ax-file-viewer-empty__title{margin:calc(var(--spacing, .25rem) * 0);font-size:var(--text-base, 1rem);line-height:var(--tw-leading, var(--text-base--line-height, 1.5 ));--tw-font-weight: var(--font-weight-bold, 700);font-weight:var(--font-weight-bold, 700);color:rgb(var(--ax-sys-color-on-surface))}ax-file-viewer-empty-state .ax-file-viewer-empty__description{margin:calc(var(--spacing, .25rem) * 0);font-size:var(--text-sm, .875rem);line-height:var(--tw-leading, var(--text-sm--line-height, calc(1.25 / .875)));--tw-leading: var(--leading-relaxed, 1.625);line-height:var(--leading-relaxed, 1.625);color:rgba(var(--ax-sys-color-on-surface),.62)}}@property --tw-font-weight{syntax: \"*\"; inherits: false;}@property --tw-leading{syntax: \"*\"; inherits: false;}@layer properties{@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-font-weight: initial;--tw-leading: initial}}}\n/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
62
61
  }
63
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXFileViewerEmptyStateComponent, decorators: [{
62
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: AXFileViewerEmptyStateComponent, decorators: [{
64
63
  type: Component,
65
64
  args: [{ selector: 'ax-file-viewer-empty-state', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: `
66
65
  <div class="ax-file-viewer-empty" role="status" aria-live="polite">
@@ -164,8 +163,8 @@ class AXFileViewerSlideComponent {
164
163
  }), /* @ts-ignore */
165
164
  ...(ngDevMode ? [{ debugName: "fallbackComponentInputs" }] : /* istanbul ignore next */ []));
166
165
  }
167
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXFileViewerSlideComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
168
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: AXFileViewerSlideComponent, isStandalone: true, selector: "ax-file-viewer-slide", inputs: { item: { classPropertyName: "item", publicName: "item", isSignal: true, isRequired: true, transformFunction: null }, index: { classPropertyName: "index", publicName: "index", isSignal: true, isRequired: true, transformFunction: null }, fallbackContent: { classPropertyName: "fallbackContent", publicName: "fallbackContent", isSignal: true, isRequired: false, transformFunction: null }, fallbackContentInputs: { classPropertyName: "fallbackContentInputs", publicName: "fallbackContentInputs", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
166
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: AXFileViewerSlideComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
167
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.6", type: AXFileViewerSlideComponent, isStandalone: true, selector: "ax-file-viewer-slide", inputs: { item: { classPropertyName: "item", publicName: "item", isSignal: true, isRequired: true, transformFunction: null }, index: { classPropertyName: "index", publicName: "index", isSignal: true, isRequired: true, transformFunction: null }, fallbackContent: { classPropertyName: "fallbackContent", publicName: "fallbackContent", isSignal: true, isRequired: false, transformFunction: null }, fallbackContentInputs: { classPropertyName: "fallbackContentInputs", publicName: "fallbackContentInputs", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
169
168
  @if (useCustomFallback()) {
170
169
  <div class="ax-file-viewer-slide__custom">
171
170
  @if (fallbackTemplateContent(); as template) {
@@ -179,7 +178,7 @@ class AXFileViewerSlideComponent {
179
178
  }
180
179
  `, isInline: true, styles: ["@layer components{ax-file-viewer-slide{box-sizing:border-box;display:flex;height:100%;min-height:calc(var(--spacing, .25rem) * 0);width:100%;min-width:calc(var(--spacing, .25rem) * 0);align-items:stretch;justify-content:stretch;-webkit-user-select:none;user-select:none}ax-file-viewer-slide .ax-file-viewer-slide__custom{box-sizing:border-box;display:flex;height:100%;min-height:calc(var(--spacing, .25rem) * 0);width:100%;min-width:calc(var(--spacing, .25rem) * 0);align-items:center;justify-content:center}}\n/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */\n"], dependencies: [{ kind: "directive", type: NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletEnvironmentInjector", "ngComponentOutletContent", "ngComponentOutletNgModule"], exportAs: ["ngComponentOutlet"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: AXFileTypeRendererOutletComponent, selector: "ax-file-type-renderer", inputs: ["fileType", "payload", "extensionHint", "inputs"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
181
180
  }
182
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXFileViewerSlideComponent, decorators: [{
181
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: AXFileViewerSlideComponent, decorators: [{
183
182
  type: Component,
184
183
  args: [{ selector: 'ax-file-viewer-slide', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [NgComponentOutlet, NgTemplateOutlet, AXFileTypeRendererOutletComponent], template: `
185
184
  @if (useCustomFallback()) {
@@ -231,34 +230,41 @@ class AXFileViewerThumbPreviewComponent {
231
230
  ...(ngDevMode ? [{ debugName: "#resolve" }] : /* istanbul ignore next */ []));
232
231
  }
233
232
  #resolve;
233
+ onImageError() {
234
+ this.src.set(null);
235
+ }
234
236
  async resolvePreview(item) {
235
- const thumbnail = await this.service.resolveUrl(item, 'thumbnailUrl');
236
- if (thumbnail) {
237
+ const type = resolveFileViewerFileType(item);
238
+ const [thumbnail, content] = await Promise.all([
239
+ this.service.resolveUrl(item, 'thumbnailUrl'),
240
+ this.service.resolveUrl(item, 'url'),
241
+ ]);
242
+ // PDF/zip/etc. often reuse the asset URL as thumbnailUrl — that cannot render in <img>.
243
+ if (thumbnail && (type === 'image' || thumbnail !== content)) {
237
244
  return thumbnail;
238
245
  }
239
- // Images can use the main asset URL when no dedicated thumbnail is provided.
240
- if (resolveFileViewerFileType(item) === 'image') {
241
- return this.service.resolveUrl(item, 'url');
246
+ if (type === 'image') {
247
+ return content;
242
248
  }
243
249
  return undefined;
244
250
  }
245
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXFileViewerThumbPreviewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
246
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: AXFileViewerThumbPreviewComponent, isStandalone: true, selector: "ax-file-viewer-thumb-preview", inputs: { item: { classPropertyName: "item", publicName: "item", isSignal: true, isRequired: true, transformFunction: null } }, host: { classAttribute: "ax-file-viewer__thumb-preview" }, ngImport: i0, template: `
251
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: AXFileViewerThumbPreviewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
252
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.6", type: AXFileViewerThumbPreviewComponent, isStandalone: true, selector: "ax-file-viewer-thumb-preview", inputs: { item: { classPropertyName: "item", publicName: "item", isSignal: true, isRequired: true, transformFunction: null } }, host: { classAttribute: "ax-file-viewer__thumb-preview" }, ngImport: i0, template: `
247
253
  @if (src()) {
248
- <img [src]="src()!" [alt]="item().name ?? ''" loading="lazy" />
254
+ <img [src]="src()!" [alt]="item().name ?? ''" loading="lazy" (error)="onImageError()" />
249
255
  } @else {
250
256
  <i [class]="icon()"></i>
251
257
  }
252
258
  `, isInline: true }); }
253
259
  }
254
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXFileViewerThumbPreviewComponent, decorators: [{
260
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: AXFileViewerThumbPreviewComponent, decorators: [{
255
261
  type: Component,
256
262
  args: [{
257
263
  selector: 'ax-file-viewer-thumb-preview',
258
264
  host: { class: 'ax-file-viewer__thumb-preview' },
259
265
  template: `
260
266
  @if (src()) {
261
- <img [src]="src()!" [alt]="item().name ?? ''" loading="lazy" />
267
+ <img [src]="src()!" [alt]="item().name ?? ''" loading="lazy" (error)="onImageError()" />
262
268
  } @else {
263
269
  <i [class]="icon()"></i>
264
270
  }
@@ -281,6 +287,21 @@ const TYPE_COLOR_MAP = {
281
287
  file: 'secondary',
282
288
  };
283
289
  class AXFileViewerContainerComponent {
290
+ resolveTypeLabel(item) {
291
+ return TYPE_LABEL_MAP[resolveFileViewerFileType(item)] ?? 'FILE';
292
+ }
293
+ formatSize(size) {
294
+ if (size == null || Number.isNaN(size))
295
+ return '';
296
+ if (size < 1024)
297
+ return `${size} B`;
298
+ if (size < 1024 * 1024)
299
+ return `${(size / 1024).toFixed(1)} KB`;
300
+ return `${(size / (1024 * 1024)).toFixed(1)} MB`;
301
+ }
302
+ #syncItems;
303
+ #bindSlideChange;
304
+ #init;
284
305
  constructor() {
285
306
  this.items = input([], /* @ts-ignore */
286
307
  ...(ngDevMode ? [{ debugName: "items" }] : /* istanbul ignore next */ []));
@@ -321,6 +342,9 @@ class AXFileViewerContainerComponent {
321
342
  this.service = inject(AXFileViewerService);
322
343
  this.host = inject((ElementRef));
323
344
  this.fullScreenService = inject(AXFullScreenService);
345
+ this.document = inject(DOCUMENT);
346
+ this.platformId = inject(PLATFORM_ID);
347
+ this.destroyRef = inject(DestroyRef);
324
348
  this.mainCarouselRef = viewChild('mainCarousel', /* @ts-ignore */
325
349
  ...(ngDevMode ? [{ debugName: "mainCarouselRef" }] : /* istanbul ignore next */ []));
326
350
  this.thumbCarouselRef = viewChild('thumbCarousel', /* @ts-ignore */
@@ -380,6 +404,7 @@ class AXFileViewerContainerComponent {
380
404
  }, /* @ts-ignore */
381
405
  ...(ngDevMode ? [{ debugName: "emptyComponentContent" }] : /* istanbul ignore next */ []));
382
406
  this.resolvedHeaderActions = computed(() => {
407
+ this.isFullscreenActive();
383
408
  const customActions = this.headerActions();
384
409
  if (customActions.length > 0) {
385
410
  let hasFullscreenAction = false;
@@ -422,42 +447,62 @@ class AXFileViewerContainerComponent {
422
447
  this.resolveFileType = resolveFileViewerFileType;
423
448
  this.mainCarouselOptions = {
424
449
  slidesPerView: 1,
425
- observer: true,
426
- observeParents: true,
427
450
  updateOnWindowResize: true,
428
451
  resizeObserver: true,
429
452
  keyboard: true,
430
453
  watchSlidesProgress: true,
431
454
  speed: 300,
455
+ threshold: 8,
456
+ simulateTouch: true,
457
+ noSwipingSelector: 'video, audio, ax-pdf-reader, ax-pdf-reader *',
458
+ on: {
459
+ afterInit(swiper) {
460
+ requestAnimationFrame(() => swiper.update());
461
+ },
462
+ },
432
463
  };
433
464
  this.thumbnailCarouselOptions = {
434
465
  spaceBetween: 10,
435
466
  slidesPerView: 'auto',
436
467
  watchSlidesProgress: true,
437
- observer: true,
438
- observeParents: true,
439
468
  updateOnWindowResize: true,
440
469
  resizeObserver: true,
470
+ threshold: 8,
441
471
  };
442
472
  this.#syncItems = effect(() => {
443
473
  const items = this.items();
444
474
  const startIndex = this.startIndex();
475
+ const previousItems = untracked(() => this.service.items());
476
+ const previousIndex = untracked(() => this.service.selectedIndex());
477
+ const sameIds = previousItems.length === items.length && previousItems.every((item, index) => item.id === items[index]?.id);
445
478
  this.service.items.set(items);
446
- this.service.selectedIndex.set(Math.min(Math.max(startIndex, 0), Math.max(items.length - 1, 0)));
479
+ const maxIndex = Math.max(items.length - 1, 0);
480
+ if (sameIds) {
481
+ this.service.selectedIndex.set(Math.min(previousIndex, maxIndex));
482
+ }
483
+ else {
484
+ this.service.selectedIndex.set(Math.min(Math.max(startIndex, 0), maxIndex));
485
+ }
447
486
  if (items.length > 0) {
448
- this.initializing.set(true);
449
- setTimeout(() => void this.initCarousels());
487
+ const hasCarousel = untracked(() => !!this.mainCarouselRef()?.carousel());
488
+ if (!sameIds || !hasCarousel) {
489
+ this.initializing.set(true);
490
+ setTimeout(() => void this.initCarousels());
491
+ }
450
492
  }
451
493
  else if (!this.loading()) {
452
494
  this.initializing.set(false);
453
495
  }
454
496
  }, /* @ts-ignore */
455
497
  ...(ngDevMode ? [{ debugName: "#syncItems" }] : /* istanbul ignore next */ []));
456
- this.#bindSlideChange = effect(() => {
498
+ this.#bindSlideChange = effect((onCleanup) => {
457
499
  const carousel = this.mainCarouselRef()?.carousel();
458
- if (carousel) {
459
- carousel.on('activeIndexChange', this.onSlideChange);
460
- }
500
+ if (!carousel)
501
+ return;
502
+ carousel.on('activeIndexChange', this.onSlideChange);
503
+ onCleanup(() => {
504
+ carousel.off('activeIndexChange', this.onSlideChange);
505
+ });
461
506
  }, /* @ts-ignore */
462
507
  ...(ngDevMode ? [{ debugName: "#bindSlideChange" }] : /* istanbul ignore next */ []));
463
508
  this.#init = afterNextRender(() => {
@@ -467,43 +512,44 @@ class AXFileViewerContainerComponent {
467
512
  }
468
513
  });
469
514
  this.onSlideChange = (swiper) => {
515
+ if (this.service.selectedIndex() === swiper.activeIndex)
516
+ return;
470
517
  this.service.selectedIndex.set(swiper.activeIndex);
471
518
  };
519
+ if (!isPlatformBrowser(this.platformId)) {
520
+ return;
521
+ }
522
+ const onKeydown = (event) => this.onFullscreenEscape(event);
523
+ this.document.addEventListener('keydown', onKeydown);
524
+ this.destroyRef.onDestroy(() => {
525
+ this.document.removeEventListener('keydown', onKeydown);
526
+ });
472
527
  }
473
- resolveTypeLabel(item) {
474
- return TYPE_LABEL_MAP[resolveFileViewerFileType(item)] ?? 'FILE';
475
- }
476
- formatSize(size) {
477
- if (size == null || Number.isNaN(size))
478
- return '';
479
- if (size < 1024)
480
- return `${size} B`;
481
- if (size < 1024 * 1024)
482
- return `${(size / 1024).toFixed(1)} KB`;
483
- return `${(size / (1024 * 1024)).toFixed(1)} MB`;
484
- }
485
- #syncItems;
486
- #bindSlideChange;
487
- #init;
488
528
  resolveHeaderAction(action) {
489
529
  if (!this.isFullscreenAction(action.name)) {
490
530
  return action;
491
531
  }
492
532
  const isActive = this.isFullscreenActive();
533
+ if (isActive) {
534
+ return {
535
+ ...action,
536
+ name: 'fullscreen',
537
+ text: 'Close fullscreen',
538
+ icon: 'fa-light fa-close',
539
+ };
540
+ }
493
541
  return {
494
542
  ...action,
495
543
  name: 'fullscreen',
496
- text: action.text || (isActive ? 'Close' : 'Fullscreen'),
497
- icon: action.icon ?? (isActive ? 'fa-light fa-xmark' : 'fa-light fa-expand'),
544
+ text: action.text || 'Fullscreen',
545
+ icon: action.icon ?? 'fa-light fa-expand',
498
546
  };
499
547
  }
500
548
  onHeaderActionClick(action, event) {
501
549
  if (action.disabled || action.isLoading) {
502
550
  return;
503
551
  }
504
- const resolvedAction = this.isFullscreenAction(action.name)
505
- ? { ...action, name: 'fullscreen' }
506
- : action;
552
+ const resolvedAction = this.isFullscreenAction(action.name) ? { ...action, name: 'fullscreen' } : action;
507
553
  const clickEvent = {
508
554
  sender: this,
509
555
  nativeEvent: event.nativeEvent,
@@ -557,6 +603,21 @@ class AXFileViewerContainerComponent {
557
603
  closeGallery() {
558
604
  this.toggleFullscreen();
559
605
  }
606
+ onFullscreenEscape(event) {
607
+ if (event.key !== 'Escape' || event.repeat) {
608
+ return;
609
+ }
610
+ const doc = this.document;
611
+ if (doc.fullscreenElement || doc.webkitFullscreenElement) {
612
+ return;
613
+ }
614
+ if (!this.isFullscreenActive() && !this.fullScreenService.isActive(this.host.nativeElement)) {
615
+ return;
616
+ }
617
+ event.preventDefault();
618
+ event.stopPropagation();
619
+ this.exitFullscreen();
620
+ }
560
621
  async initCarousels() {
561
622
  const token = ++this.initToken;
562
623
  const mainRef = this.mainCarouselRef();
@@ -569,14 +630,16 @@ class AXFileViewerContainerComponent {
569
630
  this.initializing.set(true);
570
631
  try {
571
632
  const thumbRef = this.thumbnail() ? this.thumbCarouselRef() : undefined;
572
- if (thumbRef?.carousel()) {
573
- thumbRef.carousel().destroy(true, true);
574
- }
575
- if (mainRef.carousel()) {
576
- mainRef.carousel().destroy(true, true);
577
- }
633
+ thumbRef?.destroy();
634
+ mainRef.destroy();
635
+ if (token !== this.initToken)
636
+ return;
578
637
  if (thumbRef) {
579
638
  await thumbRef.init(this.thumbnailCarouselOptions);
639
+ if (token !== this.initToken) {
640
+ thumbRef.destroy();
641
+ return;
642
+ }
580
643
  await mainRef.init({
581
644
  ...this.mainCarouselOptions,
582
645
  thumbs: { swiper: thumbRef.carousel() },
@@ -585,8 +648,11 @@ class AXFileViewerContainerComponent {
585
648
  else {
586
649
  await mainRef.init(this.mainCarouselOptions);
587
650
  }
588
- if (token !== this.initToken)
651
+ if (token !== this.initToken) {
652
+ thumbRef?.destroy();
653
+ mainRef.destroy();
589
654
  return;
655
+ }
590
656
  mainRef.carousel()?.slideTo(this.service.selectedIndex(), 0);
591
657
  }
592
658
  finally {
@@ -633,13 +699,14 @@ class AXFileViewerContainerComponent {
633
699
  anchor.click();
634
700
  }
635
701
  ngOnDestroy() {
636
- this.mainCarouselRef()?.carousel()?.off('activeIndexChange', this.onSlideChange);
702
+ this.mainCarouselRef()?.destroy();
703
+ this.thumbCarouselRef()?.destroy();
637
704
  this.exitFullscreen(false);
638
705
  }
639
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXFileViewerContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
640
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: AXFileViewerContainerComponent, isStandalone: true, selector: "ax-file-viewer-container", inputs: { items: { classPropertyName: "items", publicName: "items", isSignal: true, isRequired: false, transformFunction: null }, startIndex: { classPropertyName: "startIndex", publicName: "startIndex", isSignal: true, isRequired: false, transformFunction: null }, thumbnail: { classPropertyName: "thumbnail", publicName: "thumbnail", isSignal: true, isRequired: false, transformFunction: null }, pagination: { classPropertyName: "pagination", publicName: "pagination", isSignal: true, isRequired: false, transformFunction: null }, download: { classPropertyName: "download", publicName: "download", isSignal: true, isRequired: false, transformFunction: null }, fullscreen: { classPropertyName: "fullscreen", publicName: "fullscreen", isSignal: true, isRequired: false, transformFunction: null }, headerActions: { classPropertyName: "headerActions", publicName: "headerActions", isSignal: true, isRequired: false, transformFunction: null }, galleryMode: { classPropertyName: "galleryMode", publicName: "galleryMode", isSignal: true, isRequired: false, transformFunction: null }, headerContent: { classPropertyName: "headerContent", publicName: "headerContent", isSignal: true, isRequired: false, transformFunction: null }, headerContentInputs: { classPropertyName: "headerContentInputs", publicName: "headerContentInputs", isSignal: true, isRequired: false, transformFunction: null }, fallbackContent: { classPropertyName: "fallbackContent", publicName: "fallbackContent", isSignal: true, isRequired: false, transformFunction: null }, fallbackContentInputs: { classPropertyName: "fallbackContentInputs", publicName: "fallbackContentInputs", isSignal: true, isRequired: false, transformFunction: null }, emptyContent: { classPropertyName: "emptyContent", publicName: "emptyContent", isSignal: true, isRequired: false, transformFunction: null }, emptyContentInputs: { classPropertyName: "emptyContentInputs", publicName: "emptyContentInputs", isSignal: true, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { headerActionClick: "headerActionClick", fullscreenClosed: "fullscreenClosed" }, host: { properties: { "class.ax-file-viewer--fullscreen": "isFullscreenActive()" } }, providers: [AXFileViewerService], viewQueries: [{ propertyName: "mainCarouselRef", first: true, predicate: ["mainCarousel"], descendants: true, isSignal: true }, { propertyName: "thumbCarouselRef", first: true, predicate: ["thumbCarousel"], descendants: true, isSignal: true }], ngImport: i0, template: "@if (isBusy()) {\n <div class=\"ax-file-viewer__loading\" aria-busy=\"true\" aria-live=\"polite\">\n <ax-loading></ax-loading>\n </div>\n}\n\n@if (isEmpty()) {\n <div class=\"ax-file-viewer__empty\" [class.ax-file-viewer__empty--hidden]=\"isBusy()\">\n @if (emptyTemplateContent(); as template) {\n <ng-container *ngTemplateOutlet=\"template\" />\n } @else if (emptyComponentContent(); as component) {\n <ng-container *ngComponentOutlet=\"component; inputs: emptyContentInputs() ?? {}\" />\n } @else {\n <ax-file-viewer-empty-state />\n }\n </div>\n} @else {\n @if (currentItem(); as item) {\n <header class=\"ax-file-viewer__header\" [class.ax-file-viewer__header--no-content]=\"!hasHeaderCenterContent()\">\n <div class=\"ax-file-viewer__meta\">\n <div class=\"ax-file-viewer__title-row\">\n <span class=\"ax-file-viewer__name\">{{ item.name || 'Untitled' }}</span>\n </div>\n <div class=\"ax-file-viewer__submeta\">\n @if (formatSize(item.size); as sizeLabel) {\n <span>{{ sizeLabel }}</span>\n <span class=\"ax-file-viewer__dot\">\u00B7</span>\n }\n <ax-badge\n class=\"ax-file-viewer__type-badge ax-pill ax-sm\"\n look=\"outline\"\n [color]=\"currentTypeColor()\"\n [text]=\"currentTypeLabel()\"\n />\n </div>\n </div>\n\n @if (hasHeaderCenterContent()) {\n <div class=\"ax-file-viewer__header-content\">\n @if (headerTemplateContent(); as template) {\n <ng-container *ngTemplateOutlet=\"template; context: headerContentContext()\" />\n } @else if (headerComponentContent(); as component) {\n <ng-container *ngComponentOutlet=\"component; inputs: headerContentInputs() ?? {}\" />\n }\n </div>\n }\n\n <div class=\"ax-file-viewer__header-actions\">\n @for (action of resolvedHeaderActions(); track action.name ?? action.text) {\n <ax-button\n class=\"rounded-full\"\n [color]=\"action.color ?? 'default'\"\n [iconOnly]=\"!!action.icon\"\n [disabled]=\"action.disabled\"\n [axTooltip]=\"action.title ?? action.text\"\n (onClick)=\"onHeaderActionClick(action, $event)\"\n >\n @if (action.isLoading) {\n <ax-loading></ax-loading>\n } @else if (action.icon) {\n <ax-icon [icon]=\"action.icon\"></ax-icon>\n } @else {\n {{ action.text }}\n }\n </ax-button>\n }\n </div>\n </header>\n }\n\n <div\n class=\"ax-file-viewer__stage\"\n [class.ax-file-viewer__stage--nav]=\"service.items().length > 1\"\n [class.ax-file-viewer__stage--hidden]=\"isBusy()\"\n >\n @if (service.items().length > 1) {\n <ax-button\n look=\"solid\"\n class=\"ax-file-viewer__nav\"\n color=\"default\"\n [iconOnly]=\"true\"\n [disabled]=\"isFirstSlide()\"\n (onClick)=\"prev()\"\n >\n <ax-icon icon=\"fa-light fa-chevron-left\"></ax-icon>\n </ax-button>\n }\n\n <div class=\"ax-file-viewer__canvas\">\n <div #mainCarousel=\"axCarousel\" axCarousel class=\"ax-carousel\">\n <div class=\"ax-carousel-wrapper\">\n @for (file of service.items(); track file.id) {\n <div class=\"ax-carousel-slide\">\n <ax-file-viewer-slide\n [item]=\"file\"\n [index]=\"$index\"\n [fallbackContent]=\"fallbackContent()\"\n [fallbackContentInputs]=\"fallbackContentInputs()\"\n />\n </div>\n }\n </div>\n </div>\n\n @if (service.items().length > 0) {\n <span class=\"ax-file-viewer__overlay-counter\">{{ slideCounter() }}</span>\n }\n </div>\n\n @if (service.items().length > 1) {\n <ax-button\n class=\"ax-file-viewer__nav ax-file-viewer__nav--next\"\n look=\"solid\"\n color=\"default\"\n [iconOnly]=\"true\"\n [disabled]=\"isLastSlide()\"\n (onClick)=\"next()\"\n >\n <ax-icon icon=\"fa-light fa-chevron-right\"></ax-icon>\n </ax-button>\n }\n </div>\n\n @if (thumbnail() && service.items().length > 1) {\n <footer class=\"ax-file-viewer__thumbs\" [class.ax-file-viewer__thumbs--hidden]=\"isBusy()\">\n <div class=\"ax-file-viewer__thumbs-track\">\n <div #thumbCarousel=\"axCarousel\" axCarousel class=\"ax-carousel\">\n <div class=\"ax-carousel-wrapper\">\n @for (file of service.items(); track file.id) {\n <div\n class=\"ax-carousel-slide ax-file-viewer__thumb\"\n [attr.data-type]=\"resolveFileType(file)\"\n [class.ax-file-viewer__thumb--active]=\"service.selectedIndex() === $index\"\n (click)=\"goToIndex($index)\"\n >\n <ax-file-viewer-thumb-preview [item]=\"file\" />\n <div class=\"ax-file-viewer__thumb-footer\">\n <span class=\"ax-file-viewer__thumb-name\">{{ file.name || resolveTypeLabel(file) }}</span>\n </div>\n </div>\n }\n </div>\n </div>\n </div>\n </footer>\n }\n}\n", styles: ["@layer properties;:root{--swiper-theme-color: #007aff}:host{position:relative;display:block;margin-left:auto;margin-right:auto;z-index:1}.swiper{margin-left:auto;margin-right:auto;position:relative;overflow:hidden;list-style:none;padding:0;z-index:1;display:block}.swiper-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:flex;transition-property:transform;transition-timing-function:var(--swiper-wrapper-transition-timing-function, initial);box-sizing:content-box}.swiper-android .swiper-slide,.swiper-ios .swiper-slide,.swiper-wrapper{transform:translateZ(0)}.swiper-horizontal{touch-action:pan-y}.swiper-vertical{touch-action:pan-x}.swiper-slide{flex-shrink:0;width:100%;height:100%;position:relative;transition-property:transform;display:block}.swiper-slide-invisible-blank{visibility:hidden}.swiper-autoheight,.swiper-autoheight .swiper-slide{height:auto}.swiper-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-backface-hidden .swiper-slide{transform:translateZ(0);backface-visibility:hidden}.swiper-3d.swiper-css-mode .swiper-wrapper{perspective:1200px}.swiper-3d .swiper-wrapper{transform-style:preserve-3d}.swiper-3d{perspective:1200px}.swiper-3d .swiper-slide,.swiper-3d .swiper-cube-shadow{transform-style:preserve-3d}.swiper-css-mode>.swiper-wrapper{overflow:auto;scrollbar-width:none;-ms-overflow-style:none}.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar{display:none}.swiper-css-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:start start}.swiper-css-mode.swiper-horizontal>.swiper-wrapper{scroll-snap-type:x mandatory}.swiper-css-mode.swiper-vertical>.swiper-wrapper{scroll-snap-type:y mandatory}.swiper-css-mode.swiper-free-mode>.swiper-wrapper{scroll-snap-type:none}.swiper-css-mode.swiper-free-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:none}.swiper-css-mode.swiper-centered>.swiper-wrapper:before{content:\"\";flex-shrink:0;order:9999}.swiper-css-mode.swiper-centered>.swiper-wrapper>.swiper-slide{scroll-snap-align:center center;scroll-snap-stop:always}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper:before{height:100%;min-height:1px;width:var(--swiper-centered-offset-after)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper:before{width:100%;min-width:1px;height:var(--swiper-centered-offset-after)}.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top,.swiper-3d .swiper-slide-shadow-bottom{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}.swiper-3d .swiper-slide-shadow{background:#00000026}.swiper-3d .swiper-slide-shadow-left{background-image:linear-gradient(to left,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-right{background-image:linear-gradient(to right,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-top{background-image:linear-gradient(to top,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-bottom{background-image:linear-gradient(to bottom,#00000080,#0000)}.swiper-lazy-preloader{width:42px;height:42px;position:absolute;left:50%;top:50%;margin-left:-21px;margin-top:-21px;z-index:10;transform-origin:50%;box-sizing:border-box;border:4px solid var(--swiper-preloader-color, var(--swiper-theme-color));border-radius:50%;border-top-color:transparent}:is(.swiper:not(.swiper-watch-progress),.swiper-watch-progress .swiper-slide-visible) .swiper-lazy-preloader{animation:swiper-preloader-spin 1s infinite linear}.swiper-lazy-preloader-white{--swiper-preloader-color: #fff}.swiper-lazy-preloader-black{--swiper-preloader-color: #000}@keyframes swiper-preloader-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.swiper-virtual .swiper-slide{-webkit-backface-visibility:hidden;transform:translateZ(0)}.swiper-virtual.swiper-css-mode .swiper-wrapper:after{content:\"\";position:absolute;left:0;top:0;pointer-events:none}.swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper:after{height:1px;width:var(--swiper-virtual-size)}.swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper:after{width:1px;height:var(--swiper-virtual-size)}:root{--swiper-navigation-size: 44px}.swiper-button-prev,.swiper-button-next{position:absolute;width:var(--swiper-navigation-size);height:var(--swiper-navigation-size);z-index:10;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--swiper-navigation-color, var(--swiper-theme-color))}:is(.swiper-button-prev,.swiper-button-next).swiper-button-disabled{opacity:.35;cursor:auto;pointer-events:none}:is(.swiper-button-prev,.swiper-button-next).swiper-button-hidden{opacity:0;cursor:auto;pointer-events:none}.swiper-navigation-disabled :is(.swiper-button-prev,.swiper-button-next){display:none!important}:is(.swiper-button-prev,.swiper-button-next) svg{width:100%;height:100%;object-fit:contain;transform-origin:center;fill:currentColor;pointer-events:none}.swiper-button-lock{display:none}.swiper-button-prev,.swiper-button-next{top:var(--swiper-navigation-top-offset, 50%);margin-top:calc(0px - (var(--swiper-navigation-size) / 2))}.swiper-button-prev{left:var(--swiper-navigation-sides-offset, 4px);right:auto}.swiper-button-prev .swiper-navigation-icon{transform:rotate(180deg)}.swiper-button-next{right:var(--swiper-navigation-sides-offset, 4px);left:auto}.swiper-horizontal .swiper-button-prev,.swiper-horizontal .swiper-button-next,.swiper-horizontal~.swiper-button-prev,.swiper-horizontal~.swiper-button-next{top:var(--swiper-navigation-top-offset, 50%);margin-top:calc(0px - (var(--swiper-navigation-size) / 2));margin-left:0}.swiper-horizontal .swiper-button-prev,.swiper-horizontal~.swiper-button-prev,.swiper-horizontal.swiper-rtl .swiper-button-next,.swiper-horizontal.swiper-rtl~.swiper-button-next{left:var(--swiper-navigation-sides-offset, 4px);right:auto}.swiper-horizontal .swiper-button-next,.swiper-horizontal~.swiper-button-next,.swiper-horizontal.swiper-rtl .swiper-button-prev,.swiper-horizontal.swiper-rtl~.swiper-button-prev{right:var(--swiper-navigation-sides-offset, 4px);left:auto}:is(.swiper-horizontal .swiper-button-prev,.swiper-horizontal~.swiper-button-prev,.swiper-horizontal.swiper-rtl .swiper-button-next,.swiper-horizontal.swiper-rtl~.swiper-button-next) .swiper-navigation-icon{transform:rotate(180deg)}:is(.swiper-horizontal.swiper-rtl .swiper-button-prev,.swiper-horizontal.swiper-rtl~.swiper-button-prev) .swiper-navigation-icon{transform:rotate(0)}.swiper-vertical .swiper-button-prev,.swiper-vertical .swiper-button-next,.swiper-vertical~.swiper-button-prev,.swiper-vertical~.swiper-button-next{left:var(--swiper-navigation-top-offset, 50%);right:auto;margin-left:calc(0px - (var(--swiper-navigation-size) / 2));margin-top:0}.swiper-vertical .swiper-button-prev,.swiper-vertical~.swiper-button-prev{top:var(--swiper-navigation-sides-offset, 4px);bottom:auto}:is(.swiper-vertical .swiper-button-prev,.swiper-vertical~.swiper-button-prev) .swiper-navigation-icon{transform:rotate(-90deg)}.swiper-vertical .swiper-button-next,.swiper-vertical~.swiper-button-next{bottom:var(--swiper-navigation-sides-offset, 4px);top:auto}:is(.swiper-vertical .swiper-button-next,.swiper-vertical~.swiper-button-next) .swiper-navigation-icon{transform:rotate(90deg)}.swiper-pagination{position:absolute;text-align:center;transition:.3s opacity;transform:translateZ(0);z-index:10}.swiper-pagination.swiper-pagination-hidden{opacity:0}.swiper-pagination-disabled>.swiper-pagination,.swiper-pagination.swiper-pagination-disabled{display:none!important}.swiper-pagination-fraction,.swiper-pagination-custom,.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-bullets.swiper-pagination-horizontal{bottom:var(--swiper-pagination-bottom, 8px);top:var(--swiper-pagination-top, auto);left:0;width:100%}.swiper-pagination-bullets-dynamic{overflow:hidden;font-size:0}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transform:scale(.33);position:relative}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active,.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev{transform:scale(.33)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next{transform:scale(.33)}.swiper-pagination-bullet{width:var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 8px));height:var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 8px));display:inline-block;border-radius:var(--swiper-pagination-bullet-border-radius, 50%);background:var(--swiper-pagination-bullet-inactive-color, #000);opacity:var(--swiper-pagination-bullet-inactive-opacity, .2)}button.swiper-pagination-bullet{border:none;margin:0;padding:0;box-shadow:none;-webkit-appearance:none;appearance:none}.swiper-pagination-clickable .swiper-pagination-bullet{cursor:pointer}.swiper-pagination-bullet:only-child{display:none!important}.swiper-pagination-bullet-active{opacity:var(--swiper-pagination-bullet-opacity, 1);background:var(--swiper-pagination-color, var(--swiper-theme-color))}.swiper-vertical>.swiper-pagination-bullets,.swiper-pagination-vertical.swiper-pagination-bullets{right:var(--swiper-pagination-right, 8px);left:var(--swiper-pagination-left, auto);top:50%;transform:translate3d(0,-50%,0)}:is(.swiper-vertical>.swiper-pagination-bullets,.swiper-pagination-vertical.swiper-pagination-bullets) .swiper-pagination-bullet{margin:var(--swiper-pagination-bullet-vertical-gap, 6px) 0;display:block}:is(.swiper-vertical>.swiper-pagination-bullets,.swiper-pagination-vertical.swiper-pagination-bullets).swiper-pagination-bullets-dynamic{top:50%;transform:translateY(-50%);width:8px}:is(.swiper-vertical>.swiper-pagination-bullets,.swiper-pagination-vertical.swiper-pagination-bullets).swiper-pagination-bullets-dynamic .swiper-pagination-bullet{display:inline-block;transition:.2s transform,.2s top}:is(.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-horizontal.swiper-pagination-bullets) .swiper-pagination-bullet{margin:0 var(--swiper-pagination-bullet-horizontal-gap, 4px)}:is(.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-horizontal.swiper-pagination-bullets).swiper-pagination-bullets-dynamic{left:50%;transform:translate(-50%);white-space:nowrap}:is(.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-horizontal.swiper-pagination-bullets).swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s left}.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s right}.swiper-pagination-fraction{color:var(--swiper-pagination-fraction-color, inherit)}.swiper-pagination-progressbar{background:var(--swiper-pagination-progressbar-bg-color, rgba(0, 0, 0, .25));position:absolute}.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:var(--swiper-pagination-color, var(--swiper-theme-color));position:absolute;left:0;top:0;width:100%;height:100%;transform:scale(0);transform-origin:left top}.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{transform-origin:right top}.swiper-horizontal>.swiper-pagination-progressbar,.swiper-pagination-progressbar.swiper-pagination-horizontal,.swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite{width:100%;height:var(--swiper-pagination-progressbar-size, 4px);left:0;top:0}.swiper-vertical>.swiper-pagination-progressbar,.swiper-pagination-progressbar.swiper-pagination-vertical,.swiper-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite{width:var(--swiper-pagination-progressbar-size, 4px);height:100%;left:0;top:0}.swiper-pagination-lock{display:none}.swiper-scrollbar{border-radius:var(--swiper-scrollbar-border-radius, 10px);position:relative;touch-action:none;background:var(--swiper-scrollbar-bg-color, rgba(0, 0, 0, .1))}.swiper-scrollbar-disabled>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-disabled{display:none!important}.swiper-horizontal>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-horizontal{position:absolute;left:var(--swiper-scrollbar-sides-offset, 1%);bottom:var(--swiper-scrollbar-bottom, 4px);top:var(--swiper-scrollbar-top, auto);z-index:50;height:var(--swiper-scrollbar-size, 4px);width:calc(100% - 2 * var(--swiper-scrollbar-sides-offset, 1%))}.swiper-vertical>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-vertical{position:absolute;left:var(--swiper-scrollbar-left, auto);right:var(--swiper-scrollbar-right, 4px);top:var(--swiper-scrollbar-sides-offset, 1%);z-index:50;width:var(--swiper-scrollbar-size, 4px);height:calc(100% - 2 * var(--swiper-scrollbar-sides-offset, 1%))}.swiper-scrollbar-drag{height:100%;width:100%;position:relative;background:var(--swiper-scrollbar-drag-bg-color, rgba(0, 0, 0, .5));border-radius:var(--swiper-scrollbar-border-radius, 10px);left:0;top:0}.swiper-scrollbar-cursor-drag{cursor:move}.swiper-scrollbar-lock{display:none}.swiper-zoom-container{width:100%;height:100%;display:flex;justify-content:center;align-items:center;text-align:center}.swiper-zoom-container>img,.swiper-zoom-container>svg,.swiper-zoom-container>canvas{max-width:100%;max-height:100%;object-fit:contain}.swiper-slide-zoomed{cursor:move;touch-action:none}.swiper .swiper-notification{position:absolute;left:0;top:0;pointer-events:none;opacity:0;z-index:-1000}.swiper-free-mode>.swiper-wrapper{transition-timing-function:ease-out;margin:0 auto}.swiper-grid>.swiper-wrapper{flex-wrap:wrap}.swiper-grid-column>.swiper-wrapper{flex-wrap:wrap;flex-direction:column}.swiper-fade.swiper-free-mode .swiper-slide{transition-timing-function:ease-out}.swiper-fade .swiper-slide{pointer-events:none;transition-property:opacity}.swiper-fade .swiper-slide .swiper-slide{pointer-events:none}.swiper-fade .swiper-slide-active,.swiper-fade .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper.swiper-cube{overflow:visible}.swiper-cube .swiper-slide{pointer-events:none;backface-visibility:hidden;z-index:1;visibility:hidden;transform-origin:0 0;width:100%;height:100%}.swiper-cube .swiper-slide .swiper-slide{pointer-events:none}.swiper-cube.swiper-rtl .swiper-slide{transform-origin:100% 0}.swiper-cube .swiper-slide-active,.swiper-cube .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-cube .swiper-slide-active,.swiper-cube .swiper-slide-next,.swiper-cube .swiper-slide-prev{pointer-events:auto;visibility:visible}.swiper-cube .swiper-cube-shadow{position:absolute;left:0;bottom:0;width:100%;height:100%;opacity:.6;z-index:0}.swiper-cube .swiper-cube-shadow:before{content:\"\";background:#000;position:absolute;inset:0;filter:blur(50px)}.swiper-cube .swiper-slide-next+.swiper-slide{pointer-events:auto;visibility:visible}.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-top,.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-bottom,.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-left,.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-right{z-index:0;backface-visibility:hidden}.swiper.swiper-flip{overflow:visible}.swiper-flip .swiper-slide{pointer-events:none;backface-visibility:hidden;z-index:1}.swiper-flip .swiper-slide .swiper-slide{pointer-events:none}.swiper-flip .swiper-slide-active,.swiper-flip .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-top,.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-bottom,.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-left,.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-right{z-index:0;backface-visibility:hidden}.swiper-creative .swiper-slide{backface-visibility:hidden;overflow:hidden;transition-property:transform,opacity,height}.swiper.swiper-cards{overflow:visible}.swiper-cards .swiper-slide{transform-origin:center bottom;backface-visibility:hidden;overflow:hidden}@layer components{ax-file-viewer-container{--ax-fv-stage-pad: .75rem;--ax-fv-nav-size: 2.5rem;position:relative;box-sizing:border-box;display:flex;height:100%;min-height:calc(var(--spacing, .25rem) * 0);width:100%;max-width:100%;min-width:calc(var(--spacing, .25rem) * 0);flex-direction:column;overflow:hidden;border-radius:var(--radius-2xl, 1rem);border-style:var(--tw-border-style);border-width:1px;border-color:rgba(var(--ax-sys-color-border-lightest-surface));background-color:rgba(var(--ax-sys-color-lightest-surface));color:rgba(var(--ax-sys-color-on-lightest-surface));box-shadow:0 10px 30px rgba(var(--ax-sys-color-on-surface),.08)}ax-file-viewer-container>.ax-file-viewer__header,ax-file-viewer-container>.ax-file-viewer__stage,ax-file-viewer-container>.ax-file-viewer__thumbs{box-sizing:border-box;width:100%;max-width:100%;min-width:calc(var(--spacing, .25rem) * 0);background-color:rgba(var(--ax-sys-color-lightest-surface))}ax-file-viewer-container.ax-file-viewer--fullscreen{border-radius:0;background-color:rgba(var(--ax-sys-color-lightest-surface))}ax-file-viewer-container .ax-file-viewer__loading{position:absolute;inset:calc(var(--spacing, .25rem) * 0);z-index:10;display:flex;align-items:center;justify-content:center;--tw-backdrop-blur: blur(var(--blur-sm, 8px));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);background-color:rgba(var(--ax-sys-color-lightest-surface),.7)}ax-file-viewer-container .ax-file-viewer__stage--hidden,ax-file-viewer-container .ax-file-viewer__thumbs--hidden,ax-file-viewer-container .ax-file-viewer__empty--hidden{pointer-events:none;visibility:hidden}ax-file-viewer-container .ax-file-viewer__empty{box-sizing:border-box;display:flex;min-height:calc(var(--spacing, .25rem) * 0);width:100%;max-width:100%;min-width:calc(var(--spacing, .25rem) * 0);flex:1;align-items:center;justify-content:center;overflow:hidden;padding-inline:calc(var(--spacing, .25rem) * 4);padding-block:calc(var(--spacing, .25rem) * 8);background:linear-gradient(180deg,rgba(var(--ax-sys-color-primary-500),.04),rgba(var(--ax-sys-color-lighter-surface),.98) 45%)}ax-file-viewer-container .ax-file-viewer__header{box-sizing:border-box;display:grid;width:100%;max-width:100%;min-width:calc(var(--spacing, .25rem) * 0);flex-shrink:0;align-items:center;gap:calc(var(--spacing, .25rem) * 1);border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:rgba(var(--ax-sys-color-border-lightest-surface));background-color:rgba(var(--ax-sys-color-lightest-surface));padding-inline:calc(var(--spacing, .25rem) * 4);padding-block:calc(var(--spacing, .25rem) * 3);grid-template-columns:minmax(min-content,max-content) minmax(0,1fr) auto;grid-template-areas:\"meta content actions\"}ax-file-viewer-container .ax-file-viewer__header--no-content{grid-template-columns:minmax(min-content,max-content) auto;grid-template-areas:\"meta actions\"}ax-file-viewer-container .ax-file-viewer__meta{grid-area:meta;min-width:min-content;max-width:100%;justify-self:start}ax-file-viewer-container .ax-file-viewer__header-content{display:flex;width:100%;min-width:calc(var(--spacing, .25rem) * 0);align-items:center;justify-content:center;grid-area:content;justify-self:stretch}ax-file-viewer-container .ax-file-viewer__title-row{display:flex;min-width:calc(var(--spacing, .25rem) * 0);align-items:center;gap:calc(var(--spacing, .25rem) * 2)}ax-file-viewer-container .ax-file-viewer__name{overflow:hidden;font-size:var(--text-sm, .875rem);line-height:var(--tw-leading, var(--text-sm--line-height, calc(1.25 / .875)));--tw-font-weight: var(--font-weight-bold, 700);font-weight:var(--font-weight-bold, 700);text-overflow:ellipsis;white-space:nowrap}ax-file-viewer-container .ax-file-viewer__type-badge{flex-shrink:0}ax-file-viewer-container .ax-file-viewer__submeta{margin-top:calc(var(--spacing, .25rem) * .5);display:flex;flex-wrap:wrap;align-items:center;gap:calc(var(--spacing, .25rem) * 1.5);font-size:var(--text-xs, .75rem);line-height:var(--tw-leading, var(--text-xs--line-height, calc(1 / .75)));color:rgba(var(--ax-sys-color-on-surface),.65)}ax-file-viewer-container .ax-file-viewer__dot{opacity:55%}ax-file-viewer-container .ax-file-viewer__header-actions{display:flex;flex-shrink:0;align-items:center;gap:calc(var(--spacing, .25rem) * 1.5);grid-area:actions;justify-self:end}ax-file-viewer-container .ax-file-viewer__fullscreen-wrap{display:inline-flex;align-items:center;justify-content:center}ax-file-viewer-container .ax-file-viewer__stage{box-sizing:border-box;display:grid;min-height:calc(var(--spacing, .25rem) * 0);width:100%;max-width:100%;min-width:calc(var(--spacing, .25rem) * 0);flex:1;align-items:stretch;gap:calc(var(--spacing, .25rem) * 2);grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr);grid-template-areas:\"canvas\";padding:var(--ax-fv-stage-pad)}ax-file-viewer-container .ax-file-viewer__stage--nav{grid-template-columns:var(--ax-fv-nav-size) minmax(0,1fr) var(--ax-fv-nav-size);grid-template-areas:\"prev canvas next\";align-items:stretch}ax-file-viewer-container .ax-file-viewer__nav{z-index:2;align-self:center;justify-self:center;border-radius:calc(infinity * 1px)}ax-file-viewer-container .ax-file-viewer__nav.ax-disabled,ax-file-viewer-container .ax-file-viewer__nav[disabled]{cursor:not-allowed;opacity:35%;box-shadow:none!important}ax-file-viewer-container .ax-file-viewer__nav--prev{grid-area:prev}ax-file-viewer-container .ax-file-viewer__nav--next{grid-area:next}ax-file-viewer-container .ax-file-viewer__canvas{position:relative;box-sizing:border-box;height:100%;width:100%;max-width:100%;min-width:calc(var(--spacing, .25rem) * 0);align-self:stretch;overflow:hidden;border-radius:var(--radius-2xl, 1rem);grid-area:canvas;min-height:12rem}ax-file-viewer-container .ax-file-viewer__canvas .ax-carousel,ax-file-viewer-container .ax-file-viewer__canvas .swiper{box-sizing:border-box;height:100%;min-height:calc(var(--spacing, .25rem) * 0);width:100%;min-width:calc(var(--spacing, .25rem) * 0);overflow:hidden}ax-file-viewer-container .ax-file-viewer__canvas .ax-carousel-wrapper,ax-file-viewer-container .ax-file-viewer__canvas .swiper-wrapper{box-sizing:border-box;height:100%;align-items:stretch}ax-file-viewer-container .ax-file-viewer__canvas .ax-carousel-slide,ax-file-viewer-container .ax-file-viewer__canvas .swiper-slide{box-sizing:border-box;display:flex;height:100%;min-height:calc(var(--spacing, .25rem) * 0);min-width:calc(var(--spacing, .25rem) * 0);align-items:stretch;justify-content:stretch;overflow:hidden}ax-file-viewer-container .ax-file-viewer__canvas img,ax-file-viewer-container .ax-file-viewer__canvas video,ax-file-viewer-container .ax-file-viewer__canvas audio,ax-file-viewer-container .ax-file-viewer__canvas iframe,ax-file-viewer-container .ax-file-viewer__canvas ax-pdf-reader{max-height:100%;max-width:100%}ax-file-viewer-container .ax-file-viewer__overlay-counter{pointer-events:none;position:absolute;bottom:calc(var(--spacing, .25rem) * 5);left:50%;z-index:3;display:inline-flex;min-height:calc(var(--spacing, .25rem) * 6);min-width:calc(var(--spacing, .25rem) * 12);--tw-translate-x: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y);align-items:center;justify-content:center;border-radius:calc(infinity * 1px);border-style:var(--tw-border-style);border-width:1px;border-color:color-mix(in srgb,#fff 15%,transparent);background-color:color-mix(in srgb,#000 70%,transparent);padding-inline:calc(var(--spacing, .25rem) * 3);padding-block:calc(var(--spacing, .25rem) * 1);font-size:var(--text-xs, .75rem);line-height:var(--tw-leading, var(--text-xs--line-height, calc(1 / .75)));--tw-leading: 1;line-height:1;--tw-font-weight: var(--font-weight-semibold, 600);font-weight:var(--font-weight-semibold, 600);--tw-tracking: var(--tracking-wide, .025em);letter-spacing:var(--tracking-wide, .025em);color:var(--color-white, #fff);--tw-numeric-spacing: tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--tw-backdrop-blur: blur(var(--blur-md, 12px));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);text-shadow:0 1px 1px rgba(0,0,0,.35)}@supports (color: color-mix(in lab,red,red)){ax-file-viewer-container .ax-file-viewer__overlay-counter{border-color:color-mix(in oklab,var(--color-white, #fff) 15%,transparent)}}@supports (color: color-mix(in lab,red,red)){ax-file-viewer-container .ax-file-viewer__overlay-counter{background-color:color-mix(in oklab,var(--color-black, #000) 70%,transparent)}}ax-file-viewer-container .ax-file-viewer__thumbs{box-sizing:border-box;width:100%;max-width:100%;min-width:calc(var(--spacing, .25rem) * 0);flex-shrink:0;overflow:hidden;border-top-style:var(--tw-border-style);border-top-width:1px;border-color:rgba(var(--ax-sys-color-border-lightest-surface));background-color:rgba(var(--ax-sys-color-lightest-surface));padding-inline:calc(var(--spacing, .25rem) * 4);padding-top:calc(var(--spacing, .25rem) * 3);padding-bottom:calc(var(--spacing, .25rem) * 4)}ax-file-viewer-container .ax-file-viewer__thumbs-track{box-sizing:border-box;width:100%;max-width:100%;min-width:calc(var(--spacing, .25rem) * 0);overflow:hidden}ax-file-viewer-container .ax-file-viewer__thumbs-track .ax-carousel,ax-file-viewer-container .ax-file-viewer__thumbs-track .swiper{box-sizing:border-box;width:100%;max-width:100%;min-width:calc(var(--spacing, .25rem) * 0);overflow:hidden}ax-file-viewer-container .ax-file-viewer__thumbs-track .ax-carousel-wrapper,ax-file-viewer-container .ax-file-viewer__thumbs-track .swiper-wrapper{align-items:stretch}ax-file-viewer-container .ax-file-viewer__thumbs-track .ax-carousel-slide,ax-file-viewer-container .ax-file-viewer__thumbs-track .swiper-slide{box-sizing:border-box;height:auto;width:calc(var(--spacing, .25rem) * 28);max-width:calc(var(--spacing, .25rem) * 28);overflow:hidden}ax-file-viewer-container .ax-file-viewer__thumb{box-sizing:border-box;display:flex;width:calc(var(--spacing, .25rem) * 28);max-width:calc(var(--spacing, .25rem) * 28);cursor:pointer;flex-direction:column;overflow:hidden;border-radius:var(--radius-xl, .75rem);border-style:var(--tw-border-style);border-width:2px;border-color:rgba(var(--ax-sys-color-border-lightest-surface));background-color:rgba(var(--ax-sys-color-lightest-surface));transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease, var(--default-transition-timing-function, cubic-bezier(.4, 0, .2, 1)));transition-duration:var(--tw-duration, var(--default-transition-duration, .15s));--tw-duration: .15s;transition-duration:.15s}ax-file-viewer-container .ax-file-viewer__thumb:hover{border-color:rgba(var(--ax-sys-color-border-lighter-surface))}ax-file-viewer-container .ax-file-viewer__thumb.swiper-slide-thumb-active,ax-file-viewer-container .ax-file-viewer__thumb.ax-file-viewer__thumb--active{border-color:rgba(var(--ax-sys-color-success-500))}ax-file-viewer-container .ax-file-viewer__thumb[data-type=video].ax-file-viewer__thumb--active,ax-file-viewer-container .ax-file-viewer__thumb[data-type=video].swiper-slide-thumb-active{border-color:rgba(var(--ax-sys-color-primary-500))}ax-file-viewer-container .ax-file-viewer__thumb[data-type=audio].ax-file-viewer__thumb--active,ax-file-viewer-container .ax-file-viewer__thumb[data-type=audio].swiper-slide-thumb-active{border-color:rgba(var(--ax-sys-color-danger-500))}ax-file-viewer-container .ax-file-viewer__thumb[data-type=document].ax-file-viewer__thumb--active,ax-file-viewer-container .ax-file-viewer__thumb[data-type=document].swiper-slide-thumb-active{border-color:rgba(var(--ax-sys-color-warning-500))}ax-file-viewer-container .ax-file-viewer__thumb[data-type=file].ax-file-viewer__thumb--active,ax-file-viewer-container .ax-file-viewer__thumb[data-type=file].swiper-slide-thumb-active{border-color:rgba(var(--ax-sys-color-secondary-500))}ax-file-viewer-container .ax-file-viewer__thumb[data-type=image] .ax-file-viewer__thumb-preview i{color:rgba(var(--ax-sys-color-success-500))}ax-file-viewer-container .ax-file-viewer__thumb[data-type=video] .ax-file-viewer__thumb-preview i{color:rgba(var(--ax-sys-color-primary-500))}ax-file-viewer-container .ax-file-viewer__thumb[data-type=audio] .ax-file-viewer__thumb-preview i{color:rgba(var(--ax-sys-color-danger-500))}ax-file-viewer-container .ax-file-viewer__thumb[data-type=document] .ax-file-viewer__thumb-preview i{color:rgba(var(--ax-sys-color-warning-500))}ax-file-viewer-container .ax-file-viewer__thumb[data-type=file] .ax-file-viewer__thumb-preview i{color:rgba(var(--ax-sys-color-secondary-500))}ax-file-viewer-container .ax-file-viewer__thumb-preview{box-sizing:border-box;display:flex;aspect-ratio:1.4;width:100%;max-width:100%;min-width:calc(var(--spacing, .25rem) * 0);align-items:center;justify-content:center;overflow:hidden;background-color:rgba(var(--ax-sys-color-lighter-surface))}ax-file-viewer-container .ax-file-viewer__thumb-preview i{font-size:var(--text-2xl, 1.5rem);line-height:var(--tw-leading, var(--text-2xl--line-height, calc(2 / 1.5)));color:rgba(var(--ax-sys-color-on-surface),.65)}ax-file-viewer-container .ax-file-viewer__thumb-preview img{display:block;height:100%;width:100%;object-fit:cover}ax-file-viewer-container .ax-file-viewer__thumb-footer{box-sizing:border-box;display:grid;width:100%;max-width:100%;min-width:calc(var(--spacing, .25rem) * 0);align-items:center;gap:calc(var(--spacing, .25rem) * 1);border-top-style:var(--tw-border-style);border-top-width:1px;border-color:rgba(var(--ax-sys-color-border-lightest-surface));padding:calc(var(--spacing, .25rem) * 1.5);font-size:var(--text-xs, .75rem);line-height:var(--tw-leading, var(--text-xs--line-height, calc(1 / .75)));grid-template-columns:minmax(0,1fr);color:rgba(var(--ax-sys-color-on-surface),.65)}ax-file-viewer-container .ax-file-viewer__thumb-name{overflow:hidden;--tw-font-weight: var(--font-weight-medium, 500);font-weight:var(--font-weight-medium, 500);text-overflow:ellipsis;white-space:nowrap;color:rgba(var(--ax-sys-color-on-lightest-surface))}ax-file-viewer-container .ax-carousel-pagination{display:none}ax-file-viewer-container ax-file-viewer-slide{padding:calc(var(--spacing, .25rem) * 0)}@media(max-width:768px){ax-file-viewer-container{--ax-fv-stage-pad: .5rem;--ax-fv-nav-size: 2.25rem;border-radius:var(--radius-2xl, 1rem)}ax-file-viewer-container .ax-file-viewer__header{min-width:calc(var(--spacing, .25rem) * 0);column-gap:calc(var(--spacing, .25rem) * 3);row-gap:calc(var(--spacing, .25rem) * 2);padding-inline:calc(var(--spacing, .25rem) * 3);padding-block:calc(var(--spacing, .25rem) * 2.5)}ax-file-viewer-container .ax-file-viewer__name{font-size:var(--text-sm, .875rem);line-height:var(--tw-leading, var(--text-sm--line-height, calc(1.25 / .875)))}ax-file-viewer-container .ax-file-viewer__stage--nav{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:minmax(14rem,1fr) auto;grid-template-areas:\"canvas canvas\" \"prev next\";gap:calc(var(--spacing, .25rem) * 2);align-items:stretch}ax-file-viewer-container .ax-file-viewer__nav--prev{justify-self:end}ax-file-viewer-container .ax-file-viewer__nav--next{justify-self:start}ax-file-viewer-container .ax-file-viewer__canvas{min-height:14rem}ax-file-viewer-container .ax-file-viewer__thumbs{padding-inline:calc(var(--spacing, .25rem) * 3);padding-top:calc(var(--spacing, .25rem) * 2.5);padding-bottom:calc(var(--spacing, .25rem) * 3.5)}ax-file-viewer-container .ax-file-viewer__thumbs-track .ax-carousel-slide,ax-file-viewer-container .ax-file-viewer__thumbs-track .swiper-slide{width:calc(var(--spacing, .25rem) * 24);max-width:calc(var(--spacing, .25rem) * 24)}ax-file-viewer-container .ax-file-viewer__thumb{width:calc(var(--spacing, .25rem) * 24);max-width:calc(var(--spacing, .25rem) * 24)}}@media(max-width:480px){ax-file-viewer-container{--ax-fv-nav-size: 2rem;border-radius:var(--radius-xl, .75rem)}ax-file-viewer-container .ax-file-viewer__type-badge{display:none}ax-file-viewer-container .ax-file-viewer__thumbs{padding:calc(var(--spacing, .25rem) * 2)}ax-file-viewer-container .ax-file-viewer__thumbs-track .ax-carousel-slide,ax-file-viewer-container .ax-file-viewer__thumbs-track .swiper-slide{width:calc(var(--spacing, .25rem) * 20);max-width:calc(var(--spacing, .25rem) * 20)}ax-file-viewer-container .ax-file-viewer__thumb{width:calc(var(--spacing, .25rem) * 20);max-width:calc(var(--spacing, .25rem) * 20)}}.ax-file-viewer-gallery-overlay.ax-overlay-centered{pointer-events:auto}.ax-file-viewer-gallery-overlay.ax-overlay-centered .ax-overlay-content{display:flex;height:100dvh;max-height:100dvh;width:100vw;max-width:100vw;align-items:stretch;justify-content:stretch}.ax-file-viewer-gallery-overlay.ax-overlay-centered ax-file-viewer-container{pointer-events:auto;height:100%;min-height:calc(var(--spacing, .25rem) * 0);width:100%;border-radius:0}}@property --tw-border-style{syntax: \"*\"; inherits: false; initial-value: solid;}@property --tw-backdrop-blur{syntax: \"*\"; inherits: false;}@property --tw-backdrop-brightness{syntax: \"*\"; inherits: false;}@property --tw-backdrop-contrast{syntax: \"*\"; inherits: false;}@property --tw-backdrop-grayscale{syntax: \"*\"; inherits: false;}@property --tw-backdrop-hue-rotate{syntax: \"*\"; inherits: false;}@property --tw-backdrop-invert{syntax: \"*\"; inherits: false;}@property --tw-backdrop-opacity{syntax: \"*\"; inherits: false;}@property --tw-backdrop-saturate{syntax: \"*\"; inherits: false;}@property --tw-backdrop-sepia{syntax: \"*\"; inherits: false;}@property --tw-font-weight{syntax: \"*\"; inherits: false;}@property --tw-translate-x{syntax: \"*\"; inherits: false; initial-value: 0;}@property --tw-translate-y{syntax: \"*\"; inherits: false; initial-value: 0;}@property --tw-translate-z{syntax: \"*\"; inherits: false; initial-value: 0;}@property --tw-leading{syntax: \"*\"; inherits: false;}@property --tw-tracking{syntax: \"*\"; inherits: false;}@property --tw-ordinal{syntax: \"*\"; inherits: false;}@property --tw-slashed-zero{syntax: \"*\"; inherits: false;}@property --tw-numeric-figure{syntax: \"*\"; inherits: false;}@property --tw-numeric-spacing{syntax: \"*\"; inherits: false;}@property --tw-numeric-fraction{syntax: \"*\"; inherits: false;}@property --tw-duration{syntax: \"*\"; inherits: false;}@layer properties{@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style: solid;--tw-backdrop-blur: initial;--tw-backdrop-brightness: initial;--tw-backdrop-contrast: initial;--tw-backdrop-grayscale: initial;--tw-backdrop-hue-rotate: initial;--tw-backdrop-invert: initial;--tw-backdrop-opacity: initial;--tw-backdrop-saturate: initial;--tw-backdrop-sepia: initial;--tw-font-weight: initial;--tw-translate-x: 0;--tw-translate-y: 0;--tw-translate-z: 0;--tw-leading: initial;--tw-tracking: initial;--tw-ordinal: initial;--tw-slashed-zero: initial;--tw-numeric-figure: initial;--tw-numeric-spacing: initial;--tw-numeric-fraction: initial;--tw-duration: initial}}}\n/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */\n"], dependencies: [{ kind: "directive", type: NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletEnvironmentInjector", "ngComponentOutletContent", "ngComponentOutletNgModule"], exportAs: ["ngComponentOutlet"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: AXCarouselDirective, selector: "[axCarousel]", exportAs: ["axCarousel"] }, { kind: "component", type: AXFileViewerEmptyStateComponent, selector: "ax-file-viewer-empty-state" }, { kind: "component", type: AXFileViewerSlideComponent, selector: "ax-file-viewer-slide", inputs: ["item", "index", "fallbackContent", "fallbackContentInputs"] }, { kind: "component", type: AXFileViewerThumbPreviewComponent, selector: "ax-file-viewer-thumb-preview", inputs: ["item"] }, { kind: "component", type: AXBadgeComponent, selector: "ax-badge", inputs: ["color", "look", "text"] }, { kind: "component", type: AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "iconOnly", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "component", type: AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: AXLoadingComponent, selector: "ax-loading", inputs: ["visible", "type", "context"], outputs: ["visibleChange"] }, { kind: "directive", type: AXTooltipDirective, selector: "[axTooltip]", inputs: ["axTooltipDisabled", "axTooltip", "axTooltipContext", "axTooltipPlacement", "axTooltipOffsetX", "axTooltipOffsetY", "axTooltipOpenAfter", "axTooltipCloseAfter"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
706
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: AXFileViewerContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
707
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.6", type: AXFileViewerContainerComponent, isStandalone: true, selector: "ax-file-viewer-container", inputs: { items: { classPropertyName: "items", publicName: "items", isSignal: true, isRequired: false, transformFunction: null }, startIndex: { classPropertyName: "startIndex", publicName: "startIndex", isSignal: true, isRequired: false, transformFunction: null }, thumbnail: { classPropertyName: "thumbnail", publicName: "thumbnail", isSignal: true, isRequired: false, transformFunction: null }, pagination: { classPropertyName: "pagination", publicName: "pagination", isSignal: true, isRequired: false, transformFunction: null }, download: { classPropertyName: "download", publicName: "download", isSignal: true, isRequired: false, transformFunction: null }, fullscreen: { classPropertyName: "fullscreen", publicName: "fullscreen", isSignal: true, isRequired: false, transformFunction: null }, headerActions: { classPropertyName: "headerActions", publicName: "headerActions", isSignal: true, isRequired: false, transformFunction: null }, galleryMode: { classPropertyName: "galleryMode", publicName: "galleryMode", isSignal: true, isRequired: false, transformFunction: null }, headerContent: { classPropertyName: "headerContent", publicName: "headerContent", isSignal: true, isRequired: false, transformFunction: null }, headerContentInputs: { classPropertyName: "headerContentInputs", publicName: "headerContentInputs", isSignal: true, isRequired: false, transformFunction: null }, fallbackContent: { classPropertyName: "fallbackContent", publicName: "fallbackContent", isSignal: true, isRequired: false, transformFunction: null }, fallbackContentInputs: { classPropertyName: "fallbackContentInputs", publicName: "fallbackContentInputs", isSignal: true, isRequired: false, transformFunction: null }, emptyContent: { classPropertyName: "emptyContent", publicName: "emptyContent", isSignal: true, isRequired: false, transformFunction: null }, emptyContentInputs: { classPropertyName: "emptyContentInputs", publicName: "emptyContentInputs", isSignal: true, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { headerActionClick: "headerActionClick", fullscreenClosed: "fullscreenClosed" }, host: { properties: { "class.ax-file-viewer--fullscreen": "isFullscreenActive()" } }, providers: [AXFileViewerService], viewQueries: [{ propertyName: "mainCarouselRef", first: true, predicate: ["mainCarousel"], descendants: true, isSignal: true }, { propertyName: "thumbCarouselRef", first: true, predicate: ["thumbCarousel"], descendants: true, isSignal: true }], ngImport: i0, template: "@if (isBusy()) {\n <div class=\"ax-file-viewer__loading\" aria-busy=\"true\" aria-live=\"polite\">\n <ax-loading></ax-loading>\n </div>\n}\n\n@if (isEmpty()) {\n <div class=\"ax-file-viewer__empty\" [class.ax-file-viewer__empty--hidden]=\"isBusy()\">\n @if (emptyTemplateContent(); as template) {\n <ng-container *ngTemplateOutlet=\"template\" />\n } @else if (emptyComponentContent(); as component) {\n <ng-container *ngComponentOutlet=\"component; inputs: emptyContentInputs() ?? {}\" />\n } @else {\n <ax-file-viewer-empty-state />\n }\n </div>\n} @else {\n @if (currentItem(); as item) {\n <header class=\"ax-file-viewer__header\" [class.ax-file-viewer__header--no-content]=\"!hasHeaderCenterContent()\">\n <div class=\"ax-file-viewer__meta\">\n <div class=\"ax-file-viewer__title-row\">\n <span class=\"ax-file-viewer__name\">{{ item.name || 'Untitled' }}</span>\n </div>\n <div class=\"ax-file-viewer__submeta\">\n @if (formatSize(item.size); as sizeLabel) {\n <span>{{ sizeLabel }}</span>\n <span class=\"ax-file-viewer__dot\">\u00B7</span>\n }\n <ax-badge\n class=\"ax-file-viewer__type-badge ax-pill ax-sm\"\n look=\"outline\"\n [color]=\"currentTypeColor()\"\n [text]=\"currentTypeLabel()\"\n />\n </div>\n </div>\n\n @if (hasHeaderCenterContent()) {\n <div class=\"ax-file-viewer__header-content\">\n @if (headerTemplateContent(); as template) {\n <ng-container *ngTemplateOutlet=\"template; context: headerContentContext()\" />\n } @else if (headerComponentContent(); as component) {\n <ng-container *ngComponentOutlet=\"component; inputs: headerContentInputs() ?? {}\" />\n }\n </div>\n }\n\n <div class=\"ax-file-viewer__header-actions\">\n @for (action of resolvedHeaderActions(); track action.name ?? action.text) {\n <ax-button\n class=\"rounded-full\"\n [color]=\"action.color ?? 'default'\"\n [iconOnly]=\"!!action.icon\"\n [disabled]=\"action.disabled\"\n [attr.aria-label]=\"action.text\"\n (onClick)=\"onHeaderActionClick(action, $event)\"\n >\n @if (action.isLoading) {\n <ax-loading></ax-loading>\n } @else if (action.icon) {\n <ax-icon [icon]=\"action.icon\"></ax-icon>\n } @else {\n {{ action.text }}\n }\n </ax-button>\n }\n </div>\n </header>\n }\n\n <div\n class=\"ax-file-viewer__stage\"\n [class.ax-file-viewer__stage--nav]=\"service.items().length > 1\"\n [class.ax-file-viewer__stage--hidden]=\"isBusy()\"\n >\n @if (service.items().length > 1) {\n <ax-button\n look=\"solid\"\n class=\"ax-file-viewer__nav ax-file-viewer__nav--prev\"\n color=\"default\"\n [iconOnly]=\"true\"\n [disabled]=\"isFirstSlide()\"\n (onClick)=\"prev()\"\n >\n <ax-icon icon=\"fa-light fa-chevron-left\"></ax-icon>\n </ax-button>\n }\n\n <div class=\"ax-file-viewer__canvas\">\n <div #mainCarousel=\"axCarousel\" axCarousel class=\"ax-carousel\">\n <div class=\"ax-carousel-wrapper\">\n @for (file of service.items(); track file.id) {\n <div class=\"ax-carousel-slide\">\n <ax-file-viewer-slide\n [item]=\"file\"\n [index]=\"$index\"\n [fallbackContent]=\"fallbackContent()\"\n [fallbackContentInputs]=\"fallbackContentInputs()\"\n />\n </div>\n }\n </div>\n </div>\n\n @if (service.items().length > 0) {\n <span class=\"ax-file-viewer__overlay-counter\">{{ slideCounter() }}</span>\n }\n </div>\n\n @if (service.items().length > 1) {\n <ax-button\n class=\"ax-file-viewer__nav ax-file-viewer__nav--next\"\n look=\"solid\"\n color=\"default\"\n [iconOnly]=\"true\"\n [disabled]=\"isLastSlide()\"\n (onClick)=\"next()\"\n >\n <ax-icon icon=\"fa-light fa-chevron-right\"></ax-icon>\n </ax-button>\n }\n </div>\n\n @if (thumbnail() && service.items().length > 1) {\n <footer class=\"ax-file-viewer__thumbs\" [class.ax-file-viewer__thumbs--hidden]=\"isBusy()\">\n <div class=\"ax-file-viewer__thumbs-track\">\n <div #thumbCarousel=\"axCarousel\" axCarousel class=\"ax-carousel\">\n <div class=\"ax-carousel-wrapper\">\n @for (file of service.items(); track file.id) {\n <div\n class=\"ax-carousel-slide ax-file-viewer__thumb\"\n [attr.data-type]=\"resolveFileType(file)\"\n (click)=\"goToIndex($index)\"\n >\n <ax-file-viewer-thumb-preview [item]=\"file\" />\n <div class=\"ax-file-viewer__thumb-footer\">\n <span class=\"ax-file-viewer__thumb-name\">{{ file.name || resolveTypeLabel(file) }}</span>\n </div>\n </div>\n }\n </div>\n </div>\n </div>\n </footer>\n }\n}\n", styles: ["@layer properties;:root{--swiper-theme-color: #007aff}:host{position:relative;display:block;margin-left:auto;margin-right:auto;z-index:1}.swiper{margin-left:auto;margin-right:auto;position:relative;overflow:hidden;list-style:none;padding:0;z-index:1;display:block}.swiper-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:flex;transition-property:transform;transition-timing-function:var(--swiper-wrapper-transition-timing-function, initial);box-sizing:content-box}.swiper-android .swiper-slide,.swiper-ios .swiper-slide,.swiper-wrapper{transform:translateZ(0)}.swiper-horizontal{touch-action:pan-y}.swiper-vertical{touch-action:pan-x}.swiper-slide{flex-shrink:0;width:100%;height:100%;position:relative;transition-property:transform;display:block}.swiper-slide-invisible-blank{visibility:hidden}.swiper-autoheight,.swiper-autoheight .swiper-slide{height:auto}.swiper-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-backface-hidden .swiper-slide{transform:translateZ(0);backface-visibility:hidden}.swiper-3d.swiper-css-mode .swiper-wrapper{perspective:1200px}.swiper-3d .swiper-wrapper{transform-style:preserve-3d}.swiper-3d{perspective:1200px}.swiper-3d .swiper-slide,.swiper-3d .swiper-cube-shadow{transform-style:preserve-3d}.swiper-css-mode>.swiper-wrapper{overflow:auto;scrollbar-width:none;-ms-overflow-style:none}.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar{display:none}.swiper-css-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:start start}.swiper-css-mode.swiper-horizontal>.swiper-wrapper{scroll-snap-type:x mandatory}.swiper-css-mode.swiper-vertical>.swiper-wrapper{scroll-snap-type:y mandatory}.swiper-css-mode.swiper-free-mode>.swiper-wrapper{scroll-snap-type:none}.swiper-css-mode.swiper-free-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:none}.swiper-css-mode.swiper-centered>.swiper-wrapper:before{content:\"\";flex-shrink:0;order:9999}.swiper-css-mode.swiper-centered>.swiper-wrapper>.swiper-slide{scroll-snap-align:center center;scroll-snap-stop:always}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper:before{height:100%;min-height:1px;width:var(--swiper-centered-offset-after)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper:before{width:100%;min-width:1px;height:var(--swiper-centered-offset-after)}.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top,.swiper-3d .swiper-slide-shadow-bottom{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}.swiper-3d .swiper-slide-shadow{background:#00000026}.swiper-3d .swiper-slide-shadow-left{background-image:linear-gradient(to left,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-right{background-image:linear-gradient(to right,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-top{background-image:linear-gradient(to top,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-bottom{background-image:linear-gradient(to bottom,#00000080,#0000)}.swiper-lazy-preloader{width:42px;height:42px;position:absolute;left:50%;top:50%;margin-left:-21px;margin-top:-21px;z-index:10;transform-origin:50%;box-sizing:border-box;border:4px solid var(--swiper-preloader-color, var(--swiper-theme-color));border-radius:50%;border-top-color:transparent}:is(.swiper:not(.swiper-watch-progress),.swiper-watch-progress .swiper-slide-visible) .swiper-lazy-preloader{animation:swiper-preloader-spin 1s infinite linear}.swiper-lazy-preloader-white{--swiper-preloader-color: #fff}.swiper-lazy-preloader-black{--swiper-preloader-color: #000}@keyframes swiper-preloader-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.swiper-virtual .swiper-slide{-webkit-backface-visibility:hidden;transform:translateZ(0)}.swiper-virtual.swiper-css-mode .swiper-wrapper:after{content:\"\";position:absolute;left:0;top:0;pointer-events:none}.swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper:after{height:1px;width:var(--swiper-virtual-size)}.swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper:after{width:1px;height:var(--swiper-virtual-size)}:root{--swiper-navigation-size: 44px}.swiper-button-prev,.swiper-button-next{position:absolute;width:var(--swiper-navigation-size);height:var(--swiper-navigation-size);z-index:10;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--swiper-navigation-color, var(--swiper-theme-color))}:is(.swiper-button-prev,.swiper-button-next).swiper-button-disabled{opacity:.35;cursor:auto;pointer-events:none}:is(.swiper-button-prev,.swiper-button-next).swiper-button-hidden{opacity:0;cursor:auto;pointer-events:none}.swiper-navigation-disabled :is(.swiper-button-prev,.swiper-button-next){display:none!important}:is(.swiper-button-prev,.swiper-button-next) svg{width:100%;height:100%;object-fit:contain;transform-origin:center;fill:currentColor;pointer-events:none}.swiper-button-lock{display:none}.swiper-button-prev,.swiper-button-next{top:var(--swiper-navigation-top-offset, 50%);margin-top:calc(0px - (var(--swiper-navigation-size) / 2))}.swiper-button-prev{left:var(--swiper-navigation-sides-offset, 4px);right:auto}.swiper-button-prev .swiper-navigation-icon{transform:rotate(180deg)}.swiper-button-next{right:var(--swiper-navigation-sides-offset, 4px);left:auto}.swiper-horizontal .swiper-button-prev,.swiper-horizontal .swiper-button-next,.swiper-horizontal~.swiper-button-prev,.swiper-horizontal~.swiper-button-next{top:var(--swiper-navigation-top-offset, 50%);margin-top:calc(0px - (var(--swiper-navigation-size) / 2));margin-left:0}.swiper-horizontal .swiper-button-prev,.swiper-horizontal~.swiper-button-prev,.swiper-horizontal.swiper-rtl .swiper-button-next,.swiper-horizontal.swiper-rtl~.swiper-button-next{left:var(--swiper-navigation-sides-offset, 4px);right:auto}.swiper-horizontal .swiper-button-next,.swiper-horizontal~.swiper-button-next,.swiper-horizontal.swiper-rtl .swiper-button-prev,.swiper-horizontal.swiper-rtl~.swiper-button-prev{right:var(--swiper-navigation-sides-offset, 4px);left:auto}:is(.swiper-horizontal .swiper-button-prev,.swiper-horizontal~.swiper-button-prev,.swiper-horizontal.swiper-rtl .swiper-button-next,.swiper-horizontal.swiper-rtl~.swiper-button-next) .swiper-navigation-icon{transform:rotate(180deg)}:is(.swiper-horizontal.swiper-rtl .swiper-button-prev,.swiper-horizontal.swiper-rtl~.swiper-button-prev) .swiper-navigation-icon{transform:rotate(0)}.swiper-vertical .swiper-button-prev,.swiper-vertical .swiper-button-next,.swiper-vertical~.swiper-button-prev,.swiper-vertical~.swiper-button-next{left:var(--swiper-navigation-top-offset, 50%);right:auto;margin-left:calc(0px - (var(--swiper-navigation-size) / 2));margin-top:0}.swiper-vertical .swiper-button-prev,.swiper-vertical~.swiper-button-prev{top:var(--swiper-navigation-sides-offset, 4px);bottom:auto}:is(.swiper-vertical .swiper-button-prev,.swiper-vertical~.swiper-button-prev) .swiper-navigation-icon{transform:rotate(-90deg)}.swiper-vertical .swiper-button-next,.swiper-vertical~.swiper-button-next{bottom:var(--swiper-navigation-sides-offset, 4px);top:auto}:is(.swiper-vertical .swiper-button-next,.swiper-vertical~.swiper-button-next) .swiper-navigation-icon{transform:rotate(90deg)}.swiper-pagination{position:absolute;text-align:center;transition:.3s opacity;transform:translateZ(0);z-index:10}.swiper-pagination.swiper-pagination-hidden{opacity:0}.swiper-pagination-disabled>.swiper-pagination,.swiper-pagination.swiper-pagination-disabled{display:none!important}.swiper-pagination-fraction,.swiper-pagination-custom,.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-bullets.swiper-pagination-horizontal{bottom:var(--swiper-pagination-bottom, 8px);top:var(--swiper-pagination-top, auto);left:0;width:100%}.swiper-pagination-bullets-dynamic{overflow:hidden;font-size:0}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transform:scale(.33);position:relative}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active,.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev{transform:scale(.33)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next{transform:scale(.33)}.swiper-pagination-bullet{width:var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 8px));height:var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 8px));display:inline-block;border-radius:var(--swiper-pagination-bullet-border-radius, 50%);background:var(--swiper-pagination-bullet-inactive-color, #000);opacity:var(--swiper-pagination-bullet-inactive-opacity, .2)}button.swiper-pagination-bullet{border:none;margin:0;padding:0;box-shadow:none;-webkit-appearance:none;appearance:none}.swiper-pagination-clickable .swiper-pagination-bullet{cursor:pointer}.swiper-pagination-bullet:only-child{display:none!important}.swiper-pagination-bullet-active{opacity:var(--swiper-pagination-bullet-opacity, 1);background:var(--swiper-pagination-color, var(--swiper-theme-color))}.swiper-vertical>.swiper-pagination-bullets,.swiper-pagination-vertical.swiper-pagination-bullets{right:var(--swiper-pagination-right, 8px);left:var(--swiper-pagination-left, auto);top:50%;transform:translate3d(0,-50%,0)}:is(.swiper-vertical>.swiper-pagination-bullets,.swiper-pagination-vertical.swiper-pagination-bullets) .swiper-pagination-bullet{margin:var(--swiper-pagination-bullet-vertical-gap, 6px) 0;display:block}:is(.swiper-vertical>.swiper-pagination-bullets,.swiper-pagination-vertical.swiper-pagination-bullets).swiper-pagination-bullets-dynamic{top:50%;transform:translateY(-50%);width:8px}:is(.swiper-vertical>.swiper-pagination-bullets,.swiper-pagination-vertical.swiper-pagination-bullets).swiper-pagination-bullets-dynamic .swiper-pagination-bullet{display:inline-block;transition:.2s transform,.2s top}:is(.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-horizontal.swiper-pagination-bullets) .swiper-pagination-bullet{margin:0 var(--swiper-pagination-bullet-horizontal-gap, 4px)}:is(.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-horizontal.swiper-pagination-bullets).swiper-pagination-bullets-dynamic{left:50%;transform:translate(-50%);white-space:nowrap}:is(.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-horizontal.swiper-pagination-bullets).swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s left}.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s right}.swiper-pagination-fraction{color:var(--swiper-pagination-fraction-color, inherit)}.swiper-pagination-progressbar{background:var(--swiper-pagination-progressbar-bg-color, rgba(0, 0, 0, .25));position:absolute}.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:var(--swiper-pagination-color, var(--swiper-theme-color));position:absolute;left:0;top:0;width:100%;height:100%;transform:scale(0);transform-origin:left top}.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{transform-origin:right top}.swiper-horizontal>.swiper-pagination-progressbar,.swiper-pagination-progressbar.swiper-pagination-horizontal,.swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite{width:100%;height:var(--swiper-pagination-progressbar-size, 4px);left:0;top:0}.swiper-vertical>.swiper-pagination-progressbar,.swiper-pagination-progressbar.swiper-pagination-vertical,.swiper-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite{width:var(--swiper-pagination-progressbar-size, 4px);height:100%;left:0;top:0}.swiper-pagination-lock{display:none}.swiper-scrollbar{border-radius:var(--swiper-scrollbar-border-radius, 10px);position:relative;touch-action:none;background:var(--swiper-scrollbar-bg-color, rgba(0, 0, 0, .1))}.swiper-scrollbar-disabled>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-disabled{display:none!important}.swiper-horizontal>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-horizontal{position:absolute;left:var(--swiper-scrollbar-sides-offset, 1%);bottom:var(--swiper-scrollbar-bottom, 4px);top:var(--swiper-scrollbar-top, auto);z-index:50;height:var(--swiper-scrollbar-size, 4px);width:calc(100% - 2 * var(--swiper-scrollbar-sides-offset, 1%))}.swiper-vertical>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-vertical{position:absolute;left:var(--swiper-scrollbar-left, auto);right:var(--swiper-scrollbar-right, 4px);top:var(--swiper-scrollbar-sides-offset, 1%);z-index:50;width:var(--swiper-scrollbar-size, 4px);height:calc(100% - 2 * var(--swiper-scrollbar-sides-offset, 1%))}.swiper-scrollbar-drag{height:100%;width:100%;position:relative;background:var(--swiper-scrollbar-drag-bg-color, rgba(0, 0, 0, .5));border-radius:var(--swiper-scrollbar-border-radius, 10px);left:0;top:0}.swiper-scrollbar-cursor-drag{cursor:move}.swiper-scrollbar-lock{display:none}.swiper-zoom-container{width:100%;height:100%;display:flex;justify-content:center;align-items:center;text-align:center}.swiper-zoom-container>img,.swiper-zoom-container>svg,.swiper-zoom-container>canvas{max-width:100%;max-height:100%;object-fit:contain}.swiper-slide-zoomed{cursor:move;touch-action:none}.swiper .swiper-notification{position:absolute;left:0;top:0;pointer-events:none;opacity:0;z-index:-1000}.swiper-free-mode>.swiper-wrapper{transition-timing-function:ease-out;margin:0 auto}.swiper-grid>.swiper-wrapper{flex-wrap:wrap}.swiper-grid-column>.swiper-wrapper{flex-wrap:wrap;flex-direction:column}.swiper-fade.swiper-free-mode .swiper-slide{transition-timing-function:ease-out}.swiper-fade .swiper-slide{pointer-events:none;transition-property:opacity}.swiper-fade .swiper-slide .swiper-slide{pointer-events:none}.swiper-fade .swiper-slide-active,.swiper-fade .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper.swiper-cube{overflow:visible}.swiper-cube .swiper-slide{pointer-events:none;backface-visibility:hidden;z-index:1;visibility:hidden;transform-origin:0 0;width:100%;height:100%}.swiper-cube .swiper-slide .swiper-slide{pointer-events:none}.swiper-cube.swiper-rtl .swiper-slide{transform-origin:100% 0}.swiper-cube .swiper-slide-active,.swiper-cube .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-cube .swiper-slide-active,.swiper-cube .swiper-slide-next,.swiper-cube .swiper-slide-prev{pointer-events:auto;visibility:visible}.swiper-cube .swiper-cube-shadow{position:absolute;left:0;bottom:0;width:100%;height:100%;opacity:.6;z-index:0}.swiper-cube .swiper-cube-shadow:before{content:\"\";background:#000;position:absolute;inset:0;filter:blur(50px)}.swiper-cube .swiper-slide-next+.swiper-slide{pointer-events:auto;visibility:visible}.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-top,.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-bottom,.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-left,.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-right{z-index:0;backface-visibility:hidden}.swiper.swiper-flip{overflow:visible}.swiper-flip .swiper-slide{pointer-events:none;backface-visibility:hidden;z-index:1}.swiper-flip .swiper-slide .swiper-slide{pointer-events:none}.swiper-flip .swiper-slide-active,.swiper-flip .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-top,.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-bottom,.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-left,.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-right{z-index:0;backface-visibility:hidden}.swiper-creative .swiper-slide{backface-visibility:hidden;overflow:hidden;transition-property:transform,opacity,height}.swiper.swiper-cards{overflow:visible}.swiper-cards .swiper-slide{transform-origin:center bottom;backface-visibility:hidden;overflow:hidden}@layer components{ax-file-viewer-container{--ax-fv-stage-pad: .75rem;--ax-fv-nav-size: 2.5rem;position:relative;box-sizing:border-box;display:flex;height:100%;min-height:calc(var(--spacing, .25rem) * 0);width:100%;max-width:100%;min-width:calc(var(--spacing, .25rem) * 0);flex-direction:column;overflow:hidden;border-radius:var(--radius-lg, .5rem);border-style:var(--tw-border-style);border-width:1px;border-color:rgba(var(--ax-sys-color-border-lightest-surface));background-color:rgba(var(--ax-sys-color-lightest-surface));color:rgba(var(--ax-sys-color-on-lightest-surface))}ax-file-viewer-container>.ax-file-viewer__header,ax-file-viewer-container>.ax-file-viewer__stage,ax-file-viewer-container>.ax-file-viewer__thumbs{box-sizing:border-box;width:100%;max-width:100%;min-width:calc(var(--spacing, .25rem) * 0);background-color:rgba(var(--ax-sys-color-lightest-surface))}ax-file-viewer-container.ax-file-viewer--fullscreen{border-radius:0;background-color:rgba(var(--ax-sys-color-lightest-surface))}ax-file-viewer-container .ax-file-viewer__loading{position:absolute;inset:calc(var(--spacing, .25rem) * 0);z-index:10;display:flex;align-items:center;justify-content:center;--tw-backdrop-blur: blur(var(--blur-sm, 8px));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);background-color:rgba(var(--ax-sys-color-lightest-surface),.7)}ax-file-viewer-container .ax-file-viewer__stage--hidden,ax-file-viewer-container .ax-file-viewer__thumbs--hidden,ax-file-viewer-container .ax-file-viewer__empty--hidden{pointer-events:none;visibility:hidden}ax-file-viewer-container .ax-file-viewer__empty{box-sizing:border-box;display:flex;min-height:calc(var(--spacing, .25rem) * 0);width:100%;max-width:100%;min-width:calc(var(--spacing, .25rem) * 0);flex:1;align-items:center;justify-content:center;overflow:hidden;padding-inline:calc(var(--spacing, .25rem) * 4);padding-block:calc(var(--spacing, .25rem) * 8)}ax-file-viewer-container .ax-file-viewer__header{box-sizing:border-box;display:grid;width:100%;max-width:100%;min-width:calc(var(--spacing, .25rem) * 0);flex-shrink:0;align-items:center;gap:calc(var(--spacing, .25rem) * 1);border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:rgba(var(--ax-sys-color-border-lightest-surface));background-color:rgba(var(--ax-sys-color-lightest-surface));padding-inline:calc(var(--spacing, .25rem) * 4);padding-block:calc(var(--spacing, .25rem) * 3);grid-template-columns:minmax(min-content,max-content) minmax(0,1fr) auto;grid-template-areas:\"meta content actions\"}ax-file-viewer-container .ax-file-viewer__header--no-content{grid-template-columns:minmax(min-content,max-content) auto;grid-template-areas:\"meta actions\"}ax-file-viewer-container .ax-file-viewer__meta{grid-area:meta;min-width:min-content;max-width:100%;justify-self:start}ax-file-viewer-container .ax-file-viewer__header-content{display:flex;width:100%;min-width:calc(var(--spacing, .25rem) * 0);align-items:center;justify-content:center;grid-area:content;justify-self:stretch}ax-file-viewer-container .ax-file-viewer__title-row{display:flex;min-width:calc(var(--spacing, .25rem) * 0);align-items:center;gap:calc(var(--spacing, .25rem) * 2)}ax-file-viewer-container .ax-file-viewer__name{overflow:hidden;font-size:var(--text-sm, .875rem);line-height:var(--tw-leading, var(--text-sm--line-height, calc(1.25 / .875)));--tw-font-weight: var(--font-weight-bold, 700);font-weight:var(--font-weight-bold, 700);text-overflow:ellipsis;white-space:nowrap}ax-file-viewer-container .ax-file-viewer__type-badge{flex-shrink:0}ax-file-viewer-container .ax-file-viewer__submeta{margin-top:calc(var(--spacing, .25rem) * .5);display:flex;flex-wrap:wrap;align-items:center;gap:calc(var(--spacing, .25rem) * 1.5);font-size:var(--text-xs, .75rem);line-height:var(--tw-leading, var(--text-xs--line-height, calc(1 / .75)));color:rgba(var(--ax-sys-color-on-surface),.65)}ax-file-viewer-container .ax-file-viewer__dot{opacity:55%}ax-file-viewer-container .ax-file-viewer__header-actions{display:flex;flex-shrink:0;align-items:center;gap:calc(var(--spacing, .25rem) * 1.5);grid-area:actions;justify-self:end}ax-file-viewer-container .ax-file-viewer__fullscreen-wrap{display:inline-flex;align-items:center;justify-content:center}ax-file-viewer-container .ax-file-viewer__stage{position:relative;box-sizing:border-box;display:grid;min-height:calc(var(--spacing, .25rem) * 0);width:100%;max-width:100%;min-width:calc(var(--spacing, .25rem) * 0);flex:1;align-items:stretch;gap:calc(var(--spacing, .25rem) * 2);grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr);grid-template-areas:\"canvas\";padding:var(--ax-fv-stage-pad)}ax-file-viewer-container .ax-file-viewer__stage--nav{grid-template-columns:var(--ax-fv-nav-size) minmax(0,1fr) var(--ax-fv-nav-size);grid-template-areas:\"prev canvas next\";align-items:stretch}ax-file-viewer-container .ax-file-viewer__nav{z-index:2;align-self:center;justify-self:center;border-radius:calc(infinity * 1px)}ax-file-viewer-container .ax-file-viewer__nav.ax-disabled,ax-file-viewer-container .ax-file-viewer__nav[disabled]{cursor:not-allowed;opacity:35%;box-shadow:none!important}ax-file-viewer-container .ax-file-viewer__nav--prev{grid-area:prev}ax-file-viewer-container .ax-file-viewer__nav--next{grid-area:next}ax-file-viewer-container .ax-file-viewer__canvas{position:relative;box-sizing:border-box;height:100%;width:100%;max-width:100%;min-width:calc(var(--spacing, .25rem) * 0);align-self:stretch;overflow:hidden;border-radius:var(--radius-2xl, 1rem);grid-area:canvas;min-height:12rem}ax-file-viewer-container .ax-file-viewer__canvas .ax-carousel,ax-file-viewer-container .ax-file-viewer__canvas .swiper{box-sizing:border-box;height:100%;min-height:calc(var(--spacing, .25rem) * 0);width:100%;min-width:calc(var(--spacing, .25rem) * 0);overflow:hidden}ax-file-viewer-container .ax-file-viewer__canvas .ax-carousel-wrapper,ax-file-viewer-container .ax-file-viewer__canvas .swiper-wrapper{box-sizing:border-box;height:100%;align-items:stretch}ax-file-viewer-container .ax-file-viewer__canvas .ax-carousel-slide,ax-file-viewer-container .ax-file-viewer__canvas .swiper-slide{box-sizing:border-box;display:flex;height:100%;min-height:calc(var(--spacing, .25rem) * 0);min-width:calc(var(--spacing, .25rem) * 0);align-items:stretch;justify-content:stretch;overflow:hidden}ax-file-viewer-container .ax-file-viewer__canvas img,ax-file-viewer-container .ax-file-viewer__canvas video,ax-file-viewer-container .ax-file-viewer__canvas audio,ax-file-viewer-container .ax-file-viewer__canvas iframe,ax-file-viewer-container .ax-file-viewer__canvas ax-pdf-reader{max-height:100%;max-width:100%}ax-file-viewer-container .ax-file-viewer__canvas img{-webkit-user-drag:none;pointer-events:none}ax-file-viewer-container .ax-file-viewer__overlay-counter{pointer-events:none;position:absolute;bottom:calc(var(--spacing, .25rem) * 5);left:50%;z-index:3;display:inline-flex;min-height:calc(var(--spacing, .25rem) * 6);min-width:calc(var(--spacing, .25rem) * 12);--tw-translate-x: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y);align-items:center;justify-content:center;border-radius:calc(infinity * 1px);border-style:var(--tw-border-style);border-width:1px;border-color:color-mix(in srgb,#fff 15%,transparent);background-color:color-mix(in srgb,#000 70%,transparent);padding-inline:calc(var(--spacing, .25rem) * 3);padding-block:calc(var(--spacing, .25rem) * 1);font-size:var(--text-xs, .75rem);line-height:var(--tw-leading, var(--text-xs--line-height, calc(1 / .75)));--tw-leading: 1;line-height:1;--tw-font-weight: var(--font-weight-semibold, 600);font-weight:var(--font-weight-semibold, 600);--tw-tracking: var(--tracking-wide, .025em);letter-spacing:var(--tracking-wide, .025em);color:var(--color-white, #fff);--tw-numeric-spacing: tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--tw-backdrop-blur: blur(var(--blur-md, 12px));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);text-shadow:0 1px 1px rgba(0,0,0,.35)}@supports (color: color-mix(in lab,red,red)){ax-file-viewer-container .ax-file-viewer__overlay-counter{border-color:color-mix(in oklab,var(--color-white, #fff) 15%,transparent)}}@supports (color: color-mix(in lab,red,red)){ax-file-viewer-container .ax-file-viewer__overlay-counter{background-color:color-mix(in oklab,var(--color-black, #000) 70%,transparent)}}ax-file-viewer-container .ax-file-viewer__thumbs{box-sizing:border-box;width:100%;max-width:100%;min-width:calc(var(--spacing, .25rem) * 0);flex-shrink:0;overflow:hidden;border-top-style:var(--tw-border-style);border-top-width:1px;border-color:rgba(var(--ax-sys-color-border-lightest-surface));background-color:rgba(var(--ax-sys-color-lightest-surface));padding-inline:calc(var(--spacing, .25rem) * 4);padding-top:calc(var(--spacing, .25rem) * 3);padding-bottom:calc(var(--spacing, .25rem) * 4)}ax-file-viewer-container .ax-file-viewer__thumbs-track{box-sizing:border-box;width:100%;max-width:100%;min-width:calc(var(--spacing, .25rem) * 0);overflow:hidden}ax-file-viewer-container .ax-file-viewer__thumbs-track .ax-carousel,ax-file-viewer-container .ax-file-viewer__thumbs-track .swiper{box-sizing:border-box;width:100%;max-width:100%;min-width:calc(var(--spacing, .25rem) * 0);overflow:hidden}ax-file-viewer-container .ax-file-viewer__thumbs-track .ax-carousel-wrapper,ax-file-viewer-container .ax-file-viewer__thumbs-track .swiper-wrapper{align-items:stretch}ax-file-viewer-container .ax-file-viewer__thumbs-track .ax-carousel-slide,ax-file-viewer-container .ax-file-viewer__thumbs-track .swiper-slide{box-sizing:border-box;height:auto;width:calc(var(--spacing, .25rem) * 28);max-width:calc(var(--spacing, .25rem) * 28);overflow:hidden}ax-file-viewer-container .ax-file-viewer__thumb{box-sizing:border-box;display:flex;width:calc(var(--spacing, .25rem) * 28);max-width:calc(var(--spacing, .25rem) * 28);cursor:pointer;flex-direction:column;overflow:hidden;border-radius:var(--radius-xl, .75rem);border-style:var(--tw-border-style);border-width:2px;border-color:rgba(var(--ax-sys-color-border-lightest-surface));background-color:rgba(var(--ax-sys-color-lightest-surface));transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease, var(--default-transition-timing-function, cubic-bezier(.4, 0, .2, 1)));transition-duration:var(--tw-duration, var(--default-transition-duration, .15s));--tw-duration: .15s;transition-duration:.15s}ax-file-viewer-container .ax-file-viewer__thumb:hover{border-color:rgba(var(--ax-sys-color-border-lighter-surface))}ax-file-viewer-container .ax-file-viewer__thumb.swiper-slide-thumb-active,ax-file-viewer-container .ax-file-viewer__thumb.ax-file-viewer__thumb--active{border-color:rgba(var(--ax-sys-color-success-500))}ax-file-viewer-container .ax-file-viewer__thumb[data-type=video].ax-file-viewer__thumb--active,ax-file-viewer-container .ax-file-viewer__thumb[data-type=video].swiper-slide-thumb-active{border-color:rgba(var(--ax-sys-color-primary-500))}ax-file-viewer-container .ax-file-viewer__thumb[data-type=audio].ax-file-viewer__thumb--active,ax-file-viewer-container .ax-file-viewer__thumb[data-type=audio].swiper-slide-thumb-active{border-color:rgba(var(--ax-sys-color-danger-500))}ax-file-viewer-container .ax-file-viewer__thumb[data-type=document].ax-file-viewer__thumb--active,ax-file-viewer-container .ax-file-viewer__thumb[data-type=document].swiper-slide-thumb-active{border-color:rgba(var(--ax-sys-color-warning-500))}ax-file-viewer-container .ax-file-viewer__thumb[data-type=file].ax-file-viewer__thumb--active,ax-file-viewer-container .ax-file-viewer__thumb[data-type=file].swiper-slide-thumb-active{border-color:rgba(var(--ax-sys-color-secondary-500))}ax-file-viewer-container .ax-file-viewer__thumb[data-type=image] .ax-file-viewer__thumb-preview i{color:rgba(var(--ax-sys-color-success-500))}ax-file-viewer-container .ax-file-viewer__thumb[data-type=video] .ax-file-viewer__thumb-preview i{color:rgba(var(--ax-sys-color-primary-500))}ax-file-viewer-container .ax-file-viewer__thumb[data-type=audio] .ax-file-viewer__thumb-preview i{color:rgba(var(--ax-sys-color-danger-500))}ax-file-viewer-container .ax-file-viewer__thumb[data-type=document] .ax-file-viewer__thumb-preview i{color:rgba(var(--ax-sys-color-warning-500))}ax-file-viewer-container .ax-file-viewer__thumb[data-type=file] .ax-file-viewer__thumb-preview i{color:rgba(var(--ax-sys-color-secondary-500))}ax-file-viewer-container .ax-file-viewer__thumb-preview{box-sizing:border-box;display:flex;aspect-ratio:1.4;width:100%;max-width:100%;min-width:calc(var(--spacing, .25rem) * 0);align-items:center;justify-content:center;overflow:hidden;background-color:rgba(var(--ax-sys-color-lighter-surface))}ax-file-viewer-container .ax-file-viewer__thumb-preview i{font-size:var(--text-2xl, 1.5rem);line-height:var(--tw-leading, var(--text-2xl--line-height, calc(2 / 1.5)));color:rgba(var(--ax-sys-color-on-surface),.65)}ax-file-viewer-container .ax-file-viewer__thumb-preview img{display:block;height:100%;width:100%;object-fit:cover}ax-file-viewer-container .ax-file-viewer__thumb-footer{box-sizing:border-box;display:grid;width:100%;max-width:100%;min-width:calc(var(--spacing, .25rem) * 0);align-items:center;gap:calc(var(--spacing, .25rem) * 1);border-top-style:var(--tw-border-style);border-top-width:1px;border-color:rgba(var(--ax-sys-color-border-lightest-surface));padding:calc(var(--spacing, .25rem) * 1.5);font-size:var(--text-xs, .75rem);line-height:var(--tw-leading, var(--text-xs--line-height, calc(1 / .75)));grid-template-columns:minmax(0,1fr);color:rgba(var(--ax-sys-color-on-surface),.65)}ax-file-viewer-container .ax-file-viewer__thumb-name{overflow:hidden;--tw-font-weight: var(--font-weight-medium, 500);font-weight:var(--font-weight-medium, 500);text-overflow:ellipsis;white-space:nowrap;color:rgba(var(--ax-sys-color-on-lightest-surface))}ax-file-viewer-container .ax-carousel-pagination{display:none}ax-file-viewer-container ax-file-viewer-slide{padding:calc(var(--spacing, .25rem) * 0)}@media(max-width:768px){ax-file-viewer-container{--ax-fv-stage-pad: .5rem;--ax-fv-nav-size: 2.5rem;border-radius:var(--radius-2xl, 1rem)}ax-file-viewer-container .ax-file-viewer__header{min-width:calc(var(--spacing, .25rem) * 0);column-gap:calc(var(--spacing, .25rem) * 3);row-gap:calc(var(--spacing, .25rem) * 2);padding-inline:calc(var(--spacing, .25rem) * 3);padding-block:calc(var(--spacing, .25rem) * 2.5)}ax-file-viewer-container .ax-file-viewer__name{font-size:var(--text-sm, .875rem);line-height:var(--tw-leading, var(--text-sm--line-height, calc(1.25 / .875)))}ax-file-viewer-container .ax-file-viewer__stage--nav{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(14rem,1fr);grid-template-areas:\"canvas\";gap:0}ax-file-viewer-container .ax-file-viewer__nav{position:absolute;inset-block:0;z-index:4;grid-area:canvas;height:max-content;margin-block:auto}ax-file-viewer-container .ax-file-viewer__nav--prev{left:.35rem;justify-self:start}ax-file-viewer-container .ax-file-viewer__nav--next{right:.35rem;justify-self:end}ax-file-viewer-container .ax-file-viewer__canvas{min-height:14rem}ax-file-viewer-container .ax-file-viewer__thumbs{padding-inline:calc(var(--spacing, .25rem) * 3);padding-top:calc(var(--spacing, .25rem) * 2.5);padding-bottom:calc(var(--spacing, .25rem) * 3.5)}ax-file-viewer-container .ax-file-viewer__thumbs-track .ax-carousel-slide,ax-file-viewer-container .ax-file-viewer__thumbs-track .swiper-slide{width:calc(var(--spacing, .25rem) * 24);max-width:calc(var(--spacing, .25rem) * 24)}ax-file-viewer-container .ax-file-viewer__thumb{width:calc(var(--spacing, .25rem) * 24);max-width:calc(var(--spacing, .25rem) * 24)}}@media(max-width:480px){ax-file-viewer-container{border-radius:var(--radius-xl, .75rem)}ax-file-viewer-container .ax-file-viewer__type-badge{display:none}ax-file-viewer-container .ax-file-viewer__thumbs{padding:calc(var(--spacing, .25rem) * 2)}ax-file-viewer-container .ax-file-viewer__thumbs-track .ax-carousel-slide,ax-file-viewer-container .ax-file-viewer__thumbs-track .swiper-slide{width:calc(var(--spacing, .25rem) * 20);max-width:calc(var(--spacing, .25rem) * 20)}ax-file-viewer-container .ax-file-viewer__thumb{width:calc(var(--spacing, .25rem) * 20);max-width:calc(var(--spacing, .25rem) * 20)}}.ax-file-viewer-gallery-overlay.ax-overlay-centered{pointer-events:auto}.ax-file-viewer-gallery-overlay.ax-overlay-centered .ax-overlay-content{display:flex;height:100dvh;max-height:100dvh;width:100vw;max-width:100vw;align-items:stretch;justify-content:stretch}.ax-file-viewer-gallery-overlay.ax-overlay-centered ax-file-viewer-container{pointer-events:auto;height:100%;min-height:calc(var(--spacing, .25rem) * 0);width:100%;border-radius:0}}@property --tw-border-style{syntax: \"*\"; inherits: false; initial-value: solid;}@property --tw-backdrop-blur{syntax: \"*\"; inherits: false;}@property --tw-backdrop-brightness{syntax: \"*\"; inherits: false;}@property --tw-backdrop-contrast{syntax: \"*\"; inherits: false;}@property --tw-backdrop-grayscale{syntax: \"*\"; inherits: false;}@property --tw-backdrop-hue-rotate{syntax: \"*\"; inherits: false;}@property --tw-backdrop-invert{syntax: \"*\"; inherits: false;}@property --tw-backdrop-opacity{syntax: \"*\"; inherits: false;}@property --tw-backdrop-saturate{syntax: \"*\"; inherits: false;}@property --tw-backdrop-sepia{syntax: \"*\"; inherits: false;}@property --tw-font-weight{syntax: \"*\"; inherits: false;}@property --tw-translate-x{syntax: \"*\"; inherits: false; initial-value: 0;}@property --tw-translate-y{syntax: \"*\"; inherits: false; initial-value: 0;}@property --tw-translate-z{syntax: \"*\"; inherits: false; initial-value: 0;}@property --tw-leading{syntax: \"*\"; inherits: false;}@property --tw-tracking{syntax: \"*\"; inherits: false;}@property --tw-ordinal{syntax: \"*\"; inherits: false;}@property --tw-slashed-zero{syntax: \"*\"; inherits: false;}@property --tw-numeric-figure{syntax: \"*\"; inherits: false;}@property --tw-numeric-spacing{syntax: \"*\"; inherits: false;}@property --tw-numeric-fraction{syntax: \"*\"; inherits: false;}@property --tw-duration{syntax: \"*\"; inherits: false;}@layer properties{@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style: solid;--tw-backdrop-blur: initial;--tw-backdrop-brightness: initial;--tw-backdrop-contrast: initial;--tw-backdrop-grayscale: initial;--tw-backdrop-hue-rotate: initial;--tw-backdrop-invert: initial;--tw-backdrop-opacity: initial;--tw-backdrop-saturate: initial;--tw-backdrop-sepia: initial;--tw-font-weight: initial;--tw-translate-x: 0;--tw-translate-y: 0;--tw-translate-z: 0;--tw-leading: initial;--tw-tracking: initial;--tw-ordinal: initial;--tw-slashed-zero: initial;--tw-numeric-figure: initial;--tw-numeric-spacing: initial;--tw-numeric-fraction: initial;--tw-duration: initial}}}\n/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */\n"], dependencies: [{ kind: "directive", type: NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletEnvironmentInjector", "ngComponentOutletContent", "ngComponentOutletNgModule"], exportAs: ["ngComponentOutlet"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: AXCarouselDirective, selector: "[axCarousel]", exportAs: ["axCarousel"] }, { kind: "component", type: AXFileViewerEmptyStateComponent, selector: "ax-file-viewer-empty-state" }, { kind: "component", type: AXFileViewerSlideComponent, selector: "ax-file-viewer-slide", inputs: ["item", "index", "fallbackContent", "fallbackContentInputs"] }, { kind: "component", type: AXFileViewerThumbPreviewComponent, selector: "ax-file-viewer-thumb-preview", inputs: ["item"] }, { kind: "component", type: AXBadgeComponent, selector: "ax-badge", inputs: ["color", "look", "text"] }, { kind: "component", type: AXButtonComponent, selector: "ax-button", inputs: ["disabled", "tabIndex", "color", "look", "text", "toggleable", "selected", "iconOnly", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "component", type: AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: AXLoadingComponent, selector: "ax-loading", inputs: ["visible", "type", "context"], outputs: ["visibleChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
641
708
  }
642
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXFileViewerContainerComponent, decorators: [{
709
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: AXFileViewerContainerComponent, decorators: [{
643
710
  type: Component,
644
711
  args: [{ selector: 'ax-file-viewer-container', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
645
712
  '[class.ax-file-viewer--fullscreen]': 'isFullscreenActive()',
@@ -654,9 +721,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
654
721
  AXButtonComponent,
655
722
  AXDecoratorIconComponent,
656
723
  AXLoadingComponent,
657
- AXTooltipDirective,
658
- ], template: "@if (isBusy()) {\n <div class=\"ax-file-viewer__loading\" aria-busy=\"true\" aria-live=\"polite\">\n <ax-loading></ax-loading>\n </div>\n}\n\n@if (isEmpty()) {\n <div class=\"ax-file-viewer__empty\" [class.ax-file-viewer__empty--hidden]=\"isBusy()\">\n @if (emptyTemplateContent(); as template) {\n <ng-container *ngTemplateOutlet=\"template\" />\n } @else if (emptyComponentContent(); as component) {\n <ng-container *ngComponentOutlet=\"component; inputs: emptyContentInputs() ?? {}\" />\n } @else {\n <ax-file-viewer-empty-state />\n }\n </div>\n} @else {\n @if (currentItem(); as item) {\n <header class=\"ax-file-viewer__header\" [class.ax-file-viewer__header--no-content]=\"!hasHeaderCenterContent()\">\n <div class=\"ax-file-viewer__meta\">\n <div class=\"ax-file-viewer__title-row\">\n <span class=\"ax-file-viewer__name\">{{ item.name || 'Untitled' }}</span>\n </div>\n <div class=\"ax-file-viewer__submeta\">\n @if (formatSize(item.size); as sizeLabel) {\n <span>{{ sizeLabel }}</span>\n <span class=\"ax-file-viewer__dot\">\u00B7</span>\n }\n <ax-badge\n class=\"ax-file-viewer__type-badge ax-pill ax-sm\"\n look=\"outline\"\n [color]=\"currentTypeColor()\"\n [text]=\"currentTypeLabel()\"\n />\n </div>\n </div>\n\n @if (hasHeaderCenterContent()) {\n <div class=\"ax-file-viewer__header-content\">\n @if (headerTemplateContent(); as template) {\n <ng-container *ngTemplateOutlet=\"template; context: headerContentContext()\" />\n } @else if (headerComponentContent(); as component) {\n <ng-container *ngComponentOutlet=\"component; inputs: headerContentInputs() ?? {}\" />\n }\n </div>\n }\n\n <div class=\"ax-file-viewer__header-actions\">\n @for (action of resolvedHeaderActions(); track action.name ?? action.text) {\n <ax-button\n class=\"rounded-full\"\n [color]=\"action.color ?? 'default'\"\n [iconOnly]=\"!!action.icon\"\n [disabled]=\"action.disabled\"\n [axTooltip]=\"action.title ?? action.text\"\n (onClick)=\"onHeaderActionClick(action, $event)\"\n >\n @if (action.isLoading) {\n <ax-loading></ax-loading>\n } @else if (action.icon) {\n <ax-icon [icon]=\"action.icon\"></ax-icon>\n } @else {\n {{ action.text }}\n }\n </ax-button>\n }\n </div>\n </header>\n }\n\n <div\n class=\"ax-file-viewer__stage\"\n [class.ax-file-viewer__stage--nav]=\"service.items().length > 1\"\n [class.ax-file-viewer__stage--hidden]=\"isBusy()\"\n >\n @if (service.items().length > 1) {\n <ax-button\n look=\"solid\"\n class=\"ax-file-viewer__nav\"\n color=\"default\"\n [iconOnly]=\"true\"\n [disabled]=\"isFirstSlide()\"\n (onClick)=\"prev()\"\n >\n <ax-icon icon=\"fa-light fa-chevron-left\"></ax-icon>\n </ax-button>\n }\n\n <div class=\"ax-file-viewer__canvas\">\n <div #mainCarousel=\"axCarousel\" axCarousel class=\"ax-carousel\">\n <div class=\"ax-carousel-wrapper\">\n @for (file of service.items(); track file.id) {\n <div class=\"ax-carousel-slide\">\n <ax-file-viewer-slide\n [item]=\"file\"\n [index]=\"$index\"\n [fallbackContent]=\"fallbackContent()\"\n [fallbackContentInputs]=\"fallbackContentInputs()\"\n />\n </div>\n }\n </div>\n </div>\n\n @if (service.items().length > 0) {\n <span class=\"ax-file-viewer__overlay-counter\">{{ slideCounter() }}</span>\n }\n </div>\n\n @if (service.items().length > 1) {\n <ax-button\n class=\"ax-file-viewer__nav ax-file-viewer__nav--next\"\n look=\"solid\"\n color=\"default\"\n [iconOnly]=\"true\"\n [disabled]=\"isLastSlide()\"\n (onClick)=\"next()\"\n >\n <ax-icon icon=\"fa-light fa-chevron-right\"></ax-icon>\n </ax-button>\n }\n </div>\n\n @if (thumbnail() && service.items().length > 1) {\n <footer class=\"ax-file-viewer__thumbs\" [class.ax-file-viewer__thumbs--hidden]=\"isBusy()\">\n <div class=\"ax-file-viewer__thumbs-track\">\n <div #thumbCarousel=\"axCarousel\" axCarousel class=\"ax-carousel\">\n <div class=\"ax-carousel-wrapper\">\n @for (file of service.items(); track file.id) {\n <div\n class=\"ax-carousel-slide ax-file-viewer__thumb\"\n [attr.data-type]=\"resolveFileType(file)\"\n [class.ax-file-viewer__thumb--active]=\"service.selectedIndex() === $index\"\n (click)=\"goToIndex($index)\"\n >\n <ax-file-viewer-thumb-preview [item]=\"file\" />\n <div class=\"ax-file-viewer__thumb-footer\">\n <span class=\"ax-file-viewer__thumb-name\">{{ file.name || resolveTypeLabel(file) }}</span>\n </div>\n </div>\n }\n </div>\n </div>\n </div>\n </footer>\n }\n}\n", styles: ["@layer properties;:root{--swiper-theme-color: #007aff}:host{position:relative;display:block;margin-left:auto;margin-right:auto;z-index:1}.swiper{margin-left:auto;margin-right:auto;position:relative;overflow:hidden;list-style:none;padding:0;z-index:1;display:block}.swiper-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:flex;transition-property:transform;transition-timing-function:var(--swiper-wrapper-transition-timing-function, initial);box-sizing:content-box}.swiper-android .swiper-slide,.swiper-ios .swiper-slide,.swiper-wrapper{transform:translateZ(0)}.swiper-horizontal{touch-action:pan-y}.swiper-vertical{touch-action:pan-x}.swiper-slide{flex-shrink:0;width:100%;height:100%;position:relative;transition-property:transform;display:block}.swiper-slide-invisible-blank{visibility:hidden}.swiper-autoheight,.swiper-autoheight .swiper-slide{height:auto}.swiper-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-backface-hidden .swiper-slide{transform:translateZ(0);backface-visibility:hidden}.swiper-3d.swiper-css-mode .swiper-wrapper{perspective:1200px}.swiper-3d .swiper-wrapper{transform-style:preserve-3d}.swiper-3d{perspective:1200px}.swiper-3d .swiper-slide,.swiper-3d .swiper-cube-shadow{transform-style:preserve-3d}.swiper-css-mode>.swiper-wrapper{overflow:auto;scrollbar-width:none;-ms-overflow-style:none}.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar{display:none}.swiper-css-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:start start}.swiper-css-mode.swiper-horizontal>.swiper-wrapper{scroll-snap-type:x mandatory}.swiper-css-mode.swiper-vertical>.swiper-wrapper{scroll-snap-type:y mandatory}.swiper-css-mode.swiper-free-mode>.swiper-wrapper{scroll-snap-type:none}.swiper-css-mode.swiper-free-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:none}.swiper-css-mode.swiper-centered>.swiper-wrapper:before{content:\"\";flex-shrink:0;order:9999}.swiper-css-mode.swiper-centered>.swiper-wrapper>.swiper-slide{scroll-snap-align:center center;scroll-snap-stop:always}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper:before{height:100%;min-height:1px;width:var(--swiper-centered-offset-after)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper:before{width:100%;min-width:1px;height:var(--swiper-centered-offset-after)}.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top,.swiper-3d .swiper-slide-shadow-bottom{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}.swiper-3d .swiper-slide-shadow{background:#00000026}.swiper-3d .swiper-slide-shadow-left{background-image:linear-gradient(to left,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-right{background-image:linear-gradient(to right,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-top{background-image:linear-gradient(to top,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-bottom{background-image:linear-gradient(to bottom,#00000080,#0000)}.swiper-lazy-preloader{width:42px;height:42px;position:absolute;left:50%;top:50%;margin-left:-21px;margin-top:-21px;z-index:10;transform-origin:50%;box-sizing:border-box;border:4px solid var(--swiper-preloader-color, var(--swiper-theme-color));border-radius:50%;border-top-color:transparent}:is(.swiper:not(.swiper-watch-progress),.swiper-watch-progress .swiper-slide-visible) .swiper-lazy-preloader{animation:swiper-preloader-spin 1s infinite linear}.swiper-lazy-preloader-white{--swiper-preloader-color: #fff}.swiper-lazy-preloader-black{--swiper-preloader-color: #000}@keyframes swiper-preloader-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.swiper-virtual .swiper-slide{-webkit-backface-visibility:hidden;transform:translateZ(0)}.swiper-virtual.swiper-css-mode .swiper-wrapper:after{content:\"\";position:absolute;left:0;top:0;pointer-events:none}.swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper:after{height:1px;width:var(--swiper-virtual-size)}.swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper:after{width:1px;height:var(--swiper-virtual-size)}:root{--swiper-navigation-size: 44px}.swiper-button-prev,.swiper-button-next{position:absolute;width:var(--swiper-navigation-size);height:var(--swiper-navigation-size);z-index:10;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--swiper-navigation-color, var(--swiper-theme-color))}:is(.swiper-button-prev,.swiper-button-next).swiper-button-disabled{opacity:.35;cursor:auto;pointer-events:none}:is(.swiper-button-prev,.swiper-button-next).swiper-button-hidden{opacity:0;cursor:auto;pointer-events:none}.swiper-navigation-disabled :is(.swiper-button-prev,.swiper-button-next){display:none!important}:is(.swiper-button-prev,.swiper-button-next) svg{width:100%;height:100%;object-fit:contain;transform-origin:center;fill:currentColor;pointer-events:none}.swiper-button-lock{display:none}.swiper-button-prev,.swiper-button-next{top:var(--swiper-navigation-top-offset, 50%);margin-top:calc(0px - (var(--swiper-navigation-size) / 2))}.swiper-button-prev{left:var(--swiper-navigation-sides-offset, 4px);right:auto}.swiper-button-prev .swiper-navigation-icon{transform:rotate(180deg)}.swiper-button-next{right:var(--swiper-navigation-sides-offset, 4px);left:auto}.swiper-horizontal .swiper-button-prev,.swiper-horizontal .swiper-button-next,.swiper-horizontal~.swiper-button-prev,.swiper-horizontal~.swiper-button-next{top:var(--swiper-navigation-top-offset, 50%);margin-top:calc(0px - (var(--swiper-navigation-size) / 2));margin-left:0}.swiper-horizontal .swiper-button-prev,.swiper-horizontal~.swiper-button-prev,.swiper-horizontal.swiper-rtl .swiper-button-next,.swiper-horizontal.swiper-rtl~.swiper-button-next{left:var(--swiper-navigation-sides-offset, 4px);right:auto}.swiper-horizontal .swiper-button-next,.swiper-horizontal~.swiper-button-next,.swiper-horizontal.swiper-rtl .swiper-button-prev,.swiper-horizontal.swiper-rtl~.swiper-button-prev{right:var(--swiper-navigation-sides-offset, 4px);left:auto}:is(.swiper-horizontal .swiper-button-prev,.swiper-horizontal~.swiper-button-prev,.swiper-horizontal.swiper-rtl .swiper-button-next,.swiper-horizontal.swiper-rtl~.swiper-button-next) .swiper-navigation-icon{transform:rotate(180deg)}:is(.swiper-horizontal.swiper-rtl .swiper-button-prev,.swiper-horizontal.swiper-rtl~.swiper-button-prev) .swiper-navigation-icon{transform:rotate(0)}.swiper-vertical .swiper-button-prev,.swiper-vertical .swiper-button-next,.swiper-vertical~.swiper-button-prev,.swiper-vertical~.swiper-button-next{left:var(--swiper-navigation-top-offset, 50%);right:auto;margin-left:calc(0px - (var(--swiper-navigation-size) / 2));margin-top:0}.swiper-vertical .swiper-button-prev,.swiper-vertical~.swiper-button-prev{top:var(--swiper-navigation-sides-offset, 4px);bottom:auto}:is(.swiper-vertical .swiper-button-prev,.swiper-vertical~.swiper-button-prev) .swiper-navigation-icon{transform:rotate(-90deg)}.swiper-vertical .swiper-button-next,.swiper-vertical~.swiper-button-next{bottom:var(--swiper-navigation-sides-offset, 4px);top:auto}:is(.swiper-vertical .swiper-button-next,.swiper-vertical~.swiper-button-next) .swiper-navigation-icon{transform:rotate(90deg)}.swiper-pagination{position:absolute;text-align:center;transition:.3s opacity;transform:translateZ(0);z-index:10}.swiper-pagination.swiper-pagination-hidden{opacity:0}.swiper-pagination-disabled>.swiper-pagination,.swiper-pagination.swiper-pagination-disabled{display:none!important}.swiper-pagination-fraction,.swiper-pagination-custom,.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-bullets.swiper-pagination-horizontal{bottom:var(--swiper-pagination-bottom, 8px);top:var(--swiper-pagination-top, auto);left:0;width:100%}.swiper-pagination-bullets-dynamic{overflow:hidden;font-size:0}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transform:scale(.33);position:relative}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active,.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev{transform:scale(.33)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next{transform:scale(.33)}.swiper-pagination-bullet{width:var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 8px));height:var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 8px));display:inline-block;border-radius:var(--swiper-pagination-bullet-border-radius, 50%);background:var(--swiper-pagination-bullet-inactive-color, #000);opacity:var(--swiper-pagination-bullet-inactive-opacity, .2)}button.swiper-pagination-bullet{border:none;margin:0;padding:0;box-shadow:none;-webkit-appearance:none;appearance:none}.swiper-pagination-clickable .swiper-pagination-bullet{cursor:pointer}.swiper-pagination-bullet:only-child{display:none!important}.swiper-pagination-bullet-active{opacity:var(--swiper-pagination-bullet-opacity, 1);background:var(--swiper-pagination-color, var(--swiper-theme-color))}.swiper-vertical>.swiper-pagination-bullets,.swiper-pagination-vertical.swiper-pagination-bullets{right:var(--swiper-pagination-right, 8px);left:var(--swiper-pagination-left, auto);top:50%;transform:translate3d(0,-50%,0)}:is(.swiper-vertical>.swiper-pagination-bullets,.swiper-pagination-vertical.swiper-pagination-bullets) .swiper-pagination-bullet{margin:var(--swiper-pagination-bullet-vertical-gap, 6px) 0;display:block}:is(.swiper-vertical>.swiper-pagination-bullets,.swiper-pagination-vertical.swiper-pagination-bullets).swiper-pagination-bullets-dynamic{top:50%;transform:translateY(-50%);width:8px}:is(.swiper-vertical>.swiper-pagination-bullets,.swiper-pagination-vertical.swiper-pagination-bullets).swiper-pagination-bullets-dynamic .swiper-pagination-bullet{display:inline-block;transition:.2s transform,.2s top}:is(.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-horizontal.swiper-pagination-bullets) .swiper-pagination-bullet{margin:0 var(--swiper-pagination-bullet-horizontal-gap, 4px)}:is(.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-horizontal.swiper-pagination-bullets).swiper-pagination-bullets-dynamic{left:50%;transform:translate(-50%);white-space:nowrap}:is(.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-horizontal.swiper-pagination-bullets).swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s left}.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s right}.swiper-pagination-fraction{color:var(--swiper-pagination-fraction-color, inherit)}.swiper-pagination-progressbar{background:var(--swiper-pagination-progressbar-bg-color, rgba(0, 0, 0, .25));position:absolute}.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:var(--swiper-pagination-color, var(--swiper-theme-color));position:absolute;left:0;top:0;width:100%;height:100%;transform:scale(0);transform-origin:left top}.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{transform-origin:right top}.swiper-horizontal>.swiper-pagination-progressbar,.swiper-pagination-progressbar.swiper-pagination-horizontal,.swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite{width:100%;height:var(--swiper-pagination-progressbar-size, 4px);left:0;top:0}.swiper-vertical>.swiper-pagination-progressbar,.swiper-pagination-progressbar.swiper-pagination-vertical,.swiper-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite{width:var(--swiper-pagination-progressbar-size, 4px);height:100%;left:0;top:0}.swiper-pagination-lock{display:none}.swiper-scrollbar{border-radius:var(--swiper-scrollbar-border-radius, 10px);position:relative;touch-action:none;background:var(--swiper-scrollbar-bg-color, rgba(0, 0, 0, .1))}.swiper-scrollbar-disabled>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-disabled{display:none!important}.swiper-horizontal>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-horizontal{position:absolute;left:var(--swiper-scrollbar-sides-offset, 1%);bottom:var(--swiper-scrollbar-bottom, 4px);top:var(--swiper-scrollbar-top, auto);z-index:50;height:var(--swiper-scrollbar-size, 4px);width:calc(100% - 2 * var(--swiper-scrollbar-sides-offset, 1%))}.swiper-vertical>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-vertical{position:absolute;left:var(--swiper-scrollbar-left, auto);right:var(--swiper-scrollbar-right, 4px);top:var(--swiper-scrollbar-sides-offset, 1%);z-index:50;width:var(--swiper-scrollbar-size, 4px);height:calc(100% - 2 * var(--swiper-scrollbar-sides-offset, 1%))}.swiper-scrollbar-drag{height:100%;width:100%;position:relative;background:var(--swiper-scrollbar-drag-bg-color, rgba(0, 0, 0, .5));border-radius:var(--swiper-scrollbar-border-radius, 10px);left:0;top:0}.swiper-scrollbar-cursor-drag{cursor:move}.swiper-scrollbar-lock{display:none}.swiper-zoom-container{width:100%;height:100%;display:flex;justify-content:center;align-items:center;text-align:center}.swiper-zoom-container>img,.swiper-zoom-container>svg,.swiper-zoom-container>canvas{max-width:100%;max-height:100%;object-fit:contain}.swiper-slide-zoomed{cursor:move;touch-action:none}.swiper .swiper-notification{position:absolute;left:0;top:0;pointer-events:none;opacity:0;z-index:-1000}.swiper-free-mode>.swiper-wrapper{transition-timing-function:ease-out;margin:0 auto}.swiper-grid>.swiper-wrapper{flex-wrap:wrap}.swiper-grid-column>.swiper-wrapper{flex-wrap:wrap;flex-direction:column}.swiper-fade.swiper-free-mode .swiper-slide{transition-timing-function:ease-out}.swiper-fade .swiper-slide{pointer-events:none;transition-property:opacity}.swiper-fade .swiper-slide .swiper-slide{pointer-events:none}.swiper-fade .swiper-slide-active,.swiper-fade .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper.swiper-cube{overflow:visible}.swiper-cube .swiper-slide{pointer-events:none;backface-visibility:hidden;z-index:1;visibility:hidden;transform-origin:0 0;width:100%;height:100%}.swiper-cube .swiper-slide .swiper-slide{pointer-events:none}.swiper-cube.swiper-rtl .swiper-slide{transform-origin:100% 0}.swiper-cube .swiper-slide-active,.swiper-cube .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-cube .swiper-slide-active,.swiper-cube .swiper-slide-next,.swiper-cube .swiper-slide-prev{pointer-events:auto;visibility:visible}.swiper-cube .swiper-cube-shadow{position:absolute;left:0;bottom:0;width:100%;height:100%;opacity:.6;z-index:0}.swiper-cube .swiper-cube-shadow:before{content:\"\";background:#000;position:absolute;inset:0;filter:blur(50px)}.swiper-cube .swiper-slide-next+.swiper-slide{pointer-events:auto;visibility:visible}.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-top,.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-bottom,.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-left,.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-right{z-index:0;backface-visibility:hidden}.swiper.swiper-flip{overflow:visible}.swiper-flip .swiper-slide{pointer-events:none;backface-visibility:hidden;z-index:1}.swiper-flip .swiper-slide .swiper-slide{pointer-events:none}.swiper-flip .swiper-slide-active,.swiper-flip .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-top,.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-bottom,.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-left,.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-right{z-index:0;backface-visibility:hidden}.swiper-creative .swiper-slide{backface-visibility:hidden;overflow:hidden;transition-property:transform,opacity,height}.swiper.swiper-cards{overflow:visible}.swiper-cards .swiper-slide{transform-origin:center bottom;backface-visibility:hidden;overflow:hidden}@layer components{ax-file-viewer-container{--ax-fv-stage-pad: .75rem;--ax-fv-nav-size: 2.5rem;position:relative;box-sizing:border-box;display:flex;height:100%;min-height:calc(var(--spacing, .25rem) * 0);width:100%;max-width:100%;min-width:calc(var(--spacing, .25rem) * 0);flex-direction:column;overflow:hidden;border-radius:var(--radius-2xl, 1rem);border-style:var(--tw-border-style);border-width:1px;border-color:rgba(var(--ax-sys-color-border-lightest-surface));background-color:rgba(var(--ax-sys-color-lightest-surface));color:rgba(var(--ax-sys-color-on-lightest-surface));box-shadow:0 10px 30px rgba(var(--ax-sys-color-on-surface),.08)}ax-file-viewer-container>.ax-file-viewer__header,ax-file-viewer-container>.ax-file-viewer__stage,ax-file-viewer-container>.ax-file-viewer__thumbs{box-sizing:border-box;width:100%;max-width:100%;min-width:calc(var(--spacing, .25rem) * 0);background-color:rgba(var(--ax-sys-color-lightest-surface))}ax-file-viewer-container.ax-file-viewer--fullscreen{border-radius:0;background-color:rgba(var(--ax-sys-color-lightest-surface))}ax-file-viewer-container .ax-file-viewer__loading{position:absolute;inset:calc(var(--spacing, .25rem) * 0);z-index:10;display:flex;align-items:center;justify-content:center;--tw-backdrop-blur: blur(var(--blur-sm, 8px));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);background-color:rgba(var(--ax-sys-color-lightest-surface),.7)}ax-file-viewer-container .ax-file-viewer__stage--hidden,ax-file-viewer-container .ax-file-viewer__thumbs--hidden,ax-file-viewer-container .ax-file-viewer__empty--hidden{pointer-events:none;visibility:hidden}ax-file-viewer-container .ax-file-viewer__empty{box-sizing:border-box;display:flex;min-height:calc(var(--spacing, .25rem) * 0);width:100%;max-width:100%;min-width:calc(var(--spacing, .25rem) * 0);flex:1;align-items:center;justify-content:center;overflow:hidden;padding-inline:calc(var(--spacing, .25rem) * 4);padding-block:calc(var(--spacing, .25rem) * 8);background:linear-gradient(180deg,rgba(var(--ax-sys-color-primary-500),.04),rgba(var(--ax-sys-color-lighter-surface),.98) 45%)}ax-file-viewer-container .ax-file-viewer__header{box-sizing:border-box;display:grid;width:100%;max-width:100%;min-width:calc(var(--spacing, .25rem) * 0);flex-shrink:0;align-items:center;gap:calc(var(--spacing, .25rem) * 1);border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:rgba(var(--ax-sys-color-border-lightest-surface));background-color:rgba(var(--ax-sys-color-lightest-surface));padding-inline:calc(var(--spacing, .25rem) * 4);padding-block:calc(var(--spacing, .25rem) * 3);grid-template-columns:minmax(min-content,max-content) minmax(0,1fr) auto;grid-template-areas:\"meta content actions\"}ax-file-viewer-container .ax-file-viewer__header--no-content{grid-template-columns:minmax(min-content,max-content) auto;grid-template-areas:\"meta actions\"}ax-file-viewer-container .ax-file-viewer__meta{grid-area:meta;min-width:min-content;max-width:100%;justify-self:start}ax-file-viewer-container .ax-file-viewer__header-content{display:flex;width:100%;min-width:calc(var(--spacing, .25rem) * 0);align-items:center;justify-content:center;grid-area:content;justify-self:stretch}ax-file-viewer-container .ax-file-viewer__title-row{display:flex;min-width:calc(var(--spacing, .25rem) * 0);align-items:center;gap:calc(var(--spacing, .25rem) * 2)}ax-file-viewer-container .ax-file-viewer__name{overflow:hidden;font-size:var(--text-sm, .875rem);line-height:var(--tw-leading, var(--text-sm--line-height, calc(1.25 / .875)));--tw-font-weight: var(--font-weight-bold, 700);font-weight:var(--font-weight-bold, 700);text-overflow:ellipsis;white-space:nowrap}ax-file-viewer-container .ax-file-viewer__type-badge{flex-shrink:0}ax-file-viewer-container .ax-file-viewer__submeta{margin-top:calc(var(--spacing, .25rem) * .5);display:flex;flex-wrap:wrap;align-items:center;gap:calc(var(--spacing, .25rem) * 1.5);font-size:var(--text-xs, .75rem);line-height:var(--tw-leading, var(--text-xs--line-height, calc(1 / .75)));color:rgba(var(--ax-sys-color-on-surface),.65)}ax-file-viewer-container .ax-file-viewer__dot{opacity:55%}ax-file-viewer-container .ax-file-viewer__header-actions{display:flex;flex-shrink:0;align-items:center;gap:calc(var(--spacing, .25rem) * 1.5);grid-area:actions;justify-self:end}ax-file-viewer-container .ax-file-viewer__fullscreen-wrap{display:inline-flex;align-items:center;justify-content:center}ax-file-viewer-container .ax-file-viewer__stage{box-sizing:border-box;display:grid;min-height:calc(var(--spacing, .25rem) * 0);width:100%;max-width:100%;min-width:calc(var(--spacing, .25rem) * 0);flex:1;align-items:stretch;gap:calc(var(--spacing, .25rem) * 2);grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr);grid-template-areas:\"canvas\";padding:var(--ax-fv-stage-pad)}ax-file-viewer-container .ax-file-viewer__stage--nav{grid-template-columns:var(--ax-fv-nav-size) minmax(0,1fr) var(--ax-fv-nav-size);grid-template-areas:\"prev canvas next\";align-items:stretch}ax-file-viewer-container .ax-file-viewer__nav{z-index:2;align-self:center;justify-self:center;border-radius:calc(infinity * 1px)}ax-file-viewer-container .ax-file-viewer__nav.ax-disabled,ax-file-viewer-container .ax-file-viewer__nav[disabled]{cursor:not-allowed;opacity:35%;box-shadow:none!important}ax-file-viewer-container .ax-file-viewer__nav--prev{grid-area:prev}ax-file-viewer-container .ax-file-viewer__nav--next{grid-area:next}ax-file-viewer-container .ax-file-viewer__canvas{position:relative;box-sizing:border-box;height:100%;width:100%;max-width:100%;min-width:calc(var(--spacing, .25rem) * 0);align-self:stretch;overflow:hidden;border-radius:var(--radius-2xl, 1rem);grid-area:canvas;min-height:12rem}ax-file-viewer-container .ax-file-viewer__canvas .ax-carousel,ax-file-viewer-container .ax-file-viewer__canvas .swiper{box-sizing:border-box;height:100%;min-height:calc(var(--spacing, .25rem) * 0);width:100%;min-width:calc(var(--spacing, .25rem) * 0);overflow:hidden}ax-file-viewer-container .ax-file-viewer__canvas .ax-carousel-wrapper,ax-file-viewer-container .ax-file-viewer__canvas .swiper-wrapper{box-sizing:border-box;height:100%;align-items:stretch}ax-file-viewer-container .ax-file-viewer__canvas .ax-carousel-slide,ax-file-viewer-container .ax-file-viewer__canvas .swiper-slide{box-sizing:border-box;display:flex;height:100%;min-height:calc(var(--spacing, .25rem) * 0);min-width:calc(var(--spacing, .25rem) * 0);align-items:stretch;justify-content:stretch;overflow:hidden}ax-file-viewer-container .ax-file-viewer__canvas img,ax-file-viewer-container .ax-file-viewer__canvas video,ax-file-viewer-container .ax-file-viewer__canvas audio,ax-file-viewer-container .ax-file-viewer__canvas iframe,ax-file-viewer-container .ax-file-viewer__canvas ax-pdf-reader{max-height:100%;max-width:100%}ax-file-viewer-container .ax-file-viewer__overlay-counter{pointer-events:none;position:absolute;bottom:calc(var(--spacing, .25rem) * 5);left:50%;z-index:3;display:inline-flex;min-height:calc(var(--spacing, .25rem) * 6);min-width:calc(var(--spacing, .25rem) * 12);--tw-translate-x: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y);align-items:center;justify-content:center;border-radius:calc(infinity * 1px);border-style:var(--tw-border-style);border-width:1px;border-color:color-mix(in srgb,#fff 15%,transparent);background-color:color-mix(in srgb,#000 70%,transparent);padding-inline:calc(var(--spacing, .25rem) * 3);padding-block:calc(var(--spacing, .25rem) * 1);font-size:var(--text-xs, .75rem);line-height:var(--tw-leading, var(--text-xs--line-height, calc(1 / .75)));--tw-leading: 1;line-height:1;--tw-font-weight: var(--font-weight-semibold, 600);font-weight:var(--font-weight-semibold, 600);--tw-tracking: var(--tracking-wide, .025em);letter-spacing:var(--tracking-wide, .025em);color:var(--color-white, #fff);--tw-numeric-spacing: tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--tw-backdrop-blur: blur(var(--blur-md, 12px));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);text-shadow:0 1px 1px rgba(0,0,0,.35)}@supports (color: color-mix(in lab,red,red)){ax-file-viewer-container .ax-file-viewer__overlay-counter{border-color:color-mix(in oklab,var(--color-white, #fff) 15%,transparent)}}@supports (color: color-mix(in lab,red,red)){ax-file-viewer-container .ax-file-viewer__overlay-counter{background-color:color-mix(in oklab,var(--color-black, #000) 70%,transparent)}}ax-file-viewer-container .ax-file-viewer__thumbs{box-sizing:border-box;width:100%;max-width:100%;min-width:calc(var(--spacing, .25rem) * 0);flex-shrink:0;overflow:hidden;border-top-style:var(--tw-border-style);border-top-width:1px;border-color:rgba(var(--ax-sys-color-border-lightest-surface));background-color:rgba(var(--ax-sys-color-lightest-surface));padding-inline:calc(var(--spacing, .25rem) * 4);padding-top:calc(var(--spacing, .25rem) * 3);padding-bottom:calc(var(--spacing, .25rem) * 4)}ax-file-viewer-container .ax-file-viewer__thumbs-track{box-sizing:border-box;width:100%;max-width:100%;min-width:calc(var(--spacing, .25rem) * 0);overflow:hidden}ax-file-viewer-container .ax-file-viewer__thumbs-track .ax-carousel,ax-file-viewer-container .ax-file-viewer__thumbs-track .swiper{box-sizing:border-box;width:100%;max-width:100%;min-width:calc(var(--spacing, .25rem) * 0);overflow:hidden}ax-file-viewer-container .ax-file-viewer__thumbs-track .ax-carousel-wrapper,ax-file-viewer-container .ax-file-viewer__thumbs-track .swiper-wrapper{align-items:stretch}ax-file-viewer-container .ax-file-viewer__thumbs-track .ax-carousel-slide,ax-file-viewer-container .ax-file-viewer__thumbs-track .swiper-slide{box-sizing:border-box;height:auto;width:calc(var(--spacing, .25rem) * 28);max-width:calc(var(--spacing, .25rem) * 28);overflow:hidden}ax-file-viewer-container .ax-file-viewer__thumb{box-sizing:border-box;display:flex;width:calc(var(--spacing, .25rem) * 28);max-width:calc(var(--spacing, .25rem) * 28);cursor:pointer;flex-direction:column;overflow:hidden;border-radius:var(--radius-xl, .75rem);border-style:var(--tw-border-style);border-width:2px;border-color:rgba(var(--ax-sys-color-border-lightest-surface));background-color:rgba(var(--ax-sys-color-lightest-surface));transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease, var(--default-transition-timing-function, cubic-bezier(.4, 0, .2, 1)));transition-duration:var(--tw-duration, var(--default-transition-duration, .15s));--tw-duration: .15s;transition-duration:.15s}ax-file-viewer-container .ax-file-viewer__thumb:hover{border-color:rgba(var(--ax-sys-color-border-lighter-surface))}ax-file-viewer-container .ax-file-viewer__thumb.swiper-slide-thumb-active,ax-file-viewer-container .ax-file-viewer__thumb.ax-file-viewer__thumb--active{border-color:rgba(var(--ax-sys-color-success-500))}ax-file-viewer-container .ax-file-viewer__thumb[data-type=video].ax-file-viewer__thumb--active,ax-file-viewer-container .ax-file-viewer__thumb[data-type=video].swiper-slide-thumb-active{border-color:rgba(var(--ax-sys-color-primary-500))}ax-file-viewer-container .ax-file-viewer__thumb[data-type=audio].ax-file-viewer__thumb--active,ax-file-viewer-container .ax-file-viewer__thumb[data-type=audio].swiper-slide-thumb-active{border-color:rgba(var(--ax-sys-color-danger-500))}ax-file-viewer-container .ax-file-viewer__thumb[data-type=document].ax-file-viewer__thumb--active,ax-file-viewer-container .ax-file-viewer__thumb[data-type=document].swiper-slide-thumb-active{border-color:rgba(var(--ax-sys-color-warning-500))}ax-file-viewer-container .ax-file-viewer__thumb[data-type=file].ax-file-viewer__thumb--active,ax-file-viewer-container .ax-file-viewer__thumb[data-type=file].swiper-slide-thumb-active{border-color:rgba(var(--ax-sys-color-secondary-500))}ax-file-viewer-container .ax-file-viewer__thumb[data-type=image] .ax-file-viewer__thumb-preview i{color:rgba(var(--ax-sys-color-success-500))}ax-file-viewer-container .ax-file-viewer__thumb[data-type=video] .ax-file-viewer__thumb-preview i{color:rgba(var(--ax-sys-color-primary-500))}ax-file-viewer-container .ax-file-viewer__thumb[data-type=audio] .ax-file-viewer__thumb-preview i{color:rgba(var(--ax-sys-color-danger-500))}ax-file-viewer-container .ax-file-viewer__thumb[data-type=document] .ax-file-viewer__thumb-preview i{color:rgba(var(--ax-sys-color-warning-500))}ax-file-viewer-container .ax-file-viewer__thumb[data-type=file] .ax-file-viewer__thumb-preview i{color:rgba(var(--ax-sys-color-secondary-500))}ax-file-viewer-container .ax-file-viewer__thumb-preview{box-sizing:border-box;display:flex;aspect-ratio:1.4;width:100%;max-width:100%;min-width:calc(var(--spacing, .25rem) * 0);align-items:center;justify-content:center;overflow:hidden;background-color:rgba(var(--ax-sys-color-lighter-surface))}ax-file-viewer-container .ax-file-viewer__thumb-preview i{font-size:var(--text-2xl, 1.5rem);line-height:var(--tw-leading, var(--text-2xl--line-height, calc(2 / 1.5)));color:rgba(var(--ax-sys-color-on-surface),.65)}ax-file-viewer-container .ax-file-viewer__thumb-preview img{display:block;height:100%;width:100%;object-fit:cover}ax-file-viewer-container .ax-file-viewer__thumb-footer{box-sizing:border-box;display:grid;width:100%;max-width:100%;min-width:calc(var(--spacing, .25rem) * 0);align-items:center;gap:calc(var(--spacing, .25rem) * 1);border-top-style:var(--tw-border-style);border-top-width:1px;border-color:rgba(var(--ax-sys-color-border-lightest-surface));padding:calc(var(--spacing, .25rem) * 1.5);font-size:var(--text-xs, .75rem);line-height:var(--tw-leading, var(--text-xs--line-height, calc(1 / .75)));grid-template-columns:minmax(0,1fr);color:rgba(var(--ax-sys-color-on-surface),.65)}ax-file-viewer-container .ax-file-viewer__thumb-name{overflow:hidden;--tw-font-weight: var(--font-weight-medium, 500);font-weight:var(--font-weight-medium, 500);text-overflow:ellipsis;white-space:nowrap;color:rgba(var(--ax-sys-color-on-lightest-surface))}ax-file-viewer-container .ax-carousel-pagination{display:none}ax-file-viewer-container ax-file-viewer-slide{padding:calc(var(--spacing, .25rem) * 0)}@media(max-width:768px){ax-file-viewer-container{--ax-fv-stage-pad: .5rem;--ax-fv-nav-size: 2.25rem;border-radius:var(--radius-2xl, 1rem)}ax-file-viewer-container .ax-file-viewer__header{min-width:calc(var(--spacing, .25rem) * 0);column-gap:calc(var(--spacing, .25rem) * 3);row-gap:calc(var(--spacing, .25rem) * 2);padding-inline:calc(var(--spacing, .25rem) * 3);padding-block:calc(var(--spacing, .25rem) * 2.5)}ax-file-viewer-container .ax-file-viewer__name{font-size:var(--text-sm, .875rem);line-height:var(--tw-leading, var(--text-sm--line-height, calc(1.25 / .875)))}ax-file-viewer-container .ax-file-viewer__stage--nav{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:minmax(14rem,1fr) auto;grid-template-areas:\"canvas canvas\" \"prev next\";gap:calc(var(--spacing, .25rem) * 2);align-items:stretch}ax-file-viewer-container .ax-file-viewer__nav--prev{justify-self:end}ax-file-viewer-container .ax-file-viewer__nav--next{justify-self:start}ax-file-viewer-container .ax-file-viewer__canvas{min-height:14rem}ax-file-viewer-container .ax-file-viewer__thumbs{padding-inline:calc(var(--spacing, .25rem) * 3);padding-top:calc(var(--spacing, .25rem) * 2.5);padding-bottom:calc(var(--spacing, .25rem) * 3.5)}ax-file-viewer-container .ax-file-viewer__thumbs-track .ax-carousel-slide,ax-file-viewer-container .ax-file-viewer__thumbs-track .swiper-slide{width:calc(var(--spacing, .25rem) * 24);max-width:calc(var(--spacing, .25rem) * 24)}ax-file-viewer-container .ax-file-viewer__thumb{width:calc(var(--spacing, .25rem) * 24);max-width:calc(var(--spacing, .25rem) * 24)}}@media(max-width:480px){ax-file-viewer-container{--ax-fv-nav-size: 2rem;border-radius:var(--radius-xl, .75rem)}ax-file-viewer-container .ax-file-viewer__type-badge{display:none}ax-file-viewer-container .ax-file-viewer__thumbs{padding:calc(var(--spacing, .25rem) * 2)}ax-file-viewer-container .ax-file-viewer__thumbs-track .ax-carousel-slide,ax-file-viewer-container .ax-file-viewer__thumbs-track .swiper-slide{width:calc(var(--spacing, .25rem) * 20);max-width:calc(var(--spacing, .25rem) * 20)}ax-file-viewer-container .ax-file-viewer__thumb{width:calc(var(--spacing, .25rem) * 20);max-width:calc(var(--spacing, .25rem) * 20)}}.ax-file-viewer-gallery-overlay.ax-overlay-centered{pointer-events:auto}.ax-file-viewer-gallery-overlay.ax-overlay-centered .ax-overlay-content{display:flex;height:100dvh;max-height:100dvh;width:100vw;max-width:100vw;align-items:stretch;justify-content:stretch}.ax-file-viewer-gallery-overlay.ax-overlay-centered ax-file-viewer-container{pointer-events:auto;height:100%;min-height:calc(var(--spacing, .25rem) * 0);width:100%;border-radius:0}}@property --tw-border-style{syntax: \"*\"; inherits: false; initial-value: solid;}@property --tw-backdrop-blur{syntax: \"*\"; inherits: false;}@property --tw-backdrop-brightness{syntax: \"*\"; inherits: false;}@property --tw-backdrop-contrast{syntax: \"*\"; inherits: false;}@property --tw-backdrop-grayscale{syntax: \"*\"; inherits: false;}@property --tw-backdrop-hue-rotate{syntax: \"*\"; inherits: false;}@property --tw-backdrop-invert{syntax: \"*\"; inherits: false;}@property --tw-backdrop-opacity{syntax: \"*\"; inherits: false;}@property --tw-backdrop-saturate{syntax: \"*\"; inherits: false;}@property --tw-backdrop-sepia{syntax: \"*\"; inherits: false;}@property --tw-font-weight{syntax: \"*\"; inherits: false;}@property --tw-translate-x{syntax: \"*\"; inherits: false; initial-value: 0;}@property --tw-translate-y{syntax: \"*\"; inherits: false; initial-value: 0;}@property --tw-translate-z{syntax: \"*\"; inherits: false; initial-value: 0;}@property --tw-leading{syntax: \"*\"; inherits: false;}@property --tw-tracking{syntax: \"*\"; inherits: false;}@property --tw-ordinal{syntax: \"*\"; inherits: false;}@property --tw-slashed-zero{syntax: \"*\"; inherits: false;}@property --tw-numeric-figure{syntax: \"*\"; inherits: false;}@property --tw-numeric-spacing{syntax: \"*\"; inherits: false;}@property --tw-numeric-fraction{syntax: \"*\"; inherits: false;}@property --tw-duration{syntax: \"*\"; inherits: false;}@layer properties{@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style: solid;--tw-backdrop-blur: initial;--tw-backdrop-brightness: initial;--tw-backdrop-contrast: initial;--tw-backdrop-grayscale: initial;--tw-backdrop-hue-rotate: initial;--tw-backdrop-invert: initial;--tw-backdrop-opacity: initial;--tw-backdrop-saturate: initial;--tw-backdrop-sepia: initial;--tw-font-weight: initial;--tw-translate-x: 0;--tw-translate-y: 0;--tw-translate-z: 0;--tw-leading: initial;--tw-tracking: initial;--tw-ordinal: initial;--tw-slashed-zero: initial;--tw-numeric-figure: initial;--tw-numeric-spacing: initial;--tw-numeric-fraction: initial;--tw-duration: initial}}}\n/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */\n"] }]
659
- }], propDecorators: { items: [{ type: i0.Input, args: [{ isSignal: true, alias: "items", required: false }] }], startIndex: [{ type: i0.Input, args: [{ isSignal: true, alias: "startIndex", required: false }] }], thumbnail: [{ type: i0.Input, args: [{ isSignal: true, alias: "thumbnail", required: false }] }], pagination: [{ type: i0.Input, args: [{ isSignal: true, alias: "pagination", required: false }] }], download: [{ type: i0.Input, args: [{ isSignal: true, alias: "download", required: false }] }], fullscreen: [{ type: i0.Input, args: [{ isSignal: true, alias: "fullscreen", required: false }] }], headerActions: [{ type: i0.Input, args: [{ isSignal: true, alias: "headerActions", required: false }] }], galleryMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "galleryMode", required: false }] }], headerContent: [{ type: i0.Input, args: [{ isSignal: true, alias: "headerContent", required: false }] }], headerContentInputs: [{ type: i0.Input, args: [{ isSignal: true, alias: "headerContentInputs", required: false }] }], fallbackContent: [{ type: i0.Input, args: [{ isSignal: true, alias: "fallbackContent", required: false }] }], fallbackContentInputs: [{ type: i0.Input, args: [{ isSignal: true, alias: "fallbackContentInputs", required: false }] }], emptyContent: [{ type: i0.Input, args: [{ isSignal: true, alias: "emptyContent", required: false }] }], emptyContentInputs: [{ type: i0.Input, args: [{ isSignal: true, alias: "emptyContentInputs", required: false }] }], loading: [{ type: i0.Input, args: [{ isSignal: true, alias: "loading", required: false }] }], headerActionClick: [{ type: i0.Output, args: ["headerActionClick"] }], fullscreenClosed: [{ type: i0.Output, args: ["fullscreenClosed"] }], mainCarouselRef: [{ type: i0.ViewChild, args: ['mainCarousel', { isSignal: true }] }], thumbCarouselRef: [{ type: i0.ViewChild, args: ['thumbCarousel', { isSignal: true }] }] } });
724
+ ], template: "@if (isBusy()) {\n <div class=\"ax-file-viewer__loading\" aria-busy=\"true\" aria-live=\"polite\">\n <ax-loading></ax-loading>\n </div>\n}\n\n@if (isEmpty()) {\n <div class=\"ax-file-viewer__empty\" [class.ax-file-viewer__empty--hidden]=\"isBusy()\">\n @if (emptyTemplateContent(); as template) {\n <ng-container *ngTemplateOutlet=\"template\" />\n } @else if (emptyComponentContent(); as component) {\n <ng-container *ngComponentOutlet=\"component; inputs: emptyContentInputs() ?? {}\" />\n } @else {\n <ax-file-viewer-empty-state />\n }\n </div>\n} @else {\n @if (currentItem(); as item) {\n <header class=\"ax-file-viewer__header\" [class.ax-file-viewer__header--no-content]=\"!hasHeaderCenterContent()\">\n <div class=\"ax-file-viewer__meta\">\n <div class=\"ax-file-viewer__title-row\">\n <span class=\"ax-file-viewer__name\">{{ item.name || 'Untitled' }}</span>\n </div>\n <div class=\"ax-file-viewer__submeta\">\n @if (formatSize(item.size); as sizeLabel) {\n <span>{{ sizeLabel }}</span>\n <span class=\"ax-file-viewer__dot\">\u00B7</span>\n }\n <ax-badge\n class=\"ax-file-viewer__type-badge ax-pill ax-sm\"\n look=\"outline\"\n [color]=\"currentTypeColor()\"\n [text]=\"currentTypeLabel()\"\n />\n </div>\n </div>\n\n @if (hasHeaderCenterContent()) {\n <div class=\"ax-file-viewer__header-content\">\n @if (headerTemplateContent(); as template) {\n <ng-container *ngTemplateOutlet=\"template; context: headerContentContext()\" />\n } @else if (headerComponentContent(); as component) {\n <ng-container *ngComponentOutlet=\"component; inputs: headerContentInputs() ?? {}\" />\n }\n </div>\n }\n\n <div class=\"ax-file-viewer__header-actions\">\n @for (action of resolvedHeaderActions(); track action.name ?? action.text) {\n <ax-button\n class=\"rounded-full\"\n [color]=\"action.color ?? 'default'\"\n [iconOnly]=\"!!action.icon\"\n [disabled]=\"action.disabled\"\n [attr.aria-label]=\"action.text\"\n (onClick)=\"onHeaderActionClick(action, $event)\"\n >\n @if (action.isLoading) {\n <ax-loading></ax-loading>\n } @else if (action.icon) {\n <ax-icon [icon]=\"action.icon\"></ax-icon>\n } @else {\n {{ action.text }}\n }\n </ax-button>\n }\n </div>\n </header>\n }\n\n <div\n class=\"ax-file-viewer__stage\"\n [class.ax-file-viewer__stage--nav]=\"service.items().length > 1\"\n [class.ax-file-viewer__stage--hidden]=\"isBusy()\"\n >\n @if (service.items().length > 1) {\n <ax-button\n look=\"solid\"\n class=\"ax-file-viewer__nav ax-file-viewer__nav--prev\"\n color=\"default\"\n [iconOnly]=\"true\"\n [disabled]=\"isFirstSlide()\"\n (onClick)=\"prev()\"\n >\n <ax-icon icon=\"fa-light fa-chevron-left\"></ax-icon>\n </ax-button>\n }\n\n <div class=\"ax-file-viewer__canvas\">\n <div #mainCarousel=\"axCarousel\" axCarousel class=\"ax-carousel\">\n <div class=\"ax-carousel-wrapper\">\n @for (file of service.items(); track file.id) {\n <div class=\"ax-carousel-slide\">\n <ax-file-viewer-slide\n [item]=\"file\"\n [index]=\"$index\"\n [fallbackContent]=\"fallbackContent()\"\n [fallbackContentInputs]=\"fallbackContentInputs()\"\n />\n </div>\n }\n </div>\n </div>\n\n @if (service.items().length > 0) {\n <span class=\"ax-file-viewer__overlay-counter\">{{ slideCounter() }}</span>\n }\n </div>\n\n @if (service.items().length > 1) {\n <ax-button\n class=\"ax-file-viewer__nav ax-file-viewer__nav--next\"\n look=\"solid\"\n color=\"default\"\n [iconOnly]=\"true\"\n [disabled]=\"isLastSlide()\"\n (onClick)=\"next()\"\n >\n <ax-icon icon=\"fa-light fa-chevron-right\"></ax-icon>\n </ax-button>\n }\n </div>\n\n @if (thumbnail() && service.items().length > 1) {\n <footer class=\"ax-file-viewer__thumbs\" [class.ax-file-viewer__thumbs--hidden]=\"isBusy()\">\n <div class=\"ax-file-viewer__thumbs-track\">\n <div #thumbCarousel=\"axCarousel\" axCarousel class=\"ax-carousel\">\n <div class=\"ax-carousel-wrapper\">\n @for (file of service.items(); track file.id) {\n <div\n class=\"ax-carousel-slide ax-file-viewer__thumb\"\n [attr.data-type]=\"resolveFileType(file)\"\n (click)=\"goToIndex($index)\"\n >\n <ax-file-viewer-thumb-preview [item]=\"file\" />\n <div class=\"ax-file-viewer__thumb-footer\">\n <span class=\"ax-file-viewer__thumb-name\">{{ file.name || resolveTypeLabel(file) }}</span>\n </div>\n </div>\n }\n </div>\n </div>\n </div>\n </footer>\n }\n}\n", styles: ["@layer properties;:root{--swiper-theme-color: #007aff}:host{position:relative;display:block;margin-left:auto;margin-right:auto;z-index:1}.swiper{margin-left:auto;margin-right:auto;position:relative;overflow:hidden;list-style:none;padding:0;z-index:1;display:block}.swiper-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:flex;transition-property:transform;transition-timing-function:var(--swiper-wrapper-transition-timing-function, initial);box-sizing:content-box}.swiper-android .swiper-slide,.swiper-ios .swiper-slide,.swiper-wrapper{transform:translateZ(0)}.swiper-horizontal{touch-action:pan-y}.swiper-vertical{touch-action:pan-x}.swiper-slide{flex-shrink:0;width:100%;height:100%;position:relative;transition-property:transform;display:block}.swiper-slide-invisible-blank{visibility:hidden}.swiper-autoheight,.swiper-autoheight .swiper-slide{height:auto}.swiper-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-backface-hidden .swiper-slide{transform:translateZ(0);backface-visibility:hidden}.swiper-3d.swiper-css-mode .swiper-wrapper{perspective:1200px}.swiper-3d .swiper-wrapper{transform-style:preserve-3d}.swiper-3d{perspective:1200px}.swiper-3d .swiper-slide,.swiper-3d .swiper-cube-shadow{transform-style:preserve-3d}.swiper-css-mode>.swiper-wrapper{overflow:auto;scrollbar-width:none;-ms-overflow-style:none}.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar{display:none}.swiper-css-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:start start}.swiper-css-mode.swiper-horizontal>.swiper-wrapper{scroll-snap-type:x mandatory}.swiper-css-mode.swiper-vertical>.swiper-wrapper{scroll-snap-type:y mandatory}.swiper-css-mode.swiper-free-mode>.swiper-wrapper{scroll-snap-type:none}.swiper-css-mode.swiper-free-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:none}.swiper-css-mode.swiper-centered>.swiper-wrapper:before{content:\"\";flex-shrink:0;order:9999}.swiper-css-mode.swiper-centered>.swiper-wrapper>.swiper-slide{scroll-snap-align:center center;scroll-snap-stop:always}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper:before{height:100%;min-height:1px;width:var(--swiper-centered-offset-after)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper:before{width:100%;min-width:1px;height:var(--swiper-centered-offset-after)}.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top,.swiper-3d .swiper-slide-shadow-bottom{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}.swiper-3d .swiper-slide-shadow{background:#00000026}.swiper-3d .swiper-slide-shadow-left{background-image:linear-gradient(to left,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-right{background-image:linear-gradient(to right,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-top{background-image:linear-gradient(to top,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-bottom{background-image:linear-gradient(to bottom,#00000080,#0000)}.swiper-lazy-preloader{width:42px;height:42px;position:absolute;left:50%;top:50%;margin-left:-21px;margin-top:-21px;z-index:10;transform-origin:50%;box-sizing:border-box;border:4px solid var(--swiper-preloader-color, var(--swiper-theme-color));border-radius:50%;border-top-color:transparent}:is(.swiper:not(.swiper-watch-progress),.swiper-watch-progress .swiper-slide-visible) .swiper-lazy-preloader{animation:swiper-preloader-spin 1s infinite linear}.swiper-lazy-preloader-white{--swiper-preloader-color: #fff}.swiper-lazy-preloader-black{--swiper-preloader-color: #000}@keyframes swiper-preloader-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.swiper-virtual .swiper-slide{-webkit-backface-visibility:hidden;transform:translateZ(0)}.swiper-virtual.swiper-css-mode .swiper-wrapper:after{content:\"\";position:absolute;left:0;top:0;pointer-events:none}.swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper:after{height:1px;width:var(--swiper-virtual-size)}.swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper:after{width:1px;height:var(--swiper-virtual-size)}:root{--swiper-navigation-size: 44px}.swiper-button-prev,.swiper-button-next{position:absolute;width:var(--swiper-navigation-size);height:var(--swiper-navigation-size);z-index:10;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--swiper-navigation-color, var(--swiper-theme-color))}:is(.swiper-button-prev,.swiper-button-next).swiper-button-disabled{opacity:.35;cursor:auto;pointer-events:none}:is(.swiper-button-prev,.swiper-button-next).swiper-button-hidden{opacity:0;cursor:auto;pointer-events:none}.swiper-navigation-disabled :is(.swiper-button-prev,.swiper-button-next){display:none!important}:is(.swiper-button-prev,.swiper-button-next) svg{width:100%;height:100%;object-fit:contain;transform-origin:center;fill:currentColor;pointer-events:none}.swiper-button-lock{display:none}.swiper-button-prev,.swiper-button-next{top:var(--swiper-navigation-top-offset, 50%);margin-top:calc(0px - (var(--swiper-navigation-size) / 2))}.swiper-button-prev{left:var(--swiper-navigation-sides-offset, 4px);right:auto}.swiper-button-prev .swiper-navigation-icon{transform:rotate(180deg)}.swiper-button-next{right:var(--swiper-navigation-sides-offset, 4px);left:auto}.swiper-horizontal .swiper-button-prev,.swiper-horizontal .swiper-button-next,.swiper-horizontal~.swiper-button-prev,.swiper-horizontal~.swiper-button-next{top:var(--swiper-navigation-top-offset, 50%);margin-top:calc(0px - (var(--swiper-navigation-size) / 2));margin-left:0}.swiper-horizontal .swiper-button-prev,.swiper-horizontal~.swiper-button-prev,.swiper-horizontal.swiper-rtl .swiper-button-next,.swiper-horizontal.swiper-rtl~.swiper-button-next{left:var(--swiper-navigation-sides-offset, 4px);right:auto}.swiper-horizontal .swiper-button-next,.swiper-horizontal~.swiper-button-next,.swiper-horizontal.swiper-rtl .swiper-button-prev,.swiper-horizontal.swiper-rtl~.swiper-button-prev{right:var(--swiper-navigation-sides-offset, 4px);left:auto}:is(.swiper-horizontal .swiper-button-prev,.swiper-horizontal~.swiper-button-prev,.swiper-horizontal.swiper-rtl .swiper-button-next,.swiper-horizontal.swiper-rtl~.swiper-button-next) .swiper-navigation-icon{transform:rotate(180deg)}:is(.swiper-horizontal.swiper-rtl .swiper-button-prev,.swiper-horizontal.swiper-rtl~.swiper-button-prev) .swiper-navigation-icon{transform:rotate(0)}.swiper-vertical .swiper-button-prev,.swiper-vertical .swiper-button-next,.swiper-vertical~.swiper-button-prev,.swiper-vertical~.swiper-button-next{left:var(--swiper-navigation-top-offset, 50%);right:auto;margin-left:calc(0px - (var(--swiper-navigation-size) / 2));margin-top:0}.swiper-vertical .swiper-button-prev,.swiper-vertical~.swiper-button-prev{top:var(--swiper-navigation-sides-offset, 4px);bottom:auto}:is(.swiper-vertical .swiper-button-prev,.swiper-vertical~.swiper-button-prev) .swiper-navigation-icon{transform:rotate(-90deg)}.swiper-vertical .swiper-button-next,.swiper-vertical~.swiper-button-next{bottom:var(--swiper-navigation-sides-offset, 4px);top:auto}:is(.swiper-vertical .swiper-button-next,.swiper-vertical~.swiper-button-next) .swiper-navigation-icon{transform:rotate(90deg)}.swiper-pagination{position:absolute;text-align:center;transition:.3s opacity;transform:translateZ(0);z-index:10}.swiper-pagination.swiper-pagination-hidden{opacity:0}.swiper-pagination-disabled>.swiper-pagination,.swiper-pagination.swiper-pagination-disabled{display:none!important}.swiper-pagination-fraction,.swiper-pagination-custom,.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-bullets.swiper-pagination-horizontal{bottom:var(--swiper-pagination-bottom, 8px);top:var(--swiper-pagination-top, auto);left:0;width:100%}.swiper-pagination-bullets-dynamic{overflow:hidden;font-size:0}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transform:scale(.33);position:relative}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active,.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev{transform:scale(.33)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next{transform:scale(.33)}.swiper-pagination-bullet{width:var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 8px));height:var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 8px));display:inline-block;border-radius:var(--swiper-pagination-bullet-border-radius, 50%);background:var(--swiper-pagination-bullet-inactive-color, #000);opacity:var(--swiper-pagination-bullet-inactive-opacity, .2)}button.swiper-pagination-bullet{border:none;margin:0;padding:0;box-shadow:none;-webkit-appearance:none;appearance:none}.swiper-pagination-clickable .swiper-pagination-bullet{cursor:pointer}.swiper-pagination-bullet:only-child{display:none!important}.swiper-pagination-bullet-active{opacity:var(--swiper-pagination-bullet-opacity, 1);background:var(--swiper-pagination-color, var(--swiper-theme-color))}.swiper-vertical>.swiper-pagination-bullets,.swiper-pagination-vertical.swiper-pagination-bullets{right:var(--swiper-pagination-right, 8px);left:var(--swiper-pagination-left, auto);top:50%;transform:translate3d(0,-50%,0)}:is(.swiper-vertical>.swiper-pagination-bullets,.swiper-pagination-vertical.swiper-pagination-bullets) .swiper-pagination-bullet{margin:var(--swiper-pagination-bullet-vertical-gap, 6px) 0;display:block}:is(.swiper-vertical>.swiper-pagination-bullets,.swiper-pagination-vertical.swiper-pagination-bullets).swiper-pagination-bullets-dynamic{top:50%;transform:translateY(-50%);width:8px}:is(.swiper-vertical>.swiper-pagination-bullets,.swiper-pagination-vertical.swiper-pagination-bullets).swiper-pagination-bullets-dynamic .swiper-pagination-bullet{display:inline-block;transition:.2s transform,.2s top}:is(.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-horizontal.swiper-pagination-bullets) .swiper-pagination-bullet{margin:0 var(--swiper-pagination-bullet-horizontal-gap, 4px)}:is(.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-horizontal.swiper-pagination-bullets).swiper-pagination-bullets-dynamic{left:50%;transform:translate(-50%);white-space:nowrap}:is(.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-horizontal.swiper-pagination-bullets).swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s left}.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s right}.swiper-pagination-fraction{color:var(--swiper-pagination-fraction-color, inherit)}.swiper-pagination-progressbar{background:var(--swiper-pagination-progressbar-bg-color, rgba(0, 0, 0, .25));position:absolute}.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:var(--swiper-pagination-color, var(--swiper-theme-color));position:absolute;left:0;top:0;width:100%;height:100%;transform:scale(0);transform-origin:left top}.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{transform-origin:right top}.swiper-horizontal>.swiper-pagination-progressbar,.swiper-pagination-progressbar.swiper-pagination-horizontal,.swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite{width:100%;height:var(--swiper-pagination-progressbar-size, 4px);left:0;top:0}.swiper-vertical>.swiper-pagination-progressbar,.swiper-pagination-progressbar.swiper-pagination-vertical,.swiper-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite{width:var(--swiper-pagination-progressbar-size, 4px);height:100%;left:0;top:0}.swiper-pagination-lock{display:none}.swiper-scrollbar{border-radius:var(--swiper-scrollbar-border-radius, 10px);position:relative;touch-action:none;background:var(--swiper-scrollbar-bg-color, rgba(0, 0, 0, .1))}.swiper-scrollbar-disabled>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-disabled{display:none!important}.swiper-horizontal>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-horizontal{position:absolute;left:var(--swiper-scrollbar-sides-offset, 1%);bottom:var(--swiper-scrollbar-bottom, 4px);top:var(--swiper-scrollbar-top, auto);z-index:50;height:var(--swiper-scrollbar-size, 4px);width:calc(100% - 2 * var(--swiper-scrollbar-sides-offset, 1%))}.swiper-vertical>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-vertical{position:absolute;left:var(--swiper-scrollbar-left, auto);right:var(--swiper-scrollbar-right, 4px);top:var(--swiper-scrollbar-sides-offset, 1%);z-index:50;width:var(--swiper-scrollbar-size, 4px);height:calc(100% - 2 * var(--swiper-scrollbar-sides-offset, 1%))}.swiper-scrollbar-drag{height:100%;width:100%;position:relative;background:var(--swiper-scrollbar-drag-bg-color, rgba(0, 0, 0, .5));border-radius:var(--swiper-scrollbar-border-radius, 10px);left:0;top:0}.swiper-scrollbar-cursor-drag{cursor:move}.swiper-scrollbar-lock{display:none}.swiper-zoom-container{width:100%;height:100%;display:flex;justify-content:center;align-items:center;text-align:center}.swiper-zoom-container>img,.swiper-zoom-container>svg,.swiper-zoom-container>canvas{max-width:100%;max-height:100%;object-fit:contain}.swiper-slide-zoomed{cursor:move;touch-action:none}.swiper .swiper-notification{position:absolute;left:0;top:0;pointer-events:none;opacity:0;z-index:-1000}.swiper-free-mode>.swiper-wrapper{transition-timing-function:ease-out;margin:0 auto}.swiper-grid>.swiper-wrapper{flex-wrap:wrap}.swiper-grid-column>.swiper-wrapper{flex-wrap:wrap;flex-direction:column}.swiper-fade.swiper-free-mode .swiper-slide{transition-timing-function:ease-out}.swiper-fade .swiper-slide{pointer-events:none;transition-property:opacity}.swiper-fade .swiper-slide .swiper-slide{pointer-events:none}.swiper-fade .swiper-slide-active,.swiper-fade .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper.swiper-cube{overflow:visible}.swiper-cube .swiper-slide{pointer-events:none;backface-visibility:hidden;z-index:1;visibility:hidden;transform-origin:0 0;width:100%;height:100%}.swiper-cube .swiper-slide .swiper-slide{pointer-events:none}.swiper-cube.swiper-rtl .swiper-slide{transform-origin:100% 0}.swiper-cube .swiper-slide-active,.swiper-cube .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-cube .swiper-slide-active,.swiper-cube .swiper-slide-next,.swiper-cube .swiper-slide-prev{pointer-events:auto;visibility:visible}.swiper-cube .swiper-cube-shadow{position:absolute;left:0;bottom:0;width:100%;height:100%;opacity:.6;z-index:0}.swiper-cube .swiper-cube-shadow:before{content:\"\";background:#000;position:absolute;inset:0;filter:blur(50px)}.swiper-cube .swiper-slide-next+.swiper-slide{pointer-events:auto;visibility:visible}.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-top,.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-bottom,.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-left,.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-right{z-index:0;backface-visibility:hidden}.swiper.swiper-flip{overflow:visible}.swiper-flip .swiper-slide{pointer-events:none;backface-visibility:hidden;z-index:1}.swiper-flip .swiper-slide .swiper-slide{pointer-events:none}.swiper-flip .swiper-slide-active,.swiper-flip .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-top,.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-bottom,.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-left,.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-right{z-index:0;backface-visibility:hidden}.swiper-creative .swiper-slide{backface-visibility:hidden;overflow:hidden;transition-property:transform,opacity,height}.swiper.swiper-cards{overflow:visible}.swiper-cards .swiper-slide{transform-origin:center bottom;backface-visibility:hidden;overflow:hidden}@layer components{ax-file-viewer-container{--ax-fv-stage-pad: .75rem;--ax-fv-nav-size: 2.5rem;position:relative;box-sizing:border-box;display:flex;height:100%;min-height:calc(var(--spacing, .25rem) * 0);width:100%;max-width:100%;min-width:calc(var(--spacing, .25rem) * 0);flex-direction:column;overflow:hidden;border-radius:var(--radius-lg, .5rem);border-style:var(--tw-border-style);border-width:1px;border-color:rgba(var(--ax-sys-color-border-lightest-surface));background-color:rgba(var(--ax-sys-color-lightest-surface));color:rgba(var(--ax-sys-color-on-lightest-surface))}ax-file-viewer-container>.ax-file-viewer__header,ax-file-viewer-container>.ax-file-viewer__stage,ax-file-viewer-container>.ax-file-viewer__thumbs{box-sizing:border-box;width:100%;max-width:100%;min-width:calc(var(--spacing, .25rem) * 0);background-color:rgba(var(--ax-sys-color-lightest-surface))}ax-file-viewer-container.ax-file-viewer--fullscreen{border-radius:0;background-color:rgba(var(--ax-sys-color-lightest-surface))}ax-file-viewer-container .ax-file-viewer__loading{position:absolute;inset:calc(var(--spacing, .25rem) * 0);z-index:10;display:flex;align-items:center;justify-content:center;--tw-backdrop-blur: blur(var(--blur-sm, 8px));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);background-color:rgba(var(--ax-sys-color-lightest-surface),.7)}ax-file-viewer-container .ax-file-viewer__stage--hidden,ax-file-viewer-container .ax-file-viewer__thumbs--hidden,ax-file-viewer-container .ax-file-viewer__empty--hidden{pointer-events:none;visibility:hidden}ax-file-viewer-container .ax-file-viewer__empty{box-sizing:border-box;display:flex;min-height:calc(var(--spacing, .25rem) * 0);width:100%;max-width:100%;min-width:calc(var(--spacing, .25rem) * 0);flex:1;align-items:center;justify-content:center;overflow:hidden;padding-inline:calc(var(--spacing, .25rem) * 4);padding-block:calc(var(--spacing, .25rem) * 8)}ax-file-viewer-container .ax-file-viewer__header{box-sizing:border-box;display:grid;width:100%;max-width:100%;min-width:calc(var(--spacing, .25rem) * 0);flex-shrink:0;align-items:center;gap:calc(var(--spacing, .25rem) * 1);border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:rgba(var(--ax-sys-color-border-lightest-surface));background-color:rgba(var(--ax-sys-color-lightest-surface));padding-inline:calc(var(--spacing, .25rem) * 4);padding-block:calc(var(--spacing, .25rem) * 3);grid-template-columns:minmax(min-content,max-content) minmax(0,1fr) auto;grid-template-areas:\"meta content actions\"}ax-file-viewer-container .ax-file-viewer__header--no-content{grid-template-columns:minmax(min-content,max-content) auto;grid-template-areas:\"meta actions\"}ax-file-viewer-container .ax-file-viewer__meta{grid-area:meta;min-width:min-content;max-width:100%;justify-self:start}ax-file-viewer-container .ax-file-viewer__header-content{display:flex;width:100%;min-width:calc(var(--spacing, .25rem) * 0);align-items:center;justify-content:center;grid-area:content;justify-self:stretch}ax-file-viewer-container .ax-file-viewer__title-row{display:flex;min-width:calc(var(--spacing, .25rem) * 0);align-items:center;gap:calc(var(--spacing, .25rem) * 2)}ax-file-viewer-container .ax-file-viewer__name{overflow:hidden;font-size:var(--text-sm, .875rem);line-height:var(--tw-leading, var(--text-sm--line-height, calc(1.25 / .875)));--tw-font-weight: var(--font-weight-bold, 700);font-weight:var(--font-weight-bold, 700);text-overflow:ellipsis;white-space:nowrap}ax-file-viewer-container .ax-file-viewer__type-badge{flex-shrink:0}ax-file-viewer-container .ax-file-viewer__submeta{margin-top:calc(var(--spacing, .25rem) * .5);display:flex;flex-wrap:wrap;align-items:center;gap:calc(var(--spacing, .25rem) * 1.5);font-size:var(--text-xs, .75rem);line-height:var(--tw-leading, var(--text-xs--line-height, calc(1 / .75)));color:rgba(var(--ax-sys-color-on-surface),.65)}ax-file-viewer-container .ax-file-viewer__dot{opacity:55%}ax-file-viewer-container .ax-file-viewer__header-actions{display:flex;flex-shrink:0;align-items:center;gap:calc(var(--spacing, .25rem) * 1.5);grid-area:actions;justify-self:end}ax-file-viewer-container .ax-file-viewer__fullscreen-wrap{display:inline-flex;align-items:center;justify-content:center}ax-file-viewer-container .ax-file-viewer__stage{position:relative;box-sizing:border-box;display:grid;min-height:calc(var(--spacing, .25rem) * 0);width:100%;max-width:100%;min-width:calc(var(--spacing, .25rem) * 0);flex:1;align-items:stretch;gap:calc(var(--spacing, .25rem) * 2);grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr);grid-template-areas:\"canvas\";padding:var(--ax-fv-stage-pad)}ax-file-viewer-container .ax-file-viewer__stage--nav{grid-template-columns:var(--ax-fv-nav-size) minmax(0,1fr) var(--ax-fv-nav-size);grid-template-areas:\"prev canvas next\";align-items:stretch}ax-file-viewer-container .ax-file-viewer__nav{z-index:2;align-self:center;justify-self:center;border-radius:calc(infinity * 1px)}ax-file-viewer-container .ax-file-viewer__nav.ax-disabled,ax-file-viewer-container .ax-file-viewer__nav[disabled]{cursor:not-allowed;opacity:35%;box-shadow:none!important}ax-file-viewer-container .ax-file-viewer__nav--prev{grid-area:prev}ax-file-viewer-container .ax-file-viewer__nav--next{grid-area:next}ax-file-viewer-container .ax-file-viewer__canvas{position:relative;box-sizing:border-box;height:100%;width:100%;max-width:100%;min-width:calc(var(--spacing, .25rem) * 0);align-self:stretch;overflow:hidden;border-radius:var(--radius-2xl, 1rem);grid-area:canvas;min-height:12rem}ax-file-viewer-container .ax-file-viewer__canvas .ax-carousel,ax-file-viewer-container .ax-file-viewer__canvas .swiper{box-sizing:border-box;height:100%;min-height:calc(var(--spacing, .25rem) * 0);width:100%;min-width:calc(var(--spacing, .25rem) * 0);overflow:hidden}ax-file-viewer-container .ax-file-viewer__canvas .ax-carousel-wrapper,ax-file-viewer-container .ax-file-viewer__canvas .swiper-wrapper{box-sizing:border-box;height:100%;align-items:stretch}ax-file-viewer-container .ax-file-viewer__canvas .ax-carousel-slide,ax-file-viewer-container .ax-file-viewer__canvas .swiper-slide{box-sizing:border-box;display:flex;height:100%;min-height:calc(var(--spacing, .25rem) * 0);min-width:calc(var(--spacing, .25rem) * 0);align-items:stretch;justify-content:stretch;overflow:hidden}ax-file-viewer-container .ax-file-viewer__canvas img,ax-file-viewer-container .ax-file-viewer__canvas video,ax-file-viewer-container .ax-file-viewer__canvas audio,ax-file-viewer-container .ax-file-viewer__canvas iframe,ax-file-viewer-container .ax-file-viewer__canvas ax-pdf-reader{max-height:100%;max-width:100%}ax-file-viewer-container .ax-file-viewer__canvas img{-webkit-user-drag:none;pointer-events:none}ax-file-viewer-container .ax-file-viewer__overlay-counter{pointer-events:none;position:absolute;bottom:calc(var(--spacing, .25rem) * 5);left:50%;z-index:3;display:inline-flex;min-height:calc(var(--spacing, .25rem) * 6);min-width:calc(var(--spacing, .25rem) * 12);--tw-translate-x: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y);align-items:center;justify-content:center;border-radius:calc(infinity * 1px);border-style:var(--tw-border-style);border-width:1px;border-color:color-mix(in srgb,#fff 15%,transparent);background-color:color-mix(in srgb,#000 70%,transparent);padding-inline:calc(var(--spacing, .25rem) * 3);padding-block:calc(var(--spacing, .25rem) * 1);font-size:var(--text-xs, .75rem);line-height:var(--tw-leading, var(--text-xs--line-height, calc(1 / .75)));--tw-leading: 1;line-height:1;--tw-font-weight: var(--font-weight-semibold, 600);font-weight:var(--font-weight-semibold, 600);--tw-tracking: var(--tracking-wide, .025em);letter-spacing:var(--tracking-wide, .025em);color:var(--color-white, #fff);--tw-numeric-spacing: tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--tw-backdrop-blur: blur(var(--blur-md, 12px));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);text-shadow:0 1px 1px rgba(0,0,0,.35)}@supports (color: color-mix(in lab,red,red)){ax-file-viewer-container .ax-file-viewer__overlay-counter{border-color:color-mix(in oklab,var(--color-white, #fff) 15%,transparent)}}@supports (color: color-mix(in lab,red,red)){ax-file-viewer-container .ax-file-viewer__overlay-counter{background-color:color-mix(in oklab,var(--color-black, #000) 70%,transparent)}}ax-file-viewer-container .ax-file-viewer__thumbs{box-sizing:border-box;width:100%;max-width:100%;min-width:calc(var(--spacing, .25rem) * 0);flex-shrink:0;overflow:hidden;border-top-style:var(--tw-border-style);border-top-width:1px;border-color:rgba(var(--ax-sys-color-border-lightest-surface));background-color:rgba(var(--ax-sys-color-lightest-surface));padding-inline:calc(var(--spacing, .25rem) * 4);padding-top:calc(var(--spacing, .25rem) * 3);padding-bottom:calc(var(--spacing, .25rem) * 4)}ax-file-viewer-container .ax-file-viewer__thumbs-track{box-sizing:border-box;width:100%;max-width:100%;min-width:calc(var(--spacing, .25rem) * 0);overflow:hidden}ax-file-viewer-container .ax-file-viewer__thumbs-track .ax-carousel,ax-file-viewer-container .ax-file-viewer__thumbs-track .swiper{box-sizing:border-box;width:100%;max-width:100%;min-width:calc(var(--spacing, .25rem) * 0);overflow:hidden}ax-file-viewer-container .ax-file-viewer__thumbs-track .ax-carousel-wrapper,ax-file-viewer-container .ax-file-viewer__thumbs-track .swiper-wrapper{align-items:stretch}ax-file-viewer-container .ax-file-viewer__thumbs-track .ax-carousel-slide,ax-file-viewer-container .ax-file-viewer__thumbs-track .swiper-slide{box-sizing:border-box;height:auto;width:calc(var(--spacing, .25rem) * 28);max-width:calc(var(--spacing, .25rem) * 28);overflow:hidden}ax-file-viewer-container .ax-file-viewer__thumb{box-sizing:border-box;display:flex;width:calc(var(--spacing, .25rem) * 28);max-width:calc(var(--spacing, .25rem) * 28);cursor:pointer;flex-direction:column;overflow:hidden;border-radius:var(--radius-xl, .75rem);border-style:var(--tw-border-style);border-width:2px;border-color:rgba(var(--ax-sys-color-border-lightest-surface));background-color:rgba(var(--ax-sys-color-lightest-surface));transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease, var(--default-transition-timing-function, cubic-bezier(.4, 0, .2, 1)));transition-duration:var(--tw-duration, var(--default-transition-duration, .15s));--tw-duration: .15s;transition-duration:.15s}ax-file-viewer-container .ax-file-viewer__thumb:hover{border-color:rgba(var(--ax-sys-color-border-lighter-surface))}ax-file-viewer-container .ax-file-viewer__thumb.swiper-slide-thumb-active,ax-file-viewer-container .ax-file-viewer__thumb.ax-file-viewer__thumb--active{border-color:rgba(var(--ax-sys-color-success-500))}ax-file-viewer-container .ax-file-viewer__thumb[data-type=video].ax-file-viewer__thumb--active,ax-file-viewer-container .ax-file-viewer__thumb[data-type=video].swiper-slide-thumb-active{border-color:rgba(var(--ax-sys-color-primary-500))}ax-file-viewer-container .ax-file-viewer__thumb[data-type=audio].ax-file-viewer__thumb--active,ax-file-viewer-container .ax-file-viewer__thumb[data-type=audio].swiper-slide-thumb-active{border-color:rgba(var(--ax-sys-color-danger-500))}ax-file-viewer-container .ax-file-viewer__thumb[data-type=document].ax-file-viewer__thumb--active,ax-file-viewer-container .ax-file-viewer__thumb[data-type=document].swiper-slide-thumb-active{border-color:rgba(var(--ax-sys-color-warning-500))}ax-file-viewer-container .ax-file-viewer__thumb[data-type=file].ax-file-viewer__thumb--active,ax-file-viewer-container .ax-file-viewer__thumb[data-type=file].swiper-slide-thumb-active{border-color:rgba(var(--ax-sys-color-secondary-500))}ax-file-viewer-container .ax-file-viewer__thumb[data-type=image] .ax-file-viewer__thumb-preview i{color:rgba(var(--ax-sys-color-success-500))}ax-file-viewer-container .ax-file-viewer__thumb[data-type=video] .ax-file-viewer__thumb-preview i{color:rgba(var(--ax-sys-color-primary-500))}ax-file-viewer-container .ax-file-viewer__thumb[data-type=audio] .ax-file-viewer__thumb-preview i{color:rgba(var(--ax-sys-color-danger-500))}ax-file-viewer-container .ax-file-viewer__thumb[data-type=document] .ax-file-viewer__thumb-preview i{color:rgba(var(--ax-sys-color-warning-500))}ax-file-viewer-container .ax-file-viewer__thumb[data-type=file] .ax-file-viewer__thumb-preview i{color:rgba(var(--ax-sys-color-secondary-500))}ax-file-viewer-container .ax-file-viewer__thumb-preview{box-sizing:border-box;display:flex;aspect-ratio:1.4;width:100%;max-width:100%;min-width:calc(var(--spacing, .25rem) * 0);align-items:center;justify-content:center;overflow:hidden;background-color:rgba(var(--ax-sys-color-lighter-surface))}ax-file-viewer-container .ax-file-viewer__thumb-preview i{font-size:var(--text-2xl, 1.5rem);line-height:var(--tw-leading, var(--text-2xl--line-height, calc(2 / 1.5)));color:rgba(var(--ax-sys-color-on-surface),.65)}ax-file-viewer-container .ax-file-viewer__thumb-preview img{display:block;height:100%;width:100%;object-fit:cover}ax-file-viewer-container .ax-file-viewer__thumb-footer{box-sizing:border-box;display:grid;width:100%;max-width:100%;min-width:calc(var(--spacing, .25rem) * 0);align-items:center;gap:calc(var(--spacing, .25rem) * 1);border-top-style:var(--tw-border-style);border-top-width:1px;border-color:rgba(var(--ax-sys-color-border-lightest-surface));padding:calc(var(--spacing, .25rem) * 1.5);font-size:var(--text-xs, .75rem);line-height:var(--tw-leading, var(--text-xs--line-height, calc(1 / .75)));grid-template-columns:minmax(0,1fr);color:rgba(var(--ax-sys-color-on-surface),.65)}ax-file-viewer-container .ax-file-viewer__thumb-name{overflow:hidden;--tw-font-weight: var(--font-weight-medium, 500);font-weight:var(--font-weight-medium, 500);text-overflow:ellipsis;white-space:nowrap;color:rgba(var(--ax-sys-color-on-lightest-surface))}ax-file-viewer-container .ax-carousel-pagination{display:none}ax-file-viewer-container ax-file-viewer-slide{padding:calc(var(--spacing, .25rem) * 0)}@media(max-width:768px){ax-file-viewer-container{--ax-fv-stage-pad: .5rem;--ax-fv-nav-size: 2.5rem;border-radius:var(--radius-2xl, 1rem)}ax-file-viewer-container .ax-file-viewer__header{min-width:calc(var(--spacing, .25rem) * 0);column-gap:calc(var(--spacing, .25rem) * 3);row-gap:calc(var(--spacing, .25rem) * 2);padding-inline:calc(var(--spacing, .25rem) * 3);padding-block:calc(var(--spacing, .25rem) * 2.5)}ax-file-viewer-container .ax-file-viewer__name{font-size:var(--text-sm, .875rem);line-height:var(--tw-leading, var(--text-sm--line-height, calc(1.25 / .875)))}ax-file-viewer-container .ax-file-viewer__stage--nav{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(14rem,1fr);grid-template-areas:\"canvas\";gap:0}ax-file-viewer-container .ax-file-viewer__nav{position:absolute;inset-block:0;z-index:4;grid-area:canvas;height:max-content;margin-block:auto}ax-file-viewer-container .ax-file-viewer__nav--prev{left:.35rem;justify-self:start}ax-file-viewer-container .ax-file-viewer__nav--next{right:.35rem;justify-self:end}ax-file-viewer-container .ax-file-viewer__canvas{min-height:14rem}ax-file-viewer-container .ax-file-viewer__thumbs{padding-inline:calc(var(--spacing, .25rem) * 3);padding-top:calc(var(--spacing, .25rem) * 2.5);padding-bottom:calc(var(--spacing, .25rem) * 3.5)}ax-file-viewer-container .ax-file-viewer__thumbs-track .ax-carousel-slide,ax-file-viewer-container .ax-file-viewer__thumbs-track .swiper-slide{width:calc(var(--spacing, .25rem) * 24);max-width:calc(var(--spacing, .25rem) * 24)}ax-file-viewer-container .ax-file-viewer__thumb{width:calc(var(--spacing, .25rem) * 24);max-width:calc(var(--spacing, .25rem) * 24)}}@media(max-width:480px){ax-file-viewer-container{border-radius:var(--radius-xl, .75rem)}ax-file-viewer-container .ax-file-viewer__type-badge{display:none}ax-file-viewer-container .ax-file-viewer__thumbs{padding:calc(var(--spacing, .25rem) * 2)}ax-file-viewer-container .ax-file-viewer__thumbs-track .ax-carousel-slide,ax-file-viewer-container .ax-file-viewer__thumbs-track .swiper-slide{width:calc(var(--spacing, .25rem) * 20);max-width:calc(var(--spacing, .25rem) * 20)}ax-file-viewer-container .ax-file-viewer__thumb{width:calc(var(--spacing, .25rem) * 20);max-width:calc(var(--spacing, .25rem) * 20)}}.ax-file-viewer-gallery-overlay.ax-overlay-centered{pointer-events:auto}.ax-file-viewer-gallery-overlay.ax-overlay-centered .ax-overlay-content{display:flex;height:100dvh;max-height:100dvh;width:100vw;max-width:100vw;align-items:stretch;justify-content:stretch}.ax-file-viewer-gallery-overlay.ax-overlay-centered ax-file-viewer-container{pointer-events:auto;height:100%;min-height:calc(var(--spacing, .25rem) * 0);width:100%;border-radius:0}}@property --tw-border-style{syntax: \"*\"; inherits: false; initial-value: solid;}@property --tw-backdrop-blur{syntax: \"*\"; inherits: false;}@property --tw-backdrop-brightness{syntax: \"*\"; inherits: false;}@property --tw-backdrop-contrast{syntax: \"*\"; inherits: false;}@property --tw-backdrop-grayscale{syntax: \"*\"; inherits: false;}@property --tw-backdrop-hue-rotate{syntax: \"*\"; inherits: false;}@property --tw-backdrop-invert{syntax: \"*\"; inherits: false;}@property --tw-backdrop-opacity{syntax: \"*\"; inherits: false;}@property --tw-backdrop-saturate{syntax: \"*\"; inherits: false;}@property --tw-backdrop-sepia{syntax: \"*\"; inherits: false;}@property --tw-font-weight{syntax: \"*\"; inherits: false;}@property --tw-translate-x{syntax: \"*\"; inherits: false; initial-value: 0;}@property --tw-translate-y{syntax: \"*\"; inherits: false; initial-value: 0;}@property --tw-translate-z{syntax: \"*\"; inherits: false; initial-value: 0;}@property --tw-leading{syntax: \"*\"; inherits: false;}@property --tw-tracking{syntax: \"*\"; inherits: false;}@property --tw-ordinal{syntax: \"*\"; inherits: false;}@property --tw-slashed-zero{syntax: \"*\"; inherits: false;}@property --tw-numeric-figure{syntax: \"*\"; inherits: false;}@property --tw-numeric-spacing{syntax: \"*\"; inherits: false;}@property --tw-numeric-fraction{syntax: \"*\"; inherits: false;}@property --tw-duration{syntax: \"*\"; inherits: false;}@layer properties{@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style: solid;--tw-backdrop-blur: initial;--tw-backdrop-brightness: initial;--tw-backdrop-contrast: initial;--tw-backdrop-grayscale: initial;--tw-backdrop-hue-rotate: initial;--tw-backdrop-invert: initial;--tw-backdrop-opacity: initial;--tw-backdrop-saturate: initial;--tw-backdrop-sepia: initial;--tw-font-weight: initial;--tw-translate-x: 0;--tw-translate-y: 0;--tw-translate-z: 0;--tw-leading: initial;--tw-tracking: initial;--tw-ordinal: initial;--tw-slashed-zero: initial;--tw-numeric-figure: initial;--tw-numeric-spacing: initial;--tw-numeric-fraction: initial;--tw-duration: initial}}}\n/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */\n"] }]
725
+ }], ctorParameters: () => [], propDecorators: { items: [{ type: i0.Input, args: [{ isSignal: true, alias: "items", required: false }] }], startIndex: [{ type: i0.Input, args: [{ isSignal: true, alias: "startIndex", required: false }] }], thumbnail: [{ type: i0.Input, args: [{ isSignal: true, alias: "thumbnail", required: false }] }], pagination: [{ type: i0.Input, args: [{ isSignal: true, alias: "pagination", required: false }] }], download: [{ type: i0.Input, args: [{ isSignal: true, alias: "download", required: false }] }], fullscreen: [{ type: i0.Input, args: [{ isSignal: true, alias: "fullscreen", required: false }] }], headerActions: [{ type: i0.Input, args: [{ isSignal: true, alias: "headerActions", required: false }] }], galleryMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "galleryMode", required: false }] }], headerContent: [{ type: i0.Input, args: [{ isSignal: true, alias: "headerContent", required: false }] }], headerContentInputs: [{ type: i0.Input, args: [{ isSignal: true, alias: "headerContentInputs", required: false }] }], fallbackContent: [{ type: i0.Input, args: [{ isSignal: true, alias: "fallbackContent", required: false }] }], fallbackContentInputs: [{ type: i0.Input, args: [{ isSignal: true, alias: "fallbackContentInputs", required: false }] }], emptyContent: [{ type: i0.Input, args: [{ isSignal: true, alias: "emptyContent", required: false }] }], emptyContentInputs: [{ type: i0.Input, args: [{ isSignal: true, alias: "emptyContentInputs", required: false }] }], loading: [{ type: i0.Input, args: [{ isSignal: true, alias: "loading", required: false }] }], headerActionClick: [{ type: i0.Output, args: ["headerActionClick"] }], fullscreenClosed: [{ type: i0.Output, args: ["fullscreenClosed"] }], mainCarouselRef: [{ type: i0.ViewChild, args: ['mainCarousel', { isSignal: true }] }], thumbCarouselRef: [{ type: i0.ViewChild, args: ['thumbCarousel', { isSignal: true }] }] } });
660
726
 
661
727
  /** Opens {@link AXFileViewerContainerComponent} in fullscreen gallery mode. */
662
728
  class AXFileViewerGalleryService {
@@ -780,10 +846,10 @@ class AXFileViewerGalleryService {
780
846
  this.galleryList.set(randomId, { overlay: overlayRef, gallery: returnRef, closedSub });
781
847
  return returnRef;
782
848
  }
783
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXFileViewerGalleryService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
784
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXFileViewerGalleryService, providedIn: 'root' }); }
849
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: AXFileViewerGalleryService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
850
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: AXFileViewerGalleryService, providedIn: 'root' }); }
785
851
  }
786
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXFileViewerGalleryService, decorators: [{
852
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: AXFileViewerGalleryService, decorators: [{
787
853
  type: Injectable,
788
854
  args: [{ providedIn: 'root' }]
789
855
  }] });
@@ -842,12 +908,12 @@ class AXFileViewerHeaderPlaceholderComponent {
842
908
  this.slideCounter = input('0 / 0', /* @ts-ignore */
843
909
  ...(ngDevMode ? [{ debugName: "slideCounter" }] : /* istanbul ignore next */ []));
844
910
  }
845
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXFileViewerHeaderPlaceholderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
846
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.8", type: AXFileViewerHeaderPlaceholderComponent, isStandalone: true, selector: "ax-file-viewer-header-placeholder", inputs: { slideCounter: { classPropertyName: "slideCounter", publicName: "slideCounter", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
911
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: AXFileViewerHeaderPlaceholderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
912
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.1.6", type: AXFileViewerHeaderPlaceholderComponent, isStandalone: true, selector: "ax-file-viewer-header-placeholder", inputs: { slideCounter: { classPropertyName: "slideCounter", publicName: "slideCounter", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
847
913
  <span class="ax-file-viewer__header-placeholder">{{ slideCounter() }}</span>
848
914
  `, isInline: true, styles: ["@layer properties;@layer components{ax-file-viewer-header-placeholder{display:flex;width:100%;min-width:calc(var(--spacing, .25rem) * 0);align-items:center;justify-content:center}ax-file-viewer-header-placeholder .ax-file-viewer__header-placeholder{font-size:var(--text-sm, .875rem);line-height:var(--tw-leading, var(--text-sm--line-height, calc(1.25 / .875)));--tw-font-weight: var(--font-weight-medium, 500);font-weight:var(--font-weight-medium, 500);white-space:nowrap;color:rgba(var(--ax-sys-color-on-surface),.65)}}@property --tw-font-weight{syntax: \"*\"; inherits: false;}@layer properties{@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-font-weight: initial}}}\n/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
849
915
  }
850
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXFileViewerHeaderPlaceholderComponent, decorators: [{
916
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: AXFileViewerHeaderPlaceholderComponent, decorators: [{
851
917
  type: Component,
852
918
  args: [{ selector: 'ax-file-viewer-header-placeholder', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: `
853
919
  <span class="ax-file-viewer__header-placeholder">{{ slideCounter() }}</span>
@@ -875,8 +941,8 @@ class AXFileViewerThumbnailsComponent {
875
941
  }), /* @ts-ignore */
876
942
  ...(ngDevMode ? [{ debugName: "thumbnails" }] : /* istanbul ignore next */ []));
877
943
  }
878
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXFileViewerThumbnailsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
879
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: AXFileViewerThumbnailsComponent, isStandalone: true, selector: "ax-file-viewer-thumbnails", ngImport: i0, template: `
944
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: AXFileViewerThumbnailsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
945
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.6", type: AXFileViewerThumbnailsComponent, isStandalone: true, selector: "ax-file-viewer-thumbnails", ngImport: i0, template: `
880
946
  <div class="ax-file-viewer-thumbnails">
881
947
  @for (thumb of thumbnails(); track thumb.id) {
882
948
  <button
@@ -890,7 +956,7 @@ class AXFileViewerThumbnailsComponent {
890
956
  </div>
891
957
  `, isInline: true, styles: ["@layer properties;@layer components{ax-file-viewer-thumbnails{display:block}ax-file-viewer-thumbnails .ax-file-viewer-thumbnails{display:flex;flex-wrap:wrap;justify-content:center;gap:calc(var(--spacing, .25rem) * 2);padding:calc(var(--spacing, .25rem) * 2)}ax-file-viewer-thumbnails .ax-file-viewer-thumb{display:flex;width:calc(var(--spacing, .25rem) * 12);height:calc(var(--spacing, .25rem) * 12);cursor:pointer;align-items:center;justify-content:center;border-radius:var(--ax-sys-border-radius);border-style:var(--tw-border-style);border-width:1px;border-color:rgba(var(--ax-sys-color-border-lightest-surface));background-color:transparent;font-size:var(--text-xl, 1.25rem);line-height:var(--tw-leading, var(--text-xl--line-height, calc(1.75 / 1.25)));color:rgba(var(--ax-sys-color-on-surface));opacity:50%;transition-property:opacity;transition-timing-function:var(--tw-ease, var(--default-transition-timing-function, cubic-bezier(.4, 0, .2, 1)));transition-duration:var(--tw-duration, var(--default-transition-duration, .15s));--tw-duration: .2s;transition-duration:.2s}ax-file-viewer-thumbnails .ax-file-viewer-thumb--active{border-color:rgba(var(--ax-sys-color-primary-surface));opacity:100%}}@property --tw-border-style{syntax: \"*\"; inherits: false; initial-value: solid;}@property --tw-duration{syntax: \"*\"; inherits: false;}@layer properties{@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style: solid;--tw-duration: initial}}}\n/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */\n"], encapsulation: i0.ViewEncapsulation.None }); }
892
958
  }
893
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXFileViewerThumbnailsComponent, decorators: [{
959
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: AXFileViewerThumbnailsComponent, decorators: [{
894
960
  type: Component,
895
961
  args: [{ selector: 'ax-file-viewer-thumbnails', encapsulation: ViewEncapsulation.None, template: `
896
962
  <div class="ax-file-viewer-thumbnails">
@@ -907,6 +973,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
907
973
  `, styles: ["@layer properties;@layer components{ax-file-viewer-thumbnails{display:block}ax-file-viewer-thumbnails .ax-file-viewer-thumbnails{display:flex;flex-wrap:wrap;justify-content:center;gap:calc(var(--spacing, .25rem) * 2);padding:calc(var(--spacing, .25rem) * 2)}ax-file-viewer-thumbnails .ax-file-viewer-thumb{display:flex;width:calc(var(--spacing, .25rem) * 12);height:calc(var(--spacing, .25rem) * 12);cursor:pointer;align-items:center;justify-content:center;border-radius:var(--ax-sys-border-radius);border-style:var(--tw-border-style);border-width:1px;border-color:rgba(var(--ax-sys-color-border-lightest-surface));background-color:transparent;font-size:var(--text-xl, 1.25rem);line-height:var(--tw-leading, var(--text-xl--line-height, calc(1.75 / 1.25)));color:rgba(var(--ax-sys-color-on-surface));opacity:50%;transition-property:opacity;transition-timing-function:var(--tw-ease, var(--default-transition-timing-function, cubic-bezier(.4, 0, .2, 1)));transition-duration:var(--tw-duration, var(--default-transition-duration, .15s));--tw-duration: .2s;transition-duration:.2s}ax-file-viewer-thumbnails .ax-file-viewer-thumb--active{border-color:rgba(var(--ax-sys-color-primary-surface));opacity:100%}}@property --tw-border-style{syntax: \"*\"; inherits: false; initial-value: solid;}@property --tw-duration{syntax: \"*\"; inherits: false;}@layer properties{@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style: solid;--tw-duration: initial}}}\n/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */\n"] }]
908
974
  }] });
909
975
 
976
+ /** Load the active slide and its neighbors so swipe transitions have content ready. */
977
+ function shouldLoadViewerSlide(payload, selectedIndex, distance = 1) {
978
+ return Math.abs(payload.index - selectedIndex) <= distance;
979
+ }
980
+
910
981
  class AXFileViewerImageComponent {
911
982
  constructor() {
912
983
  this.payload = input.required(/* @ts-ignore */
@@ -916,37 +987,44 @@ class AXFileViewerImageComponent {
916
987
  ...(ngDevMode ? [{ debugName: "src" }] : /* istanbul ignore next */ []));
917
988
  this.loading = signal(false, /* @ts-ignore */
918
989
  ...(ngDevMode ? [{ debugName: "loading" }] : /* istanbul ignore next */ []));
990
+ this.loadedId = null;
919
991
  this.#resolve = effect(() => {
920
992
  const p = this.payload();
921
- if (p.active) {
922
- this.loading.set(true);
923
- void this.service
924
- .resolveUrl(p.item, 'url')
925
- .then((url) => this.src.set(url ?? null))
926
- .finally(() => this.loading.set(false));
927
- }
993
+ if (!shouldLoadViewerSlide(p, this.service.selectedIndex()))
994
+ return;
995
+ if (this.loadedId === p.item.id && untracked(() => this.src()))
996
+ return;
997
+ const itemId = p.item.id;
998
+ this.loading.set(this.loadedId !== itemId || !untracked(() => this.src()));
999
+ void this.service
1000
+ .resolveUrl(p.item, 'url')
1001
+ .then((url) => {
1002
+ this.loadedId = itemId;
1003
+ this.src.set(url ?? null);
1004
+ })
1005
+ .finally(() => this.loading.set(false));
928
1006
  }, /* @ts-ignore */
929
1007
  ...(ngDevMode ? [{ debugName: "#resolve" }] : /* istanbul ignore next */ []));
930
1008
  }
931
1009
  #resolve;
932
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXFileViewerImageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
933
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: AXFileViewerImageComponent, isStandalone: true, selector: "ax-file-viewer-image", inputs: { payload: { classPropertyName: "payload", publicName: "payload", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `
1010
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: AXFileViewerImageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1011
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.6", type: AXFileViewerImageComponent, isStandalone: true, selector: "ax-file-viewer-image", inputs: { payload: { classPropertyName: "payload", publicName: "payload", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `
934
1012
  @if (loading()) {
935
1013
  <ax-loading></ax-loading>
936
1014
  } @else if (src()) {
937
- <img [src]="src()" [alt]="payload().item.name ?? 'Image'" />
1015
+ <img [src]="src()" [alt]="payload().item.name ?? 'Image'" draggable="false" />
938
1016
  }
939
- `, isInline: true, styles: ["@layer components{ax-file-viewer-image{box-sizing:border-box;display:flex;height:100%;min-height:calc(var(--spacing, .25rem) * 0);width:100%;min-width:calc(var(--spacing, .25rem) * 0);align-items:center;justify-content:center;padding:calc(var(--spacing, .25rem) * 3)}ax-file-viewer-image img{height:100%;max-height:100%;width:100%;max-width:100%;border-radius:var(--radius-xl, .75rem);object-fit:contain}}\n/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */\n"], dependencies: [{ kind: "component", type: AXLoadingComponent, selector: "ax-loading", inputs: ["visible", "type", "context"], outputs: ["visibleChange"] }], encapsulation: i0.ViewEncapsulation.None }); }
1017
+ `, isInline: true, styles: ["@layer components{ax-file-viewer-image{box-sizing:border-box;display:flex;height:100%;min-height:calc(var(--spacing, .25rem) * 0);width:100%;min-width:calc(var(--spacing, .25rem) * 0);align-items:center;justify-content:center;padding:calc(var(--spacing, .25rem) * 3)}ax-file-viewer-image img{height:100%;max-height:100%;width:100%;max-width:100%;border-radius:var(--radius-xl, .75rem);object-fit:contain;-webkit-user-drag:none;-webkit-user-select:none;user-select:none;pointer-events:none}}\n/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */\n"], dependencies: [{ kind: "component", type: AXLoadingComponent, selector: "ax-loading", inputs: ["visible", "type", "context"], outputs: ["visibleChange"] }], encapsulation: i0.ViewEncapsulation.None }); }
940
1018
  }
941
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXFileViewerImageComponent, decorators: [{
1019
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: AXFileViewerImageComponent, decorators: [{
942
1020
  type: Component,
943
1021
  args: [{ selector: 'ax-file-viewer-image', encapsulation: ViewEncapsulation.None, imports: [AXLoadingComponent], template: `
944
1022
  @if (loading()) {
945
1023
  <ax-loading></ax-loading>
946
1024
  } @else if (src()) {
947
- <img [src]="src()" [alt]="payload().item.name ?? 'Image'" />
1025
+ <img [src]="src()" [alt]="payload().item.name ?? 'Image'" draggable="false" />
948
1026
  }
949
- `, styles: ["@layer components{ax-file-viewer-image{box-sizing:border-box;display:flex;height:100%;min-height:calc(var(--spacing, .25rem) * 0);width:100%;min-width:calc(var(--spacing, .25rem) * 0);align-items:center;justify-content:center;padding:calc(var(--spacing, .25rem) * 3)}ax-file-viewer-image img{height:100%;max-height:100%;width:100%;max-width:100%;border-radius:var(--radius-xl, .75rem);object-fit:contain}}\n/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */\n"] }]
1027
+ `, styles: ["@layer components{ax-file-viewer-image{box-sizing:border-box;display:flex;height:100%;min-height:calc(var(--spacing, .25rem) * 0);width:100%;min-width:calc(var(--spacing, .25rem) * 0);align-items:center;justify-content:center;padding:calc(var(--spacing, .25rem) * 3)}ax-file-viewer-image img{height:100%;max-height:100%;width:100%;max-width:100%;border-radius:var(--radius-xl, .75rem);object-fit:contain;-webkit-user-drag:none;-webkit-user-select:none;user-select:none;pointer-events:none}}\n/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */\n"] }]
950
1028
  }], propDecorators: { payload: [{ type: i0.Input, args: [{ isSignal: true, alias: "payload", required: true }] }] } });
951
1029
 
952
1030
  var imageViewer_component = /*#__PURE__*/Object.freeze({
@@ -959,42 +1037,59 @@ class AXFileViewerVideoComponent {
959
1037
  this.payload = input.required(/* @ts-ignore */
960
1038
  ...(ngDevMode ? [{ debugName: "payload" }] : /* istanbul ignore next */ []));
961
1039
  this.service = inject(AXFileViewerService);
1040
+ this.mediaEl = viewChild('mediaEl', /* @ts-ignore */
1041
+ ...(ngDevMode ? [{ debugName: "mediaEl" }] : /* istanbul ignore next */ []));
962
1042
  this.src = signal(null, /* @ts-ignore */
963
1043
  ...(ngDevMode ? [{ debugName: "src" }] : /* istanbul ignore next */ []));
964
1044
  this.loading = signal(false, /* @ts-ignore */
965
1045
  ...(ngDevMode ? [{ debugName: "loading" }] : /* istanbul ignore next */ []));
1046
+ this.loadedId = null;
966
1047
  this.#resolve = effect(() => {
967
1048
  const p = this.payload();
968
- if (p.active) {
969
- this.loading.set(true);
970
- void this.service
971
- .resolveUrl(p.item, 'url')
972
- .then((url) => this.src.set(url ?? null))
973
- .finally(() => this.loading.set(false));
974
- }
1049
+ if (!shouldLoadViewerSlide(p, this.service.selectedIndex()))
1050
+ return;
1051
+ if (this.loadedId === p.item.id && untracked(() => this.src()))
1052
+ return;
1053
+ const itemId = p.item.id;
1054
+ this.loading.set(this.loadedId !== itemId || !untracked(() => this.src()));
1055
+ void this.service
1056
+ .resolveUrl(p.item, 'url')
1057
+ .then((url) => {
1058
+ this.loadedId = itemId;
1059
+ this.src.set(url ?? null);
1060
+ })
1061
+ .finally(() => this.loading.set(false));
975
1062
  }, /* @ts-ignore */
976
1063
  ...(ngDevMode ? [{ debugName: "#resolve" }] : /* istanbul ignore next */ []));
1064
+ this.#pauseInactive = effect(() => {
1065
+ const media = this.mediaEl()?.nativeElement;
1066
+ if (media && !this.payload().active) {
1067
+ media.pause();
1068
+ }
1069
+ }, /* @ts-ignore */
1070
+ ...(ngDevMode ? [{ debugName: "#pauseInactive" }] : /* istanbul ignore next */ []));
977
1071
  }
978
1072
  #resolve;
979
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXFileViewerVideoComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
980
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: AXFileViewerVideoComponent, isStandalone: true, selector: "ax-file-viewer-video", inputs: { payload: { classPropertyName: "payload", publicName: "payload", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `
1073
+ #pauseInactive;
1074
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: AXFileViewerVideoComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1075
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.6", type: AXFileViewerVideoComponent, isStandalone: true, selector: "ax-file-viewer-video", inputs: { payload: { classPropertyName: "payload", publicName: "payload", isSignal: true, isRequired: true, transformFunction: null } }, viewQueries: [{ propertyName: "mediaEl", first: true, predicate: ["mediaEl"], descendants: true, isSignal: true }], ngImport: i0, template: `
981
1076
  @if (loading()) {
982
1077
  <ax-loading></ax-loading>
983
1078
  } @else if (src()) {
984
- <video controls [src]="src()"></video>
1079
+ <video #mediaEl controls preload="metadata" [src]="src()" [draggable]="false"></video>
985
1080
  }
986
- `, isInline: true, styles: ["@layer components{ax-file-viewer-video{box-sizing:border-box;display:flex;height:100%;min-height:calc(var(--spacing, .25rem) * 0);width:100%;min-width:calc(var(--spacing, .25rem) * 0);align-items:center;justify-content:center;padding:calc(var(--spacing, .25rem) * 3)}ax-file-viewer-video video{height:100%;max-height:100%;width:100%;max-width:100%;border-radius:var(--radius-xl, .75rem);background-color:rgba(var(--ax-sys-color-dark-surface));object-fit:contain}}\n/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */\n"], dependencies: [{ kind: "component", type: AXLoadingComponent, selector: "ax-loading", inputs: ["visible", "type", "context"], outputs: ["visibleChange"] }], encapsulation: i0.ViewEncapsulation.None }); }
1081
+ `, isInline: true, styles: ["@layer components{ax-file-viewer-video{box-sizing:border-box;display:flex;height:100%;min-height:calc(var(--spacing, .25rem) * 0);width:100%;min-width:calc(var(--spacing, .25rem) * 0);align-items:center;justify-content:center;padding:calc(var(--spacing, .25rem) * 3)}ax-file-viewer-video video{height:100%;max-height:100%;width:100%;max-width:100%;border-radius:var(--radius-xl, .75rem);background-color:rgba(var(--ax-sys-color-dark-surface));object-fit:contain;-webkit-user-drag:none}}\n/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */\n"], dependencies: [{ kind: "component", type: AXLoadingComponent, selector: "ax-loading", inputs: ["visible", "type", "context"], outputs: ["visibleChange"] }], encapsulation: i0.ViewEncapsulation.None }); }
987
1082
  }
988
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXFileViewerVideoComponent, decorators: [{
1083
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: AXFileViewerVideoComponent, decorators: [{
989
1084
  type: Component,
990
1085
  args: [{ selector: 'ax-file-viewer-video', encapsulation: ViewEncapsulation.None, imports: [AXLoadingComponent], template: `
991
1086
  @if (loading()) {
992
1087
  <ax-loading></ax-loading>
993
1088
  } @else if (src()) {
994
- <video controls [src]="src()"></video>
1089
+ <video #mediaEl controls preload="metadata" [src]="src()" [draggable]="false"></video>
995
1090
  }
996
- `, styles: ["@layer components{ax-file-viewer-video{box-sizing:border-box;display:flex;height:100%;min-height:calc(var(--spacing, .25rem) * 0);width:100%;min-width:calc(var(--spacing, .25rem) * 0);align-items:center;justify-content:center;padding:calc(var(--spacing, .25rem) * 3)}ax-file-viewer-video video{height:100%;max-height:100%;width:100%;max-width:100%;border-radius:var(--radius-xl, .75rem);background-color:rgba(var(--ax-sys-color-dark-surface));object-fit:contain}}\n/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */\n"] }]
997
- }], propDecorators: { payload: [{ type: i0.Input, args: [{ isSignal: true, alias: "payload", required: true }] }] } });
1091
+ `, styles: ["@layer components{ax-file-viewer-video{box-sizing:border-box;display:flex;height:100%;min-height:calc(var(--spacing, .25rem) * 0);width:100%;min-width:calc(var(--spacing, .25rem) * 0);align-items:center;justify-content:center;padding:calc(var(--spacing, .25rem) * 3)}ax-file-viewer-video video{height:100%;max-height:100%;width:100%;max-width:100%;border-radius:var(--radius-xl, .75rem);background-color:rgba(var(--ax-sys-color-dark-surface));object-fit:contain;-webkit-user-drag:none}}\n/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */\n"] }]
1092
+ }], propDecorators: { payload: [{ type: i0.Input, args: [{ isSignal: true, alias: "payload", required: true }] }], mediaEl: [{ type: i0.ViewChild, args: ['mediaEl', { isSignal: true }] }] } });
998
1093
 
999
1094
  var videoViewer_component = /*#__PURE__*/Object.freeze({
1000
1095
  __proto__: null,
@@ -1006,42 +1101,59 @@ class AXFileViewerAudioComponent {
1006
1101
  this.payload = input.required(/* @ts-ignore */
1007
1102
  ...(ngDevMode ? [{ debugName: "payload" }] : /* istanbul ignore next */ []));
1008
1103
  this.service = inject(AXFileViewerService);
1104
+ this.mediaEl = viewChild('mediaEl', /* @ts-ignore */
1105
+ ...(ngDevMode ? [{ debugName: "mediaEl" }] : /* istanbul ignore next */ []));
1009
1106
  this.src = signal(null, /* @ts-ignore */
1010
1107
  ...(ngDevMode ? [{ debugName: "src" }] : /* istanbul ignore next */ []));
1011
1108
  this.loading = signal(false, /* @ts-ignore */
1012
1109
  ...(ngDevMode ? [{ debugName: "loading" }] : /* istanbul ignore next */ []));
1110
+ this.loadedId = null;
1013
1111
  this.#resolve = effect(() => {
1014
1112
  const p = this.payload();
1015
- if (p.active) {
1016
- this.loading.set(true);
1017
- void this.service
1018
- .resolveUrl(p.item, 'url')
1019
- .then((url) => this.src.set(url ?? null))
1020
- .finally(() => this.loading.set(false));
1021
- }
1113
+ if (!shouldLoadViewerSlide(p, this.service.selectedIndex()))
1114
+ return;
1115
+ if (this.loadedId === p.item.id && untracked(() => this.src()))
1116
+ return;
1117
+ const itemId = p.item.id;
1118
+ this.loading.set(this.loadedId !== itemId || !untracked(() => this.src()));
1119
+ void this.service
1120
+ .resolveUrl(p.item, 'url')
1121
+ .then((url) => {
1122
+ this.loadedId = itemId;
1123
+ this.src.set(url ?? null);
1124
+ })
1125
+ .finally(() => this.loading.set(false));
1022
1126
  }, /* @ts-ignore */
1023
1127
  ...(ngDevMode ? [{ debugName: "#resolve" }] : /* istanbul ignore next */ []));
1128
+ this.#pauseInactive = effect(() => {
1129
+ const media = this.mediaEl()?.nativeElement;
1130
+ if (media && !this.payload().active) {
1131
+ media.pause();
1132
+ }
1133
+ }, /* @ts-ignore */
1134
+ ...(ngDevMode ? [{ debugName: "#pauseInactive" }] : /* istanbul ignore next */ []));
1024
1135
  }
1025
1136
  #resolve;
1026
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXFileViewerAudioComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1027
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: AXFileViewerAudioComponent, isStandalone: true, selector: "ax-file-viewer-audio", inputs: { payload: { classPropertyName: "payload", publicName: "payload", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `
1137
+ #pauseInactive;
1138
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: AXFileViewerAudioComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1139
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.6", type: AXFileViewerAudioComponent, isStandalone: true, selector: "ax-file-viewer-audio", inputs: { payload: { classPropertyName: "payload", publicName: "payload", isSignal: true, isRequired: true, transformFunction: null } }, viewQueries: [{ propertyName: "mediaEl", first: true, predicate: ["mediaEl"], descendants: true, isSignal: true }], ngImport: i0, template: `
1028
1140
  @if (loading()) {
1029
1141
  <ax-loading></ax-loading>
1030
1142
  } @else if (src()) {
1031
- <audio controls [src]="src()"></audio>
1143
+ <audio #mediaEl controls preload="metadata" [src]="src()"></audio>
1032
1144
  }
1033
1145
  `, isInline: true, styles: ["@layer components{ax-file-viewer-audio{box-sizing:border-box;display:flex;height:100%;min-height:calc(var(--spacing, .25rem) * 0);width:100%;min-width:calc(var(--spacing, .25rem) * 0);align-items:center;justify-content:center;padding:calc(var(--spacing, .25rem) * 4)}ax-file-viewer-audio audio{width:100%;max-width:var(--container-2xl, 42rem);min-width:calc(var(--spacing, .25rem) * 0)}}\n/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */\n"], dependencies: [{ kind: "component", type: AXLoadingComponent, selector: "ax-loading", inputs: ["visible", "type", "context"], outputs: ["visibleChange"] }], encapsulation: i0.ViewEncapsulation.None }); }
1034
1146
  }
1035
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXFileViewerAudioComponent, decorators: [{
1147
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: AXFileViewerAudioComponent, decorators: [{
1036
1148
  type: Component,
1037
1149
  args: [{ selector: 'ax-file-viewer-audio', encapsulation: ViewEncapsulation.None, imports: [AXLoadingComponent], template: `
1038
1150
  @if (loading()) {
1039
1151
  <ax-loading></ax-loading>
1040
1152
  } @else if (src()) {
1041
- <audio controls [src]="src()"></audio>
1153
+ <audio #mediaEl controls preload="metadata" [src]="src()"></audio>
1042
1154
  }
1043
1155
  `, styles: ["@layer components{ax-file-viewer-audio{box-sizing:border-box;display:flex;height:100%;min-height:calc(var(--spacing, .25rem) * 0);width:100%;min-width:calc(var(--spacing, .25rem) * 0);align-items:center;justify-content:center;padding:calc(var(--spacing, .25rem) * 4)}ax-file-viewer-audio audio{width:100%;max-width:var(--container-2xl, 42rem);min-width:calc(var(--spacing, .25rem) * 0)}}\n/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */\n"] }]
1044
- }], propDecorators: { payload: [{ type: i0.Input, args: [{ isSignal: true, alias: "payload", required: true }] }] } });
1156
+ }], propDecorators: { payload: [{ type: i0.Input, args: [{ isSignal: true, alias: "payload", required: true }] }], mediaEl: [{ type: i0.ViewChild, args: ['mediaEl', { isSignal: true }] }] } });
1045
1157
 
1046
1158
  var audioViewer_component = /*#__PURE__*/Object.freeze({
1047
1159
  __proto__: null,
@@ -1058,23 +1170,28 @@ class AXFileViewerPdfComponent {
1058
1170
  ...(ngDevMode ? [{ debugName: "safeSrc" }] : /* istanbul ignore next */ []));
1059
1171
  this.loading = signal(false, /* @ts-ignore */
1060
1172
  ...(ngDevMode ? [{ debugName: "loading" }] : /* istanbul ignore next */ []));
1173
+ this.loadedId = null;
1061
1174
  this.#resolve = effect(() => {
1062
1175
  const p = this.payload();
1063
- if (p.active) {
1064
- this.loading.set(true);
1065
- void this.service
1066
- .resolveUrl(p.item, 'url')
1067
- .then((url) => {
1068
- this.safeSrc.set(url ? this.sanitizer.bypassSecurityTrustResourceUrl(url) : null);
1069
- })
1070
- .finally(() => this.loading.set(false));
1071
- }
1176
+ if (!shouldLoadViewerSlide(p, this.service.selectedIndex()))
1177
+ return;
1178
+ if (this.loadedId === p.item.id && untracked(() => this.safeSrc()))
1179
+ return;
1180
+ const itemId = p.item.id;
1181
+ this.loading.set(this.loadedId !== itemId || !untracked(() => this.safeSrc()));
1182
+ void this.service
1183
+ .resolveUrl(p.item, 'url')
1184
+ .then((url) => {
1185
+ this.loadedId = itemId;
1186
+ this.safeSrc.set(url ? this.sanitizer.bypassSecurityTrustResourceUrl(url) : null);
1187
+ })
1188
+ .finally(() => this.loading.set(false));
1072
1189
  }, /* @ts-ignore */
1073
1190
  ...(ngDevMode ? [{ debugName: "#resolve" }] : /* istanbul ignore next */ []));
1074
1191
  }
1075
1192
  #resolve;
1076
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXFileViewerPdfComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1077
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: AXFileViewerPdfComponent, isStandalone: true, selector: "ax-file-viewer-pdf", inputs: { payload: { classPropertyName: "payload", publicName: "payload", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `
1193
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: AXFileViewerPdfComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1194
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.6", type: AXFileViewerPdfComponent, isStandalone: true, selector: "ax-file-viewer-pdf", inputs: { payload: { classPropertyName: "payload", publicName: "payload", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `
1078
1195
  @if (loading()) {
1079
1196
  <ax-loading></ax-loading>
1080
1197
  } @else if (safeSrc()) {
@@ -1082,7 +1199,7 @@ class AXFileViewerPdfComponent {
1082
1199
  }
1083
1200
  `, isInline: true, styles: ["@layer components{ax-file-viewer-pdf{box-sizing:border-box;display:flex;height:100%;min-height:calc(var(--spacing, .25rem) * 0);width:100%;min-width:calc(var(--spacing, .25rem) * 0);padding:calc(var(--spacing, .25rem) * 2)}ax-file-viewer-pdf ax-pdf-reader{display:block;height:100%;width:100%}}\n/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */\n"], dependencies: [{ kind: "component", type: AXLoadingComponent, selector: "ax-loading", inputs: ["visible", "type", "context"], outputs: ["visibleChange"] }, { kind: "component", type: AXPdfReaderComponent, selector: "ax-pdf-reader", inputs: ["src"] }], encapsulation: i0.ViewEncapsulation.None }); }
1084
1201
  }
1085
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXFileViewerPdfComponent, decorators: [{
1202
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: AXFileViewerPdfComponent, decorators: [{
1086
1203
  type: Component,
1087
1204
  args: [{ selector: 'ax-file-viewer-pdf', encapsulation: ViewEncapsulation.None, imports: [AXLoadingComponent, AXPdfReaderComponent], template: `
1088
1205
  @if (loading()) {
@@ -1105,8 +1222,8 @@ class AXFileViewerFileFallbackComponent {
1105
1222
  this.name = computed(() => this.payload().item.name, /* @ts-ignore */
1106
1223
  ...(ngDevMode ? [{ debugName: "name" }] : /* istanbul ignore next */ []));
1107
1224
  }
1108
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXFileViewerFileFallbackComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1109
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: AXFileViewerFileFallbackComponent, isStandalone: true, selector: "ax-file-viewer-fallback", inputs: { payload: { classPropertyName: "payload", publicName: "payload", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `
1225
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: AXFileViewerFileFallbackComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1226
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.6", type: AXFileViewerFileFallbackComponent, isStandalone: true, selector: "ax-file-viewer-fallback", inputs: { payload: { classPropertyName: "payload", publicName: "payload", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `
1110
1227
  <div class="ax-file-viewer-fallback">
1111
1228
  <i class="fa-light fa-file ax-file-viewer-fallback__icon"></i>
1112
1229
  @if (name()) {
@@ -1115,7 +1232,7 @@ class AXFileViewerFileFallbackComponent {
1115
1232
  </div>
1116
1233
  `, isInline: true, styles: ["@layer components{ax-file-viewer-fallback{box-sizing:border-box;display:flex;height:100%;min-height:calc(var(--spacing, .25rem) * 0);width:100%;min-width:calc(var(--spacing, .25rem) * 0);align-items:center;justify-content:center}ax-file-viewer-fallback .ax-file-viewer-fallback{display:flex;flex-direction:column;align-items:center;gap:calc(var(--spacing, .25rem) * 2);color:inherit;opacity:85%}ax-file-viewer-fallback .ax-file-viewer-fallback__icon{font-size:var(--text-5xl, 3rem);line-height:var(--tw-leading, var(--text-5xl--line-height, 1));opacity:.55}ax-file-viewer-fallback .ax-file-viewer-fallback__name{max-width:calc(var(--spacing, .25rem) * 80);overflow:hidden;font-size:var(--text-sm, .875rem);line-height:var(--tw-leading, var(--text-sm--line-height, calc(1.25 / .875)));text-overflow:ellipsis;white-space:nowrap;opacity:75%}}\n/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */\n"], encapsulation: i0.ViewEncapsulation.None }); }
1117
1234
  }
1118
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXFileViewerFileFallbackComponent, decorators: [{
1235
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: AXFileViewerFileFallbackComponent, decorators: [{
1119
1236
  type: Component,
1120
1237
  args: [{ selector: 'ax-file-viewer-fallback', encapsulation: ViewEncapsulation.None, template: `
1121
1238
  <div class="ax-file-viewer-fallback">